BAB 4 4 PEMBAHASAN Pada bab ini dibahas analisis lanjutan berdasarkan hasil uji coba pada bab 3, implementasi program, dan evaluasi. Analisis lanjutan berisi analisis dari waktu ETL, besar penggunaan disk space untuk data warehouse, waktu proses OLAP dan penggunaan disk space untuk data hasil analysis OLAP. Implementasi program berisi spesifikasi perangkat keras, spesifikasi perangkat lunak, dan petunjuk pemakaian sistem.
4.1 Analisis Lanjutan Pada bab 3 telah dilakukan beberapa penelitian yang terdiri dari perbandingan waktu ETL antara model dimensi star schema dan snowflake, perbandingan penggunaan disk space, perbandingan waktu proses analysis OLAP, dan perbandingan penggunaan disk space untuk data hasil analysis OLAP. Keterangan dari skenario yang digunakan, yakni: 1. Skenario ke-1 : Penambahan jumlah record pada tabel fakta. 2. Skenario ke-2 : penambahan jumlah record pada tabel dimensi subcategory dari skenario pertama 3. Skenario ke-3 : penambahan jumlah record pada tabel dimensi product dari skenario pertama 4. Skenario ke-4 : penambahan jumlah record pada tabel dimensi subcategory dan product dari skenario pertama
56
57
4.1.1 Analisis Waktu ETL Pada bagian ini dilakukan analisis mengenai waktu ETL antara model dimensi star schema dan snowflake. Berikut waktu ETL pada model dimensi star schema dan snowflake : Tabel 4.1 Waktu ETL pada model dimensi star schema Jumlah record tabel fakta 500.000 record 1.000.000 record 3.000.000 record 10.000.000 record
Skenario ke-1 (Detik) 25,125 50,827 117,705 997,485
Skenario ke-2 (Detik) 38,938 152,187 235,296 1490,381
Skenario ke-3 (Detik) 36,719 194,938 285,936 1749,610
Skenario ke-4 (Detik) 46,315 190,859 467,611 1816,392
Tabel 4.2 Waktu ETL pada model dimensi snowflake Jumlah record tabel fakta 500.000 record 1.000.000 record 3.000.000 record 10.000.000 record
Skenario ke-1 (Detik) 19,265 40,548 80,844 761,640
Skenario ke-2 (Detik) 28,236 125,782 233,969 880,303
Skenario ke-3 (Detik) 31,796 128,921 259,407 967,313
Skenario ke-4 (Detik) 37,204 198,016 348,924 1257,689
Dengan melihat kedua tabel di atas, terlihat perbedaan waktu ETL antara dimensi star schema dan snowflake yang semakin membesar ketika jumlah record ditambah. Peningkatan waktu ETL pada model dimensi star schema dengan jumlah record pada tabel fakta 500.000 record dari skenario ke-1 sampai ke-4 terlihat peningkatan waktu sedikit, sedangkan pada fakta yang berjumlah 1.000.000 record mulai terjadi peningkatan waktu yang lebih besar jika dibandingkan dengan record tabel fakta yang berjumlah 500.000 record. Peningkatan waktu ETL pada dimensi star schema mulai terlihat pada record tabel fakta yang berjumlah 3.000.000 record, dimana waktu yang didapat mengalami peningkatan dari skenario ke-1 sampai ke-4. Berdasarkan data tersebut terlihat ada faktor yang mempengaruhi peningkatan waktu ETL. Untuk mengetahui lebih jelas, maka diuraikan lebih lanjut waktu ETL yang ada pada bab 3.
58
Berikut ini tabel detail waktu ETL pada model dimensi star schema dengan fakta berjumlah ± 500.000 record dan ± 10.000.000 record : Tabel 4.3 Tabel detail waktu ETL pada model dimensi star schema dengan fakta ± 500.000 record Nama tabel
DimSubcategory DimProduct DimCustomer DimCurrencyRate DimWaktu FaktaPenjualan
Skenario ke-1 (detik) 3,422 2,828 3,719 0,344 0,312 14,500
Skenario ke-2 (detik) 13,657 2,781 4,312 1,484 0,313 16,391
Skenario ke-3 (detik) 3,766 11,578 3,094 1,437 0,313 16,531
Skenario ke-4 (detik) 10,625 10,375 5.422 1,205 0,250 18,438
Tabel 4.4 Tabel detail waktu ETL pada model dimensi star schema dengan fakta ± 10.000.000 record Nama tabel
DimSubcategory DimProduct DimCustomer DimCurrencyRate DimWaktu FaktaPenjualan
Skenario ke-1 (detik) 169,656 127,719 5,547 0,391 0,297 693,875
Skenario ke-2
Skenario ke-3
Skenario ke-4
(detik) 310,735 156,516 8,625 0,328 0,786 1.013,391
(detik) 117,782 432,968 8,985 0,453 0,297 1.189,125
(detik) 345,453 382,891 7,219 0,297 1,688 1.078,844
Dengan melihat detail waktu ETL pada tabel di atas (tabel 4.3) terlihat waktu ETL untuk dimensi waktu, dimensi currencyrate, dimensi customer tidak mengalami perubahan waktu yang besar dari skenario ke-1 sampai ke skenario ke-4 karena jumlah record pada dimensi tersebut tidak diperbesar. Pada dimensi subcategory dan dimensi product mengalami perubahan waktu ketika diperbesar (pada skenario ke-3 dan ke-4), begitu juga pada dimensi product yang mengalami perubahan waktu pada skenario ke-3 dan skenario ke-4. Pada fakta penjualan terlihat terjadi kenaikan waktu pada skenario ke-1 sampai ke-4 yang tidak terlalu besar. Dari perubahan itu, belum dapat diambil kesimpulan sehingga diperlukan detail waktu ETL dengan record yang lebih besar.
59
Pada tabel detail waktu ETL dengan fakta 10.000.000 record (tabel 4.4) terlihat perubahan waktu ETL pada dimensi subcategory, dimensi product, dan fakta penjualan. Pada dimensi product dan dimensi subcategory mengalami perubahan waktu yang dipengaruhi oleh jumlah record yang diperbesar sesuai dengan skenario yang telah dibuat. Pada fakta penjualan terjadi peningkatan waktu ETL dari skenario ke-1 sampai ke-4. Terjadi perubahan waktu ETL pada fakta penjualan jika dibandingkan skenario ke1 dengan skenario ke-2 terlihat peningkatan waktu ETL yang besar, peningkatan tersebut dipengaruhi oleh jumlah record pada dimensi subcategory yang diperbesar. Terjadi perubahan waktu ETL pada fakta penjualan antara skenario ke-1 dan skenario ke-3, skenario ke-3 yang meningkat dipengaruhi oleh jumlah record pada dimensi product. Hasil analisis detail waktu ETL pada model star schema dapat diambil kesimpulan bahwa penambahan record pada dimensi product dan dimensi subcategory mempengaruhi waktu ETL pada fakta penjualan. Terdapat perbedaan waktu ETL pada model dimensi snowflake yang sulit dianalisis, sehingga perlu melihat detail waktu ETL. Berikut tabel detail waktu ETL pada model dimensi snowflake dengan fakta berjumlah 500.000 record dan fakta berjumlah 10.000.000 record : Tabel 4.5 Tabel detail waktu ETL pada model dimensi snowflake dengan fakta 500.000 record Nama tabel
DimSubcategory DimProduct DimCustomer DimCurrencyRate DimWaktu FaktaPenjualan
Skenario ke-1
Skenario ke-2
Skenario ke-3
Skenario ke-4
(detik)
(detik)
(detik)
(detik)
3,422 1,422 2,891 1,672 0,218 9,640
7,375 2,344 6,469 0,313 0,219 11,516
3,937 10,016 5,015 1,594 0,297 10,937
7,125 9,282 4,922 1,672 0,250 13,953
60
Tabel 4.6 Tabel detail waktu ETL pada model dimensi snowflake dengan fakta 10.000.000 record Nama tabel
DimSubcategory DimProduct DimCustomer DimCurrencyRate DimWaktu FaktaPenjualan
Skenario ke-1
Skenario ke-2
Skenario ke-3
Skenario ke-4
(detik)
(detik)
(detik)
(detik)
153,219 136,672 7,969 0,359 0,296 463,125
324,593 162,522 8,094 0,344 0,281 384,469
103,109 519,765 7,750 0,313 0,282 336,094
339,219 567,829 7,625 0,391 0,297 342,719
Dengan membandingkan tabel 4.5 pada tabel dimensi subcategory dan tabel 4.3 pada tabel dimensi subcategory, terlihat waktu pada setiap skenario hampir sama walau berbeda beberapa detik. Perbedaan waktu yang kecil dapat dianggap sama, sehingga waktu ETL pada tabel dimensi subcategory tidak berubah baik pada model dimensi star schema dan snowflake. Begitu juga perbandingan waktu pada tabel 4.3 dan tabel 4.5 pada tabel dimensi product, perbedaan waktu yang didapatkan kecil. Tetapi jika tabel dimensi product dibandingkan antara tabel 4.4 dan tabel 4.6, akan terlihat perbedaan waktu pada tabel 4.6, skenario ke-4, dimana waktu ETL yang dibutuhkan 567,829 detik sedangkan pada tabel 4.4, skenario ke-4 dibutuhkan 382,891 detik. Perbedaan waktu yang jauh tersebut disebabkan oleh tabel dimensi product pada model dimensi snowflake terhubung ke tabel dimensi subcategory, sedangkan tabel dimensi product pada model dimensi star schema tidak terhubung ke tabel dimensi subcategory sehingga waktu yang dibutuhkan lebih cepat dari waktu pada model dimensi snowflake. Selisih waktu ETL pada tabel fakta dimana fakta berjumlah 500.000 record antara model dimensi star schema (tabel 4.3) dan snowflake (tabel 4.5) sekitar 5-10 detik sehingga penggunaan model dimensi star schema atau snowflake pada data yang sedikit tidak memberikan pengaruh waktu ETL yang besar. Tetapi jika jumlah fakta diperbesar
61
menjadi 10.000.000 record pada tabel 4.4 dan tabel 4.6, untuk skenario ke-1 didapat selisih waktu sekitar 230 detik, begitu juga pada skenario ke-2 sampai ke-4, dimana selisih waktu berkisar 500-700 detik. Dengan selisih waktu yang semakin besar terlihat waktu ETL untuk data yang besar jika menggunakan model dimensi snowflake akan membutuhkan waktu ETL yang lebih cepat dibandingkan dengan model dimensi star schema.
4.1.2 Analisis besar penggunaan disk space untuk data OLAP Pada bagian ini dilakukan analisis penggunaan disk space antara model dimensi star schema dan snowflake. Besar penggunaan disk space pada model dimensi star schema sebesar 81,7 MB, sedangkan besar penggunaan disk space pada model dimensi snowflake sebesar 80,18 MB. Perhitungan penggunaan disk space yang diambil menggunakan data dengan fakta 500.000 record dimana jumlah record pada tabel dimensi currencyrate sebanyak 13.562 record, jumlah record pada tabel dimensi customer sebanyak 200.000 record, jumlah record pada tabel dimensi product sebanyak 100.799 record, jumlah record pada tabel subcategory sebanyak 100.080 record, jumlah record pada tabel dimensi waktu sebanyak 1.124 record, jumlah record pada tabel fakta penjualan sebanyak 500.039 record dan tabel filtertimestamp sebanyak 6 record. Dengan menggunakan data yang berjumlah sedikit terlihat perbedaan penggunaan disk space pada model dimensi star schema yang lebih besar dibandingkan dengan model dimensi snowflake, sehingga jika data yang ditampung semakin besar maka penggunaan disk space juga akan semakin besar. Jumlah record yang semakin banyak akan membuat star schema menggunakan disk space yang lebih besar dibandingkan dengan snowflake.
62
4.1.3 Analisis waktu proses analysis OLAP Pada bagian ini dilakukan analisis waktu proses OLAP pada model dimensi star schema dan model dimensi snowflake. Berikut tabel waktu proses OLAP dengan model dimensi star schema dan snowflake : Tabel 4.7 Waktu proses OLAP dengan model dimensi star schema Jumlah record tabel fakta 500.000 record 1.000.000 record 3.000.000 record 10.000.000 record
Skenario ke-1 00:00:19 00:00:31 00:00:52 00:17:17
Skenario ke-2 00:00:27 00:02:17 00:03:41 00:25:27
Skenario ke-3 00:00:26 00:04:28 00:06:07 01:30:11
Skenario ke-4 00:00:33 00:04:32 00:15:21 04:02:00
Tabel 4.8 Waktu proses OLAP dengan model dimensi snowflake Skenario Skenario Skenario Skenario ke-1 ke-2 ke-3 ke-4 500.000 record 00:00:15 00:00:25 00:00:26 00:00:33 1.000.000 record 00:00:35 00:03:44 00:04:45 00:07:08 3.000.000 record 00:00:57 00:05:54 00:08:50 00:18:21 10.000.000 record 00:18:32 00:32:38 01:52:22 04:50:00 Jumlah record tabel fakta
Pada skenario ke-1 model dimensi star schema terlihat waktu proses untuk fakta berjumlah 500.000 record membutuhkan 19 detik untuk menyelesaikan proses analysis OLAP. Sedangkan pada skenario yang sama, model dimensi snowflake untuk fakta berjumlah 500.000 record hanya membutuhkan waktu 15 detik untuk menyelesaikan proses analysis OLAP. Pada skenario ke-2 dengan jumlah fakta 1.000.000 record, mulai terlihat perbedaan waktu proses OLAP dimana pada model dimensi star schema membutuhkan waktu 2 menit 17 detik dan pada model dimensi snowflake membutuhkan waktu 3 menit 44 detik. Berdasarkan perbedaan waktu tersebut, mulai terlihat model dimensi snowflake membutuhkan waktu yang lebih lama dibandingkan model dimensi star schema untuk jumlah data yang besar.
63
Pada skenario ke-1 dengan fakta berjumlah 10.000.000 record selisih waktu antara model dimensi star schema dan snowflake hanya 1 menit 15 detik, sedangkan pada skenario ke-2 selisih waktu menjadi 7 menit 11 detik. Selisih waktu yang semakin besar disebabkan oleh jumlah record pada dimensi subcategory yang diperbesar dari 5.051.100 record menjadi 15.152.736 record. Begitu juga dengan selisih waktu pada skenario ke-3 dan ke-4 yang semakin membesar karena jumlah record pada dimensi product dan dimensi subcategory yang juga diperbesar. Dengan banyaknya jumlah record pada dimensi product membuat waktu proses OLAP menjadi lebih lama, terlihat pada skenario ke-3 dengan menggunakan star schema, dimana waktu proses pada tabel fakta berjumlah 3.000.000 record hanya membutuhkan 6 menit 7 detik, kemudian pada fakta berjumlah 10.000.000 record membutuhkan waktu 1 jam 30 menit 11 detik. Dimana selisih waktu antar kedua skenario tersebut 1 jam 24 menit 4 detik, sedangkan pada skenario ke-2, selisih waktu antar kedua skenario 21 menit 46 detik. Perbedaan antara skenario ke-2 dan ke-3 adalah tabel dimensi subcategory diperbanyak pada skenario ke-2 dan tabel dimensi product diperbanyak pada skenario ke-3.
4.1.4 Analisis size database hasil proses OLAP Pada bagian ini dilakukan analisis mengenai size database hasil proses OLAP pada model dimensi star schema dan snowflake. Berikut tabel size database hasil proses OLAP pada model dimensi star schema dan snowflake :
64
Tabel 4.9 Size database hasil analysis OLAP pada model dimensi star schema Jumlah record tabel fakta 500.000 record 1.000.000 record 3.000.000 record 10.000.000 record
Skenario ke-1 90,4 MB 199 MB 248 MB 2,37 GB
Skenario ke-2 165 MB 896 MB 1,16 GB 3,95 GB
Skenario ke-3 184 MB 848 MB 1,38 GB 4,42 GB
Skenario ke-4 259 MB 1,33 GB 2,28 GB 6,04 GB
Tabel 4.10 Size database hasil proses OLAP pada model dimensi snowflake Jumlah record tabel fakta 500.000 record 1.000.000 record 3.000.000 record 10.000.000 record
Skenario ke-1 93,4 MB 213 MB 291 MB 2,57 GB
Skenario ke-2 172 MB 976 MB 1,24 GB 4,33 GB
Skenario ke-3 196 MB 921 MB 1,5 GB 4,86 GB
Skenario ke-4 276 MB 1,45 GB 2,48 GB 6,67 GB
Size database hasil proses OLAP pada skenario ke-1 dengan fakta berjumlah 500.000 record pada model dimensi star schema membutuhkan 90,4 MB, sedangkan pada model dimensi snowflake membutuhkan 93,4 MB. Selisih penggunaan sebesar 3 MB. Pada skenario ke-2 dengan fakta berjumlah 500.000 record, selisih antara model dimensi star schema dan snowflake sebesar 7 MB. Semakin besar jumlah record yang disimpan akan membutuhkan disk space yang semakin besar untuk model dimensi snowflake, jika dibandingkan dengan star schema. Dapat dilihat pada skenario ke-4 dengan jumlah fakta 10.000.000 record, selisih penggunaan disk space menjadi 0,63 GB atau sebesar 645,12 MB. Size database yang besar pada snowflake dipengaruhi oleh pengelompokkan data pada tabel dimensi product berdasarkan subcategory.
65
4.2 Implementasi Pada bagian ini dijelaskan mengenai spesifikasi perangkat keras dan perangkat lunak, serta petunjuk pemakaian sistem agar aplikasi dapat digunakan dan digunakan dengan baik dan benar.
4.2.1 Spesifikasi Perangkat Keras Spesifikasi minimum perangkat keras yang digunakan untuk implementasi aplikasi rekomendasi adalah sebagai berikut : Processor
: Pentium IV 1.88 GHz
Memory
: Memory 1 GB
Hardisk
: Minimal 10 GB – sesuai besar database yang digunakan
Monitor
: SVGA 14”
4.2.2 Spesifikasi Perangkat Lunak Spesifikasi minimum perangkat lunak yang diperlukan dalam implementasi aplikasi rekomendasi adalah sebagai berikut : Sistem Operasi Microsoft Windows XP Service Pack 2 Database Microsoft SQL Server 2005 Microsoft .Net Framework 2.0
66
4.2.3 Petunjuk Pemakaian Sistem Berikut adalah petunjuk pemakaian sistem dalam aplikasi,
Gambar 4.1 Layar Login Pada layar ini user diminta untuk memilih server yang ingin digunakan, cara authentication yang ingin digunakan, mengisi login dan password jika memilih ‘Sql Server Authentication’, yang berfungsi untuk mengakses ke dalam database. Jika user mengklik tombol ‘Connect’, maka akan dilakukan validasi apakah server name yang dipilih ada, cara authentication, dan validasi login dan password jika memilih ‘Sql Server Authentication’ yang sesuai dengan basisdata dalam server database yang dipilih. Jika sesuai dengan basisdata maka akan masuk ke layar form database. Tombol ‘cancel’ digunakan untuk menutup program.
67
Gambar 4.2 Layar form database Layar form database adalah layar utama yang digunakan untuk user memilih : 1. Database (Berisi pilihan database yang dapat dipilih user, database ini sama dengan yang ada pada sql server 2005 milik user) 2. Transcation Table (Berisi 2 pilihan tabel yang ingin digunakan sebagai tabel fakta, pilihan pertama adalah tabel transaksi dan pilihan kedua adalah tabel yang memiliki relasi dengan tabel transaksi yang dipilih pada combo box pertama). 3. List Table (Berisi daftar tabel yang akan dijadikan dimensi). 4. Other Relation Table (Berisi daftar tabel dimensi yang telah dipilih user) Jika user menekan tombol ‘Process’, ada validasi untuk tabel yang dipilih pada ‘Other Relation Table’. Tabel yang dipilih harus memiliki hubungan ke tabel transaksi
68
atau ke tabel relation lainnya. Setelah dipilih tabel yang diinginkan dan telah melewati validasi maka dihitung waktu proses untuk fakta dengan dua model dimensi yaitu star schema dan snowflake.
Gambar 4.3 Layar form_process Pada layar proses, tabel-tabel yang telah dipilih akan dicari hubungan antar tabel dan dibuatkan query untuk menghitung waktu ETL pada model dimensi star schema dan model dimensi snowflake. Setelah mendapatkan waktu rata-rata pada setiap model dimensi, kemudian hasilnya akan dianalisis pada form recommendation
69
Gambar 4.4 Layar form_recommendation Pada layar rekomendasi akan menampilkan rekomendasi dari program setelah menganalisis waktu ETL dari model dimensi star schema dan model dimensi snowflake. Perhitungan waktu yang didapat merupakan perkiraan waktu rata-rata melakukan eksekusi query pada model dimensi star schema dan snowflake.
70
4.3 Evaluasi Pada bagian ini dilakukan evaluasi.mengenai kelebihan dan kekurangan yang diuraikan pada bab 3 yang dibandingkan dengan hasil analisis lanjutan. Pada bab 3, kelebihan dari model dimensi star schema yakni, proses eksekusi query yang relatif lebih cepat dapat dibuktikan dengan waktu ETL yang didapat jika dibandingkan dengan waktu ETL dengan model dimensi snowflake. Kerugian dari model dimensi star schema yakni, penggunaan disk space yang lebih besar dapat dibuktikan dari hasil perbandingan penggunaan disk space untuk data warehouse pada analisis di atas. Keuntungan dari model dimensi snowflake yakni, penggunaan disk space yang kecil untuk data warehouse tidak dapat dibuktikan karena ketika dilakukan normalisasi pada tabel dimensi, hasil yang didapat hanya berkurang sedikit penggunaan disk space, sedangkan penggunaan disk space pada tabel fakta lebih besar dari pada tabel dimensi sehingga tidak dapat dilihat penggunaan disk space yang lebih kecil. Kerugian dari model dimensi snowflake yakni, performa query menurun karena penggabungan tabel-tabel dimensi dapat dibuktikan dengan waktu proses OLAP yang lebih lama dibandingkan dengan model dimensi star schema. Model dimensi snowflake lebih cepat dari model dimensi star schema ketika proses ETL, karena dimensi pada snowflake telah dinormalkan sehingga redudansi data dapat dikurangi, hal ini mempercepat proses ETL. Model dimensi snowflake menggunakan disk space yang lebih kecil dari model dimensi star schema pada hasil proses ETL karena dimensi pada model dimensi snowflake telah dinormalkan sehingga redudansi data dapat dikurangi, hal ini menyebabkan besar disk space yang digunakan berkurang. Waktu proses OLAP bergantung pada jumlah record, berdasarkan uji coba pada bab 3 ditemukan ketika uji coba dengan fakta 500.000 record model dimensi
71
snowflake lebih cepat atau sama dengan model dimensi star schema.Ketika uji coba dengan fakta 1.000.000, 3.000.000, 10.000.000 record waktu proses OLAP model dimensi star schema lebih cepat dari model dimensi snowflake. Star schema menghasilkan size database yang lebih kecil dari model dimensi snowflake pada hasil proses OLAP.