DATA WAREHOUSE MENGGUNAKAN SNOWFLAKE SCHEMA PADA VIRTUAL SHOP
SKRIPSI
Disusun Oleh:
VICKY NOVREZA (201310370311033)
FAKULTAS TEKNIK
JURUSAN TEKNIK INFORMATIKA UNIVERSITAS MUHAMMADIYAH MALANG
2018
i
iii
ABSTRAK
Virtual shop adalah penerapan teknologi virtual realiy pada toko online guna meningkatkan interaksi pembeli. Penerarapan virtual reality pada online shop menimbulkan pertanyaan untuk penyimpanan data serta pengolahan data sebagai analisa kebutuhan. Data pada toko online sebatas pada data transaksional dan tidak dilakukan pengolahan yang lebih untuk dilakukan analisa. Solusi dari permasalahan tersebut dengan melakukan perancangan data warehouse untuk menyiapkan tempat penyimpanan data agar analisa dapat dilakukan guna pengembangan teknologi virtual shop. Sistem pada data warehouse dapat sebagai repository data yang digunakan oleh virtual shop. Penelitian ini menerapkan multidimensional snowflakes schema dengan tujuan me-normalisasi tabel dimensi sehingga tidak terjadi redudansi data khusus pada tabel dimensi. Menerapkan metode desain data multidimensional dari Moody pada Multidimensional snowflakes schema, from ER models to Dimensional models. Untuk mendukung penelitian ini, Peneliti melakukan analisis pada data warehouse dengan menggunakan OLAP Cube Reporting berbasis web.
Kata kunci: OLAP, Cube, Snowflake Schema, Data Warehouse, ETL
v ABSTRACT
A Virtual Shop is kind of Online based store that implement Virtual Reality Technology for their interaction. Usually, Data inside online shop just as transactional data and there is not further process to makes that data as analyse need. So, in this research is to design we can call Data Warehouse as a solution to prepare a repository for data to make use as analyse need for Virtual Shop development. This research implement multidimensional scheme is Snowflake Scheme as Moody’s from ER models to Dimensional Models for it method. For analysis activities, user will do that activities via Web Based OLAP Cube Reporting.
Keywords: OLAP, Cube, Snowflake Schema, Data Warehouse, ETL
Lembar Persembahan
Puji syukur atas kelimpahan rahmat, nikmat, dan hidayah dari Allah SWT, shalawat serta salam senantiasa tercurahkan kepada Rasullullah SAW. Tiada kata selain puji syukur dan terima kasih penulis ucapkan kepada beberapa pihak yang membantu dalam penyelesaian penelitian ini. Oleh karena itu, dengan rendah hati penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Kedua orang tua dan keluarga yang senantiasa tiada hentinya mencurahkan kasih sayang dan tanpa lelah mendidik, memberikan semangat tiada henti, serta tanpa lelah mendo’akan dan memberi dukungan kepada penulis sehingga dapat menyelesaikan studi di Universitas Muhammadiyah Malang sebagaimana cita-cita yang diharapkan.
2. Bapak Yuda Munarko, S.Kom., M.Sc. selaku ketua jurusan Teknik Informatika Universitas Muhammadiyah Malang juga sebagai dosen yang mengajarkan penulis banyak ilmu bermanfaat selama masa studi di UMM.
3. Bapak Yuda Munarko, S.Kom., M.Sc. dan Ibu Lailatul Husniah, S.ST, M.T. selaku dosen pembimbing yang tak pernah lelah, memberikan arahan, dan membimbing penulis untuk melakukan penelitian ini.
4. Bapak Setio Basuki, S.T, M.T. dan ibu Diah Risqiwati, S.T, M.T. selaku dosen penguji yang telah memberikan arahan terkait penelitian yang telah dilakukan selama ujian tugas akhir.
5. Seluruh dosen dan karyawan di lingkungan Teknik Informatika UMM yang telah memberikan pengetahuan dan ilmu kepada penulis.
6. Teman-teman “Somplak ICT” yang setia menemani dan memberikan semangat dari awal perkuliahan hingga saat ini. Terima kasih yang tak terhingga para pejuang S.Kom untuk Andi Suhat, Ruscitra Derry, Novandha, Dika, Frendy, Damar, Lukman, Gusti, Helmi,dan Nadhir.
7. Teman-teman ngalam dev dilo yang selalu senantiasa membantu penulis jika ada kesulitan yang tak kunjung padam.
8. Seluruh teman-teman Teknik Informatika angkatan 2013 yang telah menjadi wadah belajar serta bermain bagi penulis selama berkuliah dan juga telah menjadi bagian sehingga diri dan kemampuan penulis dapat seperti sekarang.
vii
9. Seluruh teman-teman, kerabat, dan sahabat penulis yang tak mungkin disebutkan seluruhnya.
Semoga segala bantuan, motivasi, kebaikan, dan do’a yang diberikan kepada penulis mendapat kebaikan yang tak terhingga dari Allah SWT.
DAFTAR ISI ... ix
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 3
1.3 Tujuan Penelitian ... 3
1.4 Batasan Masalah ... 4
1.5 Metodologi ... 4
1.5.1 Studi Pustaka ... 5
1.5.2 Perancangan Data Warehouse ... 6
1.5.3 Implementasi Sistem ... 6
1.5.4 Pengujian Sistem ... 6
1.6 Penyusunan laporan tugas akhir ... 7
1.7 Sistematika Penulisan... 7
BAB II DASAR TEORI ... 8
2.1 Penelitian Sebelumnya ... 8
2.2 Data dan Informasi... 9
2.2.1 Data ... 9
2.2.2 Informasi ... 9
2.3 Database ... 11
2.3.1 Entitas... 11
2.4 Data Warehouse ... 11
2.4.1 Definisi Data Warehouse ... 11
2.4.2 Karakteristik Data Warehouse ... 12
2.4.3 Struktur Data Warehouse ... 15
2.5 Perbedaan OLAP dan OLTP ... 15
2.6 Model Dimensional ... 16
2.6.1 Star Schema ... 16
2.6.2 Snowflakes Schema ... 17
2.7 ETL ... 18
2.7.1 Metadata ... 18
2.8 From ER Models to Dimensional Models Methodologies ... 19
2.8.1 Classify Entities ... 19
2.8.2 Identify Hierarchies ... 20
2.8.3 Produce Dimensionals Models ... 21
2.8.4 Evaluasi dan pembenahan (Evaluation and Refinement) ... 22
2.9 Tools Pembuatan Data Warehouse ... 24
BAB III PERANCANGAN ... 25
3.1 Metode Penelitian ... 25
3.2 ER Diagram Database ... 26
3.2.1 ER Diagram OLTP Virtual Shop ... 26
3.3 Metode From ER Model to Dimensional Model ... 31
3.3.1 Klasifikasi Entitas (Classify Entities) ... 32
3.3.2 Identifikasi Hierarki (Identify Hierarchies)... 41
3.3.3 Perancangan Dimensional (Produce Dimensional Models) ... 41
3.3.4 Evaluasi dan Perbaikan (Evaluation and Refinement)... 46
3.4 Fitur pada rancangan OLAP Virtual Shop ... 46
3.4.1 OLAP Fakta Buy ... 46
3.4.2 OLAP Fakta Buy_detail ... 48
3.4.3 OLAP Fakta Price_history ... 49
BAB IV IMPLEMENTASI DAN PENGUJIAN... 52
ix
4.1 Persiapan ... 52
4.1.1 Lingkungan Pengembangan Perangkat Lunak ... 52
4.1.2 Lingkungan Pengembangan Perangkat Keras ... 52
4.2 Proses ETL (Extraction, Transform, Load) ... 53
4.2.1 Konfigurasi Metadata ... 53
4.2.2 Perancangan ETL Job ... 57
4.3 Pembentukan Cube OLAP Virtual Shop ... 102
4.4 Reporting OLAP Cube pada web ... 103
4.5 Pengujian ... 104
4.5.1 Verifikasi ... 104
4.5.2 Validasi ... 107
BAB V KESIMPULAN DAN SARAN ... 109
5.1 Kesimpulan ... 109
5.2 Saran ... 110
DAFTAR PUSTAKA ... 111
KATA PENGANTAR Assalamualaikum Wr. Wb.
Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT atas segala nikmat, kekuatan, taufik serta hidayah-Nya. Shalawat serta salam semoga tercurah kepada Rasulullah SAW, keluarga sahabat dan para pengikut setianya, Amin. Atas kehendak Allah, penulis dapat menyelesaikan proyek akhir yang berjudul :
“DATA WAREHOUSE MENGGUNAKAN SNOWFLAKE SCHEMA PADA VIRTUAL SHOP”
Pembuatan Proyek Akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom) di Universitas Muhammadiyah Malang. Selain itu penulis berharap agar proyek akhir ini dapat menambah literatur dan dapat memberikan manfaat bagi semuanya.
Akhir kata semoga buku ini dapat bermanfaat di masa sekarang dan masa mendatang.
Sebagai manusia yang tidak luput dari kesalahan, maka penulis mohon maaf apabila ada kekeliruan baik yang sengaja maupun yang tidak sengaja.
Wassalamualaikum Wr. Wb.
Malang, Februari 2018
Penulis
xi
DAFTAR GAMBAR
Gambar 1.0. Struktur Virtual Shop……… ….. 5
Gambar 2.0. 4 Komponen umum Sistem Informasi... 10
Gambar 2.2. Subject Oriented pada Data Warehouse... 12
Gambar 2.3. Time – Variant pada Data Warehouse... 13
Gambar 2.4. Integration pada Data Warehouse... 14
Gambar 2.5. Non-Volatile pada Data Warehouse... 15
Gambar 2.6. Star Schema... 17
Gambar 2.7. Snowflake Schema... 18
Gambar 2.8. Pengklasifikasian Entitas pada ER Diagram... 20
Gambar 2.9. Entitas yang masuk pada Hierarki Minimal... 20
Gambar 2.10. Entitas yang berada pada Hierarki Maksimal... 21
Gambar 2.11. Collapse hierarchy pada tabel state menuju ke tabel Region... 22
Gambar 2.12. Operator Aggregation... 22
Gambar 2.13 Tahapan From ER Models to Dimensional Models (Moody, et all). 23 Gambar 3.1 Gambaran Umum Sistem Virtual Shop... 25
Gambar 3.2 ER Diagram OLTP pada Virtual Shop... 28
Gambar 3.3 Kolom pada Tabel Product_discount... 29
Gambar 3.4 Tabel Condition_type hasil pemecahan pada Tabel Product_discount 29 Gambar 3.5 Kolom Condition pada tabel Product_discount... 30
Gambar 3.6 Tabel Condition... 31
Gambar 3.7 Rancangan pembentukan tabel Condition_type dan Condition... 31
Gambar 3.8 Pembagian Entitas pada diagram OLTP Virtual Shop... 33
Gambar 3.9 Kolom total pada tabel Buy pada OLTP Virtual Shop... 34
Gambar 3.10 Kolom count pada tabel Buy_detail... 34
Gambar 3.11 Kolom buy & sell pada tabel price_history... 35
Gambar 3.12 Relasi tabel Buy_Methode terhadap Tabel Buy... 36
Gambar 3.13 Relasi Tabel User terhadap Tabel Buy... 36
Gambar 3.14 Relasi Tabel Product terhadap Tabel Price_history... 37
Gambar 3.15 Relasi Tabel Location terhadap Tabel User... 38
Gambar 3.16 Relasi Tabel Region terhadap tabel Location dan tabel User... 39
Gambar 3.17 Relasi tabel Product_discount terhadap tabel Product... 40
Gambar 3.18 Relasi tabel Product_type terhadap tabel Product... 40
Gambar 3.19 Snowflake Schema OLAP Buy... 43
Gambar 3.20 Snowflake Schema OLAP Buy_detail... 44
Gambar 3.21 Snowflake Schema OLAP Price_history... 45
Gambar 3.22 Normalisasi tabel dimensi pada OLAP fakta Buy... 47
Gambar 3.23 Normalisasi tabel dimensi pada OLAP Buy_detail... 49
Gambar 3.24 Normalisasi tabel dimensi pada OLAP Price_history... 51
Gambar 4.0 Konfigurasi koneksi database OLTP vsOLTP... 54
Gambar 4.1 Schema config pada database OLTP... 55
Gambar 4.2 Konfigurasi Koneksi database OLAP VS_DW... 56
Gambar 4.3 Schema pada database OLAP VS_DW... 57
Gambar 4.4 Skema pada Job ETL Dimensi Buy_methode... 58
Gambar 4.5 Properties pada komponen tMysqlInput_1... 58
Gambar 4.6 Rancangan tMap pada Dim_Buy_methode... 59
Gambar 4.7 Propertise pada tMysqlOutput_1 job Dim_Buy_methode... 60
Gambar 4.8 Proses eksekusi pada job Dim_Buymethode... 60
Gambar 4.9 Proses eksekusi pada job Dim_Product_type... 60
Gambar 4.10 Proses eksekusi pada job Dim_Region... 60
Gambar 4.11 Rancangan job ETL Dim_Condition_type... 61
Gambar 4.12 Properties pada tMysqlInput_1 job Dim_Condition_type... 62
Gambar 4.13 Value pada kolom condition_type... 62
Gambar 4.14 Hasil Eksekusi penggunaan komponen tUniqRow_1... 63
Gambar 4.15 Alur tMap_1 pada job Dim_Condition_type... 63
Gambar 4.16 Properties tMysqlOutput_1 pada Dim_Condition_type... 64
Gambar 4.17 Proses ETL pada job Dim_Condition_type... 64
Gambar 4.18 Skema ETL Job Dim_Condition... 65
Gambar 4.19 Properties pada komponen tUniqRow_1... 65
Gambar 4.20 Alur pada komponen tMap_1 job Dim_Condition... 66
Gambar 4.21 Properties pada komponen tMysqlOutput_1... 66
Gambar 4.22 Proses eksekusi ETL pada job Dim_Condition... 67
Gambar 4.23 Rancangan ETL job pada job Dim_Product_discount... 68
Gambar 4.24 Properties pada tMysqlinput_1... 68
Gambar 4.25 Properties pada tMysqlinput_2... 69
Gambar 4.26 Properties komponen tUniqrow yang digunakan... 69
Gambar 4.27 Hasil penggunaan komponen tUniqrow... 70
xiii
Gambar 4.28 Alur pada komponen tMap_1 pada job Dim_Product_discount... 70
Gambar 4.29 Properties pada komponen tmysqloutput_1... 71
Gambar 4.30 Proses eksekusi pada Job Dim_Product_discount... 71
Gambar 4.31 Skema perancangan ETL job Dim_Location... 72
Gambar 4.32 Properties pada komponen tMysqlInput_1... 72
Gambar 4.33 Properties pada komponen tMysqlInput_2... 73
Gambar 4.34 Alur pada komponen tMap_1... 73
Gambar 4.35 Properties pada komponen tMysqOutput_1 job Dim_location... 74
Gambar 4.36 Proses eksekusi ETL pada Job Dim_Location... 74
Gambar 4.37 Skema perancangan pada ETL job Dim_User... 75
Gambar 4.38 Properties pada tMysqlinput_1... 75
Gambar 4.39 Properties pada tMysqlInput_2... 76
Gambar 4.40 alur pada komponen tMap_1 job Dim_User... 76
Gambar 4.41 Proses eksekusi ETL pada job Dim_User... 77
Gambar 4.42 Skema pada job Dim_Product... 78
Gambar 4.43 Properties pada komponen tMysqlInput_1 job Dim_Product... 79
Gambar 4.44 Properties pada komponen tMysqlInput_2 job Dim_Product... 79
Gambar 4.45 Properties pada komponen tMysqlInput_3 job Dim_Product... 80
Gambar 4.46 Alur pada komponen tMap pada job Dim_Product (bagian 1)... 81
Gambar 4.47 Alur pada komponen tMap pada job Dim_Product (bagian 2)... 81
Gambar 4.48 Properties pada komponen tMysqlOutput_1 pada job Dim_Product.. 82
Gambar 4.49 Proses eksekusi ETL pada job Dim_Product... 82
Gambar 4.50 Skema pada job Fact_Buy... 83
Gambar 4.51 Properties pada tMysqlInput (Buy)... 84
Gambar 4.52 Properties tMysqlInput (Time_cre & Time_upd)... 85
Gambar 4.53 Properties tMysqlInput (User)... 85
Gambar 4.54 Properties tMysqlInput (Buy_methode)... 85
Gambar 4.55 Alur Komponen tMap_1 (Bag 1)... 86
Gambar 4.56 Penggunaan fungsi TalendDate.parseDate... 86
Gambar 4.57 Join Table row1 dengan row4... 87
Gambar 4.58 Join table pada tabel row1 terhadap row5... 87
Gambar 4.59 Teknik Incremental Load pada tabel fakta Buy... 88
Gambar 4.60 Properties pada komponen tMysqlOutput pada job Fact_Buy... 88
Gambar 4.61 Proses Eksekusi ETL pada job Fact_Buy... 89
Gambar 4.62 Skema job Fact_Buy_detail... 90
Gambar 4.63 Properties pada tMysqlInput (Buy)... 91
Gambar 4.64 Join table pada tabel row1 dengan tabel row3... 92
Gambar 4.65 Join table pada tabel row5 dengan tabel out_lookup... 92
Gambar 4.66 Join table pada tabel row5 terhadap tabel row2... 93
Gambar 4.67 Incremental load pada ETL job Fact Buy... 93
Gambar 4.68 Properties pada komponen tMysqlOutput_1... 94
Gambar 4.69 Proses eksusi ETL pada job Fact_Buydetail... 94
Gambar 4.70 Skema Job Fact_Price_history... 95
Gambar 4.71 Properties pada komponen salah satu tMysqlInput... 97
Gambar 4.72 Join table pada tabel row1 dengan tabel row2... 97
Gambar 4.73 Penggunaan fungsi TalendDate.parseDate... 98
Gambar 4.74 Join table pada tabel row1 dengan row4... 98
Gambar 4.75 Incremental Load pada job Fact_Price_history... 99
Gambar 4.76 Properties pada komponen tMysqlOutput_1 job Fact_Price_history. 99 Gambar 4.77 Proses eksekusi ETL pada job Fact_Price_history... 100
Gambar 4.78 Skema alur eksekusi job ETL... 101
Gambar 4.79 Skema pada job Exec... 102
Gambar 4.80 Konfigurasi koneksi database... 102
Gambar 4.81 Struktur Cube OLAP tabel fakta Buy Virtual Shop di Pentaho... 103
Gambar 4.82 Cube OLAP Reporting Dashboard... 104
Gambar 4.83 Hasil penggunaan teknik Incremental Load job Fact_Buy... 106
Gambar 4.84 Hasil penggunaan teknik Incremental Load job Fact_Buydetail... 106
Gambar 4.85 Pengecekan nilai data pada DBMS... 108
xv
DAFTAR TABEL
Tabel 2.1 Perbedaan dengan Penelitian Sebelumnya ……….. 5
Tabel 3.1 Deskripsi Tabel OLTP Virtual Shop... 26
Tabel 3.2 Kolom pada tabel Condition_type... 30
Tabel 3.3 Penjelasan Kolom pada Tabel Condition... 31
Tabel 3.4 Fungsi tabel pada OLAP Fakta Buy... 46 Tabel 3.5 Tabel pada OLAP fakta Buy_detail... 48
Tabel 3.6 Daftar tabel pada OLAP fakta Price_history... 50
Tabel 4.1 Daftar Perangkat Keras Yang Digunakan... 53
Tabel 4.2 Penjelasan Komponen yang ada pada Job Dim_Product... 78
Tabel 4.3 Penjelasan Komponen yang digunakan... 83
Tabel 4.4 Komponen yang digunakan pada job Fact_Buy_detail... 90
Tabel 4.5 Komponen yang digunakan pada job Fact_Price_history... 96
Tabel 4.6 Verifikasi pada masing-masing job ETL... 104
DAFTAR PUSTAKA
[1] Ailing Qi, Huan Wang, Wenhui Kang, and Haiyan Wu, “Study on Realization Technology of Virtual Reality for Coal Mining Face,” Proceedings of the IEEE
International Conference on Information and Automation Ningbo, China, August 2016, vol. III, no. 16, pp. 1218 - 1222, 2016.
[2] Wilma Waterlander, Cliona Ni Mhurchu and Ingrid Steenhuis, “The Use of Virtual Reality in Studying Complex Interventions in Our Every-Dat Food Environtment,”
Virtual Reality - Human Computer Interaction, vol. II, no. 11, pp. 229 - 260, 2012.
[3] Ramez Elmasri, Shamkant B. Navathe, Fundamentals Of Database Systems, vol. VI, Boston: Addison-Wesley, 2011.
[4] YANG Hao, SONG Hongwei, and Zhang Zili, “The Application of e-commerce System based on data warehouse,” Information Technology and Artificial Intelligence Conference (ITAIC), 2011 6th IEEE Joint International, no. 11, pp. 493-496, 2011.
[5] Xie Wu and Huimin Zhang, “Design and Implementation of Data Warehouse of Minor Chain Supermarkets,” Intelligent Computing and Intelligent Systems (ICIS), 2010 IEEE International Conference on, vol. X, pp. 828 - 830, 2010.
[6] Matteo Golfarelli, Steffano Rizzi, Data Warehouse Design : Modern Principles and Methodologies, New Delhi: Tata McGraw Hill Education, 2009.
[7] Yebai Li, Xiumei Yu and Cui Li, “The Applied Research on the Statistic Data Warehouse Based on the Snowflake Mode,” Database Technology and Applications (DBTA), 2010 2nd International Workshop on, no. 10, pp. 50-62, 2010.
[8] Daniel L. Moody, and Mark A.R. Kortink, “From Enterprise Models to Dimensional Models: A Methodology for Data Warehouse and Data Mart Design,” Proceedings of the International Workshop on Design and Management of Data Warehouses
(DMDW'2000), vol. 28, pp. 5 - 12.
[9] P. Wallace, Introduction to Information Systems, vol. II, Boston: Pearson, 2015.
[10] Neeraj Sharma, Liviu Perniu, Raul F. Chong, Database Fundamentals, IBM, 2010.
[11] Michael Iskandar, Christian C. Henry, and Asdi Aulia, “Perancangan Database Sistem Informasi Akuntansi Menggunakan Kombinasi Rea Model, ERD, dan Normalisasi Data,” Jurnal Gaung Informatika, vol. XV, 2016.
[12] Andi Wahju Rahardjo Emanual, Anthony Salim, “Pembuatan Sistem Pelayanan Taksi dengan Menggunakan Android, Google Maps, dan Ruby on Rails”.
[13] Yuanfang Zhang, Jiang Liu, Wenyi Xu, “Design and Implementation of Central Heating Data Warehouse System,” Software Engineering and Service Science (ICSESS), 2013 4th IEEE International Conference on, vol. I, no. 13, pp. 365-368, 2013.
[14] W. Inmon, Building the Data Warehouse, vol. 3, John Wiley & Sons, Inc, 2002.
[15] Rahmadi Wijaya, Bambang Pudjoatmodjo, “An Overview and Implementation of Extraction-Transformation-Loading (ETL) Process in Data Warehouse (Case Study:
Department of Agriculture),” 2015 3rd International Conference on Information and Communication Technology (ICoICT), no. 15, pp. 70-74, 2015.
[16] Ralph Kimball, Margy Ross, The Data Warehouse Toolkit Second Edition, vol. II, John Wiley and sons, 2002.
17
[17] I. Khan, “MODERN METHODOLOGY & TOOLS FOR DATA WAREHOUSE DEVELOPMENT,” 2012.
[18] C. N. M. a. I. S. Wilma Waterlander, “The Use of Virtual Reality in Study Complex Interventions, in Our Every-Day Food Environment,” pp. 229-260, 2012.
[19] W. E. Waterlander, “The virtual supermarket: An innovative research,” 2011.