RANCANG BANGUN DATA CLEANSING DAN KONVERSI OLTP KE DATA MART DENGAN METODE LINGUISTIC MATCHING TUGAS AKHIR
Diajukan guna memenuhi sebagian persyaratan dalam rangka menyelesaikan Pendidikan Sarjana Strata Satu (S1) Program Studi Teknologi Informasi
PANDE WAYAN ARTHA PRADANA NIM: 1204505010
JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2016 vi
RANCANG BANGUN DATA CLEANSING DAN KONVERSI OLTP KE DATA MART DENGAN METODE LINGUISTIC MATCHING TUGAS AKHIR
Diajukan guna memenuhi sebagian persyaratan dalam rangka menyelesaikan Pendidikan Sarjana Strata Satu (S1) Program Studi Teknologi Informasi
PANDE WAYAN ARTHA PRADANA NIM: 1204505010
JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2016 ii
PERNYATAAN
Dengan ini saya menyatakan bahwa dalam Laporan Tugas Akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu perguruan tinggi dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Badung, 27 September 2016 Pande Wayan Artha Pradana
iii
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI UNIVERSITAS UDAYANA FAKULTAS TEKNIK JURUSAN TEKNOLOGI INFORMASI Gedung Teknologi Informasi, Kampus Bukit Jimbaran – Bali Telepon: : +62 85102853533 email:
[email protected]
laman:http://www.it.unud.ac.id LEMBAR PENGESAHAN JUDUL
: RANCANG BANGUN SKEMA DATA CLEANSING DAN KONVERSI OLTP KE DATA MART DENGAN METODE LINGUISTIC MATCHING NAMA : PANDE WAYAN ARTHA PRADANA NIM : 1204505010 JURUSAN : TEKNOLOGI INFORMASI FAKULTAS : TEKNIK TANGGAL DIUJI : 27 SEPTEMBER 2016 Menyetujui, Dosen Pembimbing I, Dosen Pembimbing II,
I Made Sukarsa, S.T., M.T. NIDN. 0024107505
Putu Wira Buana, S.Kom., M.T NIDN. 0017047903
Mengetahui Ketua Jurusan Teknologi Informasi Fakultas Teknik Universitas Udayana
Dr. Eng. I Putu Agung Bayupati, S.T., M.T. NIDN. 0023047504
iv
LEMBAR BERITA ACARA
v
KATA PENGANTAR Puji dan syukur dipanjatkan kehadapan Ida Sang Hyang Widhi Wasa/Tuhan Yang Maha Esa, karena atas Asung Kerta Wara Nugraha-Nya, tugas akhir dengan judul “Rancang Bangun Skema Data Cleansing dan Konversi OLTP ke Data Mart dengan Metode Linguistic Matching” dapat diselesaikan. Masukan dan bimbingan dari berbagai pihak sangat membantu selama pelaksanaan tugas akhir ini, untuk itu diucapkan terima kasih kepada: 1.
Bapak Prof. Ir. Ngakan Putu Gede Suardana, M.T., Ph.D., selaku Dekan Fakultas Teknik Universitas Udayana.
2.
Bapak Dr. Eng. I Putu Bayupati, S.T., M.T., selaku Ketua Jurusan Teknologi Informasi Universitas Udayana.
3.
Bapak I Made Sukarsa, S.T., M.T., selaku dosen pembimbing I dan Bapak Putu Wira Buana, S.Kom., M.T., selaku dosen pembimbing II yang telah banyak memberikan masukan dan bimbingan selama penyusunan tugas akhir ini.
4.
Bapak A. A. K. Agung Cahyawan W., S.T., M.T., selaku dosen pembimbing akademik, yang telah memberikan bimbingan selama menempuh pendidikan di Jurusan Teknologi Informasi Fakultas Teknik Universitas Udayana.
5.
Kedua orang tua dan keluarga yang telah memberikan dukungan dan motivasi dalam pembuatan tugas akhir ini.
6.
Teman-teman seperjuangan dan segenap civitas di Jurusan Teknologi Informasi Universitas Udayana yang telah memberikan sumbangan ide, pemikiran, dan dukungan dalam penyusunan tugas akhir ini. Tugas akhir ini tentunya masih jauh dari sempurna. Akhir kata penulis
memohon maaf jika ada kesalahan dalam penulisan tugas akhir ini. Badung, 27 September 2016 Pande Wayan Artha Pradana
vi
ABSTRAK
Data mart adalah data warehouse tingkat retail dimana data dapat diakses secara langsung oleh end-user. Data cleaning, atau disebut juga data cleansing atau scrubbing merupakan usaha meningkatkan kualitas data dengan mendeteksi serta menghapus error dan inkonsistensi data. Data cleansing sangat diperlukan ketika integrasi dilakukan pada beberapa sumber data seperti pada data warehouse, federated database system, sistem informasi global berbasis web, dan sebagainya. Penelitian menggunakan Metode Linguistic Matching untuk melakukan data cleansing dalam membangun data mart. Linguistic Matching merupakan teknik yang didasarkan pada nama atau deskripsi sebuah elemen dengan menggunakan stemming, tokenization, string, dan substring matching, dan teknik information retrieval. Sistem menerima konfigurasi dari Database Administrator berupa skema OLTP yang terdiri dari informasi tabel dan field yang diproses oleh modul preprocessing sistem. Sistem membandingkan skema utama dan skema pembanding yang sudah melewati modul preprocessing untuk menemukan kecocokan pada data. Keluaran sistem adalah data bersih yang dapat digunakan untuk membangun data mart dari skema utama. Software yang digunakan pada penelitian ini adalah Sublime Text, MySQL Workbench dan XAMPP Server. Sistem dibangun menggunakan Bahasa Pemrograman PL/SQL dan PHP. Hasil pengujian pada sistem sudah sesuai dengan harapan dimana akurasi perbandingan maksimal mencapai 96,00% pada threshold 90%. Kata kunci : Data Mart, Linguistic Matching, OLTP, Data Cleansing, PL/SQL.
vii
ABSTRACT
Data mart is retail version of data warehouse where end user can access it directly. Data cleaning or data cleansing or data scrubbing is an attemp to increase data quality by detecting and removing inconsistency or error in data. Data cleansing is required when integration performed from many data source, like data warehouse, federated database system, web based information system, etc. Linguistic Matching is used in this research to perform data cleansing with intention to build data mart. Linguistic Matching is a technique that based on name or description of an element, using stemming, tokenization, string, substring matching, and information retrieval. System is designed to accept configuration from Database Administrator in the form of OLTP schema information that consists of table and field information to process in preprocessing module. System will compare two schema wich is primary schema and secondary schema that already preprocessed before to find match between data. System output will be used to build data mart from source OLTP. Software used in this research is Sublime Text, MySQL Workbench, and XAMPP server. System build with PL/SQL and PHP. The test result is quite satisfactory. System accuracy is up to 96.00% when threshold is set to 90%. Keywords: Data Mart, Linguistic Matching, OLTP, Data Cleansing, PL/SQL.
viii
DAFTAR ISI
HALAMAN SAMPUL............................................................................................ i HALAMAN JUDUL ..............................................................................................ii LEMBAR PERNYATAAN ................................................................................. iii LEMBAR PENGESAHAN .................................................................................. iv LEMBAR BERITA ACARA ................................................................................ v KATA PENGANTAR........................................................................................... vi ABSTRAK ............................................................................................................vii ABSTRACT ........................................................................................................ viii DAFTAR ISI ......................................................................................................... ix DAFTAR GAMBAR............................................................................................xii DAFTAR KODE PROGRAM ........................................................................... xiv DAFTAR TABEL ................................................................................................ xv BAB I PENDAHULUAN......................................... Error! Bookmark not defined. 1.2 Rumusan Masalah ........................................... Error! Bookmark not defined. 1.3 Batasan Masalah ............................................. Error! Bookmark not defined. 1.4 Tujuan Penelitian ............................................ Error! Bookmark not defined. 1.5 Manfaat Penelitian .......................................... Error! Bookmark not defined. 1.6 Sistematika Penulisan ..................................... Error! Bookmark not defined. BAB II TINJAUAN PUSTAKA ............................. Error! Bookmark not defined. 2.1 State of the Art ................................................ Error! Bookmark not defined. 2.2 Data Warehouse ............................................. Error! Bookmark not defined. 2.2.1 Karakteristik Data Warehouse .............. Error! Bookmark not defined. 2.2.2 Perbedaan OLTP dan Lingkungan Data Warehouse . Error! Bookmark not defined. 2.2.3 Arsitektur Data Warehouse ................... Error! Bookmark not defined. 2.2.4 Data Mart .............................................. Error! Bookmark not defined. 2.3 Schema Matching ............................................ Error! Bookmark not defined. 2.3.1 Teknik Schema Matching ...................... Error! Bookmark not defined. 2.4 Metode Linguistic Matching ........................... Error! Bookmark not defined. 2.4.1 Normalisasi (Normalization) ................. Error! Bookmark not defined. 2.4.2 Kategorisasi (Categorization) ............... Error! Bookmark not defined. 2.4.3 Komparasi (Comparison) ...................... Error! Bookmark not defined. 2.5 Stemming ......................................................... Error! Bookmark not defined. 2.6 MySQL ........................................................... Error! Bookmark not defined. 2.6.1 Fitur MySQL ......................................... Error! Bookmark not defined. 2.6.2 PL/SQL.................................................. Error! Bookmark not defined. 2.7 Struktur Data Skema OLTP Studi Kasus ........ Error! Bookmark not defined. 2.7.1 Skema OLTP Sistem Informasi Manajemen Akademik (SIMAK) Universitas Udayana.............................. Error! Bookmark not defined. 2.7.2 Skema OLTP Sistem Informasi Manajemen Kepegawaian (SIMPEG) Universitas Udayana.............................. Error! Bookmark not defined. ix
BAB III METODE DAN PERANCANGAN SISTEM ....... Error! Bookmark not defined. 3.1 Tempat dan Waktu Penelitian ......................... Error! Bookmark not defined. 3.3 Data ................................................................. Error! Bookmark not defined. 3.3.1 Sumber Data .......................................... Error! Bookmark not defined. 3.3.2 Jenis Data .............................................. Error! Bookmark not defined. 3.3.3 Metode Pengumpulan Data ................... Error! Bookmark not defined. 3.4 Analisis Sistem ............................................... Error! Bookmark not defined. 3.4.1 Definisi Tujuan (Statement of Purpose) Error! Bookmark not defined. 3.4.2 Gambaran Umum Sistem ...................... Error! Bookmark not defined. 3.4.3 Spesifikasi Perangkat Keras .................. Error! Bookmark not defined. 3.4.4 Spesifikasi Perangkat Lunak ................. Error! Bookmark not defined. 3.4.5 Analisis Pengguna ................................. Error! Bookmark not defined. 3.5 Perancangan Sistem ........................................ Error! Bookmark not defined. 3.5.1 Perancangan Proses ............................... Error! Bookmark not defined. 3.5.2 Entity Relationship Diagram (ERD) ..... Error! Bookmark not defined. 3.5.3 Normalisasi............................................ Error! Bookmark not defined. 3.5.4 Perancangan Basis Data ........................ Error! Bookmark not defined. 3.5.5 Perancangan Wireframe Aplikasi .......... Error! Bookmark not defined. BAB IV HASIL DAN PEMBAHASAN ................. Error! Bookmark not defined. 4.1 Rancangan Arsitektur Sistem.......................... Error! Bookmark not defined. 4.2 Alur Aplikasi Linguistic Cleaner .................... Error! Bookmark not defined. 4.3 Hasil Perancangan User Interface. ................. Error! Bookmark not defined. 4.3.1 Halaman Login ................................... Error! Bookmark not defined. 4.3.2 Halaman Register ............................... Error! Bookmark not defined. 4.3.3 Halaman Dashboard .......................... Error! Bookmark not defined. 4.3.4 Halaman Redirect............................... Error! Bookmark not defined. 4.4 Hasil Perancangan Fitur Aplikasi ................... Error! Bookmark not defined. 4.5 Pengenalan Proses Tokenisasi ........................ Error! Bookmark not defined. 4.6 Pengujian Sistem............................................. Error! Bookmark not defined. 4.6.1 Studi Kasus Pengujian Sistem ............... Error! Bookmark not defined. 4.6.2 Alur Pengujian Sistem ........................... Error! Bookmark not defined. 4.6.3 Analisa Proses Komparasi ..................... Error! Bookmark not defined. 4.6.4 Pengujian Komparasi Data .................... Error! Bookmark not defined. 4.6.5 Analisa Kecepatan Proses Data ............. Error! Bookmark not defined. BAB V PENUTUP ................................................... Error! Bookmark not defined. 5.1 Simpulan ......................................................... Error! Bookmark not defined. 5.2 Saran ............................................................... Error! Bookmark not defined. DAFTAR PUSTAKA ......................................................................................... 108
x
xi
DAFTAR GAMBAR
Gambar 2.1 Perbedaan Mendasar Sistem OLTP dan Data warehouse ............... 11 Gambar 2.2 Arsitektur Data warehouse Standar ................................................. 13 Gambar 2.3 Arsitektur Data warehouse dengan Staging Area ............................ 14 Gambar 2.4 Arsitektur Data warehouse dengan Staging Area dan Data Mart ... 15 Gambar 2.5 Ilustrasi Schema Matching ............................................................... 17 Gambar 2.6 Rangkuman Proses Matching, Mapping, dan Pertukaran Data ........ 18 Gambar 2.7 Gambaran sederhana demonstrasi Schema matching ....................... 19 Gambar 2.8 Klasifikasi Metode Stemming ........................................................... 23 Gambar 2.9 Klasifikasi Masalah Kualitas Data ................................................... 26 Gambar 2.10 Struktur Tabel tb_dosen pada SIMAK ........................................... 35 Gambar 2.11 Struktur Tabel m_dosen pada SIMPEG ........................................... 36 Gambar 3.1 Bagan Urutan Langkah Penelitian .................................................... 38 Gambar 3.2` Gambaran Umum Sistem.................................................................. 41 Gambar 3.3 Alur Kerja Data Cleansing dengan Metode Linguistic Matching .... 42 Gambar 3.4 Rancangan Sistem Keseluruhan ....................................................... 45 Gambar 3.5 Flowchart Rancang Bangun Data Cleansing dengan Metode Linguistic Matching .......................................................................... 45 Gambar 3.6 Flowchart Linguistic Matching ........................................................ 46 Gambar 3.7 Flowchart Proses Tokenisasi ............................................................ 47 Gambar 3.8 Flowchart Ekspansi Token ............................................................... 49 Gambar 3.9 Flowchart Proses Komparasi............................................................ 51 Gambar 3.10 Flowchart Proses Banding Berurutan............................................... 52 Gambar 3.11 Ilustrasi Komparasi Berurutan .......................................................... 53 Gambar 3.12 Flowchart Proses Banding Acak ...................................................... 55 Gambar 3.13 Ilustrasi Komparasi Acak ................................................................. 56 Gambar 3.14 Entity Relationship Diagram Linguistic Cleaner ............................. 58 Gambar 3.15 Proses Normalisasi tb_olah ............................................................ 60 Gambar 3.16 Proses Normalisasi tb_detolah ...................................................... 61 Gambar 3.17 Bentuk Normal tb_dict .................................................................. 62 Gambar 3.18 Bentuk Normal tb_user .................................................................. 62 Gambar 3.19 Proses Normalisasi tb_match .......................................................... 63 Gambar 3.20 Wireframe Halaman Login .............................................................. 68 Gambar 3.21 Wireframe Halaman Registrasi ......................................................... 69 Gambar 3.22 Wireframe Halaman Dashboard ....................................................... 70 Gambar 3.23 Wireframe Halaman Redirect........................................................... 71 Gambar 4.1 Rancangan Arsitektur Linguistic Cleaner ........................................ 72 Gambar 4.2 Alur Sistem Linguistic Cleaner. ....................................................... 74 Gambar 4.3 Antarmuka Login Aplikasi ................................................................ 76 Gambar 4.4 Antarmuka Register .......................................................................... 77 Gambar 4.5 Antarmuka Dashboard aplikasi ....................................................... 77 Gambar 4.6 Antarmuka Halaman Redirect .......................................................... 78 xii
Gambar 4.7 Fitur Login Pada Aplikasi ................................................................. 79 Gambar 4.8 Fitur Register Pada Aplikasi ............................................................. 79 Gambar 4.9 Fitur Input Skema (Input Database) ................................................. 80 Gambar 4.10 Fitur Input Skema (Input Field) ....................................................... 81 Gambar 4.11 Fitur Input Skema (Input Field Utama) ........................................... 81 Gambar 4.12 Fitur Input Skema (Input Field Primary Key) ................................. 82 Gambar 4.13 Fitur Olah Data OLTP...................................................................... 82 Gambar 4.14 Fitur Hapus Skema OLTP ................................................................ 83 Gambar 4.15 Fitur Edit Token ............................................................................... 83 Gambar 4.16 Fitur Match Data (Pilih Skema Utama) ........................................... 84 Gambar 4.17 Fitur Match Data (Pilih Skema Pembanding) .................................. 84 Gambar 4.18 Fitur Set Ambang Batas (Threshold) ............................................... 85 Gambar 4.19 Fitur Lihat Data Match ..................................................................... 86 Gambar 4.20 Fitur Tambah Data Mart .................................................................. 86 Gambar 4.21 Fitur Tambah Data Mart .................................................................. 87 Gambar 4.22 Fitur Lihat Data Mart ....................................................................... 88 Gambar 4.23 Struktur Tabel tb_dosen pada SIMAK .......................................... 90 Gambar 4.24 Isi Tabel tb_dosen pada Database simak_db ............................... 91 Gambar 4.25 Struktur Tabel m_dosen pada SIMPEG Universitas Udayana ........ 92 Gambar 4.26 Isi Tabel m_dosen pada Database simpeg_db ................................ 93 Gambar 4.27 Hasil Perbandingan Nama Dosen pada SIMAK dan SIMPEG Tanpa Notasi ‘%’ .......................................................................................... 95 Gambar 4.28 Grafik Data Hasil Pemrosesan Sistem ............................................. 97 Gambar 4.29 Persentase Akurasi Data................................................................... 97 Gambar 4.30 Grafik Data Hasil Pemrosesan Sistem ............................................. 99 Gambar 4.31 Persentase Akurasi Data................................................................... 99 Gambar 4.32 Perbandingan Komparasi Acak dan Komparasi Berurutan ........... 100 Gambar 4.33 Diagram Waktu Pemrosesan Data ................................................. 103
xiii
DAFTAR KODE PROGRAM
Kode Program 2.1 Sintaks Dasar Membuat Stored Procedure ............................ 31 Kode Program 2.2 Perintah Memanggil Stored Procedure ................................... 31 Kode Program 2.3 Sintaks Dasar Membuat Function ........................................... 31 Kode Program 2.4 Sintaks Dasar Trigger .............................................................. 32 Kode Program 2.5 Contoh Prepared Statemet ...................................................... 32 Kode Program 2.6 Contoh Aplikasi Prepared Statement ...................................... 33 Kode Program 2.7 Contoh Aplikasi Prepared Statement ...................................... 34 Kode Program 4.1 Potongan Kode Program Proses Komparasi............................ 94
xiv
DAFTAR TABEL
Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.5 Tabel 3.6 Tabel 3.7 Tabel 3.8 Tabel 3.9 Tabel 3.10 Tabel 3.11 Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6 Tabel 4.7 Tabel 4.8 Tabel 4.9
Ilustrasi Tabel Dosen pada Skema OLTP input ................................ 48 Ilustrasi Tabel Detil Olah pada Sistem ............................................... 48 Ilustrasi Tabel Kamus Pada Sistem..................................................... 49 Ilustrasi Tabel Token pada Sistem ...................................................... 50 Ilustrasi Tabel Detail Olah .................................................................. 50 Rancangan Tabel tb_olah ................................................................. 64 Rancangan Tabel tb_detolah ........................................................... 64 Rancangan Tabel tb_token ............................................................... 65 Rancangan Tabel tb_dict ................................................................. 66 Rancangan Tabel tb_user ................................................................. 66 Rancangan Tabel tb_match ............................................................... 67 Tabel master_paramater ................................................................. 88 Tabel tb_token .................................................................................. 89 Perbandingan Hasil Proses dengan Notasi ‘%’ dan Tidak pada Komparasi Acak.................................................................................. 95 Hasil Pencocokan dengan Komparasi Berurutan ................................ 96 Hasil Pencocokan dengan Komparasi Acak ....................................... 98 Pengujian Kecepatan Proses Tokenisasi ........................................... 101 Pengujian Kecepatan Proses Komparasi Berurut.............................. 102 Pengujian Kecepatan Proses Komparasi Acak ................................. 102 Perbandingan Waktu yang Diperlukan Oleh Metode Komparasi Berurutan dan Acak .......................................................................... 103
xv