Implementasi dan Analisis Algoritma Kompresi Punctured Elias Codes dan Ternary Comma Code Pada File .Doc

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI
PUNCTURED ELIAS CODES DAN TERNARY COMMA CODE
PADA FILE .DOC

SKRIPSI

DESY H HUSNI
141421106

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI
PUNCTURED ELIAS CODES DAN TERNARY COMMA CODE
PADA FILE .DOC


SKRIPSI

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

Oleh :
DESY H HUSNI
141421106

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

ii

PERSETUJUAN


Judul

: IMPLEMENTASI DAN ANALISIS ALGORITMA
KOMPRESI PUNCTURED ELIAS CODES DAN
TERNARY COMMA CODE PADA FILE .DOC

Kategori

: SKRIPSI

Nama

: DESY H HUSNI

Nomor Induk Mahasiswa

: 141421106

Program Studi


: EKSTENSI S1 ILMU KOMPUTER

Departemen

: 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, S.T., M.Comp.Sc., M.E.M
NIP. 197510082008011011

Dr. Syahril Efendi, S.Si, M.IT
NIP. 196711101996021001

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001

Universitas Sumatera Utara

iii

PERNYATAAN


IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI
PUNCTURED ELIAS CODES DAN TERNARY COMMA CODE
PADA FILE .DOC

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

Desy H Husni
1414121106

Universitas Sumatera Utara

iv


PENGHARGAAN

Alhamdulillah segala puji dan syukur atas nikmat yang luas kepada Allah Yang Maha Esa
dan Maha Kuasa sehingga 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 kesempatan ini
penulis ingin mengucapkan terima kasih yang sebesar-besarnya 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 S1 Ilmu Komputer
Universitas Sumatera Utara.
5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Koordinator Ekstensi Ilmu Komputer
Universitas Sumatera Utara.
6. 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.
7. 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.
8. 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
9. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding II yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.
10. Seluruh dosen dan pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Universitas Sumatera Utara

v
11. Teristimewa kedua orang tua penulis yang tercinta, ibunda Safliati, SST, M.Kes dan
ayahanda Husni, SE yang tidak henti-hentinya memberikan doa, motivasi, serta masukan
yang menjadikan semangat untuk penulis.

12. Abang, Kakak dan adik-adik tersayang Iswandi, SH, MH, Nurul Hikmah, AmdKeb, Octa
Sya Husni dan Al Faredz Husni yang selalu mendoakan serta memberikan semangat
kepada penulis dalam menyelesaikan skripsi ini.
13. Teman–teman mahasiswa S1 Ekstensi Ilmu Komputer stambuk 2014 yang selalu
memberi dukungan.
14. Sahabat seperjuangan saya, Dea Yulianda Pratiwi, Ogiana, Nadra Katika Lingga, Yulni
Witriza yang selalu memberikan semangat untuk cepat lulus dan menjadi teman diskusi
dalam penyelesaian skripsi ini.
15. 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,

Juni 2016

Desy H Husni


Universitas Sumatera Utara

vi

ABSTRAK

Kompresi data adalah proses yang mengkonversi sebuah masukan berupa aliran data (data
asli) menjadi suatu aliran data lain (data yang sudah dikompresi) yang memiliki ukuran lebih
kecil. Punctured Elias Codes dan Ternary Comma Code adalah jenis kompresi lossless yang
digunakan dalam penelitian ini. Parameter yang digunakan untuk mengukur kinerja metode
ini yaitu Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS) dan Time
Process (jumlah waktu yang dibutuhkan selama proses kompresi dan dekompresi
berlangsung). Kompresi file dilakukan dengan membaca string pada file dan
mengkodekannya menggunakan kode Punctured Elias Codes dan Ternary Comma Code. File
hasil kompresi akan berekstensi *.pec dan *.tcc yang berisi string bit hasil kompresi yang
selanjutnya akan bisa didekompresi. Output dari dekompresi akan berekstensi *.doc sesuai
file aslinya sebelum dikompresi. Sampel pengujian yang digunakan adalah string bit yang
terdiri dari satu jenis karakter (Homogen) dan string bit yang terdiri dari beberapa jenis
karakter (Heterogen) yang tersimpan dalam file yang berekstensi *.doc. Pada sampel
pengujian string homogen, dilihat dari perhitungan RC, CR dan SS algoritma Punctured Elias

