• Tidak ada hasil yang ditemukan

BAB 4 PERANCANGAN DATAWAREHOUSE. Komunika menggunakan arsitektur data warehouse terpusat. Alasan. menggunakan data warehouse terpusat ialah :

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 PERANCANGAN DATAWAREHOUSE. Komunika menggunakan arsitektur data warehouse terpusat. Alasan. menggunakan data warehouse terpusat ialah :"

Copied!
99
0
0

Teks penuh

(1)

BAB 4

PERANCANGAN DATAWAREHOUSE

4.1 Arsitektur Data warehouse

Rancangan data warehouse yang diusulkan pada PT. Metrotech Jaya Komunika menggunakan arsitektur data warehouse terpusat. Alasan

menggunakan data warehouse terpusat ialah :

• Mempermudah dalam melakukan pengawasan dan pemeliharaan terhadap data yang berada di dalam data warehouse.

• Lebih mudah dalam menjaga konsistensi dari data warehouse terhadap bermacam-macam perubahan dibandingkan dengan data warehouse terdistribusi.

• Memudahkan dalam pengolahan data yang akan digunakan untuk pengambilan keputusan oleh pihak eksekutif.

• Perancangan yang relatif mudah dan murah dibandingkan dengan arsitektur data warehouse terdistribusi.

(2)

Berikut adalah gambar arsitektur data warehouse terpusat yang akan digunakan pada PT. Metrotech Jaya Komunika :

Gambar 4.1 Arsitektur Data Warehouse User User User

Data Warehouse PT Metrotech Jaya Komunika

Transformation Data

Database Operasional PT Metrotech Jaya Komunika

(3)

Dari gambar arsitektur di atas ada tiga komponen sistem yang saling berhubungan. Masing-masing dapat dijelaskan sebgai berikut :

1. Data source

Data source merupakan sumber data yang berasal dari internal

perusahaan. Sumber data internal diambil dari kegiatan

operasional perusahaan, yang menyangkut kegiatan penjualan, pembelian, dan pemasaran.Dari data-data tersebut kemudian akan dilakukan proses transformasi data yang hasilnya akan disimpan ke dalam data warehouse.

2. User

User merupakan pihak eksekutif yang akan menggunakan data

yang tersimpan di dalam data warehouse untuk pengambilan keputusan yang strategis.

3. Data warehouse

Komponen ini merupakan tempat penyimpanan data-data operasional yang telah disaring. Data yang berada didalam data warehouse merupakan data yang bersifat historis dengan jangka

waktu tertentu dan bersifat konsisten.Data-data tersebut nantinya akan berguna bagi pihak eksekutif dalam pengambilan keputusan.

(4)

4.2 Rancangan Data Warehouse

4.2.1 Memilih Grain(Choosing the Grain)

Memilih grain berarti memutuskan apa yang akan direpresentasikan oleh sebuah record dari tabel fakta. Grain dalam perancangan data warehouse ini meliputi :

a. Pembelian

Pada proses pembelian data yang dapat dianalisis adalah kuantitas bahan baku yang dibeli dari supplier.

b. Penjualan

Pada proses penjualan data yang dapat dianalisis adalah produk yang paling laku terjual, dan omset penjualan. c. Pemasaran

Pada proses pemasaran data yang dapat dianalisis adalah biaya yang dikeluarkan untuk melakukan pemasaran.

d. Retur Pembelian

Proses retur pembelian yang dapat dianalisis adalah bahan baku yang sering diretur.

e. Retur Penjualan

Proses retur penjualan yang dapat dianalisis adalah barang yang diretur karena cacat atau rusak.

(5)

4.2.2 Identifikasi dan penyesuaian dimensi (Identifying and Conforming the Dimension)

Pada tahap ini dilakukan penyesuaian dimensi dan grain yang ditampilkan dalam bentuk matriks

a. Pembelian Grain Dimension Kuantitas Pembelian Supplier X Waktu X Bahan Baku X

Tabel 4.1 Tabel Grain Pembelian b. Penjualan Grain Dimension Barang paling laku terjual Omset Penjualan Dealer X X Barang X X Waktu X X

(6)

c. Pemasaran Grain Dimension Biaya Pemasaran Waktu X Barang X Media X Wilayah X

Tabel 4.3 Tabel Grain Pemasaran d. Retur Pembelian

Grain

Dimension

Bahan Baku yang sering di retur

Waktu X

Bahan Baku X

Tabel 4.4 Tabel Grain Retur Pembelian e. Retur Penjualan

Grain

Dimension

Barang yang sering di retur

Waktu X

Barang X

Dealer X

(7)

4.2.3 Pemilihan Fakta(Choosing the Fact)

Pada tahap ini dilakukan pemilihan fakta. Setiap fakta memiliki data yang dapat dihitung(bersifat numeric)

a. Pembelian

Pembelian meliputi Quantity (kuantitas pembelian bahan baku), total harga bahan baku yang dibeli.

b. Penjualan

Penjualan meliputi Quantity (kuantitas barang yang terjual), total harga barang yang terjual.

c. Pemasaran

Pemasaran meliputi HargaPromo (biaya pengeluaran untuk promo), lama (durasi diadakannya promo)

d. Retur Pembelian

Retur pembelian meliputi Quantity (kuantitas bahan baku yang diretur).

e. Retur Penjualan

Retur penjualan meliputi Quantity (kuantitas barang yang diretur).

(8)

4.2.4 Penyimpanan Calculation pada Tabel Fakta (Storing Pre-Calculation in the Fact Table)

Di dalam tabel fakta terdapat kalkulasi awal terhadap data yang dapat dihitung. Kalkulasi awal yang ada pada tabel fakta antara lain :

a. Pembelian

• Jumlah pembelian yang merupakan jumlah dari quantity (kuantitas beli).

• Total pembelian yang merupakan jumlah dari (quantity bahan baku yang dikali dengan harga bahan baku)

b. Penjualan

• Jumlah jual yang merupakan jumlah quantity (kuantitas barang yang dijual)

• Total jual yang merupakan jumlah (quantity barang dikalikan dengan harga barang)

c. Pemasaran

• Durasi promo yang merupakan lamanya promosi yang dilakukan pada suatu wilayah.

(9)

d. Retur Pembelian

