Anda di halaman 1dari 12

Kasus I PT. GARUDA RAYA (GR) PT.

GR adalah sebuah perusahaan penerbangan yang mempunyai hampir +/- 250 unit pesawat terbang dengan berbagai tipe ukuran mulai dari ukuran 20 penumpang sampai dengan kapal terbang AIRBUS-300 . Karyawan dari PT. GR ini juga sudah mencapai +/-1.000 karyawan dengan lebih dari 30 Department. PT. GR melayani penerbangan Domestik maupun International. Hampir setiap hari semua unit pesawat terbang melakukan penerbangan untuk melayani penumpang. Dari kasus diatas buatlah 1. 2. 3. E.R.D : Entity Relationship Diagram (gambarkan hubungan relation nya) Buat Star Schema (tentukan table Dimensi dan table Fact nya) Buat Tampilan Analisa Tabel seperti Pivot di Excel

Tambahkan Asumsi jika dirasa soal kurang jelas atau kurang detail ------------- Selamat Mengerjakan ------------Kasus II
PT. Blueclothing merupakan sebuah perusahaan yang bergerak di bidang garment. Perusahaan ini menyediakan berbagai jenis pakaian untuk pria maupun wanita. Seiring dengan berjalannya waktu, perusahaan ini pun menjadi semakin berkembang, transaksi transaksi yang terjadi setiap harinya bertambah banyak. Oleh karena ini para topmanager perusahaan ini membutuhkan sebuah data warehouse untuk mempermudah dalam menganalisis perusahaan mereka dan mengambil keputusan. Dengan begitu perusahaan ini semakin maju lagi. Anda sebagai seorang DatabaseAdministrator diberi tugas untuk membangun sebuah data warehouse yang dapat menangani informasi internal yang berhubungan dengan transaksi transaksi yang terjadi. Dan informasi yang diberikan adalah sebagai berikut : GM membutuhkan laporan mengenai penjualan, meliputi jumlah penjualan baju dan total penjualan baju. Total Penjualan didapat dari harga jual baju dikali jumlah baju yang dijual. GM membutuhkan laporan mengenai pembelian, meliputi jumlah pembelian baju dan total pembelian baju. Total Pembelian didapat dari harga beli baju dikali jumlah baju yang dibeli. GM membutuhkan laporan mengenai penyewaan, meliputi jumlah penyewaan baju dan total penyewaan baju. Total Penyewaan didapat dari harga sewa baju dikali jumlah baju yang disewa. GM membutuhkan laporan mengenai laundry, meliputi jumlah laundry dan rata-rata laundry. Rata-rata Laundry didapat dari rata-rata perkalian dari jumlah laundry dengan harga laundry. GM membutuhkan laporan tersebut setiap bulan, kuartal (per empat bulan), dan tahunan. Laporan tersebut juga harus dapat dilihat dari segi pelanggan, supplier, baju, toko, jenis laundry, dan karyawan (termasuk jenis kelamin karyawan dan jabatan). Dibutuhkan juga laporan ad-hoc yang dapat diminta kapan saja oleh GM.

Keterangan : Pada transaksi penjualan baju, akan dicatat Kode Karyawan yang melakukan transaksi, Kode Pelanggan, Tanggal Transaksi, Kode Baju yang dijual dan Jumlah baju untuk masing masing baju yang dijual. Pada transaksi pembelian baju, akan dicatat Kode Karyawan yang melakukan transaksi, Kode Supplier, Tanggal Transaksi, Kode Baju yang dibeli dan Jumlah baju untuk masing masing baju yang dibeli. Pada transaksi penyewaan baju, akan dicatat Kode Karyawan yang melakukan transaksi, Kode Pelanggan, Tanggal Transaksi, Kode Baju yang disewa dan Jumlah baju untuk masing masing baju yang disewa. Pada transaksi laundry baju, akan dicatat Kode Karyawan yang melakukan transaksi, Kode Pelanggan, Tanggal Transaksi, Kode Jenis Laundry yang dilakukan dan Jumlah untuk masing masing jenis laundry yang terjadi. Setiap Karyawan memiliki satu jabatan. Setiap ada data yang di-insert atau di-update, tanggal dicatat pada fieldInsertedDate. Tabel operasi relationalnya

a. Identification Table OLTP Kita mulai dengan mengidentifikasi tabel pada database OLTP dengan memisahkannya menjadi table master dan table transaksi. Table Master MsBaju MsKaryawan MsSupplier MsProvinsi MsPelanggan MsToko MsJenisLaundry Table Transaction TrHeaderPenjualan TrDetailPenjualan TrHeaderPembelian TrDetaiPembelian TrHeaderPenyewaan TrDetailPenyewaan TrHeaderLaundry TrDetailLaundry

