BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Perusahaan 3.1.1 Riwayat Perusahaan
PT. Artha Envirotama didirikan pada tanggal 25 Juli 2000 oleh Bapak Yohanes Roman. Perusahaan ini pertama kali berdiri di Jogjakarta. Saat ini PT Artha Envirotama memiliki kantor pusat yang berkedudukan di Jl. Talaud no 7A-B, Cideng Barat, Jakarta Pusat 10150.
PT. Artha Envirotama adalah perusahaan yang bergerak dalam bidang pengolahan air, yang antara lain penjualan air minum dalam kemasan, water treatment dan wastewater tratement system. Keterbatasan dan kualitas yang buruk dari air baku yang tersedia saat ini menuntut adanya pengolahan yang tepat agar dapat dimanfaatkan sebagai air yang layak dikonsumsi untuk keperluan domestik, komersial dan industri. PT. Artha Envirotama menyediakan serangkaian produk dan jasa yang dapat memberikan solusi yang terpadu dan efektif untuk sistem pengolahan air.
Salah satu usaha yang dijalankan perusahaan ini adalah penjualan air minum dalam kemasan. Produk air minum dalam kemasan yang dijual antara lain air minum kemasan dalam bentuk botol dengan ukuran 1500 ml dan 600 ml, air minum kemasan dalam bentuk gelas dengan ukuran 250 ml, dan air minum kemasan dalam bentuk galon dengan ukuran 20 liter.
Pada tahap awal, perusahaan hanya menjalankan bisnisnya di seputar Jogjakarta, akan tetapi saat ini PT Artha Envirotama telah mampu menangani pelanggannya hingga ke luar daerah Jogjakarta seperti Solo dan Cilacap.
3.1.2 Visi dan Misi Perusahaan Visi Perusahaan
Visi perusahaan dari PT Artha Envirotama adalah menjadi PERUSAHAAN AIR MINUM yang mandiri, berwawasan global dan terbaik di kelasnya.
Misi Perusahaan
• Menyediakan air minum yang memenuhi kualitas, kuantitas, dan kontinuitas yang dapat dipertanggungjawabkan melalui pelayanan prima dalam rangka menciptakan nilai tambah bagi masyarakat.
• Melakukan pengelolaan usaha secara profesional dengan teknologi tepat guna dan prinsip-prinsip manajemen yang berwawasan global. • Mengembangkan lingkungan kerja yang kondusif sehingga menjadi
3.1.3 Struktur Organisasi Perusahaan
Gambar 3. 1 Struktur Organisasi PT Artha Envirotama (Sumber : Manajer Finance & Acc, Tahun : 2007)
3.1.4 Tugas dan Wewenang
Tugas dan wewenang dari setiap bagian organisasi PT Artha Envirotama adalah:
• Presiden Komisaris
1. Melakukan kontrol terhadap kemajuan pada keseluruhan perusahaan.
2. Menentukan garis-garis pokok kebijakan perusahaan. • Komisaris
1. Memimpin perusahaan dengan mengendalikan dan mengawasi kegiatan dari keseluruhan perusahaan
2. Melihat dan meneliti kebenaran dari laporan keuangan (neraca dan laba rugi).
Presiden Komisaris Komisaris Presiden Direktur Manajer Prop & Desain
Manajer Finance & Acc
Manajer Purchasing Manajer Marketing Staf Marketing Staf Prop & Desain
Staf Finance & Acc
Staf Purchasing
• Presiden Direktur
1. Memonitor kegiatan operasional dari keseluruhan perusahaan secara periodik
2. Mengatur pengeluaran yang berhubungan dengan kegiatan perusahaan.
3. Melihat laporan dari setiap departemen dan melakukan pengambilan keputusan untuk memajukan perusahaan
• Manajer Marketing
1. Mengkoordinasikan pemasaraan ke perusahaan pelanggan. 2. Membuat kesepakatan harga dengan pelanggan.
• Manajer Prop & Desain
1. Mengawasi perancangan produk yang akan diproduksi.
2. Mengatur kelancaran kegiatan perusahaan seperti penempatan barang di pabrik
• Manajer Finance & Acc
1. Melakukan kontrol terhadap penerimaan dan pengeluaran kas. 2. Menganalisis laporan keuangan dan laba rugi perusahan. • Manajer Purchasing
1. Melakukan kontrol terhadap pembelian bahan baku.
2. Mengawasi kinerja bagian purchasing agar memilih supplier dengan penawaran harga rendah dan bahan baku yang berkualitas. • Staf Marketing
2. Mencari pelanggan baru untuk perusahaan. • Staf Prop & Desain
1. Mendesain rancangan produk yang akan diproduksi 2. Mendesain rancangan ruang penempatan produk 3. Merancang desain dari pabrik yang akan dibuat • Staf Finance & Accounting
1. Membuat, melaporkan dan menyimpulkan laporan keuangan (neraca dan laba rugi).
2. Mengurus pemasukan dan pengeluaran dana perusahaan secara keseluruhan.
• Staf Purchasing
1. Menerima order pembelian bahan baku dari gudang. 2. Membuat surat order pembelian ke supplier.
3. Mengatur pengiriman barang ke gudang.
3.1.5 Analisis Sistem yang Berjalan
PT. Artha Envirotama sudah menerapkan sistem informasi di dalam perusahaan untuk menjalankan proses bisnisnya. Aplikasi sistem informasi yang ada digunakan untuk menyimpan setiap transaksi operasional seperti pembelian, penjualan, persediaan, produksi, laporan yang digunakan setiap divisi di perusahaan dan lainnya. Aplikasi sistem informasi ini juga digunakan oleh kantor cabang perusahaan.
laporan oleh masing-masing divisi yang bersangkutan di kantor cabang. Laporan dari kantor cabang tersebut kemudian akan dikirimkan ke Jakarta untuk dianalisis dan dievaluasi oleh pihak eksekutif di Jakarta. Dari analisis laporan tersebut, pihak eksekutif akan mengambil keputusan yang sesuai untuk kantor cabang.
Untuk dapat memudahkan analisis, maka setiap informasi yang ditampilkan untuk pihak eksekutif haruslah bersifat summarized, jelas dan singkat. Pihak eksekutif perlu dapat memperoleh informasi dengan mudah, sehingga proses analisis dan pengambilan keputusan bisnis dapat dilakukan dengan optimal.
3.1.6 Analisis Kebutuhan Informasi
Untuk menentukan keputusan yang tepat bagi perusahaan, pihak eksekutif memerlukan infomasi penting dari kegiatan operasional yang terjadi. Informasi yang dibutuhkan tersebut antara lain :
• Informasi mengenai produksi. Informasi ini meliputi bahan baku yang digunakan, bahan baku yang tidak terpakai serta hasil produksi yang jadi dan yang cacat. Informasi ini digunakan untuk mengetahui selisih antara bahan baku yang digunakan dengan bahan baku yang tidak terpakai serta informasi hasil produksi yang jadi dan yang cacat. • Informasi bahan baku yang dibeli dari supplier. Informasi ini meliputi
kuantitas bahan baku yang dibeli, penawaran harga yang diberikan supplier dan bahan baku yang diretur. Informasi ini digunakan untuk mengetahui supplier terbaik sehingga dapat menentukkan kerjasama
selanjutnya dengan supplier tersebut.
• Informasi barang yang terjual. Informasi ini meliputi barang yang terjual dan barang yang diretur dari customer. Informasi ini digunakan untuk mengetahui barang yang paling laku terjual dan perbandingannya dengan barang yang diretur.
3.1.7 Permasalahan yang dihadapi
Setelah dilakukan survei pada PT Artha Envirotama, beberapa masalah yang sedang dihadapi oleh perusahaan antara lain :
1. Informasi yang dihasilkan jumlahnya sangat besar sehingga pihak eksekutif sulit untuk melakukan analisis.
2. Informasi dihasilkan dari berbagai departemen dalam perusahaan sehingga sulit untuk mendapatkan informasi yang akurat.
3. Laporan yang dihasilkan tidak dapat dilihat dari berbagai dimensi.
3.1.8 Usulan Pemecahan Masalah
Dari permasalahan yang dihadapi oleh PT Artha Envirotama, maka diusulkan pemecahan masalah berupa data warehouse. Dimana data warehouse tersebut dapat menampilkan informasi yang summarized dan akurat bagi pihak eksekutif untuk mendukung proses pengambilan keputusan. Dengan penggunaan data warehouse, laporan dapat dibuat sesuai jangka waktu yang dibutuhkan.
3.2 Basis Data yang Berjalan menangani Karyawan Customer Supplier Retur Pembelian Bahan Baku Barang Retur
Penjualan Penjualan Pembelian
Produksi Detil Retur Penjualan Detil Penjualan Tipe Customer memiliki meliputi meliputi memiliki memiliki melakukan memiliki Group Barang memiliki Detil Produksi meliputi meliputi menangani menangani memiliki Detil Pembelian memiliki memiliki Detil Retur Pembeli memiliki memiliki menangani meliputi
Gambar 3.2 ER-Model PT. Artha Envirotama
Data operasional yang dibutuhkan untuk perancangan data warehouse yaitu : a. Nama tabel : MsBarang
Deskripsi tabel: tabel master barang Primary key : KodeBarang
Foreign key : KodeGroupBarang references MsGroupBarang Tabel 3.1 Tabel Master Barang
Nama Field Type Ukuran
Field
Keterangan
KodeBarang varchar 6 Kode barang KodeGroupBarang varchar 6 Kode group barang NamaBarang varchar 30 Nama barang
HargaAwal money 8 Harga jual barang
InsertedDate datetime 8 Tanggal update data barang
b. Nama tabel : MsGroupBarang
Deskripsi tabel: tabel master group barang Primary key : KodeGroupBarang
Tabel 3.2 Tabel Master Group Barang
Nama Field Type Ukuran
Field
Keterangan
KodeGroupBarang varchar 6 Kode group barang NamaGroupBarang varchar 20 Nama group barang
InsertedDate datetime 8 Tanggal update data group barang
c. Nama tabel : MsBahanBaku
Deksripsi tabel: tabel master bahan baku Primary key : KodeBahan
Tabel 3.3 Tabel Master Bahan Baku
Nama Field Type Ukuran
Field
Keterangan
KodeBahan varchar 5 Kode bahan baku NamaBahan varchar 30 Nama bahan baku
Satuan varchar 2 Satuan bahan baku HargaBeli money 8 Harga beli bahan baku NamaProdukJadi varchar 30 Nama produk jadi
InsertedDate datetime 8 Tanggal update data bahan baku
d. Nama tabel : MsKaryawan
Deskripsi tabel: tabel master karyawan Primary key : Kode Karyawan
Tabel 3.4 Tabel Master Karyawan
Nama Field Type Ukuran
Field
Keterangan
KodeKaryawan varchar 3 Kode karyawan NamaKaryawan varchar 20 Nama karyawan AlamatKaryawan varchar 20 Alamat karyawan
Telp varchar 20 Telepon karyawan
Jabatan varchar 20 Jabatan karyawan InsertedDate datetime 8 Tanggal update data
karyawan
e. Nama tabel : MsSupplier
Deskripsi tabel: tabel master supplier Primary key : KodeSupplier
Tabel 3.5 Tabel Master Supplier
Nama Field Type Ukuran
Field
Keterangan
KodeSupplier varchar 5 Kode supplier NamaSupplier varchar 30 Nama supplier Alamat varchar 50 Alamat supplier Telepon varchar 12 No. Telepon supplier Fax varchar 10 No. Fax supplier ContactPerson varchar 20 Nama orang dari pihak
supplier yang dapat dihubungi
NPWP varchar 20 Nomor wajib pajak InsertedDate datetime 8 Tanggal update data
supplier
f. Nama tabel : MsCustomer
Deskripsi tabel: tabel master customer Primary key : KodeCustomer
Foreign key : KodeTipeCustomer references MsTipeCustomer Tabel 3.6 Tabel Master Customer
Nama Field Type Ukuran
Field
Keterangan
KodeTipeCustomer varchar 6 Kode tipe customer NamaCustomer varchar 20 Nama customer AlamatCustomer varchar 50 Alamat customer TeleponCustomer varchar 20 Telepon customer CaraPembayaran varchar 20 Cara pembayaran Status varchar 20 Status aktif customer InsertedDate datetime 8 Tanggal update data
customer
g. Nama tabel : MsTipeCustomer
Deskripsi tabel: tabel master tipe customer Primary key : KodeTipeCustomer
Tabel 3.7 Tabel Master Tipe Customer
Nama Field Type Ukuran
Field
Keterangan
KodeTipeCustomer varchar 6 Kode tipe customer TipeCustomer varchar 20 Tipe customer
InsertedDate datetime 8 Tanggal update data tipe customer
h. Nama tabel : TrHeaderPenjualan
Deskripsi tabel: tabel transaksi header penjualan Primary key : NoFakturJual
Tabel 3.8 Tabel Transaksi Header Penjualan
Nama Field Type Ukuran
Field
Keterangan
NoFakturJual varchar 6 Nomor faktur penjualan
Tanggal datetime 8 Tanggal transaksi
KodeCustomer varchar 8 Kode customer
KodeKaryawan varchar 3 Kode karyawan InsertedDate datetime 8 Tanggal update data
penjualan
i. Nama tabel : TrDetailPenjualan
Deskripsi tabel: tabel transaksi detail penjualan Primary key : NoFakturJual dan KodeBarang
Foreign key : NoFakturJual references TrHeaderPenjualan KodeBarang references MsBarang
Tabel 3.9 Tabel Transaksi Detail Penjualan
Nama Field Type Ukuran
Field
Keterangan
NoFakturJual varchar 6 Nomor faktur penjualan KodeBarang varchar 6 Kode barang JmlJual int 4 Jumlah barang yang terjual
InsertedDate datetime 8 Tanggal update data penjualan
j. Nama tabel : TrHeaderReturJual
Deskripsi tabel: tabel transaksi header retur penjualan Primary key : KodeReturJual
Foreign key : NoFakturJual references TrHeaderPenjualan Tabel 3.10 Tabel Transaksi Header Retur Penjualan
Nama Field Type Ukuran
Field
Keterangan
KodeReturJual varchar 5 Kode retur penjualan NoFakturJual varchar 6 No faktur penjualan
Tanggal datetime 8 Tanggal transaksi
InsertedDate datetime 8 Tanggal update data retur penjualan
k. Nama tabel : TrDetailReturJual
Deskripsi tabel: tabel transaksi detail retur penjualan Primary key : KodeReturJual dan KodeBarang
Foreign key : KodeReturJual references TrHeaderReturJual KodeBarang references MsBarang
Tabel 3.11 Tabel Transaksi Detail Retur Penjualan
Nama Field Type Ukuran
Field
Keterangan
KodeReturJual varchar 5 Kode retur penjualan KodeBarang varchar 6 Kode barang
JmlReturJual int 4 Jumlah barang yang diretur InsertedDate datetime 8 Tanggal update data retur
penjualan
l. Nama tabel : TrHeaderPembelian
Deksripsi tabel : tabel transaksi header pembelian Primary key : NoFakturBeli
Foreign key : KodeSupplier references MsSupplier Tabel 3.12 Tabel Transaksi Header Pembelian
m. Nama tabel : TrDetailPembelian
Deksripsi tabel: tabel transaksi detail pembelian Primary key : NoFakturBeli dan KodeBahan
Foreign key : NoFakturBeli references TrHeaderPembelian KodeBahan references MsBahan
Nama Field Type Ukuran
Field
Keterangan
NoFakturBeli varchar 6 Nomor faktur pembelian
Tanggal datetime 8 Tanggal transaksi
NoPO varchar 6 Nomor purchase order KodeKaryawan varchar 3 Kode karyawan KodeSupplier varchar 3 Kode supplier
InsertedDate datetime 8 Tanggal update data pembelian
Tabel 3.13 Tabel Transaksi Detail Pembelian
n. Nama tabel : TrHeaderReturBeli
Deksripsi tabel : tabel transaksi header retur pembelian Primary key : KodeReturBeli
Foreign key : NoFakturBeli references TrHeaderPembelian Tabel 3.14 Tabel Transaksi Header Retur Pembelian
o. N a
Nama Field Type Ukuran
Field
Keterangan
NoFakturBeli varchar 6 Nomor faktur pembelian
KodeBahan varchar 5 Kode bahan
JmlBeli int 4 Jumlah bahan yang
dibeli
Pembayaran varchar 20 Jenis pembayaran InsertedDate datetime 8 Tanggal update data
pembelian
Nama Field Type Ukuran
Field
Keterangan
KodeReturBeli varchar 5 Kode retur pembelian NoFakturBeli varchar 6 Nomor faktur pembelian
Tanggal datetime 8 Tanggal transaksi
InsertedDate datetime 8 Tanggal update data retur pembelian
o. Nama tabel : TrDetailReturBeli
Deskripsi tabel: tabel transaksi detail retur pembelian Primary key : KodeReturBeli dan KodeBahan
Foreign key : KodeReturBeli references TrHeaderReturBeli KodeBahan references MsBahan
Tabel 3.15 Tabel Transaksi Detail Retur Pembelian
Nama Field Type Ukuran
Field
Keterangan
KodeReturBeli varchar 5 Kode retur pembelian
KodeBahan varchar 5 Kode bahan
JmlReturBeli int 4 Jumlah bahan yang diretur InsertedDate datetime 8 Tanggal update data retur
pembelian
p. Nama tabel : TrHeaderProduksi
Deskripsi tabel: tabel transaksi header produksi Primary key : Kode Produksi
Tabel 3.16 Tabel Transaksi Header Produksi
Nama Field Type Ukuran
Field
Keterangan
KodeProduksi varchar 6 Kode produksi
Tanggal datetime 8 Tanggal transaksi
InsertedDate datetime 8 Tanggal update data produksi
q. Nama tabel : TrDetailProduksi
Deskripsi tabel: tabel transaksi detail produksi
Primary key : Kode Produksi, KodeBahan, KodeBarang Foreign key : KodeProduksi references TrHeaderProduksi
KodeBahan references MsBahan KodeBarang references MsBarang
Tabel 3.17 Tabel Transaksi Detail Produksi
Nama Field Type Ukuran
Field
Keterangan
KodeProduksi varchar 6 Kode produksi
KodeBahan varchar 5 Kode bahan
KodeBarang varchar 6 Kode barang
JmlBahan int 4 Jumlah bahan dalam
produksi
JmlBahanTakTerpakai int 4 Jumlah bahan yang tidak terpakai dalam produksi
JumlahProduksiJadi int 4 Jumlah produksi yang jadi
cacat
InsertedDate datetime 8 Tanggal update data produksi
3.3 Arsitektur Data Warehouse
Perancangan data warehouse pada PT. Artha Envirotama menggunakan anatomi data warehouse terpusat. Alasan penggunaan anatomi data warehouse terpusat :
a. Mempermudah dalam melakukan pengawasan dan pemeliharaan data yang dipergunakan untuk aplikasi data warehouse.
b. Pengembangan rancangan yang relatif mudah dan murah dibandingkan dengan bentuk arsitektur data warehouse terdistribusi.
c. Lebih mudah dalam menjaga konsistensi dari data warehouse terhadap segala perubahan dibandingkan penggunaan data warehouse terdistribusi.
Berikut adalah gambaran arsitektur data warehouse terpusat pada PT. Artha Envirotama :
Source WarehouseData User User User Source Source Data Transformation
Gambar 3. 3 Arsitektur Data Warehouse pada PT Artha Envirotama
Dari arsitektur perancangan data warehouse di atas ada tiga komponen sistem yang saling berhubungan. Masing-masing dapat dijelaskan sebagai berikut:
1. Data source
Data source merupakan sumber data untuk pembuatan data warehouse. Dalam perancangan data warehouse ini, pengambilan sumber data yang diperlukan berasal dari database transaksional dari sistem informasi PT. Artha Envirotama. Dari database ini akan dipilih data-data yang berhubungan dengan produksi, pembelian dan penjualan. Data - data tersebut akan mengalami proses transformasi data yang hasilnya akan dimasukkan ke dalam data warehouse.
2. Data Warehouse
Merupakan suatu media yang digunakan sebagai tempat penyimpanan data-data yang bersifat historical (menurut waktu) dengan periode atau jangka
waktu tertentu yang telah disaring dan dikumpulkan untuk dipakai sebagai sumber penganalisisan oleh pimpinan perusahaan atau pihak-pihak eksekutif. 3. User
User dapat mengakses data warehouse melalui program aplikasi yang telah di-install ke dalam komputer user.
3.4 Perancangan Data Warehouse
Perancangan data warehouse ini menggunakan Nine-step Methodology, yang meliputi :
3.4.1 Memilih Proses (Choosing the process)
Proses yang digunakan dalam perancangan data warehouse ini yaitu :
a. Produksi
Proses produksi yang dimaksud adalah proses mengubah bahan baku menjadi bahan jadi di pabrik. Dokumen yang dibutuhkan adalah dokumen produksi di mana di dalam dokumen produksi terdapat data bahan baku yang digunakan, data hasil produksi, dan proses produksi. b. Pembelian
Proses pembelian yang dimaksud adalah pembelian bahan baku dari PT. Artha Envirotama ke supplier. Dalam proses ini dokumen yang diperlukan yaitu nota pembelian. Di dalam nota pembelian terdapat data supplier, bahan baku, dan transaksi pembelian.
pembelian yang dimaksud adalah pengembalian bahan baku yang dibeli PT. Artha Envirotama dari supplier karena barang yang rusak. Dalam proses ini dokumen yang diperlukan yaitu formulir retur pembelian. Di dalam retur pembelian terdapat data transaksi retur pembelian.
c. Penjualan
Proses penjualan yang dimaksud adalah penjualan dari PT. Artha Envirotama ke customer. Dalam proses ini dokumen yang diperlukan yaitu nota penjualan. Di dalam nota penjualan terdapat data customer, barang dan transaksi penjualan.
Di dalam proses penjualan terdapat retur penjualan. Proses retur penjualan yang dimaksud adalah pengembalian barang dari customer ke PT. Artha Envirotama karena barang yang rusak. Dalam proses ini dokumen yang diperlukan yaitu formulir retur penjualan. Di dalam retur penjualan terdapat data transaksi retur penjualan.
3.4.2 Memilih Grain (Choosing the grain)
Grain yang digunakan dalam perancangan data warehouse ini yaitu :
a. Produksi
Pada proses produksi, data yang dapat dianalisis meliputi bahan baku yang digunakan, bahan baku yang tak terpakai, hasil produksi yang jadi dan yang cacat.
Pada proses pembelian, data yang dapat dianalisis meliputi kuantitas bahan baku yang dibeli dari supplier dan penawaran harga (best supplier), bahan baku yang paling banyak diretur
c. Penjualan
Pada proses penjualan, data yang dapat dianalisis meliputi barang yang paling laku terjual, barang yang banyak diretur, omset penjualan.
3.4.3 Identifikasi dan Penyesuaian Dimensi (Identifying and conforming the dimensions)
Pada tahap ini dilakukan penyesuaian dimensi dan grain yang ditampilkan dalam bentuk matriks :
a. Produksi
Tabel 3.18 Tabel Grain vs Dimensi pada Produksi Grain Dimensi Perbandingan produksi Waktu X Barang X GroupBarang X Bahan baku X b. Pembelian
Tabel 3.19 Tabel Grain vs Dimensi pada Pembelian
c. Penjualan
Tabel 3.20 Tabel Grain vs Dimensi pada Penjualan Grain Dimensi Barang Paling Laku Barang yang diretur Waktu X X Barang X X GroupBarang X X Customer X X TipeCustomer X X
3.4.4 Memilih Fakta (Choosing the Fact)
Pada tahap ini dilakukan pemilihan fakta. Setiap fakta yang ada memiliki data yang dapat dihitung (bersifat numerik).
a. Produksi meliputi JmlBahan(kuantitas bahan), JmlBahanTakTerpakai(kuantitas bahan tak terpakai), JmlProduksiJadi(kuantitas produksi jadi), JmlProduksiCacat(kuantitas Grain
Dimensi
Best Supplier Bahan baku yang diretur
Waktu X X
Supplier X X
produksi yang cacat).
b. Pembelian meliputi JmlBeli(kuantiítas beli), HargaBeli, JmlReturBeli(kuantitas retur pembelian).
c. Penjualan meliputi JmlJual(kuantitas jual), HargaJual, JmlReturJual (kuantitas retur penjualan).
3.4.5 Menyimpan Pre-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. Produksi meliputi :
• Jumlah bahan yang merupakan jumlah dari JmlBahan(kuantitas bahan)
• Jumlah bahan tak terpakait yang merupakan jumlah dari JmlBahanTakTerpakai(kuantitas bahan tak terpakai)
• Jumlah produksi jadi yang merupakan jumlah dari JmlProduksiJadi(kuantitas produksi jadi)
• Jumlah produksi cacat yang merupakan jumlah dari JmlProduksiCacat(kuantitas produksi cacat)
b. Pembelian meliputi :
• JumlahBeli yang merupakan jumlah dari JmlBeli (kuantitas beli). • TotalBeli yang merupakan jumlah dari (JmlBeli(kuantitas beli)
• JumlahReturBeli yang merupakan jumlah dari JmlReturBeli (kuantitas retur pembelian)).
• TotalReturBeli yang merupakan jumlah dari (JmlReturBeli(kuantitas retur pembelian) dikali HargaBeli).
c. Penjualan meliputi :
• JumlahJual yang merupakan jumlah dari JmlJual (kuantitas jual). • TotalJual yang merupakan jumlah dari (JmlJual(kuantitas jual)
dikali HargaJual).
• JumlahReturJual yang merupakan jumlah dari JmlReturJual (kuantitas retur penjualan).
• TotalReturJual yang merupakan jumlah dari (JmlReturJual(kuantitas retur penjualan) dikali HargaJual).
3.4.6 Rounding Out the Dimension Table
a. Tabel Rounding Out Dimension
Tabel 3. 21 Tabel Rounding Out Dimension
Dimensi Field Deskripsi Hirarki
Waktu Tahun Kuartal Bulan
Laporan dapat dilihat per bulan, per kuartal atau per tahun. Tahun Kuartal Bulan Barang Barang GroupBarang
Laporan dapat dilihat berdasarkan dari barang yang dikelompokkan ke
GroupBarang Barang
dalam group barang. Customer Customer
TipeCustomer
Laporan dapat dilihat berdasarkan customer dan tipecustomer
TipeCustomer Customer
b. Daftar tabel – tabel dimensi • Dimensi Waktu
Tabel 3.22 Tabel Dimensi Waktu
Atribut Tipe data Panjang
WaktuID int 4
Tahun int 4
Kuartal int 4
Bulan int 4
• Dimensi Barang
Tabel 3.23 Tabel Dimensi Barang
Atribut Tipe data Panjang
BarangID int 4
GroupBarangID int 4
KodeBarang varchar 6 NamaBarang varchar 30
Tabel 3.24 Tabel Dimensi GroupBarang
Atribut Tipe data Panjang
GroupBarangID int 4
KodeGroupBarang varchar 6 NamaGroupBarang varchar 20
• Dimensi Bahan Baku
Tabel 3.25 Tabel Dimensi Bahan Baku
Atribut Tipe data Panjang
BahanID int 4 KodeBahan varchar 5 NamaBahan varchar 30
• Dimensi Supplier
Tabel 3.26 Tabel Dimensi Supplier
Atribut Tipe data Panjang
SupplierID int 4
KodeSupplier varchar 5 NamaSupplier varchar 30
• Dimensi Customer
Tabel 3.27 Tabel Dimensi Customer
CustomerID int 4
TipeCustomerID int 4
KodeCustomer varchar 8
NamaCustomer varchar 20
• Dimensi TipeCustomer
Tabel 3.28 Tabel Dimensi TipeCustomer
Atribut Tipe data Panjang
TipeCustomerID int 4
KodeTipeCustomer varchar 6 TipeCustomer varchar 20
c. Perancangan Skema
DimSupplier PK SupplierID KodeSupplier NamaSupplier DimBahanBaku PK BahanID KodeBahan NamaBahan DimWaktu PK WaktuID Bulan Kuartal Tahun DimCustomer PK CustomerID FK1 TipeCustomerID KodeCustomer NamaCustomer DimBarang PK BarangID FK1 GroupBarangID KodeBarang NamaBarang DimTipeCustomer PK TipeCustomerID KodeTipeCustomer TipeCustomer DimGroupBarang PK GroupBarangID KodeGroupBarang NamaGroupBarang FactPembelian FK1 WaktuID FK2 BahanID FK3 SupplierID JumlahBeli JumlahReturBeli TotalPembelian TotalReturBeli FactProduksi FK1 WaktuID FK2 BahanID FK3 BarangID JumlahBahan JumlahBahanTakTerpakai JumlahProduksiJadi JumlahProduksiCacat FactPenjualan FK1 WaktuID FK2 BarangID FK3 CustomerID JumlahJual JumlahReturJual TotalJual TotalReturJual
Gambar 3. 4 Skema Snowflake
3.4.7 Memilih durasi dari basis data (Choosing the duration of the database)
Tabel 3.29 Tabel Durasi Basis Data
Nama Aplikasi Database Database ada sejak tahun Data yang masuk ke Data Warehouse Data Dalam Data Warehouse ARTHA DW ARTHA OPERASIONAL 2004 2004 3 tahun
Bulan Januari –
September 2007
9 bulan
3.4.8 Melacak perubahan dari dimensi secara perlahan (Tracking slowly changing dimensions)
Mengamati perubahan dari dimensi pada dimension table dapat dilakukan dengan 3 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 kedua yaitu jika ada perubahan data, maka data baru akan dimasukkan sebagai record baru dan record lama tetap ada dan tidak dihapus.
3.4.9 Memutuskan prioritas dan mode dari query (Deciding the query priorities and the query modes)
a. Proses Extract, Transformation and Load (ETL)
Proses Extract, Transformation and Load (ETL) akan dilakukan 1 bulan sekali.
b. Proses Backup
Proses backup akan dilakukan setiap akhir bulan sebelum proses ETL dilakukan.
c. Analisis Kapasitas Media Penyimpanan
Di dalam 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 pertumbuhan data secara terus menerus. Demikian halnya dalam perancangan data warehouse, perlu juga dilakukan analisis pertumbuhan data untuk mendapatkan perkiraan kapasitas media penyimpanan yang memadai untuk menampung data dalam beberapa tahun ke depan. 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 dengan 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 merepresentasikan data row header • Rows_Per_Page = 8096 / (Row_Size+2) • Num_of_Pages = Num_Row / Rows_Per_Page • Num_of_Bytes = 8192 × Num_of_Pages
Num_of_Pages
Analisis perkiraan kapasitas media penyimpanan data pada data warehouse PT Artha Envirotama adalah seperti berikut ini, dimana ‘n’ merupakan variabel tahun.
Rn = R × (n + (1+i)n) R = jumlah record
n = tahun
i = persentase pertumbuhan record per tahun
Perhitungan untuk dimensi yang mengalami pertumbuhan data adalah seperti berikut :
Rn = R × (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. Record FactProduksi
Asumsi jumlah record data untuk tahun ini diperkirakan adalah 12000 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 1000 transaksi sehingga jumlah record untuk satu tahun adalah 1000 x 12 yaitu 12000 record. Maka dapat
dihitung jumlah record sampai pada tahun ke-5 :
R5 = 12000 × (5 + (1+0,1)5)
= 79200
Jumlah record FactProduksi pada tahun ke-5 = 79200
Maka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah :
• Num_Row = 79200 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 4 + 4 = 28 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 28 + 4 + 4 = 36 bytes • Rows_Per_Page = 8096 / (36 + 2) = 213 rows • Num_of_Pages = 79200 / 213 = 372 pages • Num_of_Bytes = 8192 × 372 = 3047424 bytes • Num_of_Kbytes = 8192 / 1024 × 372 = 8 × 372 = 2976 Kbytes
• Num_of_Mbytes (Tabel Size) = 2,9 Mbytes
2. Record FactPembelian
Asumsi jumlah record data untuk tahun ini diperkirakan adalah 3600 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 300 transaksi sehingga jumlah record untuk
satu tahun adalah 300 x 12 yaitu 3600 record. Maka dapat dihitung jumlah record sampai pada tahun ke-5 :
R5 = 3600 × (5 + (1+0,1)5)
= 23760
Jumlah record FaktaPembelian pada tahun ke-5 = 23760
Maka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah :
• Num_Row = 23760 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 8 + 8 = 36 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 bytes • Rows_Per_Page = 8096 / (44 + 2) = 176 rows • Num_of_Pages = 23760 / 176 = 135 pages • Num_of_Bytes = 8192 × 135 = 1105920 bytes • Num_of_Kbytes = 8192 / 1024 × 135 = 8 × 135 = 1080 Kbytes
• Num_of_Mbytes (Tabel Size) = 1,054 Mbytes
3. Record FactPenjualan
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 satu tahun adalah 3000 x 12 yaitu 36000 record. Maka dapat dihitung jumlah record sampai pada tahun ke-5 :
R5 = 36000 × (5 + (1+0,1)5)
= 237600
Jumlah record FactPenjualan pada tahun ke-5 = 237600
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah : • Num_Row = 237600 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 8 + 8 = 36 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 bytes • Rows_Per_Page = 8096 / (44 + 2) = 176 rows • Num_of_Pages = 237600 / 176 = 1350 pages • Num_of_Bytes = 8192 × 1350 = 11059200 bytes • Num_of_Kbytes = 8192 / 1024 × 1350 = 8 × 1350 = 10800 Kbytes
• Num_of_Mbytes (Tabel Size) = 10,546 Mbytes
Berikut adalah perhitungan untuk dimensi yang mengalami pertumbuhan data (kecuali dimensi waktu) :
1. Dimensi Waktu
R5 = 36 + 12 + 12 + 12 + 12 + 12
= 96
Jumlah record DimWak tu pada tahun ke-5 = 96
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah : • Num_Row = 96 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 4 + 4 = 16 bytes • Null Bitmap = 2 + ((4+ 7) / 8) = 4 • Row_Size = 16 + 4 + 4 = 24 bytes • Rows_Per_Page = 8096 / (24 + 2) = 311 rows • Num_of_Pages = 96 / 311 = 0,3 pages • Num_of_Bytes = 8192 × 0,3 = 2457 bytes • Num_of_Kbytes = 8192 / 1024 × 0,3 = 8 × 0,3 = 2,4 Kbytes 2. Dimensi Barang R5 = 6 × (1+0.01)5 = 6
Jumlah record DimBarang pada tahun ke-5 = 6
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah :
• Num_Row = 6 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 6 +30 = 44 bytes • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 44 + 3 + 4 = 51 bytes • Rows_Per_Page = 8096 / (51 + 2) = 153 rows • Num_of_Pages = 6 / 153 = 0,04 pages • Num_of_Bytes = 8192 × 0,04 = 327,68 bytes • Num_of_Kbytes = 8192 / 1024 × 0,04 = 8 × 0,04 = 0,32 Kbytes
3. Dimensi Bahan Baku R5 = 20 × (1+0.01)5
= 21
Jumlah record DimBahanBaku pada tahun ke-5 = 21
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah : • Num_Row = 21 • Num_Col = 3 • Fixed_Data_Size = 4 + 5 + 30 = 39 bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 39 + 3 + 4 = 46 bytes
• Rows_Per_Page = 8096 / (46 + 2) = 169 rows • Num_of_Pages = 21 / 169 = 0,12 pages • Num_of_Bytes = 8192 × 0,12 = 983,04 bytes • Num_of_Kbytes = 8192 / 1024 × 0,23= 8 × 0,12 = 0,96 Kbytes 4. Dimensi Supplier R5 = 30 × (1+0.01)5 = 32
Jumlah record DimSupplier pada tahun ke-5 = 32
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah : • Num_Row = 32 • Num_Col = 3 • Fixed_Data_Size = 4 + 5 + 30 = 39 bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 39 + 3 + 4 = 46 bytes • Rows_Per_Page = 8096 / (46 + 2) = 169 rows • Num_of_Pages = 32 / 169 = 0,19 pages • Num_of_Bytes = 8192 × 0,19 = 1556,48 bytes • Num_of_Kbytes = 8192 / 1024 × 0,19 = 8 × 0,19 = 1,52 Kbytes 5. Dimensi Customer
R5 = 1500 × (1+0.01)5
= 1577
Jumlah record DimCustomer pada tahun ke-5 = 1577
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah : • Num_Row = 1577 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 8 + 20 = 36 bytes • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 36 + 3 + 4 = 43 bytes • Rows_Per_Page = 8096 / (43 + 2) = 180 rows • Num_of_Pages = 1577 / 180 = 8,76 pages • Num_of_Bytes = 8192 × 8,76 = 71762 bytes • Num_of_Kbytes = 8192 / 1024 × 8,76= 8 × 8,76 = 70,08 Kbytes
Tabel 3. 30 Analisis Kapasitas Media Penyimpanan 5 Tahun Mendatang Untuk Tabel Fakta
Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai 5 Tahun ke Depan Jumlah Bytes (Mbytes) FactProduksi 36 1000 12000 2,9
FactPembelian 44 3600 23760 1,504
FactPenjualan 44 36000 237600 10,546
Tabel 3. 31 Analisis Kapasitas Media Penyimpanan 5 Tahun Mendatang Untuk Tabel Dimensi
Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai 5 Tahun ke Depan Jumlah Bytes (Kbytes) DimWaktu 24 36 96 2,4 DimBarang 51 6 6 0,32 DimGroupBarang 37 3 3 0,12 DimBahanBaku 46 20 21 0,96 DimSupplier 46 30 32 1,52 DimCustomer 43 1500 1577 70,08 DimTipeCustomer 37 4 4 0,16
Berikut adalah analisis perkiraan kapasitas media penyimpanan untuk 3 tahun sebelumnya
1. Record FactProduksi
Asumsi jumlah record data untuk tahun ini diperkirakan adalah 12000 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 1000 transaksi sehingga jumlah record untuk satu tahun adalah 1000 x 12 yaitu 12000 record. Maka dapat dihitung jumlah record dari tahun 2004 sampai pada tahun 2007:
R5 = 12000 × (3 + (1+0,1)3)
= 51600
Jumlah record FactProduksi pada tahun 2007 = 51600
Maka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah :
• Num_Row = 51600 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 4 + 4 = 28 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 28 + 4 + 4 = 36 bytes • Rows_Per_Page = 8096 / (36 + 2) = 213 rows • Num_of_Pages = 51600 / 213 = 242 pages • Num_of_Bytes = 8192 × 242 = 1982464 bytes • Num_of_Kbytes = 8192 / 1024 × 242 = 8 × 242 = 1936 Kbytes
• Num_of_Mbytes (Tabel Size) = 1,89 Mbytes
2. Record FactPembelian
Asumsi jumlah record data untuk tahun ini diperkirakan adalah 3600 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 300 transaksi sehingga jumlah record untuk
satu tahun adalah 300 x 12 yaitu 3600 record. Maka dapat dihitung jumlah record dari tahun 2004 sampai pada tahun ke 2007 :
R5 = 3600 × (3 + (1+0,1)3)
= 15480
Jumlah record FaktaPembelian pada tahun 2007 = 15480
Maka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah :
• Num_Row = 15480 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 8 + 8 = 36 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 bytes • Rows_Per_Page = 8096 / (44 + 2) = 176 rows • Num_of_Pages = 15480 / 176 = 88 pages • Num_of_Bytes = 8192 × 88 = 720896 bytes • Num_of_Kbytes = 8192 / 1024 × 135 = 8 × 88 = 704 Kbytes
• Num_of_Mbytes (Tabel Size) = 0,687 Mbytes
3. Record FactPenjualan
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 satu tahun adalah 3000 x 12 yaitu 36000 record. Maka dapat dihitung jumlah record dari tahun 2004 sampai pada tahun 2007 :
R5 = 36000 × (3 + (1+0,1)3)
= 154800
Jumlah record FactPenjualan pada tahun ke-3 = 154800
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah : • Num_Row = 154800 • Num_Col = 7 • Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 8 + 8 = 36 bytes • Null Bitmap = 2 + ((7 + 7) / 8) = 4 • Row_Size = 36 + 4 + 4 = 44 bytes • Rows_Per_Page = 8096 / (44 + 2) = 176 rows • Num_of_Pages = 154800 / 176 = 879 pages • Num_of_Bytes = 8192 × 879 = 7200768 bytes • Num_of_Kbytes = 8192 / 1024 × 879 = 8 × 879 = 7032 Kbytes
• Num_of_Mbytes (Tabel Size) = 6,87 Mbytes
Berikut adalah perhitungan untuk dimensi yang mengalami pertumbuhan data (kecuali dimensi waktu) :
1. Dimensi Waktu
R5 = 36 + 12 + 12 + 12
= 72
Jumlah record DimWak tu pada tahun ke-3 = 72
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah : • Num_Row = 72 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 4 + 4 = 16 bytes • Null Bitmap = 2 + ((4+ 7) / 8) = 4 • Row_Size = 16 + 4 + 4 = 24 bytes • Rows_Per_Page = 8096 / (24 + 2) = 311 rows • Num_of_Pages = 72 / 311 = 0,23 pages • Num_of_Bytes = 8192 × 0,23 = 1884 bytes • Num_of_Kbytes = 8192 / 1024 × 0,23 = 8 × 0,23 = 1,84 Kbytes 2. Dimensi Barang R5 = 6 × (1+0.01)3 = 6
Jumlah record DimBarang pada tahun ke-3 = 6
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah :
• Num_Row = 6 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 6 +30 = 44 bytes • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 44 + 3 + 4 = 51 bytes • Rows_Per_Page = 8096 / (51 + 2) = 153 rows • Num_of_Pages = 6 / 153 = 0,04 pages • Num_of_Bytes = 8192 × 0,04 = 327,68 bytes • Num_of_Kbytes = 8192 / 1024 × 0,04 = 8 × 0,04 = 0,32 Kbytes
3. Dimensi Bahan Baku R5 = 20 × (1+0.01)3
= 21
Jumlah record DimBahanBaku pada tahun ke-3 = 21
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah : • Num_Row = 21 • Num_Col = 3 • Fixed_Data_Size = 4 + 5 + 30 = 39 bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 39 + 3 + 4 = 46 bytes
• Rows_Per_Page = 8096 / (46 + 2) = 169 rows • Num_of_Pages = 21 / 169 = 0,12 pages • Num_of_Bytes = 8192 × 0,12 = 983,04 bytes • Num_of_Kbytes = 8192 / 1024 × 0,12= 8 × 0,12 = 0,96 Kbytes 4. Dimensi Supplier R5 = 30 × (1+0.01)3 = 31
Jumlah record DimSupplier pada tahun ke-3 = 31
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah : • Num_Row = 31 • Num_Col = 3 • Fixed_Data_Size = 4 + 5 + 30 = 39 bytes • Null Bitmap = 2 + ((3 + 7) / 8) = 3 • Row_Size = 39 + 3 + 4 = 46 bytes • Rows_Per_Page = 8096 / (46 + 2) = 169 rows • Num_of_Pages = 31 / 169 = 0,18 pages • Num_of_Bytes = 8192 × 0,18 = 1474,56 bytes • Num_of_Kbytes = 8192 / 1024 × 0,18 = 8 × 0,18 = 1,44 Kbytes 5. Dimensi Customer
R5 = 1500 × (1+0.01)3
= 1545
Jumlah record DimCustomer pada tahun ke- 3= 1545
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 3 tahun adalah : • Num_Row = 1545 • Num_Col = 4 • Fixed_Data_Size = 4 + 4 + 8 + 20 = 36 bytes • Null Bitmap = 2 + ((4 + 7) / 8) = 3 • Row_Size = 36 + 3 + 4 = 43 bytes • Rows_Per_Page = 8096 / (43 + 2) = 180 rows • Num_of_Pages = 1545 / 180 = 8,58 pages • Num_of_Bytes = 8192 × 8,58 = 70287,36 bytes • Num_of_Kbytes = 8192 / 1024 × 8,76= 8 × 8,58 = 68,64 Kbytes
Tabel 3. 32 Analisis Kapasitas Media Penyimpanan 3 Tahun Sebelumnya untuk Tabel Fakta
Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai Tahun 2007 Jumlah Bytes (Mbytes) FactProduksi 36 12000 51600 1,89 FactPembelian 44 3600 15480 0,687
FactPenjualan 44 36000 154800 6,87
Tabel 3. 33 Analisis Kapasitas Media Penyimpanan 3 Tahun Sebelumnya untuk Tabel Dimensi
Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Record Sampai 2007 Jumlah Bytes (Kbytes) DimWaktu 24 36 72 1,84 DimBarang 51 6 6 0,32 DimGroupBarang 37 3 3 0,12 DimBahanBaku 46 20 21 0,96 DimSupplier 46 30 31 1,44 DimCustomer 43 1500 1545 68,64 DimTipeCustomer 37 4 4 0,16
Berdasarkan hasil analisis kapasitas media penyimpanan data, dapat diperkirakan kebutuhan kapasitas penyimpanan data untuk data warehouse PT Artha Envirotama adalah minimal sekitar 25 Mbytes untuk jangka waktu tiga tahun sebelumnya ditambah lima tahun mendatang. Oleh karena itu, diperlukan dukungan perangkat keras yang memenuhi kapasitas penyimpanan untuk menyimpan data yang diperlukan.
d. Analisis Pertumbuhan Data
Envirotama adalah sebagai berikut :
Tabel 3. 34 Tabel Analisis Pertumbuhan Data
Nama Tabel Besar Record (Bytes) Jumlah Current Record Jumlah Bytes (Kbytes) Jumlah Tumbuh Record Jumlah Tumbuh (Kbytes) Tumbuh % FactProduksi 36 12000 2976 1200 297,6 10 FactPembelian 44 3600 1080 360 108 10 FactPenjualan 44 36000 10800 3600 1080 10 DimWaktu 24 72 1,84 12 1,84 100 DimBarang 51 6 0,32 11 0,72 1 DimGroupBarang 37 3 0,12 0 0 0 DimBahanBaku 46 20 0,96 2 0,09 1 DimSupplier 46 30 1,52 0,3 0,01 1 DimCustomer 43 1500 70,08 150 7 1 DimTipeCustomer 37 4 0,16 0 0 0 3.4.10 Metadata
Metadata menyangkut tabel pada data warehouse yang mencakup nama database sumber, nama tabel data warehouse itu sendiri beserta deskripsinya. Metadata juga memuat informasi yang mencakup rincian tabel, mengenai nama field, tipe field, ukuran field dan field yang menjadi field kunci. Berikut merupakan metadata dari data warehouse PT Artha Envirotama:
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimWaktu
Deskripsi Tabel : Tabel dimensi waktu
Tabel 3. 35 Tabel Metadata DimWaktu Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
WaktuID int 4 WaktuID int 4 DimWaktu create
Tahun int 4 Tahun int 4 create
Bulan int 4 Bulan int 4 create
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimBarang
Deskripsi Tabel : Tabel dimensi barang
Tabel 3. 36 Tabel Metadata DimBarang Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
BarangID int 4 BarangID int 4 DimBarang create
GroupBarangID int 4 GroupBarangID int 4 DimGroupBarang copy
KodeBarang varchar 6 KodeBarang varchar 6 MsBarang copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimGroupBarang
Deskripsi Tabel : Tabel dimensi group barang
Tabel 3. 37 Tabel Metadata DimGroupBarang Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
GroupBarangID int 4 GroupBarangID int 4 DimGroupBarang create
KodeGroupBarang varchar 6 KodeGroupBarang varchar 6 MsGroupBarang copy NamaGroupBarang varchar 20 NamaBarang varchar 20 MsGroupBarang copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimBahanBaku
Deskripsi Tabel : Tabel dimensi bahan baku
Tabel 3. 38 Tabel Metadata DimBahanBaku Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
BahanID int 4 BahanID int 4 DimBahan create
KodeBahan varchar 5 KodeBahan varchar 5 MsBahan copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimSupplier
Deskripsi Tabel : Tabel dimensi supplier
Tabel 3. 39 Tabel Metadata DimSupplier Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
SupplierID int 4 SupplierID int 4 DimSupplier create
KodeSupplier varchar 5 KodeSupplier varchar 5 MsSupplier copy NamaSupplier varchar 30 NamaSupplier varchar 30 MsSupplier copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimCustomer
Deskripsi Tabel : Tabel dimensi customer
Tabel 3. 40 Tabel Metadata DimCustomer Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
CustomerID int 4 CustomerID int 4 DimCustomer create
TipeCustomerID int 4 TipeCustomerID int 4 DimTipeCustomer copy
KodeCustomer varchar 8 KodeCustomer varchar 8 MsCustomer copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : DimTipeCustomer
Deskripsi Tabel : Tabel dimensi tipe customer
Tabel 3. 41 Tabel Metadata DimTipeCustomer Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
TipeCustomerID int 4 TipeCustomerID int 4 DimTipeCustomer create
KodeTipeCustomer varchar 6 KodeTipeCustomer varchar 6 MsTipeCustomer copy TipeCustomer varchar 20 TipeCustomer varchar 20 MsTipeCustomer copy
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : FactProduksi Deskripsi Tabel : Tabel Fact Produksi
Tabel 3. 42 Tabel Metadata FactProduksi Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
WaktuID int 4 WaktuID int 4 DimWaktu copy WaktuID di mana DimWaktu.bulan =
month(TrProduksi.tanggal) dan DimWaktu.kuartal=case when
month(TrProduksi.tanggal) between 1 and 3 Then 1 when
month(TrProduksi.tanggal) between 4 and 6 Then 2 when
month(TrProduksi.tanggal) between 7 and 9 Then 3 when
month(TrProduksi.tanggal) between 10 and 12 Then 4 dan DimWaktu.tahun = year(TrProduksi.tanggal) BahanID int 4 BahanID int 4 DimBahan copy BahanID di mana
DimBahan.KodeBahan = TrProduksi.KodeBahan BarangID int 4 BarangID int 4 DimBarang copy BarangID di mana
=TrProduksi.KodeBarang JumlahBah
an
int 4 sum(qty) int 4 calculate
JumlahBah anTakTerp kai
int 4 sum(qty) int 4 calculate
JumlahProd uksiJadi
int 4 sum(qty) int 4 calculate
JumlahProd uksiCacat
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : FactPembelian Deskripsi Tabel : Tabel Fact Pembelian
Tabel 3. 43 Tabel Metadata FactPembelian Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
WaktuID int 4 WaktuID int 4 DimWaktu copy WaktuID di mana
DimWaktu.bulan = month(TrHeaderPembelian.tan ggal) dan DimWaktu.kuartal=case when month(TrHeaderPembelian.tan ggal) between 1 and 3 Then 1
when
month(TrHeaderPembelian.tan ggal) between 4 and 6 Then 2 when
month(TrHeaderPembelian.tan ggal) between 7 and 9 Then 3 when
month(TrHeaderPembelian.tan ggal) between 10 and 12Then4 dan DimWaktu.tahun =
year(TrHeaderPembelian.tangg al)
BahanID int 4 BahanID int 4 DimBahan copy BahanID di mana
DimBahan.KodeBahan = TrDetailPembelian.KodeBahan
SupplierID int 4 SupplierID int 4 DimSupplier copy SupplierID di mana
DimSupplier.KodeSupplier =TrHeaderPembelian.Kode Supplier
JumlahBeli int 4 sum(qty) int 4 calculate
JumlahRetu rBeli
int 4 sum(qty) int 4 calculate
TotalBeli money 8 sum(qty * hargabeli) money 8 calculate TotalRetur Beli money 8 sum(qty * hargabeli) money 8 calculate
DBMS : SQL Server Nama Database : Artha Operasional Nama Tabel : FactPenjualan Deskripsi Tabel : Tabel Fact Penjualan
Tabel 3. 44 Tabel Metadata FactPenjualan Sumber Data
Field Tipe Ukuran
Field Tipe Ukuran Tabel
Transformasi
WaktuID int 4 WaktuID int 4 DimWaktu copy WaktuID di mana
DimWaktu.bulan = month(TrHeaderPenjualan.tan ggal) dan DimWaktu.kuartal=case when month(TrHeaderPenjualan.tan ggal) between 1 and 3 Then 1
when
month(TrHeaderPenjualan.tan ggal) between 4 and 6 Then 2 when
month(TrHeaderPenjualan.tan ggal) between 7 and 9 Then 3 when
month(TrHeaderPenjualan.tan ggal) between 10 and 12Then4 dan DimWaktu.tahun =
year(TrHeaderPenjualan.tangg al)
BarangID int 4 BarangID int 4 DimBarang copy BarangID di mana
DimBarang.KodeBarang = TrDetailPenjualan.KodeBaran
g CustomerI
D
int 4 CustomerID int 4 DimCustomer copy CustomerID di mana
DimCustomer.KodeCustomer = TrHeaderPenjualan.Kode Customer
JumlahJual int 4 sum(qty) int 4 calculate
JumlahRetu rJual
int 4 sum(qty) int 4 calculate
TotalJual money 8 sum(qty * hargajual) money 8 calculate TotalReturJ ual money 8 sum(qty * hargajual) money 8 calculate
3.5 Transformasi Data
Proses transformasi data dimulai dari tabel DimBahanBaku, DimBarang, DimCustomer, DimGroupBarang, DimSupplier, DimTipeSupplier, DimWaktu, FactPenjualan, FactPembelian, FactProduksi yang akan dijabarkan sebagai berikut :
a. DimBahanBaku
Gambar 3.5 Gambar Rancangan Package DTS Dim BahanBaku
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsBahanBaku' )
SELECT KodeBahan, NamaBahan
FROM [Artha_Operasional].[dbo].MsBahanBaku AS B WHERE
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsBahanBaku'
)
ELSE
SELECT KodeBahan, NamaBahan
FROM [Artha_Operasional].[dbo].MsBahanBaku AS B
b. DimBarang
Gambar 3.6 Gambar Rancangan Package DTS Dim Barang
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsBarang' )
FROM [Artha_Operasional].[dbo].MsBarang AS B, [AE_DW].[dbo].DimGroupBarang AS GB
WHERE
B.KodeGroupBarang = GB.KodeGroupBarang AND InsertedDate >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsBarang'
) ELSE
SELECT GroupBarangID, KodeBarang, NamaBarang FROM [Artha_Operasional].[dbo].MsBarang AS B, [AE_DW].[dbo].DimGroupBarang AS GB
WHERE B.KodeGroupBarang = GB.KodeGroupBarang
c. DimCustomer
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsCustomer' )
SELECT TipeCustomerID,KodeCustomer, NamaCustomer FROM [Artha_Operasional].[dbo].MsCustomer as M, [AE_DW].[dbo].DimTipeCustomer as TC
WHERE M.KodeTipeCustomer = TC.KodeTipeCustomer AND InsertedDate >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsCustomer' )
ELSE
SELECT TipeCustomerID, KodeCustomer, NamaCustomer FROM [Artha_Operasional].[dbo].MsCustomer as M, [AE_DW].[dbo].DimTipeCustomer as TC
WHERE M.KodeTipeCustomer = TC.KodeTipeCustomer
Gambar 3.8 Gambar Rancangan Package DTS Dim GroupBarang
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsGroupBarang' )
SELECT KodeGroupBarang, NamaGroupBarang FROM [Artha_Operasional].[dbo].MsGroupBarang
WHERE InsertedDate >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsGroupBarang' )
ELSE
SELECT KodeGroupBarang, NamaGroupBarang FROM [Artha_Operasional].[dbo].MsGroupBarang
e. DimSupplier
Gambar 3.9 Gambar Rancangan Package DTS Dim Supplier
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsSupplier' )
SELECT KodeSupplier, NamaSupplier
FROM [Artha_Operasional].[dbo].MsSupplier AS S WHERE
InsertedDate >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsSupplier' )
SELECT KodeSupplier, NamaSupplier
FROM [Artha_Operasional].[dbo].MsSupplier AS S
f. DimTipeCustomer
Gambar 3.10 Gambar Rancangan Package DTS Dim TipeCustomer
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsTipeCustomer' )
SELECT KodeTipeCustomer, TipeCustomer FROM [Artha_Operasional].[dbo].MsTipeCustomer
WHERE InsertedDate >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'MsTipeCustomer'
) ELSE
SELECT KodeTipeCustomer, TipeCustomer FROM [Artha_Operasional].[dbo].MsTipeCustomer
g. DimWaktu
Gambar 3.11 Gambar Rancangan Package DTS Dim Waktu
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Waktu'
)
SELECT
YEAR( Tgl ) AS [Tahun], [Kuartal] =
WHEN MONTH( Tgl ) BETWEEN 1 AND 3 THEN 1 WHEN MONTH( Tgl ) BETWEEN 4 AND 6 THEN 2 WHEN MONTH( Tgl ) BETWEEN 7 AND 9 THEN 3 WHEN MONTH( Tgl ) BETWEEN 10 AND 12 THEN 4 END,
MONTH( Tgl ) AS [Bulan] FROM
( SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderPembelian UNION
SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderPenjualan UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderProduksi UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderReturJual UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderReturBeli ) AS Tgl
WHERE
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Waktu'
) ELSE SELECT YEAR( Tgl ) AS [Tahun], [Kuartal] = CASE
WHEN MONTH( Tgl ) BETWEEN 1 AND 3 THEN 1 WHEN MONTH( Tgl ) BETWEEN 4 AND 6 THEN 2 WHEN MONTH( Tgl ) BETWEEN 7 AND 9 THEN 3 WHEN MONTH( Tgl ) BETWEEN 10 AND 12 THEN 4 END,
MONTH( Tgl ) AS [Bulan] FROM
( SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderPembelian UNION
SELECT DISTINCT Tanggal AS Tgl, InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderPenjualan UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderProduksi
UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderReturJual UNION
SELECT DISTINCT Tanggal AS Tgl,InsertedDate FROM [Artha_Operasional].[dbo].TrHeaderReturBeli ) AS Tgl
h. FactPenjualan
Gambar 3.12 Gambar Rancangan Package DTS Fact Penjualan
IF EXISTS
( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Penjualan'
)
SUM(DP.JmlJual) AS Jumlah,
SUM(DP.JmlJual * B.hargajual) AS [Total Jual], SUM(DR.JmlReturJual)as JumlahRetur, SUM(DR.JmlReturJual*B.hargajual) AS [Total Retur]
FROM [Artha_Operasional].[dbo].TrHeaderPenjualan AS HP, [Artha_Operasional].[dbo].TrDetailPenjualan AS DP, [Artha_Operasional].[dbo].TrHeaderReturJual AS HR, [Artha_Operasional].[dbo].TrDetailReturJual AS DR, [Artha_Operasional].[dbo].MsBarang AS B, [Artha_Operasional].[dbo].MsCustomer AS C, [AE_DW].[dbo].DimWaktu AS DimWk, [AE_DW].[dbo].DimBarang AS DimBr, [AE_DW].[dbo].DimCustomer AS DimCm WHERE
HP.NoFakturJual = DP.NoFakturJual AND HP.KodeCustomer = C.KodeCustomer AND C.KodeCustomer = DimCm.KodeCustomer AND DP.KodeBarang = B.KodeBarang AND
B.KodeBarang = DimBr.KodeBarang AND HP.NoFakturJual = HR.NoFakturJual AND HR.KodeReturJual = DR.KodeReturJual AND YEAR( HP.Tanggal ) = DimWk.Tahun AND MONTH( HP.Tanggal ) = DimWk.Bulan AND
HP.Tanggal >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Penjualan'
)
GROUP BY WaktuID, BarangID, CustomerID ELSE
SELECT WaktuID, BarangID, CustomerID,
SUM(DP.JmlJual) AS Jumlah,
SUM(DP.JmlJual * B.hargajual) AS [Total Jual], SUM(DR.JmlReturJual)as JumlahRetur,
SUM(DR.JmlReturJual*B.hargajual)AS [Total Retur]
FROM [Artha_Operasional].[dbo].TrHeaderPenjualan AS HP, [Artha_Operasional].[dbo].TrDetailPenjualan AS DP, [Artha_Operasional].[dbo].TrHeaderReturJual AS HR, [Artha_Operasional].[dbo].TrDetailReturJual AS DR, [Artha_Operasional].[dbo].MsBarang AS B, [Artha_Operasional].[dbo].MsCustomer AS C, [AE_DW].[dbo].DimWaktu AS DimWk, [AE_DW].[dbo].DimBarang AS DimBr, [AE_DW].[dbo].DimCustomer AS DimCm WHERE
HP.KodeCustomer = C.KodeCustomer AND C.KodeCustomer= DimCm.KodeCustomer AND DP.KodeBarang = B.KodeBarang AND
B.KodeBarang = DimBr.KodeBarang AND HP.NoFakturJual = HR.NoFakturJual AND HR.KodeReturJual = DR.KodeReturJual AND YEAR( HP.Tanggal ) = DimWk.Tahun AND MONTH( HP.Tanggal ) = DimWk.Bulan GROUP BY WaktuID, BarangID, CustomerID i. FactPembelian
Gambar 3.13 Gambar Rancangan Package DTS Fact Pembelian
IF EXISTS ( SELECT *
FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Pembelian' )
SELECT WaktuID, BahanID,SupplierID, SUM(DP.JmlBeli) AS Jumlah,
SUM(DP.JmlBeli * BB.hargabeli) AS [Total Beli], SUM(DR.JmlReturBeli)as JumlahRetur,
SUM(DR.JmlReturBeli*BB.hargabeli)AS [Total Retur] FROM [Artha_Operasional].[dbo].TrHeaderPembelian AS HP, [Artha_Operasional].[dbo].TrDetailPembelian AS DP, [Artha_Operasional].[dbo].TrHeaderReturBeli AS HR, [Artha_Operasional].[dbo].TrDetailReturBeli AS DR, [Artha_Operasional].[dbo].MsBahanBaku AS BB, [Artha_Operasional].[dbo].MsSupplier AS S, [AE_DW].[dbo].DimWaktu AS DimWk, [AE_DW].[dbo].DimBahanBaku AS DimBb, [AE_DW].[dbo].DimSupplier AS DimSp WHERE
HP.NoFakturBeli = DP.NoFakturBeli AND HP.KodeSupplier = S.KodeSupplier AND S.KodeSupplier = DimSp.KodeSupplier AND DP.KodeBahan = BB.KodeBahan AND
BB.KodeBahan = DimBb.KodeBahan AND HP.NoFakturBeli = HR.NoFakturBeli AND HR.KodeReturBeli = Dr.KodeReturBeli AND YEAR( HP.Tanggal ) = DimWk.Tahun AND
MONTH( HP.Tanggal ) = DimWk.Bulan AND HP.Tanggal >
( SELECT Last_ETL_Process_Date FROM [AE_DW].[dbo].FilterTimeStamp WHERE Table_Name = 'Pembelian'
)
GROUP BY WaktuID, BahanID, SupplierID ELSE
SELECT WaktuID, BahanID, SupplierID, SUM (DP.JmlBeli) AS Jumlah,
SUM (DP.JmlBeli * BB.hargabeli) AS [Total Beli], SUM (DR.JmlReturBeli)as JumlahRetur,
SUM (DR.JmlReturBeli*BB.hargabeli)AS [Total Retur] FROM [Artha_Operasional].[dbo].TrHeaderPembelian AS HP, [Artha_Operasional].[dbo].TrDetailPembelian AS DP, [Artha_Operasional].[dbo].TrHeaderReturBeli AS HR, [Artha_Operasional].[dbo].TrDetailReturBeli AS DR, [Artha_Operasional].[dbo].MsBahanBaku AS BB, [Artha_Operasional].[dbo].MsSupplier AS S, [AE_DW].[dbo].DimWaktu AS DimWk, [AE_DW].[dbo].DimBahanBaku AS DimBb, [AE_DW].[dbo].DimSupplier AS DimSp WHERE
HP.NoFakturBeli = DP.NoFakturBeli AND HP.KodeSupplier = S.KodeSupplier AND S.KodeSupplier = DimSp.KodeSupplier AND DP.KodeBahan = BB.KodeBahan AND
BB.KodeBahan = DimBb.KodeBahan AND HP.NoFakturBeli = HR.NoFakturBeli AND HR.KodeReturBeli = Dr.KodeReturBeli AND YEAR( HP.Tanggal ) = DimWk.Tahun AND MONTH( HP.Tanggal ) = DimWk.Bulan GROUP BY WaktuID, BahanID, SupplierID
j. FactProduksi
Gambar 3.14 Gambar Rancangan Package DTS Fact Produksi
IF EXISTS
( SELECT *
WHERE Table_Name = 'Produksi' ) SELECT WaktuID, BahanID, BarangID,
SUM(DP.JumlahBahan)as [Jumlah Bahan],
SUM(DP.JumlahBahanTakTerpakai) as [Jumlah Bahan Tak Terpakai],
SUM(DP.JumlahProduksiJadi) AS [Jumlah Produksi Jadi], SUM(DP.JumlahProduksiCacat) as [Jumlah Produksi Cacat] FROM [Artha_Operasional].[dbo].TrHeaderProduksi AS HP, [Artha_Operasional].[dbo].TrDetailProduksi AS DP, [Artha_Operasional].[dbo].MsBarang AS B, [Artha_Operasional].[dbo].MsBahanBaku AS BB, [AE_DW].[dbo].DimWaktu AS DimWk, [AE_DW].[dbo].DimBarang AS DimBr, [AE_DW].[dbo].DimBahanBaku AS DimBn WHERE
HP.KodeProduksi = DP.KodeProduksi AND DP.KodeBahan = BB.KodeBahan AND BB.KodeBahan = DimBn.KodeBahan AND DP.KodeBarang = B.KodeBarang AND