PERANCANGAN ALAT BANTU BACKUP DAN RESTORE MENGGUNAKAN ALGORITMA KOMPRESI XMILL, LZ77 DAN HUFFMAN PADA RDBMS BERBASIS XML - Binus e-Thesis

  Jurusan Teknik Informatika Skripsi Sarjana Komputer

  Semester Ganjil tahun 2005/2006

  

PERANCANGAN ALAT BANTU BACKUP DAN RESTORE

MENGGUNAKAN ALGORITMA KOMPRESI XMILL, LZ77, DAN HUFFMAN

PADA RDBMS BERBASIS XML

Henry Soedjatmiko 0700679026

   Richard Kristian 0700679045 Rudy Kristanto 0700679215 Abstrak

  Tujuan dari penelitian ini adalah merancang sebuah alat bantu yang mempunyai kemampuan melakukan backup dan restore terhadap sebuah RDBMS yang berbasis

  XML. Backup berfungsi membuat salinan basis data yang berukuran lebih kecil dari aslinya. Hasil backup ini nantinya dapat digunakan untuk mengembalikan basis data seperti semula apabila terjadi kerusakan pada basis data. Proses pengembalian basis data tersebut dinamakan restore. Algoritma yang digunakan untuk melakukan kompresi dan dekompresi dalam proses backup dan restore adalah XMill, LZ77, dan Huffman. Metodologi yang digunakan dalam penelitian ini adalah studi literatur, analisis kebutuhan sistem, perancangan aplikasi untuk penyimpanan data, implementasi rancangan dan pembuatan program, dan melakukan evaluasi terhadap program yang telah dibuat. Penelitian ini telah menghasilkan sebuah alat bantu backup dan restore. Dari penelitian ini dapat disimpulkan bahwa perancangan alat bantu backup dan restore ini telah mencapai tujuannya, yaitu membuat salinan basis data dengan cepat dan berukuran kecil serta dapat mengembalikan basis data dari salinan tersebut menjadi basis data yang sama seperti semula.

  Kata Kunci : backup, restore, basis data, XML, kompresi, XMill, LZ77, Huffman

  

PRAKATA

  Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmat yang diberikanNya sehingga penulis dapat menyelesaikan skripsi yang berjudul “PERANCANGAN ALAT BANTU BACKUP DAN RESTORE MENGGUNAKAN

  

ALGORITMA KOMPRESI XMILL, LZ77, DAN HUFFMAN PADA RDBMS

BERBASIS XML” dengan baik.

  Adapun skripsi ini disusun sebagai salah satu syarat bagi mahasiswa untuk menyelesaikan jenjang pendidikan Strata-1, Jurusan Teknik Informatika di Universitas Bina Nusantara, Jakarta.

  Tidak sedikit bantuan yang penulis terima dari berbagai pihak demi kelancaran penulisan skripsi ini. Karena itu penulis dengan segala hormat ingin berterima kasih kepada :

  1. Prof. Dr. Gerardus Polla. M.App.Sc, selaku Rektor Universitas Bina Nusantara atas semua pendidikan yang telah kami terima selama ini di Universitas Bina Nusantara.

  2. Bapak Ir. Sablin Yusuf, M.Sc., M.Comp.Sc, selaku Dekan Fakultas Ilmu Komputer Universitas Bina Nusantara yang telah menyediakan fasilitas-fasilitas sehingga kami dapat menyelesaikan skripsi ini sebagaimana mestinya.

  3. Bapak H. Mohammad Subekti, BE, M.Sc. selaku Ketua Jurusan Teknik Informatika dan Bapak Fredy Purnomo, S.Kom, M.Kom selaku Sekretaris Jurusan Teknik Informatika yang telah memberikan kesempatan kepada penulis untuk dapat menyelesaikan skripsi ini.

  4. Bapak Ashari S.Kom, M.Kom, selaku pembimbing kami yang telah banyak memberikan petunjuk, saran, dan bimbingan dalam penyusunan skripsi ini.

  5. Seluruh dosen Universitas Bina Nusantara yang telah memberikan bekal dan tuntutan dalam menyelesaikan gelar kesarjanaan ini.

  6. Keluarga dan orang tua yang selalu memberikan dukungan yang tak terkira.

  7. Teman-teman dan semua pihak yang telah membantu, yang tidak dapat kami sebutkan satu persatu.

  Penulis menyadari skripsi ini masih jauh dari sempurna yang disebabkan oleh terbatasnya kemampuan, pengetahuan, dan pengalaman yang dimiliki penulis. Untuk itu semua saran dan kritik yang membangun akan penulis terima dengan senang hati. Akhir kata semoga skripsi ini dapat memberi manfaat bagi semua pihak yang memerlukannya.

  Jakarta, Januari 2007 Tim Penulis