• Jumlah retur yang merupakan jumlah dari quantity (kuantitas bahan baku yang diretur)

e. Retur Penjualan

• Jumlah retur yang merupakan jumlah quantity (kuantitas barang yang diretur)

(10)

4.2.5 Melengkapi Tabel Dimensi (Rounding out the Dimension Table)

a. Tabel Rounding Out Dimension

Dimensi Field Deskripsi Hirarki Waktu MonthNumber QuartalNumber YearNumber Laporan dapat dilihat per bulan, tahun, atau kuartal. Bulan Tahun Kuartal Barang Barang Jenis Barang Laporan dapat dilihat berdasarkan jenis barang. Barang Jenis Barang

(11)

Daftar Tabel - Tabel Dimensi DimWaktu

Atribut Tipe Data Panjang

TimeKey int 4

MonthNumber int 4

QuartalNumber int 4

YearNumber int 4 Tabel 4.7 Tabel Dimensi DimWaktu

DimSupplier

Atribut Tipe Data Panjang

SupplierID char 10

NamaSupplier varchar 30

Tabel 4.8 Tabel Dimensi DimSupplier DimDealer

Atribut Tipe Data Panjang

DealerID char 10

NamaDealer varchar 30 Tabel 4.9 Tabel Dimensi DimDealer

DimBahanBaku

Atribut Tipe Data Panjang

BahanBakuID char 10

NamaBahan varchar 30 Tabel 4.10 Tabel Dimensi DimBahanBaku

(12)

DimBarang

Atribut Tipe Data Panjang

BarangID char 10

JenisBarang varchar 30 NamaBarang varchar 30

Tabel 4.11 Tabel Dimensi DimBarang DimMedia

Atribut Tipe Data Panjang

MediaID char 10

NamaMedia varchar 50 Tabel 4.12 Tabel Dimensi DimMedia

DimWilayah

Atribut Tipe Data Panjang

WilayahID char 10

NamaWilayah varchar 30

(13)

b. Perancangan Skema

Dalam perancangan ini, dihasilkan skema star join yaitu :

(14)

4.2.6 Memilih durasi dari basis data (Choosing the Duration of the Database) Nama Aplikasi Database Database ada sejak tahun Data yang masuk ke Data Warehouse Data dalam Data Warehouse Metrotech Jaya Komunika DWH Metrotech_DWH Akhir tahun 2006 Januari 2007 – Oktober 2009 2 Tahun 9 Bulan

Tabel 4.14 Tabel Durasi Basis Data

4.2.7 Melacak Perubahan dari Dimensi Secara Perlahan (Tracking Slowly Changing Dimension)

Mengamati perubahan dari dimensi pada tabel dimensi dapat dilakukan dengan tiga cara yaitu mengganti secara langsung pada tabel dimensi, pembentukan record baru untuk setiap perubahan baru, dan perubahan data yang membentuk kolom baru yang berbeda. Dalam perancangan ini dipilih cara pertama yaitu mengganti data secara langsung pada tabel dimensi tanpa menambahkan record baru ke dalam tabel dimensi.

(15)

4.2.8 Memutuskan prioritas dan model dari query (Deciding the query prioritites and the query models)

Pada tahap ini dibahas mengenai proses ETL, backup yang dilakukan secara berkala, analisa kapasitas media penyimpanan, dan analisa pertumbuhan data.

a. Proses Extract, Transform, and Loading (ETL)

Proses Extract, transform, and loading(ETL) akan dilakukan sebulan sekali oleh bagian IT

b. Proses Backup

Proses backup akan dilakukan setiap akhir bulan sebelum proses ETL dilakukan untuk menghindari kegagalan dari proses ETL.

c. Analisa kapasitas media penyimpanan

Dalam melakukan pengolahan data, kapasitas media penyimpanan menjadi salah satu aspek yang signifikan dan perlu untuk dipertimbangkan. Proses insert, update, dan delete pada aplikasi OLTP akan mempengaruhi data.

Berikut adalah analisis kapasitas media penyimpanan untuk 2.5 tahun sebelumnya.

1. Record Fact Pembelian

Jumlah record data pembelian setiap bulan adalah 2200 record. Diketahui besarnya suatu record ada 36 Bytes.

Maka jumlah record selama 2.5 tahun adalah :

(16)

2. Record Fact Penjualan

Jumlah record data pejualan setiap bulan adalah 3000 record. Diketahui besarnya suatu record ada 36 Bytes.

Maka jumlah record selama 2.5 tahun adalah :

3000 x 30 (bulan) x 36 = 3240000 Bytes = 3240 KBytes.

3. Record Fact Pemasaran

Asumsi jumlah record data pembelian setiap bulan adalah 100 record. Diketahui besarnya suatu record ada 46 Bytes. Maka jumlah record selama 2.5 tahun adalah :

100 x 30 (bulan) x 46 = 138000 Bytes = 138 KBytes.

4. Record Retur Pembelian

jumlah record Retur Pembelian setiap bulan adalah 160 record. Diketahui besarnya suatu record ada 18 Bytes.

Maka jumlah record selama 2.5 tahun adalah : 160 x 30 (bulan) x 18 = 86400 Bytes = 86.4 KBytes.

5. Record Retur Penjualan

Jumlah record data retur penjualan setiap bulan adalah 425 record. Diketahui besarnya suatu record ada 28 Bytes. Maka jumlah record selama 2.5 tahun adalah :

(17)

6. Dim Waktu

Diketahui besar 1 record = 16 Bytes

Jumlah record Dim Waktu pada bulan ke-30 = 912 Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 16 x 912 = 14592 Bytes

7. Dim Barang

Diketahui besar 1 record = 70 Bytes

Jumlah record Dim Barang pada bulan ke-30 = 24 Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 24 x 70 = 1680 Bytes

8. Dim Supplier

Diketahui besar 1 record = 40 Bytes

Jumlah record Dim Supplier pada bulan ke-30 = 5

Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 5 x 40 = 200 Bytes

9. Dim Dealer

Diketahui besar 1 record = 40 Bytes

Jumlah record Dim Dealer pada bulan ke-30 = 5

Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 5 x 40 = 200 Bytes

(18)

10. Dim Bahan Baku

Diketahui besar 1 record = 40 Bytes

