bab 4 perancangan dan implementasi data …thesis.binus.ac.id/asli/bab4/2007-2-00097-if bab...
TRANSCRIPT
77
BAB 4
PERANCANGAN DAN IMPLEMENTASI DATA WAREHOUSE
4.1 Perancangan Data Warehouse
4.1.1 Metode Perancangan Pada Data Warehouse
Untuk melakukan metode perancangan pada data warehouse terdapat dua metode
yang dapat digunakan. Kedua metode tersebut adalah metode bottom up dan metode top
down.
Dalam penulisan skripsi ini, metode yang digunakan adalah metode top down,
yang dimulai dengan melakukan analisis permasalahan dari perusahaan secara
keseluruhan. Selanjutnya, dilakukan identifikasi terhadap kebutuhan pihak pimpinan
perusahaan, pihak manajemen, dan bagian-bagian lain dibawahnya yang terkait dengan
perancangan data warehouse. Rancangan yang dilakukan meliputi arsitektur, metadata
skema bintang, dan prototipe laporan. Bentuk laporan yang diinginkan oleh pihak
perusahaan juga perlu diidentifikasi sehingga dapat dirancang suatu sistem yang tepat.
4.1.2 Perancangan Arsitektur Data Warehouse
Perancangan data warehouse pada PT. Travel Kontak Internusa menggunakan
arsitektur secara terpusat, sehingga akan membantu user untuk memperoleh data yang
konsisten. Dengan adanya data warehouse ini, PT. Travel Kontak Internusa akan
memiliki sebuah basis data data yang dapat digunakan untuk pembuatan laporan atau
78
sebagai dasar bagi pengembangan sistem EIS maupun DSS perusahaan di masa
mendatang. Data warehouse yang dibangun ini dipisahkan dari data operasional agar
tidak mengganggu transaksi operasional dan juga tidak memberatkan kerja sistem
operasional.
Arsitektur data warehouse yang dipakai oleh PT. Travel Kontak Internusa adalah
menggunakan bentuk data warehouse yang terpusat, alasan-alasan untuk
mempergunakan bentuk arsitektur ini adalah sebagai berikut:
• Arsitektur ini merupakan bentuk yang umumnya digunakan oleh perusahaan-
perusahaan medium yang sedang berkembang, dimana database berfokus
pada tempat yang terpusat
• Mempermudah dalam melakukan pengawasan dan pemeliharaan data yang
dipergunakan untuk aplikasi data warehouse
• Pengembangan rancangan yang relatif mudah dan murah dibandingkan
dengan bentuk arsitektur data warehouse yang terdistribusi
Gambar 4.1 Arsitektur Data Warehouse
79
4.1.3 Penentuan Obyek
Tabel ini merupakan tabel untuk menentukan obyek pada data warehouse dari
sistem yang sedang berjalan.
Tabel 4.1 Tabel Obyek
Nama Objek Uraian Alias Kejadian
DimArea1 Area asal Asal Tempat keberangkatan
suatu maskapai
DimArea2 Area tujuan Tujuan Tempat tujuan suatu
maskapai
DimMaskapai Nama-nama maskapai Maskapai Maskapai yang bekerja
sama pada PT. Travel
Kontak Internusa
DimRute Jenis maskapai
menurut rute
Jenis maskapai Jenis maskapai yang
digunakan sesuai rute
DimClass Kelas pada suatu
maskapai
Kelas Kelas pada suatu
maskapai yang tersedia
DimPelanggan Pelanggan yang
dimiliki oleh
perusahaan
Pelanggan Pelanggan yang
membeli/memesan tiket
pada PT. Travel Kontak
Internusa
DimPesaing Perusahaan lain yang
menjadi pesaing
Pesaing Pesaing terhadap PT.
Travel Kontak
Internusa
80
DimWaktu Waktu yang terdiri dari
tahun, kuartal, bulan,
hari
Waktu Waktu yang digunakan
untuk menganalisa
tabel fakta
4.1.4 Penentuan Atribut
Tabel berikut ini adalah tabel yang menguraikan atribut-atribut yang ada pada
setiap obyek.
Tabel 4.2 Tabel Atribut
Nama Objek Atribut Uraian Tipe Data Besar Null Multi V
DimArea1 Area1_ID
Nama
ID area asal
Nama area asal
Varchar
Varchar
5
30
NO
NO
NO
NO
DimArea2 Area1_ID
Nama2
ID area tujuan
Nama area tujuan
Varchar
Varchar
5
30
NO
NO
NO
NO
DimMaskapai Maskapai_ID
Nm_Mas
ID maskapai
Nama maskapai
Varchar
Varchar
10
50
NO
NO
NO
NO
DimRute Rute_ID
Nm_pes
ID rute
Nama pesawat
Int
Varchar
4
50
NO
NO
NO
NO
DimClass Class_ID
Class
ID kelas
Nama kelas
Int
Varchar
4
10
NO
NO
NO
NO
DimPelanggan Pelanggan_ID
Nmlang
ID pelanggan
Nama pelanggan
Varchar
Varchar
30
100
NO
NO
NO
NO
DimPesaing Pesaing_ID
Nmpsg
ID pesaing
Nama pesaing
Varchar
Varchar
30
50
NO
NO
NO
NO
81
Totalpenj
Tgl_up
Total penjualan
Tanggal update
Money
Datetime
8
8
NO
NO
NO
NO
DimWaktu Waktu_ID
Tahun
Kuartal
Bulan
Hari
ID Waktu
Tahun
Kuartal
Bulan
Hari
Datetime
Int
Int
Int
Int
8
4
4
4
4
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
4.1.5 Perancangan Metadata
Metadata berisi tabel dalam data warehouse yang mencakup nama database asal
tersebut, nama tabel itu sendiri berserta deskripsinya dan lokasi dari database tersebut.
Metadata juga mencakup rincian dari tabel, nama field, serta informasi tentang nama
tabel dan field sumber, juga proses transformasinya.
Berikut adalah metadata dari PT. Travel Kontak Internusa yang diusulkan:
• Nama Database : DWHTKI
• Nama Tabel : DimArea1
• Deskripsi Tabel : Tabel Dimensi Area Asal
• Primary Key : Area1_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.3 Tabel DimArea1
Nama Field Tipe Data Ukuran
Field Keterangan
Tabel
Sumber Field Sumber Proses
Area1_ID Varchar 5 Kode Area Asal Area1 Kode Transformasi
Nama1 Varchar 30 Nama Area Asal Area1 Nama Transformasi
82
• Nama Database : DWHTKI
• Nama Tabel : DimArea2
• Deskripsi Tabel : Tabel Dimensi Area Tujuan
• Primary Key : Area2_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.4 Tabel DimArea2
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Area2_ID Varchar 5 Kode Area
Tujuan Area2 Kode2 Transformasi
Nama2 Varchar 30 Nama Area
Tujuan Area2 Nama2 Transformasi
• Nama Database : DWH TKI
• Nama Tabel : DimMaskapai
• Deskripsi Tabel : Tabel Dimensi Maskapai
• Primary Key : Maskapai_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.5 Tabel DimMaskapai
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Maskapai_ID Varchar 10 Kode
Maskapai Maskapai Kdmas Transformasi
Nm_Mas Varchar 50 Nama
Maskapai Maskapai Nm_Mas Transformasi
83
• Nama Database : DWHTKI
• Nama Tabel : DimRute
• Deskripsi Tabel : Tabel Dimensi Rute
• Primary Key : Rute_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.6 Tabel DimRute
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Rute_ID Int 4 Kode Rute Rute Kdrute Transformasi
Nm_pes Varchar 50 Nama
Pesawat Rute Nm_pes Transformasi
• Nama Database : DWHTKI
• Nama Tabel : DimClass
• Deskripsi Tabel : Tabel Dimensi Class
• Primary Key : Class_ID
• Jadwal Update : setiap akhir tahun
Tabel 4.7 Tabel DimClass
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Class_ID Int 4 Kode Class Rute Kdrute Transformasi
Class Varchar 10 Nama Class Rute Class Transformasi
• Nama Database : DWHTKI
• Nama Tabel : DimPelanggan
84
• Deskripsi Tabel : Tabel Dimensi Pelanggan
• Primary Key : Pelanggan_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.8 Tabel DimPelanggan
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Pelanggan_ID Varchar 30 Kode
Pelanggan Pelanggan Kdlang Transformasi
Nmlang Varchar 100 Nama
Pelanggan Pelanggan Nmlang Transformasi
• Nama Database : DWHTKI
• Nama Tabel : DimPesaing
• Deskripsi Tabel : Tabel Dimensi Pesaing
• Primary Key : Pesaing_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.9 Tabel DimPesaing
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Pesaing_ID Varchar 30 Kode Pesaing - - Create
Nmpsg Varchar 50 Nama
Pesaing - - Create
Totalpenj Money 8 Total
Penjualan - - Create
Tgl_up Datetime 8 Tanggal
Update - - Create
85
• Nama Database : DWHTKI
• Nama Tabel : DimWaktu
• Deskrisi Tabel : Tabel Dimensi Waktu
• Primary Key : Waktu_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.10 Tabel DimWaktu
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Waktu_ID DateTime 8 Kode Waktu Transaksi Tgl_trans Create
Tahun Integer 4 Nama Tahun Transaksi Tgl_trans Create
Kuartal Integer 4 Nama
Semester Transaksi Tgl_trans Create
Bulan Integer 4 Nama Bulan Transaksi Tgl_trans Create
Hari Integer 4 Tanggal Transaksi Tgl_trans Create
• Nama Database : DWHTKI
• Nama Tabel : FactPenjualan
• Deskrisi Tabel : Tabel Fakta Penjualan
• Primary Key : Maskapai_ID, Rute_ID, Area1_ID, Area2_ID, Class_ID,
Pelanggan_ID, Waktu_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.11 Tabel FactPenjualan
Nama Field Tipe Data Ukuran
Field Keterangan Tabel Sumber Field Sumber Proses
Maskapai_ID Varchar 10 Kode
Maskapai Maskapai Kdmas Transformasi
86
Rute_ID Int 4 Kode Rute Rute Kdrute Transformasi
Area1_ID Varchar 5 Kode Area
Asal Area1 Kode Transformasi
Area2_ID Varchar 5 Kode Area
Tujuan Area2 Kode Transformasi
Class_ID Int 4 Kode Class Rute Kdrute Transformasi
Pelanggan_ID Varchar 30 Kode
Pelanggan Pelanggan Kdlang Transformasi
Waktu_ID Datetime 8 Kode
Waktu Transaksi Tgl_transaksi Create
TotalTiketTerjual Int 4
Jumlah
Tiket Yang
Terjual
Transaksi COUNT(Jumlah) Create
TotalPenjualan Money 8
Total
Transaksi
Penjualan
Trans_Detail SUM(total) Create
Profit Money 8 Total
Keuntungan
Trans_Detail,
Rute
Sum(total –
hg_jual) Create
• Nama Database : DWHTKI
• Nama Tabel : FactStock
• Deskrisi Tabel : Tabel Fakta Stock
• Primary Key : Maskapai_ID, Waktu_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.12 Tabel FactStock
Nama Field Tipe Data Ukuran
Field Keterangan
Tabel
Sumber Field Sumber Proses
Maskapai_ID Varchar 10 Kode Maskapai Maskapai Kdmas Transformasi
87
Waktu_ID Datetime 8 Kode Waktu Stock_mas Tgl Create
Stock_masuk Int 4 Jumlah Stock
masuk Stock_mas Sum(stock_in) Create
Stock_keluar Int 4 Jumlah Stock
Keluar Stock_mas Sum(stock_out) Create
RataTiket Decimal 9 Jumlah Tiket
Yang Tersedia Stock_mas Avg(Jummas) Create
• Nama Database : DWHTKI
• Nama Tabel : FactPesaing
• Deskrisi Tabel : Tabel Fakta Pesaing
• Primary Key : Waktu_ID, Pesaing_ID
• Jadwal Update : setiap akhir bulan
Tabel 4.13 Tabel FactPesaing
Nama Field Tipe Data Ukuran
Field Keterangan
Tabel
Sumber Field Sumber Proses
Waktu_ID Datetime 8 Kode Waktu DimPesaing Tgl_up Create
Pesaing_ID Varchar 30 Kode Pesaing DimPesaing Pesaing_ID Transformasi
TotalPenj Money 8 Jumlah Total
Penjualan DimPesaing Sum(totalpenj) Create
4.1.6 Perancangan Skema Bintang
Setelah semua database yang dibutuhkan benar-benar sudah tersaring dan
metadata sudah dibuat, maka mulai merancang skema bintang yang dibutuhkan dalam
merancang data warehouse pada perusahaan tersebut, dengan memperhatikan aturan-
88
aturan yang akan diterapkan pada tabel fakta dan tabel dimensi pada bidang penjualan,
persediaan dan pesaing.
Gambar 4.2 Skema Bintang Penjualan
89
Gambar 4.3 Skema Bintang Persediaan
Gambar 4.4 Skema Bintang Pesaing
4.1.7 Perancangan Skema Relasi
Rancangan logikal berdasarkan hasil analisa.
Tabel 4.14 Tabel Perancangan Skema Relasi
FactPenjualan (Makapai_ID, Rute_ID, Area1_ID, Area2_ID, Class_ID,
Pelanggan_ID, Waktu_ID, TotalTiketTerjual, TotalPenjualan, Profit)
90
Primary Key Makapai_ID, Rute_ID, Area1_ID, Area2_ID, Class_ID, Pelanggan_ID,
Waktu_ID
Foreign Key Maskapai_ID references DimMaskapai (Maskapai_ID)
Foreign Key Rute_ID references DimRute (Rute_ID)
Foreign Key Area1_ID references DimArea1 (Area1_ID)
Foreign Key Area2_ID references DimArea2 (Area2_ID)
Foreign Key Class_ID references DimClass (Class_ID)
Foreign Key Pelanggan_ID references DimPelanggan (Pelanggan_ID)
Foreign Key Waktu_ID references DimWaktu (Waktu_ID)
FactStock (Stock_ID, Maskapai_ID, Waktu_ID, Stock_Masuk, Stock_Keluar,
RataTiket)
Primary Key Stock_ID, Maskapai_ID, Waktu_ID
Foreign Key Stock_ID references DimStock (Stock_ID)
Foreign Key Maskapai_ID references DimMaskapai (Maskapai_ID)
Foreign Key Waktu_ID references DimWaktu (Waktu_ID)
FactPesaing (Waktu_ID, Pesaing_ID, TotalPenj)
Primary Key Waktu_ID, Pesaing_ID,
Foreign Key Waktu_ID references DimWaktu (Waktu_ID)
Foreign Key Pesaing_ID references DimPesaing (Pesaing_ID)
DimArea1 (Area1_ID, Nama)
Primary Key Area1_ID
DimArea2 (Area2_ID, Nama2)
Primary Key Area2_ID
DimPelanggan (Pelanggan_ID, Nmlang)
Primary key Waktu_ID
DimWaktu ( Waktu_ID, Tahun, Kuartal Bulan, Hari )
Primary Key Waktu_ID
DimMaskapai ( Maskapai_ID, Nm_mas)
Primary Key Maskapai_ID
DimClass (Class_ID, Class)
Primary Key Class_ID
91
DimRute (Rute_ID, Nm_pes)
Primary Key Rute_ID
DimPesaing ( Pesaing_ID, Nmpsg)
Primary Key Pesaing_ID
4.1.8 Transformasi Data
Transformasi data merupakan proses penyaringan dan pemindahan data dari
database operasional ke dalam suatu media pusat penyimpanan data, di mana data
tersebut nantinya akan digunakan sebagai sumber data warehouse yang akan dibangun.
Pada proses Extraction, Transformation, and Load (ETL), tabel – tabel di
database di-copy dan kemudian ditransformasikan dari satu format ke format yang lain.
Tahapan-tahapan proses transformasi data pada PT. Travel Kontak Internusa adalah
sebagai berikut :
• Menganalisa, kemudian memilih data dari file operasional yang
dibutuhkan sebagai sumber data warehouse yang akan dibangun.
• Melakukan penyeragaman data.
Memproses transformasi data yang hasilnya akan dimasukkan ke dalam data
warehouse.
92
Gambar 4.5 DTS DimArea1
93
Gambar 4.6 DTS DimArea2
94
Gambar 4.7 DTS DimClass
95
Gambar 4.8 DTS DimMaskapai
96
Gambar 4.9 DTS DimPelanggan
97
Gambar 4.10 DTS DimRute
98
Gambar 4.11 DTS DimWaktu
99
Gambar 4.12 DTS FactPenjualan
100
Gambar 4.13 DTS FactPersediaan
101
Gambar 4.14 DTS FactPesaing
102
4.1.9 Analisis Kapasitas Media Penyimpanan
Analisis kapasitas media penyimpanan ini, dengan memakai asumsi berdasarkan
pengamatan terhadap transaksi rata-rata yang terjadi tiap bulannya selama setahun pada
database yang ada pada PT. Travel Kontak Internusa.
• Analisis Kapasitas Media Penyimpanan Tabel Fakta:
1. FactPenjualan
Asumsi : Transaksi 1 bulan = 3000 records
Diperoleh : Jumlah record selama 5 tahun =
5 x 12 x 3000 records = 180.000 records
Num_Rows : Jumlah record selama 5 tahun = 180.000
Num_Cols : Jumlah kolom = 10
Fixed_Data_Size : 36 Bytes
Num_Variable_Cols : 4
Max_Var_Size : 50 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((10 + 7 ) / 8 ) = 4
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (4 x 2) + 50 Bytes = 100 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
36 + 100 + 4 + 4 = 144 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 144 + 2 = 58
Free_Rows_Per_Page : Tidak ada clustered index (Fill_Factor = 100) =
103
8096 * (( 100 – Fill_Factor ) / 100 ) / ( Row_Size + 2 )
= 0
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
180.000 / 58 = 3.273
Table_Size : 8192 x Num_Pages =
8192 * 3.273 = 26.812.416 Bytes
Jadi besar media penyimpanan yang dibutuhkan untuk menyimpan tabel
FactPenjualan selama 5 tahun ( 8192 Bytes per halaman ):
26.812.416 Bytes = 27 MB
2. FactStock
Asumsi : Transaksi 1 bulan = 100 records
Diperoleh : Jumlah record selama 5 tahun =
5 x 12 x 100 records = 6000 records
Num_Rows : Jumlah record selama 5 tahun = 6000
Num_Cols : Jumlah kolom = 3
Fixed_Data_Size : 25 Bytes
Num_Variable_Cols : 1
Max_Var_Size : 10 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((3+ 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (1x 2) + 10 Bytes = 14 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
104
Null_Bitmap + 4 =
25 + 14 + 3 + 4 = 46 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 46 + 2 = 178
Free_Rows_Per_Page : Tidak ada clustered index (Fill_Factor = 100) =
8096 * (( 100 – Fill_Factor ) / 100 ) / ( Row_Size + 2 )
= 0
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
6000 / 178 = 34
Table_Size : 8192 x Num_Pages =
8192 * 34 = 278.528 Bytes
Jadi besar media penyimpanan yang dibutuhkan untuk menyimpan tabel
FactStock selama 5 tahun ( 8192 Bytes per halaman ):
278.528 Bytes = 0.3 MB
3. FactPesaing
Asumsi : Transaksi 1 bulan = 100 records
Diperoleh : Jumlah record selama 5 tahun =
5 x 12 x 100 records = 6000 records
Num_Rows : Jumlah record selama 5 tahun = 6000
Num_Cols : Jumlah kolom = 3
Fixed_Data_Size : 16 Bytes
Num_Variable_Cols : 1
Max_Var_Size : 30 Bytes
105
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((3+ 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (1x 2) + 30 Bytes = 34 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
16 + 34 + 3 + 4 = 57 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 57 + 2 = 144
Free_Rows_Per_Page : Tidak ada clustered index (Fill_Factor = 100) =
8096 * (( 100 – Fill_Factor ) / 100 ) / ( Row_Size + 2 )
= 0
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
6000 / 144 = 42
Table_Size : 8192 x Num_Pages =
8192 * 42 = 344.064 Bytes
Jadi besar media penyimpanan yang dibutuhkan untuk menyimpan tabel
FactStock selama 5 tahun ( 8192 Bytes per halaman ):
344.064 Bytes = 0.3 MB
106
Tabel 4.15 Tabel Analisis Kapasitas Media Penyimpanan Tabel Fakta
Nama Tabel Jumlah
Records
Besar
Records
(Bytes)
Records
(perHalaman)
Jumlah
Halaman
Besar
Tabel
(MBytes)
FactPenjualan 180.000 144 58 3.273 27
FactStock 6000 46 178 34 0.3
FactPesaing 6000 57 144 42 0.3
• Analisis Kapasitas Media Penyimpanan Tabel Dimensi:
1. DimWaktu
Asumsi : Transaksi 1 bulan = 30 records
Diperoleh : Jumlah record selama 5 tahun =
5 x 12 x 30 records = 1800 records
Num_Rows : Jumlah record selama 5 tahun = 1800
Num_Cols : Jumlah kolom = 5
Fixed_Data_Size : 24 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((5 + 7 ) / 8 ) = 3
Row_Size : Fixed_Data_Size + Variable_Data_Size + Null_Bitmap
+ 4 =
24 + 0 + 3 + 4 = 31 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 31 + 2 = 263
107
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
1800 / 263 = 7
Table_Size : 8192 x Num_Pages =
8192 * 7 = 57.344 Bytes
2. DimMaskapai
Num_Rows : 12
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 0 Bytes
Num_Variable_Cols : 2
Max_Var_Size : 60 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (2x 2) + 60 Bytes = 66 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 66 + 3 + 4 = 73 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 73 + 2 = 113
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
12 / 113 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8.192 Bytes
108
3. DimRute
Num_Rows : 114
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 0 Bytes
Num_Variable_Cols : 2
Max_Var_Size : 54 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (2x 2) + 54 Bytes = 60 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 60 + 3 + 4 = 67 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 67 + 2 = 123
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
114 / 123 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8.192 Bytes
4. DimArea1
Num_Rows : 13
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 0 Bytes
109
Num_Variable_Cols : 2
Max_Var_Size : 35 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (2x 2) + 35 Bytes = 41 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 41 + 3 + 4 = 48 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 48 + 2 = 171
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
13 / 171 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8.192 Bytes
5. DimArea2
Num_Rows : 13
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 0 Bytes
Num_Variable_Cols : 2
Max_Var_Size : 35 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
110
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + (2x 2) + 35 Bytes = 41 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 41 + 3 + 4 = 48 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 48 + 2 = 171
Num_Pages : Num_Rows/(Rows_Per_Page– Free_Rows_Per_Page) =
13 / 171 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8.192 Bytes
6. DimClass
Num_Rows : 3
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 4 Bytes
Num_Variable_Cols : 1
Max_Var_Size : 10 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + ( 1 x 2) + 10 Bytes = 14 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
111
1 + 14 + 3 + 4 = 22 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 22 + 2 = 370
Num_Pages : Num_Rows/(Rows_Per_Page–Free_Rows_Per_Page)=
3 / 370 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8192 Bytes
7. DimPelanggan
Num_Rows : 100
Num_Cols : Jumlah kolom = 2
Fixed_Data_Size : 0 Bytes
Num_Variable_Cols : 2
Max_Var_Size : 100 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((2 + 7 ) / 8 ) = 3
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + ( 2 x 2) + 100 Bytes = 106 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 106 + 3 + 4 = 113 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 113 + 2 = 74
Num_Pages : Num_Rows/(Rows_Per_Page–Free_Rows_Per_Page)=
112
100 / 74 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8192 Bytes
8. DimPesaing
Num_Rows : 100
Num_Cols : Jumlah kolom = 4
Fixed_Data_Size : 16 Bytes
Num_Variable_Cols : 2
Max_Var_Size : 80 Bytes
Null_Bitmap : 2 + (( Num_Cols + 7 ) / 8 ) =
2 + ((24+ 7 ) / 8 ) = 6
Variable_Data_Size : 2 + (Num_Variable_Cols x 2) + Max_Var_Size =
2 + ( 2 x 2) + 80 Bytes = 86 Bytes
Row_Size : Fixed_Data_Size + Variable_Data_Size +
Null_Bitmap + 4 =
0 + 86 + 6 + 4 = 96 Bytes
Rows_Per_Page : (8096) / Row_Size + 2 =
(8096) / 96 + 2 = 86
Num_Pages : Num_Rows/(Rows_Per_Page–Free_Rows_Per_Page)=
100 / 86 = 1
Table_Size : 8192 x Num_Pages =
8192 * 1 = 8192 Bytes
113
Tabel 4.16 Tabel Analisis Kapasitas Media Penyimpanan Tabel Dimensi
Nama Tabel Jumlah
Records
Besar
Records
(Bytes)
Records
(perHalaman)
Jumlah
Halaman
Besar
Tabel
(Bytes)
DimWaktu 30 31 263 7 57.344
DimMaskapai 12 73 113 1 8192
DimRute 114 67 123 1 8192
DimArea1 13 48 171 1 8192
DimArea2 13 48 171 1 8192
DimClass 3 22 370 1 8192
DimPelanggan 100 113 74 1 8192
DimPesaing 100 96 86 1 8192
Jumlah 385 498 1344 14 114688
4.2 Pengembangan Aplikasi Data Warehouse
Pengembangan aplikasi dapat dilakukan setelah perancangan data warehouse
sesuai dengan yang diharapkan dengan merancang prototipe. Prototipe ini berguna
supaya user dapat dengan mudah berinteraksi dengan data yang tersedia sehingga
membantu untuk melakukan proses pengambilan keputusan.
114
Gambar 4.15 Layar Depan
Pada layar ini, user harus mengklik tombol login untuk masuk ke layar login.
Gambar 4.16 Layar Login
Pada layar login, user harus melakukan input User ID dan Password terlebih
dahulu untuk bisa mengakses aplikasi ini. Anda di beri waktu 60 detik untuk login.
115
Gambar 4.17 Layar Sukses Dalam Melakukan Login
Layar ini akan muncul jika username dan password yang dimasukan benar dalam
waktu kurang dari 60 detik.
Gambar 4.18 Layar Gagal Saat Melakukan Login.
Layar ini akan muncul jika anda gagal dalam melakukan login dalam waktu 60
detik. Dan aplikasi akan tertutup secara otomatis.
Gambar 4.19 Layar Utama.
116
Setelah user berhasil memasukkan User ID dan Password yang benar, user akan
masuk ke layar utama dari aplikasi data warehouse ini. Layar ini berisi menu File,
Admin, Cube dan About us. Pada layar ini juga terdapat toolbar yang ikon – ikon nya
terdiri dari Open, Save, Export to Excel, Preview, Chart, dan Cube.
Gambar 4.20 Layar Cube.
Layar ini akan muncul ketika user memilih menu “Cube” lalu “Cube Penjualan”.
Layar ini digunakan untuk menganalisa data – data Penjualan seperti total tiket yang
terjual dan total penjualan. Bila user memilih menu “Cube” lalu “Cube Persediaan”.
Layar ini digunakan untuk menganalisa data – data Persediaan seperti total tiket masuk,
total tiket keluar, dan total tiket yang tersedia rata-rata. dan dapat di lihat dari berbagai
dimensi yang telah disediakan. Bila user memilih menu “Cube” lalu “Cube Pesaing”.
Layar ini digunakan untuk menganalisa data – data Pesaing seperti total penjualan
penjualan dan dapat di lihat dari berbagai dimensi yang telah disediakan
117
Gambar 4.21 Layar Print Preview.
Layar ini akan muncul jika anda memilih menu “File” lalu “Print Preview”.
Layar ini berfungsi untuk membantu user dalam membuat report karena user dapat
mencetak cube yang sedang dianalisa.
118
Gambar 4.22 Layar Chart.
User dapat melihat laporan dalam bentuk grafik dengan cara menu “File” lalu
“Export to Chart”. Pada layar ini juga disediakan sebuah combo box yang berisi tipe –
tipe tampiln grafik yang dapat dipilih oleh user sesuai dengan kepentingannya. Tipe
tampilan grafik yang disediakan adalah pie, bar, dan line, yang masing – masing dapat
ditampilkan secara dua dimensi maupun tiga dimensi.
119
Gambar 4.23 Layar Skema Bintang.
Layar ini akan tampil bila user memilih menu “Cube” lalu “Star Scheme”. Layar
ini berisi skema bintang dari data warehouse yang dirancang.
Gambar 4.24 Layar Data Transformation Service.
120
Layar ini akan muncul jika user memilih menu “File” lalu “Data Transformation
Service”. Layar ini hanya bisa digunakan oleh user yang login sebagai admin.
Gambar 4.25 Layar Add User.
Layar ini akan muncul apabila user memilih “Admin” lalu “add User”. Pada
layar ini, jika user login sebagai admin, user dapat menambahkan “username” dan
“password” untuk user lain yang belum terdaftar dalam database sebagai regular user
atau sebagai admin.
121
Gambar 4.26 Layar Edit Password
Layar ini akan muncul apabila user memilih “Admin” lalu “ChangePassword”.
Pada layar ini, user dapat mengganti password yang lama dengan password yang baru.
4.3 Implementasi Data Warehouse
4.3.1 Perangkat Keras Yang Digunakan
Berdasarkan hasil ujicoba pada tahap pembuatan aplikasi dan implementasi
aplikasi data warehouse ini menggunakan perangkat keras adalah sebagai berikut:
a) Untuk Server :
- Processor Intel 2.8 GHz
- Memory 512 MB
- Hard Disk 80 GB
- Jaringan (HUB, LAN)
b) Untuk Client :
- Processor Intel 1.8 GHz
- Memory 256 MB
122
- Hard Disk 40 GB
4.3.2 Perangkat Lunak Yang Digunakan
Perangkat lunak yang digunakan untuk mendukung rancangan aplikasi data
warehouse ini dengan menggunakan aplikasi Microsoft Visual Basic 6.0 sebagai front
end tool, databasenya menggunakan Microsoft SQL Server 2000 Enterprise Edition dan
komponen tambahannya menggunakan Dynamic Cube 3.0. Untuk operating system
server menggunakan Windows 2000 Advance Server, dan operating System client
menggunakan Microsoft Windows 2000 Professional.
4.3.3 Estimasi Waktu Implementasi Data Warehouse
Tabel 4.17 Tabel Estimasi Waktu Implementasi Data Warehouse
4.3.4 Analisis Critical Success Factor (CSF)
CSF pada perusahaan merupakan analisa faktor-faktor kunci yang dimiliki
perusahaan dari setiap ruang lingkup yang ada seperti per individu, departemen, ataupun
123
organisasi secara keseluruhan, yang apabila semuanya berjalan dengan benar akan
memberikan hasil yaitu kemajuan dan perkembangan perusahaan.
CSF pada kinerja PT. Travel Kontak Internusa dapat diuraikan sebagai berikut :
• Peningkatan volume penjualan, untuk tetap menjadi perusahaan yang kompetitif
maka perlu dilakukan penambahan tingkat penjualan kepada konsumen untuk
dapat memperluas pangsa pasar yang dimiliki.
• Peningkatan pelayanan kepada konsumen, sebagai perusahaan jasa yang
berhubungan langsung dengan konsumen maka pelayanan kepada konsumen
perlu ditingkatkan.
• Pemantauan terhadap hasil penjualan dan persediaan, sehingga dapat dianalisis
untuk pengambilan langkah kedepan bagi perusahaan.