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]}
ON
COLUMNS,
Penjualan], non
[Measures].[Akumulasi
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. Komponen yang terlibat dan saling terhubung dari rancangan terbebut diantara : 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
Keterangan Melakukan proses ETL dan upload ke data warehouse Mengawasi Proses ETL dan membuat desain multidimensional Melakukan analisa terhadap data
Manajer
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 NineStep 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 -
3.
Akumulasi volume penjualan berdsarkan waktu Produk BBM
Identifikasi dan membuat dimensi yang sesuai Berikut tampilan hubungan dimensi dengan grain fakta dalam bentuk matrik :
66
Produk apa yang Grain Dimension
paling banyak dan
SPBU yang
Kapan
memiliki Penjualan
penjualan
terbanyak atau
terbanyak /
sedikit
sedikit terjadi
paling sedikit terjual
Time Produk
X X
SPBU
X
X
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 Time
Produk
Field
Deskripsions
Year
Laporan dapat dilihat per tahun, per
Month
bulan dan perhari untuk analisi data
Day
penjualan BBM
sk_produk
Laporan dapat ditampilkan berdasarkan
kd_produk
produk tertentu
nama_produk SPBU
sk_spbu
Laporan
ini
dapat
kd_produk
berdasarkan SPBU tertentu
nama_spbu Tabel 3.7 Tabel dimensi Dimensi Time Attributes
Data Type Length
sk_waktu
Int
date_field
datetime
year
Int
11
month
Int
11
day_of_year
Int
11
day_of_month
Int
11
11
menampilkan
68
day_of_week
Int
11
week_of_year
Int
11
day_of_week_desc
Varchar
30
day_of_week_short_desc
Varchar
3
month_desc
Varchar
30
month_short_desc
Varchar
3
quarter
char
1
Tabel 3.8 Tabel Dimensi waktu Dimensi Produk Attributes
Data Type
Length
sk_produk
int(11)
11
KD_PRODUK
tinytext
Produk
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 :
Nama Aplikasi
Data base
Pentaho
Penjualan BBM
Data yang masuk
Data dalam data
ke data warehouse
warehouse
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
Semua Produk
Semua Waktu JAN 1 2 3 4 5 6 7 8
Tabel 3.12 Tabel Drill down
Volume Penjualan
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
Semua Produk
Semua Waktu
Volume Penjualan
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
Semua Produk
Semua Waktu
Volume Penjualan
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 (All)
Produk SPBU
(All)
Time Produk
(All)
Tahun
Semua SPBU
Semua Produk
Semua Waktu
Semua SPBU
Semua Produk
Semua Waktu
BaloiKolam
Semua Waktu
Bulan
Volume Penjualan
2010 2010
JAN FEB MAR
Semua Produk
pertamax plus
Semua Waktu Semua Waktu
2010 2010
JAN FEB MAR
Premium
Semua Waktu Semua Waktu
2010 2010
JAN FEB MAR
HarbourBay
Solar
Semua Waktu
Semua Produk
Semua Waktu
Semua Produk
Semua Waktu
pertamax plus
Semua Waktu
2010 2010
JAN FEB MAR
Premium
Semua Waktu Semua Waktu
2010 2010
JAN FEB MAR
Solar
Semua Waktu Semua Waktu
2010 2010
JAN FEB MAR
Tabel 3.15 Kerangka multi dimensional data penjualan BBM
Rata-rata Penjualan
Kuantitas Penjualan
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
Level Hierarchy
SPBU
+ All |-- SPBU |-- BaloiKolam |-- HarbourBay
Waktu
+ All |-- Tahun |-- Bulan (Jan, Feb, Mar) |-- Hari + All |-- Produk |-- pertamax plus
Produk |-- 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
COLUMNS,
EMPTY order
{[Measures].[Volume (
Penjualan]}
ON
[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 bulan sebelumnya
dengan
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
menggunakan
perhitungan
akumulasi
periode
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]