UNIVERSITAS BINA NUSANTARA
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 :
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.
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
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.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.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.2 Backup_LogUse Case Description... 39
3.1.1.3 Restore_As_New_DBUse Case Description... 41
3.1.1.4 Restore_Existing_DBUse Case Description... 43
3.1.1.5 Restore_LogUse 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 Form Restore... 101
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.2 Evaluasi Backup... 136 4.2.2.1 Perbandingan Ukuran File Backup Berdasarkan
Buffer... 139 4.2.2.2 Perbandingan Ukuran Basis Data dengan Waktu
Backup... 143 4.2.2.3 Perbandingan Ukuran Basis Data dengan Kecepatan
Backup... 145 4.2.2.4 Perbandingan Ukuran Basis Data dengan
Penggunaan Memori ... 147 4.2.2.5 Perbandingan Ukuran Basis Data dengan
Penggunaan CPU... 148 4.2.2.6 Kesimpulan Pengujian Backup... 149 4.2.3 Evaluasi Restore... 149
4.2.3.1 Perbandingan Basis Data dengan Hasil Restore (Tes Akurasi)... 152 4.2.3.2 Perbandingan Ukuran Basis Data dengan Waktu
Restore... 153 4.2.3.3 Perbandingan Ukuran Basis Data dengan Kecepatan
Restore... 155 4.2.3.4 Perbandingan Ukuran Basis Data dengan
Penggunaan Memori ... 156 4.2.3.5 Perbandingan Ukuran Basis Data dengan
BAB 5 SIMPULAN DAN SARAN... 159
5.1 Simpulan ... 159
5.2 Saran... 160
DAFTAR PUSTAKA ... 161
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...36 Gambar 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.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.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
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
DAFTAR TABEL
Tabel 4.6 Hasil Restore untuk File Backup dengan Buffer 1 MBError! Bookmark not defined.
Tabel 4.7 Hasil Restore untuk File Backup dengan Buffer 2 MBError! Bookmark not defined.
Tabel 4.8 Hasil Restore untuk File Backup dengan Buffer 3 MBError! Bookmark not defined.
Tabel 4.9 Hasil Restore untuk File Backup dengan Buffer 4 MBError! Bookmark not defined.