rancang bangun aplikasi extract, transform, dan … awal.pdf · data yang ditransfer ke dalam data...
TRANSCRIPT
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
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
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 Tahapan Pengujian untuk Mendapatkan Hasil ............................... 39
4.2 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
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