Analisis Perbandingan Kompresi Citra Menggunakan Algoritma Deflate Dan Algoritma Arithmetic Coding

ANALISIS

PERBANDINGAN

KOMPRESI CITRA

MENGGUNAKAN ALGORITMA DEFLATE DAN
ALGORITMA ARITHMETIC CODING

SKRIPSI

JESADES BERLIN SILAEN
111421087

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

ANALISIS


PERBANDINGAN

KOMPRESI CITRA

MENGGUNAKAN ALGORITMA DEFLATE DAN
ALGORITMA ARITHMETIC CODING

SKRIPSI

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

JESADES BERLIN SILAEN
111421087

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

2015

ii

PERSETUJUAN

Judul

: ANALISIS PERBANDINGAN KOMPRESI CITRA
MENGGUNAKAN ALGORITMA DEFLATE DAN
ALGORITMA ARITHMETIC CODING

Kategori

: SKRIPSI

Nama

: JESADES BERLIN SILAEN


Nomor Induk Mahasiswa : 111421087
Program Studi

: EKSTENSI S1 ILMU KOMPUTER

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

Handrizal, S.Si, M.Comp.Sc


Drs. James P. Marbun, M.Kom

NIP. -

NIP. 19580611 198603 1 002

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

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

iii

ANALISIS

PERBANDINGAN

KOMPRESI CITRA


MENGGUNAKAN ALGORITMA DEFLATE DAN
ALGORITMA ARITHMETIC CODING

SKRIPSI

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

Medan,

Juni 2015

Jesades Berlin Silaen
111421087

iv

PENGHARGAAN


Segala dan puji syukur penulis panjatkan hanya kepada Tuhan Yesus Kristus oleh
karena kasih-Nya, penulis mampu menyelesaikan Skripsi ini.
Skripsi ini dikerjakan sebagai salah satu syarat guna memperoleh gelar Sarjana
Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara. Penulis menyadari bahwa terselesaikannya skripsi ini tentunya tak
lepas dari dorongan dan bantuan berbagai pihak. Oleh karena itu, penulis berterima
kasih kepada :
1. Bapak Prof. Drs. Subhilhar, M.A., Ph.D, selaku Rektor Universitas Sumatera
Utara beserta Pembantu Rektor dan pegawai yang bertugas.
2. Bapak Prof. Dr. Muhammad Zarlis, selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara beserta Pembantu Dekan dan
para pegawai yang bertugas di Program Studi Ilmu Komputer Fasilkom-TI
USU.
3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Program Studi Ilmu
Komputer.
4. Bapak Drs. James P. Marbun, M.Kom, selaku Dosen Pembimbing I yang telah
memberikan banyak arahan, masukan, bimbingan, saran, serta motivasi yang
membangun untuk penulis sehingga penulis dapat menyelesaikan skripsi ini
dengan baik.
5. Bapak Handrizal, S.Si, M.Comp.Sc, selaku Dosen pembimbing II yang telah

memberikan banyak arahan, masukan, bimbingan, saran, serta motivasi yang
membangun untuk penulis sehingga penulis dapat menyelesaikan skripsi ini
dengan baik.
6. Bapak Dr. Marhaposan Situmorang, selaku Dosen Pembanding I, yang telah
memberikan kritik dan saran yang membangun bagi penulis
7. Ibu Dian Rachmawati, S.Si, M.Kom, selaku Dosen Pembanding II yang telah
memberikan kritik dan saran yang membangun bagi penulis.

v

8. Orang tua tercinta, Ayah Renus Silaen dan Ibu Marisi Marpaung, S.H, atas
semua doa dan dukungan yang diberikan.
9. Keluarga besar Ekstensi S1 Ilmu Komputer, khususnya semua teman dan
sahabat angkatan 2011 yang tidak dapat disebutkan satu per satu, terima kasih
atas ide, saran, dan kerja samanya selama ini.

Penulis,

(Jesades Berlin Silaen)


vi

ABSTRAK