Jumlah record Dim Bahan Baku pada bulan ke-30 = 18 Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 18 x 40 = 720 Bytes

11. Dim Media

Diketahui besar 1 record = 60 Bytes

Jumlah record Dim Media pada bulan ke-30 = 5

Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 5 x 60 = 300 Bytes

12. Dim Wilayah

Diketahui besar 1 record = 60 Bytes

Jumlah record Dim Wilayah pada bulan ke-30 = 6

Besar media penyimpanan yang dibutuhkan dalam jangka waktu 2.5 tahun adalah 6 x 60 = 360 Bytes

(19)

d. Analisa pertumbuhan data

Analisis perkiraan pertumbuhan data pada data warehouse PT. Metrotech Jaya Komunika.

Rumus yang akan digunakan untuk perhitungan kebutuhan penyimpanan record dalam SQL Server 2000 (SQL Server Books Online) adalah:

• Num_Row = Jumlah Baris / Jumlah Record • Num_Col = Jumlah Kolom dalam tabel

• Fixed_Data_Size = Jumlah Bytes yang dibutuhkan oleh semua kolom sesuai dengna tipe datanya masing-masing. • Null Bitmap = Bit status null kolom = 2 +((Num_Col + 7)

/ 8)

• Row_Size = Fixed_Data_Size + Null_Bitmap + 4 • Nilai 4 mempresentasikan data row header • Rows_Per_Page = 8096 / (Row_Size + 2) • Num_of_Pages = Num Row / Rows_Per_page • Num_of_Bytes = 8192 xNum_of_Pages

• Num_of_KBytes = 8192 / 1024 x Num_of_Pages = 8 x Num_of_Pages

Analisis perkiraaan kapasitas media penyimpanan data pada data warehouse PT. Metrotech Jaya Komunika adalah seperti

berikut, dimana ‘n’ merupakan variabel tahun. Rn = R x (n + (1+i)n)

(20)

R = Jumlah record n = Tahun

i = persentase pertumbuhan record per tahun

Perhitungan untuk dimensi yang mengalami pertumbuhan data adalah sebagai berikut :

Rn = R x (1+i)n R = Jumlah record n = tahun

i = persentase pertumbuhan record per tahun Berikut adalah analisis perkiraan kapasitas media penyimpanan untuk 5 tahun mendatang.

1. Fact Penjualan

Asumsi jumlah record data untuk tahun ini diperkirakan adalah 36000 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 3000 transaksi, sehingga jumlah record untuk 1 tahun menjadi 3000 x 12 bulan = 36000 record. Maka dapat dihitung jumlah record sampai tahun ke 5 :

R5 = 36000 x (5 + (1+0.1) 5) = 237600

Jadi jumlah record Fact Penjualan pada tahun ke-5 = 237600

