Real Case – Indonesian Case
The story below is a fictious interview
Hari itu Senin 2 Mei 2006, anda sedang duduk sambil menghirup kopi yang disediakan dan berbincang-bincang dengan Koen Verheyen, President Direktur PT Amway Indonesia, di kantornya yang terlihat sangat teratur dan rapi tentang Data Warehouse yang mau dibuat untuk PT Amway Indonesia. Melalui serangkaian tanya-jawab yang anda lakukan dengan Pak Koen, anda mendapatkan informasi sebagai berikut:
Amway Corporation adalah sebuah perusahaan MLM yang didirikan pada tahun 1959 di kota Ada, Michigan. Perusahaan ini didirikan oleh dua orang yang bersahabat baik Jay Van Andel dan Rich Devos. Pada saat ini produk-produk yang dihasilkan telah dipasarkan diseluruh dunia di lebih dari 90 negara dan teritori.
Masyarakat Indonesia, diperkenalkan dengan produk-produk Amway pada tahun 1992. Melalui PT Amway Indonesia, produk-produk Amway dipasarkan melalui RDC (Regional Distribution Center) atau sekarang lebih dikenal dengan nama ADC (Amway Distribution Center). Mula-mula ADC hanya ada satu di Daan Mogot, dan sekarang telah berjumlah 23 ADC yang tersebar diseluruh Indonesia. Ke 23 ADC tersebut adalah sebagai berikut: ADC Pancoran- Jakarta, ADC Kebon Jeruk –Jakarta, ADC Kelapa Gadng – Jakarta, ADC Bekasi, ADC Bogor, ADC Bandung, ADC Semarang, ADC Yogya, ADC Surabaya, ADC Malang, ADC Solo, ADC Denpasar, ADC Medan, ADC Batam, ADC Pekan Baru, ADC Lampung, ADC Pontianak, ADC Samarinda, ADC Makassar, ADC Manado, ADC Balik Papan, ADC Palembang dan ADC Kupang.
Produk-produk Amway dibagi menjadi 6 category yaitu
- Category: Perawatan diri
- Category: Kecantikan Artistry
- Category: Kesehatan dan Kebugaran Nutrilite
- Category: Perawatan Rumah
- Category: Peralatan Rumah
- Category: Produk Pertanian
Dimana tiap-tiap Category juga miliki sub-Category masing-masing, sebagai contoh misalnya untuk Category Perawatan diri, memiliki subcategory: Perawatan Mulut, Perawatan Rambut dan Body Series.
Anda juga memperoleh informasi tentang formulir dan tabel-tabel yang dipergunakan seperti yang anda lihat dibawah ini
Dibawah ini adalah Formulir Pemesanan Barang yang digunakan di ADC/APC
No Pemesanan : 9999999999 (10)
Tgl Pemesanan : 99/99/9999 (dd/mm/yyyy)
No Distributor : 9999999 (7)
Nama Distributor: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (30)
|
Kode Barang |
Uraian |
Jumlah Barang |
Harga Satuan |
Total Harga |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Hanya untuk Petugas |
Total Nilai Pesanan |
|
||
|
Biaya Administrasi |
|
|||
|
Total Yang dibayar |
|
|||
Sedangkan Formulir Pengembalian Barang yang digunakan di ADC/APC adalah sebagai berikut
No Pengembalian : 9999999999 (10)
Tgl Pengembalian: 99/99/9999 (dd/mm/yyyy)
No Pemesanan : 9999999999 (10)
No Distributor : 9999999 (7)
Nama Distributor : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (30)
|
Kode Barang |
Uraian |
Jumlah Barang |
Harga Satuan |
Total Harga |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
999999 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
999 |
99,999,999 |
9,999,999,999 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Hanya untuk Petugas |
Total Nilai Pengembalian |
|
||
|
Biaya Administrasi |
|
|||
|
Total Pengembalian |
|
|||
Tabel-Tabel yang anda peroleh dari hasil pengamatan anda pada Online Transaction Processing (OLTP) mereka adalah sebagai berikut: (catatan: diambil hanya field-field yang penting untuk digunakan)
Nama Tabel: Master Distributor
No. Distributor Character 7 Format: 9999999
Nama Distributor Character 30
Jenis Kelamin Character 1 L= Laki-laki, P=Perempuan
Alamat Character 40
No Handphone Character 15 Format: 999999999999999
Nama Pasangan Character 30
Nama Tabel: Transaksi Pemesanan Header
No Pemesanan Character 10 Format: 9999999999
Tgl Pemesanan Date 10 Format: dd/mm/yyyy
No Distributor Character 7 Format: 9999999
Total Nilai Pesanan Numeric 11 Format 999,999,999
Biaya Administrasi Numeric 6 Format: 99,999
Total Yang dibayar Numeric 11 Format: 999,999,999
Nama Tabel: Transaksi Pemesanan Detail
No Pemesanan Character 10 Format: 9999999999
Kode Barang Character 6 Format: 999999
Jumlah Barang Numeric 3 Format: 999
Nama Tabel: Master Barang
No Barang Character 6 Format: 999999
Nama Barang Character 30 Format: XXXXXXXXXX (30)
Jumlah Stock Numeric 6 Format: 99,999
Harga Satuan Numeric 11 Format: 999,999,999
Nama Tabel: Transaksi Pengembalian Header
No Pengembalian Character 10 Format: 9999999999
Tgl Pengembalian Date 10 Format: dd/mm/yyyy
No Pemesanan Character 10 Format: 9999999999
No Distributor Character 7 Format: 9999999
Total Nilai
Pengembalian Numeric 11 Format 999,999,999
Biaya Administrasi Numeric 6 Format: 99,999
Total Pengembalian Numeric 11 Format: 999,999,999
Nama Tabel: Transaksi Pengembalian Detail
No Pengembalian Character 10 Format: 9999999999
Kode Barang Character 6 Format: 999999
Jumlah Barang Numeric 3 Format: 999
Mr Koen Verheyen telah menyatakan bahwa beliau berminat untuk membuat Data Warehouse dengan menggunakan jasa anda sebagai konsultan data warehouse. Beliau menginginkan untuk dapat melihat data penjualan yang dilakukan oleh para distributornya yang membeli barang-barang Amway melalui ADC dimasing-masing kota. Selain itu beliau juga menginginkan informasi-informasi berikut ini:
- Produk yang terjual per category dan per sub-category untuk setiap bulannya
- Produk yang terjual per Kota untuk setiap bulannya
- Produk yang terjual per Distributor untuk setiap bulannya
- Nilai penjualan dari tiap-tiap ADC per hari selama satu bulan tertentu
- Nilai Pengembalian Barang dari tiap-tiap ADC per bulan.
Berdasarkan pengetahuan yang sudah anda peroleh dari matakuliah Data Warehouse dan hasil wawancara yang telah anda lakukan buatlah
- Skema bintang atau skema snow-flake dari kasus diatas
- Tuliskan masing-masing table dengan lengkap (atributnya) untuk Fact Table dan Dimension Table
** ————–**
Do or Not Do, No Try
Yoda – Star Wars
PS: Ini juga akan menjadi Project Data Warehouse anda!!
Tags: case study, data warehouse





