i
TUGAS AKHIR
RANCANG BANGUN APLIKASI EXTRACT, TRANSFORM, DAN LOAD UNTUK DATA WAREHOUSE BERBASIS WEB
I KADEK SASTRAWAN
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA JIMBARAN – BALI 2015
ii
TUGAS AKHIR
RANCANG BANGUN APLIKASI EXTRACT, TRANSFORM, DAN LOAD UNTUK DATA WAREHOUSE BERBASIS WEB
I KADEK SASTRAWAN NIM 0804405051
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA JIMBARAN – BALI 2015
iii
iv
RANCANG BANGUN APLIKASI EXTRACT, TRANSFORM DAN LOAD UNTUK DATA WAREHOUSE BERBASIS WEB
Tugas Akhir Diajukan Sebagai Prasyarat untuk Memperoleh Gelar Sarjana S1 (Strata 1) pada Jurusan Teknik Elektro Fakultas Teknik Universitas Udayana
I KADEK SASTRAWAN NIM 0804405051 .
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA DENPASAR 2015
v
-
vi
UCAPAN TERIMA KASIH
Pertama-tama perkenankanlah penulis memanjatkan puji syukur ke hadapan Ida Sang Hyang Widhi Wasa/ Tuhan Yang Maha Esa, karena hanya atas asung wara nugraha-Nya/kurnia-Nya, tugas akhir ini dapat diselesaikan. Pada kesempatan ini perkenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada bapak I Made Arsa Suyadnya, ST., M.Eng sebagai pembimbing I yang dengan penuh perhatian telah memberikan dorongan, semangat, bimbingan, dan saran selama penulis mengikuti program sarjana. Terima kasih sebesar-besarnya pula penulis sampaikan kepada bapak Dr. Ir. Made Sudarama, M.A.Sc. sebagai pembimbing II yang dengan penuh perhatian dan kesabaran telah memberikan bimbingan dan saran kepada penulis. Ucapan terima kasih ini ditujukan kepada Dekan Fakultas Teknik Universitas Udayana yang dijabat oleh bapak Prof. Ir. I Wayan Redana, MA.Sc., Ph.D. atas kesempatan yang diberikan kepada penulis untuk menjadi mahasiswa pada Fakultas Teknik Universitas Udayana. Tidak lupa pula penulis ucapkan terima kasih kepada bapak Ir. I Nyoman Setiawan, MT. Ketua Jurusan Teknik Elektro atas fasilitas dan kesempatan yang diberikan kepada penulis untuk mengikuti serta menyelesaikan pendidikan di PS Teknik Elektro. Ungkapan terima kasih penulis sampaikan pula kepada para penguji tugas akhir, yaitu bapak Ir. Putu Arya Mertasana, M.Si.,MT, bapak Duman Care Krishne, ST. , MT, dan bapak Dr. Ir. Ida Bagus Alit Swamardika, M.Erg, yang telah memberikan masukan, saran, sanggahan, dan koreksi sehingga tugas akhir ini dapat terwujud seperti ini. Pada kesempatan ini penulis menyampaikan ucapan terima kasih yang tulus disertai penghargaan 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 kakak, adik, dan teman-teman yang dengan penuh pengorbanan telah memberikan kepada penulis kesempatan untuk lebih berkonsentrasi menyelesaikan tugas akhir ini. Semoga Ida Sang Hyang Widhi Wasa/ Tuhan Yang Maha Esa selalu melimpahkan rahmat-Nya kepada semua pihak yang telah membantu pelaksanaan dan penyelesaian tugas akhir ini, serta kepada penulis sekeluarga.
vii
ABSTRAK
Pesatnya perkembangan teknologi informasi mengakibatkan kebutuhan user akan informasi dari sistem operasional menjadi hal yang pokok. Besarnya transaksi operasional mengakibatkan proses query untuk menghasilkan data summary menjadi lama dan membebani server. Data warehouse merupakan solusi dari masalah dalam menampung semua data summary dari sistem informasi operasional. Data warehouse sangat didukung oleh aplikasi back room yang berfungsi dalam proses extract, transform, dan load data yang sering disingkat menjadi ETL. Oleh karena itu dalam penelitian ini diteliti mengenai perancangan dan penerapan aplikasi ETL. Pada penelitian ini akan dirancang aplikasi ETL berbasis web. ETL mampu melakukan proses cleaning data yang berfungsi untuk menjamin kualitas data yang ditransfer ke dalam data warehouse. Aplikasi ini dirancang agar dapat mencatat log mulai dari proses extract, transform, sampai pada proses log sehingga dapat mempermudah operator untuk mengetahui data mana yang gagal diproses. Implementasi dari aplikasi ini dibuat menggunakan PHP. Sistem sumber yang digunakan antara lain MySQL, SQLServer dan ORACLE. Kata kunci: Data Warehouse, ETL, Extract, Transform, Load, Aplikasi
viii
ABSTRACT
The rapid development of information technology will lead to user needs information from operational systems into a main thing. The larger the operational transactions resulting query process to produce a summary of data becomes long and weighed on the server. Data Warehouse is a solution of the problem in accommodating all the data summary of a system supporting operational activities. Data warehouse is strongly supported by the back room application that functions in the process of extract, transform, and load data that often shortened to ETL. Therefore in this research study about the design and implementation of ETL applications. In this research will be designed web-based ETL application. ETL is able to perform data cleaning process serves to ensure the quality of data transferred to the data warehouse. This application is designed to be able to record process ranging from the extract, transform, until the log process so as to allow the operator to determine which data failed to be processed. The implementation of the application is created using php. The system resource used include mysql, sqlserver and oracle.
Keywords: Data Warehouse, ETL, Extract, Transform, Load, Application
ix
DAFTAR ISI
SAMPUL HALAMAN ............................................................................................ i SAMPUL HALAMAN DALAM ........................................................................... ii LEMBAR PERNYATAAN ORISINALITAS ...................................................... iii LEMBAR PERSYARATAN GELAR ................................................................... iv LEMBAR PERSETUJUAN PEMBIMBING .........................................................v UCAPAN TERIMA KASIH .................................................................................. vi ABSTRAK ............................................................................................................ vii ABSTRACT ......................................................................................................... viii DAFTAR ISI .......................................................................................................... ix DAFTAR TABEL ................................................................................................ xiii DAFTAR GAMBAR ........................................................................................... xiv BAB I PENDAHULUAN ....................................................................................... 1 1.1
Latar Belakang ......................................................................................... 1
1.2
Rumusan Masalah .................................................................................... 2
1.3
Tujuan ....................................................................................................... 3
1.4
Manfaat ..................................................................................................... 3
1.5
Ruang Lingkup dan Batasan Masalah ...................................................... 3
1.6
Sistematika Penulisan ............................................................................... 4
BAB II KAJIAN PUSTAKA .................................................................................. 5 2.1
Tinjauan Mutakhir .................................................................................... 5
2.2
Tinjauan Pustaka ...................................................................................... 7
2.2.1
Konsep Data Warehouse................................................................... 7
2.2.2
Karakteristik Data Warehouse .......................................................... 8
2.2.3
Arsitektur Data Warehouse............................................................. 10
2.2.4
ETL dalam Data Warehouse ........................................................... 11
2.2.5
Oracle .............................................................................................. 14
2.2.6
MySQL............................................................................................ 15
2.2.7
SQL Server ...................................................................................... 18
2.2.8
PHP (Hypertext Preprocessor) ....................................................... 18
2.2.9
Pengujian Perangkat Lunak............................................................. 22
x
BAB III METODE DAN PERANCANGAN ....................................................... 24 3.1
Tempat dan Waktu Penelitian ................................................................ 24
3.2
Data ....................................................................................................... 24
3.2.1
Sumber Data ................................................................................... 24
3.3.2
Metode Pengumpulan Data ............................................................. 24
3.3
Analisa Data .......................................................................................... 25
3.4
Analisa Sistem ........................................................................................ 25
3.5
Kebutuhan Perangkat Sistem.................................................................. 27
3.5.1
Perangkat Keras .............................................................................. 27
3.5.2
Perangkat Lunak.............................................................................. 27
3.6
Pemodelan Sistem ................................................................................. 27
3.6.1
Daftar Kejadian ............................................................................... 28
3.6.2
Gambaran Umum Sistem ................................................................ 28
3.6.3
Hubungan Antar Tabel .................................................................... 29
3.6.4
Entity Relationship Diagram (ERD) ............................................... 30
3.6.5
Himpunan Entitas ............................................................................ 31
3.6.6
Struktur Data .................................................................................. 31
3.7
Rancangan Antarmuka Pengguna ......................................................... 36
3.8
Metode Pengujian .................................................................................. 38
BAB IV HASIL DAN PEMBAHASAN .............................................................. 39 4.1
Hasil........................................................................................................ 39
4.1.1 4.2
Tahapan Pengujian untuk Mendapatkan Hasil ............................... 39
Pembahasan Sistem ............................................................................... 40
4.2.1
Tampilan Awal Aplikasi ETL ........................................................ 40
4.2.2
Pembuatan Profil Koneksi .............................................................. 41
4.2.3
Proses ETL dari MySQL ke MySQL .............................................. 42
4.2.4
Proses ETL dari SQLServer ke MySQL ........................................ 47
4.2.5
Proses ETL dari Oracle ke MySQL ................................................ 51
4.2.6
Pengelolaan Profil ........................................................................... 56
4.2.7
Pengelolaan User ............................................................................ 59
4.3
Pengujian Aplikasi ................................................................................ 60
4.4
Kelebihan dan Kekurangan Sistem ....................................................... 64
xi
4.4.1
Kelebihan Sistem ........................................................................... 64
4.4.2
Kekurangan Sistem ......................................................................... 64
BAB IV SIMPULAN DAN SARAN.................................................................... 65 4.1
Simpulan ................................................................................................. 65
4.3
Saran ...................................................................................................... 65
DAFTAR PUSTAKA .......................................................................................... xvi
xii
xiii
DAFTAR TABEL
Tabel 2.1 Perbandingan Aplikasi ............................................................................ 6 Tabel 2.2 Perbedaan Data Operasional dan Data Warehouse ................................. 8 Tabel 2.3 Tipe Data Oracle ................................................................................... 15 Tabel 2.4 Tipe Data Numerik MySQL ................................................................. 16 Tabel 2.5 Tipe Data String MySQL ...................................................................... 17 Tabel 2.6 Tipe Data Waktu MySQL ..................................................................... 17 Tabel 2.7 Tabel Perbandingan Metode Pengujian ................................................ 23 Tabel 3.1 Tabel tb_user ......................................................................................... 31 Tabel 3.2 Tabel tb_log .......................................................................................... 32 Tabel 3.3 Tabel tb_session_restore ....................................................................... 32 Tabel 3.4 Tabel tb_profile ..................................................................................... 33 Tabel 3.5 Tabel tb_tabel_mapping ........................................................................ 34 Tabel 3.6 Tabel tb_field_mapping ........................................................................ 34 Tabel 3.7 Tabel tb_log_extract ............................................................................. 34 Tabel 3.8 Tabel tb_log_transform ......................................................................... 35 Tabel 3.9 Tabel tb_log_load ................................................................................. 35 Tabel 3.10 Jadwal Kegiatan Penelitian ................................................................. 37 Tabel 4.1 Tabel Hasil Uji Aplikasi ....................................................................... 60
xiv
DAFTAR GAMBAR Gambar 2.1 Top-down Approach ........................................................................... 7 Gambar 2.2 Bottom-up Approach ........................................................................... 7 Gambar 2.3 Arsitektur data warehouse ................................................................ 10 Gambar 2.4 Arsitektur ETL .................................................................................. 12 Gambar 2.5 Skema HTML.................................................................................... 21 Gambar 2.6 Skema PHP ........................................................................................ 21 Gambar 3.1 Diagram Alur Penelitian.................................................................... 26 Gambar 3.2 Gambaran Umum Sistem .................................................................. 28 Gambar 3.3 Entity Relationship Diagram............................................................. 30 Gambar 3.4 Rancangan Antarmuka Form Login .................................................. 36 Gambar 3.5 Rancangan Antarmuka Form Profil Koneksi .................................... 37 Gambar 3.6 Rancangan Antarmuka Form Pemetaan Tabel.................................. 37 Gambar 4.1 Tampilan Awal Aplikasi ETL Data Warehouse Berbasis Web ........ 41 Gambar 4.2 Halaman Profil Koneksi .................................................................... 41 Gambar 4.3 Pembuatan Profil Koneksi MySQL ke MySQL................................ 42 Gambar 4.4 Form Pemetaan Tabel........................................................................ 43 Gambar 4.5 Hasil Pemetaan Tabel ........................................................................ 43 Gambar 4.6 Form Pemetaan Field. ....................................................................... 44 Gambar 4.7 Hasil Pemetaan Field. ....................................................................... 44 Gambar 4.8 Hasil Extract...................................................................................... 45 Gambar 4.9 Hasil Transform................................................................................. 46 Gambar 4.10 Hasil Load ....................................................................................... 46 Gambar 4.11 Pembuatan Profil Koneksi SQLServer ke MySQL ......................... 47 Gambar 4.12 Form Pemetaan Tabel...................................................................... 47 Gambar 4.13 Hasil Pemetaan Tabel ...................................................................... 48 Gambar 4.14 Form Pemetaan Field. ..................................................................... 48 Gambar 4.15 Hasil Pemetaan Field. ..................................................................... 49 Gambar 4.16 Hasil Extract. ................................................................................... 50 Gambar 4.17 Hasil Transform. ............................................................................. 50 Gambar 4.18 Hasil Load ....................................................................................... 51
xv
Gambar 4.19 Pembuatan Profil Koneksi Oracle ke MySQL ................................ 51 Gambar 4.20 Form Pemetaan Tabel...................................................................... 52 Gambar 4.21 Hasil Pemetaan Tabel ...................................................................... 53 Gambar 4.22 Form Pemetaan Field ...................................................................... 53 Gambar 4.23 Hasil Pemetaan Field ...................................................................... 54 Gambar 4.24 Hasil Extract. ................................................................................... 55 Gambar 4.25 Hasil Transform. ............................................................................. 55 Gambar 4.26 Hasil Load ....................................................................................... 56 Gambar 4.27 Pengelolaan Profil ........................................................................... 57 Gambar 4.28 Daftar Pemetaan Tabel .................................................................... 57 Gambar 4.29 Daftar Pemetaan Field ..................................................................... 58 Gambar 4.30 Daftar Log ....................................................................................... 58 Gambar 4.31 Daftar User ...................................................................................... 59 Gambar 4.32 Add User .......................................................................................... 59 Gambar 4.33 Edit User ......................................................................................... 60
1