vii ABSTRAK
Kebutuhan akan pengolahan informasi dari berbagai sumber untuk kemudian dijadikan dasar analisa pengambilan keputusan didalam perusahaan semakin besar. Data Warehouse merupakan teknologi dengan koleksi data yang mempunyai sifat berorientasi subjek, terintegrasi, dan time-variant, sehingga baik dalam mendukung proses pengambilan keputusan. Data Warehouse dimanfaatkan untuk kebutuhan tersebut yang memang penggunaannya sudah cukup banyak pada berbagai perusahaan. Terlebih lagi, Data Warehouse dirancang dengan memisahkan beban kerja analisa dari beban kerja transaksi, sehingga penggunaan Data Warehouse sebagai acuan dalam pengambilan keputusan menjadi semakin baik. Namun, pengaksesan data pada Data Warehouse yang valid dan terkini juga menjadi tuntutan untuk memenuhi berbagai tujuan.
Change Data Capture (CDC) merupakan suatu teknik yang dapat menjanjikan real time data warehousing karena CDC menangkap data yang berubah melalui mekanisme log scanning. Pendekatan Audit Log merupakan salah satu output suatu DBMS (Database Management System) yang dapat dimanfaatkan dalam proses capture data. Audit Log merupakan catatan aktivitas yang dibangun ketika terjadi manipulasi data dalam suatu database. Informasi dari setiap aktivitas tersebut akan menjadi acuan dalam memperbaharui data sehingga keseragaman data di semua lokasi akan terjadi secara real-time.
Hasil yang didapatkan untuk sistem Change Data Capture dengan pendekatan Audit Log adalah sistem mampu menjalankan sinkronisasi satu arah secara real time. Kelemahan yang ditemukan dari penerapan Audit Log adalah keterbatasan jenis query yang dapat direkam pada DBMS MySQL, yaitu hanya dapat merekam aktivitas DML (Data Manipulation Language).
Kata Kunci : Data Warehouse, Real Time Data Warehouse, Change Data Capture, Audit Log .
viii ABSTRACT
The need for information processing from various sources to then be used as a basis. Data Warehouse is a technology with a collection of data that has an interesting subject, integrated, and time-variant properties, so good in supporting the decision-making process. Data Warehouse is used for the needs that are already very much on various companies. What's more, Data Warehouses are designed by separating data from better decision-making processes. However, accessing data to valid and up-to-date Data Warehouses is also key to meeting a variety of goals.
Change Data Capture (CDC) is a technique that can deliver real time data warehousing as CDC data captures data that changes through log scanning mechanism. Implement Audit Log is one output of a DBMS (Database Management System) that can be utilized in the process of capture data. The Audit Log is a record of activities that are built when there is data manipulation in a database. Information from each activity will be a reference in updating the data so that uniformity of data in all locations will occur in real-time.
The results obtained for the system. How to run one-way in real time. The weakness found in the application of Audit Log is the type of query that can be recorded on the MySQL DBMS, which can only record the activity of DML (Data Manipulation Language).
Keywords : Data Warehouse, Real Time Data Warehouse, Change Data Capture, Audit Log .
ix DAFTAR ISI
PERNYATAAN ... ii
LEMBAR PENGESAHAN TUGAS AKHIR ... iii
BERITA ACARA TUGAS AKHIR ... iv
KATA PENGANTAR ... v
ABSTRAK ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xv
DAFTAR KODE PROGRAM ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 3
1.3 Tujuan ... 3
1.4 Batasan Masalah... 4
1.5 Manfaat ... 4
1.6 Sistematika Penulisan ... 5
BAB II TINJAUAN PUSTAKA ... 6
2.1 State of The Art ... 6
2.2 OLTP (Online Transactional Processing) ... 9
2.3 Data Warehouse ... 11
2.3.1 Karakteristik Data Warehouse ... 12
2.3.2 Pendekatan Top-Down ... 13
2.3.3 Pendekatan Bottom-Up ... 14
2.3.4 Data Mart ... 15
2.4 Real Time Data Warehouse ... 17
2.5 Model Dimensional ... 18
2.5.1 Komponen Model Dimensional ... 20
2.6 Capture Transform Flow (CTF) ... 20
2.7 Metode Change Data Capture ... 21
2.7.1 Log Scanning ... 23 2.7.2 Database Trigger ... 24 2.7.3 Timestamps ... 24 2.8 MySQL ... 25 2.8.1 Fitur MySQL ... 25 2.9 PL/SQL ... 26 2.9.1 Stored Procedure ... 27 2.9.2 Function ... 28
x 2.9.3 Trigger ... 28 2.10 Audit Log ... 30 2.10.1 Row-Based Auditing ... 31 2.10.2 Column-Based Auditing ... 32 2.10.3 Log-Table Auditing ... 33
2.11 Master Data Management (MDM) ... 35
2.11.1 Central Master Data System ... 38
2.11.2 Leading System ... 39
2.11.3 Master Data Harmonization via Standards ... 40
2.11.4 Repository System ... 41
BAB III METODOLOGI DAN PERANCANGAN SISTEM ... 43
3.1 Tempat dan Waktu Penelitian ... 43
3.2 Metodologi Penelitian ... 43
3.3 Alur Penelitian ... 43
3.4 Literatur ... 45
3.4.1 Sumber Literatur ... 45
3.4.2 Jenis Literatur ... 45
3.4.3 Metode Pengumpulan Literatur... 46
3.5 Kebutuhan Perangkat dalam Mengembangkan Aplikasi ... 46
3.5.1 Hardware (Perangkat Keras) ... 46
3.5.2 Software (Perangkat Lunak) ... 46
3.6 Pemodelan Sistem ... 47
3.6.1 Statement of Purpose... 47
3.6.2 Gambaran Umum Sistem ... 48
3.6.3 Daftar Kejadian ... 49
3.7 Gambaran Proses Sinkronisasi ... 51
3.7.1 Diagram Alir (Flowchart) Sistem ... 52
3.8 Perancangan Database ... 66
3.8.1 Entity Relationship Diagram... 66
3.8.2 Pysichal Data Model ... 68
3.8.3 Relationship Database ... 68
3.8.4 Struktur Tabel... 69
3.9 Perancangan Wireframe ... 79
BAB IV PENGUJIAN DAN ANALISA HASIL ... 83
4.1 Rancangan Arsitektur ... 83
4.1.1 Rancangan Arsitektur Sistem ... 83
4.1.2 Standard Operational Procedure (SOP) ... 84
4.1.3 Kebutuhan Hardware dan Software Pengujian Aplikasi ... 89
4.2 Pengujian Sistem ... 90
xi
4.2.2 Pengujian Metadata Mapping ... 96
4.2.3 Pengujian Synchronization ... 102
4.2.4 Pengujian Change Data Capture ... 104
4.2.4 Sinkronisasi Data ... 115
4.3 Analisis Hasil Pengujian Sistem ... 115
4.3.1 Analisis Keberhasilan Sistem ... 115
4.3.2 Analisis Kegagalan Sistem ... 116
4.3.3 Implementasi Sistem ... 117 BAB V PENUTUP ... 118 5.1 Simpulan ... 118 5.2 Saran ... 118 DAFTAR PUSTAKA ... 120 CURICULUM VITAE ... 123
1 BAB I PENDAHULUAN
Bab I menjelaskan mengenai latar belakang masalah yang diangkat, perumusan masalah, tujuan, batasan masalah, manfaat serta sistematika penulisan laporan Tugas Akhir ini.
1.1 Latar Belakang Masalah
Dewasa ini informasi merupakan hal yang sangat penting bagi suatu perusahaan dalam menentukan kebijakan strategis terkait dengan perkembangan perusahaan ke arah yang lebih baik. Banyak perusahaan yang telah mengimplementasikan suatu sistem transaksional dalam rangka penyediaan informasi ini, Perusahaan berharap mendapatkan suatu informasi yang berkualitas, yang bisa digunakan dalam mendukung sistem pengambilan keputusan, dengan membangun sistem transaksional.
Kebutuhan akan pengolahan informasi dari berbagai sumber yang terintegrasi untuk kemudian dijadikan dasar analisa pengambilan keputusan semakin besar. Data Warehouse merupakan teknologi dengan koleksi data yang mempunyai sifat berorientasi subjek, terintegrasi, time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan. Data Warehouse dapat dimanfaatkan untuk kebutuhan tersebut yang memang penggunaannya sudah cukup banyak pada berbagai organisasi maupun perusahaan. Terlebih lagi, Data Warehouse dirancang dengan memisahkan beban kerja analisa dari beban kerja transaksi, sehingga penggunaan Data Warehouse sebagai acuan dalam pengambilan keputusan menjadi semakin baik. Namun, pengaksesan data pada Data Warehouse yang valid dan terkini juga menjadi tuntutan untuk memenuhi berbagai tujuan.
Proses load pada Data Warehouse yang berfungsi untuk melakukan update data yang berubah berkaitan erat dengan proses ETL (Extraction, Transformation,
2
Loading) yang merupakan sekumpulan proses-proses untuk mengambil data dari sistem sumber, melakukan perubahan pada data dan mengirimkan data ke suatu sistem target. Untuk membantu proses ETL, terdapat beberapa metode capture perubahan data pada sistem transaksional yang kemudian hasilnya dapat digunakan dalam keperluan berikutnya. Sebelumnya, proses load biasa dilakukan sesuai periodik tertentu ketika sistem sedang tidak digunakan, karena proses ekstraksi dari sistem transaksional terkadang membutuhkan waktu cukup lama sehingga dikhawatirkan akan mengganggu transaksi yang sedang berjalan. Sebagai sebuah repositori data, Data Warehouse tentunya akan selalu berinteraksi dengan data dalam jumlah yang besar, menangani transaksi data dalam jumlah yang besar dan intensitas yang tinggi. Bahkan dalam suatu perusahaan, perputaran transaksi dapat terjadi dalam hitungan menit bahkan detik, dan Data Warehouse harus mampu menangkap perubahan data dari setiap transaksi dan menyimpannya sebagai historikal data dengan lantency waktu sekecil mungkin.
Change Data Capture (CDC) merupakan suatu teknik yang dapat menjanjikan Real Time Data Warehousing (RTDWH) karena CDC menangkap data yang berubah pada sistem transaksional melalui mekanisme log scanning. Proses CDC akan mengidentifikasi dan memproses setiap perubahan yang terjadi di sistem transaksional kemudian dikirimkan dan disimpan ditempat penyimpanan sementara. Banyaknya data dan transaksi yang terjadi setiap harinya, diperlukan performansi yang baik dalam proses CDC. Untuk mendapatkan performansi yang baik, tentunya diperlukan kinerja yang baik dalam setiap komponen yang membangun proses CDC. Berdasarkan hal itu, dilakukan implementasi dan pengujian terhadap proses CDC dengan pendekatan Audit Log untuk melihat performansi yang dihasilkan.
Pendekatan Audit Log merupakan salah satu output dari suatu DBMS (Database Management System) yang dapat dimanfaatkan dalam proses data capture. Audit Log merupakan catatan aktivitas yang dibangun ketika terjadi manipulasi data dalam suatu database. Informasi dari setiap aktivitas tersebut akan menjadi acuan dalam memperbaharui data sehingga keseragaman data di semua lokasi akan terjadi dan tersinkronisasi secara real time.
3
Implementasi dari penyelesaian masalah tersebut akan mengambil studi kasus pada institusi pendidikan Universitas Udayana yang memiliki sistem transaksional yaitu sistem pembayaran SPP. Hal yang melatar belakangi sistem tersebut dapat dijadikan obyek dalam membangun real time Data Warehouse karena memliki karakteristik transaksi data serta struktur database yang relatif besar sehingga memerlukan sebuah sistem pihak ketiga yang mampu mengolah data menjadi informasi yang mudah diterima.
Berdasarkan latar belakang di atas dibuatlah suatu model pengembangan Change Data Capture dalam membangun real time Data Warehouse dengan pendekatan Audit Log. Aplikasi CDC ini digunakan untuk mewujudkan sistem Data Warehouse yang bersifat real time, dimana setiap perubahan yang terjadi pada sistem transaksional akan terekam, sehingga menghasilkan informasi yang akurat, karena informasi yang tersedia senantiasa diperbarui.
1.2 Perumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan beberapa permasalahan yang akan dibahas dalam penelitian ini, antara lain:
1. Bagaimana memodelkan Change Data Capture pada Real Time Data Warehouse menggunakan Audit Log dengan back-end Python.
2. Bagaimana membangun aplikasi Change Data Capture untuk mewujudkan Real Time Data Warehouse dengan pendekatan Audit Log pada DBMS MySQL dan framework Laravel.
1.3 Tujuan
Penelitian dilakukan pastilah mempunyai suatu tujuan. Tujuan akan memberikan arah dan tumpuan dalam melaksanakan penelitian selanjutnya. Tujuan dari penelitian Tugas Akhir adalah:
1. Dapat mengetahui bagaimana memodelkan Change Data Capture pada Real Time Data Warehouse menggunakan Audit Log dengan back-end Python.
4
2. Dapat mengetahui bagaimana membangun aplikasi Change Data Capture untuk mewujudkan Real Time Data Warehouse dengan pendekatan Audit Log pada DBMS MySQL dan framework Laravel.
1.4 Batasan Masalah
Untuk mencapai tujuan dari penelitian ini maka dilakukan pembatasan asumsi sebagai berikut:
1. Sistem tidak menangani masalah keamanan internet. 2. Sistem dibangun pada platform berbasis web.
3. DBMS (Database Management System) yang digunakan untuk penelitian Tugas Akhir ini adalah MySQL.
4. Data yang digunakan dalam Change Data Capture berasal dari hasil auditing yang dibangun pada sistem transaksional.
5. Aplikasi hanya menangani sinkronisasi Data Manipulation Language (DML) kecuali SELECT statement, serta tidak menangani sinkronisasi Data Definition Language (DDL).
6. Studi kasus yang diambil dalam penelitian Tugas Akhir ini adalah sistem pembayaran SPP Universitas Udayana.
1.5 Manfaat
Manfaat yang akan didapat dari penelitian Tugas Akhir ini adalah sebagai berikut:
1. Diharapkan memberikan sumbangan pengetahuan mengenai Change Data Capture pada disiplin ilmu Data Warehouse.
2. Diharapkan tersedianya keseragaman data dan informasi yang up to date dalam sistem internal organisasi/perusahaan.
3. Diharapkan terjadinya peningkatan kualitas dan integritas data sehingga baik digunakan dalam pengambilan keputusan oleh organisasi/perusahaan. 4. Diharapkan terjadinya peningkatan akuntabilitas kinerja
organisasi/perusahaan.
5
1.6 Sistematika Penulisan
Penulisan proposal ini secara sistematis diatur dan disusun dalam lima bab yang di dalamnya terdapat beberapa sub bab. Secara ringkas uraian materi dari bab pertama hinggan bab terakhir adalah sebagai berikut :
BAB I : PENDAHULUAN
Bab ini menjelaskan secara garis besar tentang latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan, manfaat serta sistematika penulisan dari tugas akhir ini.
BAB II : TINJAUAN PUSTAKA
Pada bab ini dibahas secara singkat teori-teori yang diperlukan dan digunakan dalam menyelesaikan permasalahan.
BAB III : METODOLOGI DAN PERANCANGAN SISTEM
Bab ini berisi metode yang digunakan selama melakukan penelitian dan penulisan laporan, meliputi tempat dan waktu penelitian, alur penelitian, literatur, pemodelan sistem, perancangan basis data, pengembangan aplikasi dan jadwal kegiatan.
BAB IV : PENGUJIAN DAN ANALISIS HASIL
Bab ini berisikan arsitektur aplikasi yang telah dibuat, pengujian yang telah dilakukan serta hasil pengujian aplikasi.
BAB V : PENUTUP
Bab ini berisikan kesimpulan yang diambil dengan mengacu pada permasalahan yang ada dan analisis hasil pengujian sistem serta saran untuk pengembangan aplikasi lebih lanjut dan pengguna yang ingin mengimplementasikan aplikasi ini.