pak.. boleh menambahkan atribut diluar yang ditetapkan ga?
niceee
Perkuliahan Datawarehouse and Data Mining Pak Johan Setiawan tgl 7 April 09 kelas 06PHM
Contoh pemindahan data penjualan dari OLTP(Online Transaction Processing) menjadi Datawarehouse melalui ETL(Extract Transform Loading)
Yang perlu diperhatikan adalah data-data yang dipindahkan dari OLTP ke DW adalah data-data yang diperlukan saja sehingga memudahkan untuk dianalisa.
Pada table Fact, atributnya diambil dari ID pada table dimensi lain serta hal-hal yang ingin diukur, seperti kuantitas.
OLTP DW
Table master—————————-Table dimensi (Dim_ )
————–> ETL —————>
Table transaksi————————-Table fakta (Fact_ )
Berikut table-table yang ada di OLTP
MS Barang
-Kd_Barang
-Nm_Barang
-Qty
-Harga
-Category
-Satuan
MS Customer
-Kd_Customer
-Nm_Customer
-Alamat
-Telp
-Email
MS SalesPerson
-Kd_SalesPerson
-Nm_SalesPerson
-Jenis_Kelamin
-Tgl_Lahir
-Telp/HP
-Email
-Alamat
TR Penjualan Header
-No_Penjualan
-Tgl_Penjualan
-Kd_Customer
-Kd_SalesPerson
TR Penjualan Detail
-No_Penjualan
-Kd_Barang
-Qty
-Harga
Berikut table-table yang sudah dipindahkan ke DW melalui ETL dan menggunakan Star Join
Dim_Barang
-ID_Barang
-Kd_Barang
-Nm_Barang
Dim_Customer
-ID_Customer
-Kd_Customer
-Nm_Customer
Dim_SalesPerson
-ID SalesPerson
-Kd_SalesPerson
-Nm_SalesPerson
Dim_Periode
-ID_Periode
-Kd_Periode
-Nm_Periode
Fact_Penjualan
-ID_Customer
-ID SalesPerson
-ID_Barang
-ID_Periode
-Qty
NB : Dim_Periode => pengecualian, diambil dari tgl transaksi penjualan kemudian dibuat menjadi sebuah dimensi
YA. anda boleh menambahkan atribut.
Cheers
Johan Setiawan
pak, tgs DWH yg tentang random itu posting dimana ya??
Jawaban utk Kasus Perusahaan Air Minum
–untuk input data SO
declare @tgl datetime
declare @detil int
declare @daily int
declare @cust char(5)
declare @no char(4)
declare @noSO varchar(6)
declare @temp varchar(7)
declare @count int
declare @tempno varchar(7)
declare @randcust int
declare @randsp int
declare @sp varchar(5)
declare @tempdetil int
declare @qty int
declare @randprod int
declare @prod varchar(5)
declare @hitung int
declare @detil1 varchar(5)
declare @detil2 varchar(5)
declare @detil3 varchar(5)
declare @detil4 varchar(5)
declare @flag int
declare @tipe varchar(5)
set @detil1 = ‘a’
set @detil2 = ‘b’
set @detil3 = ‘c’
set @detil4 = ‘d’
set @flag=0
set @no = 1
set @daily = 0
set dateformat mdy
set @tgl = ’1-1-2008′
set @tempdetil = 0
begin transaction
while (@daily<3 and @tgl<’1-1-2009′)
begin
set @noSO = ‘S’ + cast(@no as varchar(5))
set @randcust = ceiling(rand()*10)
set @randsp = ceiling(rand()*3)
set @cust = (select kdcustomer from MsCustomer where kdcustomer like ‘%’ + cast(@randcust as varchar(5)))
set @tipe = (select kdjenis from MsCustomer where kdcustomer = @cust)
set @sp = (select kdsalesperson from MsSalesPerson where kdsalesperson like ‘%’ + cast(@randsp as varchar(5)))
insert into SO_Header values(@noSO,@tgl,@cust,@sp)
set @detil = ceiling(rand()*4)
while (@flag=0)
begin
while (@tempdetil < @detil)
begin
set @randprod = ceiling(rand()*4)
set @prod = (select kdproduk from MsProduk where kdproduk like ‘%’+cast(@randprod as varchar(5)))
IF @tempdetil = 0
set @detil1 = @prod
IF @tempdetil = 1
set @detil2 = @prod
IF @tempdetil = 2
set @detil3 = @prod
IF @tempdetil = 3
set @detil4 = @prod
set @tempdetil = @tempdetil +1
end
set @tempdetil = 0
IF @detil1=@detil2 or @detil1=@detil3 or @detil1=@detil4 or @detil2=@detil3 or @detil2=@detil4 or @detil3=@detil4
set @flag=0
ELSE
set @flag=1
end
set @flag=0
set @tempdetil=0
while (@tempdetil < @detil)
begin
IF @tipe = ‘JC001′
set @qty = ceiling(rand()*4)
ELSE
begin
set @qty = ceiling(rand()*10 + 10)
end
–set @randprod = ceiling(rand()*4)
–set @prod = (select kdproduk from MsProduk where kdproduk like ‘%’+cast(@randprod as varchar(5)))
IF @tempdetil = 0
insert into SO_Detil values(@noSO,@detil1,@qty)
IF @tempdetil = 1
insert into SO_Detil values(@noSO,@detil2,@qty)
IF @tempdetil = 2
insert into SO_Detil values(@noSO,@detil3,@qty)
IF @tempdetil = 3
insert into SO_Detil values(@noSO,@detil4,@qty)
–insert into SO_Detil values(@noSO,@prod,@qty)
set @tempdetil = @tempdetil +1
end
set @tempdetil = 0
set @daily = @daily + 1
set @no = @no + 1
IF @daily = 3
begin
set @daily = 0
set @tgl = @tgl + 1
end
end
– ini untuk commit
commit transaction
–ini untuk rollback
rollback
– ini cuma liat hasil query aj
select * from SO_Header a,SO_Detil b where a.noSO=b.noSO order by tanggal
select * from SO_header order by tanggal
select * from SO_Detil
delete from SO_Header
delete from SO_Detil
NB: kalo ada yg salah, tlg ksh tau ya pak