Analisis dan Implementasi Algoritma Kompresi Subexponential Codes dan Inverted Elias Delta Pada File Teks

ANALISIS DAN IMPLEMENTASI ALGORITMA KOMPRESI
SUBEXPONENTIAL CODES DAN INVERTED ELIAS
DELTA PADA FILE TEKS

SKRIPSI

DEA YULIANDA PRATIWI
141421105

PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

ANALISIS DAN IMPLEMENTASI ALGORITMA KOMPRESI
SUBEXPONENTIAL CODES DAN INVERTED ELIAS
DELTA PADA FILE TEKS
SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

DEA YULIANDA PRATIWI
141421105

PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

ii

PERSETUJUAN

Judul


: ANALISIS DAN IMPLEMENTASI ALGORITMA
KOMPRESI

SUBEXPONENTIAL CODES

INVERTED ELIAS DELTA

PADA FILE TEKS

Kategori

: SKRIPSI

Nama

: DEA YULIANDA PRATIWI

Nomor Induk Mahasiswa

: 141421105


Program Studi

: EKSTENSI S-1 ILMU KOMPUTER

Departemen

: ILMU KOMPUTER

Fakultas

: ILMU

KOMPUTER

DAN

DAN

TEKNOLOGI


INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

M. Andri Budiman, S.T., M.Comp.Sc.M.E.M
NIP. 19751008 200801 1 001

Dr. Syahril Efendi, S.Si., M.IT
NIP. 19671110 199602 1 001

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,


Dr. Poltak Sihombing, M.Kom
NIP. 19620317 199103 1 001

Universitas Sumatera Utara

iii

PERNYATAAN

ANALISIS DAN IMPLEMENTASI ALGORITMA KOMPRESI
SUBEXPONENTIAL CODES DAN INVERTED ELIAS
DELTA PADA FILE TEKS

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing - masing telah disebutkan sumbernya.

Medan,


Mei 2016

Dea Yulianda Pratiwi
NIM.141421105

Universitas Sumatera Utara

iv

PENGHARGAAN

Alhamdulillah segala puji dan syukur atas nikmat kepada Allah Yang Maha Esa
sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk
memperoleh gelar Sarjana Komputer, pada Program Studi S-1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada kesempatan ini penulis mengucapkan terima kasih kepada pihak yang
telah banyak membimbing, mengarahkan, membantu, dan memberikan dukungan
semangat dan kasih sayang dalam menyelesaikan skripsi ini. Penulis mengucapkan
terima kasih kepada :
1.


Bapak Prof. DR. Runtung Sitepu, SH, MHum selaku Rektor Universitas Sumatera
Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc 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 Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S-1 Ilmu
Komputer Universitas Sumatera Utara.
5. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Dosen Pembimbing I yang telah
memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam
pengerjaan skripsi ini.
6. M. Andri Budiman, S.T.,M.Comp.Sc.M.E.M selaku Dosen Pembimbing II yang
telah memberikan arahan, waktu, tenaga, pikiran, kritik dan saran serta motivasi
kepada penulis dalam pengerjaan skripsi ini.
7. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan laporan skripsi serta
mendukung penuh dalam penyusunan skiripsi
8. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding II yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.

9. Semua dosen dan semua pegawai di Program Studi S-1 Ilmu Komputer Fakultas
Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
10. Teristimewa kepada kedua orang tua saya A. Boni Siswanto dan Loly Erwita
yang senantiasa memberikan doa, dukungan moril dan materil, motivasi,
semangat dan kasih sayang yang tiada henti kepada penulis sehingga penulis
dapat menyelesaikan skripsi ini.
11. Teman-teman mahasiswa Ekstensi S-1 Ilmu Komputer stambuk 2014, yang
telah memberikan dukungan dan kerja sama yang baik kepada penulis pada masa
perkuliahan hingga penyelesaian skripsi ini.

Universitas Sumatera Utara

v

12. Sahabat hidup saya, Widyana Paramita, Annisa Sadjidah, dan Rafika Hani yang
telah memberikan dukungan dan semangat hingga penyelesaian skripsi ini.
13. Sahabat seperjuangan saya, Ogiana, Desy H Husni, Nadra Katika Lingga, Agus
Manur, Iqbal Habibie yang telah memberikan semangat untuk cepat tamat dan
menjadi teman diskusi dalam penyelesaian skripsi ini.
14. Dan semua pihak yang terlibat langsung ataupun tidak langsung yang tidak

dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena
itu, kepada pembaca agar kiranya memberikan kritik dan saran yang bersifat
membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita
semuanya.

Medan,
Penulis.

Mei 2016

Universitas Sumatera Utara

vi

ABSTRAK

Ukuran data atau file yang besar akan mempengaruhi jaringan, jaringan akan menjadi
sibuk dan jalur komunikasi menjadi lambat sehingga menghabiskan waktu yang lama.
Kompresi data bertujuan untuk mengurangi jumlah bit yang digunakan dalam

penyimpanan atau pun pengiriman data. Penelitian ini bertujuan untuk merancang
sebuah aplikasi berbasis desktop yang dapat mengkompresi file teks dan mengukur
kinerja dari algoritma Subexponential Codes dan Inverted Elias Delta. Pengukuran
kinerja dari masing-masing algoritma berdasarkan ratio yaitu, CR(Compression Ratio)
dan RC (Ratio Of Compression), Space Saving (SS), dan Time Process (waktu yang
berjalan selama proses kompresi dan dekompresi). Kompresi file teks dilakukan
dengan membaca input String pada file teks yang berekstensi (*.txt). 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. Hasil pengujian menyatakan bahwa
algoritma Subexponential Codes tidak lebih baik dari algoritma Inverted Elias Delta.
waktu kompresi dan dekompresi yang dihasilkan algoritma Subexponential Codes
relative lebih besar dibandingkan dengan algoritma Inverted Elias Delta.
Kata Kunci : Kompresi File Teks, Algoritma Subexponential Codes dan Algoritma
Inverted Elias Delta.

Universitas Sumatera Utara

vii


ANALYSIS AND IMPLEMENTATION OF ALGORITHMS
SUBEXPONENTIAL CODES AND INVERTED ELIAS
DELTA IN TEXT FILE COMPRESSION

ABSTRACT

Large file size will affect the network, the network will be busy and the lines of
communication becomes slow so spending a long time. Data Compression aims to
decrease the amount of bits used in storage or data transmission. The purpose of this
study was to design a desktop based application that can compress text files, and
measure the performance of the algorithm Subexponential Codes and Inverted Elias
Delta. Measurement of the performance of each algorithm based on the ratio that is,
CR (Compression Ratio) and RC (Ratio Of Compression), Space Saving (SS), and
Time Process (the elapsed time during the process of compression and
decompression). The compression process is to read the text file on a String input text
file extension (* .txt). The samples used in the testing process is a string composed of
one type of character (Homogeneous String) and a string composed of several types of
characters (String Heterogeneous) that are stored in a text file. Results of test on the
system that Subexponential Codes algorithm is not better than the algorithm Inverted
Elias Delta. Time of compression and decompression algorithms Subexponential
Codes is generated relative larger than the algorithm Inverted Elias Delta.
Keywords: Text File Compression Algorithm, Algorithm Subexponential Codes and
Algorithm Inverted Elias Delta.

Universitas Sumatera Utara

viii

DAFTAR ISI

Halaman

Persetujuan
Pernyataaan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar

ii
iii
iv
vi
vii
viii
x
xi

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
1
2
3
3
4
4
5

BAB 2 TINJAUAN PUSTAKA
2.1. Kompresi Data
2.1.1. Teknik Kompresi Data
2.1.2. Konsep Kompresi Data
2.1.3. Parameter Analisis Kinerja Algoritma Kompresi
2.2. Dekompresi Data
2.3. Algoritma
2.4. Algoritma Subexponential Codes
2.5. Algoritma Inverted Elias Delta
2.6. File Teks
2.7. Unified Modeling Language (UML)
2.8. Bahasa Pemograman C#
2.9. Penelitian Yang Relevan

7
7
8
9
10
12
12
12
14
17
18
19
20

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
3.1.1. Analisis Permasalahan Pada Sistem
3.1.2. Analisis Kebutuhan Pada Sistem
3.1.2.1. Kebutuhan Fungsional
3.1.2.2. Kebutuhan Non-Fungsional
3.1.3. Analisis Proses Pada Sistem

21
21
21
22
23
23
24

Universitas Sumatera Utara

ix