DAFTAR ISI

  Halaman Judul Luar ....................................................................................................... i Halaman Judul Dalam ................................................................................................... ii Halaman Persetujuan Hardcover ................................................................................... iii Halaman Pernyataan Dewan Penguji ............................................................................. iv Abstrak ........................................................................................................................... vii Prakata............................................................................................................................ viii Daftar Isi ........................................................................................................................ x Daftar Gambar................................................................................................................ xv Daftar Tabel ................................................................................................................... xviii BAB 1 PENDAHULUAN ............................................................................................

  1

  1.1 Latar Belakang .......................................................................................... 1

  1.2 Ruang Lingkup.......................................................................................... 2 1.3 Tujuan dan Manfaat Penelitian .................................................................

  5 1.4 Metodologi Penelitian ...............................................................................

  5 1.5 Sistematika Penulisan ...............................................................................

  6 BAB 2 LANDASAN TEORI .......................................................................................

  8 2.1 Basis Data .................................................................................................

  8 2.1.1 Pengertian Data .............................................................................

  8

  2.1.2 Pengertian Basis Data ................................................................... 8

  2.1.3 Pengertian Basis Data Relasional..................................................

  9

  2.1.4 Pengertian Database Management System ................................... 10

  2.1.5 Pengertian Relational Database Management System .................. 12

  2.2 Backup dan Restore................................................................................... 12

  2.2.1 Pengertian Backup dan Restore..................................................... 12

  2.2.2 Alasan Diperlukannya Backup...................................................... 13

  2.2.3 Ancaman Terhadap Data............................................................... 14

  2.3 XML.......................................................................................................... 15

  2.3.1 Definisi.......................................................................................... 15

  2.3.2 Keuntungan ................................................................................... 16

  2.3.3 Bagian Dokumen XML................................................................. 17

  2.4 Kompresi Data .......................................................................................... 19

  2.4.1 Klasifikasi Algoritma Kompresi ................................................... 20

  2.4.2 Encoding dan Decoding ................................................................ 22

  2.4.3 Rasio Kompresi............................................................................. 23

  2.4.4 XMill ............................................................................................. 24

  2.4.5 Algoritma LZ77 ............................................................................ 27

  2.4.6 Algoritma Huffman....................................................................... 29

  2.5 Unified Modelling Language (UML)........................................................ 32

  

BAB 3 PERANCANGAN SISTEM ............................................................................ 35

  3.1 Analisis Kebutuhan Sistem ....................................................................... 35

  3.1.1 Kebutuhan Fungsional .................................................................. 35

  3.1.1.1 Backup_DB Use Case Description ................................ 37

  3.1.1.2 Backup_Log Use Case Description ............................... 39

  3.1.1.3 Restore_As_New_DB Use Case Description ................ 41

  3.1.1.4 Restore_Existing_DB Use Case Description ................. 43

  3.1.1.5 Restore_Log Use Case Description ............................... 45

  3.1.2 Kebutuhan Non-Fungsional .......................................................... 47

  3.2 Alasan Pemilihan Algoritma ..................................................................... 48

  3.3 Arsitektur Sistem Modul Backup dan Restore .......................................... 49

  3.4 Perancangan Proses Backup dan Restore.................................................. 54

  3.4.1 Backup........................................................................................... 54

  3.4.2 Struktur Penyimpanan File Hasil Backup ..................................... 87

  3.4.3 Restore .......................................................................................... 91

  3.5 Perancangan Antar Muka.......................................................................... 100

  3.5.1 Perancangan Form Backup ........................................................... 100

  3.5.2 Perancangan ........................................................... 101

  Form Restore

  3.5.3 Perancangan Form Setting Buffer ................................................. 102

  