Perkembangan teknologi yang menghasilkan citra sebagai data telah berkembang
dengan sangat pesat sehingga resolusi citra yang dihasilkan juga semakin tinggi dan
ukuran data citra yang dihasilkan juga semakin besar. Hal tersebut membuat muncul
permasalah seperti waktu pertukaran data yang lama dan membutuhkan banyak
bandwith. Kompresi citra merupakan salah satu solusi untuk menyelesaikan
permasalah tersebut. Penelitian ini bertujuan untuk merancang sebuah aplikasi
komputer yang dapat mengompresi file citra tga dan tif. Pada penelitian ini algoritma
yang digunakan untuk mengompresi file citra tersebut adalah algoritma Deflate dan
Arithmetic Coding. Keluaran dari aplikasi ini adalah sebuah file kompresi baru
dengan ekstensi file dft untuk algoritma Deflate dan ekstensi file arm untuk algoritma
Arithmetic Coding. Rasio rata-rata kompresi menggunakan algoritma Deflate pada file
citra tga adalah 52.59%, dengan waktu rata-rata kompresi adalah 20154.375
milisecond, sedangkan rasio rata-rata kompresi menggunakan algoritma Arithmetic
Coding pada file citra tga adalah 28.79% dengan waktu rata-rata kompresi adalah 496
milisecond. Rasio rata-rata kompresi menggunakan algoritma Deflate pada file citra tif
adalah 4.72% dengan waktu rata-rata kompresi adalah 12582.875 milisecond,

sedangkan rasio rata-rata kompresi menggunakan algoritma Arithmetic Coding pada
file citra tif adalah 0.15% dengan waktu rata-rata kompresi adalah 266.375
milisecond.
Kata kunci: kompresi citra, tga, tif, algoritma Deflate, algoritma Arithmetic
Coding.

vii

COMPARATIVE ANALYSIS OF IMAGE COMPRESSION USING DEFLATE
ALGORITHM AND ARITHMETIC CODING ALGORITHM

ABSTRACT

The development of technology that produces images as data has grown very rapidly
so that the resulting image resolution is also higher and the size of image data
generated is also getting bigger. This makes the emerging problems such as data
exchange a long time and requires a lot of bandwidth. Image compression is one of the
solutions to solve these problems. This study aims to design a computer application
that can compress tga and tif file image. In this study, the algorithm used to compress
the image file is Deflate algorithms and Arithmetic Coding. The output of this

application is a new compressed file with the file extension dft to Deflate algorithms
and arm file extension for Arithmetic Coding algorithms. The average compression
ratio using the Deflate algorithm tga image file is 52.59% with average time
compression is 20154.375 milisecond, whereas the average compression ratio using
the algorithm Arithmetic Coding in tga image file is 28.79% with average time
compression is 496 milisecond. The average compression ratio using the Deflate
algorithm tif image file is 4.72% with average time compression is 12582.875
milisecond, whereas the average compression ratio using the algorithm Arithmetic
Coding in tif image file is 0.15% with average time compression is 266.375
milisecond.

Keywords : image compression, tga, tif , Deflate algorithm, Arithmetic Coding
algorithm.

viii

DAFTAR ISI

Hal.


PERSETUJUAN

ii

PERNYATAAAN

iii

PENGHARGAAN

iv

ABSTRAK

vi

ABSTRACT

vii

DAFTAR ISI

viii

DAFTAR TABEL
DAFTAR GAMBAR

xi
xiii

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 TINJAUAN PUSTAKA
2.1

Citra

6

2.1.1 Citra Analog

6

2.1.2 Citra Digital

7

2.2

8

Format File Citra

2.2.1 Aldus Tagged Image File Format (TIF)

8

2.4

AT & T Targa Format (TGA)

9

2.3

Kompresi Citra

9

ix

2.3.1 Teknik Kompresi Citra

9

2.3.2 Kriteria Kompresi Citra

10

2.3.3 Rasio Kompresi Citra

11

2.4

Arithmetic Coding

11

2.5

Deflate

14

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1

Analisis Masalah

20

3.2

Analisis Kebutuhan

21

3.2.1 Kebutuhan Fungsional

21

3.2.1 Kebutuhan Nonfungsional

21

3.3

22

Pemodelan Aplikasi

3.3.1 Use-Case Diagram

22

3.3.2 Activity Diagram

23

3.3.3 Sequence Diagram

27

3.4

29

Perancangan Sistem

3.4.1 Pembuatan Algoritma Program

29

3.4.2 Alur Proses Sistem Secara Umum

29

3.4.3 Alur Proses Kompresi dan Dekompresi Menggunakan
Arithmetic Coding

33

3.4.4 Alur Proses Kompresi dan Dekompresi Menggunakan Deflate

42

3.5

47

Pembuatan Rancangan Tampilan Aplikasi

BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1

Implementasi Sistem

49

4.1.1 Menu Utama

50

4.1.2 Penggunaan Fungsi Kompresi

52

4.1.3 Penggunaan Fungsi Dekompresi

53

4.1.4 Penggunaan Button Reset dan Keluar

53

4.2

54

Pengujian Aplikasi

4.2.1 Pengujian Kompresi pada Aplikasi

54

4.2.2 Pengujian Proses Dekompresi pada Aplikasi

57

x

4.3

Hasil Pengujian

4.3.1

Hasil Pengujian Ukuran, Rasio, dan Waktu Kompresi File
Citra TGA dengan Algoritma Deflate dan Arithmetic Coding

4.3.2

60

60

Hasil Pengujian Ukuran, Rasio, dan Waktu Kompresi
File Citra TIF dengan Algoritma Deflate dan Arithmetic
Coding

4.3.3

65

Hasil Pengujian Ukuran dan Waktu Dekompresi File
Citra TGA dengan Algoritma Deflate dan Arithmetic
Coding

4.3.4

69

Hasil Pengujian Ukuran dan Waktu Dekompresi File
Citra TIF dengan Algoritma Deflate dan Arithmetic
Coding

72

BAB 5 KESIMPULAN DAN SARAN
5.1

Kesimpulan

75

5.2

Saran

76

DAFTAR PUSTAKA

77

Lampiran : Source Code Program

A-1

Lampiran : Curriculum Vitae

B-1

xi

DAFTAR TABEL

Hal.

TABEL 2.1

Tabel Nilai Probabilitas

12

TABEL 2.2

Tabel Probabilitas dan Range Simbol

12

TABEL 2.3

Tabel Nilai Probabilitas

17

TABEL 2.4

Tabel Kode Huffman

18

TABEL 3.1

Dokumentasi Naratif Activity Diagram Kompresi

24

TABEL 3.2

Dokumentasi Naratif Activity Diagram Dekompresi

26

TABEL 3.3

Tabel Probabilitas dan Range Simbol

34

TABEL 3.4

Hasil Encoding untuk Gambar 3.11

38

TABEL 3.5

Hasil Decoding untuk Gambar 3.11.

42

TABEL 3.6

Tabel Nilai Probabilitas

44

TABEL 3.7

Kode Huffman

47

TABEL 4.1

Ukuran Kompresi File Citra TGA dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.2

Rasio Kompresi File Citra TGA dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.3

67

Tabel Hasil Pengujian Ukuran dan Waktu Dekompresi
Menggunakan Algoritma Deflate

TABEL 4.8

66

Waktu Kompresi File Citra TIF dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.7

65

Rasio Kompresi File Citra TIF dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.6

64

Ukuran Kompresi File Citra TIF dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.5

62

Waktu Kompresi File Citra TGA dengan Algoritma Deflate dan
Arithmetic Coding

TABEL 4.4

61

Tabel Hasil Pengujian Ukuran dan Waktu Dekompresi

69

xii

Menggunakan Algoritma Arithmetic Coding
TABEL 4.9

70

Tabel Hasil Pengujian Ukuran dan Waktu Dekompresi
Menggunakan Algoritma Arithmetic Coding

72

TABEL 4.10 Tabel Hasil Pengujian Ukuran dan Waktu Dekompresi
Menggunakan Algoritma Arithmetic Coding

73

xiii

DAFTAR GAMBAR

Hal.

GAMBAR 2.1

Contoh Citra Analog Sensor Rontgen Untuk Foto Thorax

6

GAMBAR 2.2

Ilustrasi Citra dengan Matrix 200 x 200

7

GAMBAR 2.3

Fungsi Citra Digital dengan Matriks N x M

7

GAMBAR 2.4

Alur Kompresi Citra

10

GAMBAR 2.5

Matrix Citra Warna RGB Ukuran 2 x 2 pixel

12

GAMBAR 2.6

Contoh Citra Grayscale Ukuran 5 x 5 Pixel

15

GAMBAR 2.7

Sliding Window

15

GAMBAR 2.8

Proses Decode Algoritma LZ77 pada Citra Grayscale

16

GAMBAR 2.9

Pohon Huffman

17

GAMBAR 3.1

Diagram Ishikawa

20

GAMBAR 3.2

Use-Case Diagram pada Sistem

23

GAMBAR 3.3

Activity Diagram Kompresi

