ABSTRAK Data mart digunakan oleh suatu perusahaan atau instansi untuk mendukung proses analisis dan pengambilan keputusan. Namun banyaknya data yang disimpan di dalam data mart sering kali menyebabkan sulitnya proses analisis dilakukan. Hal ini disebabkan data yang digunakan tidak selalu relevan dengan permasalahan yang dihadapi. Oleh karena itu perlu diterapkan suatu metode untuk membangun cube yang optimal. Sehingga cube yang dibangun dapat digunakan oleh pengguna dalam proses analisis dan pengambilan keputusan secara optimal. Selain itu, diperlukan juga sebuah sistem yang memungkinkan pengguna untuk melakukan operasi OLAP dan menampilkan hasil analisis ke dalam bentuk tabel dan grafik. Dalam penelitian ini, sebuah aplikasi telah dibangun untuk menghasilkan informasi sesuai dengan kebutuhan analisis pengguna, yang diperoleh melalui survei dalam bentuk kuesioner. Hasil implementasi dan pengujian menunjukkan bahwa aplikasi mampu melakukan optimasi MDX, operasi OLAP, dan menampilkan hasil analisis ke dalam bentuk tabel dan grafik, yang dilengkapi dengan kemampuan untuk menyajikan trend analysis terhadap data yang dipilih. Berdasarkan hasil survei, aplikasi berguna untuk membantu analis dalam melihat trend analysis dan detail dari suatu informasi yang telah dioptimasi. Kata kunci: optimasi MDX, operasi OLAP, analisis, cube, trend analysis
v Universitas Kristen Maranatha
ABSTRACT Data mart is used in enterprise level to support analysis and decisionmaking process. However, the number of data which is stored in data mart causes some difficulties to analyze problems. This happens because selected data is not always relevant to the problems encountered. That’s why a method has to be applied to build optimal cube so that can be used by users in analysis and decision-making process. Furthermore, a system is also needed to help users use OLAP operators and represent information in the form of table and chart. In this research, an application has been created to represent information which in accordance with user needs. It is obtained from a survey in the form of questionnaire. The result of implementation and evaluation shows that the application is able to optimize MDX, execute OLAP operations and represent information in table and chart with trend analysis of data. While the survey shows that the application can help analysts by showing trend analysis and detail of information which has been optimized. Keywords: MDX optimization, OLAP operation, analysis, cube, trend analysis
vi Universitas Kristen Maranatha
DAFTAR ISI LEMBAR PENGESAHAN ..................................................................................... i PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ............................. ii PERNYATAAN PUBLIKASI LAPORAN PENELITIAN .................................. iii PRAKATA ............................................................................................................. iv ABSTRAK .............................................................................................................. v ABSTRACT ........................................................................................................... vi DAFTAR ISI ......................................................................................................... vii DAFTAR GAMBAR .............................................................................................. x DAFTAR TABEL ................................................................................................. xii DAFTAR SIMBOL ............................................................................................. xiv DAFTAR ALGORITMA...................................................................................... xv DAFTAR KODE PROGRAM ............................................................................. xvi DAFTAR LAMPIRAN ....................................................................................... xvii BAB I PENDAHULUAN ....................................................................................... 1 1.1
Latar Belakang ......................................................................................... 1
1.2
Rumusan Masalah .................................................................................... 3
1.3
Tujuan....................................................................................................... 3
1.4
Batasan Masalah ....................................................................................... 3
1.5
Sistematika Pembahasan .......................................................................... 4
BAB II LANDASAN TEORI ................................................................................. 5 2.1
Online Analytical Processing (OLAP) ..................................................... 5
2.1.1
Operasi Roll-Up ................................................................................ 5
2.1.2
Operasi Drill-Down .......................................................................... 6
2.1.3
Operasi Slice and Dice ...................................................................... 7
2.1.4
Operasi Pivot ..................................................................................... 8
2.2
Multidimensional Expression (MDX) ...................................................... 8
2.2.1
Optimasi MDX.................................................................................. 9
2.2.2
Algoritma Optimasi MDX .............................................................. 10
2.3
Analisis Drill-Down ............................................................................... 15
2.4
Linear Regression .................................................................................. 15
BAB III ANALISIS DAN DISAIN ...................................................................... 17
vii Universitas Kristen Maranatha
3.1
Analisis ................................................................................................... 17
3.2
Gambaran Keseluruhan .......................................................................... 21
3.2.1
Persyaratan Antarmuka Eksternal ................................................... 21
3.2.2
Antarmuka Pengguna ...................................................................... 21
3.2.3
Antarmuka Perangkat Keras ........................................................... 21
3.2.4
Antarmuka Perangkat Lunak .......................................................... 22
3.2.5
Fitur-Fitur Produk Perangkat Lunak ............................................... 22
3.3
Disain Perangkat Lunak ......................................................................... 36
3.3.1
Pemodelan Perangkat Lunak ........................................................... 36
3.3.2
Disain Penyimpanan Data ............................................................... 54
3.3.3
Disain Antarmuka ........................................................................... 58
BAB IV PENGEMBANGAN PERANGKAT LUNAK ...................................... 63 4.1
4.1.1
Implementasi Class Analysis .......................................................... 63
4.1.2
Implementasi Interface IQueryBuilder ........................................... 67
4.2
Implementasi Optimasi MDX dan Operasi OLAP ................................ 68
4.2.1
Implementasi Optimasi MDX ......................................................... 69
4.2.2
Implementasi Operasi OLAP .......................................................... 73
4.3
Implementasi Penyimpanan Data ........................................................... 74
4.3.1
Implementasi Skema ....................................................................... 74
4.3.2
Implementasi Database .................................................................. 77
4.4
5
Implementasi Class dan Method ............................................................ 63
Implementasi Antarmuka ....................................................................... 77
4.4.1
Implementasi Antarmuka Login...................................................... 78
4.4.2
Implementasi Antarmuka Analisis Data ......................................... 78
4.4.3
Implementasi Antarmuka History ................................................... 80
4.4.4
Implementasi Antarmuka Pengguna ............................................... 80
BAB V TESTING DAN EVALUASI SISTEM ........................................... 81 5.1
Rencana Pengujian ................................................................................. 81
5.2
Hasil Pengujian ...................................................................................... 81
5.2.1
Pengujian White Box ....................................................................... 81
5.2.2
Pengujian Black Box ....................................................................... 85
BAB VI KESIMPULAN DAN SARAN .............................................................. 88
viii Universitas Kristen Maranatha
6.1
Kesimpulan............................................................................................. 88
6.2
Saran ....................................................................................................... 89
DAFTAR PUSTAKA ........................................................................................... 90 RIWAYAT HIDUP PENULIS ............................................................................. 92 LAMPIRAN .......................................................................................................... 93
ix Universitas Kristen Maranatha
DAFTAR GAMBAR Gambar 2.1 Operasi roll-up pada OLAP (Han, Kamber, & Pei, 2012) .................. 5 Gambar 2.2 Operasi drill-down pada OLAP (Han, Kamber, & Pei, 2012) ............ 6 Gambar 2.3 Operasi slice and dice pada OLAP (Han, Kamber, & Pei, 2012) ....... 7 Gambar 2.4 Operasi pivot pada OLAP (Han, Kamber, & Pei, 2012) ..................... 8 Gambar 2.5 Contoh skema product sold (Niemi, Nummenmaa, & Thanisch, Constructing OLAP Cubes Based on Queries, 2001) ........................................... 12 Gambar 2.6 Contoh normalisasi cube (Niemi, Methods for Logical OLAP Designs, 2001) ...................................................................................................... 14 Gambar 2.7 Contoh analisis drill-down berdasarkan wilayah (Inmon, 2005) ...... 15 Gambar 2.8 Contoh data grafik (Lane, 2013) ....................................................... 16 Gambar 2.9 Contoh regresi linear (Lane, 2013) ................................................... 16 Gambar 3.1 Contoh cube lulusan yang tidak memenuhi kriteria completeness and minimalism (Natalia, 2014) ................................................................................... 17 Gambar 3.2 Contoh cube lulusan yang didominasi oleh nilai null (Natalia, 2014) ............................................................................................................................... 18 Gambar 3.3 Use case diagram .............................................................................. 36 Gambar 3.4 Activity diagram untuk fitur login ..................................................... 41 Gambar 3.5 Activity diagram untuk fitur logout ................................................... 42 Gambar 3.6 Activity diagram untuk fitur analisis data ......................................... 43 Gambar 3.7 Activity diagram untuk fitur roll-up/drill-down data ........................ 44 Gambar 3.8 Activity diagram untuk fitur slice/dice data ...................................... 45 Gambar 3.9 Activity diagram untuk fitur pivot data ............................................. 46 Gambar 3.10 Activity diagram untuk fitur optimasi MDX ................................... 47 Gambar 3.11 Activity diagram untuk fitur buat grafik.......................................... 48 Gambar 3.12 Activity diagram untuk fitur ekspor data ......................................... 48 Gambar 3.13 Activity diagram untuk fitur eksekusi data history ......................... 49 Gambar 3.14 Activity diagram untuk fitur hapus data history .............................. 50 Gambar 3.15 Activity diagram untuk fitur lihat pengguna ................................... 50 Gambar 3.16 Activity diagram untuk fitur tambah pengguna ............................... 51 Gambar 3.17 Activity diagram untuk fitur ubah pengguna................................... 52 Gambar 3.18 Activity diagram untuk fitur hapus pengguna ................................. 53
x Universitas Kristen Maranatha
Gambar 3.19 Class diagram ................................................................................. 53 Gambar 3.20 Skema mahasiswa baru (Ayub, Kristanti, & Caroline, Data Warehouse Sebagai Basis Analisis Data Akademik Perguruan Tinggi, 2013) (Natalia, 2014) ...................................................................................................... 54 Gambar 3.21 Skema mahasiswa aktif (Ayub, Kristanti, & Caroline, Data Warehouse Sebagai Basis Analisis Data Akademik Perguruan Tinggi, 2013) (Natalia, 2014) ...................................................................................................... 55 Gambar 3.22 Skema lulusan (Ayub, Kristanti, & Caroline, Data Warehouse Sebagai Basis Analisis Data Akademik Perguruan Tinggi, 2013) (Natalia, 2014) ............................................................................................................................... 56 Gambar 3.23 ERD pengguna dan history ............................................................. 57 Gambar 3.24 Disain antarmuka untuk melakukan login ...................................... 59 Gambar 3.25 Disain antarmuka untuk mengelola akun pengguna ....................... 59 Gambar 3.26 Disain antarmuka untuk melakukan analisis data (1) ..................... 60 Gambar 3.27 Disain antarmuka untuk melakukan analisis data (2) ..................... 60 Gambar 3.28 Disain antarmuka untuk melakukan operasi OLAP ........................ 61 Gambar 3.29 Disain antarmukan untuk mengelola data history ........................... 61 Gambar 4.1 Hasil normalisasi cube untuk E1 ....................................................... 72 Gambar 4.2 Hasil normalisasi cube untuk E2 ....................................................... 73 Gambar 4.3 Contoh hasil optimasi cube yang dipilih pada kelas E2 .................... 73 Gambar 4.4 Implementasi skema mahasiswa baru (Natalia, 2014) ...................... 75 Gambar 4.5 Implementasi skema mahasiswa aktif (Natalia, 2014) ...................... 75 Gambar 4.6 Implementasi skema lulusan (Natalia, 2014) .................................... 76 Gambar 4.7 Implementasi database ..................................................................... 77 Gambar 4.8 Implementasi antarmuka login form ................................................. 78 Gambar 4.9 Implementasi antarmuka analisis data (1) ......................................... 78 Gambar 4.10 Implementasi antarmuka analisis data (2) ....................................... 79 Gambar 4.11 Implementasi antarmuka operasi OLAP ......................................... 79 Gambar 4.12 Implementasi antarmuka history form ............................................ 80 Gambar 4.13 Implementasi antarmuka user account form ................................... 80
xi Universitas Kristen Maranatha
DAFTAR TABEL Tabel 3.1 Deskripsi use case diagram untuk fitur login ....................................... 37 Tabel 3.2 Deskripsi use case diagram untuk fitur logout ..................................... 37 Tabel 3.3 Deskripsi use case diagram untuk fitur analisis data ........................... 38 Tabel 3.4 Deskripsi use case diagram untuk fitur roll-up/drill-down data .......... 38 Tabel 3.5 Deskripsi use case diagram untuk fitur slice/dice data ........................ 38 Tabel 3.6 Deskripsi use case diagram untuk fitur pivot data ............................... 38 Tabel 3.7 Deskripsi use case diagram untuk fitur optimasi MDX ....................... 39 Tabel 3.8 Deskripsi use case diagram untuk fitur buat grafik .............................. 39 Tabel 3.9 Deskripsi use case diagram untuk fitur ekspor data ............................. 39 Tabel 3.10 Deskripsi use case diagram untuk fitur eksekusi data history ............ 39 Tabel 3.11 Deskripsi use case diagram untuk fitur hapus data history ................ 39 Tabel 3.12 Deskripsi use case diagram untuk fitur lihat pengguna ..................... 40 Tabel 3.13 Deskripsi use case diagram untuk fitur tambah pengguna ................. 40 Tabel 3.14 Deskripsi use case diagram untuk fitur ubah pengguna ..................... 40 Tabel 3.15 Deskripsi use case diagram untuk fitur hapus pengguna ................... 40 Tabel 3.16 Deskripsi ERD .................................................................................... 57 Tabel 4.1 Contoh query dan data pada cube_1 ..................................................... 71 Tabel 4.2 Contoh query dan data pada cube_2 ..................................................... 71 Tabel 4.3 Contoh query dan data pada cube_3 ..................................................... 71 Tabel 5.1 Rencana pengujian terhadap fitur-fitur utama pada aplikasi ................ 81 Tabel 5.2 Hasil pengujian white box pada method ExecuteQuery........................ 82 Tabel 5.3 Hasil pengujian white box pada method GetCube ................................ 82 Tabel 5.4 Hasil pengujian white box pada method ShowTable ............................ 82 Tabel 5.5 Hasil pengujian white box pada method LinearRegression .................. 83 Tabel 5.6 Hasil pengujian white box pada method BuildQuery............................ 83 Tabel 5.7 Hasil pengujian white box pada method BuildPartOfQuery ................. 83 Tabel 5.8 Hasil pengujian white box pada method BuildCheckedItemsQuery ..... 84 Tabel 5.9 Hasil pengujian white box pada method BuildFinishedQuery .............. 84 Tabel 5.10 Hasil pengujian black box pada fitur analisis data .............................. 85 Tabel 5.11 Hasil pengujian black box pada fitur roll-up/drill-down .................... 85 Tabel 5.12 Hasil pengujian black box pada fitur slice and dice ........................... 85
xii Universitas Kristen Maranatha
Tabel 5.13 Hasil pengujian black box pada fitur pivot ......................................... 86 Tabel 5.14 Hasil pengujian black box pada fitur optimasi MDX ......................... 86 Tabel 5.15 Hasil pengujian black box pada fitur buat grafik ................................ 86 Tabel 5.16 Hasil pengujian black box pada fitur history dan ekspor data ............ 87
xiii Universitas Kristen Maranatha
DAFTAR SIMBOL Use Case Diagram Gambar
Keterangan Melambangkan aktor yang diperankan oleh pengguna pada aplikasi.
Melambangkan aksi yang ditampilkan sistem dan dapat digunakan oleh suatu aktor. Melambangkan hubungan antara objek satu dengan objek lainnya. Menggambarkan bahwa sebuah aksi dapat diperluas fungsinya ke suatu aksi baru. Melambangkan hubungan antara descendant yang berbagi perilaku dan struktur data dengan ancestor.
Activity Diagram Gambar
Keterangan Menunjukkan awal aktivitas pada sebuah sistem. Menunjukkan akhir aliran proses sistem. Menunjukkan aktivitas yang akan dilakukan oleh pengguna pada aplikasi. Menunjukkan aktivitas pengambilan keputusan dalam aplikasi.
Class Diagram Gambar
Keterangan Sekumpulan objek yang berbagi atribut serta operasi yang sama.
xiv Universitas Kristen Maranatha
DAFTAR ALGORITMA Algoritma 4.1 Algoritma dari method ShowTable pada class Analysis ............... 64 Algoritma 4.2 Algoritma dari method AddChart pada class Analysis ................. 65 Algoritma 4.3 Algoritma dari method BuildQuery ............................................... 67 Algoritma 4.4 Algoritma dari method BuildPartOfQuery .................................... 67 Algoritma 4.5 Algoritma dari method BuildCheckedItemsQuery ........................ 68 Algoritma 4.6 Algoritma dari method BuildFinishedQuery ................................. 68 Algoritma 4.7 Algoritma dari method Optimize ................................................... 69 Algoritma 4.8 Algoritma dari method SetEquivalentClass................................... 69 Algoritma 4.9 Algoritma dari method CheckIntersection ..................................... 70 Algoritma 4.10 Algoritma dari method CheckExactMatch .................................. 70 Algoritma 4.11 Algoritma dari method CreateEquivalentClass ........................... 70 Algoritma 4.12 Algoritma dari method ChangeHierarchy.................................... 74 Algoritma 4.13 Algoritma dari method SwitchAttribute ...................................... 74
xv Universitas Kristen Maranatha
DAFTAR KODE PROGRAM Kode Program 4.1 Method ExecuteQuery pada class Analysis ........................... 63 Kode Program 4.2 Method GetCube pada class Analysis .................................... 64 Kode Program 4.3 Method ShowChart dari class Analysis .................................. 66 Kode Program 4.4 Method LinearRegression pada class Analysis (Tansey, 2011) ............................................................................................................................... 66
xvi Universitas Kristen Maranatha
DAFTAR LAMPIRAN Lampiran A Analisis Data Lulusan Fakultas Teknologi Informasi Tahun 2008 2012....................................................................................................................... 93 Lampiran B Survei hasil implementasi aplikasi ................................................... 94 Lampiran C Kuesioner hasil analisis data (1) ....................................................... 95 Lampiran D Kuesioner hasil analisis data (2) ....................................................... 96
xvii Universitas Kristen Maranatha