Analisis Perbandingan Algoritma Huffman Dan Algoritma Sequtur Dalam Kompresi Data Text

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA
SEQUITUR DALAM KOMPRESI DATA TEXT

SKRIPSI

ELSYA SABRINA ASMTA SIMORANGKIR
131421029

PROGRAM STUDI S1 EKSTENSI ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFOMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

Universitas Sumatera Utara

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA
SEQUITUR DALAM KOMPRESI DATA TEXT

SKRIPSI


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

ELSYA SABRINA ASMTA SIMORANGKIR
131421029

PROGRAM STUDI S1 EKSTENSI ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFOMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

Universitas Sumatera Utara

ii

PERSETUJUAN

Judul


: ANALISIS PERBANDINGAN ALGORITMA HUFFMAN
DAN ALGORITMA SEQUITUR DALAM KOMPRESI
DATA TEXT

Kategori

: SKRIPSI

Nama

: ELSYA SABRINA ASMITA SIMORANGKIR

Nomor Induk Mahasiswa : 131421029
Program Studi

: EKSTENSI S1 ILMU KOMPUTER

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing

:

Pembimbing II

Pembimbing I

Drs. Marihat Situmorang, M. Kom
NIP. 196312141989031001

Poltak Sihombing, M. Kom
196203171991031001

Diketahui/disetujui oleh
Program Studi Ekstensi S1 Ilmu Komputer
Ketua,


Poltak Sihombing, M. Kom
NIP. 196203171991031001

Universitas Sumatera Utara

iii

PERNYATAAN

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SEQUITUR
DALAM KOMPRESI DATA TEXT

SKRIPSI

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

Medan, 25 Juli 2017

ELSYA SABRINA ASMITA SIMORANGKIR

131421029

Universitas Sumatera Utara

iv

PENGHARGAAN

Dengan segala kerendahan hati penulis memanjatkan puji dan syukur kehadirat Allah
yang penulis kenal melalui Yesus Kristus atas berkat, dan kasih karunia-Nya yang
berlimpah sehingga penulis dapat menyelesaikan skripsi ini.
Dalam penyusunan dan penulisan skripsi ini, penulis banyak mendapatkan
pengalaman-pengalaman, bimbingan, dan dukungan dari berbagai pihak. Pada
kesempatan ini, penulis ingin mengucapkan rasa terima kasih dan penghargaan kepada
:
1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu

Komputer.
4. Bapak Herriyance, ST, M.Kom selaku Sekretaris Program Studi Ilmu
Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
5. Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembimbing I yang
telah meluangkan waktu, tenaga, dan pikiran dalam membimbing,
mengarahkan,

memberikan

nasehat,

motivasi

penulis

agar

dapat

menyeselesaikan skripsi ini.

6. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembimbing II
yang telah meluangkan waktu, perhatian serta dorongan

dalam

menyelesaikan skripsi ini.
7. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen
Pembanding I yang telah memberikan kritik dan saran terhadap skripsi
penulis.
8. Bapak Drs. Dahlan Sitompul, M.Eng selaku Dosen Pembanding II yang
telah memberikan kritik dan saran terhadap skripsi penulis.
9. Seluruh Staff Pengajar dan Pegawai Fakultas Ilmu Komputer dan
Teknologi Informasi, Universitas Sumatera Utara.

Universitas Sumatera Utara

v

10. Teristimewa untuk Kedua Orang Tua penulis, Papa : Marudut
Simorangkir, S.pd dan Mama : Nuryeni Sidabutar, serta adik-adik penulis

Devi Yuslianti Simorangkir, S.pd, Nella Simorangkir, dan Yusmiarni
Simorangkir serta Opung tercinta : Soaloon Simorangkir yang tidak hentihentinya memberikan doa, motivasi, dan dukungan baik secara moril
maupun materil yang selalu menjadi sumber semangat penulis.
11. Teman berbagi keceriaaan bersama : Efori Bu’ulolo, S.Kom, M.Kom yang
telah