3.1.3.1. Analisis Proses Kompresi Pada Algoritma
Subexponential Codes
3.1.3.2. Analisis Proses Kompresi Pada Algoritma
Inverted Elias Delta
3.1.3.3. Analisis Proses Dekompresi Pada Algoritma
Subexponential Codes dan Inverted Elias Delta
3.1.4. Pemodelan Terhadap Sistem
3.1.4.1. Use Case Diagram
3.1.4.2. Activity Diagram
3.1.4.2.1. Activity Diagram Pada Proses Kompresi
3.1.4.2.2. Activity Diagram Pada Proses Dekompresi
3.1.4.3. Sequence Diagram
3.1.4.3.1. Sequence Diagram Proses Kompresi
3.1.4.3.2. Sequence Diagram Proses Dekompresi
3.1.4.3. Class Diagram
3.2. Perancangan Sistem
3.2.1. Perancangan Alur Proses Sistem Secara Umum
3.2.2. Perancangan Alur Proses Kompresi Dan Dekompresi
3.2.2.1. Perancangan Alur Proses Kompresi
3.2.2.1. Perancangan Alur Proses Dekompresi Algoritma
Subexponential Codes dan Inverted Elias Delta
3.2.3. Perancangan Antarmuka Sistem

24
39
45
47
47
51
51
53
55
55
55
57
58
58
61
61
63
64

BAB 4 Implementasi dan Pengujian Sistem
4.1. Implementasi Sistem
4.1.1. Form Home
4.1.2. Form Compression
4.1.3. Form Decompression
4.1.4. Form Help
4.1.5. Form About
4.2. Pengujian Sistem
4.2.1. Pengujian Proses Kompresi
4.2.2. Pengujian Proses Dekompresi
4.3. Hasil Pengujian

71
71
71
72
73
73
74
74
74
78
82

BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
5.2 Saran

88
88
89

DAFTAR PUSTAKA
LAMPIRAN

Universitas Sumatera Utara

x

DAFTAR TABEL

Halaman
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel

2.1.
2.2.
2.3.
3.1.
3.2.
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 3.12.
Tabel 3.13.
Tabel 3.14.
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel
Tabel

3.15.
3.16.
3.17.
3.18.
3.19.
3.20.
3.21.
4.1.
4.2.
4.3.
4.4.

Tabel Kode k Subexponential Codes
Tabel Kode Elias Delta Code
Tabel Kode Inverted Elias Delta
Tabel Kode k Subeksponential Codes
Tabel Ukuran String Subexponential Codes Sebelum Dikompres
Tabel Ukuran String Sebelum Dikompres Yang Telah Diurutkan
Secara Descending
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 0
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 1
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 2
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 3
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 4
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 5
Tabel Ukuran String Inverted Elias Delta Sebelum di Kompres
Tabel Ukuran String Sebelum di Kompres Yang Telah Diurutkan
Secara Descending
Tabel Kode Inverted Elias Delta
Tabel Total Bit Setelah Dikompres Menggunakan
Inverted Elias Delta
Tabel Total Bit Setelah Dikompres Menggunakan Subexponential
Codes untuk nilai k = 0
Tabel Spesifikasi Use Case Kompresi
Tabel Spesifikasi Use Case Dekompresi
Tabel Spesifikasi Use Case Pilih Algoritma
Tabel Spesifikasi Use Case Pilih File
Tabel Spesifikasi Use Case Pilih Pengkodean
Tabel Spesifikasi Use Case Pilih Simpan
Tabel Spesifikasi Use Case Pilih Ekstrak File
Hasil Pengujian 1 String Homogen Dengan Subexponential Codes
Hasil Pengujian 1 String Homogen Dengan Inverted Elias Delta
Hasil Pengujian 2 String Heterogen Dengan Subexponential Codes
Hasil Pengujian 2 String Heterogen Dengan Inverted Elias Delta

13
15
16
25
26
27
27
29
30
31
33
34
39
40
42

45
49
49
49
49
50
50
50
82
82
83
83

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Halaman
Gambar 2.1.
Gambar 2.2.
Gambar
Gambar
Gambar
Gambar
Gambar

2.3.
2.4.
2.5.
3.1.
3.2.

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
3.10.
3.11.

Gambar 3.12.
Gambar 3.13.
Gambar 3.14.
Gambar 3.15.
Gambar 3.16.
Gambar 3.17.
Gambar 3.18.
Gambar 3.19.
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

