BAB III ANALISA DAN PERANCANGAN 3.1. Analisis Sistem Pada bagian ini akan dijelaskan lebih detail tentang proses bisnis perusahaan saat ini, permasalahan-permasalahan yang sering muncul serta kebutuhan-kebutuhan bagi manajer dalam pengambilan keputusan yang strategis. 3.1.1. Analisis Sistem Perusahaan Pada saat ini proses penjualan BBM di beberapa SPBU telah menggunakan Microsoft Office Excel untuk membantu pengelolaan dan pencatatan transaksi harian (OLTP). Secara garis besar proses bisnis perusahaan saat ini adalah seperti berikut : Mulai Terima Pembeli Lakukan penjualan Catat transaksi penjualan oleh mesin Laporan dikeluarkan dalam bentuk excel Laporan pertanggung jawaban Selesai Gambar 3.1 Proses bisnis penjualan SPBU 52
53 1. Proses Penjualan Konsumen datang pada bagian pengisian bahan bakar minyak untuk melakukan pembelian bahan bakar minyak sesuai dengan kebutuhan kendaraan, kemudian bagian pengisian akan menjual bahan bakar minyak sesuai dengan pemesanan. 2. Proses Pembayaran Setelah proses pembelian dan penjualan dilakukan maka pembayaran dilakukan oleh konsumen baik secara debit maupun secara tunai di SPBU setempat. Proses pembayaran dihitung oleh system pengisian bahan bakar bakar minyak dengan menghitung jumlah volume penjualan dengan harga per liter masing-masing jenis produk pada bahan bakar minyak. 3. Proses Pembuatan laporan Proses pembuatan laporan saat ini dilakukan secara manual dari hasil transaksi penjualan yang dicatat oleh mesin dan pengelolaannya dilakukan dengan menggunakan microsoft excel. Manajer setiap bagian SPBU menyerahkan data atau atau hasil laporan kepada pimpinan sebagai bahan analisis. Pimpinan akan menganalisis secara manual informasiinformasi yang ada dalam tiap-tiap laporan dan melakukan pengambilan keputusan. Banyaknya data dan dokumen yang diserahkan kepada pimpinan maka proses pengambilan keputusan membutuhkan waktu yang cukup lama karena semua analisis masih dilakukan secara manual.
54 3.1.2. Analisis Permasalahan Permasalah yang dihadapi oleh manajemen SPBU saat ini banyak disebabkan karena proses-proses yang dilakukan saat ini masih secara manual. Berikut adalah permasalah yang sering muncul : Konsistensi format pelaporan disetiap SPBU berbeda Pengelolaan data dengan menggunakan microsoft excel memiliki keterbatasan penyimpanan dalam mengelola data dalam jumlah yang besar. Pelaporan terpisah berdasarkan periode, sehingga sulit dalam pengelolaan dalam meng-integrasikan data secara keseluruhan. Laporan saat ini dinilai kurang dapat menampilkan gambaran keseluruhan dari transaksi penjualan BBM secara periodik. Proses pengambilan keputusan harus dianalisis secara manual dengan melihat detil keseleruhan dari proses transaksi yang dilakukan di setiap SPBU. Hal ini dinilai memperlambat proses pengambilan keputusan yang dilakukan Kesulitan menghasilkan informasi yang dibutuhkan oleh pimpinan perusahaan karena laporan yang dihasilkan hanya menampilkan data tentang kegiatan transaksi sehari-hari. 3.1.3. Analisis Kebutuhan Dari permasalah yang muncul, maka beberapa hal berikut ini dibutuhkan manajemen SPBU dalam pembuatan sistem yang dapat membantu pembuatan laporan dan analisis data antara lain :
55 Sistem pengelolaan data yang dibuat harus dapat menerangkan fakta-fakta bisnis dalam transaksi penjualan BBM yang terjadi dalam suatu periode tertentu. Analisis yang dibuat harus dapat memberikan informasi yang mudah dimengerti semua pihak dalam bentuk tabel dan grafik. Sistem yang harus dapat mengelola data dalam jumlah data yang besar yang dapat dianalisa berdasarkan SPBU, produk, dan berdasarkan periode tertentu. Laporan harus dapat menampilkan gambaran keseluruhan dari transaksi penjualan BBM secara periodik 3.1.4. Analisa Sistem yang berjalan Berikut merupakan gambaran dari sistem transaksi penjualan yang sedang berjalan saat ini berserta file yang berasal dari sistem pencatatan transaksi dari mesin penjualan BBM. File file yang terbentuk berupa file dengan format microsoft excel. Berikut file file transaksional yang terbentuk : Throughput 1-Jan10 s.d. 5 Jan-2010 Throughput 6-Jan10 s.d. 15 Jan-2010 Throughput 16-Jan10 s.d. 25 Jan-2010 Throughput 26-Jan10 s.d. 5 Feb -2010 Throughput 6-Feb s.d. 15 Feb -2010 Throughput 16-Feb s.d. 25 Feb -2010 Throughput 26-Feb s.d. 5 March -2010
56 Berikut field-field yang terkandung didalam file transaksional penjualan BBM : Fields kode_spbu nama_spbu tanggal jam produk Volume Keterangan kode SPBU Nama SPBU Tanggal transaksi penjualan Jam transaksi penjualan Produk yang dijual Volume penjualan produk Tabel 3.1 Fields sumber data penjualan BBM Berikut tabel-tabel didatabase penjualan yang digunakan pada file transaksional penjualan BBM. Data data pada tabel tersebut berasal dari data excel yang telah di convert ke dalam sebuah database sederhana : Gambar 3.2 Skema relasi OLTP penjualan BBM Adapun keterangan dari tiap tabel adalah sebagai berikut : 1. Tabel SPBU
57 Tabel ini berisi data yang berhubungan dengan SPBU yang melakukan transaksi penjualan. Nama Field kd_spbu nama_spbu Keterangan kode untuk setiap SPBU nama SPBU Tabel 3.2 SPBU 2. Tabel Produk Tabel ini berisi detil data produk yang dijual kepada konsumen Field kd_produk Produk Keterangan kode untuk setiap produk yang dijual nama produk penjualan BBM Tabel 3.3 Produk 3. Tabel Penjualan Tabel ini berisi data tentang transaksi penjualan bahan bakar minya yang telah dilakukan. Field id_tran kd_spbu Tanggal KD_PRODUK Jam Jumlah Keterangan menyimpan id_transaksi kode untuk setiap SPBU Tanggal transaksi penjualan kode untuk setiap produk yang terjual Jam transaksi penjualan Volume Penjualan Tabel 3.4 Penjualan
58 3.1.5. Analisis Pengelolaan Data Saat ini pengelolaan data menggunakan aplikasi spreadsheet seperti Microsoft Excel. Keunggulan aplikasi ini adalah kemudahan penggunaannya dan kaya akan fitur formulasi data. Penggunaan referensi cell pada Microsoft Excel yang sangat dinamis menjadikan spreadsheet ini memiliki kemampuan mengambil nilai dari posisi mana saja, baik itu baris ataupun kolom yang tidak sejajar dengannya. Berikut gambar rumus akumulasi perhitungan periodik dengan menggunakan Microsoft Excel : Gambar 3.3 Perhitungan akumulasi periodik dengan excel Kelebihan excel adalah mampu membuat tampilan pivot, fitur ini membuat para analisis dapat melihat data dari berbagai perspektif dengan memindahkan perspektif row dan kolom yang dinginkan serta tipe aggragasi seperti sum, count, dll yang dinginkan untuk pengukuran. Kelemahan excel dalam pengelolaan data dalam penelitian ini adalah walaupun memiliki fitur yang sangat powerful, namun memilik keterbatasan data yang bisa ditampung. Untuk excel sampai dengan versi 2003 memiliki keterbatasan jumlah record sampai dengan 65.536, excek
59 versi 2007 keatas memilik jumlah record sampai dengan 1.048.576. Pengelolaan data menggunakan excel sampai dengan limit maksimal akan mempengaruhi performa analisis yang akan dikelola karena besarnya data. Bahasa SQL dirancang untuk mengirimkan rows tetapi tidak mengenal antar row satu dengan yang lain seperti nama row yang berada satu level diatas atau dibawah row saat ini, dan kolom mana yang merupakan kolom sebelahnya sehingga sulit diterapkan. Bahasa sql akan banyak menggunakan subquery untuk menghasilkan pivot dan tidak bisa dinamis mengenali nilai row yang akan dipetakan menjadi kolom. Sehingga sql secara umum tidak tepat jika digunakan sebagai expresi untuk kebutuhan analisis. Implementasi OLAP merupakan suatu metode khusus yang akan mengakses data warehouse karena menggunakan bahasa MDX ( multi dimensional expresion ) yang memiliki kemampuan navigasi dan pivot antar cell data dengan baik. Berikut query mdx untuk mengakses akumulasi periode data penjualan BBM : With member [Measures].[Akumulasi Penjualan] as 'Sum(Ytd([Time].CurrentMember), [Measures].[Volume Penjualan])', select {[Measures].[Volume Penjualan], [Measures].[Akumulasi Penjualan]} ON COLUMNS, non empty {[Produk].[Semua Produk],[Produk].children}*[Time].[2010].children ON ROWS from [Penjualan] Berikut perbandingan akses query sql dengan mdx :
60 Laporan Penjualan berdasarkan query SQL SPBU select spbu.kd_spbu, spbu.nama_spbu, sum(jumlah) as Total_Volume from penjualan inner join spbu on penjualan.kd_spbu=spbu.kd_spbu inner join produk on produk.kd_produk=penjualan.kd_produk group by nama_spbu Produk select spbu.kd_spbu, spbu.nama_spbu, sum(jumlah) as Total_Volume from penjualan inner join spbu on penjualan.kd_spbu=spbu.kd_spbu inner join produk on produk.kd_produk=penjualan.kd_produk group by nama_produk Laporan Penjualan MDX Berdasarkan SPBU dan produk berdasarkan query MDX select {[Produk].Children} on 0, [SPBU].Children on 1 from [Penjualan]
61 3.2. Analisis Data Warehouse Perancangan yang diusulkan menggunakan bentuk rancangan Centralized Data Warehouse atau data warehouse terpusat. Data diambil dari sistem operasional transaksi data penjualan BBM dan sumber data ang digunakan dalam bentuk excel. Berikut gambar bentuk data warehouse terpusat yang diusulkan : User Source Data Transform Data Warehouse Data Mart User Gambar 3.4 Bentuk perancangan Data Warehouse terpusat penjualan BBM Alasan pemilihan bentuk rancangan ini adalah mempermudah dalam menjaga konsistensi data yang akan diolah, karena berada pada satu lokasi data warehouse dan data yang masuk ke data warehouse pasti telah mengalami transformasi data dan sudah disesuaikan dengan rancangan yang telah dibuat. diantara : Komponen yang terlibat dan saling terhubung dari rancangan terbebut Sumber Data
62 Sumber data yang digunakan dalam penelitian ini adalah data transaksi penjualan BBM yang diperoleh dari BPH Migas dengan format data dalam bentuk excel. Sumber data tersebut masih memiliki record yang tidak standard sehingga membutuhkan pembersihan/penyeraman data. Transform Transformasi merupakan proses pemindahan, penyesuaian dan perubahan format data yang diperoleh dari sistem operasional transaksi penjualan BBM yang dilakukan agar data yang dihasilkan konsisten dan terjamin integritasnya sehingga data yang dihasilkan menjadi akurat dan tepat. Tahap transformasi data terdiri dari proses yang disebut sebagai ETL (Extract, Transform, Load). Tahapan transform yang dilakukan antara lain : 1. Menggabungkan beberapa data excel. 2. Memilih kolom tertentu yang sesuai yang kemudian dimasukkan ke data warehouse. 3. Inisialisasi kode-kode tertentu. 4. Menghilangkan data yang duplikat maupun data data yang tidak valid. 5. Generate nilai surrogate key. Extract data yang dilakukukan terhadap data penjualan BBM dilakukan dengan cara mengambil data sebagian atau seluruh data dari sistem transaksional data penjualan BBM yang diperlukan untuk kemudian dimasukkan ke data warehouse. Transform data penjualan dilakukan setelah data yang telah dipilih ditentukan yang kemudian diproses untuk mendapatkan data agar bentuk dan format yang akan dimasukkan ke data warehouse terjamin konsistensinya dan integritasnya
63 sehingga data yang dihasilkan dan yang akan dianalisa menjadi akurat dan tepat. Data yang telah sesuai kemudian dianalisa untuk memilih dan membentuk tabel tabel dimensi dan tabel fakta yang sesuai dengan kebutuhan analisa data Load pada proses ini adalah penyimpanan data hasil dari proses transformasi yang telah bersih, format yang telah sesuai dimasukkan ke dalam data warehouse untuk kemudian dilakukan analisa untuk pengambilan keputusan. Data warehouse Data transaksi penjualan BBM yang telah dilakukan proses tranformasi dan penyesuaian dengan memilih tabel dimensi dan tabel fakta yang terbentuk dari hasil perancangan kemudian disimpan ke dalam data warehouse yang kemudian dilakukan proses query khusus untuk menganalisa data tanpa mengganggu proses transaksi pada aplikasi. User User dalam hal ini merupakan pengguna atau pengambil keputusan yang akan menggunakan atau mengakses data penjualan BBM ini yang ada pada data warehouse. Data warehouse ini digunakan untuk mempermudah dan mempercepat end user dalam menganalisa data yang ada pada data warehouse. Sebelum user dapat menganalisa data yang ada pada data warehouse ada beberapa peran user tertentu yang terlibat agar proses implementasi OLAP data penjualan BBM ini dapat berjalan diantaranya :
64 Pelaku Data administrator Database Administrator Manajer Keterangan Melakukan proses ETL dan upload ke data warehouse Mengawasi Proses ETL dan membuat desain multidimensional Melakukan analisa terhadap data yang telah disesuaikan untuk proses pengambilan keputusan Tabel 3.5 User 3.3. Perancangan Data Warehouse Dalam penelitian ini diperlukan rancangan data warehouse yang terdiri dari beberapa tahap agar perancangan data warehouse menjadi teratur. Tahap tahap dalam perancangan data warehouse ini mengacu kepada Kimball yang dikutip oleh (Connolly, 2005, p1187), yaitu Nine- Step Methodology (Kimball,1996). Nine-Step Methodology menjelaskan langkah-langkah yang diperlukan untuk merancang sebuah data marts. Namun, metodologi ini juga menyatukan data marts yang terpisang sehingga dalam jangka waktu tertentu data marts tersebut akan menyatu menjadi data warehouse yang koheren secara keseluruhan. Tahap tahap Nine-Step Methodology perancangan data warehouse yang digunakan yaitu : 1. Memilih Proses Proses pada penelitian ini adalah proses penjualan BBM pada beberapa SPBU. Pada penjualan yang dimaksud adalah pada saat customer melakukan pembelian BBM di SPBU, yang kemudian setiap
65 transaksi yang dilakukan untuk pembelian setiap produk tersebut dicatat oleh system. Hasil data keluaran yang dapat di catat oleh system ini meliput kode spbu, nama spbu, waktu transaksi, produk, dan jumlah pembelian. Sumber data transaksi yang dikeluarkan oleh system terdiri dari beberapa file excel. 2. Menentukan grain Grain pada data transaksi BBM yang digunakan untuk merancang data warehouse ini adalah fact_penjualan. Analisis pada data penjualan BBM yang ingin didapat dari fact_penjualan meliputi : - Produk apa yang banyak terjual atau produk yang paling sedikit terjual. - SPBU mana yang memiliki transaksi penjualan terbanyak terhadap produk yang terjual. - Kapan penjualan terbanyak terjadi pada suatu SPBU. - Membandingkan data penjualan produk bulan tertentu dengan bulan sebelumnya. - Menampilkan volume penjualan, kuantitas penjualan, rata rata penjualan berdasarkan produk dan SPBU - Jumlah kuantitas transaksi penjualan berdasarkan SPBU dan produk yang telah terjual - Tren volume penjualan seluruh produk pada bulan tertentu - Akumulasi volume penjualan berdsarkan waktu Produk BBM 3. Identifikasi dan membuat dimensi yang sesuai Berikut tampilan hubungan dimensi dengan grain fakta dalam bentuk matrik :
66 Dimension Grain Produk apa yang paling banyak dan paling sedikit terjual SPBU yang memiliki Penjualan terbanyak atau sedikit Kapan penjualan terbanyak / sedikit terjadi Time X Produk X X X SPBU X X Tabel 3.6 Tabel Grain dan Dimensi dari Penjualan 4. Memilih fakta Fakta yang akan ditampilkan dalam penelitian ini adalah fakta penjualan bbm. Pada fakta penjualan BBM meliputi id_spbu, id_produk, sk_waktu dan memiliki measure volume jumlah penjualan yang secara numerik dapat dihitung. Selanjutnya fakta tersebut ditampilkan kalkulasinya dalam dalam bentuk OLAP. 5. Menyimpan pre-kalkulasi dalam tabel fakta Didalam table fakta terdapat kalkulasi atau perhitungan awal yang dapat dihitung untuk kemudian bisa dilakukan analisa sesuai dengan kebutuhan. Kalkulasi yang ada pada tabel fakta penjualan BBM adalah volumen penjualan, kuantitas penjualan, dan rata-rata penjualan yang didapat dari agregasi jumlah transaksi penjualan pada produk yang dijual di SPBU. 6. Melengkapi tabel dimensi
67 Menambahkan dekskripsi teks pada dimensi yang akan ditampilkan pada analisa OLAP, Deskripsi tersebut harus mudah dimengerti oleh user. Berikut deksripsi teks dari table dimensi pada analisa OLAP : Dimensi Field Deskripsions Time Year Month Day Laporan dapat dilihat per tahun, per bulan dan perhari untuk analisi data penjualan BBM Produk sk_produk kd_produk nama_produk Laporan dapat ditampilkan berdasarkan produk tertentu SPBU sk_spbu Laporan ini dapat menampilkan kd_produk berdasarkan SPBU tertentu nama_spbu Tabel 3.7 Tabel dimensi Dimensi Time Attributes sk_waktu date_field Data Type Length Int 11 datetime year month day_of_year day_of_month Int Int Int Int 11 11 11 11
68 day_of_week week_of_year day_of_week_desc day_of_week_short_desc month_desc month_short_desc quarter Int Int Varchar Varchar Varchar Varchar char 11 11 30 3 30 3 1 Tabel 3.8 Tabel Dimensi waktu Dimensi Produk Attributes Data Type Length sk_produk int(11) 11 KD_PRODUK Produk tinytext tinytext Tabel 3.9 Tabel dimensi produk Dimensi SPBU
69 Attributes Data Type Length sk_spbu Int 11 kd_spbu tinytext - nama_spbu tinytext - Tabel 3.10 Tabel dimensi SPBU 7. Memilih durasi dari database Durasi dari data sistem operasional penjualan BBM yang dimasukkan ke dalam data warehouse sebagai berikut : Data yang masuk Data dalam data Nama Aplikasi Data base ke data warehouse warehouse Pentaho Penjualan BBM 1 Jan 5 Mar 2010 3 bulan Tabel 3.11 Tabel Durasi Data Warehouse Penjualan BBM 8. Melacak perubahan dari dimensi secara perlahan Mengamati perubahan yang terjadi dari tabel dimensi dapat dilakukan dengan tiga tipe cara yaitu : o Tipe 1, dimana sebuah dimension attribute yang berubah dihapus dan digantikan dengan yang nilai baru (overwritten), misalnya ada perubahan nama produk tertentu, maka nama produk yang berubah langsung ditulis ulang. o Tipe 2, dimana sebuah dimension attribute yang berubah menyebabkan dimensions record baru tercipta. misalnya ada perubahan nama produk tertentu, maka nama produk yang berubah akan membentuk record baru tapi dengan kd_produk yang sama.
70 o Tipe 3, dimana sebuah dimension attribute yang berubah menyebabkan sebuah attribute alternatife tercipta sehingga nilai attribute dengan nilai lama dan attribute dengan baru dapat diakses secara besamaan didalam dimension record data yang sama. Dari ketiga tipe cara tersebut, perancangan dalam penelitian ini memilih perubahan pertama pada dimensi yang akan melakukan overwrite atas perubahan yang terjadi. 9. Memutuskan prioritas dan cara query Dalam bagian ini akan dijelaskan mengenai proses ETL (Extract, Transformation, dan Load). Dalam penelitian ini sumber data yang digunakan dalam bentuk excel dimana beberapa record masih tidak standard dan memerlukan penyeragaman/cleaning data untuk kemudian dimasukkan ke dalam data warehouse. Perancangan ETL (Extract, Transformation, dan Load) Dari analisa data sumber yang telah dilakukan maka perlu dibuat beberapa ETL yang kemudian akan dimasukkan ke dalam data warehouse, ETL digunakan untuk mengintegrasikan beberapa file excel dan kemudian disesuiakan. Tabel yang akan dibentuk diantaranya dim_produk, dim_time, dim_spbu dan tabel fakta penjualan. Dari analisa data sumber yang berasal dari system transaksional berupa file excel didapat field-field seperti kode_spbu, nama_spbu, tanggal, jam, produk, dan volume. Berikut adalah data sebelum dilakukan proses ETL :
71 Gambar 3.5 Data sebelum proses extract pada file excel Berikut proses ETL yang dilakukan untuk mendapatkan data yang sesuai dengan data warehouse: - Dimensi Produk Pembentukan dimensi produk dilakukkan dengan mengambil nama_produk dari data sumber transaksional yang terdri dari beberapa file Microsoft excel, kemudian melakukan penggabungan data dan pembersihan data dengan menghilangkan record data yang kembar, nilai yang kosong dan kesalahan lainnya. File yang telah sesuai kemudian dilakuan penambahan kode_produk dan sk_produk dengan inisialisasi kode_produk dan sk_produk. berikut alur tabel dimensi produk :
72 Mulai Extract kd_spbu dan nama_spbu Data Transaksi Penjualan BBM Pembersihan Data dan penyesuaian data Nama_sPBU Kd_SPBU Dimensi SPBU Selesai Gambar 3.6 Alur dimensi SPBU Gambar 3.7 Data hasil ETL ke tabel dimensi SPBU - Dimensi SPBU Pembentukan dimensi SPBU dilakukkan dengan mengambil kode_spbu dan nama_spbu dari data sumber transaksional yang terdri dari beberapa file Microsoft excel, kemudian melakukan penggabungan data dan pembersihan data dengan menghilangkan record data yang kembar, nilai yang kosong dan kesalahan lainnya
73 Berikut alur dari proses pembentukan dari data transaksi penjualan BBM ke tabel dimensi produk : Mulai Extract nama_produk Data Transaksi Penjualan BBM Pembersihan Data dan penyesuaian data Inisialisasi kode_produk dan sk_produk Sk_produk Kd_produk Nama_produk Dimensi Produk Selesai Gambar 3.8 Alur dimensi Produk Gambar 3.9 Data hasil ETL ke tabel dimensi produk - Dimensi waktu Pembentukan dimensi waktu dilakukkan dengan inisialisasi waktu selama 1 tahun, yang kemudian di rinci dengan membuat field menjadi
74 sk_waktu, date_field, year, month, day_of_year, day_of_month, day_of_week, week_of_year, day_of_week_desc, day_of_week_short_desc, month_desc, month_short_desc, quarter. Berikut alur dari proses pembentukan dari tabel dimensi waktu : Mulai Inisialisasi waktu 1 tahun Membuat Rincian waktu Dimensi Time Selesai Gambar 3.10 Alur dimensi waktu Gambar 3.11 Data hasil ETL ke tabel dimensi waktu - Tabel Fakta Penjualan
75 Pembentukan tabel fakta penjualan dilakukan dengan mengambil seluruh data transaksional yang kemudian di mapping dengan dimensi waktu, dimensi SPBU, dimensi Produk. Memilih field yang disesuai dengan kebutuhan yang telah ditentukan diantaranya sk_produk, sk_spbu, sk_waktu. Berikut alur dari proses pembentukan dari tabel fakta penjualan : Mulai Extract data transaksi Data Transaksional penjualan BBM Gabungkan data dengan dimensi SPBU Dimensi SPBU Gabungkan data dengan dimensi Produk Dimensi Produk Gabungkan data dengan dimensi waktu Dimensi waktu Penyesuaian data Sk_SPBU Sk_produk Sk_waktu Volume Penjualan Tabel Fakta Penjualan BBM Selesai Gambar 3.12 Alur tabel fakta penjualan
76 Gambar 3.13 Data hasil ETL ke tabel fact_penjualan Pemodelan Data Dimensional Perancangan dalam datawarehouse untuk implementasi olap data penjualan BBM ini menggunakan star Schema, bentuk ini dipilih karena tabel dimensinya tidak mengandung ringkasan atau tidak memiliki perbedaan tingkat ukuran sehingga tidak memerlukan tabel sub dimensi. Skema ini merupakan skema yang mudah dipahami daripada skema yang lain. Dengan menggunakan star schema, performa proses querynya menjadi lebih dan waktu pemrosesan menjadi lebih cepat, secara garis besar star schema terdiri dari satu table fakta dan beberapa tabel dimensi. Star schema penjualaan ini menunjukkan kegiatan transaksi penjualan customer pada suatu produk pada suatu SPBU. Berikut tabel tabel yang akan diperlukan setelah dilakukan tranformasi data untuk menganalisa data penjualan BBM :
77 - Tabel dim_produk : tabel dimensi ini merupakan tabel yang memuat informasi mengenai produk yang terjual. - Tabel dim_spbu : tabel dimensi ini merupakan tabel yang memuat informasi lokasi SPBU. - Tabel dim_time : tabel dimensi time ini merupakan bentuk dari inisialisasi waktu yang telah ditentukan, yang kemudian akan di cocokkan dengan waktu transaksi pada sistem transaksional - Tabel fact_penjualan : tabel fakta penjualan merupakan tabel yang berisi data transaksi penjualan BBM Berikut gambar star schema yang akan digunakan untuk implementasi OLAP data penjualan BBM. Gambar 3.14 Star schema penjualan BBM
78 3.4. OLAP (On-Line Analytical Processing) OLAP merupakan metode yang dirancang untuk mengakses data warehouse yang mendukung proses analisis komplek dalam rangka menemukan informasi penting dalam bisnis. OLAP mempunyai kemampuan dalam menggali data sampai level detai dan melihat data secara multidimensi. Kelebihan OLAP diantaranya memiliki operasi Drill-down, Roll-Up, slicing and dicing, dan rotate. Berikut proses operasi OLAP yang akan digunakan pada implementasi OLAP penjualan BBM antara lain : 1. Drill down Query yang akan mengurangi aggregasi data dan menambahkan level data baru yang lebih detik dalam sebuah hirarki berdasarkan waktu transaksi penjualan. Produk Time Volume Penjualan Semua Produk Semua Waktu JAN 1 2 3 4 5 6 7 8 Tabel 3.12 Tabel Drill down
79 2. Roll up Operasi roll up adalah kebalikan dari operasi drill down yang menyebabkan peningkatan aggregasi dari detil sebuah hirarki pada setiap dimensi. Berikut tabel yang menunjukkan query untuk menampilkan proses roll up dari sebuah periode waktu perbulan. Produk Time Volume Penjualan Semua Produk Semua Waktu JAN FEB MAR Tabel 3.13 Tabel Roll up 3. Slicing-Dicing Operasi slicing adalah seleksi terhadap member berdasarkan nilai tertentu pada sebuah dimensi atau beberapa dimensi. Berikut query yang menunjukkan slice perbulan. Produk Time Volume Penjualan Semua Produk Semua Waktu JAN MAR Tabel 3.14 Tabel Slicing 3.4.1. Multi Dimensional Expression (MDX) OLAP yang telah dirancang dapat membuat laporan dilihat dan dianlisis dari berbagai sisi secara cepat, dan menyeluruh dengan menggunakan MDX (Multi Dimensional Expression). Berikut kerangka model implementasi OLAP data penjualan BBM :
80 Measures SPBU Produk Time (All) SPBU (All) Produk (All) Tahun Bulan Volume Penjualan Rata-rata Penjualan Kuantitas Penjualan Semua SPBU Semua Produk Semua Waktu Semua SPBU BaloiKolam Semua Produk Semua Waktu Semua Produk pertamax plus Premium Solar Semua Waktu 2010 Semua Waktu Semua Waktu 2010 JAN 2010 Semua Waktu Semua Waktu FEB MAR 2010 JAN 2010 Semua Waktu HarbourBay Semua Produk Semua Waktu Semua Produk pertamax plus Premium Solar Semua Waktu Semua Waktu FEB MAR 2010 JAN 2010 Semua Waktu Semua Waktu FEB MAR 2010 JAN 2010 Semua Waktu Semua Waktu FEB MAR 2010 JAN 2010 FEB MAR 2010 JAN FEB MAR Tabel 3.15 Kerangka multi dimensional data penjualan BBM
81 Cube Cube data penjualan merupakan keseluruhan perspektif dari dimension, dimension level, member, measures, dan cell.berikut perspektif yang yang telah dirancang di cube meliputi : o Dimensi Gambar 3.15 Dimensi penjualan BBM o Level Dimensi Dimensi SPBU Level Hierarchy + All -- SPBU -- BaloiKolam -- HarbourBay Waktu Produk + All -- Tahun -- Bulan (Jan, Feb, Mar) -- Hari + All -- Produk -- pertamax plus -- Premium -- Solar Tabel 3.16 Dimension level penjualan BBM
82 o Member Gambar 3.16 Member data penjualan BBM o Measures Measures data penjualan BBM diantaranya : Volume penjualan Rata-rata penjualan Kuantitas penjualan o Cell Gambar 3.17 Cell data penjualan BBM
83 3.4.2. Analisis MDX Penjualan Produk Pembuatan analisa laporan penjualan produk diperlukan untuk mengetahui seberapa banyak transaksi penjualan produk yang telah dilakukan. Query berdasarkan volume penjualan membutuhkan dimensi produk dan measure volume penjualan sehingga query yang dilakukan meliput : - Menarik detail data penjualan berdasarkan produk - Menampilkan measures berdasarkan volume penjualan - Urutkan berdasarkan volume penjualan Berikut query berdasarkan penjualan produk : select NON EMPTY {[Measures].[Volume Penjualan]} ON COLUMNS, order ( [Produk].Children,[Measures].[Volume Penjualan],desc) ON ROWS from [Penjualan] Penjualan SPBU per-produk Analisa laporan penjualan SPBU diperlukan untuk melihat perbandigan antar transksi antar SPBU dalam melakukan perjualan produk bahan bakar minyak. Query untuk analisa penjualan SPBU per produk berdasarkan volume penjualan membutuhkan dimensi SPBU dan measure volume penjualan sehingga query yang dilakukan meliputi : - Menarik detail data penjualan berdasarkan SPBU dan Produk - Filter berdasarkan volume penjualan - Urutkan berdasarkan volume penjualan
84 Berikut query berdasarkan penjualan SPBU : select NON EMPTY {[Produk].children} ON COLUMNS, order ([SPBU].children,[Measures].[Volume Penjualan],asc) on 1 from [Penjualan] where [Measures].[Volume Penjualan] Penjualan berdasarkan waktu Analisa laporan penjualan berdasarkan waktu diperlukan untuk mengetahui tren transaksi penjualan produk untuk seluruh SPBU. Query yang untuk melihat tren penjualan produk berdsarkan waktu membutuhkan dimensi produk, dimensi waktu, dan measure volume penjualan sehingga query yang dilakukan meliputi : - Menarik detail data penjualan berdasarkan Produk dan waktu - Filter berdasarkan volume penjualan Berikut query berdasarkan penjualan SPBU : select NON EMPTY {[Produk].children} ON COLUMNS, non empty [Time].[2010].children on 1 from [Penjualan] where [Measures].[Volume Penjualan] Membandingkan data penjualan produk bulan tertentu dengan bulan sebelumnya
85 Analisa laporan dalam membandingkan penjualan BBM diperlukan untuk menganalisa peningkatan atau penurunan jumlah transaksi penjualan yang dilakukan. Query MDX untuk membandingkan data penjualan membutuhkan dimensi produk, waktu dan measure volume penjualan dengan menggunakan fungsi prevmember. Berikut langkahlangkah qury yang dilakukan : - Inisialisasi field baru nama penjualan sebelumnya dan menggunakan fungsi prevmember untuk mengambil data sebelumnya. - Menarik dimensi produk, waktu dan measures volume penjualan Berikut query MDX : with member [Measures].[Penjualan sebelumnya] as ([Measures].[Volume Penjualan], [Time].prevmember) select {[Measures].[Volume Penjualan], [Measures].[Penjualan sebelumnya]} on 0, non empty crossjoin({[produk].children},{[time].[2010].[feb]})on 1 from [Penjualan] Menampilkan volume penjualan, kuantitas penjualan, rata rata penjualan berdasarkan produk dan SPBU Laporan analisis untuk menampilkan seluruh measures berdasarkan produk dan SPBU diperlukan untuk melihat keseluruhan
86 rekapitulasi penjualan berdasarkan produk di suatu SPBU. Dimensi dimensi yang terkait yaitu produk, SPBU dan measures yang ada pada cube data penjualan BBM. Berikut langkah-langkah yang dilakukan dalam query MDX : - Menampilkan seluruh measures pada cube penjualan - Menarik dimensi produk dan dimensi SPBU query MDX : select [Measures].allmembers on 0, crossjoin([spbu].children,[produk].children) on 1 from [Penjualan] Jumlah kuantitas transaksi penjualan berdasarkan SPBU dan produk yang telah terjual Analisa Jumlah kuantitas transaksi penjualan berdasarkan SPBU dan produk yang telah terjual diperlukan untuk melihat transaksi Produk di suatu SPBU. Query MDX yang terlibat diantaranya dimensi produk, SPBU dan measures kuantitas penjualan. Berikut langkah langkah yang dilakukan : - Menarik data dimensi produk dan dimensi SPBU - Menarik data measure kuantitas penjualan - Filter kunatitas penjualan query MDX : select NON EMPTY {[Produk].children} ON COLUMNS, non empty [SPBU].children on 1
87 from [Penjualan] where [Measures].[Kuantitas Penjualan] Tren volume penjualan seluruh produk pada bulan tertentu Analisa berdasarkan tren volume penjualan seluruh produk pada bulan tertentu diperlukan untuk memantau perkembangan produk dalam periode tertentu. Dimensi dan measures yang terkait adalah dimensi waktu dan measures volume penjualan. Berikut langkahlangkah yang dilakukan didalam query MDX : - Inisialisasi field dengan nama tren penjualan dengan menggunakan rumus volume penjualan periode berikutnya dikurangi dengan periode penjualan saat ini. - Menggunakan fungsi nextmember untuk menarik data periode berikutnya dan fungsi currentmember untukm menarik data periode saat ini. - Sesuaikan format dengan format_string dengan kondisi jika hasil minus indikator akan menampikan cell dengan warna merah. Jika hasil positif indikator akan menampikan cell dengan warna hijau. query MDX : with member [Measures].[Tren Penjualan] as (([Measures].[Volume Penjualan], [Time].nextmember)-([Measures].[Volume Penjualan], [Time].currentmember)), format_string=iif((([measures].[volume Penjualan], [Time].nextmember)-([Measures].[Volume Penjualan], [Time].currentmember))<1," #.00 style='red'",iif((([measures].[volum e Penjualan], [Time].nextmember)-([Measures].[Volume Penjualan],
88 [Time].currentmember))>1," #.00 style='green'"," #.00 "))select {[Measures].[Volume Penjualan], [Measures].[Tren Penjualan]} ON COLUMNS,[Time].[2010].[JAN].Children ON ROWS from [Penjualan] Akumulasi volume penjualan berdasarkan waktu Produk BBM Analisa akumulasi volume penjualan berdasarkan waktu Produk BBM diperlukan untuk melihat perkembangan total keseluruhan produk penjualan berdasarkan periode tertentu. Dimensi dimensi yang dibutuhkan meliputi dimensi produk, waktu, dan measure volume penjualan. Berikut langkah langkah membangun query : - Inisialisasi field dengan nama akumulasi penjualan dengan mengunakan fungsi YTD. - Memasukkan rumus perhitungan akumulasi periode menggunakan Sum(YTD([Time].CurrentMember), [Measures].[Target Value]). - Menarik data dimensi produk, dimensi waktu dan measures volume penjualan query MDX : with member [Measures].[Akumulasi Penjualan] as 'Sum(Ytd([Time].CurrentMember), [Measures].[Volume Penjualan])', format_string = " #.00 " select {[Measures].[Volume Penjualan], [Measures].[Akumulasi Penjualan]} ON COLUMNS, non empty {[Produk].[Semua Produk],[Produk].children}*[Time].[2010].children ON ROWS from [Penjualan]