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
PERBANDINGAN ALGORITMA FIBONACCI CODE
DAN INVERTEDELIAS 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
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 TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
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
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
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
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,
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.
COMPARISON FIBONACCI CODE ALGORITHM AND INVERTED ELIAS GAMMA CODE ALGORITHM
IN FILE TEXT COMPRESSION Compression (RC), Redundancy (RD), the compression time (milisecond) and decompression time (milisecond) at text file. The text file compression is done by (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.
DAFTAR ISI
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 3
BAB 2 Tinjauan Pustaka 2.5 Algoritma Inverted Elias Gamma Code 10
2.6 Kompleksitas Algoritma 12
2.7 Penelitian yang Relevan 12
BAB 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 13
3.1.1 Analisis masalah 13
3.1.2 Analisis kebutuhan 14
3.1.3 Analisis proses 15
3.1.3.1 Analisis kompresi file teks dengan algoritma 16 Fibonacci Code
Inverted Elias Gamma Code
3.1.3.3 Analisis proses dekompresi file teks dengan 21 algortima Fibonacci Code
3.1.3.4 Analisis proses dekompresi file teks dengan 22 algortima Inverted Elias Gamma Code
3.2 Pemodelan Sistem 22
3.2.1 Use Case Diagram 22
3.2.2 Diagram Activity 27
3.2.2.1 Diagram Activity pada proses kompresi 28 3.2.2.2 Diagram Activity pada proses dekompresi 28 3.2.3 Sequence Diagram 29 3.2.3.1 Sequence Diagram pada proses kompresi 30 3.2.3.2 Sequence Diagram pada proses dekompresi 30
3.3 Perancangan Sistem 31
3.3.1 Bagan AlirSistem (Flowchart) 31 3.3.2 Perancangan Antar Muka Sistem 34 3.3.2.1 Form Beranda 34 3.3.2.2 Form Kompresi 35 3.3.2.3 Form Dekompresi 36 3.3.2.4 Form Bantuan 38 3.3.2.5 Form Tentang 40 BAB 4 Implementasi dan Pengujian Sisten
4.1 Implementasi Sistem 41
4.1.1 Tab Beranda 41
4.2.1 Pengujian proses kompresi 46 4.2.2 Pengujian proses dekompresi 50
4.3 Hasil Pengujian 51
4.3.1 Pengujian string homogen 52 4.3.2 Pengujian string heterogen 58 4.3.3 Kompleksitas algoritma 63
BAB 5 Kesimpulan dan Saran
5.1 Kesimpulan 67
5.2 Saran 68
DAFTAR TABEL
Hal.
Tabel 3.1 Ukuran String sebelum Dikompresi 16 Tabel 3.2 Ukuran String setelah Dikompresi dengan Fibonacci Code 17 Tabel 3.3 Ukuran String yang sudah Dikompresi dengan Inverted Elias 19
Gamma
Tabel 3.4 Spesifikasi Use Case Kompresi 24 Tabel 3.5 Spesifikasi Use Case Dekompresi 24 Tabel 3.6 Spesifikasi Use Case Buka File Teks 25
Tabel 3.7 Spesifikasi Pilih Kode 25
Tabel 3.8 Spesifikasi Use Case Kompres 26 Tabel 3.9 Spesifikasi Use Case Buka File Kompresi 26 Tabel 3.10 Spesifikasi Use Case Dekompres 27 Tabel 3.11 Spesifikasi Use Case Reset 27 Tabel 4.1 File yang berisi String Homogen 51 Tabel 4.2 File yang berisi String Heterogen 52 Tabel 4.3 Hasil Pengujian String Homogen dengan Fibonacci Code 53 Tabel 4.4 Hasil Pengujian String Homogen dengan Inverted Elias Gamma 53 Tabel 4.5 Hasil Pengujian String Heterogen dengan FibonacciCode 58 Tabel 4.6 Hasil Pengujian String Heterogen dengan Inverted Elias Gamma 59
DAFTAR GAMBAR
Hal.
Gambar 2.1 Diagram Blok Proses Kompresi dan Dekompresi 5 Gambar 3.1 Diagram Ishikawa Analisis Masalah 14 Gambar 3.2 Use Case Diagram pada Sistem 23 Gambar 3.3 Activity Diagram proses Kompresi 28 Gambar 3.4 Activity Diagram proses Dekompresi 29 Gambar 3.5 Sequence Diagram pada Proses Kompresi 30 Gambar 3.6 Sequence Diagram pada Proses Dekompresi 30
Gambar 3.7 Flowchart Kompresi 31
Gambar 3.8 Flowchart Dekompresi 31
Gambar 3.9 Flowchart Algoritma Fibonacci Code 32 Gambar 3.10 Flowchart Algoritma Inverted Elias Gamma Code 33 Gambar 3.11 Form Beranda pada Sistem 34 Gambar 3.12 Form Kompresi pada Sistem 35 Gambar 3.13 Form Dekompresi pada Sistem 37 Gambar 3.14 Form Bantuan pada Sistem 38 Gambar 3.15 Form Tentang pada Sistem 40
Gambar 4.1 Form Beranda 42
Gambar 4.2 Sub Menu Fibonacci Code proseskompresi 43 Gambar 4.3 Sub Menu Inverted Elias Gamma Code proses kompresi 43 Gambar 4.4 Sub Menu Fibonacci Code proses Dekompresi 44 Gambar 4.5 Sub Menu Inverted Elias Gamma Code Proses Dekompresi 45
Gambar 4.6 Tab Bantuan 45
Gambar 4.7 Tab Tentang 46
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1