memberikan

doa

dan

dukungan

kepada

penulis

hingga


terselesaikannya skripsi ini.
12. Seluruh teman-teman mahasiswa S1 ekstensi ilmu komputer khususnya
Kom A stambuk 2013 yang selama ini menjadi keluarga dan sahabat
penulis.
13. Seluruh rekan-rekan kerja di yang telah memberikan dukungan dan
motivasi dalam menyelesaikan skripsi ini.
14. Semua pihak yang terlibat lansung maupun tidak lansung yang tidak dapat
penulis sebutkan satu persatu yang telah membantu menyelesaikan skripsi
ini.

Penulis menyadari bahwa skripsi ini masih memiliki banyak
kekkurangan, baik dari segi teknik, tata penyajian ataupun dari segi tata
bahasa. Oleh karena itu penulis menerima kritik san ssaran dari pembaca
dalam upaya perbaikan skripsi ini.
Demikianlah halaman penghargaan ini, semoga skripsi ini dapat
bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa
lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan,


25

Juli 2017

Penulis

Elsya Sabrina Asmita Simorangkir

Universitas Sumatera Utara

vi

ABSTRAK

Kebutuhan terhadap kapasitas penyimpanan yang semakin besar merupakan penyebab
munculnya berbagai teknik kompresi. Kompresi Data bertujuan untuk mengurangi
ukuran data sehingga dapat menghemat kebutuhan tempat penyimpanan dan
mempercepat waktu transmisi/ pertukaran data. Algoritma Huffman dan algoritma
Sequitur merupakan algoritma yang digunakan dalam proses Kompresi Data pada
Tugas Akhir ini. Kedua algoritma ini merupakan jenis kompresi Lossless yang artinya

teknik kompresi dengan tidak mengurangi ukuran aslinya. Parameter yang digunakan
dalam penelitian ini terdiri dari Compression Ratio (CR), Ratio of Compression (RC),
Redudancy, waktu kompresi (ms) dan waktu dekompresi (ms) yang mana akan
dilakukan proses analisis dan perbandingan kinerja dari masing-masing algoritma.
Terdapat tiga fase dalam proses kompresi huffman yaitu fase pembentukkan pohon
huffman, encoding, dan decoding. Algoritma sequitur merupakan algoritma yang
memanfaatkan frase yang berulang. Pada algoritma ini dikenal dengan simbol
nonterminal. Simbol tersebut merupakan unsur dari production rules. Sampel yang
digunakan dalam pengujian berupa file teks (*.txt). Dari hasil pengujian, disimpulkan
bahwa algoritma Huffman lebih optimal dalam mengkompresi file teks yang tidak
mengandung perulangan frase, sedangkan algoritma Sequitur lebih optimal dalam
mengkompresi file teks yang mengandung perulangan frase.

Kata Kunci : Kompresi, Huffman, Sequitur, File Teks.

Universitas Sumatera Utara

vii

ABSTRACT

The need for greater storage capacity is the cause of various compression techniques.
Data Compression aims to reduce the size of the data so that it can save storage
requirements and speed up the transmission / exchange of data. Huffman and sequitur
algorithm is an algorithm used in data compression process in this final project. Both
of these algorithms is a type of lossless compression, which means compression
techniques without reducing the original size. The parameters used in this study
consisted of Compression Ratio (CR), Ratio of Compression (RC), redundancy,
compression of time (ms) and decompression time (ms) which will perform an
analysis and comparison of the performance of each algorithm. There are three phases
in the compression process is the phase formation Huffman Huffman tree, encoding,
and decoding. Sequitur algorithm is an algorithm that utilizes repetitive phrases. In
this algorithm known as nonterminal symbols. The symbol is an element of
production rules. The samples used in the testing in the form of text files (* .txt). From
the test results, it was concluded that the optimal Huffman algorithm in compressing
text files that do not contain the phrase looping, whereas a more optimal algorithm
sequitur in compressing a text file that contains a looping phrase.