BAB 4 IMPLEMENTASI DAN EVALUASI ............................................................ 103

  4.1 Implementasi ............................................................................................. 103

  4.1.1 Spesifikasi Sistem ......................................................................... 103

  4.1.2 Arsitektur RDBMS ....................................................................... 106

  4.1.3 Instalasi Program........................................................................... 107

  4.1.4 Tata Cara Penggunaan................................................................... 114

  4.2 Evaluasi ..................................................................................................... 132

  4.2.1 Test Case dan Test Scenario ......................................................... 134

  4.2.2 Evaluasi Backup ............................................................................ 136

  4.2.3.1 Perbandingan Basis Data dengan Hasil Restore (Tes Akurasi).......................................................................... 152

  4.2.3.5 Perbandingan Ukuran Basis Data dengan Penggunaan CPU ........................................................... 157

  4.2.3.4 Perbandingan Ukuran Basis Data dengan Penggunaan Memori ...................................................... 156

  ........................................................................... 155

  Restore

  4.2.3.3 Perbandingan Ukuran Basis Data dengan Kecepatan

  Restore ........................................................................... 153

  4.2.3.2 Perbandingan Ukuran Basis Data dengan Waktu

  4.2.3 Evaluasi Restore ............................................................................ 149

  4.2.2.1 Perbandingan Ukuran File Backup Berdasarkan

  4.2.2.6 Kesimpulan Pengujian Backup ...................................... 149

  4.2.2.5 Perbandingan Ukuran Basis Data dengan Penggunaan CPU ........................................................... 148

  4.2.2.4 Perbandingan Ukuran Basis Data dengan Penggunaan Memori ...................................................... 147

  Backup ............................................................................ 145

  4.2.2.3 Perbandingan Ukuran Basis Data dengan Kecepatan

  Backup ............................................................................ 143

  4.2.2.2 Perbandingan Ukuran Basis Data dengan Waktu

  Buffer .............................................................................. 139

  4.2.3.6 Kesimpulan Pengujian ...................................... 158

  

BAB 5 SIMPULAN DAN SARAN.............................................................................. 159

  5.1 Simpulan ................................................................................................... 159

  5.2 Saran.......................................................................................................... 160

  

DAFTAR PUSTAKA ................................................................................................... 161

RIWAYAT HIDUP ...................................................................................................... 163

DAFTAR GAMBAR Gambar 2.1 Gambar Arsitektur XMill......................... Error! Bookmark not defined

