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

  1. Skema bintang atau skema snow-flake dari kasus diatas
  2. 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: ,

6 Comments on Case Study untuk Data Warehouse

  1. backstage says:

    pak.. boleh menambahkan atribut diluar yang ditetapkan ga?

  2. mahasiswi says:

    niceee

  3. Mikewati says:

    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

  4. admin says:

    YA. anda boleh menambahkan atribut.

    Cheers
    Johan Setiawan

  5. gamers says:

    pak, tgs DWH yg tentang random itu posting dimana ya??

  6. Mikewati says:

    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
    :D

Leave a Reply

*

Twitter links powered by Tweet This v1.8.3, a WordPress plugin for Twitter.