b. Measuring data from OLTP Tahap berikutnya adalah mengidentifikasi measure sesuai kebutuhan berdasarkan permintaan. (Perhatikan bagaimana cara menganalisa di bagian THEORY) . Measure Jumlah Penjualan : sum(Qty) Total biaya penjualan :sum(Qty*HargaJual) Jumlah Pembelian : sum(Qty) Total biaya pembelian : sum(Qty*HargaBeli) Jumlah Penyewaan : sum(Qty) Total biaya penyewaan : sum(Qty*HargaSewa) Jumlah Laundry : sum(Qty) Rata-rata biaya laundry : avg(Qty*HargaLaundry) c. Design Fact Table and Dimension Table Tahap berikutnya adalah mengidentifikasi serta merancang tabel fakta dan tabel dimensi sesuai kebutuhan berdasarkan permintaan (Perhatikan bagaimana cara menganalisa di bagian THEORY). Dimensi Dimensi Waktu ----------------WaktuID Hari Bulan Kuartal Tahun Dimensi Pelanggan -----------------------PelangganID KodePelanggan NamaPelanggan Dimensi Karyawan ----------------------KaryawanID KodeKaryawan NamaKaryawan JenisKelamin

Jabatan Dimensi Toko ----------------TokoID KodeToko NamaToko Dimensi JenisLaundry -------------------------JenisLaundryID KodeJenisLaundry JenisLaundry Dimensi Baju ---------------BajuID KodeBaju Merk Dimensi Supplier --------------------SupplierID KodeSupplier NamaSupplier JenisSupplier Fakta Fakta Penjualan ------------------WaktuID KaryawanID PelangganID BajuID TokoID JumlahBajuTerjual TotalPenjualanBaju Fakta Pembelian --------------------

WaktuID KaryawanID SupplierID BajuID TokoID JumlahBajuDibeli TotalPembelianBaju Fakta Penyewaan --------------------WaktuID KaryawanID PelangganID BajuID TokoID JumlahBajuDisewa TotalPenyewaanBaju Fakta Laundry ----------------WaktuID KaryawanID PelangganID TokoID JenisLaundryID JumlahLaundry RataRataBiayaLaundry Tahap berikutnya adalah merancang table definition untuk tabel fakta dan tabel transaksi(Saran : Sebaiknya Samakan Definitionnya dengan yang di OLTP)

createtable DimensiWaktu ( WaktuID intidentityprimarykey, Tgl datetime, Hari int, Bulan int, Kuartal int, Tahun int, ) createtable DimensiKaryawan ( KaryawanID intidentityprimarykey, KodeKaryawan varchar(100), NamaKaryawan varchar(100), JenisKelamin varchar(100), Jabatan varchar(100), Statusvarchar(100), ) createtable DimensiPelanggan ( PelangganID intidentityprimarykey, KodePelanggan varchar(100), NamaPelanggan varchar(100), ) createtable DimensiToko ( TokoID intidentityprimarykey, KodeToko varchar(100), NamaToko varchar(100), ) createtable DimensiJenisLaundry ( JenisLaundryID intidentityprimarykey, KodeJenisLaundry varchar(100), JenisLaundry varchar(100), ) createtable DimensiBaju ( BajuID intidentityprimarykey, KodeBaju varchar(100), Merk varchar(100), )

createtable DimensiSupplier ( SupplierID intidentityprimarykey, KodeSupplier varchar(100), NamaSupplier varchar(100), JenisSupplier varchar(100), ) createtable FaktaPenjualanBaju ( WaktuID int, KaryawanID int, PelangganID int, BajuID int, TokoID int, JumlahBajuTerjual int, TotalPenjualanBaju numeric(15,2), ) createtable FaktaPembelianBaju ( WaktuID int, KaryawanID int, SupplierID int, BajuID int, TokoID int, JumlahBajuDibeli int, TotalPembelianBaju numeric(15,2), ) createtable FaktaPenyewaanBaju ( WaktuID int, KaryawanID int, PelangganID int, BajuID int, TokoID int, JumlahBajuDisewa int, TotalPenyewaanBaju numeric(15,2), ) createtable FaktaLaundryBaju ( WaktuID int, KaryawanID int, PelangganID int, TokoID int, JenisLaundryID int, JumlahLaundry int, RataRataBiayaLaundry numeric(15,2), )
Jangan lupa tambahkan satu buah tabel untuk mencatat waktu saat kita melakukan DTS (Data transformation Services) yaitu Tabel FilterTimeStamp.

createtable FilterTimeStamp ( NamaTable varchar(100)primarykey, Last_ETL datetime, )


dst.