(21)

Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 237600 • Num_Col = 5 • Fixed_Data_Size = 4 + 10 + 10 + 4 + 8 = 36 • Null Bitmap = 2 + ((5 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 • Rows_Per_Page = 8096 / (44 + 2) = 176 • Num_of_Pages = 237600 / 176 = 1350 • Num_of_Bytes = 8192 x 1350 = 11059200 Bytes • Num_of_KBytes 8 x 1350 = 10800 Kb 2. Fact Pembelian

Asumsi jumlah record data fact pembelian untuk setiap tahun diperkirakan adalah 26400 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 2200 transaksi, sehingga jumlah record untuk 1 tahun menjadi 2200 x 12 bulan = 26400 record. Maka dapat dihitung jumlah record sampai tahun ke 5 : R5 = 26400 x (5 + (1+0.1) 5)

= 174240

Jadi jumlah record Fact Pembelian pada tahun ke-5 = 174240

(22)

Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 174240 • Num_Col = 5 • Fixed_Data_Size = 4 + 10 + 10 + 4 + 8 = 36 • Null Bitmap = 2 + ((5 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 • Rows_Per_Page = 8096 / (44 + 2) = 176 • Num_of_Pages = 174240 / 176 = 990 • Num_of_Bytes = 8192 x990 = 8110080 Bytes • Num_of_KBytes 8 x 990 = 7920 Kb 3. Fact Pemasaran

Asumsi jumlah record data fact pemasaran untuk setiap tahun diperkirakan adalah 1200 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 100 transaksi, sehingga jumlah record untuk 1 tahun menjadi 100 x 12 bulan = 1200 record. Maka dapat dihitung jumlah record sampai tahun ke 5 :

(23)

R5 = 1200 x (5 + (1+0.1) 5) = 7920

Jadi jumlah record Fact Pemasaran pada tahun ke-5 = 7920

Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 7920 • Num_Col = 6 • Fixed_Data_Size = 4 + 10 + 10 + 10 + 4 + 8 = 46 • Null Bitmap = 2 + ((6 + 7) / 8) = 4 • Row_Size = 46 + 4 + 4 = 54 • Rows_Per_Page = 8096 / (54 + 2) = 145 • Num_of_Pages = 7920 / 145 = 55 • Num_of_Bytes = 8192 x 55 = 450560 Bytes • Num_of_KBytes 8 x 55 = 440 Kb

4. Fact Retur Penjulan

Asumsi jumlah record data fact retur penjualan untuk setiap tahun diperkirakan adalah 5100 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 425 transaksi, sehingga jumlah record untuk 1 tahun menjadi 425 x 12 bulan = 5100 record. Maka dapat dihitung jumlah record sampai tahun ke 5 :

(24)

R5 = 5100 x (5 + (1+0.1) 5) = 33660

Jadi jumlah record Fact retur penjualan pada tahun ke-5 = 33660

Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 33660 • Num_Col = 4 • Fixed_Data_Size = 4 + 10 + 10 + 4 = 28 • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 28 + 3 + 4 = 35 • Rows_Per_Page = 8096 / (35 + 2) = 231 • Num_of_Pages = 33660/ 231 = 146 • Num_of_Bytes = 8192 x146 = 1196032 Bytes • Num_of_KBytes 8 x 146 = 1168 Kb

(25)

5. Fact Retur Pembelian

Asumsi jumlah record data fact retur pembelian untuk setiap tahun diperkirakan adalah 1920 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 160 transaksi, sehingga jumlah record untuk 1 tahun menjadi 160 x 12 bulan = 1920 record. Maka dapat dihitung jumlah record sampai tahun ke 5 : R5 = 1920 x (5 + (1+0.1) 5)

= 12672

Jadi jumlah record Fact retur pembelian pada tahun ke-5 = 12672

Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 12672 • Num_Col = 3 • Fixed_Data_Size = 4 + 10 + 4 = 18 • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 18 + 3 + 4 = 25 • Rows_Per_Page = 8096 / (25 + 2) = 300 • Num_of_Pages = 12672 / 300 = 42 • Num_of_Bytes = 8192 x42 = 344064 Bytes • Num_of_KBytes 8 x 42 = 336 Kb

(26)

Berikut adalah perhitungan untuk dimensi yang mengalami pertumbuhan data (kecuali dimensi waktu) :

1. Dimensi Waktu

R5 = 912 + 365 + 365 + 365 + 365 + 365 = 2737

Jumlah record DimWaktu pada tahun ke-5 = 2737 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 2737 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 4 + 4 = 16 • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 16 + 3 + 4 = 23 • Rows_Per_Page = 8096 / (23 + 2) = 324 • Num_of_Pages = 2737 / 324 = 8.45 • Num_of_Bytes = 8192 x 8.45 = 69222 bytes • Num_of_Kbytes = 8 x 8.45 = 67.6 Kbytes

(27)

2. Dimensi Barang R5 = 24 x (1+0,01)5 = 25

Jumlah record DimBarang pada tahun ke-5 = 25 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 25 • Num_Col = 3 • Fixed_Data_Size = 10 + 30 + 30 = 70 Bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 70 + 3 + 4 = 77 • Rows_Per_Page = 8096 / (77 + 2) = 103 pages • Num_of_Pages = 25 / 103 = 0,24 page • Num_of_Bytes = 8192 x 0,24 = 1966.08 Bytes • Num_of_KBytes = 8 x 0,24 = 1,92 Kb

(28)

3. Dim Supplier R5 = 5 x (1+0,01)5 = 5

Jumlah record DimSupplier pada tahun ke-5 = 5 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 5 • Num_Col = 2 • Fixed_Data_Size = 10 + 30 = 40 Bytes • Null Bitmap = 2 + ((2 + 7) / 8) = 3 • Row_Size = 40 + 3 + 4 = 47 • Rows_Per_Page = 8096 / (47 + 2) = 165 pages • Num_of_Pages = 5 / 165 = 0,03 page • Num_of_Bytes = 8192 x 0,03 = 245.76 Bytes • Num_of_KBytes = 8 x 0,03 = 0,24 Kb

(29)

4. Dim Dealer R5 = 5 x (1+0,01)5 = 5

Jumlah record DimDealer pada tahun ke-5 = 5 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 5 • Num_Col = 2 • Fixed_Data_Size = 10 + 30 = 40 Bytes • Null Bitmap = 2 + ((2 + 7) / 8) = 3 • Row_Size = 40 + 3 + 4 = 47 • Rows_Per_Page = 8096 / (47 + 2) = 165 pages • Num_of_Pages = 5 / 165 = 0,03 page • Num_of_Bytes = 8192 x 0,03 = 245.76 Bytes • Num_of_KBytes = 8 x 0,03 = 0,24 Kb

(30)

5. Dim Bahan Baku R5 = 18 x (1+0,01)5 = 19

Jumlah record DimDealer pada tahun ke-5 = 19 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 19 • Num_Col = 2 • Fixed_Data_Size = 10 + 30 = 40 Bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 40 + 3 + 4 = 47 • Rows_Per_Page = 8096 / (47 + 2) = 165 pages • Num_of_Pages = 19 / 165 = 0,12 page • Num_of_Bytes = 8192 x 0,12 = 983.04 byte • Num_of_KBytes = 8 x 0,12 = 0.96 Kb

(31)

6. Dim Media

R5 = 5 x (1+0,01)5 = 5

Jumlah record DimMedia pada tahun ke-5 = 5 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 5 • Num_Col = 2 • Fixed_Data_Size = 10 + 50 = 60 Bytes • Null Bitmap = 2 + ((2 + 7) / 8) = 3 • Row_Size = 60 + 3 + 4 = 67 • Rows_Per_Page = 8096 / (67 + 2) = 1117 pages • Num_of_Pages = 5 / 117 = 0,04 page • Num_of_Bytes = 8192 x 0,04 = 327.68 Bytes • Num_of_KBytes = 8 x 0,04 = 0.32 Kb

(32)

7. Dim Wilayah R5 = 6 x (1+0,01)5 = 6

Jumlah record DimDealer pada tahun ke-5 = 6 Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:

• Num_Row = 6 • Num_Col = 2 • Fixed_Data_Size = 10 + 30 = 40 Bytes • Null Bitmap = 2 + ((2 + 7) / 8) = 3 • Row_Size = 40 + 3 + 4 = 47 • Rows_Per_Page = 8096 / (47 + 2) = 165 pages • Num_of_Pages = 6 / 165 = 0,04 page • Num_of_Bytes = 8192 x 0,04 = 328 Bytes • Num_of_KBytes = 8 x 0,04 = 0,32 Kb

(33)

Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai 5 Tahun ke Depan Jumlah Bytes (MBytes) FactPenjualan 44 36000 237600 10.6 FactPembelian 44 26400 174240 7.7 FactPemasaran 54 1200 7920 0.43 Fact Retur Penjualan 35 5100 33660 1.14 Fact Retur Pembelian 25 1920 12672 0.33

(34)

 

Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai 5 Tahun ke Depan Jumlah Bytes (KBytes) DimWaktu 16 912 2737 67.6 DimBarang 77 24 25 1.92 DimWilayah 47 6 6 0.32 DimMedia 67 5 5 0.32 DimBahanBaku 47 18 19 0.96 DimSupplier 47 5 5 0.24 DimDealer 47 5 5 0.24

Tabel 4.16 Tabel Dimensi

4.3 Metadata

Metadata berisi tabel pada data warehouse yang mencakup nama

database sumber, nama tabel data warehouse beserta deskripsi. Metadata juga

memuat informasi yang mencakup rincian tabel, tipe field, ukuran field, dan field yang menjadi field kunci.

Berikut merupakan metadata dari data warehouse PT. Metrotech Jaya Komunika:

(35)

DBMS : SQL server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimWaktu

Deskripsi Tabel : Tabel Dimensi Waktu

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

TimeKey int 4 TimeKey int 4 DimWaktu create

MonthNumber int 4 MonthNumber int 4 DimWaktu create

QuartalNumber int 4 QuartalNumber int 4 DimWaktu create

YearNumber int 4 YearNumber int 4 DimWaktu create

(36)

DBMS : SQL server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimBarang

Deskripsi Tabel : Tabel Dimensi Barang

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

BarangID char 10 KodeBarang char 10 MsBarang copy

JenisBarang varchar 30 NamaJenisbarang varchar 50 MsJenisBarang copy

NamaBarang varchar 30 NamaBarang varchar 30 MsBarang copy

(37)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimSupplier

Deskripsi Tabel : Tabel Dimensi Supplier

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

SupplierID char 10 KodeSupplier char 10 MsSupplier copy

NamaSupllier varchar 30 NamaSupplier varchar 30 MsSupplier copy

(38)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimBahanBaku

Deskripsi Tabel : Tabel Dimensi Bahan Baku

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

BahanBakuID char 10 KodeBahan char 10 MsBahanBaku copy

NamaBahanBaku varchar 30 NamaBahan varchar 30 MsBahanBaku copy

(39)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimWilayah

Deskripsi Tabel : Tabel Dimensi Wilayah

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

WilayahID char 10 KodeWilayah char 10 MsWilayah copy

NamaWilayah varchar 30 NamaWilayah varchar 30 MsWilayah copy

(40)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimDealer

Deskripsi Tabel : Tabel Dimensi Dealer

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

DealerID char 10 KodeDealer char 10 MsDealer copy

NamaDealer varchar 30 NamaDealer varchar 30 MsDealer copy

(41)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : DimMedia

Deskripsi Tabel : Tabel Dimensi Media

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

MediaID char 10 KodeMedia char 10 MsMedia copy

NamaMedia varchar 50 NamaMedia varchar 50 MsMedia copy

(42)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : FactPembelian

Deskripsi Tabel : Tabel Fact Pembelian

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

TimeKey int 4 TimeKey int 4 DimWaktu Copy TimeKey where

DimWaktu.MonthNumber = month (TrPembelianHeader.Tanggal) and DimWaktu.QuartalNumber = case when month (TrPembelianHeader.Tanggal) between 1 and 3 then 1 when month (TrPembelianHeader.Tanggal) between 4 and 6 then 2 when month

(43)

and 9 then 3 when month

(TrPembelianHeader.Tanggal) between 10 and 12 then 4 and

DimWaktu.YearNumber = year (TrPembelianHeader.Tanggal)

SupplierID char 10 SupplierID char 10 DimSupplier Copy SupplierID where

DimSupplier.SupplierID =

TrPembelianHeader.KodeSupplier

BahanBakuID char 10 BahanBakuI

D

char 10 DimBahanBa

ku

Copy BahanBakuID where DimBahanBaku.BahanBakuID = TrPembelianDetail.KodeBahan

QtyBeli int 4 Sum(qty) int 4 Calculate

TotalBeli mon ey 8 Sum(qty*ha rgabahan) mon ey 8 Calculate

(44)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : FactPenjualan

Deskripsi Tabel : Tabel Fact Penjualan

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukura

n

Tabel

TimeKey int 4 TimeKey int 4 DimWaktu Copy TimeKey where

DimWaktu.MonthNumber = month (TrPenjualanHeader.Tanggal) and DimWaktu.QuartalNumber = case when month (TrPenjualanHeader.Tanggal) between 1 and 3 then 1 when month (TrPenjualanHeader.Tanggal) between 4 and 6 then 2 when month

(45)

(TrPenjualanHeader.Tanggal) between 7 and 9 then 3 when month

(TrPenjualanHeader.Tanggal) between 10 and 12 then 4 and DimWaktu.YearNumber = year (TrPenjualanHeader.Tanggal)

DealerID char 10 DealerID char 10 DimDealer Copy DealerID where DimDealer.DealerID

= FactPenjualan.DealerID

BarangID char 10 BarangID char 10 DimBarang Copy BarangID where

DimBarang.BarangID = FactPenjualan.BarangID

JumlahJual int 4 Sum(qty) int 4 Calculate

TotalPenjualan mone y 8 Sum(qty* harga) mon ey 8 Calculate

(46)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : FactPemasaran

Deskripsi Tabel : Tabel Fact Pemasaran

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

TimeKey int 4 TimeKey int 4 DimWaktu Copy TimeKey where

DimWaktu.MonthNumber = month

(TrPromotionHeader.TanggalMula i) and DimWaktu.QuartalNumber = case when month

(TrPromotionHeader.TanggalMula i) between 1 and 3 then 1 when month

(47)

(TrPromotionHeader.TanggalMula i) between 4 and 6 then 2 when month

(TrPromotionHeader.TanggalMula i) between 7 and 9 then 3 when month

(TrPromotionHeader.TanggalMula i) between 10 and 12 then 4 and DimWaktu.YearNumber = year (TrPromotionHeader.TanggalMula i)

WilayahID char 10 WilayahID char 10 DimWilay

ah

Copy WilayahID where DimWilayah.WilayahID = FactPemasaran.WilayahID

BarangID char 10 BarangID char 10 DimBaran

g

Copy BarangID where DimBarang.BarangID =

(48)

FactPemasaran.BarangID

MediaID char 10 MediaID char 10 DimMedia Copy MediaID where

DimMedia.MediaID = FactPemasaran.MediaID

LamaPromo int 4 Sum(Durasipro

mo) int 4 Calculate TotalBiayaProm o mone y 8 Sum(Hargapro mo) mone y 8 Calculate

(49)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : FactReturPembelian

Deskripsi Tabel : Tabel Fact Retur Pembelian

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

TimeKey int 4 TimeKey int 4 DimWaktu Copy TimeKey where

DimWaktu.MonthNumber = month (ReturPembelianHeader.Tanggal) and DimWaktu.QuartalNumber = case when month

(ReturPembelianHeader.Tanggal) between 1 and 3 then 1 when month

(50)

(ReturPembelianHeader.Tanggal) between 4 and 6 then 2 when month

(ReturPembelianHeader.Tanggal) between 7 and 9 then 3 when month

(ReturPembelianHeader.Tanggal) between 10 and 12 then 4 and DimWaktu.YearNumber = year (ReturPembelianHeader.Tanggal)

BahanBakuID char 10 BahanBakuID char 10 DimBahanBak

u

Copy BahanBakuID where DimBahanBaku.BahanBakuID = ReturPembelianDetail.KodeBahan JumlahReturBaha

n

int 4 Sum(qty) int 4 Calculate

(51)

DBMS : SQL Server 2005

Nama Database : Metrotech_DWH

Nama Tabel : FactReturPenjualan

Deskripsi Tabel : Tabel Fact Retur Penjualan

Field Tipe Ukuran Sumber Data Transformasi

Field Tipe Ukuran Tabel

TimeKey int 4 TimeKey int 4 DimWaktu Copy TimeKey where

DimWaktu.MonthNumber = month (ReturPenjualanHeader.Tanggal) and DimWaktu.QuartalNumber = case when month (ReturPenjualanHeader.Tanggal) between 1 and 3 then 1 when month (ReturPenjualanHeader.Tanggal) between 4 and 6 then 2 when month

(52)

(ReturPenjualanHeader.Tanggal) between 7 and 9 then 3 when month

(ReturPenjualanHeader.Tanggal) between 10 and 12 then 4 and

DimWaktu.YearNumber = year (ReturPenjualanHeader.Tanggal)

DealerID char 10 DealerID char 10 DimDealer Copy DealerID where

DimDealer.DealerID = FactReturPenjualan.DealerID

BarangID char 10 BarangID char 10 DimBarang Copy BarangID where

DimBarang.BarangID = FactReturPenjualan.BarangID

JumlahReturBarang int 4 Sum(qty) int 4 Calculate

(53)

4.4 Perancangan Layar Prototype Datawarehouse Form Login

(54)

Form Menu

(55)

Form Menu (Dashboard)

(56)

Form Change Password

(57)

Form Manage User

(58)

Form Pivot Penjualan

(59)

Form Pivot Pembelian

(60)

Form Pivot Pemasaran

(61)

Form Pivot Retur Penjualan

(62)

Form Retur Pembelian

(63)

Form DTS

(64)

Transformasi Data Dim Waktu

Gambar 4.14 Transformasi Data Dim Waktu

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimWaktu'

)

SELECT

year( Tgl ) AS [Year],

[QuartalNumber] =

(65)

WHEN month( Tgl ) BETWEEN 1 AND 4 THEN 1 WHEN month( Tgl ) BETWEEN 5 AND 8 THEN 2 WHEN month( Tgl ) BETWEEN 9 AND 12 THEN 3 END,

month( Tgl ) AS [MonthNumber]

FROM

( SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].TrPembelianHeader

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Metrotech_operasional].[dbo].TrPenjualanHeader

UNION

SELECT DISTINCT TanggalMulai AS Tgl, InsertedDate FROM [Metrotech_operasional].[dbo].TrPromotionHeader

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].ReturPenjualanHeader

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].ReturPembelianHeader ) AS Tgl

