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
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