Codes dan Ternary Comma Code hampir sama baiknya, namun waktu kompresi dan
dekompresi yang dihasilkan algoritma Ternary Comma Code lebih besar dibandingkan
dengan algoritma Punctured Elias Codes. Pada sampel pengujian string heterogen, dilihat
dari perhitungan RC, CR, SS, waktu kompresi dan dekompresi yang dihasilkan algoritma
Punctured Elias Codes dan Ternary Comma Code hampir sama baiknya.
Kata Kunci : Kompresi, Kompresi File, Algoritma Punctured Elias Codes dan Ternary
Comma Code.

Universitas Sumatera Utara

vii

IMPLEMENTATION AND ANALYSIS OF COMPRESSION ALGORITHMS
PUNCTURED ELIAS CODES AND TERNARY COMMA CODE
IN .DOC FILE

ABSTRACT

Data compression is the process that converts an input of the flow of a data stream (original
data) into a flow of other data (data was compressed) which has the smaller size. Punctured

Elias Codes and Ternary Comma Code is the kind of compress used in this research while the
paramater use to measure the process of Ratio of Compression (RC), Compression Ratio (CR),
Space Savings (SS), Time Process (amount of time used during the compress process). In
addition, compress for file is with reading or analizing the string of the file and the code is
used code Punctured Elias Codes and Ternary Comma Code. The result of compress file will
extension *.pec and *.tcc bit string that contains the results of compression that would be
decompression. The output of the corresponding *.doc with extension will decompress the
original file before it is compressed. The sample of the research used is string bit which are
divided into one type of character (Homogen) and others are several types of characters
(Heterogen) that is saved into an file with extension *.doc. on the sample testing of
homogeny string, as seen from the calculation of RC, CR and SS Punctured Elias Codes and
Ternary Comma Code algorithms almost as good, but compression time and decompression
time generated Ternary Comma Code greater than Punctured Elias Codes. On the sample
testing of heterogen string, seen from the calculation of RC, CR, SS, compression time and
decompression time produced Punctured Elias Codes and Ternary Comma Code algorithms
almost as good.
Keywords : Compression, Compression File, Punctured Elias Codes and Ternary Comma
Code Algorithms.

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

BAB 2 TINJAUAN PUSTAKA
2.1 Kompresi
2.2.1 Teknik Kompresi Data
2.2.2 Parameter Analisis Kinerja Algoritma Kompresi
2.3 Dekompresi
2.4 Algoritma Punctured Elias Codes
2.5 Algoritma Ternary Comma Code
2.6 File Teks
2.7 Bahasa Pemrograman C#
2.8 UML (Unifed Modelling Language)

6
6
7
9
10
11
12
13
14
16

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 Proses Kompresi Pada Algoritma
Punctured Elias Codes

20
20
20
22
23

23

Universitas Sumatera Utara

ix
3.1.2.2 Analisis Proses Kompresi Pada Algoritma
Ternary Comma Code
26
3.1.3.3 Analisis Proses Dekompresi Pada Algoritma
Punctured Elias Codes dan Ternary Comma Code 29
3.2 Pemodelan Sistem
31
3.2.1 Use Case Diagram
31
3.2.2 Activity Diagram
33
3.2.3 Sequence Diagram
35
3.2.4 Class Diagram
35
3.3 Perancangan Sistem
38
3.3.1 Perancangan Alur Proses Sistem Secara Umum
38
3.3.2 Perancangan Alur Proses Kompresi Dan Dekompresi
41
3.3.2.1 Perancangan Alur Proses Kompresi
41
3.3.2.2 Perancangan Alur Proses Dekompresi Algoritma
Punctured Elias Codes dan Ternary Comma Code 44
3.3.2.3 Perancangan Sistem Antarmuka
45
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 About Application
4.1.5 Form Profile
4.2 Pengujian Sistem
4.2.1 Pengujian Proses Kompresi
4.2.2 Pengujian Proses Dekompresi
4.3 Hasil Pengujian

53
53
53
54
55
56
57
58
58
62
68

BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
5.2 Saran

71
71
72

DAFTAR PUSTAKA
LAMPIRAN

