Analisis Perbandingan Algoritma Huffman dan Run Length Encoding Pada Kompresi File Audio

ANALISIS PER
ERBANDINGAN ALGORITMA HUFF
FFMAN
DAN RU
RUN LENGTH ENCODING PADA
KOM
KOMPRESI FILE AUDIO

SKRIPSI

HELBERT SINAGA
131421097

TER
PROGRA
OGRAM STUDI S1 ILMU KOMPUTER
INFORMASI
FAKULTAS ILMU KOM
KOMPUTER DAN TEKNOLOGI IN
UNIVER
IVERSITAS SUMATERA UTARA

MEDAN
2016

Universitas Sumatera Utara

iv

ANALISIS P
PERBANDINGAN ALGORITMA HU
HUFFMAN
DAN
AN RUN LENGTH ENCODING PADA
DA
KOMPRESI FILE AUDIO

SKRIPSI
Diajukan untuk melen
lengkapi tugas dan memenuhi syarat memperol
roleh ijazah Sarjana
Ilmu Komputer


HELBERT SINAGA
131421097

PR
PROGRAM STUDI S1 ILMU KOMPUTER
R
FAKULTAS IL
ILMU KOMPUTER DAN TEKNOLOGII IN
INFORMASI
U
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

iii

PERSETUJUAN


Judul

: ANALISIS
PERBANDINGAN
ALGORITMA
HUFFMAN DAN RUN LENGTH ENCODING PADA
KOMPRESI FILE AUDIO
Kategori
: SKRIPSI
Nama
: HELBERT SINAGA
Nomor Induk Mahasiswa : 131421097
Program Studi
: S1 ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan,
Juli 2016

Komisi Pembimbing:
Pembimbing 2

Pembimbing 1

Handrizal, S. Si, M. Comp. Sc

Dr. Poltak Sihombing, M.Kom

NIP.

NIP. 19620317 199103 1 001

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,


Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001

Universitas Sumatera Utara

iv

PERNYATAAN

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN
DAN RUN LENGTH ENCODING PADA
KOMPRESI FILE AUDIO

SKRIPSI

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

Medan,


Juli 2016

Helbert Sinaga
NIM. 131421097

Universitas Sumatera Utara

v

PENGHARGAAN

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala
berkat-Nya sehingga dengan usaha yang maksimal akhirnya dapat dilaksanakan
penelitian

serta

penyusunan

skripsi


ini

yang

berjudul:

“ANALISIS

PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING
PADA KOMPRESI FILE AUDIO”. Tulisan ini masih jauh dari sempurna, hal ini
disebabkan oleh keterbatasan dan kemampuan penulis.

Penulis mengucapkan terimakasih kepada pihak yang memberikan doa,
bimbingan, bantuan dan dorongan sampai selesainya skripsi ini. Dalam kesempatan
ini penulis menyampaikan terimakasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Unversitas
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 dan selaku Dosen Pembimbing I yang
telah memberikan masukan kepada penulis dalam pengerjaan skripsi ini.
4.

Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II yang telah
memberikan ilmu, bimbingan, saran, dan masukan kepada penulis dalam
pengerjaan skripsi ini.

5.

Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.

6.

Bapak Drs. Dahlan Sitompul, M.Eng, selaku Dosen Pembanding II yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.


7.

Semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Universitas Sumatera Utara

vi

8.

Ibunda Desmi N. Girsang dan Ayahanda Pariaman Sinaga yang telah
memberikan dukungan secara material dan spiritual kepada Penulis. Untuk
abangku Ardy Bernard Sinaga dan adik-adikku Rizal Fernando Sinaga dan
Yuni Lestari Sinaga yang selalu memberi dorongan semangat dan motivasi
bagi penulis.

9.

Teman-teman Ekstensi S1-Ilmu Komputer stambuk 2013 dan teman-teman

PD/PA Filipi yang telah memberikan semangat dan menjadi teman diskusi
penulis dalam menyelesaikan skripsi ini.

10. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat
penulis sebutkan satu per satu.

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.

Medan, Juli 2016
Penulis,

Helbert Sinaga

Universitas Sumatera Utara

vii

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN

DAN RUN LENGTH ENCODING PADA
KOMPRESI FILE AUDIO

ABSTRAK

Penelitian ini dilakukan untuk menganalisis perbandingan hasil kompresi dan
dekompresi file audio *.mp3 (Moving Picture Expert Group) -1 audio layer III) dan
*.wav. Kompresi dilakukan dengan mengurangi jumlah bit yang diperlukan untuk
menyimpan atau mengirim file tersebut. Pada penelitian ini penulis menggunakan
algoritma Huffman dan Run Length Encoding yang merupakan salah satu teknik
kompresi yang bersifat lossless. Algoritma Huffman memiliki tiga tahapan untuk
mengkompres data, yaitu pembentukan pohon, encoding dan decoding dan berkerja
berdasarkan karakter per karakter. Sedangkan teknik run length ini bekerja
berdasarkan sederetan karakter yang berurutan, yaitu hanya memindahkan
pengulangan byte yang sama berturut-turut secara terus-menerus. Parameter yang
digunakan untuk mengukur kinerja algoritma ini adalah rasio kompresi, kompleksitas
yang dihasilkan. Rasio kompresi file audio *.mp3 menggunakan Algoritma Huffman
memiliki rata-rata 1.426% sedangkan RLE -94.44%, dan rasio kompresi file audio
*.wav memiliki rata-rata 28.954 % sedangkan RLE -45.91%, kompleksitas waktu
algoritma Huffman adalah θnLog n sedangkan algoritma Run Length Encoding adalah
θ(n).
Kata Kunci: kompresi, dekompresi, mp3, wav, Huffman, Run Length Encoding,
lossless, lossy.

Universitas Sumatera Utara

viii

COMPARATIVE ANALYSIS ALGORITHM HUFFMAN
AND RUN LENGTH ENCODING IN
FILE COMPRESSION AUDIO
ABSTRACT

This study was conducted to analyze the comparison of compression and
decompression of audio files * .mp3 (Moving Picture Expert Group) -1 audio layer
III) and * .wav. Compression is done by reducing the number of bits required to store
or send the file. In this study the author uses Huffman and Run Length Encoding,
which is one that is lossless compression technique. Huffman has three stages to
compress the data, namely the establishment of the tree, encoding and decoding, and
work is based on a character-by-character. While the technique of run length work
based on a series of consecutive characters, namely just move repetition of the same
byte row continuously. The parameters used to measure the performance of the
algorithm is the compression ratio, the resulting complexity. The compression ratio *
.mp3 audio files using Huffman algorithm has an average of 1,426%, while RLE 94.44%, and the compression ratio * .wav audio file has an average of 28 954% and 45.91% RLE, Huffman algorithm time complexity is θnLog n while Run Length
Encoding algorithm is θ (n).
Keywords: compression, decompression, mp3, wav, Huffman, Run Length Encoding,
lossless, lossy.

Universitas Sumatera Utara

ix

DAFTAR ISI

PERSETUJUAN
PERNYATAAN
PENGHARGAAN
ABSTRAK
ABSTRACT
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR

Halaman
ii
iii
iv
vii
viii
ix
xi
xii

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. Metodologi Penelitian

3

1.7. Sistematika Penulisan

4

BAB 2 LANDASAN TEORI

6

2.1.

Pengertian Kompresi

6

2.2.

Jenis-jenis Kompresi Data

7

2.2.1. Lossy Compression

7

2.2.2. Lossless Compression

7

Jenis-Jenis File Audio

8

2.3.1. File Audio *.wav

8

2.3.2. File Audio *.mp3

8

2.4.

Alat Bantu Perancangan Perangkat Lunak

10

2.5.

Algoritma

12

2.5.1. Algoritma Huffman

12

2.5.2. Algoritma (RLE) Run Length Encoding

14

2.6.

Rasio Kompresi

14

2.7.

Kompleksitas Waktu

14

2.3.

Universitas Sumatera Utara

x

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1.

Analisa Sistem

15

3.2.

Analisa Proses

15

3.2.1. Analisa Kompresi Huffman

16

3.2.2. Analisa Dekompresi Huffman

22

