TESIS
PEMODELAN INTEGRASI
NEARLY REAL TIME DATA WAREHOUSE
DENGAN SERVICE ORIENTED ARCHITECTURE
UNTUK MENUNJANG SISTEM INFORMASI RETAIL
I MADE DWI JENDRA SULASTRA
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
2015
TESIS
PEMODELAN INTEGRASI
NEARLY REAL TIME DATA WAREHOUSE
DENGAN SERVICE ORIENTED ARCHITECTURE
UNTUK MENUNJANG SISTEM INFORMASI RETAIL
I MADE DWI JENDRA SULASTRA NIM 1391761002
PROGRAM MAGISTER
PROGRAM STUDI TEKNIK ELEKTRO
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
ii
PEMODELAN INTEGRASI
NEARLY REAL TIME DATA WAREHOUSE
DENGAN SERVICE ORIENTED ARCHITECTURE
UNTUK MENUNJANG SISTEM INFORMASI RETAIL
Tesis untuk Memperoleh Gelar Magister
pada Program Magister, Program Studi Teknik Elektro, Program Pascasarjana Universitas Udayana
I MADE DWI JENDRA SULASTRA NIM 1391761002
PROGRAM MAGISTER
PROGRAM STUDI TEKNIK ELEKTRO
PROGRAM PASCASARJANA
UNIVERSITAS UDAYANA
DENPASAR
iii
Lembar Pengesahan
TESIS INI TELAH DISETUJUI TANGGAL 8 JULI 2015
Pembimbing I, Pembimbing II,
Dr. Ir. Made Sudarma, M.A.Sc. I Nyoman Satya Kumara, ST., M.Sc., Ph.D NIP. 196512311993031189 NIP. 197002011997021002
Mengetahui,
Ketua Program Magister Direktur
Program Studi Teknik Elektro Program Pascasarjana
Program Pascasarjana Universitas Udayana
Universitas Udayana
Prof. Ir. I.A. Dwi Giriantari, M.Eng,Sc., Ph.D Prof. Dr. dr. A.A. Raka Sudewi, Sp.S(K) NIP. 196512131991032001 NIP. 195902151985102001
iv
Tesis Ini Telah Diuji pada Tanggal 8 Juli 2015
Panitia Penguji Tesis Berdasarkan SK Rektor
Universitas Udayana, No.: 2093/UN14.4/HK/2015, Tanggal 7 Juli 2015
Ketua : Dr. Ir. Made Sudarma, M.A.Sc.
Anggota :
1. I Nyoman Satya Kumara, ST., M.Sc., Ph.D 2. Prof. Ir. I.A. Dwi Giriantari, M.Eng,Sc., Ph.D 3. Prof. Ir. Rukmi Sari Hartati, MT., Ph.D
v
SURAT KETERANGAN BEBAS PLAGIAT
NAMA : I Made Dwi Jendra Sulastra
NIM : 1391761002
PROGRAM STUDI : Magister Teknik Elektro
JUDUL : PEMODELAN INTEGRASI NEARLY REAL TIME DATA
WAREHOUSE DENGAN SERVICE ORIENTED ARCHITECTURE UNTUK MENUNJANG SISTEM
INFORMASI RETAIL
Dengan ini menyatakan bahwa karya ilmiah Tesis ini bebas plagiat. Apabila di kemudian hari terbukti terdapat plagiat dalam karya ilmiah ini, maka saya bersedia menerima sangsi sesuai peraturan Mendiknas RI No. 17 Tahun 2010 dan Peraturan Perundang-undangan yang berlaku.
Denpasar, 8 Juli 2015 Yang membuat pernyataan
vi
UCAPAN TERIMAKASIH
Pertama-tama perkenankanlah penulis memanjatkan puji syukur ke hadapan Ida Sang Hyang Widhi Wasa karena hanya atas asung wara nugraha-Nya, tesis ini dapat diselesaikan.
Pada kesempatan ini perkenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada Dr. Ir. Made Sudarma, M.A.Sc., pembimbing utama yang dengan penuh perhatian telah memberikan dorongan, semangat, bimbingan, dan saran selama penulis mengikuti program magister, khususnya dalam penyelesaian tesis ini. Terima kasih sebesar-besarnya pula penulis sampaikan kepada I Nyoman Satya Kumara, ST., M.Sc., Ph.D, Pembimbing II yang dengan penuh perhatian dan kesabaran telah memberikan bimbingan dan saran kepada penulis.
Ucapan yang sama juga ditujukan kepada Rektor Universitas Udayana Prof.Dr.dr. Ketut Suastika, Sp.PD.KEMD atas kesempatan dan fasilitas yang diberikan kepada penulis untuk mengikuti dan menyelesaikan pendidikan Program Magister di Universitas Udayana. Ucapan terima kasih ini juga ditujukan kepada Direktur Program Pascasarjana Universitas Udayana yang dijabat oleh Prof. Dr. dr. A.A. Raka Sudewi, Sp.S(K). atas kesempatan yang diberikan kepada penulis untuk menjadi mahasiswa Program Magister pada Program Pascasarjana Universitas Udayana. Tidak lupa penulis ucapkan terima kasih kepada Prof. Ir. Ngakan Putu Gede Suardana, MT., Ph.D, Dekan Fakultas Teknik Universitas Udayana atas ijin yang diberikan kepada penulis untuk mengikuti pendidikan program Magister. Pada kesempatan ini, penulis juga menyampaikan rasa terima kasih kepada Ir. I Nyoman Setiawan, MT., Ketua Jurusan Teknik Elektro pada Fakultas Teknik. Ungkapan terima kasih penulis sampaikan pula kepada para penguji tesis, yaitu Prof. Ir. I.A. Dwi Giriantari, M.Eng,Sc. Ph.D, Prof. Ir. Rukmi Sari Hartati, MT.,Ph.D, Ni Made Ary Esta Dewi Wirastuti, ST., M.Sc., Ph.D, yang telah memberikan masukan, saran, sanggahan, dan koreksi sehingga tesis ini dapat terwujud seperti ini. Penulis juga mengucapkan terimakasih sebesar-besarnya kepada Pemerintah Republik Indonesia c.q, Menteri Pendidikan Nasional melalui Tim Manajemen Program Magister yang telah memberikan bantuan finansial dalam bentuk BPPS sehingga meringankan beban penulis dalam menyelesaikan studi ini.
Pada kesempatan ini penulis menyampaikan ucapan terima kasih yang tulus disertai penghargaan kepada seluruh guru-guru yang telah membimbing penulis, mulai dari sekolah dasar sampai perguruan tinggi. Juga penulis ucapkan terima kasih kepada Ibu dan Ayah yang telah mengasuh dan membesarkan penulis, memberikan dasar-dasar berpikir logik dan suasana demokratis sehingga tercipta lahan yang baik untuk berkembangnya kreativitas. Akhirnya penulis sampaikan terima kasih kepada isteri tercinta Ni Luh Putu Asri Kusuma Dewi, serta anak-anak Ni Putu Widya Prajna Paramtha, Ayu Saraswati Pratiwi Gangga Dewi tersayang, yang dengan penuh pengorbanan telah memberikan kepada penulis kesempatan untuk lebih berkonsentrasi menyelesaikan tesis ini.
Semoga Ida Sang Hyang Widhi Wasa selalu melimpahkan rahmat-Nya kepada semua pihak yang telah membantu pelaksanaan dan penyelesaian tesis ini, terutama kepada I Gede Adnyana, serta kepada penulis sekeluarga.
vii
ABSTRAK
PEMODELAN INTEGRASI NEARLY REAL TIME DATA WAREHOUSE DENGAN SERVICE ORIENTED ARCHITECTURE
UNTUK MENUNJANG SISTEM INFORMASI RETAIL
Pembaruan data pada data warehouse tradisional dilakukan secara periodik, tidak diperbarui setiap terjadi transaksi. Perkembangan dunia bisnis membutuhkan data terbaru. Pada data warehouse tradisional, data langsung diakses oleh end users
application sehingga menimbulkan ketergantungan terhadap jenis DBMS. Sistem
informasi retail membutuhkan data terkini serta dapat diakses dari mana saja untuk kebutuhan analisis bisnis. Berdasarkan pemaparan tersebut maka solusinya adalah model data warehouse yang mampu menghasilkan informasi yang near real time serta dapat diakses dari mana saja oleh end users application.
Desain pemodelan integrasi nearly real time data warehouse (NRTDWH) dengan service oriented architecture (SOA) untuk menunjang sistem informasi retail dalam penelitian ini dilakukan dalam dua tahapan. Pada tahapan pertama akan dirancang pemodelan NRTDWH dengan menggunakan metode Change Data
Capture (CDC) berbasis Transaction Log. CDC bertugas untuk menangkap
perubahan yang terjadi pada basis data Penjualan akibat dari aktivitas insert,
update, atau delete pada aplikasi sistem informasi retail. Perubahan data yang
ditangkap oleh proses CDC kemudian akan dipindahkan oleh proses Extract,
Transform, Load (ETL) ke dalam basis data NRTDWH. Proses pemindahan data
ini dilakukan dalam rentang waktu 15 detik dengan bantuan scheduler. Pada tahapan kedua akan dirancang pemodelan integrasi NRTDWH dengan SOA berbasis web service. Pada tahapan ini web service SOA dirancang menggunakan protokol simple access object protocol (SOAP). Sumber data dari web service adalah basis data NRTDWH. Web service yang dibuat berisi 6 layanan (method) yang nantinya akan diakses dan diimplementasikan oleh web service client.
Pengujian dilakukan dengan simulasi aplikasi uji. Aplikasi uji yang digunakan adalah sistem informasi retail, web service client berbasis web, dekstop, dan mobile. Hasil penelitian ini adalah (1) ETL berbasis CDC menangkap perubahan pada tabel sumber dan kemudian menyimpannya pada basis data NRTDWH dengan bantuan scheduler;(2) Middleware web service membuat 6 layanan berdasarkan data yang terdapat pada basis data NRTDWH, dan masing-masing layanan ini dapat diakses dan diimplementasikan oleh web service client.
Dari hasil penelitian dapat disimpulkan bahwa model integrasi yang dirancang dapat digunakan untuk mengimplementasikan integrasi NRTDWH dengan SOA berbasis web services untuk menunjang sistem informasi retail. Hasil penelitian ini diharapkan dapat dipakai untuk pengembangan pemodelan integrasi NRTDWH dengan SOA.
Kata Kunci: nearly realtime data warehouse, service oriented architecture, change
viii
ABSTRACT
INTEGRATION OF NEARLY REAL TIME DATA WAREHOUSE AND SERVICE ORIENTED ARCHITECTURE
TO SUPPORT RETAIL INFORMATION SYSTEMS
Data updating on traditional data warehouse is done periodically, not updated every transaction. In business development world, it requires the most recent data. In the traditional data warehouse, data is directly accessible by end users application hence users’ system is dependence on the type of database management system. Retail information systems require the latest data and can be accessed from anywhere for the purpose of business analysis. Based on this view point, the solution is data warehouse which capable to generate near real-time information and also accessible from anywhere by end users application.
Integration of nearly real time data warehouse (NRTDWH) with service oriented architecture (SOA) to support the retail information system in this study is conducted in two stages. The first stage is designing NRTDWH model using Change Data Capture (CDC) based on Transactions Log. CDC will capture the changes that occur in the sales database as a result of the activities such as insert, update, or delete in the retail information system applications. Change data captured by the CDC will then be moved by the Extract, Transform, and Load (ETL) into the NRTDWH database. The data transfer is carried out within 15 seconds with the help of a scheduler. In the second stage, the NRTDWH is integrated with SOA-based web service. At this stage, the SOA web service protocol is designed using simple object access protocol (SOAP). Data source from the web service is data from the NRTDWH. The web service contains six services that will be accessed and implemented by the web service client.
Tests are conducted by application simulations. The test applications are of retail information systems implemented in three platforms such as web-based web service client, desktop, and mobile. Results of this study are: (1) ETL-based CDC successfully captured the changes on the source table and then store it in the NRTDWH database with the help of a scheduler; (2) Middleware web service makes six services based on data contained in the NRTDWH database, and each of these services is accessible and implemented by the web service client.
From the results of this study, it is concluded that the proposed model can be used to implement the integration of NRTDWH with web based SOA services to support retail information systems. Results of this study are expected to be used further for the development of NRTDWH integration with SOA.
Keywords: nearly real time data warehouse, service oriented architecture, change data capture, web service, retail information systems
ix
DAFTAR ISI
Halaman
SAMPUL DALAM ... i
PRASYARAT GELAR ... ii
LEMBAR PERSETUJUAN... iii
PENETAPAN PANITIA PENGUJI ... iv
PERSYARATAN KEASLIAN PENELITIAN ... v
UCAPAN TERIMAKASIH ... vi
ABSTRAK ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiii
DAFTAR SINGKATAN DAN ISTILAH ... xix
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 5
1.3 Tujuan Penelitian ... 6
1.4 Manfaat Penelitian ... 6
1.5 Ruang Lingkup Penelitian ... 7
1.6 Keaslian Penelitian ... 8
BAB II KAJIAN PUSTAKA ... 11
2.1 State Of The Art Review ... 11
2.2 Konsep Data Warehouse... 14
2.3 Karakteristik Data Warehouse ... 15
2.4 Arsitektur Data Warehouse ... 17
2.4.1 Arsitektur Aliran Data ... 17
2.4.2 Arsitektur Sistem ... 20
2.5 Metodologi Pengembangan Data Warehouse ... 20
2.6 Sistem ETL dalam Data Warehouse ... 24
2.6.1 Extraction ... 25
2.6.2 Cleaning ... 26
2.6.3 Conforming ... 26
2.6.4 Delivering ... 27
2.7 Metode ETL ... 27
2.8 Pendekatan dalam Pembuatan Data Warehouse ... 29
2.8.1 Pendekatan Top-Down ... 29
2.8.2 Pendekatan Bottom-Up... 30
2.9 Dimensional Data Modelling ... 31
2.10 Komponen Dimensional Data Modelling ... 34
2.10.1 Tabel Fakta ... 34
2.10.2 Tabel Dimensi ... 35
x
2.12 Manajemen Kunci ... 37
2.13 Metode Ekstraksi Data ... 38
2.14 Slowly Changing Dimension ... 42
2.15 Real Time Data Warehouse ... 43
2.16 Capture Transform Flow ... 45
2.17 Change Data Capture ... 46
2.18 MS SQL Server 2008 R2 ... 48
2.18.1 Tipe Data pada MS SQL Server 2008... 50
2.18.2 Basic Query pada MS SQL Server 2008... 54
2.19 Serviced Oriented Architecture ... 55
2.19.1 Arsitektur SOA... 57
2.19.2 Building Block SOA ... 57
2.19.3 SOAP ... 59
BAB III METODE PENELITIAN... 62
3.1 Gambaran Umum Sistem ... 62
3.1.1 Gambaran Umum Pembuatan NRTDWH ... 62
3.1.2 Gambaran Umum Proses Integrasi NRTDWH dengan SOA .. 63
3.1.3 Gambaran Umum Arsitektur Aliran Data ... 65
3.2 Rancangan Alur Penelitian ... 66
3.2.1 Studi Literatur dan Pengumpulan Data ... 68
3.2.2 Perancangan Basis Data OLTP ... 70
3.2.3 Perancangan Basis Data Staging NDS ... 75
3.2.4 Perancangan Basis Data NRTDWH ... 81
3.2.5 Pengembangan Model CDC di Bagian OLTP dan Staging NDS ... 89
3.2.6 Pengembangan Program Web Service ... 126
3.2.6.1 Mendefinisikan Fungsi-Fungsi Web Service Penjualan ... 128
3.2.6.2 Implementasi Fungsi-Fungsi Web Service dengan PHP NUSOAP ... 134
3.2.7 Pengembangan Program Web Service Client ... 136
3.2.8 Pengujian Fungsional Sistem dan Analisa Hasil Pengujian .... 138
3.2.9 Penyusunan Kesimpulan ... 142
3.3 Alat dan Bahan Penelitian ... 143
3.3.1 Alat Penelitian ... 143
3.3.2 Bahan Penelitian ... 143
BAB IV PEMBAHASAN ... 144
4.1 Nearly Real Time Data Warehouse ... 144
4.1.1 Pembuatan Basis Data Penjualan ... 144
4.1.2 Pembuatan NRTDWH ... 144
4.1.3 Penjadwalan Proses CDC untuk Pembuatan NRTDWH ... 148
4.2 Web Service Penjualan ... 149
4.3 Web Service Client ... 150
xi
4.4.1 Pengujian Model NRTDWH Berbasis CDC Transaction Log 153
4.4.1.1 Pengujian CDC Saat Update pada Tabel Kategori ... 153
4.4.1.2 Pengujian CDC Saat Update pada Tabel Supplier ... 155
4.4.1.3 Pengujian CDC Saat Insert, Update dan Delete pada Tabel Barang ... 156
4.4.1.4 Pengujian CDC Saat Update pada Tabel Jabatan ... 160
4.4.1.5 Pengujian CDC Saat Insert, Update dan Delete pada Tabel Pegawai ... 162
4.4.1.6 Pengujian CDC Saat Insert, Update dan Delete pada Tabel Pelanggan... 166
4.4.1.7 Pengujian CDC Saat Insert, Update dan Delete pada Transaksi Penjualan ... 170
4.4.1.8 Resume Pengujian Model NRTDWH Berbasis CDC transaction log ... 179
4.4.2 Pengujian Web Service dan Fungsi-Fungsi Web Service ... 179
4.4.2.1 Pengujian Web Service Penjualan ... 180
4.4.2.2 Pengujian Fungsi GetPenjualanPerhari ... 181
4.4.2.3 Pengujian Fungsi GetPenjualanPerPeriode ... 183
4.4.2.4 Pengujian Fungsi GetBarangTerlaris ... 185
4.4.2.5 Pengujian Fungsi GetBarangTidakLaku ... 187
4.4.2.6 Pengujian Fungsi GetPelangganTerbanyak ... 189
4.4.2.7 Pengujian Fungsi GetPelangganTerbesar ... 191
4.4.2.8 Resume Pengujian Web Service ... 192
4.4.3 Pengujian Integrasi NRTDWH dengan Web Service SOA ... 193
4.4.3.1 Pengujian Integrasi Saat Update Tabel Kategori ... 193
4.4.3.2 Pengujian Integrasi Saat Update Tabel Supplier ... 195
4.4.3.3 Pengujian Integrasi Saat Insert, Update dan Delete pada Tabel Barang ... 197
4.4.3.4 Pengujian Integrasi Saat Update Tabel Pelanggan ... 200
4.4.3.5 Pengujian Integrasi Saat Insert, Update dan Delete pada Transaksi Penjualan ... 202
4.4.3.6 Resume Pengujian Integrasi NRTDWH dengan Web Service SOA ... 214
BAB V SIMPULAN DAN SARAN ... 215
5.1 Simpulan ... 215
5.2 Saran ... 216
DAFTAR PUSTAKA ... 217
xii
DAFTAR TABEL
Tabel 1.1 Tabel Pemetaan Keaslian Penelitian ... 9
Tabel 2.1 Daftar Penelitian yang dijadikan acuan ... 14
Tabel 2.2 Tipe Data Numerik... 50
Tabel 2.3 Tipe Data Special Numeric dan Karakter ... 51
Tabel 2.4 Tipe Data Tanggal dan Waktu ... 52
Tabel 2.5 Tipe Data Lain ... 53
Tabel 2.6 Sintaks Query pada SQL Server 2008 ... 54
Tabel 3.1 Tabel Kategori... 71
Tabel 3.2 Tabel Supplier ... 71
Tabel 3.3 Tabel Barang ... 72
Tabel 3.4 Tabel Jabatan... 72
Tabel 3.5 Tabel Pegawai ... 73
Tabel 3.6 Tabel Pengguna ... 73
Tabel 3.7 Tabel Pelanggan ... 74
Tabel 3.8 Tabel Penjualan ... 74
Tabel 3.9 Tabel DetailPenjualan ... 75
Tabel 3.10 Tabel Kategori... 77
Tabel 3.11 Tabel Supplier ... 77
Tabel 3.12 Tabel Barang ... 78
Tabel 3.13 Tabel Jabatan... 78
Tabel 3.14 Tabel Pegawai ... 79
Tabel 3.15 Tabel Pelanggan ... 80
Tabel 3.16 Tabel Penjualan ... 80
Tabel 3.17 Tabel DetailPenjualan ... 81
Tabel 3.18 Tabel DimensiBarang ... 84
Tabel 3.19 Tabel DimensiPegawai ... 85
Tabel 3.20 Tabel DimensiPelanggan ... 86
Tabel 3.21 Tabel DimensiWaku ... 87
Tabel 3.22 Tabel FaktaPenjualan ... 88
xiii
DAFTAR GAMBAR
Gambar 1.1 Diagram Fishbone Integrasi NRTDWH dengan SOA ... 10
Gambar 2.1 Arsitektur Aliran Data ... 19
Gambar 2.2 Arsitektur Sistem ... 20
Gambar 2.3 Diagram Business Dimensional Life Cycle ... 21
Gambar 2.4 Arsitektur Sistem ETL pada Bagian Staging Area... 25
Gambar 2.5 Empat Metode ETL ... 29
Gambar 2.6 Skema Bintang ... 32
Gambar 2.7 Skema Kepingan Salju ... 32
Gambar 2.8 Proses Capture, Transform, dan Flow ... 46
Gambar 2.9 Aliran Data pada Change Data Capture ... 47
Gambar 2.10 Arsitektur SOA ... 57
Gambar 2.11 Basic Web Service ... 58
Gambar 2.12 Struktur SOAP ... 60
Gambar 3.1 Proses Pembuatan NRTDWH ... 62
Gambar 3.2 Proses Integrasi antara NRTDWH dengan SOA... 63
Gambar 3.3 Pemodelan Middleware Web Service dengan SOAP ... 64
Gambar 3.4 Arsitektur Aliran Data ... 65
Gambar 3.5 Diagram Alur Penelitian... 67
Gambar 3.6 ERD Basis Data Penjualan ... 70
Gambar 3.7 ERD Basis Data StagePenjualan ... 76
Gambar 3.8 ERD dengan Skema Bintang dari Basis Data DDSPenjualan... 83
Gambar 3.9 Framework CDC ... 89
Gambar 3.10 Diagram Alur CDC NRTDWH Sistem Informasi Retail ... 91
Gambar 3.11 Diagram Alur CDC pada Basis Data Penjualan ... 92
Gambar 3.12 Diagram Alur Insert CDC Kategori ... 93
Gambar 3.13 Diagram Alur Update CDC Kategori... 94
Gambar 3.14 Diagram Alur Delete CDC Kategori ... 94
Gambar 3.15 Diagram Alur Insert CDC Supplier ... 95
Gambar 3.16 Diagram Alur Update CDC Supplier ... 96
Gambar 3.17 Diagram Alur Delete CDC Supplier ... 96
Gambar 3.18 Diagram Alur Insert CDC Barang ... 97
Gambar 3.19 Diagram Alur Update CDC Barang ... 98
Gambar 3.20 Diagram Alur Delete CDC Barang ... 98
Gambar 3.21 Diagram Alur Insert CDC Jabatan ... 99
Gambar 3.22 Diagram Alur Update CDC Jabatan... 100
Gambar 3.23 Diagram Alur Delete CDC Jabatan ... 100
Gambar 3.24 Diagram Alur Insert CDC Pegawai ... 101
Gambar 3.25 Diagram Alur Update CDC Pegawai ... 102
Gambar 3.26 Diagram Alur Delete CDC Pegawai ... 102
Gambar 3.27 Diagram Alur Insert CDC Pelanggan ... 103
Gambar 3.28 Diagram Alur Update CDC Pelanggan ... 104
Gambar 3.29 Diagram Alur Delete CDC Pelanggan ... 104
Gambar 3.30 Diagram Alur Insert CDC Penjualan ... 105
xiv
Gambar 3.32 Diagram Alur Delete CDC Penjualan ... 107
Gambar 3.33 Diagram Alur Insert CDC DetailPenjualan ... 108
Gambar 3.34 Diagram Alur Update CDC DetailPenjualan ... 108
Gambar 3.35 Diagram Alur CDC pada Basis Data StagePenjualan ... 110
Gambar 3.36 Diagram Alur Update CDC StagePenjualan Kategori ... 111
Gambar 3.37 Diagram Alur Update CDC StagePenjualan Supplier ... 112
Gambar 3.38 Diagram Alur Insert CDC StagePenjualan Barang ... 113
Gambar 3.39 Diagram Alur Update CDC StagePenjualan Barang ... 114
Gambar 3.40 Diagram Alur Delete CDC StagePenjualan Barang ... 115
Gambar 3.41 Diagram Alur Update CDC StagePenjualan Jabatan ... 116
Gambar 3.42 Diagram Alur Insert CDC StagePenjualan Pegawai ... 117
Gambar 3.43 Diagram Alur Update CDC StagePenjualan Pegawai ... 118
Gambar 3.44 Diagram Alur Delete CDC StagePenjualan Pegawai ... 119
Gambar 3.45 Diagram Alur Insert CDC StagePenjualan Pelanggan ... 120
Gambar 3.46 Diagram Alur Update CDC StagePenjualan Pelanggan ... 121
Gambar 3.47 Diagram Alur Delete CDC StagePenjualan Pelanggan... 122
Gambar 3.48 Diagram Alur Insert CDC StagePenjualan Penjualan... 123
Gambar 3.49 Diagram Alur Update CDC StagePenjualan Penjualan ... 125
Gambar 3.50 Diagram Alur Delete CDC StagePenjualan Penjualan ... 126
Gambar 3.51 Alur Pembuatan Web Service ... 127
Gambar 3.52 Alur Pembuatan Fungsi GetPenjualanPerHari() ... 129
Gambar 3.53 Alur Pembuatan Fungsi GetPenjualanPerPeriode() ... 130
Gambar 3.54 Alur Pembuatan Fungsi GetBarangTerlaris() ... 131
Gambar 3.55 Alur Pembuatan Fungsi GetBarangTidakLaku() ... 132
Gambar 3.56 Alur Pembuatan Fungsi GetPelangganTerbanyak() ... 133
Gambar 3.57 Alur Pembuatan Fungsi GetPelangganTerbesar() ... 134
Gambar 3.58 Alur Pembuatan Web Service Penjualan dengan PHP NUSOAP ... 136
Gambar 3.59 Alur Pembuatan Web Service Client ... 137
Gambar 3.60 Pengujian Model NRTDWH ... 140
Gambar 3.61 Pengujian Model Web Service SOA... 141
Gambar 3.62 Pengujian Model Integrasi NRTDWH dengan SOA ... 142
Gambar 4.1 Rancangan NRTDWH pada SSIS ... 145
Gambar 4.2 Web Service Penjualan ... 149
Gambar 4.3 Proses Update Data pada Form Kategori ... 153
Gambar 4.4 Hasil Proses Update pada Tabel Kategori di DB Penjualan ... 154
Gambar 4.5 Hasil Proses Update pada Tabel Kategori di DB StagePenjualan 154 Gambar 4.6 Hasil Proses Update Kategori pada Tabel DimensiBarang ... 154
Gambar 4.7 Proses Update Data pada Form Supplier ... 155
Gambar 4.8 Hasil Proses Update pada Tabel Supplier di DB Penjualan... 155
Gambar 4.9 Hasil Proses Update pada Tabel Supplier di DB StagePenjualan 156 Gambar 4.10 Hasil Proses Update Supplier pada Tabel DimensiBarang ... 156
Gambar 4.11 Proses Insert Data pada Form Barang... 156
Gambar 4.12 Hasil Proses Insert pada Tabel Barang di DB Penjualan ... 157
Gambar 4.13 Hasil Proses Insert pada Tabel Barang di DB StagePenjualan .. 157
xv
Gambar 4.15 Proses Update Data pada Form Barang ... 158
Gambar 4.16 Hasil Proses Update pada Tabel Barang di DB Penjualan ... 158
Gambar 4.17 Hasil Proses Update pada Tabel Barang di DB StagePenjualan 159 Gambar 4.18 Hasil Proses Update Barang pada Tabel DimensiBarang ... 159
Gambar 4.19 Proses Delete Data pada Form Barang ... 159
Gambar 4.20 Hasil Proses Delete Barang pada Tabel DimensiBarang ... 160
Gambar 4.21 Proses Update Data pada Form Jabatan ... 161
Gambar 4.22 Hasil Proses Update pada Tabel Jabatan di DB Penjualan ... 161
Gambar 4.23 Hasil Proses Update pada Tabel Jabatan di DB StagePenjualan 161 Gambar 4.24 Hasil Proses Update Jabatan pada Tabel DimensiPegawai ... 162
Gambar 4.25 Proses Insert Data pada Form Pegawai... 162
Gambar 4.26 Hasil Proses Insert pada Tabel Pegawai di DB Penjualan ... 163
Gambar 4.27 Hasil Proses Insert pada Tabel Pegawai di DB StagePenjualan 163 Gambar 4.28 Hasil Proses Insert Pegawai pada Tabel DimensiPegawai ... 163
Gambar 4.29 Proses Update Data pada Form Pegawai ... 164
Gambar 4.30 Hasil Proses Update pada Tabel Pegawai di DB Penjualan... 164
Gambar 4.31 Hasil Proses Update pada Tabel Pegawai di DB StagePenjualan ... 164
Gambar 4.32 Hasil Proses Update Pegawai pada Tabel DimensiPegawai ... 165
Gambar 4.33 Proses Delete Data pada Form Pegawai ... 165
Gambar 4.34 Hasil Proses Delete Pegawai pada Tabel DimensiPegawai ... 166
Gambar 4.35 Proses Insert Data pada Form Pelanggan ... 166
Gambar 4.36 Hasil Proses Insert pada Tabel Pelanggan di DB Penjualan ... 167
Gambar 4.37 Hasil Proses Insert pada Tabel Pelanggan di DB StagePenjualan ... 167
Gambar 4.38 Hasil Proses Insert Pelanggan pada Tabel DimensiPelanggan .. 167
Gambar 4.39 Proses Update Data pada Form Pelanggan ... 168
Gambar 4.40 Hasil Proses Update pada Tabel Pelanggan di DB Penjualan ... 168
Gambar 4.41 Hasil Proses Update pada Tabel Pelanggan di DB StagePenjualan ... 169
Gambar 4.42 Hasil Proses Update Pelanggan pada Tabel DimensiPelanggan 169 Gambar 4.43 Prosse Delete Data pada Form Pelanggan ... 169
Gambar 4.44 Hasil Proses Delete Pelanggan pada Tabel DimensiPelanggan . 170 Gambar 4.45 Proses Insert Data pada Form TransPenjualan ... 171
Gambar 4.46 Hasil Proses Insert pada Tabel Penjualan di DB Penjualan ... 171
Gambar 4.47 Hasil Proses Insert pada Tabel DetailPenjualan di DB Penjualan ... 171
Gambar 4.48 Hasil Proses Update pada Tabel Barang di DB Penjualan ... 171
Gambar 4.49 Hasil Proses Insert pada Tabel Penjualan di DB StagePenjualan ... 172
Gambar 4.50 Hasil Proses Insert pada Tabel DetailPenjualan di DB StagePenjualan ... 172
Gambar 4.51 Hasil Proses Update pada Tabel Barang di DB StagePenjualan 172 Gambar 4.52 Hasil Proses Insert pada Tabel FaktaPenjualan ... 173
Gambar 4.53 Hasil Proses Update Jumlah pada Tabel DimensiBarang ... 173
xvi
Gambar 4.55 Hasil Proses Update pada Tabel Penjualan di DB Penjualan .... 174
Gambar 4.56 Hasil Proses Update pada Tabel DetailPenjualan di DB Penjualan ... 174
Gambar 4.57 Hasil Proses Update pada Tabel Barang di DB Penjualan ... 174
Gambar 4.58 Hasil Proses Update pada Tabel Penjualan di DB StagePenjualan ... 175
Gambar 4.59 Hasil Proses Update pada Tabel DetailPenjualan DB StagePenjualan ... 175
Gambar 4.60 Hasil Proses Update pada Tabel Barang di DB StagePenjualan 175 Gambar 4.61 Hasil Proses Update pada Tabel FaktaPenjualan ... 176
Gambar 4.62 Hasil Proses Update Jumlah pada Tabel DimensiBarang ... 176
Gambar 4.63 Proses Delete Data pada Form TransHapusPenjualan ... 177
Gambar 4.64 Hasil Proses Delete pada Tabel FaktaPenjualan ... 178
Gambar 4.65 Hasil Proses Update Data Jumlah pada Tabel DimensiBarang . 178 Gambar 4.66 Web Service Penjualan ... 181
Gambar 4.67 Fungsi Web Service GetPenjualanPerHari Berbasis Web ... 181
Gambar 4.68 Fungsi Web Service GetPenjualanPerHari Berbasis Desktop .... 182
Gambar 4.69 Fungsi Web Service GetPenjualanPerHari Berbasis Mobile ... 182
Gambar 4.70 Fungsi Web Service GetPenjualanPerPeriode Berbasis Web ... 183
Gambar 4.71 Fungsi Web Service GetPenjualanPerPeriode Berbasis Desktop 184 Gambar 4.72 Fungsi Web Service GetPenjualanPerPeriode Berbasis Mobile . 184 Gambar 4.73 Fungsi Web Service GetBarangTerlaris Berbasis Web ... 185
Gambar 4.74 Fungsi Web Service GetBarangTerlaris Berbasis Desktop ... 186
Gambar 4.75 Fungsi Web Service GetBarangTerlaris Berbasis Mobile ... 186
Gambar 4.76 Fungsi Web Service GetBarangTidakLaku Berbasis Web ... 187
Gambar 4.77 Fungsi Web Service GetBarangTidakLaku Berbasis Desktop ... 188
Gambar 4.78 Fungsi Web Service GetBarangTidakLaku Berbasis Mobile ... 188
Gambar 4.79 Fungsi Web Service GetPelangganTerbanyak Berbasis Web ... 189
Gambar 4.80 Fungsi Web Service GetPelangganTerbanyak Berbasis Desktop ... 190
Gambar 4.81 Fungsi Web Service GetPelangganTerbanyak Berbasis Mobile 190 Gambar 4.82 Fungsi Web Service GetPelangganTerbesar Berbasis Web ... 191
Gambar 4.83 Fungsi Web Service GetPelangganTerbesar Berbasis Desktop .. 191
Gambar 4.84 Fungsi Web Service GetPelangganTerbesar Berbasis Mobile.... 192
Gambar 4.85 Proses Update pada Tabel Kategori ... 194
Gambar 4.86 Hasil Proses Update Tabel Kategori pada WS Client Web ... 194
Gambar 4.87 Hasil Proses Update Tabel Kategori pada WS Client Desktop .. 194
Gambar 4.88 Hasil Proses Update Tabel Kategori pada WS Client Mobile ... 195
Gambar 4.89 Proses Update pada Tabel Supplier ... 195
Gambar 4.90 Hasil Proses Update Tabel Supplier pada WS Client Web ... 196
Gambar 4.91 Hasil Proses Update Tabel Supplier pada WS Client Desktop .. 196
Gambar 4.92 Hasil Proses Update Tabel Supplier pada WS Client Mobile .... 196
Gambar 4.93 Proses Insert pada Tabel Barang ... 197
Gambar 4.94 Hasil Proses Insert Tabel Barang pada WS Client Web... 197
Gambar 4.95 Hasil Proses Insert Tabel Barang pada WS Client Desktop... 198
xvii
Gambar 4.97 Proses Update pada Tabel Barang ... 198
Gambar 4.98 Hasil Proses Update Tabel Barang pada WS Client Web ... 199
Gambar 4.99 Hasil Proses Update Tabel Barang pada WS Client Desktop .... 199
Gambar 4.100 Hasil Proses Update Tabel Barang pada WS Client Mobile .... 199
Gambar 4.101 Proses Update pada Tabel Pelanggan ... 200
Gambar 4.102 Hasil Proses Update WS Client Web Pelanggan Terbanyak.... 200
Gambar 4.103 Hasil Proses Update WS Client Web Pelanggan Terbesar ... 201
Gambar 4.104 Hasil Proses Update WS Client Desktop Pelanggan Terbanyak ... 201
Gambar 4.105 Hasil Proses Update WS Client Desktop Pelanggan Terbesar . 201 Gambar 4.106 Hasil Proses Update WS Client Mobile Pelanggan Terbanyak 201 Gambar 4.107 Hasil Proses Update WS Client Mobile Pelanggan Terbesar .. 202
Gambar 4.108 Proses Insert Data Transaksi Penjualan ... 202
Gambar 4.109 Hasil Proses Insert WS Client Web BarangTerlaris ... 203
Gambar 4.110 Hasil Proses Insert WS Client Web PelangganTerbanyak ... 203
Gambar 4.111 Hasil Proses Insert WS Client Web PelangganTerbesar ... 203
Gambar 4.112 Hasil Proses Insert WS Client Web PenjualanPerHari... 203
Gambar 4.113 Hasil Proses Insert WS Client Web PenjualanPerPeriode ... 204
Gambar 4.114 Hasil Proses Insert WS Client Desktop BarangTerlaris ... 204
Gambar 4.115 Hasil Proses Insert WS Client Desktop PelangganTerbanyak . 204 Gambar 4.116 Hasil Proses Insert WS Client Desktop PelangganTerbesar .... 204
Gambar 4.117 Hasil Proses Insert WS Client Desktop PenjualanPerHari... 205
Gambar 4.118 Hasil Proses Insert WS Client Desktop PenjualanPerPeriode . 205 Gambar 4.119 Hasil Proses Insert Data Penjualan pada WS Client Mobile .... 205
Gambar 4.120 Proses Update Data Transaksi Penjualan ... 206
Gambar 4.121 Hasil Proses Update WS Client Web BarangTerlaris ... 207
Gambar 4.122 Hasil Proses Update WS Client Web PelangganTerbanyak... 207
Gambar 4.123 Hasil Proses Update WS Client Web PelangganTerbesar ... 207
Gambar 4.124 Hasil Proses Update WS Client Web PenjualanPerHari ... 207
Gambar 4.125 Hasil Proses Update WS Client Web PenjualanPerPeriode ... 208
Gambar 4.126 Hasil Proses Update WS Client Desktop BarangTerlaris ... 208
Gambar 4.127 Hasil Proses Update WS Client Desktop PelangganTerbanyak ... 208
Gambar 4.128 Hasil Proses Update WS Client Desktop PelangganTerbesar .. 208
Gambar 4.129 Hasil Proses Update WS Client Desktop PenjualanPerHari .... 209
Gambar 4.130 Hasil Proses Update WS Client Desktop PenjualanPerPeriode 209 Gambar 4.131 Hasil Proses Update Data Penjualan pada WS Client Mobile . 209 Gambar 4.132 Proses Delete Data Transaksi Penjualan ... 210
Gambar 4.133 Hasil Proses Delete WS Client Web BarangTerlaris ... 211
Gambar 4.134 Hasil Proses Delete WS Client Web PelangganTerbanyak ... 211
Gambar 4.135 Hasil Proses Delete WS Client Web PelangganTerbesar ... 211
Gambar 4.136 Hasil Proses Delete WS Client Web PenjualanPerHari ... 211
Gambar 4.137 Hasil Proses Delete WS Client Web PenjualanPerPeriode ... 212
Gambar 4.138 Hasil Proses Delete WS Client Desktop BarangTerlaris ... 212
Gambar 4.139 Hasil Proses Delete WS Client Desktop PelangganTerbanyak 212 Gambar 4.140 Hasil Proses Delete WS Client Desktop PelangganTerbesar ... 212
xviii
Gambar 4.141 Hasil Proses Delete WS Client Desktop PenjualanPerHari ... 213 Gambar 4.142 Hasil Proses Delete WS Client Desktop PenjualanPerPeriode 213 Gambar 4.143 Hasil Proses Delete Data Penjualan pada WS Client Mobile... 213
xix
DAFTAR ISTILAH DAN SINGKATAN
BI : Business Intelligence CDC : Change Data Capture
CIF : Corporate Information Factory COTS : Component OF The Shelf CTF : Capture Transform Flow DBMS : Database Management System DDS : Dimensional Data Store
DQ : Data Quality
DQS : Data Quality Service DWH : Data Warehouse
ETL : Extraction, Transformation, and Loading IMS : Information Management System
JOIN : SQL JOIN
Modularitas : Pengembangan layanan-layanan untuk pengaksesan informasi pada NRTDWH dalam bentuk modul-modul (services)
MDB : Multi Dimensional Database MPP : Massively Parallel Processing NDS : Normalized Data Store
NRTDWH : Nearly Real Time Data Warehouse ODS : Operational Data Store
OLTP : On Line Transactional Processing PHP : PHP Hypertext Preprocessor
RAID : Redundant Array of Inexpensive Disks RDBMS : Relational Database Management System
Skalabitas : Penerapan SOA sehingga NRTDWH dimungkinkan untuk dapat diakses oleh end user application yang berbeda-beda yang independen terhadap DBMS dari NRTDWH
SAN : Storage Area Networks SOA : Service Oriented Architecture SOAP : Simple Object Access Protocol SPK : Sistem Penunjang Keputusan SSIS : Sql Server Integration Services T-SQL : Transact Structured Query Language W3C : World Wide Web Consortium