WHERE

(66)

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimWaktu'

) ELSE SELECT year( Tgl ) AS [Year], [QuartalNumber] = case

WHEN month( Tgl ) BETWEEN 1 AND 4 THEN 1 WHEN month( Tgl ) BETWEEN 5 AND 8 THEN 2 WHEN month( Tgl ) BETWEEN 9 AND 12 THEN 3 END,

month( Tgl ) AS [MonthNumber]

FROM

( SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].TrPembelianHeader

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Metrotech_operasional].[dbo].TrPenjualanHeader

UNION

SELECT DISTINCT TanggalMulai AS Tgl, InsertedDate FROM [Metrotech_operasional].[dbo].TrPromotionHeader

(67)

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].ReturPenjualanHeader

UNION

SELECT DISTINCT Tanggal AS Tgl, InsertedDate

FROM [Metrotech_operasional].[dbo].ReturPembelianHeader

(68)

Dim Bahan Baku

Gambar 4.15 Transformasi Data Dim Bahan Baku

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimBahanBaku'

)

SELECT KodeBahan, NamaBahan

FROM [Metrotech_operasional].[dbo].MsBahanBaku WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimBahanBaku'

(69)

) ELSE

SELECT KodeBahan, NamaBahan

(70)

Dim Barang

Gambar 4.16 Transformasi Data Dim Barang

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimBarang'

)