Gambar 2.2 Buffer pada LZ77 ..................................... Error! Bookmark not defined.Gambar 2.3 Gambar Huffman Tree ............................. Error! Bookmark not defined.Gambar 2.4 Contoh Simbol Use Case ......................... Error! Bookmark not defined.Gambar 2.5 Contoh Simbol Actor ............................... Error! Bookmark not defined.Gambar 2.6 Contoh Include ......................................... Error! Bookmark not defined.Gambar 3.1 Use Case Diagram Proses Backup dan Restore .......................................36Gambar 3.2 Arsitektur Sistem Modul Backup Basis DataError! Bookmark not defined.Gambar 3.3 Arsitektur Sistem Modul Restore Basis DataError! Bookmark not defined.Gambar 3.4 Workflow Algoritma Kompresi XMill Secara UmumError! Bookmark not defined.Gambar 3.5 Workflow Algoritma Kompresi XMill Secara RinciError! Bookmark not defined.Gambar 3.6 Workflow Algoritma Kompresi LZ77 ...... Error! Bookmark not defined.Gambar 3.7 Contoh Huffman Tree .............................. Error! Bookmark not defined.Gambar 3.8 Workflow Algoritma Kompresi Huffman. Error! Bookmark not defined.Gambar 3.9 Workflow Algoritma Dekompresi HuffmanError! Bookmark not defined.Gambar 3.10 Workflow Algoritma Dekompresi LZ77 .. Error! Bookmark not defined.Gambar 3.11 Workflow Algoritma Dekompresi XMill . Error! Bookmark not defined.Gambar 3.12 Tampilan Layar Modul Backup Basis DataError! Bookmark not defined.Gambar 3.13 Tampilan Layar Modul Restore Basis DataError! Bookmark not defined.Gambar 3.14 Tampilan Layar Modul Setting Backup Memory BufferError! Bookmark not defined.Gambar 4.1 Susunan Komponen Dalam Arsitektur RDBMSError! Bookmark not defined.Gambar 4.2 Tampilan Awal Instalasi .......................... Error! Bookmark not defined.Gambar 4.3 Pesan Konfirmasi Pembatalan Instalasi ... Error! Bookmark not defined.Gambar 4.4 Tampilan Akhir Pembatalan Instalasi ...... Error! Bookmark not defined.Gambar 4.5 Layar Pengaturan Lokasi Tujuan InstalasiError! Bookmark not defined.Gambar 4.6 Tampilan Pemilihan Tujuan File InstalasiError! Bookmark not defined.Gambar 4.7 Tampilan Disk Cost.................................. Error! Bookmark not defined.Gambar 4.8 Layar Pre-Instalasi Proses ........................ Error! Bookmark not defined.Gambar 4.9 Proses Instalasi ......................................... Error! Bookmark not defined.Gambar 4.10 Instalasi Selesai ........................................ Error! Bookmark not defined.Gambar 4.11 Tampilan Layar Menu Utama .................. Error! Bookmark not defined.Gambar 4.12 Tampilan Aplikasi Terhubung ke Server . Error! Bookmark not defined.Gambar 4.13 Tampilan Layar Menu Backup................. Error! Bookmark not defined.Gambar 4.14 Tampilan File Open Dialog ..................... Error! Bookmark not defined.Gambar 4.15 Pengisian Path Tujuan File Backup ......... Error! Bookmark not defined.Gambar 4.16 Tampilan Proses Backup Basis Data........ Error! Bookmark not defined.Gambar 4.17 Pesan Proses Backup Selesai.................... Error! Bookmark not defined.Gambar 4.18 Tampilan Layar Menu Restore Basis DataError! Bookmark not defined.Gambar 4.19 Restore As Existing Database .................. Error! Bookmark not defined.Gambar 4.20 Restore As New Database ........................ Error! Bookmark not defined.Gambar 4.21 Proses Restore Basis Data........................ Error! Bookmark not defined.Gambar 4.22 Pesan Tipe File Tidak Sesuai ................... Error! Bookmark not defined.Gambar 4.23 Pesan Proses Restore Selesai ................... Error! Bookmark not defined.Gambar 4.24 Tampilan Layar Menu Setting.................. Error! Bookmark not defined.Gambar 4.25 Tampilan Layar Menu Help ..................... Error! Bookmark not defined.Gambar 4.26 Tampilan Layar Menu About ................... Error! Bookmark not defined.Gambar 4.27 Tampilan Hasil Evaluasi Backup ............. Error! Bookmark not defined.Gambar 4.28 Tampilan Hasil Evaluasi Restore ............. Error! Bookmark not defined.Gambar 4.29 Diagram Perbandingan Ukuran File Backup Berdasarkan Buffer.... Error! Bookmark not defined.Gambar 4.30 Grafik Perbandingan Buffer dengan Rasio Kompresi Rata-Rata..... Error! Bookmark not defined.Gambar 4.31 Diagram Perbandingan Ukuran Basis Data yang Dibackup dengan Waktu Backup .......................................... Error! Bookmark not defined.Gambar 4.32 Grafik Perbandingan Ukuran Basis Data yang Dibackup dengan Kecepatan Backup.................................... Error! Bookmark not defined.Gambar 4.33 Grafik Perbandingan Ukuran Basis Data yang Dibackup dengan Penggunaan Memori ................................ Error! Bookmark not defined.Gambar 4.34 Diagram Perbandingan Ukuran Basis Data yang Dibackup dengan Penggunaan CPU ..................................... Error! Bookmark not defined.Gambar 4.35 Grafik Perbandingan Ukuran Basis Data yang Direstore dengan Waktu Restore.......................................... Error! Bookmark not defined.Gambar 4.36 Grafik Perbandingan Ukuran Basis Data yang Direstore dengan Kecepatan Restore.................................... Error! Bookmark not defined.Gambar 4.37 Grafik Perbandingan Ukuran Basis Data yang Direstore dengan Penggunaan Memori ................................ Error! Bookmark not defined.Gambar 4.38 Diagram Perbandingan Ukuran Basis Data yang Direstore dengan Penggunaan CPU ..................................... Error! Bookmark not defined.

DAFTAR TABEL Tabel 2.1 Tabel Contoh Daftar Frekuensi Karakter....Error! Bookmark not defined

  Tabel 3.1a Tabel Proses XMill ..................................... Error! Bookmark not defined. Tabel 3.1b Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1c Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1d Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1e Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1f Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1g Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1h Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1i Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1j Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1k Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1l Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined. Tabel 3.1m Tabel Proses XMill (lanjutan).....................Error! Bookmark not defined. Tabel 3.1n Tabel Proses XMill (lanjutan)..................... Error! Bookmark not defined.