3.13 Nine-S tep Methodology
3.13.9 Menentukan Prioritas dan Mode Query (Deciding the query priorities and the query modes)
3.13.7 Memilih Durasi dari Database (Choosing the duration of the database)
Dalam tahap ini akan ditentukan durasi data yang diambil dan yang akan dipindahkan ke dalam tabel fakta. Berdasarkan hasil identifikasi pada PT MG Holiday, database tersebut mulai digunakan sejak tahun 2006 sampai saat ini, sehingga durasi database yang akan dimasukkan dalam data warehouse berusia 4 tahun.
3.13.8 Melacak Perubahan Dimensi Secara Perlahan (Tracking slowly changing dimensions)
Untuk menangani perubahan data pada tabel dimensi dalam perancangan data warehouse pada PT MG Holiday, akan digunakan teknik slowly changing dimension tipe 2 dimana jika terjadi perubahan data maka akan ditambahkan record baru. Hal ini dilakukan untuk menjaga data yang lama tetap ada agar dapat diketahui perubahan yang terjadi. Sehingga di beberapa tabel dimensi akan ditambahkan surrogate key. Teknik ini hanya digunakan pada DimensiOrganization, DimensiHotel, dan DimensiSupplier karena hanya ketiga dimensi tersebut yang memungkinkan adanya perubahan data.
3.13.9 Menentukan Prioritas dan Mode Query (Deciding the query priorities and the query modes)
Dalam tahap ini akan dibahas mengenai proses Extract, Transform, and Load (ETL), backup secara berkala, dan analisis kapasitas media penyimpanan.
a. Proses Extract, Transform, dan Load (ETL)
Proses ETL akan dilakukan setiap dua minggu sekali yang akan dilakukan oleh staff divisi IT di perusahaan pusat. Namun jika terjadi perubahan data maka akan dilakukan ETL saat terjadi perubahan. b. Proses Backup dan Recovery
Proses backup akan dilakukan dua minggu sekali oleh divisi IT setelah proses ETL berhasil dilakukan. Dengan adanya backup data, jika terjadi kerusakan data maka perusahaan masih memiliki data cadangan. Backup data disimpan di dalam CD eksternal maupun ke dalam harddisk eksternal.
Recovery data bertujuan untuk mengembalikan data ke dalam keadaan terakhir kali sebelum terjadi kerusakan. Sehingga bila ada masalah datanya bisa di-recover dari CD ataupun harddisk eksternal.
c. Analisis Kapasitas Media Penyimpanan
Untuk mengetahui banyaknya kapasitas media penyimpanan yang akan diperlukan, maka dilakukan analisis estimasi kapasitas media penyimpanan yang dibutuhkan. Waktu yang diambil adalah 5 tahun ke depan.
Rumus yang akan digunakan untuk perhitungan kebutuhan penyimpanan record dalam SQL Server 2008 adalah:
a. Num_Row = Jumlah Baris / Jumlah Record. b. Num_Col = Jumlah Kolom dalam tabel.
c. Fixed_Data_Size = Jumlah bytes yang dibutuhkan oleh semua kolom yang mempunyai tipe data dengan ukuran yang pasti.
d. Num_Variable_Cols = Jumlah kolom yang mempunyai tipe data dengan ukuran tidak pasti seperti varchar, nvarchar, varbinary.
e. M ax_Var_Size = Ukuran byte terbesar dari semua kolom yang mempunyai tipe data dengan ukuran tidak pasti.
f. Variable_Data_Size = Jumlah bytes yang dibutuhkan untuk semua kolom variabel = 2 + (Num_Variable_Cols x 2) + M ax_Var_Size. g. Null Bitmap = Bit status null kolom = 2 + ((Num_Col + 7) / 8). h. Row_Size = Fixed_Data_Size + Null_Bitmap + 4.
Nilai 4 merepresentasikan data row header. i. Rows_Per_Page = 8096 / (Row_Size+2). j. Num_of_Pages = Num_Row / Rows_Per_Page. k. Num_of_Bytes = 8192 * Num_of_Pages.
l. Num_of_Kbytes = 8192 / 1024 * Num_of_Pages = 8 * Num_of_Pages.
Analisis kapasitas media penyimpanan untuk data yang ada hingga saat ini:
1. FaktaPenjualan
Jumlah baris dalam 1 tahun sekitar 127944 baris Num_Rows = 127944 baris
Jumlah kolom (Num_Cols) = 9 kolom
Fixed_Data_Size = 4+4+4+4+4+9+9+9+9= 56 bytes Variable_Data_Size = 0
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((9+7)/8) = 4
Row_Size = Fixed_Data_Size + Null_Bitmap + 4 = 56 + 4 + 4 = 64 bytes Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (64+2) = 123 baris
Num_of_Pages = Num_Row / Rows_Per_Page = 127944 / 123 = 1040,195 pages
Ukuran dari sebuah tabel dalam 1 tahun
Dalam byte = 8192 * Num_of_Pages = 8192 * 1040.195 = 8521278,423 bytes
Dalam Kbyte = 8521278,423 / 1024 = 8321,56 Kbytes Dalam M byte = 8321,56 / 1024 = 8,12 M bytes
2. FaktaReservation
Jumlah baris dalam 1 tahun sekitar 251645 baris Num_Rows = 251645 baris
Jumlah kolom (Num_Cols) = 8 kolom
Fixed_Data_Size = 4+4+4+4+4+9+9+9= 47 bytes Variable_Data_Size = 0
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8)= 2 + ((8+7)/8) = 4
Row_Size = Fixed_Data_Size + Null_Bitmap + 4 = 47 + 4 + 4 = 55 bytes Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (55+2) = 142 baris
Num_of_Pages = Num_Row / Rows_Per_Page = 251645 / 142 = 1771,7 pages
Ukuran dari sebuah tabel dalam 1 tahun
Dalam byte = 8192 * Num_of_Pages = 8192 * 1771,7 = 14513766,4 bytes Dalam Kbyte = 14513766,4 / 1024 = 14173,6 Kbytes
Dalam M byte = 14173,6 / 1024 = 13,8 M bytes
3. DimensiWaktu
Jumlah baris dalam 1 tahun sekitar 429513 baris Num_Rows = 429513 baris
Jumlah kolom (Num_Cols) = 6 kolom
Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 8 = 28 bytes Num_Variable_Cols = 0 kolom
M ax_Var_Size = 0 bytes
Variable_Data_Size = 2 + (Num_Variable_Cols * 2) + M ax_Var_Size = 2 + (0*2) + 0 = 2 bytes
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((6+7)/8) = 4
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 = 28 + 2 + 4 + 4 = 38 bytes
Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (38+2) = 202,4 baris Num_of_Pages = Num_Row / Rows_Per_Page = 429513 / 202,4 = 2122,09 pages
Ukuran dari sebuah tabel dalam 1 tahun
Dalam byte = 8192 * Num_of_Pages = 8192 * 2122,09 = 17384161,28 bytes Dalam Kbyte = 17384161,28 / 1024 = 16976,72 Kbytes
Dalam M byte = 16976,72 / 1024 = 16,57 M bytes
4. DimensiOrganization Num_Rows = 5514 baris
Jumlah kolom (Num_Cols) = 6 kolom Fixed_Data_Size = 4+4 = 8 bytes Num_Variable_Cols = 4 kolom M ax_Var_Size = 50 bytes
Variable_Data_Size = 2 + (Num_Variable_Cols * 2) + M ax_Var_Size = 2 + (4*2) + 50 = 60 bytes
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((6+7)/8) = 4
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 = 8 + 60 + 4 + 4 = 76 bytes
Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (76+2) = 103,79 baris Num_of_Pages = Num_Row / Rows_Per_Page = 5514 / 103,79 = 53,12 pages
Ukuran dari sebuah tabel
Dalam byte = 8192 * Num_of_Pages = 8192 * 53,12 = 435159 bytes Dalam Kbyte = 435159 / 1024 = 424,95 Kbytes
5. DimensiHotel
Num_Rows = 16150 baris
Jumlah kolom (Num_Cols) = 7 kolom Fixed_Data_Size = 4+4 = 8 bytes Num_Variable_Cols = 5 kolom M ax_Var_Size = 50 bytes
Variable_Data_Size = 2 + (Num_Variable_Cols * 2) + M ax_Var_Size = 2 + (5*2) + 50 = 62 bytes
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((7+7)/8) = 4
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 = 8 + 62 + 4 + 4 = 78 bytes
Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (78+2) = 101,2 baris Num_of_Pages = Num_Row / Rows_Per_Page = 16150 / 101,2 = 159,58 pages
Ukuran dari sebuah tabel
Dalam byte = 8192 * Num_of_Pages = 8192 * 159,58 = 1422176,96 bytes Dalam Kbyte = 1422176,96 / 1024 = 1388,84 Kbytes
Dalam M byte = 1388,84 / 1024 = 1,35 M bytes
6. DimensiSupplier Num_Rows = 14 baris
Jumlah kolom (Num_Cols) = 3 kolom Fixed_Data_Size = 4+4 = 8 bytes
Num_Variable_Cols = 1 kolom M ax_Var_Size = 50 bytes
Variable_Data_Size = 2 + (Num_Variable_Cols * 2) + M ax_Var_Size = 2 + (1*2) + 50 = 54 bytes
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((3+7)/8) = 4
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 = 8 + 54 + 4 + 4 = 70 bytes
Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (70+2) = 112,44 baris Num_of_Pages = Num_Row / Rows_Per_Page = 14 / 112,44 = 0,124 pages Ukuran dari sebuah tabel
Dalam byte = 8192 * Num_of_Pages = 8192 * 0,124 = 1015,808 bytes Dalam Kbyte = 1015,808 / 1024 = 0,992 Kbytes
Dalam M byte = 0,992 / 1024 = 0,00096 M bytes
5. DimensiUser
Num_Rows = 143 baris
Jumlah kolom (Num_Cols) = 3 kolom Fixed_Data_Size = 4+4 = 8 bytes Num_Variable_Cols = 1 kolom M ax_Var_Size = 50 bytes
Variable_Data_Size = 2 + (Num_Variable_Cols * 2) + M ax_Var_Size = 2 + (1*2) + 50 = 54 bytes
Null Bitmap = Bit status null kolom = 2 + ((Num_Cols + 7) / 8) = 2 + ((6+7)/8) = 4
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 = 8 +54 + 4 + 4 = 70 bytes
Rows_Per_Page = 8096 / (Row_Size+2) = 8096 / (70+2) = 112,44 baris Num_of_Pages = Num_Row / Rows_Per_Page = 143 / 112,44 = 1,272 pages Ukuran dari sebuah tabel
Dalam byte = 8192 * Num_of_Pages = 8192 * 1,272 = 10418,499 bytes Dalam Kbyte = 10418,499 / 1024 = 10,174 Kbytes
Dalam M byte = 10,174 / 1024 = 0,0099 M bytes
Tabel 3.35 Tabel Analisis Kapasitas M edia Penyimpanan Tabel Fakta
Nama Tabel Jumlah Bytes
(Mbytes)
Nama Tabel 1 tahun 2 tahun 3 tahun 4 tahun 5 tahun FaktaPenjualan 8,12 16,24 24,36 32,48 40,6 FaktaPembelian 13,8 27,6 41,4 55,2 69
Total 21,92 43,84 65,76 87,68 109,6
Tabel 3.36 Tabel Analisis Kapasitas M edia Penyimpanan Tabel Dimensi
Nama Tabel Jumlah Bytes
(Mbytes) DimensiOrganization 0,41 DimensiHotel 1,35 DimensiSupplier 0,00096 DimensiUser 0,0099 DimensiWaktu 1 tahun = 16,57 2 tahun = 33 3 tahun = 49,5 4 tahun = 66 5 tahun = 82,5 Total 18,3409 34,7709 51,2709 67,7709 84,2709
d. Security
Security merupakan komponen yang penting dalam setiap perusahaan. Dengan security yang baik, data yang dimiliki oleh perusahaan pun lebih aman. Sistem security sendiri dapat dibagi menjadi 2, antara lain sebagai berikut:
1. Authentication
Sistem yang berfungsi sebagai authentication dalam aplikasi ini adalah login form yang mengharuskan pengguna memasukkan data username dan password yang benar sebelum dapat mengakses data. Selain itu, proses akses OLAP yang dilakukan menggunakan autentifikasi windows.
2. Authorization
Dalam aplikasi ini, hanya pengguna yang login sebagai admin yang dapat mengakses halaman manage user yang berfungsi untuk menambah, mengedit, atau menghapus daftar pengguna.