24

GAMBAR 3.4

Activity Diagram Dekompresi

26

GAMBAR 3.5

Sequence Diagram Proses Kompresi dan Dekompresi Deflate

28

GAMBAR 3.6

Sequence Diagram Proses Kompresi dan Dekompresi
Arithmetic

GAMBAR 3.7

Flowchart Kompresi File Citra Menggunakan Algoritma
Arithmetic Coding

GAMBAR 3.8

30

Flowchart Dekompresi File Citra Menggunakan Algoritma
Arithmetic Coding

GAMBAR 3.9

28

31

Flowchart Kompresi File Citra Menggunakan Algoritma
Deflate

32

GAMBAR 3.10 Flowchart Dekompresi File Citra Menggunakan Algoritma
Deflate

33

GAMBAR 3.11 Matrix Citra RGB Ukuran 2x2

33

GAMBAR 3.12 Contoh Gambar Citra Grayscale Ukuran 4x3 Pixel

43

xiv

GAMBAR 3.13 Kompresi Citra dengan Algoritma LZ77

43

GAMBAR 3.14 Dekompresi Citra dengan Algoritma LZ77

43

GAMBAR 3.15 Proses Pembuatan Pohon Huffman Tahap 1

44

GAMBAR 3.16 Proses Pembuatan Pohon Huffman Tahap 2

45

GAMBAR 3.17 Proses Pembuatan Pohon Huffman Tahap 3

45

GAMBAR 3.18 Proses Pembuatan Pohon Huffman Tahap 4

45

GAMBAR 3.19 Proses Pemberian Label

46

GAMBAR 3.20 Rancangan Form Aplikasi

47

GAMBAR 4.1

Menu Utama

50

GAMBAR 4.2

Open Dialog Box

51

GAMBAR 4.3

Save Dialog Box

51

GAMBAR 4.4

Combo Box Memilih Algoritma

52

GAMBAR 4.5

Combo Box Memilih Tindakan Kompresi/Dekompresi

52

GAMBAR 4.6

Text Area

52

GAMBAR 4.7

Informasi Hasil Kompresi

53

GAMBAR 4.8

Informasi Hasil Dekompresi

53

GAMBAR 4.9

Save File Dialog Untuk File Input Kompresi

54

GAMBAR 4.10 Save File Dialog Untuk File Tujuan Output Kompresi

55

GAMBAR 4.11 Memilih Algoritma Deflate dan Tindakan Kompresi

56

GAMBAR 4.12 Message Box Menunjukkan Proses Selesai

56

GAMBAR 4.13 Ringkasan Hasil Kompresi

57

GAMBAR 4.14 Save File Dialog Untuk File Input Dekompresi

58

GAMBAR 4.15 Save File Dialog Untuk File Tujuan Output Dekompresi

58

GAMBAR 4.16 Memilih Algoritma Deflate dan Tindakan Dekompresi

59

GAMBAR 4.17 Message Box Menunjukkan Proses Selesai

59

GAMBAR 4.18 Ringkasan Hasil Dekompresi

60

GAMBAR 4.19 Grafik perbandingan Ukuran Kompresi File Citra TGA
dengan Deflate dan Arithmetic Coding

62

GAMBAR 4.20 Grafik perbandingan Rasio Kompresi File Citra TGA
dengan Deflate dan Arithmetic Coding

63

GAMBAR 4.21 Grafik perbandingan Waktu Kompresi File Citra TGA
dengan Deflate dan Arithmetic Coding

64

xv

GAMBAR 4.22 Grafik perbandingan Ukuran Kompresi File Citra TIF
dengan Deflate dan Arithmetic Coding

66

GAMBAR 4.23 Grafik perbandingan Rasio Kompresi File Citra TIF
dengan Deflate dan Arithmetic Coding

67

GAMBAR 4.24 Grafik perbandingan Waktu Kompresi File Citra TIF
dengan Deflate dan Arithmetic Coding

68

GAMBAR 4.25 Grafik perbandingan Ukuran Output Hasil Dekompresi
ODD dan ODA
GAMBAR 4.26 Grafik Perbandingan Waktu Dekompresi TDD Dan TDA

71
71

GAMBAR 4.28 Grafik perbandingan Ukuran Output Hasil Dekompresi
ODD dan ODA
GAMBAR 4.30 Grafik Perbandingan Waktu Dekompresi TDD dan TDA

74
74