ANALISIS HASIL KOMPRESI DATA TEKS PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE
DAN LEVENSTEIN CODE
TESIS
ANTONI
117038029
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ANALISIS HASIL KOMPRESI DATA TEKS PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE
DAN LEVENSTEIN CODE
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
ANTONI 117038029
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS HASIL KOMPRESI DATA TEKS
PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE DAN LEVENSTEIN CODE
Kategori : -
Nama : Antoni
Nomor Induk Mahasiswa : 117038029
Program Studi : S2 Teknik Informatika
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Erna Budhiarti Nababan, M.IT Prof. Dr. Muhammad Zarlis
Diketahui/disetujui oleh
Program Studi S2 Teknik Informatika
Ketua,
PERNYATAAN ORISINALITAS
ANALISIS HASIL KOMPRESI DATA TEKS PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE
DAN LEVENSTEIN CODE
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 21 Agustus 2014
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di
bawah ini:
Nama : Antoni
NIM : 117038029
Program Studi : S2 Teknik Informatika
Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive
Royalty Free Right) atas tesis saya yang berjudul:
ANALISIS HASIL KOMPRESI DATA TEKS PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE
DA N LEVENSTEIN CODE
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media,
memformat, mengelola dalam bentuk database, merawat, dan mempublikasikan tesis
saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai
penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 21 Agustus 2014
Antoni
Telah diuji pada
Tanggal: 28 Agustus 2014
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Muhammad Zarlis
Anggota : 1. Dr. Erna Budhiarti Nababan, M.IT
2. Prof. Dr. Herman Mawengkang
3. Prof. Dr. Tulus
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap (berikut gelar) : Antoni, S.Kom
Tempat dan Tanggal Lahir : Panipahan, 4 Mei 1984
Alamat Rumah : Jl. P. Inpres Gg. Merpati No. 6 Lk. 7,
Simpang Kantor
Kec. Medan Labuhan
Telepon/Faks/HP : 085275710222
E-mail : antoni.sun@hotmail.com
Instansi Tempat Bekerja : SMP Dr. Wahidin Sudirohusodo
Alamat Kantor : Jl. K.L. Yos Sudarso Km. 16,5
Pajak Rambe Kel. Martubung
Kec. Medan Labuhan
DATA PENDIDIKAN
SD : SD Dr. Wahidin Sudirohusodo TAMAT: 1998
SLTP : SLTP Dr. Wahidin Sudirohusodo TAMAT: 2001
SMA : SMU Dr. Wahidin Sudirohusodo TAMAT: 2004
S1 : Teknik Informasi STMIK TIME TAMAT: 2008
UCAPAN TERIMA KASIH
Pertama-tama penulis memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa atas
segala limpahan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tesis
ini dengan baik dan dalam keadaan sehat sentosa.
Tesis ini disusun sebagai salah satu syarat untuk memperoleh ijazah Magister
Teknik Informatika pada Program Studi S2 Teknik Informatika, Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara (Fasilkom TI USU).
Dalam kesempatan ini, penulis hendak memberikan penghargaan dan
mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc. (C.T.M.), Sp.A.(K.)
selaku Rektor Universitas Sumatera Utara, atas kesempatan yang diberikan
kepada penulis untuk mengikuti dan menyelesaikan pendidikan Pasca Sarjana.
2. Bapak Prof. Dr. Muhammad Zarlis, selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara, sekaligus Ketua Program
Studi S2 Teknik Informatika dan selaku pembimbing utama yang telah
memberikan arahan kepada penulis hingga selesainya tesis ini.
3. Ibu Dr. Erna Budhiarti Nababan, M.IT, selaku pembimbing kedua yang telah
meluangkan waktu, tenaga, dan pikiran, serta kesabaran dalam menuntun dan
mengarahkan penulis menjadi seorang peneliti sejati.
4. Bapak Prof. Dr. Herman Mawengkang, selaku penguji tesis yang senantiasa
memberikan masukan dan arahan yang berarti kepada penulis dalam
mengerjakan tesis ini agar dapat lebih baik lagi.
5. Bapak Prof. Dr. Tulus, selaku penguji tesis yang benar-benar memberikan
masukan, arahan dan motivasi yang luar biasa kepada penulis dalam penelitian
ini agar menjadi lebih baik lagi.
6. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku penguji tesis yang telah
memberikan arahan dan masukan yang berarti kepada penulis..
7. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM, selaku Sekretaris Program
Studi S2 Teknik Informatika yang telah meluangkan waktu serta memberikan
8. Seluruh dosen Program Studi S2 Teknik Informatika, Fasilkom TI USU yang
telah memberikan bekal pengetahuan kepada penulis.
9. Ibu P.W. Wijaya, M.Pd, selaku Pimpinan di Instansi tempat penulis mengabdi
yang telah memberikan izin studi, membagi pengalaman beliau di bidang
pendidikan, dan juga memberikan dukungan yang begitu luar biasa kepada
penulis.
10. Ibu Madjakani Widjaja, yang senantiasa menjadi inspirator dan motivator bagi
penulis serta memberikan doa dan dorongan kepada penulis sehingga tesis ini
dapat terselesaikan dengan baik.
11. Kedua orang tuaku, saudara, dan istri tercinta, Suwarni, S. Kom yang telah
memberikan kasih sayang, perhatian dan dengan penuh ketulusan mendoakan
penulis agar selalu diberikan kekuatan lahir dan batin dalam menyelesaikan
studi ini. Serta yang tak ketinggalan anakku, Crystallya yang menjadi sumber
kekuatan bagi penulis untuk bisa menyelesaikan tesis ini dengan baik.
12. Perg. Dr. Wahidin Sudirohusodo, Medan Labuhan, tempat penulis mengabdikan
diri sebagai Guru Bidang Studi Teknologi Informasi dan Komunikasi (TIK).
13. Rekan mahasiswa Program Studi S2 Teknik Informatika, Fasilkom TI USU
Angkatan 2011 atas kerja sama dan kekompakan selama studi dan penelitian.
14. Seluruh staf/pegawai dan sivitas akademika Program Studi S2 Teknik
Informatika, Fasilkom TI USU atas kerja sama-nya selama studi dan penelitian.
Penulis menyadari sepenuhnya bahwa masih adanya kekurangan dalam
penyajian tesis ini. Oleh karena itu, penulis mengharapkan masukan dan saran yang
bersifat membangun demi penyempurnaan tesis ini di masa mendatang. Akhir kata,
penulis berharap tesis ini dapat bermanfaat bagi para pembaca yang memiliki minat di
bidang ilmu komputer dan teknologi informasi.
Medan, 21 Agustus 2014
Antoni
ABSTRAK
Kompresi data merupakan suatu proses untuk mengubah sebuah input data stream (data asli) ke dalam aliran data yang lain yag berupa output atau stream lainnya (yang sudah terkompresi) yang memiliki ukuran yang lebih kecil. Salah satu fungsi utama kompresi data adalah memperkecil ukuran file dengan cara menggantikan karakter yang umumnya berukuran 8 bit dengan kode yang lebih pendek. Pada kompresi data, terdapat banyak algoritma yang dapat digunakan untuk mengolah input menjadi
output yang diinginkan, sehingga harus diperhatikan aspek seperti rasio kompresi,
space saving dan kecepatan kompresi dari masing-masing algoritma tersebut. Tujuan
penelitian ini adalah untuk menganalisis dan membandingkan rasio kompresi, space
saving dan kecepatan kompresi algoritma Elias Gamma Code, Elias Delta Code dan
Levenstein Code. Data yang digunakan adalah 5 buah dokumen dengan jumlah
karakter yang berbeda-beda. Algoritma Elias Gamma Code digunakan untuk mengkodekan bilangan bulat positip, sementara Elias Delta Code merupakan kelanjutan dari Elias Gamma Code namun lebih kompleks. Sedangkan Levenstein Code digunakan jika nilai terbesar yang akan dikodekan tidak diketahui sebelumnya, atau untuk kompres data yang nilai kecil jauh lebih sering daripada nilai besar. Hasil perbandingan rata-rata rasio kompresi menunjukkan Elias Gamma Code sebesar 63.36%, Elias Delta Code sebesar 68.83% dan Levenstein Code sebesar 72.12%. Hasil perbandingan rata-rata space saving menunjukkan Elias Gamma Code sebesar 36.64%, Elias Delta Code sebesar 31.17% dan Levenstein Code sebesar 27.88%. Sementara untuk kecepatan kompresi Elias Gamma Code merupakan yang paling cepat, diikuti dengan Elias Delta Code lalu Levenstein Code.
RESULTS ANALYSIS OF TEXT DATA COMPRESSION ON ELIAS GAMMA CODE, ELIAS DELTA CODE
AND LEVENSTEIN CODE
ABSTRACT
Data compression is the process of converting an input data stream (the source or the original raw data) into another data stream (the output, the bitstream, compressed stream) that has a smaller size. One of the main function of data compression is to reduce the file size by replacing characters that generally has 8 bits with shorter code. In the data compression, there is a lot of algorithms that can be used to process the input into desired output, thus it is very important to observe the compression ratio, space saving and compression speed of each of these algorithms. The purpose of this research is to analyze and compare the compression ratio, space saving and compressin speed of Elias Gamma Code, Elias Delta Code and Levenstein Code. The data used are 5 documents with a number of different characters. Elias Gamma Code for positive integers n is simple to encode dan decode and is also universal. Elias Delta Code is also for positive integers n but more complex from Elias Gamma Code. While Levenstein Code is used in applications where the largest encoded valus is not known ahead of time, or to compress data in which small values are much more frequent than large values. The result of the average compression ratio showed that Elias Gamma Code got 63.36%, Elias Delta Code got 68.83% and Levenstein Code got 72.12%. The result of the average space saving showed that Elias Gamma Code got 36.64%, Elias Delta Code got 31.17% and Levenstein Code got 27.88%. While for the compression speed showed that Elias Gamma Code is the fastest followed by Elias Delta Code then Levenstein Code.
DAFTAR ISI
: 2.3. Algoritma Elias Gamma Code 11
: 2.4. Algoritma Elias Delta Code 14
: 2.5. Algoritma Levenstein Code 17
: 2.6. Riset Terkait 20
: 2.7. Perbedaan dengan Riset yang Lain 22
: 2.8. Kontribusi Riset 22
: 4.1. Hasil Kompresi Algoritma Elias Gamma Code 55
: 4.2. Hasil Kompresi Algoritma Elias Delta Code 63
: 4.3. Hasil Kompresi Algoritma Levenstein Code 71
: 4.4. Analisis Perbandingan Hasil Kompresi 79
4.4.1. Perbandingan Rasio Kompresi dan Space Saving
4.4.1. Algoritma Elias Gamma Code, Elias Delta Code dan
4.4.1. Levenstein Code 79
4.4.2. Grafik Perbandingan Rasio Kompresi dan Space Saving
4.4.1. Algoritma Elias Gamma Code, Elias Delta Code dan
4.4.1. Levenstein Code 83
4.4.3. Perbandingan Waktu Kompresi Dan Waktu Dekompresi
4.4.1. Algoritma Elias Gamma Code, Elias Delta Code dan
4.4.1. Levenstein Code 86
BAB 5 : KESIMPULAN DAN SARAN
: 5.1. Kesimpulan 87
: 5.2. Saran 88
DAFTAR PUSTAKA 89
LAMPIRAN 90
DAFTAR TABEL
Nomor Keterangan Halaman
2.1. 18 Kode Elias Gamma 12
2.2. Pemetaan Data Teks Dengan Kode Elias Gamma 13
2.3. 18 Kode Elias Delta 15
2.4. Pemetaan Data Teks Dengan Kode Elias Delta 17
2.5. 18 Kode Levenstein 18
2.6. Pemetaan Data Teks Dengan Kode Levenstein 19
2.7. Riset Terkait 21
3.1. Data Yang Digunakan 24
3.2. Hasil Pengurutan Karakter Set Kompresi Kode Elias Gamma 27 3.3. Penggantian Karakter Dengan Kode Elias Gamma 28 3.4. Hasil Pengurutan Karakter Set Kompresi Kode Elias Delta 36 3.5. Penggantian Karakter Dengan Kode Elias Delta 37 3.6. Hasil Pengurutan Karakter Set Kompresi Kode Levenstein 45 3.7. Penggantian Karakter Dengan Kode Levenstein 46
4.1. Hasil Kompresi Dengan Kode Elias Gamma 63
4.2. Hasil Kompresi Dengan Kode Elias Delta 71
4.3. Hasil Kompresi Dengan Kode Levenstein 79
4.4. Perbandingan Hasil Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code pada Dokumen U10k.txt 79 4.5. Perbandingan Hasil Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code pada Dokumen U20k.txt 80 4.6. Perbandingan Hasil Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code pada Dokumen U30k.txt 80 4.7. Perbandingan Hasil Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code pada Dokumen U45k.txt 81 4.8. Perbandingan Hasil Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code pada Dokumen U60k.txt 81 4.9. Hasil Kompresi Elias Gamma Code, Elias Delta Code dan
Levenstein Code 82
4.10. Rata-Rata Rasio Kompresi dan Space Saving Elias Gamma
Code, Elias Delta Code dan Levenstein Code 82 4.11. Waktu Kompresi/Dekompresi Algoritma Elias Gamma
DAFTAR GAMBAR
Nomor Keterangan Halaman
2.1. Skema Lossy Compression 8
2.2. Skema Lossless Compression 9
3.1. Diagram Kompresi Algoritma Elias Gamma Code 25 3.2. String Bit Kode Elias Gamma Pada dokumen.txt 28
3.3. Pemeriksaan Panjang String Bit 29
3.4. Hasil Penambahan Pada String Bit 29
3.5. Hasil Generate String Bit Kode Elias Gamma ke ASCII 30 3.6. Diagram Dekompresi Algoritma Elias Gamma Code 31
3.7. Hasil Generate ASCII ke Binary 32
3.8. Pengembalian Binary ke String Bit Semula 32
3.9. Hasil Dekompresi Kode Elias Gamma 33
3.10. Diagram Kompresi Algoritma Elias Delta Code 34 3.11. String Bit Kode Elias Delta Pada dokumen.txt 37
3.12. Pemeriksaan Panjang String Bit 38
3.13. Hasil Penambahan Pada String Bit 38
3.14. Hasil Generate String Bit Kode Elias Delta ke ASCII 39 3.15. Diagram Dekompresi Algoritma Elias Delta Code 40
3.16. Hasil Generate ASCII ke Binary 41
3.17. Pengembalian Binary ke String Bit Semula 41
3.18. Hasil Dekompresi Kode Elias Delta 42
3.19. Diagram Kompresi Algoritma Elias Levenstein Code 43 3.20. String Bit Kode Levenstein Pada dokumen.txt 46
3.21. Pemeriksaan Panjang String Bit 47
3.22. Hasil Penambahan Pada String Bit 47
3.23. Hasil Generate String Bit Kode Levenstein ke ASCII 48 3.24. Diagram Dekompresi Algoritma Levenstein Code 49
3.25. Hasil Generate ASCII ke Binary 50
3.26. Pengembalian Binary ke String Bit Semula 50
3.27. Hasil Dekompresi Kode Levenstein 51
4.1. Proses Kompresi Dokumen U10k.txt Dengan Kode Elias
Gamma 55
4.2. Waktu Dekompresi Kode Elias Gamma Pada Dokumen
U10k.txt 56
4.3. Proses Kompresi Dokumen U20k.txt Dengan Kode Elias
Gamma 57
4.4. Waktu Dekompresi Kode Elias Gamma Pada Dokumen
U20k.txt 58
4.5. Proses Kompresi Dokumen U30k.txt Dengan Kode Elias
Gamma 58
4.6. Waktu Dekompresi Kode Elias Gamma Pada Dokumen
U30k.txt 59
4.7. Proses Kompresi Dokumen U45k.txt Dengan Kode Elias
Gamma 60
4.8. Waktu Dekompresi Kode Elias Gamma Pada Dokumen
U45k.txt 61
4.9. Proses Kompresi Dokumen U60k.txt Dengan Kode Elias
Gamma 61
4.10. Waktu Dekompresi Kode Elias Gamma Pada Dokumen
U60k.txt 62
4.11. Proses Kompresi Dokumen U10k.txt Dengan Kode Elias Delta 63 4.12. Waktu Dekompresi Kode Elias Delta Pada Dokumen U10k.txt 64 4.13. Proses Kompresi Dokumen U20k.txt Dengan Kode Elias Delta 65 4.14. Waktu Dekompresi Kode Elias Delta Pada Dokumen U20k.txt 66 4.15. Proses Kompresi Dokumen U30k.txt Dengan Kode Elias Delta 66 4.16. Waktu Dekompresi Kode Elias Delta Pada Dokumen U30k.txt 67 4.17. Proses Kompresi Dokumen U45k.txt Dengan Kode Elias Delta 68 4.18. Waktu Dekompresi Kode Elias Delta Pada Dokumen U45k.txt 69 4.19. Proses Kompresi Dokumen U60k.txt Dengan Kode Elias Delta 69 4.20. Waktu Dekompresi Kode Elias Delta Pada Dokumen U60k.txt 70 4.21. Proses Kompresi Dokumen U10k.txt Dengan Kode Levenstein 71 4.22. Waktu Dekompresi Kode Levenstein Pada Dokumen U10k.txt 72 4.23. Proses Kompresi Dokumen U20k.txt Dengan Kode Levenstein 73 4.24. Waktu Dekompresi Kode Levenstein Pada Dokumen U20k.txt 74 4.25. Proses Kompresi Dokumen U30k.txt Dengan Kode Levenstein 74 4.26. Waktu Dekompresi Kode Levenstein Pada Dokumen U30k.txt 75 4.27. Proses Kompresi Dokumen U45k.txt Dengan Kode Levenstein 76 4.28. Waktu Dekompresi Kode Levenstein Pada Dokumen U45k.txt 77 4.29. Proses Kompresi Dokumen U60k.txt Dengan Kode Levenstein 77 4.30. Waktu Dekompresi Kode Levenstein Pada Dokumen U60k.txt 78 4.31. Grafik Perbandingan Rasio Kompresi Elias Gamma Code, Elias
Delta Code dan Levenstein Code 83
4.32. Grafik Perbandingan Space Saving Elias Gamma Code, Elias
Delta Code dan Levenstein Code 84
4.33. Grafik Rata-Rata Nilai Ratio Kompresi dan Space Saving Elias