Keywords: Compression, Huffman, Sequitur, File Text.

Universitas Sumatera Utara

viii

DAFTAR ISI
Hal.
Persetujuan

ii

Pernyataan

iii

Penghargaan

iv

Abstrak

vi

Abstract

vii

Daftar Isi

viii

Daftar Tabel

xi

Daftar Gambar

xii

Daftar Pustaka
Lampiran A

A-1

Lampiran B

B-1

BAB 1 PENDAHULUAN
1.1. Latar Belakang

1

1.2. Rumusan Masalah

2

1.3. Batasan Masalah

2

1.4. Tujuan Penelitian

3

1.5. Manfaat Penelitian

3

1.6. Metodolgi Penelitian

3

1.7. Sistematika Penulisan

4

BAB 2 LANDASAN TEORI
2.1. Kompresi Data

6

2.2. Parameter Analisis Kompresi

6

2.3. Algoritma

7

2.4. Algoritma Huffman

8

Universitas Sumatera Utara

ix

2.4.1. Pembentukan Pohon Huffman (Huffman Tree)

9

2.4.2. Proses Encoding

9

2.4.3. Proses Decoding

10

2.5. Algoritma Sequitur

10

2.5.1. Diagram Keunikan (Diagram Uniqueness)

11

2.6. Kompleksitas Algoritma

11

2.7. Pengertian Data Teks

13

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem

14

3.1.1. Identifikasi Masalah

14

3.1.2. Analisis Kebutuhan Sistem

15

3.1.3. Pemodelan Sistem

17

3.1.3.1. Use Case Diagram

17

3.1.3.2. Activity Diagram

18

3.1.3.3 Sequence Diagram

20

3.2. Perancangan Sistem
3.2.1 Bagan Alir Sistem (Flowchart)

20
21

3.3. Perancangan Antarmuka

26

3.3.1. Struktur Menu

27

3.3.2. Rancangan Halaman Kompresi Huffman

28

3.3.3. Rancangan Halaman Kompresi Sequitur

30

3.3.4. Rancangan Halaman Dekompresi Huffman

32

3.3.5. Rancangan Halaman Dekompresi Sequitur

34

3.3.3. Rancangan Halaman Tentang

35

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem

36

Universitas Sumatera Utara

x

4.1.1. Implementasi Kompresi Algoritma Huffman

36

4.1.2. Implementasi Dekompresi Algoritma Huffman

41

4.1.3. Kompleksitas Algoritma Huffman

41

4.1.4. Implementasi Kompresi Algoritma Sequitur

41

4.1.5. Implementasi Dekompresi Algoritma Sequitur

43

4.1.5. Kompleksitas Algoritma Sequitur

44

4.2. Tampilan Antarmuka Sistem

45

4.2.1. Tampilan Beranda

45

4.2.2. Tampilan Form File

46

4.2.3. Tampilan Form File Kompresi

46

4.2.3.1. Form Kompresi Huffman

46

4.2.3.1. Form Kompresi Sequitur

46

4.2.4. Tampilan Form File Dekompresi

47

4.2.4.1. Form Dekompresi Huffman

47

4.2.3.1. Form Dekompresi Sequitur

47

4.2.5. Tampilan Form Tentang

48

4.3. Pengujian Sistem

48

4.3.1. Pengujian Proses Kompresi

48

4.3.1.1. Pengujian Proses Kompresi Huffman

48

4.3.1.2. Pengujian Proses Kompresi Sequitur

49

4.3.2. Pengujian Proses Dekompresi

50

4.3.1.3. Pengujian Proses Dekompresi Huffman

50

4.3.1.4. Pengujian Proses Dekompresi Sequitur

51

4.3.3. Hasil Pengujian

52

4.3.3.1. Hasil Pengujian Algoritma Huffman

53

4.3.3.2. Hasil Pengujian Algoritma Sequitur

53

Universitas Sumatera Utara

xi

4.3.3.3. Grafik Pebandingan Algoritma Huffman