KASUS III

Contoh PT. XYZ, Tbk. adalah perusahaan yang bergerak di bidang perbankan. Perusahaan ini telah membuka lebih dari 350 cabang yang tersebar di 120 kota di seluruh Indonesia. Pada saat ini, semua transaksi perbankan di simpan dalam database tradisional. Namun, karena perkembangan perusahaan yang begitu pesat serta diiringi oleh kebutuhan akan informasi yang cepat, tepat guna, dan akurat maka perusahaan membutuhkan data warehouse. Cabang dibedakan menjadi dua jenis, yaitu: kantor cabang utama dan kantor cabang pembantu. Kantor cabang pembantu hanya bertugas membantu transaksi perbankan yang mungkin tidak terlayani oleh kantor cabang utama. Tetapi transaksi yang ada tetap dibedakan. Setiap pegawai hanya bekerja pada satu kantor cabang, entah itu kantor cabang utama maupun kantor cabang pembantu. Jenis tabungan pada Bank Bluejacket ada 4 jenis, yaitu: Tahapan Bluejacket, Super Savings, Star Savings, dan Bluejacket Yunior.

Setelah melakukan interview dengan General Manager PT. XYZ, Tbk. maka didapatlah beberapa hal berikut: Dibutuhkan laporan mengenai transaksi penyetoran uang tunai yang dilakukan oleh nasabah. Dalam laporan ini tampilkan jumlah uang yang disetor oleh nasabah. Dibutuhkan laporan mengenai transaksi penarikan uang tunai yang dilakukan nasabah di bank. Dalam laporan ini tampilkan jumlah uang yang ditarik oleh nasabah. Dibutuhkan juga laporan mengenai transaksi penarikan uang tunai melalui ATM. Dalam laporan ini tampilkan jumlah uang yang ditarik oleh nasabah. Dibutuhkan laporan mengenai transaksi pemindahbukuan yang dilakukan nasabah (yang melakukan pemindahbukuan). Dalam laporan ini tampilkan jumlah uang yang dipindahbukukan oleh nasabah ke rekening nasabah lain. Dibutuhkan laporan mengenai banyaknya nasabah yang masih aktif. Dalam laporan ini tampilkan juga jumlah rekening nasabah bersangkutan yang masih aktif. Laporan-laporan tersebut nantinya akan dievaluasi berkala setiap bulan, triwulan, dan tahun. Tapi tidak menutup kemungkinan juga akan dibutuhkan laporan ad-hoc yang tersedia setiap harinya. Laporan juga harus dapat dilihat berdasarkan nasabah, jenis tabungan, jenis cabang, dan kantor cabang.

OLTP

Dalam data warehouse, laporan yang dilihat tidak memuat informasi yang detail karena data yang ada dalam data warehouse hanya ditujukan untuk laporan secara garis besar saja untuk pengambilan keputusan. Berikut adalah hasilnya : a. Dimensi Dimensi Cabang

Dimensi Jenis Cabang

Dimensi Jenis Tabungan

Dimensi Nasabah

Dimensi Waktu

b. Fakta Fakta Nasabah Aktif

Fakta Pemindahan Buku

Fakta Penarikan ATM

Fakta Penarikan Tunai

Fakta Setoran

Surrogate key adalah key yang unik yang digunakan sebagai primary key pada tabel tersebut tapi key ini bukan hasil dari turunan data manapun (alias kita buat sendiri dan fungsinya hanya sebagai penanda yang sifatnya unik). Setelah kita membuat database datawarehouse sesuai dengan fact dan dimensi di atas, lalu tambahkan field InsertedDate (nama field bebas) di setiap table pada database OLTP agar data yang ditarik ke data warehouse nantinya tidak akan redundan. Contoh pemberian field ke table Jenis Cabang :

Field tanggal entri data tersebut dibuat berdasarkan tanggal dimasukkannya data per baris. Setelah ditambahkan tanggal entri pada OLTP, maka buat satu table FilterTimeStamp (nama table bebas) yang digunakan untuk menyimpan

waktu terakhir menarik data dari OLTP ke datawarehouse per tiap dimensi dan fakta. Contoh table penyimpanan tersebut :

Field Process Date akan selalu diupdate setiap dilakukan perpindahan data dari OLTP ke data warehouse sehingga akan menunjukkan tanggal dan waktu terakhir data tersebut dipindahkan. Field Table Name hanya menunjukkan nama table yang telah dipindahkan pada tanggal dan waktu yang ditujukan. STAR SCHEMA Setelah melakukan analisa di atas, maka akan terbentuk star schema untuk setiap fakta yang dapat dibuat dari SQL Server 2008. Contoh star schema Fact Nasabah Aktif: