Perbandingan Algoritma Fibonacci Code dan Algoritma Inverted Elias Gamma Code Dalam Kompresi File Teks
PERBANDINGAN ALGORITMA F IBONACCI CODE
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI F ILE TEKS
SKRIPSI
SARI RAHMADANI SIREGAR
121401019
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
PERBANDINGAN ALGORITMA FIBONACCI CODE
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI FILE TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Ilmu Komputer
SARI RAHMADANI SIREGAR
121401019
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PERBANDINGAN ALGORITMA FIBONACCI
CODE DAN ALGORITMA INVERTED ELIAS
GAMMA CODE DALAM KOMPRESI FILE TEKS
Kategori
: SKRIPSI
Nama
: SARI RAHMADANI SIREGAR
Nomor Induk Mahasiswa
: 121401019
Program Studi
: S1 ILMU KOMPUTER
Fakultas
: ILMU
KOMPUTER
DAN
INFORMASI
UNIVERSITAS
UTARA
TEKNOLOGI
SUMATERA
Diluluskan di
Medan, Juni 2016
Komisi Pembimbing:
Pembimbing 2
Pembimbing 1
M. Andri Budiman, ST, M. Comp.Sc, M.E.M
Dr. Poltak Sihombing, M. Kom
NIP. 197510082008011001
NIP. 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M. Kom
NIP.196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA FIBONACCI CODE
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI FILE TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juni 2016
Sari Rahmadani Siregar
121401019
Universitas Sumatera Utara
iv
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan rahmat
dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat
untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Perbandingan Algoritma Fibonacci Code
Dan Inverted Elias Gamma Code dalam Kompresi File Teks, penulis menyadari
bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan
orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini,
penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH, M. Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Si selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara sekaligus sebagai Dosen Pembimbing I yang telah
memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam
pengerjaan skripsi ini.
4. Bapak Mohammad Andri Budiman, ST, M. Comp. Sc, M.E.M selaku Dosen
Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi
kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Dr. Syahril Efendi S.Si, M.IT selaku Dosen Pembanding I yang telah
memberikan kritik dan saran kepada penulis selama pengerjaan skripsi.
Universitas Sumatera Utara
v
6. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembimbing II yang
telah banyak memberikan arahan dan masukan yang sangat berharga kepada
penulis..
7. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
8. Ayahanda Zulkifli Siregar, Ibunda Dameria Simanungkalit, kakanda Noviana
Maulinda Siregar, Meliana Friska Siregar, abangda Erwin Hamonangan
Siregar dan adinda Hilda Anggiani Siregar yang telah banyak memberikan
kasih sayang, semangat, serta dorongan baik materi maupun moral kepada
penulis.
9. Teman-teman kuliah yang banyak
membantu penulis selama masa
perkuliahan, menjadi tempat berbagi suka duka, yaitu Ade Rani Abdullah, Ade
Mutiara Kartika Dewi Nasution, Astrid Febrina Ramadhani Siregar, T. Raisya
Hannisa, Dwi Puspita Sari Syahnan, Nurhasbiah Nasution, Indah Widya Sari,
dan Muhammad Miftahul Huda, Desi Trisnawati Simbolon, Melva
Ochtaviany, serta Stambuk 2012 yang tidak dapat disebutkan satu persatu.
10. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat
penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah
memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan
skripsi ini.
Medan, Juni 2016
Penulis,
Sari Rahmadani Siregar
Universitas Sumatera Utara
vi
ABSTRAK
Ukuran data yang besar mengakibatkan pemborosan memori dan lambatnya proses
pemindahan data. Kompresi bertujuan untuk mengurangi ukuran data tersebut menjadi
sekecil mungkin. Fibonaaci Code dan Inverted Elias Gamma Code merupakan jenis
kompresi lossless yang digunakan dalam penelitian ini, yang mana akan diukur
kinerjanya dengan Compression Ratio (CR), Ratio of Compression (RC), Redundancy
(Rd), waktu kompresi (milisekon) dan waktu dekompresi (milisekon) pada file teks.
Kompresi file teks dilakukan dengan membaca string pada file teks dan mengkodekan
string menggunakan Fibonacci Code atau Inverted Elias Gamma, kemudian
melakukan proses kompresi. Hasil akhir dari kompresi adalah file berekstensi *.fib
atau *egc yang berisi informasi karakter dan string bit hasil kompresi yang dapat
didekompresi. Keluaran dari hasil dekompresi adalah sebuah file asli yang disimpan
dengan ekstensi file *.doc. Sampel yang digunakan pada proses pengujian yaitu string
yang terdiri dari satu jenis karakter (String Homogen) dan string yang terdiri dari
beberapa jenis karakter (String Heterogen) yang tersimpan pada file teks yang
berekstensi *.doc. Algoritma Fibonacci Code dan algoritma Inverted Elias Gamma
Code dipengaruhi oleh jumlah variasi karakter. Dalam proses kompresi pada string
homogen algoritma Inverted Elias Gamma Code lebih baik dibandingkan algoritma
Fibonacci Code dengan Compression Ratio rata-rata sebesar 13,8% dan waktu
dekompresi lebih cepat dengan rata-rata 0.0042 milisekon. Dalam proses kompresi
pada string heterogen Inveretd Elias Gamma Code lebih baik dibandingkan algoritma
Fibonacci Code dengan Compression Ratio rata-rata sebesar 1,57% dan waktu
dekompresi lebih cepat dengan rata-rata 0.0062 milisekon.
Kata Kunci : Kompresi, Fibonacci Code, Inverted Elias Gamma Code, File Teks.
Universitas Sumatera Utara
vii
COMPARISON FIBONACCI CODE ALGORITHM AND
INVERTED ELIAS GAMMA CODE ALGORITHM
IN FILE TEXT COMPRESSION
ABSTRACT
The size of large data causes waste of memory and the slow data process.
Compression aims to reduce the data size as small as possible. Fibonacci Code and
Inverted Elias Gamma Code are lossless compression that are used in this study,
whose performance is measure in terms of Compression Ratio (CR), Ratio of
Compression (RC), Redundancy (RD), the compression time (milisecond) and
decompression time (milisecond) at text file. The text file compression is done by
reading string in text file and encode string using Fibonacci Code or Inverted Elias
Gamma Code, then perform the compression process. The final result of the
compression is file with extension *.fib or *.egc containing character and string bit
information as compression result which can be decompressed. The output of the
decompression is an original file which is stored with extension *.doc. The samples
used in the testing process are a string consisting of one type of character
(Homogeneous String) and a string consisting of several types of characters
(Heterogeneous String) stored in a text file with extension *.doc. Fibpnacci Code and
Inverted Elias Gamma Code algorithm are affected by the number of variations in
character. In the compression process to the string homogenous Inverted E algorithm
is better than Even-Rodlias Gamma Code algorithm shows the Compression Ratio on
the average in the amount about 13,8 % and the time of decompression is faster about
0.0042 millisecond. In the compression process to the string heterogeneous Inverted
Elias Gamma Code algorithm is better than Fibonacci Code algorithm by the
Compression Ratio about 1,57% and the time of decompression is faster about 0.0062
millisecond.
Keywords: Compression, Fibonaaci Code, Inverted Elias Gamma Code, File Text .
Universitas Sumatera Utara
viii
DAFTAR ISI
Hal.
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran
ii
iii
iv
vi
vii
viii
x
xi
xii
BAB 1 Pendahuluan
1.1
Latar Belakang
1.2
Rumusan Masalah
1.3
Batasan Masalah
1.4
Tujuan Penelitian
1.5
Manfaat Penelitian
1.6
Metodologi Penelitian
1.7
Sistematika Penulisan
1
2
2
2
3
3
3
BAB 2 Tinjauan Pustaka
2.1
Kompresi Data
2.1.1 Parameter Analisis Kompresi
2.2
File Teks
2.2.1 Format Teks
2.3
Algoritma
2.4
Algoritma Fibonacci Code
2.5
Algoritma Inverted Elias Gamma Code
2.6
Kompleksitas Algoritma
2.7
Penelitian yang Relevan
5
6
7
8
9
9
10
12
12
BAB 3 Analisis dan Perancangan Sistem
3.1
Analisis Sistem
3.1.1 Analisis masalah
3.1.2 Analisis kebutuhan
3.1.3 Analisis proses
3.1.3.1 Analisis kompresi file teks dengan algoritma
Fibonacci Code
3.1.3.2 Analisis kompresi file teks dengan algoritma
13
13
14
15
16
19
Universitas Sumatera Utara
ix
3.2
3.3
Inverted Elias Gamma Code
3.1.3.3 Analisis proses dekompresi file teks dengan
algortima Fibonacci Code
3.1.3.4 Analisis proses dekompresi file teks dengan
algortima Inverted Elias Gamma Code
Pemodelan Sistem
3.2.1 Use Case Diagram
3.2.2 Diagram Activity
3.2.2.1 Diagram Activity pada proses kompresi
3.2.2.2 Diagram Activity pada proses dekompresi
3.2.3 Sequence Diagram
3.2.3.1 Sequence Diagram pada proses kompresi
3.2.3.2 Sequence Diagram pada proses dekompresi
Perancangan Sistem
3.3.1 Bagan Alir Sistem (Flowchart)
3.3.2 Perancangan Antar Muka Sistem
3.3.2.1 Form Beranda
3.3.2.2 Form Kompresi
3.3.2.3 Form Dekompresi
3.3.2.4 Form Bantuan
3.3.2.5 Form Tentang
21
22
22
22
27
28
28
29
30
30
31
31
34
34
35
36
38
40
BAB 4 Implementasi dan Pengujian Sisten
4.1
Implementasi Sistem
4.1.1 Tab Beranda
4.1.2 Tab Kompresi
4.1.3 Tab Dekompresi
4.1.4 Form Bantuan
4.1.5 Form Tentang
4.2
Pengujian Sistem
4.2.1 Pengujian proses kompresi
4.2.2 Pengujian proses dekompresi
4.3
Hasil Pengujian
4.3.1 Pengujian string homogen
4.3.2 Pengujian string heterogen
4.3.3 Kompleksitas algoritma
41
41
42
44
45
46
46
46
50
51
52
58
63
BAB 5 Kesimpulan dan Saran
5.1
Kesimpulan
5.2
Saran
Daftar Pustaka
67
68
69
Universitas Sumatera Utara
x
DAFTAR TABEL
Hal.
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
Ukuran String sebelum Dikompresi
Ukuran String setelah Dikompresi dengan Fibonacci Code
Ukuran String yang sudah Dikompresi dengan Inverted Elias
Gamma
Spesifikasi Use Case Kompresi
Spesifikasi Use Case Dekompresi
Spesifikasi Use Case Buka File Teks
Spesifikasi Pilih Kode
Spesifikasi Use Case Kompres
Spesifikasi Use Case Buka File Kompresi
Spesifikasi Use Case Dekompres
Spesifikasi Use Case Reset
File yang berisi String Homogen
File yang berisi String Heterogen
Hasil Pengujian String Homogen dengan Fibonacci Code
Hasil Pengujian String Homogen dengan Inverted Elias Gamma
Hasil Pengujian String Heterogen dengan Fibonacci Code
Hasil Pengujian String Heterogen dengan Inverted Elias Gamma
Kompleksitas Algoritma Fibonacci Code
Kompleksitas Algoritma Inverted Elias Gamma
16
17
19
24
24
25
25
26
26
27
27
51
52
53
53
58
59
63
65
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Hal.
Gambar 2.1
Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 3.8
Gambar 3.9
Gambar 3.10
Gambar 3.11
Gambar 3.12
Gambar 3.13
Gambar 3.14
Gambar 3.15
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11
Gambar 4.12
Gambar 4.13
Gambar 4.14
Gambar 4.15
Gambar 4.16
Gambar 4.17
Gambar 4.18
Gambar 4.19
Gambar 4.20
Gambar 4.21
Gambar 4.22
Gambar 4.23
Diagram Blok Proses Kompresi dan Dekompresi
Diagram Ishikawa Analisis Masalah
Use Case Diagram pada Sistem
Activity Diagram proses Kompresi
Activity Diagram proses Dekompresi
Sequence Diagram pada Proses Kompresi
Sequence Diagram pada Proses Dekompresi
Flowchart Kompresi
Flowchart Dekompresi
Flowchart Algoritma Fibonacci Code
Flowchart Algoritma Inverted Elias Gamma Code
Form Beranda pada Sistem
Form Kompresi pada Sistem
Form Dekompresi pada Sistem
Form Bantuan pada Sistem
Form Tentang pada Sistem
Form Beranda
Sub Menu Fibonacci Code proses kompresi
Sub Menu Inverted Elias Gamma Code proses kompresi
Sub Menu Fibonacci Code proses Dekompresi
Sub Menu Inverted Elias Gamma Code Proses Dekompresi
Tab Bantuan
Tab Tentang
Informasi Hasil Kompresi Fibonacci Code
Informasi Hasil Kompresi Inverted Elias Gamma Code
File Fibonacci Code Hasil Kompresi
File Inverted Elias Gamma Code Hasil Kompresi
Informasi Hasil Dekompresi Fibonacci Code
Informasi Hasil Dekompresi Inverted Elias Gamma Code
Grafik Kompresi Rasio terhadap String Homogen
Grafik Rasio Kompresi terhadap String Homogen
Grafik Redudansi terhadap String Homogen
Grafik Waktu Kompresi terhadap String Homogen
Grafik Waktu Dekompresi terhadap String Homogen
Grafik Kompresi Rasio terhadap String Heterogen
Grafik Rasio Kompresi terhadap String Heterogen
Grafik Redudansi terhadap String Heteroegen
Grafik Waktu Kompresi Terhadap String Heterogen
Grafik Waktu Dekompresi terhadap String Heterogen
5
14
23
28
29
30
30
31
31
32
33
34
35
37
38
40
42
43
43
44
45
45
46
47
48
49
49
50
51
54
55
56
57
57
60
60
61
62
63
Universitas Sumatera Utara
xii
DAFTAR LAMPIRAN
Halaman
Lampiran 1
Listing Program
A-1
Lampiran 2
Curriculum Vitae
B-1
Universitas Sumatera Utara
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI F ILE TEKS
SKRIPSI
SARI RAHMADANI SIREGAR
121401019
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
PERBANDINGAN ALGORITMA FIBONACCI CODE
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI FILE TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Ilmu Komputer
SARI RAHMADANI SIREGAR
121401019
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PERBANDINGAN ALGORITMA FIBONACCI
CODE DAN ALGORITMA INVERTED ELIAS
GAMMA CODE DALAM KOMPRESI FILE TEKS
Kategori
: SKRIPSI
Nama
: SARI RAHMADANI SIREGAR
Nomor Induk Mahasiswa
: 121401019
Program Studi
: S1 ILMU KOMPUTER
Fakultas
: ILMU
KOMPUTER
DAN
INFORMASI
UNIVERSITAS
UTARA
TEKNOLOGI
SUMATERA
Diluluskan di
Medan, Juni 2016
Komisi Pembimbing:
Pembimbing 2
Pembimbing 1
M. Andri Budiman, ST, M. Comp.Sc, M.E.M
Dr. Poltak Sihombing, M. Kom
NIP. 197510082008011001
NIP. 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M. Kom
NIP.196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA FIBONACCI CODE
DAN INVERTED ELIAS GAMMA CODE
DALAM KOMPRESI FILE TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juni 2016
Sari Rahmadani Siregar
121401019
Universitas Sumatera Utara
iv
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan rahmat
dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat
untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Perbandingan Algoritma Fibonacci Code
Dan Inverted Elias Gamma Code dalam Kompresi File Teks, penulis menyadari
bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan
orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini,
penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH, M. Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Si selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara sekaligus sebagai Dosen Pembimbing I yang telah
memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam
pengerjaan skripsi ini.
4. Bapak Mohammad Andri Budiman, ST, M. Comp. Sc, M.E.M selaku Dosen
Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi
kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Dr. Syahril Efendi S.Si, M.IT selaku Dosen Pembanding I yang telah
memberikan kritik dan saran kepada penulis selama pengerjaan skripsi.
Universitas Sumatera Utara
v
6. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembimbing II yang
telah banyak memberikan arahan dan masukan yang sangat berharga kepada
penulis..
7. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
8. Ayahanda Zulkifli Siregar, Ibunda Dameria Simanungkalit, kakanda Noviana
Maulinda Siregar, Meliana Friska Siregar, abangda Erwin Hamonangan
Siregar dan adinda Hilda Anggiani Siregar yang telah banyak memberikan
kasih sayang, semangat, serta dorongan baik materi maupun moral kepada
penulis.
9. Teman-teman kuliah yang banyak
membantu penulis selama masa
perkuliahan, menjadi tempat berbagi suka duka, yaitu Ade Rani Abdullah, Ade
Mutiara Kartika Dewi Nasution, Astrid Febrina Ramadhani Siregar, T. Raisya
Hannisa, Dwi Puspita Sari Syahnan, Nurhasbiah Nasution, Indah Widya Sari,
dan Muhammad Miftahul Huda, Desi Trisnawati Simbolon, Melva
Ochtaviany, serta Stambuk 2012 yang tidak dapat disebutkan satu persatu.
10. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat
penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah
memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan
skripsi ini.
Medan, Juni 2016
Penulis,
Sari Rahmadani Siregar
Universitas Sumatera Utara
vi
ABSTRAK
Ukuran data yang besar mengakibatkan pemborosan memori dan lambatnya proses
pemindahan data. Kompresi bertujuan untuk mengurangi ukuran data tersebut menjadi
sekecil mungkin. Fibonaaci Code dan Inverted Elias Gamma Code merupakan jenis
kompresi lossless yang digunakan dalam penelitian ini, yang mana akan diukur
kinerjanya dengan Compression Ratio (CR), Ratio of Compression (RC), Redundancy
(Rd), waktu kompresi (milisekon) dan waktu dekompresi (milisekon) pada file teks.
Kompresi file teks dilakukan dengan membaca string pada file teks dan mengkodekan
string menggunakan Fibonacci Code atau Inverted Elias Gamma, kemudian
melakukan proses kompresi. Hasil akhir dari kompresi adalah file berekstensi *.fib
atau *egc yang berisi informasi karakter dan string bit hasil kompresi yang dapat
didekompresi. Keluaran dari hasil dekompresi adalah sebuah file asli yang disimpan
dengan ekstensi file *.doc. Sampel yang digunakan pada proses pengujian yaitu string
yang terdiri dari satu jenis karakter (String Homogen) dan string yang terdiri dari
beberapa jenis karakter (String Heterogen) yang tersimpan pada file teks yang
berekstensi *.doc. Algoritma Fibonacci Code dan algoritma Inverted Elias Gamma
Code dipengaruhi oleh jumlah variasi karakter. Dalam proses kompresi pada string
homogen algoritma Inverted Elias Gamma Code lebih baik dibandingkan algoritma
Fibonacci Code dengan Compression Ratio rata-rata sebesar 13,8% dan waktu
dekompresi lebih cepat dengan rata-rata 0.0042 milisekon. Dalam proses kompresi
pada string heterogen Inveretd Elias Gamma Code lebih baik dibandingkan algoritma
Fibonacci Code dengan Compression Ratio rata-rata sebesar 1,57% dan waktu
dekompresi lebih cepat dengan rata-rata 0.0062 milisekon.
Kata Kunci : Kompresi, Fibonacci Code, Inverted Elias Gamma Code, File Teks.
Universitas Sumatera Utara
vii
COMPARISON FIBONACCI CODE ALGORITHM AND
INVERTED ELIAS GAMMA CODE ALGORITHM
IN FILE TEXT COMPRESSION
ABSTRACT
The size of large data causes waste of memory and the slow data process.
Compression aims to reduce the data size as small as possible. Fibonacci Code and
Inverted Elias Gamma Code are lossless compression that are used in this study,
whose performance is measure in terms of Compression Ratio (CR), Ratio of
Compression (RC), Redundancy (RD), the compression time (milisecond) and
decompression time (milisecond) at text file. The text file compression is done by
reading string in text file and encode string using Fibonacci Code or Inverted Elias
Gamma Code, then perform the compression process. The final result of the
compression is file with extension *.fib or *.egc containing character and string bit
information as compression result which can be decompressed. The output of the
decompression is an original file which is stored with extension *.doc. The samples
used in the testing process are a string consisting of one type of character
(Homogeneous String) and a string consisting of several types of characters
(Heterogeneous String) stored in a text file with extension *.doc. Fibpnacci Code and
Inverted Elias Gamma Code algorithm are affected by the number of variations in
character. In the compression process to the string homogenous Inverted E algorithm
is better than Even-Rodlias Gamma Code algorithm shows the Compression Ratio on
the average in the amount about 13,8 % and the time of decompression is faster about
0.0042 millisecond. In the compression process to the string heterogeneous Inverted
Elias Gamma Code algorithm is better than Fibonacci Code algorithm by the
Compression Ratio about 1,57% and the time of decompression is faster about 0.0062
millisecond.
Keywords: Compression, Fibonaaci Code, Inverted Elias Gamma Code, File Text .
Universitas Sumatera Utara
viii
DAFTAR ISI
Hal.
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran
ii
iii
iv
vi
vii
viii
x
xi
xii
BAB 1 Pendahuluan
1.1
Latar Belakang
1.2
Rumusan Masalah
1.3
Batasan Masalah
1.4
Tujuan Penelitian
1.5
Manfaat Penelitian
1.6
Metodologi Penelitian
1.7
Sistematika Penulisan
1
2
2
2
3
3
3
BAB 2 Tinjauan Pustaka
2.1
Kompresi Data
2.1.1 Parameter Analisis Kompresi
2.2
File Teks
2.2.1 Format Teks
2.3
Algoritma
2.4
Algoritma Fibonacci Code
2.5
Algoritma Inverted Elias Gamma Code
2.6
Kompleksitas Algoritma
2.7
Penelitian yang Relevan
5
6
7
8
9
9
10
12
12
BAB 3 Analisis dan Perancangan Sistem
3.1
Analisis Sistem
3.1.1 Analisis masalah
3.1.2 Analisis kebutuhan
3.1.3 Analisis proses
3.1.3.1 Analisis kompresi file teks dengan algoritma
Fibonacci Code
3.1.3.2 Analisis kompresi file teks dengan algoritma
13
13
14
15
16
19
Universitas Sumatera Utara
ix
3.2
3.3
Inverted Elias Gamma Code
3.1.3.3 Analisis proses dekompresi file teks dengan
algortima Fibonacci Code
3.1.3.4 Analisis proses dekompresi file teks dengan
algortima Inverted Elias Gamma Code
Pemodelan Sistem
3.2.1 Use Case Diagram
3.2.2 Diagram Activity
3.2.2.1 Diagram Activity pada proses kompresi
3.2.2.2 Diagram Activity pada proses dekompresi
3.2.3 Sequence Diagram
3.2.3.1 Sequence Diagram pada proses kompresi
3.2.3.2 Sequence Diagram pada proses dekompresi
Perancangan Sistem
3.3.1 Bagan Alir Sistem (Flowchart)
3.3.2 Perancangan Antar Muka Sistem
3.3.2.1 Form Beranda
3.3.2.2 Form Kompresi
3.3.2.3 Form Dekompresi
3.3.2.4 Form Bantuan
3.3.2.5 Form Tentang
21
22
22
22
27
28
28
29
30
30
31
31
34
34
35
36
38
40
BAB 4 Implementasi dan Pengujian Sisten
4.1
Implementasi Sistem
4.1.1 Tab Beranda
4.1.2 Tab Kompresi
4.1.3 Tab Dekompresi
4.1.4 Form Bantuan
4.1.5 Form Tentang
4.2
Pengujian Sistem
4.2.1 Pengujian proses kompresi
4.2.2 Pengujian proses dekompresi
4.3
Hasil Pengujian
4.3.1 Pengujian string homogen
4.3.2 Pengujian string heterogen
4.3.3 Kompleksitas algoritma
41
41
42
44
45
46
46
46
50
51
52
58
63
BAB 5 Kesimpulan dan Saran
5.1
Kesimpulan
5.2
Saran
Daftar Pustaka
67
68
69
Universitas Sumatera Utara
x
DAFTAR TABEL
Hal.
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
Ukuran String sebelum Dikompresi
Ukuran String setelah Dikompresi dengan Fibonacci Code
Ukuran String yang sudah Dikompresi dengan Inverted Elias
Gamma
Spesifikasi Use Case Kompresi
Spesifikasi Use Case Dekompresi
Spesifikasi Use Case Buka File Teks
Spesifikasi Pilih Kode
Spesifikasi Use Case Kompres
Spesifikasi Use Case Buka File Kompresi
Spesifikasi Use Case Dekompres
Spesifikasi Use Case Reset
File yang berisi String Homogen
File yang berisi String Heterogen
Hasil Pengujian String Homogen dengan Fibonacci Code
Hasil Pengujian String Homogen dengan Inverted Elias Gamma
Hasil Pengujian String Heterogen dengan Fibonacci Code
Hasil Pengujian String Heterogen dengan Inverted Elias Gamma
Kompleksitas Algoritma Fibonacci Code
Kompleksitas Algoritma Inverted Elias Gamma
16
17
19
24
24
25
25
26
26
27
27
51
52
53
53
58
59
63
65
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Hal.
Gambar 2.1
Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 3.8
Gambar 3.9
Gambar 3.10
Gambar 3.11
Gambar 3.12
Gambar 3.13
Gambar 3.14
Gambar 3.15
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11
Gambar 4.12
Gambar 4.13
Gambar 4.14
Gambar 4.15
Gambar 4.16
Gambar 4.17
Gambar 4.18
Gambar 4.19
Gambar 4.20
Gambar 4.21
Gambar 4.22
Gambar 4.23
Diagram Blok Proses Kompresi dan Dekompresi
Diagram Ishikawa Analisis Masalah
Use Case Diagram pada Sistem
Activity Diagram proses Kompresi
Activity Diagram proses Dekompresi
Sequence Diagram pada Proses Kompresi
Sequence Diagram pada Proses Dekompresi
Flowchart Kompresi
Flowchart Dekompresi
Flowchart Algoritma Fibonacci Code
Flowchart Algoritma Inverted Elias Gamma Code
Form Beranda pada Sistem
Form Kompresi pada Sistem
Form Dekompresi pada Sistem
Form Bantuan pada Sistem
Form Tentang pada Sistem
Form Beranda
Sub Menu Fibonacci Code proses kompresi
Sub Menu Inverted Elias Gamma Code proses kompresi
Sub Menu Fibonacci Code proses Dekompresi
Sub Menu Inverted Elias Gamma Code Proses Dekompresi
Tab Bantuan
Tab Tentang
Informasi Hasil Kompresi Fibonacci Code
Informasi Hasil Kompresi Inverted Elias Gamma Code
File Fibonacci Code Hasil Kompresi
File Inverted Elias Gamma Code Hasil Kompresi
Informasi Hasil Dekompresi Fibonacci Code
Informasi Hasil Dekompresi Inverted Elias Gamma Code
Grafik Kompresi Rasio terhadap String Homogen
Grafik Rasio Kompresi terhadap String Homogen
Grafik Redudansi terhadap String Homogen
Grafik Waktu Kompresi terhadap String Homogen
Grafik Waktu Dekompresi terhadap String Homogen
Grafik Kompresi Rasio terhadap String Heterogen
Grafik Rasio Kompresi terhadap String Heterogen
Grafik Redudansi terhadap String Heteroegen
Grafik Waktu Kompresi Terhadap String Heterogen
Grafik Waktu Dekompresi terhadap String Heterogen
5
14
23
28
29
30
30
31
31
32
33
34
35
37
38
40
42
43
43
44
45
45
46
47
48
49
49
50
51
54
55
56
57
57
60
60
61
62
63
Universitas Sumatera Utara
xii
DAFTAR LAMPIRAN
Halaman
Lampiran 1
Listing Program
A-1
Lampiran 2
Curriculum Vitae
B-1
Universitas Sumatera Utara