UNIVERSITAS INDONESIA
IMPLEMENTASI DATA WAREHOUSE DAN BUSINESS INTELLIGENCE UNTUK MEMONITOR PENJUALAN SALES GROUP: STUDI KASUS PADA PT. XYZ
KARYA AKHIR
DEVRIADY PRATAMA 1106041893
FAKULTAS ILMU KOMPUTER PROGRAM STUDI MAGISTER TEKNOLOGI INFORMASI JAKARTA JANUARI 2013
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
UNIVERSITAS INDONESIA
IMPLEMENTASI DATA WAREHOUSE DAN BUSINESS INTELLIGENCE UNTUK MEMONITOR PENJUALAN SALES GROUP: STUDI KASUS PADA PT. XYZ
KARYA AKHIR Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Teknologi Informasi
DEVRIADY PRATAMA 1106041893
FAKULTAS ILMU KOMPUTER PROGRAM STUDI MAGISTER TEKNOLOGI INFORMASI JAKARTA JANUARI 2013
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
HALAMAN PERNYATAAN ORISINALITAS
Karya Akhir ini adalah hasil karya saya sendiri, dan semua sumber, baik yang dikutip maupun dirujuk telah saya nyatakan dengan benar.
Nama
: Devriady Pratama
NPM
: 1106041893
Tanda Tangan
: .................................
Tanggal
: 21 Januari 2013
ii
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
HALAMAN PENGESAHAN
Karya Akhir ini diajukan oleh Nama NPM Program Studi Judul Karya Akhir
: : : : :
Devriady Pratama 1106041893 Magister Teknologi Informasi Implementasi Data Warehouse dan Business Intelligence untuk Memonitor Penjualan Sales Group: Studi Kasus pada PT. XYZ
Telah berhasil dipertahankan di hadapan Dewan Penguji dan diterima sebagai bagian persyaratan yang diperlukan untuk memperoleh gelar Magister Teknologi Informasi pada Program Studi Magister Teknologi Informasi, Fakultas Ilmu Komputer, Universitas Indonesia.
DEWAN PENGUJI
Pembimbing I
: Yova Ruldeviyani, M.Kom. (..................................)
Pembimbing II
: -
(..................................)
Penguji
: Dr. Indra Budi
(..................................)
Penguji
: Yudho Giri Sucahyo, Ph.D. (..................................)
Ditetapkan di Tanggal
: :
Jakarta 21 Januari 2013
iii
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
KATA PENGANTAR/UCAPAN TERIMA KASIH
Puji syukur saya haturkan kepada Allah SWT yang telah memberikan berkat dan rahmat-Nya sehingga saya dapat menyelesaikan Karya Akhir ini. Saya menyadari, tanpa bantuan dari berbagai pihak, sangatlah sulit bagi saya untuk menyelesaikannya. Maka dari itu, saya mengucapkan terima kasih saya kepada : 1. Ibu Yova Ruldeviyani, M.Kom, selaku dosen pembimbing yang telah menyediakan waktu, tenaga, dan pikiran untuk mengarahkan saya dalam penyusunan Karya Akhir ini; 2. Pihak perusahaan objek studi, yang telah membantu memberikan data penelitian Karya Akhir ini; 3. Orang tua dan keluarga saya yang telah memberikan dukungan moral untuk melanjutkan jenjang studi; 4. Dosen pengajar dan staf MTI UI yang telah memberikan banyak ilmu dan bantuan kepada saya; 5. Teman seperjuangan, sahabat MTI UI 2011SB, untuk diskusi-diskusi dan suasana karib yang membantu saya dalam penulisan; dan 6. Seluruh pihak yang tidak dapat saya sebutkan satu per satu yang telah memberikan dukungan kepada saya dalam menyelesaikan Karya Akhir ini. Saya mohon maaf jikalau saya hanya dapat memberikan ucapan terima kasih dan doa. Semoga Allah SWT membalas segala kebaikan semua pihak yang telah membantu. Semoga Karya Akhir ini membawa manfaat bagi kemajuan ilmu pengetahuan.
Jakarta, 21 Januari 2013 Penulis
iv
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Indonesia, saya yang bertanda tangan di bawah ini:
Nama : Devriady Pratama NPM : 1106041893 Program Studi : Magister Teknologi Informasi Departemen : Fakultas : Ilmu Komputer Jenis Karya : Karya Akhir
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Indonesia Hak Bebas Royalti Noneksklusif (Non-exclusive RoyaltyFree Right) atas karya ilmiah saya yang berjudul : "Implementasi Data Warehouse dan Business Intelligence untuk Memonitor Penjualan Sales Group: Studi Kasus pada PT. XYZ " Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini, Universitas Indonesia berhak menyimpan, mengalihmedia/formatkan, mengelola dalam bentuk pangkalan data (database). Merawat, dan mempublikasikan karya akhir saya tanpa meminta izin dari saya selama tetap mencantumkan saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jakarta Pada tanggal : 21 Januari 2013
Yang menyatakan
(Devriady Pratama)
v
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
ABSTRAK Nama
:
Devriady Pratama
Program Studi
:
Magister Teknik Informatika
Judul
:
Implementasi Data Warehouse dan Business Intelligence untuk Memonitor Penjualan Sales Group: Studi Kasus pada PT. XYZ
Penelitian ini mengangkat permasalahan mengenai belum adanya suatu bentuk pelaporan tentang status penjualan dan rincian penjualan dari sales group secara cepat dan ringkas. Tujuan penelitian ini ialah mengimplementasikan data warehouse dan aplikasi dashboard serta proses OLAP guna pelaporan status penjualan. Metodologi penelitian diawali dengan proses perumusan masalah dan pertanyaan penelitian, tinjauan pustaka, pengumpulan data, analisis kebutuhan informasi, arsitektur data warehouse, perancangan data warehouse, perancangan dashboard informasi dan ditutup dengan kesimpulan dan saran. Metodologi substansi untuk perancangan data warehouse akan mengikuti proses dari Ralph Kimball untuk industri retail. Hasil penelitian ini adalah data warehouse terhadap data penjualan lengkap dengan aplikasi pelaporan berbasis web dari proses OLAP dan aplikasi dashboard yang menampilkan perkembangan penjualan sales group dari waktu ke waktu dalam tampilan grafik.
Kata kunci: data warehouse, business intelligence dashboard, OLAP, metodologi perancangan data warehouse Ralph Kimball
vi
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
ABSTRACT Name
:
Devriady Pratama
Study Program
:
Magister of Information Technology
Title
:
Data Warehouse and Business Intelligence Implementation for Monitoring Sales Group Selling: Case Study at PT. XYZ
This study starts with the issue about the lack of the reporting form that can give information about sales status and details of sale from sales group in a fast and concise way. The purpose of this study is to implement a data warehouse and dashboard application, also with OLAP process to formulate sales status report. The research methodology in this study starts with the process of formulating of the problem and research question, literature review, data collection, needs analysis, data warehouse architecture, data warehouse design, business intelligence dashboard design and ended with conclusions and suggestions. The substance methodology for designing the data warehouse follows the process of Ralph Kimball’s data warehouse design methodology for retail industry. The result of this study are data warehouse of sales data, web-based reporting application from OLAP process and also a dashboard application that shows sales growth over time in a graphical display.
Keywords: data warehouse, business intelligence dashboard, OLAP, Ralph Kimball’s data warehouse design methodology
vii
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS.................................................... ii HALAMAN PENGESAHAN................................................................................ iii KATA PENGANTAR/UCAPAN TERIMA KASIH ............................................ iv HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI .............................. v ABSTRAK ............................................................................................................. vi DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................ xiii 1
PENDAHULUAN ........................................................................................... 1 1.1 Latar Belakang.......................................................................................... 1 1.2 Rumusan Masalah .................................................................................... 4 1.3 Tujuan Penelitian ...................................................................................... 4 1.4 Manfaat Penelitian .................................................................................... 4 1.5 Batasan Masalah ....................................................................................... 5 1.6 Sistematika Penulisan ............................................................................... 5
2
TINJAUAN PUSTAKA .................................................................................. 7 2.1 Data, Informasi dan Knowledge ............................................................... 7 2.2 Data Warehouse ....................................................................................... 8 2.3 Data Mart ................................................................................................. 9 2.4 Karakteristik Data Warehouse ............................................................... 10 2.5 Pengembangan Data Warehouse ............................................................ 11 2.6 Arsitektur Data Warehouse .................................................................... 13 2.7 Data Warehouse dimensional................................................................. 15 2.7.1 Tabel Fakta .................................................................................... 16 2.7.2 Tabel Dimensi ............................................................................... 17 2.8 Modelling Data Warehouse.................................................................... 17 2.8.1 Star Scheme ................................................................................... 17 2.8.2 Snowflake Scheme ........................................................................ 18 2.8.3 Perpaduan Star Scheme dan Snowflake (Starflake) ....................... 19 2.9 Pertimbangan Menggunakan Data Warehouse ...................................... 20
viii
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
2.10 Online Analytical Processing ................................................................. 21 2.11 Extract Transform Loading (ETL) Process ............................................ 22 2.12 Dashboard Business Intelligence ........................................................... 23 2.13 Penelitian Sebelumnya ........................................................................... 25 3
METODOLOGI PENELITIAN ..................................................................... 28 3.1 Perumusan Masalah dan Pertanyaan Penelitian ..................................... 29 3.2 Tinjauan Pustaka .................................................................................... 29 3.3 Pengumpulan Data ................................................................................. 29 3.4 Analisis Kebutuhan ................................................................................ 29 3.5 Arsitektur Data Warehouse .................................................................... 30 3.6 Perancangan Data Warehouse................................................................ 30 3.7 Perancangan Dashboard Informasi ........................................................ 30 3.8 Kesimpulan dan Saran ............................................................................ 31
4
PEMBAHASAN ............................................................................................ 32 4.1 Tinjauan Perusahaan............................................................................... 32 4.1.1 Deskripsi Singkat .......................................................................... 32 4.1.2 Filosofi .......................................................................................... 32 4.1.3 Visi ................................................................................................ 33 4.1.4 Misi ............................................................................................... 33 4.1.5 Struktur Organisasi ....................................................................... 33 4.2 Analisis Data dan Kebutuhan ................................................................. 34 4.2.1 Analisis Kebutuhan Informasi ...................................................... 34 4.2.2 Sumber Data .................................................................................. 34 4.3 Model Pelaporan Saat Ini ....................................................................... 38 4.4 Perancangan Arsitektur Data Warehouse .............................................. 38 4.5 Pemodelan Data Warehouse Dimensional ............................................. 42 4.5.1 Pemilihan Proses Bisnis ................................................................ 42 4.5.2 Pemilihan Grain ............................................................................ 43 4.5.3 Identifikasi Dimensi ...................................................................... 44 4.5.4 Identifikasi Fakta........................................................................... 52 4.5.5 Perancangan Skema Data Warehouse .......................................... 55 4.6 Proses ETL .............................................................................................. 59
ix
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
4.6.1 Package Dimensi Waktu ............................................................... 60 4.6.2 Package Dimensi Kalender Fiskal ................................................ 61 4.6.3 Package Dimensi Sales Group ...................................................... 61 4.6.4 Package Dimensi Produk .............................................................. 63 4.6.5 Package Dimensi Produk Group................................................... 64 4.6.6 Package Dimensi Outlet ............................................................... 66 4.6.7 Package Dimensi Expense ............................................................ 67 4.6.8 Package Dimensi Cabang ............................................................. 69 4.6.9 Package Fakta Penjualan .............................................................. 70 4.6.10 Package Fakta Retur .................................................................... 71 4.6.11 Package Fakta Expense ............................................................... 71 4.6.12 Package Fakta Target Penjualan .................................................. 73 4.7 OLAP ...................................................................................................... 74 4.7.1 Informasi Penjualan ...................................................................... 74 4.7.2 Informasi Retur ............................................................................. 75 4.7.3 Informasi Expense ......................................................................... 77 4.8 Perancangan Dashboard Penjualan ....................................................... 79 5
KESIMPULAN DAN SARAN...................................................................... 84 5.1 Kesimpulan ............................................................................................. 84 5.2 Saran ....................................................................................................... 85
DAFTAR PUSTAKA ........................................................................................... 86 LAMPIRAN 1 ....................................................................................................... 88 LAMPIRAN 2 ....................................................................................................... 91 LAMPIRAN 3 ....................................................................................................... 92 LAMPIRAN 4 ....................................................................................................... 96 LAMPIRAN 5 ....................................................................................................... 98 LAMPIRAN 6 ..................................................................................................... 102 LAMPIRAN 7 ..................................................................................................... 105
x
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
DAFTAR GAMBAR
Gambar 2.1 Robert Ackoff knowledge structure (Bellinger, Castro, & Mills, 2004) ................................................................................................................................. 8 Gambar 2.2 Arsitektur data warehouse (Connolly & Begg, 2005) ...................... 13 Gambar 2.3 Contoh tabel fakta ............................................................................. 16 Gambar 2.4 Contoh tabel dimensi......................................................................... 17 Gambar 2.5 Model star scheme ............................................................................ 18 Gambar 2.6 Model snowflake scheme ................................................................... 19 Gambar 2.7 Proses umum ETL (El-Sappagh, Hendawi, & El Bastawissy, 2011) 23 Gambar 2.8 Contoh dashboard penjualan ............................................................ 24 Gambar 3.1 Metodologi penelitian ....................................................................... 28 Gambar 4.1 Struktur organisasi PT.XYZ.............................................................. 33 Gambar 4.2 Rancangan arsitektur data warehouse............................................... 39 Gambar 4.3 Skema penjualan ............................................................................... 55 Gambar 4.4 Skema retur ....................................................................................... 56 Gambar 4.5 Skema expense .................................................................................. 57 Gambar 4.6 Skema target penjualan ..................................................................... 58 Gambar 4.7 Package eksekusi dimensi waktu ...................................................... 60 Gambar 4.8 Package eksekusi dimensi fiskal ....................................................... 61 Gambar 4.9 Package eksekusi dimensi sales group.............................................. 62 Gambar 4.10 Package eksekusi dimensi produk .................................................. 64 Gambar 4.11 Package eksekusi dimensi produk group ........................................ 65 Gambar 4.12 Package eksekusi dimensi outlet..................................................... 67 Gambar 4.13 Package eksekusi dimensi expense ................................................. 68 Gambar 4.14 Package eksekusi dimensi cabang .................................................. 69 Gambar 4.15 Package eksekusi fakta penjualan ................................................... 70 Gambar 4.16 Package eksekusi fakta retur ........................................................... 71 Gambar 4.17 Package eksekusi fakta expense ..................................................... 72 Gambar 4.18 Package eksekusi fakta target penjualan ......................................... 73 Gambar 4.19 Struktur cube OLAP penjualan ........................................................ 74 Gambar 4.20 Presentasi data OLAP penjualan sales group .................................. 75
xi
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
Gambar 4.21 Struktur cube OLAP retur ................................................................ 76 Gambar 4.22 Presentasi data OLAP retur outlet ................................................... 76 Gambar 4.23 Struktur cube OLAP expense penjualan .......................................... 77 Gambar 4.24 Presentasi data OLAP expense penjualan ....................................... 78 Gambar 4.25 Rancangan dashboard penjualan .................................................... 79 Gambar 4.26 Informasi grafik penjualan cabang .................................................. 81 Gambar 4.27 Informasi grafik penjualan sales group........................................... 82 Gambar 4.28 Informasi grafikal penjualan produk ............................................... 83
xii
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
DAFTAR TABEL
Tabel 2.1 Perbandingan data warehouse dengan data mart (Ponniah, 2001) ........ 9 Tabel 2.2 Metodologi penelitian dari penelitian sebelumnya ............................... 27 Tabel 4.1 Spesifikasi perangkat database operasional ......................................... 35 Tabel 4.2 Fungsi tabel pada database penjualan .................................................. 36 Tabel 4.3 Daftar tabel sumber data warehouse dari operasional penjualan (berdasarkan data dari Oktober 2011 sampai November 2012)............................ 37 Tabel 4.4 Daftar tabel sumber data warehouse dari operasional marketing (berdasarkan data dari tahun 2011) ....................................................................... 38 Tabel 4.5 Perbandingan alur data penjualan sebelum dan sesudah penerapan data warehouse ............................................................................................................. 41 Tabel 4.6 Identifikasi proses bisnis ....................................................................... 43 Tabel 4.7 Pemilihan grain ..................................................................................... 44 Tabel 4.8 Identifikasi dimensi ............................................................................... 45 Tabel 4.9 Keterangan dimensi waktu .................................................................... 46 Tabel 4.10 Keterangan dimensi fiskal................................................................... 47 Tabel 4.11 Keterangan dimensi salesgroup .......................................................... 48 Tabel 4.12 Keterangan dimensi produk ................................................................ 49 Tabel 4.13 Keterangan dimensi produk group ...................................................... 49 Tabel 4.14 Keterangan dimensi outlet .................................................................. 50 Tabel 4.15 Keterangan dimensi expense............................................................... 51 Tabel 4.16 Keterangan dimensi cabang ................................................................ 51 Tabel 4.17 Daftar tabel fakta................................................................................. 52 Tabel 4.18 Deskripsi tabel FaktaPenjualan ........................................................... 53 Tabel 4.19 Deskripsi tabel FaktaRetur .................................................................. 53 Tabel 4.20 Deskripsi tabel FaktaExpense ............................................................. 54 Tabel 4.21 Deskripsi tabel FaktaTargetPenjualan ................................................ 54 Tabel 4.22 Daftar tabel dalam proses ETL ............................................................ 59 Tabel 4.23 Sumber-tujuan package dimensi sales group ...................................... 62
xiii
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
Tabel 4.24 Sumber-tujuan package dimensi produk............................................. 63 Tabel 4.25 Sumber-tujuan package dimensi produk group .................................. 65 Tabel 4.26 Sumber-tujuan package dimensi outlet ............................................... 66 Tabel 4.27 Sumber-tujuan package dimensi expense ........................................... 68 Tabel 4.28 Sumber-tujuan package dimensi cabang............................................. 69 Tabel 4.29 benchmark pelaporan saat ini dengan OLAP ...................................... 78 Tabel 4.30 Informasi range dashboard ................................................................. 80
xiv
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
BAB 1 PENDAHULUAN 1
PENDAHULUAN
Penggunaan teknologi informasi sebagai bagian bisnis terus mengalami evolusi sejak awal pemanfaatannya yang hanya sebagai data processing unit. Sejak era 2006, telah berkembang kebutuhan pada teknologi untuk mampu memberi nilai tambah pada informasi-informasi yang dimiliki organisasi. Informasi yang awalnya hanya sebagai kumpulan data transaksional ternyata dapat diolah menjadi suatu pengetahuan berharga melalui proses business intelligence. Business intelligence atau disebut juga competitive intelligence adalah kemampuan
suatu
mengorganisasi
organisasi
knowledge.
untuk
Knowledge
mengumpulkan, tersebut
bisa
memelihara digunakan
dan untuk
menciptakan peluang baru dan dapat digunakan sebagai alat untuk mencapai keuntungan kompetitif pasar guna stabilitas bisnis jangka panjang. Hal tersebut bisa dicapai karena business intelligence dapat digunakan sebagai alat bantu pengambilan keputusan bisnis, sehingga keputusan yang dicapai lebih akurat. 1.1
Latar Belakang Kemajuan bisnis beberapa tahun terakhir ini memang tak lepas dari peran
teknologi informasi yang kini sudah menjadi barang wajib bagi tiap organisasi agar dapat meningkatkan daya saing. Teknologi informasi saat ini tidak lagi menghadirkan keuntungan kompetitif secara langsung bagi suatu organisasi karena penggunaannya yang sudah menjadi hal biasa bagi tiap organisasi. Namun selain tetap menjanjikan efisiensi, efektifitas dan produktifitas, penggunaan teknologi informasi yang optimal dan ketepatan pemilihan teknologi tetap bisa menghadirkan suatu nilai tambah bagi organisasi. Kebutuhan akan teknologi informasi juga terus meningkat seiring kebutuhan bisnis untuk terus berkembang. Bisnis belakangan ini bertumpu banyak kepada penggunaan teknologi informasi, sehingga kesalahan dalam penggunaan teknologi
1
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
2
informasi bisa berdampak langsung terhadap suatu proses bisnis atau bahkan bisnis itu sendiri. Dalam industri retail misalnya, muncul kebutuhan bagi eksekutif untuk bisa terus memantau status penjualan mereka. Hal lain seperti prediksi pasar, status ketersediaan produk, trend penjualan, pola belanja pelanggan, dan lain sebagainya menjadi suatu hal lain yang ingin diketahui organisasi agar dapat membuat keputusan bisnis yang lebih akurat. Untuk itu, diperlukan suatu alat atau aplikasi yang dapat disediakan oleh teknologi informasi untuk bisa menghadirkan informasi-informasi tersebut ke dalam suatu organisasi. Salah satu alat yang sudah hadir dan mampu melakukan hal tersebut adalah business intelligence. Penggunaan business intelligence bisa memberikan suatu informasi yang dibutuhkan eksekutif sebagai alat bantu pengambilan keputusan. Penggunaan business intelligence dapat membantu melakukan berbagai hal, antara lain: online analytic processing, data mining, business performance management, text mining, dashboard analysis, dan lain-lain. PT. XYZ adalah perusahaan yang bergerak dalam bidang penjualan bumbu masak. Perusahaan merasa perlu untuk memiliki informasi-informasi yang lengkap guna alat bantu proses pengambilan keputusan karena melihat luasnya cakupan penjualan mereka. Salah satu pengaplikasian business intelligence yang dianggap perlu adalah mekanisme monitoring penjualan melalui dashboard system. Hal ini dianggap perlu karena pada perusahaan tersebut belum ada alat yang dapat melihat trend perkembangan penjualan sales group secara cepat. Untuk dapat melihat trend perkembangan seperti ini, pihak eksekutif harus mengumpulkan dan memprosesnya sendiri dari kumpulan file laporan mingguan atau bulanan yang disimpan sebelumnya. Cara lain untuk melihat trend perkembangan yaitu dengan menggunakan aplikasi reporting yang telah ada, namun report yang dihasilkan dari aplikasi ini bentuknya kompleks dan hanya bisa digunakan untuk data empat bulan terakhir saja karena adanya kebijakan untuk memindahkan data transaksi yang berumur lebih dari empat bulan ke data base historis guna mengurangi beban server ketika aplikasi reporting ini digunakan.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
3
Untuk mampu mengakomodir rata-rata transaksi penjualan mereka yang mencapai ± 15.000 transaksi perhari, penggunaan data warehouse dianggap perlu untuk memberikan efisiensi dan efektifitas. Keterbatasan yang ada pada PT.XYZ untuk menggunakan data yang ada sebagai penunjang kegiatan pengambilan keputusan saat ini, adalah suatu kondisi dimana potensi-potensi informasi tersebut tidak secara optimal dimanfaatkan. Penggunaan data warehouse dalam hal ini berguna sebagai penampung data yang dalam tujuannya akan digunakan sebagai sumber informasi dan sumber data untuk proses analisis informasi. Data warehouse menjadi wadah yang memungkinkan untuk memisahkan proses analisis informasi dengan proses operasional data, sehingga memungkinkan kegiatan operasional tidak terganggu terhadap proses query informasi pada PT.XYZ, dan juga sebaliknya. selain itu juga memberikan wadah penampungan data yang lebih besar sehingga mampu menyimpan dan memproses data yang lebih banyak untuk proses pelaporan. Proses pelaporan yang bisa digunakan terhadap data warehouse ini adalah proses OLAP (Online Analitical Processing). Presentasi data dalam OLAP mampu mempresentasikan data secara mendetail (drill down) dan general (roll up) sehingga memberikan informasi yang ringkas bagi eksekutif untuk membaca keadaan faktual penjualan. Proses analisis yang bisa diterapkan lainnya dengan penerapan data warehouse ini adalah dashboard intelligence. Dashboard intelligence ini adalah sebuah presentasi data yang dibuat dengan tampilan menyerupai sebuah dashboard sehingga memberikan eksekutif kemudahan dalam membaca laporan. Dashboard menyediakan tampilan visual dari informasi penting yang disatukan dan diatur dalam layar tunggal sehingga informasi dapat dipahami cukup dengan sekali lihat, dan mudah untuk dieksplorasi (Turban, Sharda, Delen, & King, 2011). Dengan pemanfaatan dashboard ini, diharapkan mampu memberikan suatu alat untuk memberikan proses monitoring terhadap sales group dan mampu menciptakan suatu proses pengambilan keputusan yang lebih baik.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
4
1.2
Rumusan Masalah Terkait dengan penjabaran masalah pada latar belakang tersebut, solusi yang
bisa diterapkan diantaranya adalah dengan pemanfaatan data warehouse dan aplikasi dashboard untuk memberikan eksekutif laporan yang ringkas. Hal ini dianggap tepat karena data warehouse mampu memberikan pemisahan proses operasional dan proses penyediaan informasi sehingga proses kedua nya tidak saling terganggu. Selain itu juga mampu memberikan sumber data yang lebih besar untuk proses analisis. Maka pada penelitian ini mencoba menjawab pertanyaan “bagaimanakah implementasi rancangan data warehouse dan dashboard yang sesuai untuk memonitor penjualan sales group pada PT. XYZ ?”. 1.3
Tujuan Penelitian Adapun tujuan dari penelitian ini berdasarkan perumusan masalah pada bab
1.2 ialah mengimplementasikan rancangan data warehouse terhadap transaksi penjualan sales group, sekaligus membuat rincian pelaporan penjualan secara detail dari proses OLAP (Online Analitical Processing) serta dengan pemanfaatan business intelligence dalam bentuk aplikasi dashboard, memberikan bentuk pelaporan untuk mengukur pencapaian penjualan. 1.4
Manfaat Penelitian Manfaat yang diharapkan dari hasil penelitian ini adalah: a. Pemanfaatan data warehouse membuat proses reporting menjadi lebih efektif dan efisien. b. Pemanfaatan data warehouse memungkinkan untuk aplikasi reporting digunakan tanpa mengganggu proses operasional. c. Penyajian report dari proses OLAP mampu memberikan presentasi report yang detail dan dalam kurun waktu yang lebih panjang.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
5
d. Penyajian informasi dalam aplikasi dashboard membuat proses pengambilan keputusan yang lebih cepat dan akurat. e. Penyajian informasi dalam aplikasi dashboard bisa digunakan sebagai alat bantu penentuan strategi penjualan untuk meningkatkan profit. f. Penyajian informasi dalam aplikasi dashboard bisa digunakan sebagai acuan pengukuran kinerja sales group. 1.5
Batasan Masalah Batasan masalah dari penelitian ini adalah: a. Implementasi data warehouse terhadap data penjualan sales group. b. Implementasi OLAP untuk pelaporan detail penjualan sales group. c. Implementasi Business intelligence dalam bentuk dashboard application untuk visualisasi status penjualan sales group.
1.6
Sistematika Penulisan Sistematika penulisan dalam penelitian ini dibagi dalam lima bab.
Gambaran mengenai pembahasan masing-masing bab adalah sebagai berikut: BAB 1 PENDAHULUAN Bab ini memberikan penjelasan mengenai latar belakang penelitian, perumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah dan sistematika penulisan penelitian. BAB 2 LANDASAN TEORI Bab ini memberikan uraian mengenai landasan teori yang menunjang penulisan penelitian. Uraian dalam Bab 2 mencakup teori data warehouse, data mart, karakteristik data warehouse, arsitektur data warehouse, model data warehouse dimensional, pertimbangan menggunakan data warehouse, OLAP, proses ETL, business intelligence dashboard dan penjabaran dari penelitian sebelumnya yang relevan. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
6
BAB 3 METODOLOGI PENELITIAN Bab ini memberikan penjelasan mengenai metodologi penelitian yang digunakan serta penjelasan mengenai langkah-langkah yang terjadi pada setiap proses penelitian. BAB 4 PEMBAHASAN Bab ini memberikan penjelasan mengenai proses penelitian yang dilakukan dan penjelasan analisisnya. BAB 5 KESIMPULAN DAN SARAN Bab ini memberikan uraian kesimpulan dari penelitian yang telah dilakukan serta memberikan uraian saran atas penelitian yang didapat untuk organisasi, sistem atau bidang ilmu.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
BAB 2 TINJAUAN PUSTAKA 2
2.1
TINJAUAN PUSTAKA
Data, Informasi dan Knowledge Berdasarkan Russel Ackoff, isi dari pemikiran manusia diklasifikasikan
menjadi data, informasi, knowledge, understanding dan wisdom (Bellinger, Castro, & Mills, 2004). Data merepresentasikan fakta atau pernyataaan tanpa relasi ke data lainnya. Data hadir dalam banyak bentuk, namun tidak memberikan arti tertentu. Informasi adalah data yang memberikan arti setelah dilakukan proses tertentu dengan memberikan koneksi relasional antar data. Data baru dapat memberikan manfaat apabila sudah menjadi infomasi, namun tidak selalu juga informasi memberikan manfaat. Knowledge adalah koleksi informasi yang kontekstual, relevan dan actionable yang memang didapatkan untuk memberikan manfaat. Knowledge biasanya didapat melalui proses deterministik. Tanpa proses tersebut, ketika seseorang menyimpan informasi dan tidak mengolahnya, maka dia telah menumpuk knowledge. Setelah knowledge, dalam diagram “from data to wisdom” oleh Robert Ackoff, digambarkan bahwa wisdom adalah tingkatan tertinggi yang didapat dari memproses data. Berikut pada gambar 2.1 menjabarkan tingkatan data-wisdom menurut Robert Ackoff.
7
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
8
Gambar 2.1 Robert Ackoff knowledge structure (Bellinger, Castro, & Mills, 2004)
2.2
Data Warehouse Data warehouse menurut Inmon yang dikutip oleh Connoly dan Begg,
adalah sekumpulan data yang berorientasi subjek, terintegrasi, tidak mudah berubah dan berdasarkan kepada suatu rentang waktu tertentu yang berguna untuk mendukung dalam proses pengambilan keputusan (Connolly & Begg, 2005). Sebuah data warehouse merupakan data manajemen dan teknologi analisis data yang berasal dari data operasional. Data warehouse harus membuat akses informasi organisasi lebih mudah, artinya konten dari data warehouse harus mudah dimengerti. Secara fungsional data warehouse didefinisikan (Ponniah, 2001): a. Menyediakan integrasi dan total view dari data enterprise. b. Membuat data enterprise saat ini dan data historis sebelumnya lebih mudah tersedia sebagai informasi yang membantu dalam proses pembuatan keputusan. c. Penyediaan informasi dalam membantu pembuatan keputusan tanpa mengganggu sistem operasional.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
9
d. Memberikan konsistensi dalam melakukan rendering informasi bagi organisasi. e. Menyediakan sumber data yang interektif dan fleksibel bagi informasi strategis. 2.3
Data Mart Data mart adalah bagian (subset) dari data warehouse yang mendukung
kebutuhan informasi dari departemen tertentu atau business function dalam perusahaan (Connolly & Begg, 2005). Karakteristik yang membedakan data mart dengan data warehouse antara lain dijelaskan pada tabel 2.1. Tabel 2.1 Perbandingan data warehouse dengan data mart (Ponniah, 2001)
Data warehouse
Data mart
Menampung seluruh data organisasi
Menampung data per departemen
Merupakan kumpulan data mart
merupakan proses bisnis tunggal
Subyek penggunanya luas
Subyek penggunanya departemental
Terpusat
Desentralisasi
Dibuat korporat
untuk
menampilkan
data Dibuat untuk menampilkan data per departemen
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
10
2.4
Karakteristik Data Warehouse Karakteristik data warehouse menurut Inmon, yang dikutip oleh Connoly
dan Begg adalah (Connolly & Begg, 2005): 1. Berorientasi Subjek Data dikategorikan dan disimpan berdasarkan subyek bisnis, bukan berdasarkan aplikasi. Artinya data warehouse didesain untuk menganalisis data berdasarkan subyek tertentu dalam organisasi dan bukan pada proses atau fungi aplikasi tertentu. 2. Terintegrasi Data warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang terpisah kedalam suatu format yang konsisten dan saling terintegrasi satu dengan lainnya. Dengan begitu, data tidak bisa dipecah-pecah karena data yang ada merupakan suatu kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri. Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara seperti konsisten dalam penamaan variabel, konsisten dalam ukuran variabel, konsisten dalam struktur pengkodean dan konsisten dalam atribut fisik dari data. 3. Non-Volatile Suatu data warehouse biasanya tidak di-update ataupun dihapus. Dalam hal ini, karakteristik non-volatile artinya adalah ketika data sudah masuk kedalam data warehouse, maka data seharusnya tidak diubah lagi. Hal ini berdasarkan tujuan data warehouse untuk memungkinkan proses analisis mengenai apa yang terjadi terhadap data. 4. Memiliki rentang waktu Suatu data warehouse yang baik dapat dikatakan akurat pada rentang waktu tertentu saja. Untuk mengukur keakuratan suatu data warehouse, dapat menggunakan cara antara lain:
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
11
a. Menyajikan data dalam rentang waktu tertentu, misal: hanya menyajikan data 5 tahun kebelakang. b. Menggunakan variasi waktu yang disajikan dalam data warehouse baik implisit ataupun eksplisit. Secara implisit misalnya: pada saat data tersebut diduplikasi setiap akhir bulan atau per tiga bulan, unsur waktu akan tetap ada secara implisit dalam data tersebut. Secara eksplisit misalnya, dengan unsur waktu dalam hari, minggu, bulan, dsb. c. Variasi waktu yang disajikan data warehouse bisa melalui serangkaian snapshot yang panjang. Snapshot merupakan tampilan dari sebagian data tertentu sesuai keinginan pemakai dari keseluruhan data yang ada bersifat read-only. 2.5
Pengembangan Data Warehouse Menurut (Turban, Sharda, Delen, & King, 2011) terdapat dua pendekatan
dalam pengembangan data warehouse. Pendekatan pertama dikenalkan oleh Bill Inmon, yang menggagas pendekatan pengembangan top-down dengan adaptasi perangkat relational database tradisional kepada kebutuhan pengembangan dari data warehouse perusahaan. Sedangkan pendekatan kedua dikenalkan oleh Ralph Kimball yang menggagas pendekatan bottom-up dengan adaptasi dimensional modelling. Dalam pemodelan data warehouse menurut Inmon, ada tiga level dalam proses nya. Pertama yaitu membuat sebuah Entity Relational Diagram (ERD), diikuti dengan proses Mid-Level Model dan proses physical data model (optimasi kinerja). Sedangkan pemodelan data warehouse yang digagas Kimball mengikuti proses: pemilihan proses bisnis, menyatakan grain, pemilihan dimensi dan matriks tabel fakta. Kimball menyarankan penggunaan dimensional modelling sebagai model data di layer presentasi bisnis. Proses pemodelan Kimball dijelaskan sebagai berikut: Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
12
a. Pemilihan proses bisnis Sebuah proses mengarahkan mengenai subyek data apa yang ingin dibangun pada data warehouse. proses bisnis ini nantinya akan menentukan terkait data apa saja yang akan menjadi sumber data yang akan digunakan dan dari mana data tersebut diperoleh. b. Menyatakan grain Keputusan grain untuk menentukan tingkat kedalaman informasi yang akan ditampilkan dalam matriks fakta. Dengan penentuan grain, dimensi-dimensi dari tabel fakta sudah dapat diidentifikasi. c. Pemilihan dimensi Mengidentifikasi dimensi yang diperlukan beserta atribut yang menyertai. Jika satu dimensi digunakan pada lebih dari satu matrikx fakta, maka atribut dimensi tersebut mungkin perlu untuk dilakuakn penyesuaian. d. Pemilihan matriks tabel fakta Semua matriks fakta harus mengikuti grain yang sudah ditentukan pada proses sebelumnya. Di proses ini juga ditentukan measure apa saja yang akan ditampilkan.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
13
2.6
Arsitektur Data Warehouse
Gambar 2.2 Arsitektur data warehouse (Connolly & Begg, 2005)
Gambar 2.2 mengenai arsitektur data warehouse oleh Connoly dan Begg dijelaskan sebagai berikut: a. Operasional data Sumber data dari data warehouse dapat diambil langsung dari mainframe, basis data relasional seperti Oracle, Ms SQL Server dan sebagainya. Selain itu dapat melalui Operational Data Source (ODS). ODS menampung data yang diekstrak dari sistem utama atau sumbersumber data yang ada dan kemudian data hasil ekstraksi tersebut disesuaikan. b. Load manager Load Manager juga disebut komponen front-end yang bertugas melakukan seluruh operasi yang berhubungan dengan ekstrasi dan meload data ke warehouse.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
14
c. Warehouse manager Warehouse
manager
melakukan
seluruh
operasi-operasi
yang
berhubungan dengan kegiatan manajemen data didalam warehouse. Operasi-operasi tersebut meliputi: analisis terhadap data untuk memastikan konsistensi, transformasi dan penggabungan sumber data dari
tempat
penyimpanan
sementara
menjadi
tabel-tabel
data
warehouse, penciptaan indeks-indeks dan view berdasarkan tabel-tabel dasar, melakukan denormalisasi dan agregasi jika diperlukan dan Backup atau pengarsipan data. d. Query manager Query manager juga disebut komponen back-end, melakukan operasioperasi yang berhubungan dengan manajemen user queries. Operasioperasi yang dilakukan oleh komponen itu termasuk query kepada tabel-tabel yang tepat dan menjadwalkan ekseskusi dari query tersebut. e. Detailed data Pada rancangan data warehouse, detailed data menyimpan semua detail dari data di dalam skema basis data. Biasanya detailed data tidak disimpan secara online melainkan dibuat dengan melakukan agregasi data. Tetapi pada dasarnya detailed data ditambahkan ke warehouse untuk melengkapi data agregasi. Detailed data dibagi menjadi dua yaitu: current detailed data dan old detailed data. f. Lightly and highly summarized data Pada rancangan data warehouse, lighly and highly summarized data adalah tempat penyimpanan semua data predefined lightly dan highly summarized yang dihasilkan oleh warehouse manager. Tujuan dari ringkasan informasi ini adalah mempercepat tanggapan terhadap permintaan user. Ringkasan data dilakukan update terus-menerus seiring dengan bertambahnya jumlah data dalam data warehouse.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
15
g. Archieve/backup data Pada rancangan data warehouse, archieve/backup data digunakan sebagai tempat penyimpanan detailed data dan data yang telah diringkas. Data yang telah diringkas dan disimpan akan ditransfer ke media penyimpanan seperti magnetic tape dan optical dics. h. Metadata Pada rancangan data warehouse, metadata digunakan sebagai tempat penyimpanan semua definisi keterangan mengenai data yang digunakan diseluruh proses data warehouse. i. End-user access tools (EUAT) Prinsip atau tujuan utama dibangunnya data warehouse adalah untuk menyediakan informasi bisnis kepada pengguna untuk dapat melakukan pengambilan keputusan secara cepat dan tepat. Pengguna ini berinteraksi dengan warehouse melalui end-user access tools. 2.7
Data Warehouse dimensional Model dimensional merupakan rancangan logikal yang bertujuan untuk
menampilkan data dalam bentuk standar dan intuitif yang memperbolehkan akses dengan performa yang tinggi. Model dimensional menggunakan konsep model hubungan antar entity (entity relation) dengan beberapa batasan yang penting. Setiap model dimensi terdiri dari sebuah tabel dengan sebuah komposit primary key, disebut dengan tabel fakta, dan satu set tabel yang lebih kecil disebut tabel dimensi. Setiap tabel dimensi memiliki sebuah simple primary key yang merespon tepat pada satu komponen primary key pada tabel fakta. Dengan kata lain primary key pada tabel fakta terdiri dari dua atau lebih foreign key. Struktur karakteristik ini dimodelkan dalam star scheme atau snowflake scheme. Fitur terpenting dalam model dimensional adalah semua natural keys diganti dengan kunci pengganti (surrogate keys). Maksudnya yaitu setiap kali join antar Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
16
tabel fakta dengan tabel dimensi selalu didasari kunci pengganti. Kegunaan dari kunci pengganti adalah memperbolehkan data pada data warehouse untuk memiliki beberapa kebebasan dalam penggunaan data, tidak seperti halnya yang diproduksi oleh sistem OLTP. Sebuah sistem OLTP memerlukan normalisasi untuk mengurangi redudansi, validasi untuk input data, mendukung volume yang besar dari transaksi yang bergerak sangat cepat. Model OLTP sering terlihat seperti jaring laba-laba yang terdiri atas ratusan bahkan ribuan tabel sehingga sulit untuk dimengerti. Sebaliknya, dimension model yang sering digunakan pada data warehouse adalah star scheme atau snowflake yang mudah dimengerti dan sesuai dengan kebutuhan bisnis, mendukung query sederhana dan menyediakan query performance yang superior dengan meminimalisasi join antar tabel. 2.7.1
Tabel Fakta Tabel fakta adalah tabel utama yang menyimpan nilai transaksi
dalam bentuk data numerik atau agregasi dan atribut kunci. Nilai transaksi merupakan nilai yang menyimpan kinerja bisnis dan atribut kunci merupakan atribut rujukan ke tabel dimensi.
Gambar 2.3 Contoh tabel fakta
Pada contoh tabel fakta dalam gambar 2.3, digambarkan terdapat 4 atribut kunci, yaitu item-id, store-id, customer-id dan date yang membentuk fakta sales. Dan terdapat 2 atribut nilai transaksi, yaitu number dan price. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
17
2.7.2
Tabel Dimensi Tabel dimensi merupakan tabel rujukan atau tabel deskriptif yang
melengkapi dan menjelaskan atribut kunci dari tabel fakta. Tabel dimensi dapat digunakan sebagai constraint, filtering, grouping, hierarchy dan labelling dalam proses penarikan data dan pembuatan laporan.
Gambar 2.4 Contoh tabel dimensi
Pada contoh tabel dimensi dalam gambar 2.4, digambarkan pada tabel tersebut berisi informasi mengenai customer, dengan primary key customer-id dan atribut lainnya memberikan deskripsi mengenai customerid tersebut. 2.8
Modelling Data Warehouse 2.8.1
Star Scheme Star scheme merupakan struktuk logikal yang memiliki tabel fakta
yang terdiri atas data faktual ditengahnya, dan dikelilingi oleh tabel-tabel dimensi yang berisi referensi data. Star scheme juga bisa terdiri dari satu atau lebih tabel fakta. Dikarenakan karena tabel fakta tersebut ada banyak, misalnya disamping penjualan terdapat tabel fakta forecasting dan result. Walaupun terdapat lebih dari satu tabel fakta, mereka tetap menggunakan tabel dimensi bersama-sama. Contoh pada gambar 2.5 mengenai model star scheme menjelaskan mengenai satu tabel fakta yang dikelilingi oleh empat tabel dimensi. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
18
Gambar 2.5 Model star scheme
2.8.2
Snowflake Scheme Merupakan varian dari skema bintang dimana tabel-tabel dimensi
tidak terdapat data yang di denormalisasi. Dengan kata lain satu atau lebih tabel dimensi tidak bergabung secara langsung kepada tabel fakta tapi pada tabel dimensi lainnya. Sebagai contoh dalam gambar 2.6 digambarkan dalam sebuah tabel dimensi yang merepresentasikan tabel fakta, dapat ditarik tabel dimensi lainnya yang merepresentasikan tabel dimensi tersebut.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
19
Gambar 2.6 Model snowflake scheme
2.8.3
Perpaduan Star Scheme dan Snowflake (Starflake) Starflake merupakan gabungan diantara keduanya. Keuntungan
menggunakan masing-masing model tersebut dalam data warehouse antara lain: a. Efisien dalam hal mengakses data b. Dapat beradaptasi terhadap kebutuhan-kebutuhan user c. Bersifat fleksibel terhadap perubahan yang terjadi khususnya perubahan yang mengarah pada perkembangan d. Memiliki kemampuan dalam memodelkan situasi bisnis secara umum Meskipun
skema
yang
dihasilkan
sangat
kompleks,
tetapi
pemrosesan query dapat diperkirakan, hal ini dikarenakan pada level terendah, setiap tabel fakta harus dilakukan query secara independen. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
20
2.9
Pertimbangan Menggunakan Data Warehouse Pada sebuah penelitian, survey literature yang dilakukan Sakaguchi, T. et al
yang dikutip oleh (He, 1999) dalam penelitiannya, didapat beberapa keuntungan dari data warehouse diantaranya: a. Simplicity. Data warehouse membuat bisnis menjadi lebih ringkas karena menyediakan wadah data yang terintegrasi. Data yang sangat besar dari perusahaan dan data historis dapat disimpan ke dalam data warehouse. b. Kualitas data dan produktivitas meningkat. Workload dari pemelihara SI/TI menjadi lebih mudah karena pengguna sistem bisa dengan sendirinya menarik informasi yang dibutuhkan dari data warehouse. c. Penggunaan yang mudah. Dalam hal ini data warehouse bisa digunakan tanpa mengganggu proses operasional transaksi sehari-hari. d. Pemisahan antara bagian pengambil keputusan dengan bagian operasional. Fokus kerja antara kedua bagian tersebut menjadi saling tidak terganggu. e. Data warehouse memfasilitasi distributed database. Selain keuntungan diatas, ada juga disampaikan mengenai hal yang harus diwaspadai diantaranya
dalam adalah
perancangan
maupun
kompleksitas
implementasi
dalam
data
warehouse,
pengembangannya.
Dalam
perancangannya perlu analisis menyeluruh mengenai seperti apa data warehouse yang ingin dikembangkan dan perlunya ada antisipasi tentang pertumbuhan data di dalamnya. Selain penjabaran dari penelitian survey literature diatas, adapun manfaat lain dari data warehouse menurut Inmon (2002) yang dikutip Connoly dan Begg (Connolly & Begg, 2005) antara lain:
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
21
a. Return of Investment yang lebih besar b. Keunggulan kompetitif c. Meningkatkan produktivitas penentu keputusan d. Lebih pedulian terhadap tampilan e. Kemampuan akses data yang cepat f. Kualitas data yang terjamin g. Data konsisten dan terintegrasi h. Kemudahan dalam proses akses data i. Penemuan dan eksplorasi data 2.10 Online Analytical Processing Online Analytical Processing (OLAP) adalah sintesis yang dinamis, analitik dan merupakan konsolidasi dari sejumlah besar data multi-dimensional. Kemampuan Online Analytical Processing (OLAP) dalam mendukung queries dan analisis data pada aggregation database yang ada di data warehouse, menjadikan
OLAP
sebagai
sistem
dengan
kemampuan
mengumpulkan,
mengelola, memproses dan menghadirkan multidimensional data. Penerapan teknologi OLAP dapat memberikan informasi untuk penyusunan, perencanaaan dan pembuatan kebijakan bisnis organisasi. Ada dua metode utama OLAP yang banyak diterapkan yaitu: Relational OLAP (ROLAP) dan Multidimensional OLAP (MOLAP). Kedua metode ini memanfaatkan pembentukan data dari cube atau multidimensional. Dalam ROLAP, ketergantungan terhadap database relational atau RDBMS sebagai media penyimpanan data yang akan dioleh sangat tinggi dan ROLAP hanya menggunakan temporary cache. Berbeda dengan ROLAP, dalam MOLAP media penyimpanan datanya berdiri sendiri dengan permanen cache. Pada proses pengoperasian OLAP, digunakan teknik untuk mengubah dimensi cube yang dinamakan pivoting. Operasi-operasi pivoting ini antara lain slicing, dicing, roll-up dan roll-down. Slicing dan dicing adalah operasi untuk Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
22
melihat data sebagai visualisasi dari kubus. Dengan slicing dan dicing pengguna dapat melihat data dari beberapa perspektif. Slicing memotong kubus sehingga dapat memfokuskan pada perspektif yang spesifik pada suatu dimensi. Sedangkan pada dicing memberikan kemampuan untuk melihat pemilihan data pada dua dimensi atau lebih, yaitu dengan merotasi cube pada perpekstif yang lain sehingga pengguna dapat melihat lebih spesifik terhadap data yang di analisa. Sedangkan roll-up dan drill-down adalah operasi untuk melihat data global atau detail di sepanjang level hirarki dimensi. Roll-up digunakan untuk melihat data dari spesifik menjadi global atau rangkuman. Drill-down memandu pengguna untuk memperoleh data yang lebih detail dan spesifik. Drill-down ini biasa digunakan untuk menjawab pertanyaan atas suatu kasus tertentu. Misalnya untuk menjawab pertanyaan ketika jumlah penjualan di area A berada di bawah atau di atas harapan. 2.11 Extract Transform Loading (ETL) Process ETL merupakan proses yang umumnya digunakan untuk memindahkan data dari suatu sumber data ke tempat lain yang diantaranya bisa dilakukan proses manipulasi terhadap data tersebut. ETL merupakan rangkaian proses yang didalamnya terdiri dari proses data extraction, data transformation dan data loading. Proses data extraction adalah proses yang dikerjakan untuk membaca, mendapatkan dan menyiapkan data dari sumber data (data source). Proses data transformation adalah proses format data hasil extraksi agar sesuai dengan struktur data tempat tujuan, dan juga dilakukan proses pembersihan untuk menjaga konsistensi data. Sedangakn proses data loading adalah proses memasukan data yang telah mengalami proses extraction dan transformation ke dalam penampung tujuan (El-Sappagh, Hendawi, & El Bastawissy, 2011).
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
23
Gambar 2.7 Proses umum ETL (El-Sappagh, Hendawi, & El Bastawissy, 2011)
Pada proses ETL juga dilakukan pengerjaan seperti: pembersihan data, pengecekan duplikasi data, standarisasi data dan penamaan konvensi data sesuai kebutuhan data warehouse, dimana tingkat kualitas data warehouse yang dihasilkan sangat ditentukan pada proses ini. Proses ETL biasanya dibantu oleh tools yang merupakan bagian dari arsitektur data warehouse. 2.12 Dashboard Business Intelligence Dashboard business intelligence adalah salah satu bagian dari business intelligence atau competitive intelligence. Dashboard adalah suatu model interface sistem informasi yang menyajikan informasi sesuai dengan kebutuhan organisasi dalam sebuah layar tunggal sehingga informasi lebih mudah dipahami serta dapat dieksplorasi. Dashboard adalah komponen sistem yang umumnya memiliki performance management system, performance measurement system, BPM suite dan BI platforms. Karakteristik dari sebuah dashboard business intelligence adalah: a. Dashboard menggunakan komponen visual untuk menggarisbawahi secara sekilas, data dan pengecualian yang membutuhkan tindakan. b. Dashboard bersifat transparan terhadap pengguna, yang artinya pengguna cukup membutuhkan sedikit pelatihan dan mudah untuk menggunakan dashboard tersebut. c. Dashboard menggabungkan data dari berbagai macam sistem menjadi sebuah tampilan bisnis yang tunggal, ringkas, tergabung menjadi satu.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
24
d. Dashboard memungkinkan drill-down atau drill-through terhadap sumber data atau laporan yang ada dan menyediakan konteks yang dapat dibandingkan dan dievaluasi secara lebih terperinci. e. Dashboard menyediakan sebuah tampilan dinamis dan nyata dari data yang diperbaharui secara berkala. f. Dashboard memungkinkan pengguna untuk tetap mendapatkan informasi baru tentang setiap perubahan di dalam bisnis. g. Dashboard membutuhkan sedikit perubahan kode program untuk dikirim, diimplementasikan, dan dirawat. Contoh tampilan dari suatu dashboard penjualan dapat dilihat pada gambar 2.8:
Gambar 2.8 Contoh dashboard penjualan
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
25
2.13 Penelitian Sebelumnya Penelitian oleh (Gang, Kai, & Bei, 2008) mengenai pengaplikasian business intelligence pada industri retail berkesimpulan bahwa implementasi terhadap business intelligence pada industri retail memberikan suatu nilai tambah berupa informasi kepada pengambil keputusan mengenai situasi penjualan dan prediksi pasar. Hal ini terjadi karena kondisi yang sebelumnya “mass data, poor knowledge” bisa diubah dengan memberikan lebih banyak informasi dari kumpulan data yang dimiliki sehingga pengambilan keputusan bisnis bisa diputuskan secara lebih baik. Perancangan data warehouse untuk retail industry oleh penelitian ini dijabarkan dengan proses: pemilihan proses bisnis, definisi grain, definisi tabel dimensi dan definisi tabel fakta. Penelitian oleh (Darudiato, 2010) mengenai perancangan data warehouse penjualan menyimpulkan bahwa informasi ringkas dan bersifat summary yang di ditampilkan dari data warehouse membuat eksekutif lebih cepat dalam mengambil keputusan. Hasil lainnya yang didapat adalah data warehouse yang dibuat bisa menjadi sebuah integrasi data dari data-data cabang yang tersebar. Mengenai metodologi penelitian yang digunakan dalam penelitian ini, prosesnya adalah: survey terhadap sistem yang berjalan – analisis data survey – identifikasi masalah – identifikasi persyaratan sistem – perancangan data warehouse. perancangan data warehouse yang digunakan pada penelitian ini mengikuti metodologi perancangan data warehouse oleh Kimbal. Penelitian oleh (He, 1999) mengenai studi kasus implementasi sistem analisis data marketing menjabarkan metodologi penelitian yang digunakannya adalah pembuatan prototype lalu dilanjutkan dengan pembuatan data warehouse. proses pembuatan data warehouse mengikuti proses pengembangan model dimensional data warehouse oleh Kimbal. Penelitian
oleh
(Iskandar,
Hutapea,
&
Naga,
2009)
mengenai
pengimplementasian data warehouse pada industri penjualan tinta dan lapisan kemasan menjabarkan metodologi yang digunakan adalah: metode analisis dan metode perancangan. Metode analisis dimulai dengan melakukan survey sistem Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
26
berjalan, interview permasalahan, analisis data survey dan interview dan identifikasi implementasi aplikasi. Sedangkan metode perancangan adalah perancangan data warehouse yang mengikuti metodologi perancangan data warehouse menurut Kimbal dan dilanjutkan dengan pembuatan Entity Relational Database. Penelitian oleh (Ju & Han, 2008) mengenai keefektifan analisis penjualan berbasis OLAP pada retail enterprise menyimpulkan proses yang harus dilakukan pertama kali adalah pembuatan data warehouse penjualan. Data warehouse ini yang nantinya digunakan untuk menampilkan informasi yang dikandung didalamnya melalui aplikasi web yang dinamis. Dalam menampilkan informasi melalui aplikasi web tersebut, ditambahkan komponen Ofice Web Component (OWC) untuk memberikan kemudahan pengguna dalam membaca informasi yang ditampilkan. Penelitian oleh (Indra, 2011) mengenai perancangan dan penerapan data warehouse dan business intelligence untuk efisiensi pelaporan menjelaskan bahwa dengan penerapan data warehouse, mampu memberikan organisasi nilai tambah dalam penyediaan laporan yang lebih cepat dan efisien. Penelitian ini mengikuti metodologi: identifikasi kebutuhan informasi, pengumpulan data, perancangan data warehouse dan perancangan dashboard. Adapun metodologi substansi dalam perancangan data warehouse pada penelitian ini mengikuti proses: cleansing dan ETL, perancangan tabel dimensi dan tabel fakta, perancangan cube dan OLAP. Sedangkan untuk perancangan dashboard pada penelitian ini dilakukan dengan visualisasi data dari data warehouse dengan diagram pie, bar dan dial chart. Untuk memberikan gambaran perbandingan metodologi pada penelitianpenelitian sebelumnya yang terkait atau serupa dengan penelitian ini, dijabarkan pada Tabel 2.2.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
27
Tabel 2.2 Metodologi penelitian dari penelitian sebelumnya
Penelitian The Research & Application of Business Intelligence System in Retail Industry (Gang, Kai, & Bei, 2008) Perancangan Data Warehouse Penjualan Untuk Mendukung Kebutuhan Informasi Eksekutif Cemerlang Skin Care (Darudiato, 2010) A Case Study on a Implementation of Marketing Data Analysis System (He, 1999) Analisis dan Perancangan Data Warehouse dan Applikasi Business Intelligence pada PT. Inkote Indonesia (Iskandar, Hutapea, & Naga, 2009) Perancangan serta Penerapan Data Warehouse dan Business Intelligence untuk Evaluasi Program Studi Berdasarkan Evaluasi Diri (EPSBED): Studi Kasus Universitas Budi Luhur (Indra, 2011)
Metodologi Metodologi untuk perancangan data warehouse yang digunakan: pemilihan proses bisnis - definisi grain - definisi tabel dimensi - definisi tabel fakta survey terhadap sistem yang berjalan – analisis data survey – identifikasi masalah – identifikasi persyaratan sistem – perancangan data warehouse Pembangunan prototype – perancangan data warehouse survey sistem berjalan - interview permasalahan - analisis data survey dan interview - identifikasi implementasi aplikasi – perancangan data warehouse Analisis kebutuhan informasi – pengumpulan data – perancangan data warehouse – perancangan dashboard
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
BAB 3 METODOLOGI PENELITIAN 3
METODOLOGI PENELITIAN
Bab ini menjelaskan mengenai langkah metodologi yang digunakan dalam membahas permasalahan penelitian. Metodologi penelitian dibentuk dari studi literatur penelitian sejenis dan didapatkan metodologi yang digunakan adalah sebagai berikut:
Gambar 3.1 Metodologi penelitian
28
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
29
3.1
Perumusan Masalah dan Pertanyaan Penelitian Langkah awal dari penelitian ini, sebagaimana kaidah dari penelitian adalah
diawali dari perumuskan permasalahan yang akan diangkat ke dalam penelitian. Pada tahap ini akan diangkat sebuah permasalahan yang dihadapi oleh eksekutif pada bagian penjualan PT. XYZ melalui wawancara dengan pihak terkait dan observasi proses penjualan. Adapun input dari tahapan ini adalah ekspektasi keadaan ideal yang dibandingkan dengan keadaan faktual yang tidak sesuai, sehingga menjadi sebuah masalah. Data juga diambil dari hasil observasi awal mengenai keadaan yang berlangsung pada sistem penjualan di PT. XYZ. Selanjutnya dari permasalahan yang didapatkan, akan dibentuk kalimat pertanyaan penelitian yang nantinya akan dijawab melalui penelitian. 3.2
Tinjauan Pustaka Tahap selanjutnya adalah melakukan tinjauan pustaka untuk mendapatkan
teori-teori yang mendukung penelitian. Teori-teori ini didapat dari sumber datadata seperti jurnal, buku teks dan tesis yang berhubungan dan atau sejenis dengan penelitian yang akan dilakukan. Dalam tahap ini juga akan dijabarkan mengenai penelitian sebelumnya yang terkait dan atau sejenis yang bisa memberikan manfaat dalam penelitian ini. 3.3
Pengumpulan Data Tahap ini dilakukan untuk mendapatkan data yang dibutuhkan untuk
melakukan penelitian. Data akan dikumpulkan melalui observasi langsung, wawancara dan analisis dokumen-dokumen sistem yang ada. Hasil dari tahapan ini adalah berupa data OLTP mengenai proses penjualan dan proses bisnis yang terjadi pada penjualan produk. 3.4
Analisis Kebutuhan Dari data-data yang telah didapat, kemudian akan dilakukan analisis
kebutuhan mengenai apa saja yang ingin didapat dari proses penelitian, dalam hal ini mengenai informasi apa saja yang ingin ditampilkan melalui rancangan tampilan dashboard nantinya. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
30
3.5
Arsitektur Data Warehouse Perancangan arsitektur data warehouse dibagi menjadi dua jenis, yaitu:
arsitektur logik dan arsitektur fisik. Arsitektur logik menangkap mengenai alur data mulai dari sumber hingga nanti dimasukkan ke dalam data warehouse. sedangkan arsitektur fisik menggambarkan mengenai teknis konfigurasi yang ada pada data warehouse. 3.6
Perancangan Data Warehouse Perancangan data warehouse pada penelitian ini dilakukan mengikuti tahap
pembangunan data warehouse menurut Kimball dalam retail case study (Kimball & Ross, 2002). Hal ini berdasarkan studi literatur yang telah dilakukan sebelumnya dan juga kecocokan dari arsitektur dan approach perancangan yang memungkinkan untuk membangun data warehouse pada PT. XYZ. Aproach bottom-up yang digagas oleh Kimball untuk perancangan data warehouse dianggap lebih cocok ketimbang approach top down yang digagas Inmon. Pada tahap perancangan data warehouse ini, juga diikuti dengan perancangan proses ETL untuk mengekstrak data kedalam data warehouse dari data operasional serta perancangan proses OLAP dan representasi datanya. Proses ETL dan OLAP serta presentasi reporting dibangun dengan menggunakan tools Microsoft Business Intelligence Development Studio 2008 R2. 3.7
Perancangan Dashboard Informasi Setelah didapatkan rancangan data warehouse yang digunakan, maka
selanjutnya ditahapan ini dilakukan perancangan aplikasi dashboard informasi yang akan menampilkan informasi kepada eksekutif sebagai alat bantu pengambilan keputusan. Informasi apa saja yang akan ditampilkan didapat dari proses analisis kebutuhan. Dalam perancangan dashboard informasi ini menggunakan metode visualisasi data dari data warehouse dengan query manager.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
31
3.8
Kesimpulan dan Saran Tahap ini adalah tahap terakhir dari penelitian dengan melakukan penarikan
kesimpulan penelitian yang menjawab pertanyaan penelitian dan menguraikan saran - saran dari penelitian yang telah dilakukan terkait implikasi terhadap manejemen, sistem atau bidang ilmu.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
BAB 4 PEMBAHASAN 4
4.1
PEMBAHASAN
Tinjauan Perusahaan 4.1.1
Deskripsi Singkat PT. XYZ adalah perusahaan yang baru berdiri pada tahun 1993 dan
bergerak di bidang penjualan bumbu masak. Perusahaan ini adalah anak dari induk perusahaan internasional yang sebelumnya sudah beroperasi selama 40 tahun di Indonesia. PT. XYZ saat ini memiliki 3 cabang yang terletak di pulau Jawa dan Sumatera. Selain itu juga memiliki sub-cabang yang tersebar di seluruh Indonesia. Induk perusahaannya sendiri telah berdiri di Indonesia sejak tahun 1969 yang membuka pabrik produksinya pertama di Mojokerto, Jawa Tengah. Lalu pada tahun 1987 dan 1989 mendirikan 2 anak perusahaan untuk menopang bisnisnya. Dilanjutkan dengan tahun 1993 mendirikan PT.XYZ. PT.XYZ di Indonesia terus berusaha untuk memenuhi komitmen dalam memberikan kontribusi yang berarti dalam bidang makanan dan kesehatan secara global guna mewujudkan kehidupan yang lebih baik. Hal tersebut dibuktikan dengan produk-produknya yang berkualitas dan memenuhi
standar
internasional
sehingga
memunculkan
kesetiaan
pelanggan. 4.1.2
Filosofi Menciptakan kehidupan yang lebih baik secara global melalui
kontribusi untuk kemajuan yang lebih berarti dalam bidang makanan dan kesehatan dan bermanfaat untuk kehidupan.
32
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
33
4.1.3
Visi Menjadi perusahaan yang memberikan kontribusi kepada kesehatan
manusia secara global dengan menciptakan nilai-nilai yang unik secara terus menerus yang bermanfaat bagi pelanggan. 4.1.4
Misi 1. Menjadi perusahaan bumbu No.1 di Indonesia. 2. Menjadi grup perusahaan yang mempromosikan kesehatan dengan pendekatan ilmiah untuk rasa dan kesehatan yang lebih baik.
4.1.5
Struktur Organisasi
Gambar 4.1 Struktur organisasi PT.XYZ
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
34
4.2
Analisis Data dan Kebutuhan 4.2.1
Analisis Kebutuhan Informasi Metode yang dilakukan dalam analisis kebutuhan dan informasi
adalah dengan wawancara dan observasi sistem yang sudah ada. Dari hasil wawancara oleh Kepala Departemen sales, didapatkan kebutuhan informasi yang ingin disediakan, diantaranya: a. Melihat informasi grafik penjualan tiap cabang per bulan berjalan dan bulan-bulan sebelumnya. b. Melihat informasi grafik penjualan tiap sales group per bulan berjalan dan bulan-bulan sebelumnya. c. Melihat informasi grafik penjualan tiap produk per bulan berjalan dan bulan-bulan sebelumnya. d. Melihat informasi laporan expense penjualan. e. Melihat informasi laporan retur penjualan oleh outlet. 4.2.2
Sumber Data Sumber data yang digunakan dalam perancangan data warehouse
guna mengakomodir kebutuhan informasi aplikasi dashboard pada penelitian ini diambil dari database operasional penjualan dan operasional merketing. Spesifikasi dari kedua database tersebut dapat dilihat pada tabel 4.1.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
35 Tabel 4.1 Spesifikasi perangkat database operasional
Database Operasional penjualan
Operasional marketing
Spesifikasi
Keterangan
Tipe database
RDBMS
Engine
Microsoft SQL Server 2008
Platform
Windows Server
Nama database
HO014
Nama server
JKT-OP179
Tipe database
RDBMS
Engine
Microsoft SQL Server 2005
Platform
Windows server
Nama database
HZR011
Nama server
JKT-OP016
Mengenai rancangan relasi antar tabel pada database penjualan, bisa dilihat pada lampiran 2 skema database penjualan. Fungsi dari tiap database tersebut dijelaskan pada tabel 4.2.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
36 Tabel 4.2 Fungsi tabel pada database penjualan
Nama tabel
Keterangan
BANK
Menampung data master bank
BRANCH
Menampung data cabang
CALENDAR
Menampung data kalender hari libur
CVD DEPOSIT
Menampung data periode bonus/diskon untuk outlet Menampung data deposit outlet
EXPENSES
Menampung data master expense penjualan
EXPENSESDETAIL
Menampung data detail expense penjualan
EXPENSESHEADER
Menampung data header expense penjualan
MAPPING_BRANCH
Menampung data master mapping ID cabang dengan ID cabang di database ERP Menampung data master mapping ID expense dengan ID di database ERP Menampung data master mapping ID produk dengan ID di database ERP Menampung data master mapping ID outlet dengan ID di database ERP Menampung data master mapping ID sales group dengan ID di database ERP Menampung data kilometer akhir kendaraan sales group Menampung data outlet
MAPPING_EXPENSE MAPPING_ITEM MAPPING_OUTLET MAPPING_SALESMAN MILEAGE OUTLET OUTLETSALESMAN PRODUCT
Menampung data PIC sales group pada outlet Menampung data produk
PRODUCTGROUP
Menampung data grup produk
PURCHASEORDER
Menampung data purchase order header
PURCHASEORDERITEM Menampung data purchase order detail REASON
Menampung master keterangan alasan
RETURNORDER
Menampung data return order header
RETURNORDERITEM
Menampung data return order detail
USERINFO
Menampung data sales group
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
37
Untuk merancang data warehouse yang dibutuhkan untuk rancangan dashboard, tidak semua tabel dari database tersebut akan digunakan. Tabel yang digunakan dipilih sesuai kebutuhan informasi yang ingin ditampilkan dan beberapa data juga diambil dari operasional marketing. berikut daftar tabel-tabel yang digunakan untuk perancangan data warehouse, beserta informasi jumlah record di dalamnya dan jumlah atribut yang dimilikinya: Tabel 4.3 Daftar tabel sumber data warehouse dari operasional penjualan (berdasarkan data dari Oktober 2011 sampai November 2012)
Nama tabel PURCHASEORDER PURCHASEORDERITEM
Jumlah row yang digunakan 3,463,361
Jumlah atribut 28
10,995,638
36
RETURNORDER
11,635
28
RETURNORDERITEM
13,865
36
3
4
22
5
70,262
11
1,600,084
12
54,056
37
272
23
9
5
1,023
15
19
5
BRANCH EXPENSES EXPENSESHEADER EXPENSESDETAIL OUTLET PRODUCT PRODUCTGROUP USERINFO MAPPING_EXPENSE
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
38
Tabel 4.4 Daftar tabel sumber data warehouse dari operasional marketing (berdasarkan data dari tahun 2011)
Nama tabel SalesTarget
4.3
Jumlah row yang digunakan 142,261
Jumlah atribut 11
Model Pelaporan Saat Ini Proses pelaporan penjualan bagi eksekutif yang berjalan saat ini adalah
melalui meeting progress bulanan. Eksekutif mendapat laporan penjualan dari rekapitulasi laporan penjualan yang dikumpulkan oleh supervisor-supervisor tiap sales group. Supervisor mendapatkan laporan penjualan dari sistem pelaporan berbasis web yang memberikan informasi penjualan faktual. Sistem ini hanya menampung data dari empat bulan kebelakang sehingga tidak memungkinkan eksekutif untuk melakukan perbandingan penjualan tiap tahun. Untuk itu biasanya supervisor menyimpan transkrip laporan tiap bulan dari sistem ini kedalam local drive dalam bentuk file berbasis Microsoft Office Excel. Bagi eksekutif untuk bisa mendapatkan laporan untuk membandingkan penjualan tahunan, dilakukan dengan melakukan request kepada tiap supervisor sales group untuk membuat rekapitulasi penjualan tiap sales group nya. Bagi manager, untuk bisa mendapatkan data rekapitulasi penjualan dari tiap supervisor sales group, dibutuhkan waktu satu hari kerja, dan ditambah empat jam lagi untuk menggabungkan data-data tersebut untuk konsumsi pelaporan kepada eksekutif. Jadi setidaknya diperlukan waktu satu setengah hari kerja bagi eksekutif, dalam hal ini direksi untuk bisa mendapatkan laporan penjualan yang membandingkan trend penjualan tiap bulan sampai setahun kebelakang. 4.4
Perancangan Arsitektur Data Warehouse Perancangan arsitektur data warehouse untuk kebutuhan pelaporan dalam
bentuk dashboard pada penelitian ini, dibangun secara terpusat, sehingga data akan terkumpul dalam satu tempat saja dan akan lebih mudah dalam proses Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
39
pengolahan datanya. Beberapa pertimbangan mengenai arsitektur data warehouse yang dibuat terpusat pada penelitian ini adalah karena: a. Merupakan arsitektur umum yang digunakan di banyak organisasi. b. Kebutuhan informasi dashboard hanya untuk konsumsi pusat organisasi. c. Dukungan struktur database operasional yang juga dirancang secara terpusat. d. Mempermudah dalam pengawasan dan pemeliharaan. e. Pengembangan lebih mudah dan lebih murah dibandingkan dengan arsitektur terdistribusi. Adapun gambaran mengenai perancangan yang dibangun sesuai dengan gambar 4.2.
Gambar 4.2 Rancangan arsitektur data warehouse
a. Source. Sumber data yang dipakai untuk data warehouse adalah diambil dari Online Transaction Processing (OLTP) yang tersimpan dalam operasional database. Dalam hal ini, data diambil dari operasional penjualan dan operasional marketing. b. ETL Process. Dengan ETL process diambil data-data dari ke dua operasional database untuk dimasukkan kedalam rancangan data warehouse. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
40
c. Server data warehouse. server data warehouse ditempatkan di dalam server tersendiri agar pemeliharaannya lebih mudah. Hal ini juga didukung dengan penerapan virtualisasi oleh organisasi. d. OLAP. OLAP membentuk pelaporan yang terperinci dari data warehouse. e. End-user access tools. Dalam hal ini data diolah dengan menggunakan aplikasi dashboard berbasis web untuk menampilkan informasi via personal computer. Dengan arsitektur data warehouse, maka didapat perbandingan alur proses pelaporan yang berjalan saat ini tanpa data warehouse dengan laporan penjualan yang dirancang dengan aplikasi dashboard seperti tergambar pada tabel 4.5.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
41 Tabel 4.5 Perbandingan alur data penjualan sebelum dan sesudah penerapan data warehouse
Alur proses sistem pelaporan penjualan saat ini
Alur proses sistem pelaporan dengan pemanfaatan data warehouse dan dashboard
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
42
Dari tabel 4.5 tergambarkan bahwa proses bisnis berjalan dimulai dari sales group melakukan upload data penjualan hariannya yang berformat *.XML kedalam sistem. Selanjutnya data tersebut diproses untuk selanjutnya dimasukkan ke dalam tabel temporer. Dengan proses ETL, selanjutnya data dari tabel temporer tersebut dilakukan validasi sebelum dimasukkan kedalam tabel operasional untuk kebutuhan pelaporan dan juga di eksport ke tabel sistem ERP. Sedangkan proses dengan pemanfaatan data warehouse, dilakukan penambahan proses tambahan setelah data dimasukan ke dalam operasional database. Proses dimulai dengan pemilihan data untuk kebutuhan data warehouse, lalu dilakukan penyesuaian data sesuai dengan tabel dimensi dan fakta pada data warehouse. proses terakhir adalah memasukkan data yang telah diolah tersebut ke dalam data warehouse untuk kepentingan presentasi aplikasi dashboard dan di proses OLAP untuk presentasi pelaporan yang lebih detail. 4.5
Pemodelan Data Warehouse Dimensional Tahap perancangan data warehouse dimensional, mengikuti the four step
modelling process (Kimball & Ross, 2002). 4.5.1
Pemilihan Proses Bisnis berdasarkan lingkup penelitian sudah diidentifikasikan bahwa
penelitian akan terbatas pada proses bisnis penjualan, namun juga terkait terhadap beberapa proses lainnya. Proses penjualan yang dimaksud adalah proses penjualan produk kepada outlet maupun pengembalian karena rusak maupun
kadaluarsa.
Data
yang
ada
meliputi:
salesman,
outlet,
purchaseorder, returnorder, produk, expense. Tabel 4.6 berikut menjelaskan mengenai proses bisnis bisnis apa saja yang terkait dalam pembuatan data warehouse.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
43 Tabel 4.6 Identifikasi proses bisnis
Proses bisnis Penjualan
Keterangan Proses ini adalah mengenai proses penjualan barang kepada outlet/pembeli. Transaksi penjualan tersimpan dalam tabel PURCHASEORDER. Dan transaksi retur disimpan dalam tabel RETURNORDER
Target penjualan sales
Proses ini adalah penentuan target
group
penjualan sales group. Proses bisnis ini dilakukan pihak marketing.
4.5.2
Pemilihan Grain Grain atau granularity adalah informasi yang akan direpresentasikan
oleh record dari tabel fakta. Grain merupakan data dari calon fakta yang bisa dianalisis. Dengan deklarasi dari grain, maka nantinya dimensi akan terbentuk juga.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
44 Tabel 4.7 Pemilihan grain
Granularitas Nilai penjualan
Keterangan Nilai penjualan ini didapat dari summarize nilai penjualan (dalam rupiah) tiap produk oleh sales group pada periode tertentu (bulan, kuartal, tahun).
Berat penjualan
Berat penjualan ini didapat dari summarize berat penjualan tiap produk (dalam kilogram) oleh sales group pada periode tertentu (bulan, kuartal, tahun).
Nilai retur
Nilai retur ini didapat dari summarize nilai retur tiap produk (dalam rupiah) oleh outlet pada periode tertentu (harian, bulan, kuartal, tahun).
Berat retur
Berat retur ini didapat dari summarize berat retur tiap produk (dalam kilogram) oleh outlet pada periode tertentu (harian, bulan, kuartal, tahun).
Berat target
Berat target ini didapat dari summarize berat target penjualan (dalam kilogram) tiap produk untuk sales group pada periode tertentu (bulan, kuartal, tahun).
Nilai expense
Nilai expense ini didapat dari summarize nilai pengeluaran operasional penjualan (dalam rupiah) sales group pada periode tertentu (bulan, kuartal, tahun).
Nilai budget
Nilai budget operasional ini didapat dari summarize
operasional sales
budget untuk operasional penjualan departemen sales (dalam rupiah) pada periode tertentu (bulan, kuartal, tahun).
4.5.3
Identifikasi Dimensi Dimensi ini nantinya juga melekat kepada tabel fakta. Tabel dimensi
menyediakan detail informasi terhadap suatu atribut dimensi dari tabel fakta. Tabel 4.8 menjabarkan mengenai dimensi apa saja yang akan dibentuk untuk kebutuhan data warehouse. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
45 Tabel 4.8 Identifikasi dimensi
Dimensi
Keterangan
Waktu
Menyimpan informasi keterangan waktu harian
Kalender fiskal
Menyimpan informasi keterangan kalender fiskal Menyimpan informasi sales group
Sales group
Produk
Menyimpan informasi produk yang dijual
Produk Grup
Menyimpan informasi grup dari produk
Outlet
Menyimpan informasi outlet penjualan
Expense
Menyimpan informasi pengeluaran operasional sales group Menyimpan informasi cabang
Cabang
Grain terkait nilai penjualan dalam rupiah berat penjulan dalam kilogram nilai retur dalam rupiah berat retur dalam kilogram nilai expense dalam rupiah berat target dalam kilogram
nilai penjualan dalam rupiah berat penjulan dalam kilogram nilai retur dalam rupiah berat retur dalam kilogram nilai expense dalam rupiah berat target dalam kilogram nilai penjualan dalam rupiah berat penjulan dalam kilogram nilai retur dalam rupiah berat retur dalam kilogram berat target dalam kilogram nilai penjualan dalam rupiah berat penjulan dalam kilogram nilai retur dalam rupiah berat retur dalam kilogram berat target dalam kilogram nilai penjualan dalam rupiah berat penjulan dalam kilogram nilai retur dalam rupiah berat retur dalam kilogram nilai expense dalam rupiah nilai budget operasional sales group Nilai expense dalam rupiah nilai budget operasional sales group
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
46
4.5.3.1 Dimensi Waktu Tabel dimensi waktu ini digenerate berdasarkan jumlah hari per tahun. Hari kerja normal adalah dari hari senin sampai jumat namun dalam dimensi ini, hari libur juga dimasukkan karena ada kemungkinan hari libur tersebut digunakan sebagai hari kerja. Atribut dari dimensi ini dijelaskan dalam tabel 4.9. Tabel 4.9 Keterangan dimensi waktu
Field WaktuID Fulldate Bulan NamaBulan Quarter Tahun TahunBulan TahunBulanFiskal TahunFiskal Hari_ke
Keterangan Sebagai primary key dengan format string: “YYYYMMDD” Berisi string date dalam tipe data datetime Berisi urutan bulan Berisi nama bulan Berisi urutan quarter untuk bulan tersebut Berisi informasi tahun Berisi informasi tahun bulan dengan format string “YYYYMM” Berisi informasi tahun bulan fiskal dengan format string “YYYYMM(Bulan Fiskal)” Berisi informasi tahun fiskal Berisi informasi urutan hari dalam bulan tersebut
4.5.3.2 Dimensi Kalender Fiskal Tabel dimensi kalender fiskal adalah dimensi kalender fiskal yang berlaku di organisasi. Tahun fiskal dari organisasi dibagi empat quarter. Quarter 1 dimulai dari April sampai Juni, quarter 2 dimulai dari Juli sampai September, quarter 3 dimulai dari Oktober sampai Desember dan quarter 4 dimulai dari Januari sampai Maret. Atribut dari dimensi ini dijelaskan dalam tabel 4.10.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
47 Tabel 4.10 Keterangan dimensi fiskal
Field FiskalID
Keterangan Sebagai primary key dengan format string “YYYYMM” dimana YYYY adalah tahun fiskal dan MM adalah bulan fiskal Tahun Berisi informasi tahun Bulan Berisi informasi urutan bulan NamaBulan Berisi infrormasi nama bulan TahunFiskal Berisi informasi tahun fiskal BulanFiskal Berisi informasi urutan bulan fiskal Quarter Berisi informasi quarter
4.5.3.3 Dimensi Sales Group Tabel dimensi sales group berisi data sales group yang aktif. Data diambil dari tabel USERINFO yang mana data di dalamnya sudah merupakan hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atribut-atribut dari tabel USERINFO dijelaskan dalam tabel 4.11.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
48 Tabel 4.11 Keterangan dimensi salesgroup
Field sumber UI_DISTRICCODE UI_USERNAME
Field dimensi
Keterangan Kode cabang KodeSalesGroup Kode sales grup UI_ROLEID Role dari user UI_USERTYPE Tipe dari user UI_PASSWORD Password user UI_SURNAME NamaSalesGroup Nama Sales Grup UI_GIVENNAME NamaSalesGroupSingkat Nama singkat dari sales grup UI_EMAIL Email sales grup UI_MOBILENO Mobile number dari sales grup UI_STATUS Status data UI_EXPIREDDATE Tanggal kadaluarsa data UI_UPDTIMESTAMP Tanggal kapan data di update CreatedOn Tanggal kapan data dibuat CreatedBy User yang membuat data
4.5.3.4 Dimensi Produk Tabel dimensi produk berisi data produk yang dijual. Data ini diambil dari tabel PRODUCT. Data yang ada dari tabel tersebut adalah data hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atributatribut dari tabel PRODUCT dijelaskan dalam tabel 4.12.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
49 Tabel 4.12 Keterangan dimensi produk
Field sumber PD_PROCODE PD_PRONAME PD_PACKING
Field dimensi KodeProduk NamaProduk -
keterangan Kode produk Nama produk Dimensi packing dari produk PD_BARCODE Kode barcode produk PD_TAXPERCENT Persen pajak untuk produk PD_STATUS Status produk PD_GLCATEGORY KodeProdukGroup Kode grup produk PD_ABBREV NamaProdukSingkat Nama pendek produk PD_UPDTIMESTAMP Tanggal kapan data di update CreatedOn Tanggal kapan data dibuat CreatedBy User yang membuat data 4.5.3.5 Dimensi Produk Group Tabel dimensi produk group berisi data produk yang dijual. Data ini diambil dari tabel PRODUCTGROUP. Data yang ada dari tabel tersebut adalah data hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atribut-atribut dari tabel PRODUCTGROUP dijelaskan dalam tabel 4.13. Tabel 4.13 Keterangan dimensi produk group
Field sumber Field dimensi PG_PROGRPCODE KodeProdukGroup PG_PROGRPNAME NamaProdukGroup PG_UPDTIMESTAMP CreatedOn
-
CreatedBy
-
Keterangan Kode grup produk Nama grup produk Tanggal kapan data di update Tanggal kapan data dibuat User yang membuat data
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
50
4.5.3.6 Dimensi Outlet Tabel dimensi outlet berisi data outlet penjualan. Data ini diambil dari tabel OUTLET. Data yang ada dari tabel tersebut adalah data hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atribut-atribut dari tabel OUTLET dijelaskan dalam tabel 4.14. Tabel 4.14 Keterangan dimensi outlet
Field sumber OL_DISTRICODE OL_OUTLETCODE
Field dimensi KodeOutlet
OL_NAME OL_ADDRESS1
NamaOutlet AlamatOutlet
Keterangan Kode cabang Primary key dari outlet Nama outlet OL_OUTLET1, OL_OUTLET2 dan OL_OUTLET3 akan digabung menjadi AlamatOutlet
OL_ADDRESS2 OL_ADDRESS3 OL_POSTCODE OL_STATE OL_MOBILE
KodePosOutlet Kode pos outlet Negara outlet Mobile number dari outlet OL_PHONE Nomor telepon outlet OL_FAX Nomor fax outlet OL_EMAIL Alamat email outlet OL_CONTACTPERSON Nama kontak OL_REGIONCODE Kode regional OL_TERM Term pembayaran OL_STATUS Status outlet OL_UPDTIMESTAMP Tanggal kapan data di update CreatedOn Tanggal kapan data di buat CreatedBy User yang membuat data
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
51
4.5.3.7 Dimensi Expense Tabel dimensi expense berisi data macam tipe expense penjualan. Data ini diambil dari tabel EXPENSES. Data yang ada dari tabel tersebut adalah data hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atribut-atribut dari tabel EXPENSES dijelaskan dalam tabel 4.15. Tabel 4.15 Keterangan dimensi expense
Field sumber EX_GROUPID
Field dimensi -
EX_CODE
KodeExpense
EX_DESC DeskripsiExpense EX_UPDTIMESTAMP CreatedOn
-
CreatedBy
-
Keterangan Grouping dari expense Primary key dari expense Nama expense Tanggal kapan data di update Tanggal kapan data di buat User yang membuat data
4.5.3.8 Dimensi Cabang Tabel dimensi cabang berisi data cabang. Data ini diambil dari tabel BRANCH. Data yang ada dari tabel tersebut adalah data hasil ETL yang sudah berjalan dari proses data penjualan. Pemetaan atribut dimensi ini yang diambil dari atribut-atribut dari tabel CABANG dijelaskan dalam tabel 4.16. Tabel 4.16 Keterangan dimensi cabang
Field sumber Field dimensi BRANCHCODE KodeCabang BRANCHNAME NamaCabang BH_UPDTIMESTAMP CreatedOn
-
CreatedBy
-
Keterangan Primary key cabang Nama cabang Tanggal kapan data di update Tanggal kapan data di buat User yang membuat data Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
52
4.5.4
Identifikasi Fakta Proses ini menentukan tabel fakta yang akan dibentuk. Masing-
masing fakta memiliki data yang dapat dihitung, untuk selanjutnya ditampilkan dalam bentuk grafik laporan. Tabel 4.17 menjabarkan mengenai tabel fakta apa saja yang dibentuk dalam rancangan data warehouse. Tabel 4.17 Daftar tabel fakta
Tabel fakta Penjualan
Atribut waktu, kode sales grup, kode cabang, kode outlet, kode produk, kode produk grup, nilai produk terjual, berat produk terjual
Retur
waktu, kode sales grup, kode cabang, kode outlet, kode produk, kode produk grup, nilai produk retur, berat produk retur
Expense
waktu, kode sales grup, kode cabang, kode expense, nilai expense
Target penjualan
kalender fiskal, kode sales grup, kode cabang, kode produk, kode produk grup, berat target
4.5.4.1 Tabel Fakta Penjualan Tabel fakta penjualan ini merupakan tabel fakta yang digunakan untuk laporan penjualan sales group. Tabel ini menampung data foreign key dan measurement yang berhubungan dengan penjualan sales group. Adapun detail dari tabel fakta penjualan ini dijelaskan pada tabel 4.18.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
53 Tabel 4.18 Deskripsi tabel FaktaPenjualan
Nama field salesGroup
Fungsi field Foreign key
Deskripsi field Primary key DimensiSalesGroup
kodeCabang
Foreign key
Primary key DimensiCabang
kodeProduk
Foreign key
Primary key DimensiProduk
kodeProdukGroup Foreign key
Primary key DimensiProdukGroup
kodeOutlet
Foreign key
Primary key DimensiOutlet
waktuID
Foreign key
Primary key DimensiWaktu
nilaiPenjualan
Measurement Nilai penjualan produk oleh sales group dalam rupiah Measurement Berat penjualan produk oleh sales group dalam kilogram
beratPenjualan
4.5.4.2 Tabel Fakta Retur Tabel fakta retur digunakan untuk memberikan laporan mengenai banyak pengembalian oleh outlet. Adapun detail dari tabel fakta retur ini dijelaskan pada tabel 4.19. Tabel 4.19 Deskripsi tabel FaktaRetur
Nama field salesGroup
Fungsi field Foreign key
Deskripsi field Primary key DimensiSalesGroup
kodeCabang
Foreign key
Primary key DimensiCabang
kodeProduk
Foreign key
Primary key DimensiProduk
kodeProdukGroup Foreign key
Primary key DimensiProdukGroup
kodeOutlet
Foreign key
Primary key DimensiOutlet
waktuID
Foreign key
Primary key DimensiWaktu
nilaiRetur
Measurement
beratRetur
Measurement
Nilai retur produk oleh outlet dalam rupiah Berat penjualan produk oleh outlet dalam kilogram Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
54
4.5.4.3 Tabel Fakta Expense Tabel fakta expense digunakan untuk memberikan laporan mengenai biaya operasional penjualan oleh sales group. Adapun detail dari tabel fakta expense ini dijelaskan pada tabel 4.20. Tabel 4.20 Deskripsi tabel FaktaExpense
Nama field
Fungsi field
Deskripsi field
salesGroup
Foreign key
Primary key DimensiSalesGroup
kodeCabang
Foreign key
Primary key DimensiCabang
kodeExpense
Foreign key
Primary key DimensiExpense
waktuID
Foreign key
Primary key DimensiWaktu
nilaiExpense
Measurement
Nilai expense penjualan sales group dalam rupiah
4.5.4.4 Tabel Fakta Target Penjualan Tabel fakta target penjualan memberikan gambaran target pencapaian penjualan tiap sales group. Adapun detail dari tabel fakta target penjualan ini dijelaskan pada tabel berikut. Tabel 4.21 Deskripsi tabel FaktaTargetPenjualan
Nama field
Fungsi field
salesGroup
Foreign key
kodeProduk
Foreign key
kodeProdukGroup Foreign key
Deskripsi field Primary key DimensiSalesGroup Primary key DimensiProduk
kodeCabang
Foreign key
Primary key DimensiProdukGroup Primary key DimensiCabang
fiskalID
Foreign key
Primary key DimensiFiskal
beratTarget
Measurement
Berat target penjualan sales group
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
55
4.5.5
Perancangan Skema Data Warehouse Berdasarkan identifikasi perancangan dari proses sebelumnya,
dibentuk skema relasi yang membentuk data warehouse. gambaran lengkap mengenai skema yang dirancang ada pada lampiran 7. Pemecahan skema tersebut berdasarkan tabel fakta nya, digambarkan dalam skema-skema berikut. DimensiProdukGroup PK
KodeProdukGroup NamaProdukGroup DimensiProduk
DimensiSalesGroup PK
KodeSalesGroup NamaSalesGroup NamaSalesGroupSingkat
PK
KodeProduk
FK1
KodeProdukGroup NamaProduk NamaProdukSingkat
FaktaPenjualan DimensiCabang PK
KodeCabang
FK5 FK3 FK2 FK1 FK4
NamaCabang
KodeSalesGroup KodeCabang KodeOutlet KodeProduk WaktuID nilaiPenjualan beratPenjualan
DimensiOutlet PK
KodeOutlet NamaOutlet AlamatOutlet KodePosOutlet
DimensiWaktu PK
WaktuID Fulldate Bulan NamaBulan Quarter Tahun TahunBulan TahunBulanFiskal TahunFiskal Hari_Ke
Gambar 4.3 Skema penjualan
Gambar 4.3 menggambarkan mengenai skema penjualan dimana dibentuk dari enam tabel dimensi dan satu tabel fakta penjualan.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
56
Gambar 4.4 Skema retur
Gambar 4.4 menggambarkan mengenai skema retur dimana dibentuk dari enam tabel dimensi dan satu tabel fakta retur.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
57
DimensiSalesGroup PK
KodeSalesGroup NamaSalesGroup NamaSalesGroupSingkat
DimensiCabang PK
KodeCabang NamaCabang
FaktaExpense
FK1 FK4 FK3 FK2
KodeSalesGroup KodeCabang WaktuID FiskalID nilaiExpense
DimensiFiskal PK
FiskalID Tahun Bulan NamaBulan TahunFiskal BulanFiskal
DimensiWaktu PK
WaktuID Fulldate Bulan NamaBulan Quarter Tahun TahunBulan TahunBulanQuarter TahunFiskal
Gambar 4.5 Skema expense
Gambar 4.5 menggambarkan mengenai skema expense dimana dibentuk dari empat tabel dimensi dan satu tabel fakta expense.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
58
Gambar 4.6 Skema target penjualan
Gambar 4.6 menggambarkan mengenai skema target penjualan dimana dibentuk dari lima tabel dimensi dan satu tabel fakta target penjualan.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
59
4.6
Proses ETL Untuk memasukkan data dari database operasional ke dalam bentuk data
warehouse, dilakukan proses ETL. Proses ETL ini dilakukan dengan menggunakan Microsoft SQL Server 2008 Integration Services (MSSIS). Proses ini dilakukan secara otomatis dan dijalankan per hari setelah proses input data penjualan oleh sales group telah semua selesai dijalankan. Berdasarkan rancangan data warehouse yang dibangun, diidentifikasikan ada empat tabel fakta dan delapan tabel dimensi yang dibentuk. Daftar tabel yang akan dibentuk dalam rancangan data warehouse melalui proses ETL dijelaskan pada tabel 4.22. Tabel 4.22 Daftar tabel dalam proses ETL
Tabel
Proses terkait
Keterangan
DimensiSalesGroup
Dijalankan perhari
DimensiProduk
Dijalankan perhari
DimensiProdukGroup
Dijalankan perhari
DimensiFiskal
Dijalankan pertahun
DimensiWaktu
Dijalankan pertahun
DimensiOutlet
Dijalankan perhari
DimensiCabang
Dijalankan perhari
DimensiExpense
Dijalankan perhari
FaktaPenjualan
FaktaRetur
FaktaExpense
DimensiSalesGroup DimensiProduk DimensiProdukGroup DimensiOutlet DimensiWaktu DimensiCabang DimensiSalesGroup DimensiProduk DimensiProdukGroup DimensiOutlet DimensiWaktu DimensiCabang DimensiSalesGroup DimensiExpense DimensiCabang
Dijalankan perhari
Dijalankan perhari
Dijalankan perhari
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
60
DimensiWaktu FaktaTargetPenjualan
DimensiSalesGroup DimensiProduk DimensiProdukGroup DimensiFiskal DimensiCabang
Dijalankan perhari
Dengan menggunakan metode yang ada di SQL server business intelligence development studio, tiap proses untuk mengolah tabel dibuat di dalam sebuah package. Dari tiap package yang terbentuk, selanjutnya dibuat sebuah super package yang akan menjadi package untuk dieksekusi agar maintainance aplikasi lebih mudah. Proses ekstrak transform dan load oleh development studio ini di representasikan menjadi data flow source (ekstrak), data flow transformation (transform) dan data flow destination (load). 4.6.1
Package Dimensi Waktu Untuk
menghasilkan
record
terhadap
tabel
DimensiWaktu,
dilakukan dengan mengeksekusi sebuah SQL stored procedure karena sumber data bagi tabel ini adalah list informasi hari. Logika mengenai stored procedure untuk proses ini di lampirkan di halaman akhir.
Gambar 4.7 Package eksekusi dimensi waktu
Gambar 4.7 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi waktu dimana proses tersebut menjalankan sebuah stored procedure.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
61
4.6.2
Package Dimensi Kalender Fiskal Untuk menghasilkan record terhadap tabel dimensiFiskal, dilakukan
dengan mengeksekusi sebuah SQL stored procedure karena sumber data bagi tabel ini adalah list informasi per bulan fiskal. Logika mengenai stored procedure untuk proses ini di lampirkan di halaman akhir.
Gambar 4.8 Package eksekusi dimensi fiskal
Gambar 4.8 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi fiskal dimana proses tersebut menjalankan sebuah stored procedure. 4.6.3
Package Dimensi Sales Group Untuk menghasilkan record terhadap tabel dimensiSalesGroup,
dilakukan dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiSalesGroup. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.23.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
62 Tabel 4.23 Sumber-tujuan package dimensi sales group
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 USERINFO Field UI_USERNAME UI_SURNAME UI_GIVENNAME DWPenjualan DimensiSalesGroup Field KodeSalesGroup NamaSalesGroup NamaSalesGroupSingkat
Tipe VARCHAR(10) VARCHAR(50) VARCHAR(150)
Tipe VARCHAR(6) VARCHAR(50) VARCHAR(4)
Gambar 4.9 Package eksekusi dimensi sales group
Gambar 4.9 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi sales group. Kotak [Source Sales Group] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [OLE DB Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
63
Command], sedangkan untuk data yang belum ada dalam tabel tujuan, maka akan dilakukan proses input dalam kotak [OLE DB Destination]. 4.6.4
Package Dimensi Produk Untuk
menghasilkan
record
terhadap
tabel
dimensiProduk,
dilakukan dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiProduk. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.24. Tabel 4.24 Sumber-tujuan package dimensi produk
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 PRODUCT Field PD_PROCODE PD_GLCATEGORY PD_PRONAME PD_ABBREV DWPenjualan DimensiProduk Field KodeProduk KodeProdukGroup NamaProduk NamaProdukSingkat
Tipe VARCHAR(10) VARCHAR(10) VARCHAR(250) VARCHAR(50)
Tipe VARCHAR(10) VARCHAR(6) VARCHAR(50) VARCHAR(25)
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
64
Gambar 4.10 Package eksekusi dimensi produk
Gambar 4.10 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi produk. Kotak [Source Produk] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [update existing], sedangkan untuk data yang belum ada dalam tabel tujuan, maka akan dilakukan proses input dalam kotak [load record]. 4.6.5
Package Dimensi Produk Group Untuk menghasilkan record terhadap tabel dimensiProdukGroup,
dilakukan dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiProdukGroup. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.25.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
65 Tabel 4.25 Sumber-tujuan package dimensi produk group
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 PRODUCTGROUP Field PG_PROGRPCODE PG_PROGRPNAME DWPenjualan DimensiProdukGroup Field KodeProdukGroup NamaProdukGroup
Tipe VARCHAR(10) VARCHAR(50)
Tipe VARCHAR(6) VARCHAR(25)
Gambar 4.11 Package eksekusi dimensi produk group
Gambar 4.11 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi produk group. Kotak [Source Produk group] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
66
[update existing], sedangkan untuk data yang belum ada dalam tabel tujuan, maka dilakukan proses input dalam kotak [load record]. 4.6.6
Package Dimensi Outlet Untuk menghasilkan record terhadap tabel dimensiOutlet, dilakukan
dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiOutlet. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.26. Tabel 4.26 Sumber-tujuan package dimensi outlet
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 OUTLET Field OL_OUTLETCODE OL_NAME OL_ADDRESS1 + OL_ADDRESS2 OL_POSTCODE DWPenjualan DimensiOutlet Field KodeOutlet NamaOutlet AlamatOutlet KodePosOutlet
Tipe VARCHAR(20) VARCHAR(100) VARCHAR(50) + VARCHAR(50) VARCHAR(10)
Tipe VARCHAR(10) VARCHAR(25) VARCHAR(50) VARCHAR(5)
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
67
Gambar 4.12 Package eksekusi dimensi outlet
Gambar 4.12 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi outlet. Kotak [Source Outlet] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [update existing], sedangkan untuk data yang belum ada dalam tabel tujuan, maka akan dilakukan proses input dalam kotak [load record]. 4.6.7
Package Dimensi Expense Untuk menghasilkan record terhadap tabel dimensiExpense,
dilakukan dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiExpense. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.27.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
68 Tabel 4.27 Sumber-tujuan package dimensi expense
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 EXPENSES Field EX_CODE EX_DESC DWPenjualan DimensiExpense Field KodeExpense DeskripsiExpense
Tipe VARCHAR(50) VARCHAR(100)
Tipe VARCHAR(10) VARCHAR(50)
Gambar 4.13 Package eksekusi dimensi expense
Gambar 4.13 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi expense. Kotak [Source Expense] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [update existing], sedangkan untuk data yang belum ada dalam tabel tujuan, maka akan dilakukan proses input dalam kotak [load record]. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
69
4.6.8
Package Dimensi Cabang Untuk
menghasilkan
record
terhadap
tabel
dimensiCabang,
dilakukan dengan mengambil data dari tabel sumber dan melakukan import ke dalam tabel dimensiCabang. Penjelasan mengenai atribut apa saja yang digunakan dijelaskan pada tabel 4.28. Tabel 4.28 Sumber-tujuan package dimensi cabang
Database sumber Tabel sumber
Database tujuan Tabel tujuan
HO014 BRANCH Field BRANCHCODE BRANCHNAME DWPenjualan DimensiCabang Field KodeCabang NamaCabang
Tipe VARCHAR(10) VARCHAR(200)
Tipe VARCHAR(4) VARCHAR(50)
Gambar 4.14 Package eksekusi dimensi cabang
Gambar 4.10 adalah gambar perancangan aplikasi yang membangun proses ETL untuk dimensi cabang. Kotak [Source Cabang] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
70
tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [update existing], sedangkan untuk data yang belum ada dalam tabel tujuan, maka akan dilakukan proses input dalam kotak [load record]. 4.6.9
Package Fakta Penjualan Package ini dijalankan per hari. Proses package diawali dengan
melakukan penghapusan terhadap data fakta penjualan dua bulan kebelakang. Hal ini untuk mengantisipasi adanya perubahan terhadap data penjualan sebelumnya tersebut. Lalu setelahnya digenerate kembali data penjualan dari dua bulan sebelumnya tersebut.
Gambar 4.15 Package eksekusi fakta penjualan
Gambar 4.15 adalah gambar perancangan aplikasi yang membangun proses ETL untuk fakta penjualan. Kotak [Source penjualan] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah input data ke dalam tabel faktaPenjualan dalam kotak [OLE DB Destination].
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
71
4.6.10 Package Fakta Retur Package ini dijalankan per hari. Proses package diawali dengan melakukan penghapusan terhadap data fakta retur dua bulan kebelakang. Hal ini untuk mengantisipasi adanya perubahan terhadap data retur sebelumnya tersebut. Lalu setelahnya digenerate kembali data retur dari dua bulan sebelumnya tersebut.
Gambar 4.16 Package eksekusi fakta retur
Gambar 4.16 adalah gambar perancangan aplikasi yang membangun proses ETL untuk fakta penjualan. Kotak [Source retur] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah input data ke dalam tabel faktaRetur dalam kotak [OLE DB Destination]. 4.6.11 Package Fakta Expense Package ini dijalankan per hari. Proses package diawali dengan melakukan penghapusan terhadap data fakta expense dua bulan kebelakang. Hal ini untuk mengantisipasi adanya perubahan terhadap data expense sebelumnya tersebut. lalu setelahnya digenerate kembali data expense dari dua bulan sebelumnya tersebut. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
72
Gambar 4.17 Package eksekusi fakta expense
Gambar 4.17 adalah gambar perancangan aplikasi yang membangun proses ETL untuk fakta penjualan. Kotak [Source expense] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah input data ke dalam tabel faktaExpense dalam kotak [OLE DB Destination].
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
73
4.6.12 Package Fakta Target Penjualan Fakta target penjualan ini didapatkan dari list target sales group yang di tentukan sebelumnya dan telah dimasukkan di dalam tabel SalesTarget.
Gambar 4.18 Package eksekusi fakta target penjualan
Gambar 4.18 adalah gambar perancangan aplikasi yang membangun proses ETL untuk fakta target penjualan. Kotak [Source target sales] adalah kotak proses yang melakukan pengambilan data dari sumber, selanjutnya data tersebut dilakukan proses konversi yang diperlukan dalam kotak [Data Conversion]. Proses selanjutnya adalah pemeriksaan untuk data yang sudah ada, maka akan dilakukan proses update data dalam kotak [update existing], sedangkan untuk data yang belum ada dalam tabel faktaTargetPenjualan, maka akan dilakukan proses input dalam kotak [load record].
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
74
4.7
OLAP Untuk merancang sebuah presentasi data dari data warehouse, dibentuk OLAP dengan Microsoft SQL Server 2008 Analysis Services (MSSAS) sebagai sumber data nya dan presentasi data dengan Microsoft SQL Server 2008 Reporting Services (MSSRS). Hasil presentasi akan bisa diakses secara web sehingga memberikan kemudahan akses dengan jaringan intranet organisasi. Perancangan presentasi data ini dibangun menggunakan tools microsoft business intelligence development studio 2008. 4.7.1
Informasi Penjualan Presentasi data penjualan menampilkan informasi penjualan produk
oleh sales group. Informasi ini diperoleh dari cube penjualan yang dibentuk dari OLAP. Presentasi data memungkinkan untuk dilakukan action drill down dan roll up. Measures dari informasi penjualan ini adalah berat penjualan dalam kilogram dan nilai penjualan dalam rupiah. Informasi dibuat fleksibel dengan memungkinkan fasilitas filter data berdasarkan rentang waktu yang diinginkan dalam satuan tahun. Selain itu juga dimungkinkan untuk menampilkan data dari cabang tertentu dan data terhadap sales group tertentu.
Gambar 4.19 Struktur cube OLAP penjualan
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
75
Gambar 4.19 mengenai rancangan struktur cube OLAP penjualan menjelaskan bahwa rancangan OLAP penjualan dibentuk dari fakta penjualan dan dimensi waktu, dimensi produk, dimensi produk group, dimensi outlet, dimensi cabang dan dimensi sales group.
Gambar 4.20 Presentasi data OLAP penjualan sales group
Gambar 4.20 mengenai presentasi data OLAP penjualan sales group adalah terhadap data pada cabang ‘Cabang SUB’ dan kode sales group ‘MKTO’ pada periode tahun 2011 – 2012. Drill down terhadap kolom memungkinkan untuk melihat data dari tahun fiskal – quarter – bulan – hari. Sedangkan secara baris memungkinkan untuk melihat data dari cabang – sales group – produk group – produk. 4.7.2
Informasi Retur Presentasi data retur menampilkan informasi retur produk oleh
outlet. Informasi ini diperoleh dari cube retur yang dibentuk dari OLAP. Presentasi data memungkinkan untuk dilakukan action drill down dan roll up. Measures dari informasi retur ini adalah berat retur dalam kilogram dan nilai retur dalam rupiah. Informasi juga dibuat fleksibel dengan memungkinkan fasilitas filter data berdasarkan rentang waktu yang diinginkan dalam satuan tahun. Selain itu juga dimungkinkan untuk menampilkan data dari cabang tertentu dan data terhadap outlet tertentu. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
76
Gambar 4.21 Struktur cube OLAP retur
Gambar 4.21 mengenai rancangan struktur cube OLAP retur menjelaskan bahwa rancangan OLAP retur dibentuk dari fakta retur dan dimensi waktu, dimensi produk, dimensi produk group, dimensi outlet, dimensi cabang dan dimensi sales group.
Gambar 4.22 Presentasi data OLAP retur outlet
Gambar 4.22 mengenai presentasi data OLAP retur outlet adalah terhadap data pada cabang ‘Cabang SUB’ dan kode outlet ‘016474’ (merupakan kode untuk nama outlet “pinggir jalan”) pada periode tahun Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
77
2012 – 2012. Drill down terhadap kolom memungkinkan untuk melihat data dari tahun fiskal – quarter – bulan – hari. Sedangkan secara baris memungkinkan untuk melihat data dari cabang – outlet – nama outlet – nama sales group – produk group – produk. 4.7.3
Informasi Expense Presentasi data expense menampilkan informasi expense penjualan
sales group. Informasi ini diperoleh dari cube expense yang dibentuk dari OLAP. Presentasi data memungkinkan untuk dilakukan action drill down dan roll up. Measures dari informasi retur ini adalah nilai expense dalam rupiah. Informasi juga dibuat fleksibel dengan memungkinkan fasilitas filter data berdasarkan rentang waktu yang diinginkan dalam satuan tahun. Selain itu juga dimungkinkan untuk menampilkan data dari cabang tertentu dan data terhadap sales group tertentu.
Gambar 4.23 Struktur cube OLAP expense penjualan
Gambar 4.23 mengenai rancangan struktur cube OLAP expense penjualan menjelaskan bahwa rancangan OLAP expense penjualan dibentuk dari fakta expense penjualan dan dimensi waktu, dimensi expense, dimensi cabang dan dimensi sales group. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
78
Gambar 4.24 Presentasi data OLAP expense penjualan
Gambar 4.24 mengenai presentasi data OLAP expense penjualan adalah terhadap data pada cabang ‘Cabang SUB’ dan kode sales group ‘MKTO’ pada periode tahun 2011 – 2012. Drill down terhadap kolom memungkinkan untuk melihat data dari tahun fiskal – quarter – bulan – hari. Sedangkan secara baris memungkinkan untuk melihat data dari cabang – nama sales group – nama expense. Hasil benchmark dari wawancara mengenai proses yang berjalan untuk menghasilkan laporan serupa dengan gambar 4.20, 4.22, dan 4.24 pada penelitian ini, mengenai waktu yang dibutuhkan untuk menghasilkan informasi, dijabarkan pada tabel 4.29 Tabel 4.29 benchmark pelaporan saat ini dengan OLAP
Laporan
Proses saat ini
Pemanfaatan OLAP
Laporan penjualan
1,5 hari kerja
10 detik
Laporan retur
1,5 hari kerja
40 detik
Laporan expense
1,5 hari kerja
10 detik
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
79
4.8
Perancangan Dashboard Penjualan Pada sub bab ini dijelaskan mengenai perancangan presentasi informasi penjualan dengan penerapan tampilan dashboard pada tiap-tiap cabang. Perancangan dashboard dibentuk dengan menggunakan Microsoft SQL Server 2008 Reporting Services (MSSRS) dengan sumber data dari data warehouse yang sebelumnya telah dibentuk. Tools untuk perancangan adalah dengan menggunakan microsoft business intelligence development studio 2008. Serupa dengan presentasi informasi OLAP, presentasi terhadap rancangan dashboard ini juga akan bisa diakses secara web sehingga memberikan kemudahan akses bagi eksekutif dengan melalui jaringan intranet organisasi. Presentasi awal dari dashboard adalah menampilkan pencapaian penjualan dari tiap – tiap cabang. Pencapaian didapat dari berat produk yang telah terjual dibandingkan dengan berat target yang sebelumnya ditetapkan.
Gambar 4.25 Rancangan dashboard penjualan
Gambar 4.25 menunjukan pencapaian dari tiap – tiap cabang pada tahun fiskal 2012. Nilai ukur pada dashboard yang digunakan adalah dalam satuan ‘juta kilogram’ Adapun range dari dashboard adalah:
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
80 Tabel 4.30 Informasi range dashboard
Warna
Range awal
Range akhir
Merah
0
Berat target/2
Kuning
Berat target/2
Berat target
Hijau
Berat target
Berat target * 1,5
Informasi pada tabel 4.30 menunjukkan bahwa apabila jarum ukur menunjuk di sekitar warna merah, maka berarti pencapaian penjualan belum mencapai setengah dari nilai target. Sedangkan apabila menunjuk di sekitar warna kuning, maka berarti pencapaian penjualan sudah melebihi setengah dari nilai target, namun belum mencapai nilai target. Dan apabila jarum berada di warna hijau, maka pencapaian penjualan sudah melebihi nilai target yang ditentukan. Selain
menunjukkan
informasi
penjualan
dengan
tampilan
dashboard, juga dimungkinkan untuk presentasi data penjualan secara tampilan grafik. Dengan melakukan klik pada judul dashboard, maka akan menampilkan halaman presentasi grafik. Presentasi secara grafik ini memungkinkan untuk melihat grafik penjualan terhadap cabang tersebut, melihat grafik penjualan sales group dan melihat grafik penjualan terhadap suatu produk.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
81
Gambar 4.26 Informasi grafik penjualan cabang
Gambar 4.26 menampilkan informasi grafik penjualan terhadap cabang Surabaya pada tahun fiskal 2011 sampai 2012. Informasi yang ditampilkan pada halaman ini memungkinkan untuk melihat informasi terhadap rentang waktu tertentu yang ingin ditampilkan. Grafik atas merupakan pencapaian target cabang tiap bulan dimana batang yang berwarna oranye adalah berat target dan yang berwarna biru adalah status berat penjualannya pada bulan tersebut. Sedangkan grafik bawah menunjukkan grafik nilai penjualan tiap bulan pada cabang tersebut.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
82
Gambar 4.27 Informasi grafik penjualan sales group
Gambar 4.27 menampilkan informasi grafik penjualan terhadap sales group ‘SMPT’ pada cabang Surabaya dan pada tahun fiskal 2011 sampai 2012. Informasi yang ditampilkan pada halaman ini memungkinkan untuk melihat informasi terhadap rentang waktu tertentu dan terhadap sales group yang ingin ditampilkan. Grafik atas merupakan pencapaian target sales group tiap bulan dimana batang yang berwarna oranye adalah berat target dan yang berwarna biru adalah status berat penjualannya pada bulan tersebut. Sedangkan grafik bawah menunjukkan grafik nilai penjualan tiap bulan oleh sales group tersebut.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
83
Gambar 4.28 Informasi grafikal penjualan produk
Gambar 4.28 menampilkan informasi grafik penjualan terhadap produk ‘CWWB’ pada cabang Surabaya dan pada tahun fiskal 2011 sampai 2012. Informasi yang ditampilkan pada halaman ini memungkinkan untuk melihat informasi terhadap rentang waktu tertentu dan terhadap produk tertentu yang ingin ditampilkan. Grafik atas merupakan pencapaian target produk tiap bulan dimana batang yang berwarna oranye adalah berat target dan yang berwarna biru adalah status berat penjualannya pada bulan tersebut. Sedangkan grafik bawah menunjukkan grafik nilai penjualan tiap bulan terhadap produk tersebut tersebut.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
BAB 5 KESIMPULAN DAN SARAN 5
KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran dari penelitian yang telah dilakukan mengenai penerapan data warehouse dan business intelligence dashboard pada PT. XYZ. 5.1
Kesimpulan Dari seluruh rangkaian penelitian yang telah dilakukan sebelumnya, dapat
disimpulkan beberapa hal berikut: a. Perancangan data warehouse dengan metode perancangan data warehouse terhadap data penjualan pada PT. XYZ menghasilkan delapan tabel dimensi yaitu: dimensi waktu, dimensi kalender fiskal, dimensi sales group, dimensi produk, dimensi produk group, dimensi outlet, dimensi expense dan dimensi cabang, dan empat tabel fakta, yaitu: fakta penjualan, fakta retur, fakta expense dan fakta target penjualan. b. Proses OLAP untuk presentasi laporan mendetail dibentuk untuk pelaporan penjualan, retur dan expense penjualan. c. Aplikasi dashboard yang dibangun dengan metode visualisasi data dari data warehouse dengan pemanfaatan query manager membandingkan status penjualan dengan target penjualan sehingga eksekutif bisa melihat status pencapaian penjualan secara langsung dalam tampilan grafis dashboard dan diagram batang dan diakses secara web. d. Implementasi data warehouse dan laporan dari proses OLAP serta aplikasi dashboard mampu menyuguhkan laporan dan status penjualan sales group secara lebih sederhana sehingga memberikan pengguna kemudahan dalam membaca laporan guna pengambilan keputusan.
84
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
85
5.2
Saran Adapun saran dari penelitian ini diantaranya: a. Penelusuran mengenai estetika warna dalam presentasi laporan bisa memberikan nilai tambah bagi eksekutif dalam melihat dan membaca dashboard. b. Perkembangan mobile application saat ini diharapkan juga bisa diterapkan untuk presentasi laporan dan aplikasi dashboard ini. c. Bagi manajemen, dari penelitian ini dapat dikembangkan lebih lanjut mengenai penerapan forecasting melalui data mining. d. Penerapan data warehouse pada penjualan bisa dijadikan pioneer untuk penerapan data warehouse terhadap departemen-departemen lainnya.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
DAFTAR PUSTAKA
Bellinger, G., Castro, D., & Mills, A. (2004). Data, Information, knowledge and Wisdom. September 14, 2012. http://www.systemsthinking.org/dikw/dikw.htm. Chunhua Ju & Minghua Han. (2008). Effectiveness of OLAP-based Sales Analysis in Retail Enterprises. 2008 ISECS International Colloquium on Computing, Communication, Control, and Management , 240-244. Oktober 8,2012. (IEEE) database. Connolly, T., & Begg, C. (2005). Database System: A Practical Approach to Design, Implementation and Management (4 th ed). England: Addison Wesley. Darudiato, S. (2010). Perancangan Data Warehouse Penjualan Untuk Mendukung Kebutuhan Informasi Eksekutif Cemerlang Skin Care. Seminar Nasional Informatika 2010 , 350-359. El-Sappagh, S. H., Hendawi, A. M., & El Bastawissy, A. H. (2011). A Proposed Model for Data Warehouse ETL Process. Journal of King Saud University Computer and Information Sciences , 91-104. Indra. (2011). Perancangan serta Penerapan Data Warehouse dan Business Intelligence untuk Evaluasi Program Studi Berdasarkan Evaluasi Diri (EPSBED): Studi Kasus Universitas Budi Luhur. Jakarta: Universitas Indonesia. Iskandar, D., Hutapea, A. M., & Naga, J. (2009). Analisis dan Perancangan Data Warehouse dan Applikasi Business Intelligence pada PT. Inkote Indonesia. Jakarta: Univesitas Bina Nusantara. Jianhui He. (1999). A Case Study on a Implementation of Marketing Data Analysis System. June, 1999. Concordia University. Proquest disertation and theses . Kimball, R., & Ross, M. (2002). The Data Warehouse Toolkit. Canada: John Wiley and Sons, Inc. Ponniah, P. (2001). Data Warehousing. Canada: John Wiley and Sons, Inc. Tong Gang, Cui Kai & Song Bei. (2008). The Research and Application of Business Intelligence System in Retail Industry. International conference on automation and logistic , 87-91.
86
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
87
Turban, E., et al., ed. (2011). Business Intelligence: A Managerial Approach (2 nd ed). America: Pearson Education, Inc.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 1 Wawancara. Wawancara dilakukan terhadap wakil direktur sales innovation and logistic pada tanggal 24-Oktober-2012. 1. Seperti apakah proses penjualan di PT.XYZ? Setiap sales group dibekali alat yaitu Handy Terminal System yang digunakan untuk mencatat penjualan mereka. Tiap sales group akan datang ke outlet yang sudah menjadi langganan untuk menjual produk. Penjualan dari tiap sales group lalu akan diupload ke sistem melalui Handy Terminal System tersebut. 2. Dari sisi aplikasi TI, apakah aplikasi yang ada sudah memenuhi kebutuhan dari proses penjualan? Kalau aplikasi sepertinya sudah memenuhi. Kita ikut ke induk perusahaan dengan menggunakan SAP. 3. Dari aplikasi pelaporan, apakah aplikasi TI untuk pelaporan penjualan sudah bisa menunjang proses penjualan? Ya, untuk pelaporan, kita butuh pelaporan yang bisa menunjukkan trend penjualan sales group kita. Saat ini agak susah untuk bisa melihat grafik penjualan mereka. Biasanya dari tabel yang dibuat dari laporan-laporan tiap bulan saja, jadi sebenarnya agak sulit untuk bisa langsung mengetahuinya. Bagusnya kita ada grafiknya, seperti itu. 4. Seberapa sering kah pelaporan dibutuhkan oleh eksekutif? Kalau untuk eksekutif biasanya ada meetingnya. Mingguan dan bulanan yang didalamnya ada membicarakan pelaporan. Tetapi untuk manager, sebenarnya penting bagi mereka untuk terus memonitor proses penjualan. Tiap hari kalau perlu dipantau.
88
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
89
5. Apakah sudah ada aplikasi pelaporan dalam bentuk grafik yang memudahkan pembacaan informasi? Saat ini sepertinya belum ada. 6. Apakah ada mekanisme yang bisa melihat pencapaian sales terhadap target nya? Kalau untuk itu biasanya manager yang tahu. Mereka akan melihat pencapaian kinerja sales-nya terhadap progress target yang diberikan. 7. Harapan atau rencana kerja seperti apa menurut bapak untuk pelaporan penjualan ini? Mungkin perlu adanya seperti dashboard yang kita bisa melihat grafik penjualan kita tiap bulan, tiap tahun agar bisa lebih baik dalam menganalisis strategi penjualan.
Wawancara lanjutan dilakukan terhadap manager TI bidang arsitektur dan aplikasi pada tanggal 24-oktober-2012. 1. Bagaimanakan flow data dan prosedur penjualan sales? Pertama data dari Handy Terminal System akan di-upload user sehingga tertampung di suatu direktori. Lalu akan ada proses ETL untuk menarik data tersebut, disaring, divalidasi, sehingga masuk ke database operasional kita. Sebenarnya kita punya dua database. Yang satu kita pakai SQL Server, lalu ada ERP dengan SAP untuk masuk ke data internasional. Data penjualan yang di SQL Server tiap hari akan diproses juga masuk ke SAP. Akan dijalankan suatu proses dari sana yang akan mengambil data untuk diproses ke data SAP. Kalau untuk data yang di SQL server ini kita potong tiap empat bulanan agar aplikasi report tidak berat. Karena untuk report sales kita buat aplikasi report dari data tersebut. Dan karena suka ada komplain eksekusi yang lambat, jadi kita potong data tiap empat bulan. Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
90
2. Berapakah rata-rata transaksi penjualan perhari? Untuk penjualan kira-kira 15,000 transaksi perhari. 3. Seperti apa biasanya keluhan dari user dalam menggunakan aplikasi penjualan? Kalau proses penjualannya sepertinya tidak ada keluhan, namun seperti yang tadi saya utarakan, user biasanya komplain terhadap aplikasi report. Sepertinya kompleksitas query membuat penarikan informasi dari aplikasi ini agak berat. 4. Dari struktur penyimpanan data, arsitekturnya seperti apa? Kita data semuanya dikumpul disini, jadi terpusat. Di tiap-tiap cabang itu nanti akan kirim data dan disentraliasi di Head Office. Mereka akses aplikasi juga dengan database ini. Kalau untuk ERP kita datanya nanti dikirim ke induk internasional 5. Apakah sudah ada implementasi data warehouse terhadap data di kedua database tersebut? Untuk data warehouse memang belum ada, namun memang kita ada rencana untuk ke arah sana untuk efisiensi reporting ini. 6. Apakah menurut bapak saat ini implementasi data warehouse mungkin diterapkan di perusahaan? Mungkin saja, sangat mungkin. Terutama di transaksi penjualan ini. 7.
Apakah ada juga rencana pengembangan business intelligence? Mengenai business intelligence, kita perlu tahu dari kebutuhan user dulu. Dan juga pengembagnan business intelligence nya nanti yang seperti apa.
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 2 Skema database penjualan EXPENSES
CVD OUTLET PK
PK
MAPPING_BRANCH
EX_CODE
PK,FK1
OL_OUTLETCODE OL_DISTRICODE OL_NAME OL_ADDRESS1 OL_ADDRESS2 OL_ADDRESS3 OL_POSTCODE OL_STATE OL_MOBILE OL_PHONE OL_FOXNO OL_EMAIL OL_CONTACTPERSON OL_REGIONCODE OL_TERMS OL_STATUS OL_OUTLETTYPE OL_TAXAMT OL_VISITFREQ OL_VISITSTART OL_VISITDAY OL_VISITSEQ OL_CALLCYCLE OL_CALLCYCLECATEGORY OL_CREDITLIMIT OL_CREDITLIMITBAL OL_FREQLIMIT OL_FREQLIMITBAL OL_OVERDUELIMIT OL_VAN OL_SALESTYPE OL_SOURCE OL_TRADETYPE OL_KEYACC OL_STOCKOUT OL_UPDCACHEFLAG OL_UPDTIMESTAMP
CVD_DISTRICODE CVD_OUTLETCODE CVD_SEASONCVDFLAG CVD_BEVERAGECVDFLAG CVD_TMAFLAG CVD_SEASONEFFDATEFROM CVD_SEASONEFFDATETO CVD_BEVERAGEEFFDATEFROM CVD_BEVERAGEEFFDATETO CVD_CREATETIMESTAMP CVD_UPDCACHEFLAG CVD_UPDTIMESTAMP
BRANCH
ED_EXPENSESID ED_EXCODE
PK
ED_POSTINGDATE ED_REFDOCID ED_DOCDATE ED_SALESMANCODE ED_BRANCHCODE ED_AMOUNT ED_STATUS ED_UPLOADFLAG ED_EDITFLAG ED_UPDTIMESTAMP
HTS_OUTLETCODE SAP_OUTLETCODE LAST_UPDATE_USER_ID LAST_UPDATE_DT
RETURNORDERITEM MAPPING_EXPENSE PK,FK1
PK
OI_SALESORDERID OI_PROCODE OI_DISTRICODE OI_OUTLETCODE OI_SALESMANCODE OI_ORDERDATE OI_LINENO OI_PRONAME OI_QTYCTN OI_QTYCTNUOM OI_QTYRETAIL OI_QTYRETAILUOM OI_QTYUNIT OI_QTYUNITUOM OI_PROPRICECTN OI_PROPRICE_EFF OI_PROQURRENCY OI_PROCLASS OI_PROGROUP OI_PROTYPE OI_PROSIZE OI_GLCATEGORY OI_PROWEIGH OI_PROWEIGHUOM OI_PROVOLUME OI_PROVOLUMEUOM OI_DISCOUNT OI_TOTALDISC OI_TOTALAMT OI_TAXAMT OI_TAXSTATUS OI_ORDERTYPE OI_STATUS OI_UPLOADFLAG OI_UPDCACHEFLAG OI_UPDTIMESTAMP
PO_SALESORDERID PO_DISTRICODE PO_OUTLETCODE PO_OUTLETNAME PO_SUBOUTLETNAME PO_SALESMANNAME PO_POCODE PO_ORDERDATE PO_DELIVERYDATE PO_DELIVERYTIME PO_SHIPTO PO_INSTRUCTIONS PO_REASON PO_STATUS PO_TOTALDISC PO_TOTALAMT PO_GROSSAMT PO_ORDERTYPE PO_PAYMENTTYPE PO_TAXAMT PO_CURRENCY PO_NOTIFYFLAG PO_COLLECTIONDISC PO_ROUNDINGAMT PO_TOTALITEM PO_UPLOADFLAG PO_UPDCACHEFLAG PO_UPDTIMESTAMP
PK,FK1 PK,FK2
EX_CODE
EH_EXPENSESID
OUTLETSALESMAN PK,FK2 PK,FK1
OS_OUTLETCODE OS_SALESMANCODE OS_DISTRICODE OS_OUTLET_CODE OS_OUTLET_TRADE OS_UPDCACHEFLAG OS_UPDTIMESTAMP
RETURNORDER PK
PRODUCT PK
FK1
PD_PROCODE PD_PRONAME PD_PACKING PD_PROTYPECODE PD_PROGRPCODE PD_BARCODE PD_TAXPERCENT PD_STATUS PD_UOM_LOOSE PD_UOM_FULL PD_PROCLASS PD_GLCATEGORY PD_PROSIZE PD_WEIGH_UOM PD_VOLUME_UOM PD_REPRICE_GROUP PD_TT PD_MT PD_IT PD_ABBREV PD_DISPLAYORDER PD_UPDCACHEFLAG PD_UPDTIMESTAMP
FK1
RO_SALESORDERID RO_DISTRICODE RO_OUTLETCODE RO_OUTLETNAME RO_SALESMANCODE RO_SALESMANNAME RO_POCODE RO_ORDERDATE RO_DELIVERYDATE RO_DELIVERYTIME RO_SHIPTO RO_INSTRUCTIONS RO_REASONCODE RO_STATUS RO_TOTALDISC RO_TOTALAMT RO_GROSSAMT RO_ORDERTYPE RO_PAYMENTTYPE RO_TAXAMT RO_CURRENCY RO_NOTIFYFLAG RO_COLLECTIONDISC RO_ROUNDINGAMT RO_TOTALITEM RO_UPLOADFLAG RO_UPDCACHEFLAG RO_UPDTIMESTAMP
REASON PK
BANK PK
HTS_PROCODE
CALENDAR PK
CL_DATE CL_DISTRICODE CL_REGIONCODE CL_DESC CL_UPDCACHEFLAG CL_UPDTIMESTAMP
PK
DEPOSIT PK PK,FK1 PK
PG_PROGRPCODE PG_PROTYPECODE PG_PROGRPNAME PG_PARENTGRPCODE PG_UPDCACHEFLAG PG_UPDTIMESTAMP
DPS_DEPOSITDATE DPS_SALESMANCODE DPS_EODATE DPS_CSHCASHOER DPS_GROCASHIER DPS_CSHBANK DPS_GROBANK DPS_TOTALDEPOSIT DPS_BANKCODE DPS_UPDCACHEFLAG DPS_UPDTIMESTAMP
MAPPING_SALESMAN PK,FK1
HTS_SALESMANCODE SALESMANNAME SAP_SALESMANCODE GRP_TYPE PL_CC WAREHOUSE_CC COST_CENTER MATERIAL LAST_UPDATE_USER_ID LAST_UPDATE_DT
91
BK_CODE BK_DESC BK_STATUS BK_UPDTIMESTAMP
PRODUCTGROUP
SAP_PROCODE BUNIT_CODE LAST_UPDATE_USER_ID LAST_UPDATE_DT
RS_REASONCODE RS_DESCRIPTION RS_UPDCACHEFLAG RS_UPDTIMESTAMP
MAPPING_PRODUCT PK,FK1
RI_SALESORDERID RI_PROCODE RI_DISTRICODE RI_OUTLETCODE RI_SALESMANCODE RI_ORDERDATE RI_LINENO RI_PRONAME RI_QTYCTN RI_QTYCTNUOM RI_QTYRETAIL RI_QTYRETAILUOM RI_QTYUNIT RI_QTYUNITUOM RI_PROPRICECTN RI_PROPRICE_EFF RI_PROCURRENCY RI_PROCLASS RI_PROGROUP RI_PROTYPE RI_PROSIZE RI_GLCATEGORY RI_PROWEIGH RI_PROWEIGHUOM RI_PROVOLUME RI_PROVOLUMEUOM RI_DISCOUNT RI_TOTALDISC RI_TOTALAMT RI_TAXAMT RI_TAXSTATUS RI_ORDERTYPE RI_STATUS RI_UPLOADFLAG RI_UPDCACHEFLAG RI_UPDTIMESTAMP
SAP_ACCOUNT SUB_ACCOUNT ACC_EX DEL_FL
EH_POSTINGDATE EH_REFDOCID EH_DOCDATE EH_SALESMANCODE EH_AMOUNT EH_BALANCESUSPENSE EH_STATUS EH_UPLOADFLAG EH_EDITFLAG EH_UPDTIMESTAMP
PURCAHSEORDERITEM
BRANCHCODE BRANCHNAME BH_UPDCACHEFLAG BH_UPDTIMESTAMP
EXPENSESHEADER
PK,FK1 PK,FK2
HTS_BRANCHCODE SAP_BRANCHCODE SAP_PLANTCODE LAST_UPDATE_USER_ID LAST_UPDATE_DT
EXPENSESDETAIL PK,FK1 PK,FK2
MAPPING_OUTLET PK,FK1
PURCHASEORDER PK
EX_GROUPID EX_DESC EX_UPDATEAMT EX_UPDTIMESTAMP
USERINFO PK
UI_USERNAME UI_DISTRICODE UI_ROLEID UI_USERTYPE UI_REGIONCODE UI_SUPERVISOR UI_PASSWORD UI_SURNAME UI_GIVENNAME UI_DESIGNATION UI_EMAIL UI_MOBILENO UI_STATUS UI_UPDCACHEFLAG UI_UPDTIMESTAMP
MILEAGE PK,FK1 PK
MI_SALESMANCODE MI_MILEAGE MI_CREATEDATE MI_UPDCACHEFLAG MI_UPDTIMESTAMP
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 3 Script ETL Script generate dimensi waktu: CREATE PROCEDURE [dbo].[usp_DimWaktuGenerate] ( @execDate datetime = '01/01/2005' ) AS declare declare declare declare declare
@counterDate datetime @endDate datetime @quarter int @TahunFiskal int @bulanFiskal int
set @counterDate = GETDATE() select @endDate = DATEADD("yyyy",1,dateadd("d",30,getdate())) if (month(@execDate)=3 and DAY(@execDate)=20) BEGIN while @counterDate <= @endDate BEGIN set @quarter = (case when MONTH(@counterDate)>3 and MONTH(@counterDate)<=6 then 1 when MONTH(@counterDate)>6 and MONTH(@counterDate)<=9 then 2 when MONTH(@counterDate)>9 and MONTH(@counterDate)<=12 then 3 when MONTH(@counterDate)>0 and MONTH(@counterDate)<=3 then 4 else 0 end) if (MONTH(@counterDate) > 3 ) Begin set @bulanFiskal = MONTH(@counterDate) - 3 set @TahunFiskal = YEAR(@counterDate) end else begin set @bulanFiskal = MONTH(@counterDate) + 9 set @TahunFiskal = YEAR(@counterDate) - 1 end if not exists (select WaktuID from DimensiWaktu where WaktuID = CONVERT(varchar(8),@counterDate,112)) INSERT INTO [dbo].[DimensiWaktu] ([WaktuID] ,[FullDate] ,[Bulan] ,[NamaBulan] ,[Quarter] ,[Tahun] ,[TahunBulan] ,[TahunBulanFiskal] ,[TahunFiskal]) VALUES (CONVERT(varchar(8),@counterDate,112) ,@counterDate ,MONTH(@counterDate)
92
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
93
,DATENAME(MONTH, @counterDate) ,@quarter ,YEAR(@counterDate) ,LEFT(CONVERT(varchar(8),@counterDate,112),6) ,@TahunFiskal + @bulanFiskal ,@TahunFiskal) set @counterDate = dateadd(day, 1, @counterDate) END
END
Script generate dimensi fiskal: CREATE PROCEDURE [dbo].[usp_DimFiskalGenerate] ( @execDate datetime = '01/01/2005' ) AS declare declare declare declare declare
@counterDate datetime @endDate datetime @quarter int @TahunFiskal int @bulanFiskal int
set @counterDate = GETDATE() select @endDate = DATEADD("yyyy",1,dateadd("d",30,getdate())) if (month(@execDate)=3 and DAY(@execDate)=20) BEGIN while @counterDate <= @endDate BEGIN set @quarter = (case when MONTH(@counterDate)>3 and MONTH(@counterDate)<=6 then 1 when MONTH(@counterDate)>6 and MONTH(@counterDate)<=9 then 2 when MONTH(@counterDate)>9 and MONTH(@counterDate)<=12 then 3 when MONTH(@counterDate)>0 and MONTH(@counterDate)<=3 then 4 else 0 end) if (MONTH(@counterDate) > 3 ) Begin set @bulanFiskal = MONTH(@counterDate) - 3 set @TahunFiskal = YEAR(@counterDate) end else begin set @bulanFiskal = MONTH(@counterDate) + 9 set @TahunFiskal = YEAR(@counterDate) - 1 end if not exists (select FiskalID from DimensiFiskal where FiskalID = CONVERT(varchar(4),@TahunFiskal)+CONVERT(varchar(2),@bulanFiskal) ) INSERT INTO [dbo].[DimensiFiskal] ([FiskalID] ,[Tahun] ,[Bulan] ,[NamaBulan] Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
94
,[TahunFiskal] ,[BulanFiskal] ,[Quarter]) VALUES
( CONVERT(varchar(4),@TahunFiskal)+LEFT('00'+CONVERT(varchar(2),@bu lanFiskal),2) ,YEAR(@counterDate) ,MONTH(@CounterDate) ,DATENAME(MONTH, @counterDate) ,@TahunFiskal ,@bulanFiskal ,@quarter) set @counterDate = dateadd(MONTH, 1, @counterDate) END
END
Script generate sumber fakta penjualan: select a.PO_SALESMANCODE,a.PO_DISTRICODE ,b.OI_PROCODE,a.PO_OUTLETCODE ,dbo.generateFiscal(left(a.PO_ORDERDATE,8)) PO_FISCAL ,left(a.PO_ORDERDATE,8) PO_ORDERDATE ,SUM(OI_TOTALAMT) AmountRp ,SUM(OI_PROWEIGH) / 1000 weightKG from PURCHASEORDER a inner join PURCHASEORDERITEM b on a.PO_SALESORDERID = b.OI_SALESORDERID where left(PO_ORDERDATE,8) > CONVERT(varchar(8),dateadd("mm",2,getdate()),112) GROUP BY a.PO_SALESMANCODE,a.PO_DISTRICODE ,b.OI_PROCODE,a.PO_OUTLETCODE ,dbo.generateFiscal(left(a.PO_ORDERDATE,8)) ,left(a.PO_ORDERDATE,8) order by PO_ORDERDATE
Script generate sumber fakta retur: select a.RO_SALESMANCODE,a.RO_DISTRICODE ,b.RI_PROCODE,a.RO_OUTLETCODE ,dbo.generateFiscal(left(a.RO_ORDERDATE,8)) RO_FISCAL ,left(a.RO_ORDERDATE,8) RO_ORDERDATE ,SUM(RI_TOTALAMT) AmountRp ,SUM(RI_PROWEIGH) / 1000 weightKG from RETURNORDER a inner join RETURNORDERITEM b on a.RO_SALESORDERID = b.RI_SALESORDERID where left(RO_ORDERDATE,8) > CONVERT(varchar(8),dateadd("mm",2,getdate()),112) GROUP BY a.RO_SALESMANCODE,a.RO_DISTRICODE ,b.RI_PROCODE,a.RO_OUTLETCODE ,dbo.generateFiscal(left(a.RO_ORDERDATE,8)) ,left(a.RO_ORDERDATE,8) Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
95
Script generate sumber fakta expense penjualan: select a.EH_SALESMANCODE,b.ED_BRANCHCODE ,b.ED_EXCODE ,dbo.generateFiscal(left(a.EH_DOCDATE,8)) EH_FISCAL ,left(a.EH_DOCDATE,8) EH_DOCDATE ,SUM(ED_AMOUNT) AmountRp from EXPENSESHEADER a inner join EXPENSESDETAIL b on a.EH_EXPENSESID = b.ED_EXPENSESID where left(EH_DOCDATE,8) > CONVERT(varchar(8),dateadd("mm",2,getdate()),112) GROUP BY a.EH_SALESMANCODE,b.ED_BRANCHCODE ,b.ED_EXCODE ,dbo.generateFiscal(left(a.EH_DOCDATE,8)) ,left(a.EH_DOCDATE,8)
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 4 Script OLAP OLAP penjualan: SELECT NON EMPTY { [Measures].[Nilai Penjualan], [Measures].[Berat Penjualan] } ON COLUMNS, NON EMPTY { ([Dimensi Cabang].[Kode Cabang].[Kode Cabang].ALLMEMBERS * [Dimensi Sales Group].[Kode Sales Group].[Kode Sales Group].ALLMEMBERS * [Dimensi Produk].[Nama Produk Group].[Nama Produk Group].ALLMEMBERS * [Dimensi Produk].[Nama Produk Singkat].[Nama Produk Singkat].ALLMEMBERS * [Dimensi Waktu].[Tahun Fiskal].[Tahun Fiskal].ALLMEMBERS * [Dimensi Waktu].[Quarter].[Quarter].ALLMEMBERS * [Dimensi Waktu].[Tahun Bulan Fiskal].[Tahun Bulan Fiskal].ALLMEMBERS * [Dimensi Waktu].[Hari Ke].[Hari Ke].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@DimensiSalesGroupKodeSalesGroup, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOSET(@DimensiCabangKodeCabang, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER(@FromDimensiWaktuTahunFiskal, CONSTRAINED) : STRTOMEMBER(@ToDimensiWaktuTahunFiskal, CONSTRAINED) ) ON COLUMNS FROM [CUBE Penjualan]))) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
OLAP retur: SELECT NON EMPTY { [Measures].[Nilai Retur], [Measures].[Berat Retur] } ON COLUMNS, NON EMPTY { ([Dimensi Cabang].[Kode Cabang].[Kode Cabang].ALLMEMBERS * [Dimensi Outlet].[Kode Outlet].[Kode Outlet].ALLMEMBERS * [Dimensi Outlet].[Nama Outlet].[Nama Outlet].ALLMEMBERS * [Dimensi Sales Group].[Nama Sales Group Singkat].[Nama Sales Group Singkat].ALLMEMBERS * [Dimensi Produk].[Nama Produk Group].[Nama Produk Group].ALLMEMBERS * [Dimensi Produk].[Nama Produk Singkat].[Nama Produk Singkat].ALLMEMBERS * [Dimensi Waktu].[Tahun Fiskal].[Tahun Fiskal].ALLMEMBERS * [Dimensi Waktu].[Quarter].[Quarter].ALLMEMBERS * [Dimensi Waktu].[Tahun Bulan Fiskal].[Tahun Bulan Fiskal].ALLMEMBERS * [Dimensi Waktu].[Waktu ID].[Waktu ID].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@DimensiOutletKodeOutlet, CONSTRAINED) ) ON COLUMNS FROM (
96
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
97
SELECT ( STRTOSET(@DimensiCabangKodeCabang, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER(@FromDimensiWaktuTahunFiskal, CONSTRAINED) : STRTOMEMBER(@ToDimensiWaktuTahunFiskal, CONSTRAINED) ) ON COLUMNS FROM [CUBE Retur]))) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
OLAP expense penjualan: SELECT NON EMPTY { [Measures].[Nilai Expense] } ON COLUMNS, NON EMPTY { ([Dimensi Cabang].[Kode Cabang].[Kode Cabang].ALLMEMBERS * [Dimensi Sales Group].[Nama Sales Group Singkat].[Nama Sales Group Singkat].ALLMEMBERS * [Dimensi Expense].[Kode Expense].[Kode Expense].ALLMEMBERS * [Dimensi Waktu].[Tahun Fiskal].[Tahun Fiskal].ALLMEMBERS * [Dimensi Waktu].[Quarter].[Quarter].ALLMEMBERS * [Dimensi Waktu].[Tahun Bulan Fiskal].[Tahun Bulan Fiskal].ALLMEMBERS * [Dimensi Waktu].[Hari Ke].[Hari Ke].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@DimensiSalesGroupNamaSalesGroupSingkat, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOSET(@DimensiCabangKodeCabang, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER(@FromDimensiWaktuTahunFiskal, CONSTRAINED) : STRTOMEMBER(@ToDimensiWaktuTahunFiskal, CONSTRAINED) ) ON COLUMNS FROM [CUBE Expense]))) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 5 Script generate dashboard Generate dashboard penjualan: CREATE PROCEDURE [dbo].[Dashboard] @cabang varchar(5), @tahun varchar(4) AS BEGIN SET NOCOUNT ON; select dimensisalesgroup.KodeSalesGroup, KodeProduk, KodeCabang,FaktaPenjualan.FiskalID, sum(BeratPenjualan) beratPenjualan INTO #sumfaktapenjualan from FaktaPenjualan inner join DimensiSalesGroup on DimensiSalesGroup.KodeSalesGroup = FaktaPenjualan.KodeSalesGroup and DimensiSalesGroup.Cabang = @cabang inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaPenjualan.FiskalID and DimensiFiskal.TahunFiskal = @tahun group by dimensisalesgroup.KodeSalesGroup, KodeProduk, KodeCabang,FaktaPenjualan.FiskalID select dimensisalesgroup.KodeSalesGroup, KodeProduk, KodeCabang,FaktaTargetPenjualan.FiskalID, ISNULL(beratTarget,0) beratTarget INTO #sumtargetpenjualan from FaktaTargetPenjualan inner join DimensiSalesGroup on DimensiSalesGroup.KodeSalesGroup = FaktaTargetPenjualan.KodeSalesGroup and DimensiSalesGroup.Cabang = @cabang inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaTargetPenjualan.FiskalID and DimensiFiskal.TahunFiskal = @tahun select isnull(a.KodeSalesGroup,b.KodeSalesGroup) KodeSalesGroup , isnull(a.KodeProduk,b.KodeProduk) KodeProduk , isnull(a.KodeCabang,b.KodeCabang) KodeCabang , isnull(a.FiskalID,b.FiskalID) FiskalID , ISNULL(beratPenjualan,0) beratPenjualan, ISNULL(beratTarget,0) beratTarget from #sumfaktapenjualan a full join #sumtargetpenjualan b on a.KodeSalesGroup = b.KodeSalesGroup AND a.KodeProduk = b.KodeProduk AND a.KodeCabang = b.KodeCabang AND a.FiskalID = b.FiskalID drop table #sumfaktapenjualan drop table #sumtargetpenjualan END
98
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
99
Generate grafik penjualan bulanan: CREATE PROCEDURE [dbo].[ChartMonth] @paramCabang varchar(5), @Fromtahun varchar(4) AS BEGIN SET NOCOUNT ON; select KodeCabang, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal , sum(BeratPenjualan) beratPenjualan , sum(NilaiPenjualan) nilaiPenjualan INTO #sumfaktapenjualan from FaktaPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun where KodeCabang = @paramCabang group by KodeCabang, DimensiFiskal.TahunFiskal, DimensiFiskal.Quarter, DimensiFiskal.BulanFiskal select KodeCabang, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal, sum(beratTarget) beratTarget INTO #sumtargetpenjualan from FaktaTargetPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaTargetPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun where KodeCabang = @paramCabang group by KodeCabang, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal select isnull(a.KodeCabang,b.KodeCabang) KodeCabang , isnull(a.TahunFiskal,b.TahunFiskal) TahunFiskal , isnull(a.[Quarter],b.[Quarter]) [Quarter] , isnull(a.BulanFiskal,b.BulanFiskal) BulanFiskal , ISNULL(beratPenjualan,0) beratPenjualan, ISNULL(beratTarget,0) beratTarget, ISNULL(NilaiPenjualan,0) NilaiPenjualan from #sumfaktapenjualan a full join #sumtargetpenjualan b on a.KodeCabang = b.KodeCabang AND a.TahunFiskal = b.TahunFiskal AND a.[Quarter] = b.[Quarter] AND a.BulanFiskal = b.BulanFiskal
END
drop table #sumfaktapenjualan drop table #sumtargetpenjualan
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
100
Generate grafik penjualan sales group: CREATE PROCEDURE [dbo].[ChartSalesGroup] @paramSalesGroup varchar(5), @Fromtahun varchar(4) AS BEGIN SET NOCOUNT ON; select NamaSalesGroupSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal , sum(BeratPenjualan) beratPenjualan , sum(NilaiPenjualan) nilaiPenjualan INTO #sumfaktapenjualan from FaktaPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun inner join DimensiSalesGroup on DimensiSalesGroup.KodeSalesGroup = FaktaPenjualan.KodeSalesGroup and DimensiSalesGroup.NamaSalesGroupSingkat = @paramSalesGroup group by NamaSalesGroupSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.Quarter, DimensiFiskal.BulanFiskal select NamaSalesGroupSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal, sum(beratTarget) beratTarget INTO #sumtargetpenjualan from FaktaTargetPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaTargetPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun inner join DimensiSalesGroup on DimensiSalesGroup.KodeSalesGroup = FaktaTargetPenjualan.KodeSalesGroup and DimensiSalesGroup.NamaSalesGroupSingkat = @paramSalesGroup group by NamaSalesGroupSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal select isnull(a.NamaSalesGroupSingkat,b.NamaSalesGroupSingkat) NamaSalesGroupSingkat , isnull(a.TahunFiskal,b.TahunFiskal) TahunFiskal , isnull(a.[Quarter],b.[Quarter]) [Quarter] , isnull(a.BulanFiskal,b.BulanFiskal) BulanFiskal , ISNULL(beratPenjualan,0) beratPenjualan, ISNULL(beratTarget,0) beratTarget, ISNULL(NilaiPenjualan,0) NilaiPenjualan from #sumfaktapenjualan a full join #sumtargetpenjualan b on a.NamaSalesGroupSingkat = b.NamaSalesGroupSingkat AND a.TahunFiskal = b.TahunFiskal AND a.[Quarter] = b.[Quarter] AND a.BulanFiskal = b.BulanFiskal drop table #sumfaktapenjualan drop table #sumtargetpenjualan END
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
101
Generate penjualan produk: CREATE PROCEDURE [dbo].[ChartProduk] @paramProduk varchar(5), @Fromtahun varchar(4) AS BEGIN SET NOCOUNT ON; select NamaProdukSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal , sum(BeratPenjualan) beratPenjualan , sum(NilaiPenjualan) nilaiPenjualan INTO #sumfaktapenjualan from FaktaPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun inner join DimensiProduk on DimensiProduk.KodeProduk = FaktaPenjualan.KodeProduk and DimensiProduk.NamaProdukSingkat = @paramProduk group by NamaProdukSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.Quarter, DimensiFiskal.BulanFiskal select NamaProdukSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal, sum(beratTarget) beratTarget INTO #sumtargetpenjualan from FaktaTargetPenjualan inner join DimensiFiskal on DimensiFiskal.FiskalID = FaktaTargetPenjualan.FiskalID and DimensiFiskal.TahunFiskal >= @Fromtahun inner join DimensiProduk on DimensiProduk.KodeProduk = FaktaTargetPenjualan.KodeProduk and DimensiProduk.NamaProdukSingkat = @paramProduk group by NamaProdukSingkat, DimensiFiskal.TahunFiskal, DimensiFiskal.[Quarter], DimensiFiskal.BulanFiskal select isnull(a.NamaProdukSingkat,b.NamaProdukSingkat) NamaProdukSingkat , isnull(a.TahunFiskal,b.TahunFiskal) TahunFiskal , isnull(a.[Quarter],b.[Quarter]) [Quarter] , isnull(a.BulanFiskal,b.BulanFiskal) BulanFiskal , ISNULL(beratPenjualan,0) beratPenjualan, ISNULL(beratTarget,0) beratTarget, ISNULL(NilaiPenjualan,0) NilaiPenjualan from #sumfaktapenjualan a full join #sumtargetpenjualan b on a.NamaProdukSingkat = b.NamaProdukSingkat AND a.TahunFiskal = b.TahunFiskal AND a.[Quarter] = b.[Quarter] AND a.BulanFiskal = b.BulanFiskal drop table #sumfaktapenjualan drop table #sumtargetpenjualan END
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 6
Contoh data target penjualan No
Fiscal Calendar
Sales Group
Item Code
Branch Code
target Weight KG
1
201101
10001
00026
10000
0
2
201101
10001
00076
10000
0
3
201101
10001
00056
10000
160
4
201101
10001
00143
10000
0
5
201101
10001
00290
10000
0
6
201101
10001
00001
10000
34700
7
201101
10001
00058
10000
1110
8
201101
10001
00070
10000
2890
9
201101
10001
00027
10000
68180
10
201101
10001
00021
10000
0
11
201101
10001
00098
10000
0
12
201102
10001
00058
10000
1080
13
201102
10001
00098
10000
0
14
201102
10001
00290
10000
0
15
201102
10001
00026
10000
0
16
201102
10001
00021
10000
0
17
201102
10001
00076
10000
0
18
201102
10001
00070
10000
2980
19
201102
10001
00143
10000
0
20
201102
10001
00027
10000
71800
21
201102
10001
00001
10000
35950
22
201102
10001
00056
10000
150
23
201103
10001
00001
10000
38550
24
201103
10001
00056
10000
200
25
201103
10001
00058
10000
1510
26
201103
10001
00076
10000
0
27
201103
10001
00021
10000
0
28
201103
10001
00026
10000
0
29
201103
10001
00070
10000
3320
30
201103
10001
00027
10000
75030
31
201103
10001
00098
10000
0
32
201103
10001
00143
10000
0
33
201103
10001
00290
10000
0
34
201104
10001
00058
10000
1350
35
201104
10001
00076
10000
0
36
201104
10001
00001
10000
102
38480 Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
103
37
201104
10001
00026
10000
0
38
201104
10001
00098
10000
0
39
201104
10001
00021
10000
0
40
201104
10001
00056
10000
240
41
201104
10001
00290
10000
0
42
201104
10001
00070
10000
3530
43
201104
10001
00143
10000
0
44
201104
10001
00027
10000
84700
45
201105
10001
00098
10000
0
46
201105
10001
00056
10000
230
47
201105
10001
00058
10000
1980
48
201105
10001
00027
10000
80660
49
201105
10001
00076
10000
0
50
201105
10001
00001
10000
35980
51
201105
10001
00143
10000
0
52
201105
10001
00070
10000
6640
53
201105
10001
00021
10000
0
54
201105
10001
00026
10000
0
55
201105
10001
00290
10000
0
56
201106
10001
00070
10000
3620
57
201106
10001
00056
10000
140
58
201106
10001
00098
10000
0
59
201106
10001
00058
10000
1050
60
201106
10001
00027
10000
68510
61
201106
10001
00026
10000
0
62
201106
10001
00021
10000
0
63
201106
10001
00143
10000
0
64
201106
10001
00001
10000
32140
65
201106
10001
00290
10000
0
66
201106
10001
00076
10000
0
67
201107
10001
00058
10000
960
68
201107
10001
00021
10000
0
69
201107
10001
00001
10000
33360
70
201107
10001
00290
10000
0
71
201107
10001
00056
10000
200
72
201107
10001
00026
10000
0
73
201107
10001
00076
10000
0
74
201107
10001
00027
10000
73880
75
201107
10001
00143
10000
0
76
201107
10001
00098
10000
0
77
201107
10001
00070
10000
4040
78
201108
10001
00056
10000
200
79
201108
10001
00143
10000
0 Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
104
80
201108
10001
00027
10000
82180
81
201108
10001
00021
10000
0
82
201108
10001
00058
10000
830
83
201108
10001
00098
10000
0
84
201108
10001
00076
10000
0
85
201108
10001
00290
10000
0
86
201108
10001
00070
10000
4040
87
201108
10001
00001
10000
36110
88
201108
10001
00026
10000
0
89
201109
10001
00070
10000
4590
90
201109
10001
00056
10000
220
91
201109
10001
00076
10000
0
92
201109
10001
00027
10000
80570
93
201109
10001
00021
10000
0
94
201109
10001
00143
10000
0
95
201109
10001
00001
10000
36410
96
201109
10001
00058
10000
1230
97
201109
10001
00290
10000
0
98
201109
10001
00026
10000
0
99
201109
10001
00098
10000
0
100
201110
10001
00001
10000
35020
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013
LAMPIRAN 7
Skema fact constellation
105
Universitas Indonesia
Implementasi data ..., Devriady Pratama, Fasilkom UI, 2013