SELECT KodeBarang,JenisBarang, NamaBarang FROM [Metrotech_operasional].[dbo].MsBarang

WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimBarang'

(71)

) ELSE

SELECT KodeBarang, JenisBarang, NamaBarang FROM [Metrotech_operasional].[dbo].MsBarang

(72)

DimDealer

Gambar 4.17 Transformasi Data Dim Dealer IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimDealer'

)

SELECT KodeDealer, NamaDealer FROM [Metrotech_operasional].[dbo].MsDealer

WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimDealer'

(73)

ELSE

SELECT KodeDealer, NamaDealer FROM [Metrotech_operasional].[dbo].MsDealer

(74)

DimMedia

Gambar 4.18 Transformasi Data Dim Media

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimMedia'

)

SELECT KodeMedia, NamaMedia

FROM [Metrotech_operasional].[dbo].MsMedia WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimMedia'

(75)

) ELSE

SELECT KodeMedia, NamaMedia

(76)

DimSupplier

Gambar 4.19 Transformasi Data Dim Supplier

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimSupplier'

)

SELECT KodeSupplier, NamaSupplier FROM [Metrotech_operasional].[dbo].MsSupplier

WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimSupplier'

(77)

) ELSE

SELECT KodeSupplier, NamaSupplier FROM [Metrotech_operasional].[dbo].MsSupplier

(78)

DimWilayah

Gambar 4.20 Transformasi Data Dim Wilayah

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimWilayah'

)

SELECT KodeWilayah, NamaWilayah FROM [Metrotech_operasional].[dbo].MsWilayah

WHERE InsertedDate >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'DimWilayah '

(79)

) ELSE

SELECT KodeWilayah, NamaWilayah FROM [Metrotech_operasional].[dbo].MsWilayah

(80)

Fact Pembelian

Gambar 4.21 Transformasi Data Fact Pembelian

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPembelian'

)

SELECT

TimeKey, SupplierID, BahanBakuID,

(81)

SUM (PBD.Quantity * PBD.HargaBahan) AS [totalBeli] FROM [Metrotech_DWH].[dbo].DimSupplier AS DS, [Metrotech_DWH].[dbo].DimBahanBaku AS DBB, [Metrotech_DWH].[dbo].DimWaktu AS DimWk, [Metrotech_operasional].[dbo].MsBahanBaku AS MBB, [Metrotech_operasional].[dbo].MsSupplier AS MS, [Metrotech_operasional].[dbo].TrPembelianHeader AS PBH, [Metrotech_operasional].[dbo].TrPembelianDetail AS PBD WHERE

PBH.KodePembelian = PBD.KodePembelian AND PBH.Tanggal = DimWk.FullDate AND

PBH.KodeSupplier = MS.KodeSupplier AND MS.KodeSupplier = DS.SupplierID AND PBD.KodeBahan = MBB.KodeBahan AND MBB.KodeBahan = DBB.BahanBakuID AND PBH.Tanggal >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPembelian'

) GROUP BY

(82)

BahanBakuID, SupplierID ELSE SELECT TimeKey, SupplierID, BahanBakuID,

SUM (PBD.Quantity) AS [QtyBeli],

SUM (PBD.Quantity * PBD.HargaBahan) AS [TotalBeli] FROM [Metrotech_DWH].[dbo].DimSupplier AS DS, [Metrotech_DWH].[dbo].DimBahanBaku AS DBB, [Metrotech_DWH].[dbo].DimWaktu AS DimWk, [Metrotech_operasional].[dbo].MsBahanBaku AS MBB, [Metrotech_operasional].[dbo].MsSupplier AS MS, [Metrotech_operasional].[dbo].TrPembelianHeader AS PBH, [Metrotech_operasional].[dbo].TrPembelianDetail AS PBD WHERE

PBH.KodePembelian = PBD.KodePembelian AND PBH.Tanggal = DimWk.FullDate AND

PBH.KodeSupplier = MS.KodeSupplier AND MS.KodeSupplier = DS.SupplierID AND

(83)

PBD.KodeBahan = MBB.KodeBahan AND MBB.KodeBahan = DBB.BahanBakuID GROUP BY TimeKey, BahanBakuID, SupplierID

(84)

Fact Penjualan

Gambar 4.22 Transformasi Data Fact Penjualan

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPenjualan'

) SELECT

TimeKey, BarangID, DealerID,

(85)

SUM (Quantity * Harga) AS [TotalPenjualan] FROM [Metrotech_operasional].[dbo].TrPenjualanHeader HP, [Metrotech_operasional].[dbo].TrPenjualanDetail DP, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang DimBrg, [Metrotech_DWH].[dbo].DimDealer DimD WHERE

HP.KodePenjualan = DP.KodePenjualan AND HP.Tanggal = DimWk.FullDate AND

DP.KodeBarang = DimBrg.BarangID AND HP.KodeDealer = DimD.DealerID AND HP.Tanggal >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPenjualan'

) GROUP BY TimeKey, BarangID, DealerID ELSE SELECT TimeKey,

(86)

BarangID, DealerID,

SUM (Quantity) AS [JumlahJual],

SUM (Quantity * Harga) AS [TotalPenjualan] FROM [Metrotech_operasional].[dbo].TrPenjualanHeader HP, [Metrotech_operasional].[dbo].TrPenjualanDetail DP, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang DimBrg, [Metrotech_DWH].[dbo].DimDealer DimD WHERE

HP.KodePenjualan = DP.KodePenjualan AND HP.Tanggal = DimWk.FullDate AND

DP.KodeBarang = DimBrg.BarangID AND HP.KodeDealer = DimD.DealerID GROUP BY

TimeKey, BarangID, DealerID

(87)

Fact Pemasaran

Gambar 4.23 Transformasi Data Fact Pemasaran

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPemasaran'

) SELECT TimeKey, BarangID, MediaID, WilayahID,

(88)

SUM (PRD.DurasiPromo) AS [LamaPromo], SUM (PRH.HargaPromo ) AS [TotalBiayaPromo] FROM [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang AS DB, [Metrotech_DWH].[dbo].DimMedia AS DM, [Metrotech_DWH].[dbo].DimWilayah AS DW, [Metrotech_operasional].[dbo].TrPromotionHeader AS PRH

INNER JOIN [Metrotech_operasional].[dbo].TrPromotionDetail AS PRD ON PRH.KodePromo = PRD.KodePromo

WHERE

PRH.TanggalMulai = DimWk.FullDate AND PRD.KodeBarang = DB.BarangID AND PRH.KodeWilayah = DW.WilayahID AND PRD.KodeMedia = DM.MediaID AND PRH.TanggalMulai >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactPemasaran'

)

GROUP BY

TimeKey, BarangID, MediaID,

(89)

WilayahID ELSE SELECT TimeKey, BarangID, MediaID, WilayahID,

SUM (PRD.DurasiPromo) AS [LamaPromo], SUM (PRH.HargaPromo ) AS [TotalBiayaPromo] FROM [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang AS DB, [Metrotech_DWH].[dbo].DimMedia AS DM, [Metrotech_DWH].[dbo].DimWilayah AS DW, [Metrotech_operasional].[dbo].TrPromotionHeader AS PRH

INNER JOIN [Metrotech_operasional].[dbo].TrPromotionDetail AS PRD ON PRH.KodePromo = PRD.KodePromo

WHERE

PRH.TanggalMulai = DimWk.FullDate AND PRD.KodeBarang = DB.BarangID AND PRH.KodeWilayah = DW.WilayahID AND PRD.KodeMedia = DM.MediaID

(90)

GROUP BY TimeKey, BarangID, MediaID, WilayahID

(91)

Fact Retur Pembelian

Gambar 4.24 Transformasi Data Fact Retur Pembelian

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactReturPembelian' )

SELECT

TimeKey, BahanBakuID,

(92)

FROM [Metrotech_operasional].[dbo].ReturPembelianHeader RHPB, [Metrotech_operasional].[dbo].ReturPembelianDetail RDPB, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBahanBaku DimBB WHERE

RHPB.KodeReturPembelian = RDPB.KodeReturPembelian AND RHPB.Tanggal = DimWk.FullDate AND

RDPB.KodeBahan = DimBB.BahanBakuID AND RHPB.Tanggal >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactReturPembelian'

) GROUP BY TimeKey, BahanBakuID ELSE SELECT TimeKey, BahanBakuID,

(93)

FROM [Metrotech_operasional].[dbo].ReturPembelianHeader RHPB, [Metrotech_operasional].[dbo].ReturPembelianDetail RDPB, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBahanBaku DimBB WHERE

RHPB.KodeReturPembelian = RDPB.KodeReturPembelian AND RHPB.Tanggal = DimWk.FullDate AND

RDPB.KodeBahan = DimBB.BahanBakuID GROUP BY

TimeKey, BahanBakuID

(94)

Fact Retur Penjualan

Gambar 4.25 Transformasi Data Fact Retur Penjualan

IF EXISTS

( SELECT *

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactReturPenjualan' )

SELECT

TimeKey, BarangID, DealerID,

(95)

FROM [Metrotech_operasional].[dbo].ReturPenjualanHeader RHP, [Metrotech_operasional].[dbo].ReturPenjualanDetail RDP, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang DimBrg, [Metrotech_DWH].[dbo].DimDealer DimD WHERE

RHP.KodeReturPenjualan = RDP.KodeReturPenjualan AND RHP.Tanggal = DimWk.FullDate AND

RDP.KodeBarang = DimBrg.BarangID AND RHP.KodeDealer = DimD.DealerID AND RHP.Tanggal >

( SELECT Last_date_ETL_Process

FROM [Metrotech_DWH].[dbo].FilterTimeStamp WHERE Table_Name = 'FactReturPenjualan'

) GROUP BY TimeKey, BarangID, DealerID ELSE SELECT TimeKey,

(96)

BarangID, DealerID,

SUM (Quantity) AS [JumlahReturBarang] FROM [Metrotech_operasional].[dbo].ReturPenjualanHeader RHP, [Metrotech_operasional].[dbo].ReturPenjualanDetail RDP, [Metrotech_DWH].[dbo].DimWaktu DimWk, [Metrotech_DWH].[dbo].DimBarang DimBrg, [Metrotech_DWH].[dbo].DimDealer DimD WHERE

RHP.KodeReturPenjualan = RDP.KodeReturPenjualan AND RHP.Tanggal = DimWk.FullDate AND

RDP.KodeBarang = DimBrg.BarangID AND RHP.KodeDealer = DimD.DealerID

GROUP BY

TimeKey, BarangID, DealerID

(97)

4.5 Rancangan Implementasi

4.5.1 Dukungan Perancangan Software

Software yang digunakan dalam menjalankan aplikasi data warehouse

pada PT. Metrotech Jaya Komunika adalah : 1. Client

Sistem Operasi : Menggunakan Microsoft Windows XP Professional Edition Service.

Front End Tool : Internet Explorer. 2. Server

Sistem Operasi : Menggunakan Microsoft Windows XP Professional Edition.

Database : Menggunakan Microsoft SQL Server 2005 Entreprise Edition.

(98)

4.5.2 Dukungan Perancangan Hardware

Komponen hardware yang diperlukan untuk merancang datawarehouse pada PT. Metrotech Jaya Komunika adalah sebagai berikut:

Server:

- Processor XEON Pentium IV – 3,6GHz - Motherboard yang mendukung

- Harddisk SCSI 250GB - Memory RAM : DDR2 2 GB - VGA 64Mb - LAN Card - CD ROM 52x - Monitor 17” - Keyboard - Mouse Workstation

- Processor XEON Pentium IV – 3,6GHz - Motherboard yang mendukung

- Harddisk SCSI 160GB - Memory RAM : DDR2 1 GB - VGA 64Mb - LAN Card - Perangkat Modem - CD ROM 52x

(99)

- Monitor 17” - Keyboard - Mouse

4.6 Rencana Implementasi

Berikut adalah jadwal rencana implementasi data warehouse pada PT. Metrotech Jaya Komunika :

Aktivitas Minggu ke -

1 2 3 4 5 6 Penyediaan Software dan Hardware X Instalasi Software dan Aplikasi X

Uji Coba Aplikasi X X

Pelatihan User X

Evaluasi X

Gambar

Tabel 4. 6 Tabel Rounding Out Dimension
Tabel 4.14 Tabel Durasi Basis Data
Tabel 4.15 Tabel Fakta
Tabel 4.16 Tabel Dimensi
+7

Referensi

Dokumen terkait

Peserta yang telah mendaftarkan diri sebagai Mahasiswa Politeknik Gajah Tunggal melalui PMB adalah yang bersedia mengikuti seluruh tahapan tes dan benar-benar. berminat

Kondisi Awal Kemampuan Anak TK A di TK Baiturrahaman Pusdikku TNI AD dalam Mengenal Bentuk Geometri Sebelum Menggunakan Pemanfaatan Alam dan Lingkungan Sekitar

yang berarti variabel EPres berpengaruh signifikan terhadap discretionary accrual, hal ini mengindikasikan bahwa perusahaan sampel yang digunakan pada penelitian ini cenderung

Sebanyak 10 individu dari kasta prajurit diamati dan diukur untuk tujuan analisis morfometrik, yang meliputi PKTM (panjang kepala tanpa mandibel), LMK (lebar

Dalam buku tersebut hal paling penting yang menjadi fokus utama STB adalah memberikan informasi kepada wisatawan muslim Indonesia mengenai tempat pariwisata yang

Koreografer yang merupakan putra daerah Banyumas dengan bekal pengetahuan akademis dan pengalaman estetisnya melahirkan bentuk tari gaya Banyumas, salah satunya

Menurut Sukmadinata (2005) teknik deskriptif naratif bertujuan untuk menggambarkan data tentang aktivitas siswa dan guru selama proses pembelajaran dan

Menimbang : bahwa untuk melaksanakan ketentuan Pasal 112 ayat (1) Peraturan Daerah Kabupaten Purworejo Nomor 18 Tahun 2012 tentang Organisasi dan Tata Kerja Perangkat