54

Dan Algoritma Sequitur
BAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan

57

5.2. Saran

58

Universitas Sumatera Utara

xii

DAFTAR TABEL

Hal.
Tabel 3.1. Kompleksitas Algoritma

12

Tabel 4.1. Pembentukan Karakter

36

Tabel 4.2. Pohon Huffman Langkah 1

37

Tabel 4.3. Pohon Huffman Langkah 2

37

Tabel 4.4. Pohon Huffman Langkah 3

38

Tabel 4.5. Pohon Huffman Langkah 4

38

Tabel 4.6. Pohon Huffman Langkah 5

38

Tabel 4.7. Pohon Huffman Langkah 6

39

Tabel 4.8. Tampilan Pembentukan Kode

39

Tabel 4.9. Proses Algoritma Sequitur

42

Tabel 4.10. Total Bit Setelah Dikompresi Menggunakan

43

Algoritma Sequitur
Tabel 4.11. Hasil Pengujian Algoritma Algoritma Huffman

52

Tabel 4.12. Hasil Pengujian Algoritma Algoritma Sequitur

53

Tabel 4.13. Komplesitas Waktu Algoritma Huffman dan Algoritma

56

Sequitur Pada Berkas File Teks

Universitas Sumatera Utara

xiii

DAFTAR GAMBAR

Hal.
Gambar 3.1. Diagram Ishikawa Analisis Permasalahan Sistem

15

Gambar 3.2. Diagram Use Case

17

Gambar 3.3. Activity Diagram Pada Proses Kompresi

18

Gambar 3.4. Activity Diagram Pada Proses Dekompresi

19

Gambar 3.5. Sequence Diagram Pada Proses Kompresi

20

Gambar 3.6. Sequence Diagram Pada Proses Dekompresi

20

Gambar 3.7. Flowchart Proses Kompresi Huffman

21

Gambar 3.8. Flowchart Proses Dekompresi Huffman

22

Gambar 3.9. Flowchart Proses Kompresi Sequitur

23

Gambar 3.10. Flowchart Proses Dekompresi Sequitur

24

Gambar 3.11. Flowchart Umum Kompresi Huffman

25

Gambar 3.12. Flowchart Umum Dekompresi Huffman

25

Gambar 3.13. Flowchart Umum Kompresi Sequitur

26

Gambar 3.14. Flowchart Umum Dekompresi Sequitur

26

Gambar 3.15. Rancangan Antarmuka Menu Utama

27

Gambar 3.16. Rancangan Halaman Kompresi Huffman

28

Gambar 3.17. Rancangan Halaman Kompresi Sequitur

30

Gambar 3.18. Rancangan Halaman Dekompresi Huffman

32

Gambar 3.19. Rancangan Halaman Dekompresi Sequitur

34

Gambar 3.20. Rancangan Halaman Tentang

35

Gambar 4.1. Tampilan Beranda

45

Gambar 4.2. Tampilan Form File

45

Universitas Sumatera Utara

xiv

Gambar 4.3. Tampilan Form Kompresi Huffman

46

Gambar 4.4. Tampilan Form Kompresi Sequitur

46

Gambar 4.5. Tampilan Form Dekompres Huffman

47

Gambar 4.6. Tampilan Form Dekompres Sequitur

47

Gambar 4.7 Tampilan Form Tentang

48

Gambar 4.8. Informasi Hasil Kompresi Huffman

49

Gambar 4.9. informasi Hasil Kompresi Sequitur

50

Gambar 4..10. Informasi Hasil Dekompresi Huffman

51

Gambar 4..11. Informasi Hasil Dekompresi Sequitur

52

Gambar 4.12. Grafik Kompresi Rasio

54

Gambar 4.13. Grafik Rasio Kompresi

54

Gambar 4.13. Grafik Redundancy

55

Gambar 4.13. Grafik Waktu Kompresi

57

Gambar 4.13. Grafik Waktu Dekompresi

57

Universitas Sumatera Utara