3.20.
3.21.
3.22.
3.23.
3.24.
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.

Diagram Blok Proses Kompresi Dan Dekompresi Data
Gambar Proses Kompresi dari Algoritma
Inverted Elias Delta Codes
Gambar Proses Dekompresi Algoritma Elias Delta
Gambar Text File Sederhana
Gambar Tampilan Awal Microsoft Visual Studio 2010
Gambar Cause and Effect Diagram
Grafik perbandingan jumlah string bit setelah di kompres
berdasarkan nilai k
Gambar Use-Case Diagram Pada Aplikasi Yang Akan Dirancang
Gambar Activity Diagram Pilih Algoritma
Gambar Activity Diagram File
Gambar Activity Diagram Pengkodean
Gambar Activity Diagram Simpan
Gambar Activity Diagram Pilih File Pada Proses Dekompresi
Gambar Activity Diagram Pengkodean Pada Proses Dekompresi
Gambar Activity Diagram Simpan Pada Proses Dekompresi
Gambar Sequence Diagram Pada Proses Kompresi Menggunakan
Algoritma Subexponential Codes
Gambar Sequence Diagram Pada Proses Kompresi Menggunakan
Algoritma Inverted Elias Delta
Gambar Sequence Diagram Pada Proses Dekompres
Gambar Class Diagram Pada Sistem
Gambar Flowchart Dengan Metode Subexponential Codes Secara
Umum Pada Sistem
Gambar Flowchart Dengan Metode Inverted Elias Delta Secara
Umum Pada Sistem
Gambar Flowchart Kompresi Algoritma Subexponential Codes
Gambar Flowchart Kompresi Algoritma Inverted Elias Delta
Gambar Flowchart Dekompresi Algoritma Subexponential Codes
Dan Inverted Elias Delta
Gambar Form Home
Gambar Form Compression
Gambar Form Decompression
Gambar Form Help
Gambar Form About
Gambar Tampilan Form Home
Gambar Tampilan Form Compression
Gambar Tampilan Form Decompression
Gambar Tampilan Form Help
Gambar Tampilan Form About
Gambar Tampilan Open Dialog File

8
15
16
17
19
22
35
48
51
52
52
53
53
54
54
55
56
56
57
59
60
61
62
63
64
65
67
68
69
72
72
73
73
74
75

Universitas Sumatera Utara

xii

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

4.7.
4.8.
4.9.
4.10.
4.11.
4.12.
4.13.
4.14.
4.15.
4.16.
4.17.
4.18.
4.19.
4.20.
4.21.
4.22.
4.23.
4.24.
4.25.
4.26.
4.27.
4.28.
4.29.
4.30.

Gambar Tampilan Setelah Input File
Gambar Tampilan Setelah Save Dialog File
Gambar Tampilan Pada Masing-Masing Text Field
Gambar Tampilan Hasil Parameter Pada Proses Kompresi
Gambar Tampilan File *.iedc Hasil Dari Proses Kompresi
Gambar Tampilan Open Dialog File Proses Decompression
Gambar Tampilan Setelah File diPilih Untuk Proses Dekompresi
Gambar Tampilan Pada Teks Box Area Proses Dekompresi
Gambar Tampilan Save Dialog File Proses Dekompresi
Gambar Tampilan Pada Masing-Masing Teks Field
Gambar Tampilan Time Process Decompress
Gambar Tampilan Ukuran File Asli
Gambar Tampilan Ukuran File Setelah diKompresi
Gambar Tampilan Ukuran File Setelah diDekompresi
Grafik Ratio Of Compression Terhadap String Homogen
Grafik Compression Ratio Terhadap String Homogen
Grafik Space Saving Terhadap String Homogen
Grafik Waktu Kompresi Terhadap String Homogen
Grafik Waktu Dekompresi Terhadap String Homogen
Grafik Ratio Of Compression Terhadap String Heterogen
Grafik Compression Ratio Terhadap String Heterogen
Grafik Space Saving Terhadap String Hoterogen
Grafik Waktu Kompresi Terhadap String Heterogen
Grafik Waktu Dekompresi Terhadap String Heterogen

75
76
76
77
77
78
78
79
79
80
80
81
81
81
83
83
84
84
84
86
86
86
87
87

Universitas Sumatera Utara