3.2.3. Analisa Kompresi Run Length Encoding

24

3.2.4. Analisa Dekompresi Run Length Encoding

25

Perancangan Sistem

26

3.3.1. Flowchart Huffman

27

3.3.2. Flowchart Run Lenth Encoding

31

Perancangan Interface

34

3.3.

3.4.

BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1.

4.2.

4.3.

Implementasi Sistem

40

4.1.1. Halaman Utama Sistem

40

4.1.2. Halaman Menu Huffman

41

4.1.3. Halaman Menu Run Length Encoding

43

Perbandingan Rasio Kompresi File Audio Menggunakan Algoritma Huffman
dan Run Length Encoding

46

Perhitungan Kompleksitas Waktu

47

4.3.1. Perhitungan Kompleksitas Waktu Algoritma Huffman

48

4.3.2. Perhitungan Kompleksitas Waktu Algoritma Run Length Encoding

51

BAB 5 KESIMPULAN DAN SARAN
5.1.

Kesimpulan

53

5.2.

Saran

53

Daftar Pustaka

54

Universitas Sumatera Utara

xi

DAFTAR TABEL

Halaman
Tabel 2.1. Simbol Program Flowchart

10

Tabel 2.2. Simbol Sistem Flowchart

11

Tabel 3.1. Frekuensi Sampel Audio

17

Tabel 3.2. Hasil Kompresi Huffman

21

Tabel 3.3. Hasil Kompresi RLE

25

Tabel 3.4. Hasil Dekompresi RLE

26

Tabel 4.1. Perbandingan Kompresi File Audio (*.mp3) mmenggunakan
Algoritma Huffman dan RLE

47

Tabel 4.2. Perbandingan Kompresi File Audio (*.wav) menggunakan
Algoritma Huffman dan RLE

47

Tabel 4.3. Perhitungan Kompleksitas Waktu Algoritma Huffman

48

Tabel 4.4. Perhitungan Kompleksitas Waktu Algoritma Run Length Encoding

51

Universitas Sumatera Utara

xii

DAFTAR GAMBAR

Halaman
Gambar 3.1. Urutan sampel secara ascending

17

Gambar 3.2. Penggabungan dua buah simpul

17

Gambar 3.3. Pemindahan dua buah simpul urutan sampel secara ascending

18

Gambar 3.4. Penggabungan dua buah simpul

18

Gambar 3.5. Pemindahan dua buah simpul urutan sampel secara ascending

18

Gambar 3.6. Penggabungan dua buah simpul

19

Gambar 3.7. Penggabungan dua buah simpul

19

Gambar 3.8. Pemberian bit 0 dan bit 1

20

Gambar 3.9. Proses Decoding dengan pohon Huffman

23

Gambar 3.10. Flowchart pembuatan pohon Huffman

27

Gambar 3.11. Flowchart Algoritma Kompresi Huffman

28

Gambar 3.12. Flowchart Algoritma Dekompresi Huffman

29

Gambar 3.13. Flowchart Algoritma Huffman

30

Gambar 3.14. Flowchart Algoritma Kompresi RLE

31

Gambar 3.15. Flowchart Algoritma Dekompresi RLE

32

Gambar 3.16. Flowchart Algoritma RLE

33

Gambar 3.17. Rancangan Halaman Utama

34

Gambar 3.18. Rancangan Halaman Algoritma Huffman

35

Gambar 3.19. Rancangan Halaman Algoritma Run Length Encoding

37

Gambar 3.20. Rancangan Halaman Info

38

Gambar 4.1. Halaman Utama Sistem

41

Gambar 4.2. Halaman Proses Kompresi pada Menu Huffman

42

Gambar 4.3. Halaman Proses Dekompresi pada Menu Huffman

43

Gambar 4.4. Halaman Menu Kompresi pada Run Length Encoding

44

Gambar 4.5. Halaman Menu Dekompresi pada Run Length Encoding

45

Gambar 4.6. Rancangan Halaman Info

46

Grafik 4.1.

Grafik Rasio Kompresi File *.mp3

48

Grafik 4.2.

Grafik Rasio Kompresi File *.wav

48

Universitas Sumatera Utara