Universitas Sumatera Utara

x

DAFTAR TABEL

Halaman
Punctured Elias Codes
Ternary Comma Code
Sebab Dan Akibat
Punctured Elias Codes
String Yang Belum Dikompresi
String Yang Telah Diurutkan Secara Descending Dan Table
Sorted Dan Telah Dikompresi Dengan Kode Punctured (P1)
Tabel 3.5
Ternary Comma Code
Tabel 3.6
String Yang Belum Dikompresi
Tabel 3.7
String Yang Telah Diurutkan Secara Descending Dan Table
Sorted Dan Telah Dikompresi Dengan Kode Ternary Comma
Code
Tabel 3.8
Tabel Hasil Bit String Setelah Dikompresi
Menggunakan Kode Punctured Elias Codes (P1)
Tabel 3.9
Dokumentasi Naratif Use Case Kompresi
Tabel 3.10 Dokumentasi Naratif Use Case Dekompresi
Tabel 4.1
Hasil Pengujian 1 String Homogen Dengan
Punctured Elias Codes
Tabel 4.2
Hasil Pengujian 2 String Homogen Dengan
Ternary Comma Code
Tabel 4.3
Hasil Pengujian 3 String Heterogen Dengan
Punctured Elias Codes
Tabel 4.4
Hasil Pengujian 4 String Heterogen Dengan
Ternary Comma Code

Tabel 2.1
Tabel 2.2
Tabel 3.1
Tabel 3.2
Tabel 3.3
Tabel 3.4

12
13
21
24
24
25
26
27

28
30
32
33
68
68
69
70

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Halaman
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

2.1
2.2
2.3
2.4
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9

Gambar 3.10
Gambar 3.11
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

3.12
3.13
3.14
3.15
3.16
3.17
3.18
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15

Kompresi dan Rekontruksi
Kompresi Lossless
Kompresi Lossy
Kompresi dan Dekompresi
Diagram Ishikawa
Daigram Use Case
Diagram Activity
Diagram Sequence Kompresi
Diagram Sequence Dekompresi
Diagram Class
Flowchart Punctured Elias Codes Secara Umum Pada Sistem
Flowchart Ternary Comma Code Secara Umum Pada Sistem
Flowchart Proses Kompresi Dengan Algoritma
Punctured Elias Codes
Flowchart Proses Kompresi Dengan Algoritma
Ternary Comma Code
Flowchart Dekompresi Algoritma PEC dan TCC Secara
Universal
Form Home
Menu Item Compression, Decompression dan Exit
Menu Item About Apliccation dan Profile
Form Compression
Form Decompression
Form About Application
Form Halaman Profile
Gambar Form Home
Gambar Form Compression
Gambar Form Decompression
Gambar Form About Application
Gambar Form Profile
Gambar Pemilihan Algoritma Kompresi
Gambar Open File Dialog
Gambar Save File Dialog
Gambar Path Pada Masing-Masing Teks Box
Gambar Hasil Proses Kompresi
Gambar File Hasil Proses Kompresi (*.pec)
Gambar Pemilihan Algoritma Dekompresi
Gambar Open File Dialog
Gambar Setelah File Berhasil Dipilih
Gambar Ketikan atau Copy-Paste String Asli

8
9
9
11
22
31
34
35
35
38
39
40
42
43
44
45
46
47
48
49
51
52
54
55
56
57
58
59
60
60
61
62
62
63
64
64
65

Universitas Sumatera Utara

xii
Gambar Save File Dialog
Gambar Path Pada Masing-Masing Teks Box
Gambar Hasil Proses Kompresi
Gambar Ukuran File Asli Sebelum Dikompresi
Gambar Ukuran File Asli Setelah Dikompresi
Gambar Ukuran File Setelah Didekompresi
Grafik Kedua Algoritma Menggunakan String Homogen
Dengan Ukuran File 30 kb
Gambar 4.14 Grafik Kedua Algoritma Menggunakan String Heterogen
Dengan Ukuran File 32 kb
Gambar 4.16
Gambar 4.17
Gambar 4.18
Gambar 4.19
Gambar 4.20
Gambar 4.21
Gambar 4.22

66
66
67
67
67
68
69
70

Universitas Sumatera Utara