Analisis Perbandingan Kompresi Citra Menggunakan Algoritma Deflate Dan Algoritma Arithmetic Coding

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Saat ini perkembangan teknologi yang menghasilkan citra sebagai data telah
berkembang dengan sangat pesat, hal ini dapat dilihat dengan semakin tingginya
resolusi kamera digital saat ini sehingga resolusi citra yang dihasilkan juga semakin
tinggi. Hal tersebut membuat muncul sebuah permasalahan karena ukuran data citra
yang dihasilkan semakin besar dan jumlahnya yang semakin banyak sehingga banyak
memakan media penyimpanan (storage), serta muncul permasalahan dalam hal
pertukaran data dan informasi yang semakin menguras waktu dan bandwith.
Dari permasalahan di atas muncul solusi untuk memecahkan masalah tersebut,
yaitu dengan cara kompresi data citra. Kompresi merupakan suatu metode yang
bertujuan untuk mengurangi penggunaan memori, sehingga akan mempermudah
penyimpanan dan pengolahan data serta mempersingkat waktu pengiriman data.
Secara umum kompresi citra terbagi menjadi dua, yaitu lossy dan lossless. Loseless
compression digunakan untuk mengompresi data dengan tujuan agar data yang telah
dikompresi dapat dikembalikan dalam kondisi asli, atau informasi penting yang ada di
dalam data tersebut tidak boleh rusak akibat kompresi seperti pada gambar hasil

diagnosa medis. Lossy compression menghasilkan file kompresi yang lebih kecil dari
metode loseless, tetapi data yang diperoleh berbeda dari yang aslinya tetapi cukup
dekat perbedaannya.
Dalam penelitian ini penulis menggunakan dua algoritma loseless yaitu
algoritma Deflate dan algoritma Arithmetic Coding. Algoritma Deflate merupakan
algoritma kompresi data lossless yang menggunakan kombinasi algoritma LZ77 dan
Huffman Coding. Algoritma Deflate mengambil berbagai kelebihan dari masing-

2

masing metode, mengambil konsep sliding-window dan prefix tree. Sedangkan
algoritma Arithmetic Coding adalah suatu kompresi lossless yang memakai teknik
statistikal modeling yang menggantikan satu deretan simbol input dengan sebuah
bilangan floating point. Output dari Arithmetic Coding ini adalah satu angka yang
lebih kecil dari 1 dan lebih besar atau sama dengan 0. Angka ini secara unik didecode
sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan angka
tersebut. Untuk menghasilkan angka output tersebut, tiap simbol yang akan diencode
diberi satu set nilai probabilitas.
Berdasarkan latar belakang yang diuraikan di atas, penulis tertarik
membahasnya sehingga penelitian ini diberi judul: “Analisis Perbandingan Kompresi

Citra Menggunakan Algoritma Deflate dan Algoritma Arithmetic Coding”.

1.2. Rumusan Masalah

Berdasarkan latar belakang di atas, maka rumusan masalah yang dapat diambil adalah
bagaimana membandingkan kinerja dari algoritma Deflate dan algoritma Arithmetic
Coding dalam mengompresi citra AT & T targa Format (TGA) dan Aldus Tagged
Image File Format (TIF).

1.3. Batasan Masalah

Agar pembahasan masalah tidak menyimpang dari tujuan penelitian, maka perlu
dibuat beberapa batasan, yaitu:
1. Parameter yang digunakan dalam penelitian adalah ukuran file hasil kompresi,
rasio kompresi, dan waktu kompresi.
2. Jenis file yang akan dikompresi adalah file citra berformat AT & T targa Format
(TGA) dan Aldus Tagged Image File Format (TIF).
3. Hasil keluaran aplikasi ini adalah sebuah file baru yang terdiri dari file header yang
berisi informasi tentang file citra asli, dan informasi lainnya yang dibutuhkan, serta
file body yang berisi kode-kode hasil kompresi.


3

4. Khusus untuk Algoritma Deflate, penulis akan mengimplementasikannya melalui
fungsi-fungsi dan class yang sudah tersedia di dalam JDK 1.7.
5. Bahasa pemrograman yang digunakan adalah bahasa pemrograman Java dengan

Java Development Kit (JDK) versi 1.7.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk membuat sebuah aplikasi komputer yang dapat
mengompresi ukuran data gambar berformat TIF dan TGA, di mana akan dilihat
perbandingan rasio serta waktu kompresi dan dekompresi menggunakan algoritma
Deflate dan algoritma Arithmetic Coding.

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah:
1. Menambah pengetahuan dan wawasan penulis mengenai bidang kompresi

data.
2. Mengetahui efisiensi dari algoritma Deflate dan algoritma Arithmetic Coding
dalam kompresi citra.

1.6. Metodologi Penelitian

Penelitian ini akan dilaksanakan dengan mengikuti beberapa langkah sebagai berikut:
1. Studi Kepustakaan
Pada tahap ini dimulai dengan melakukan pengumpulan refrensi dalam
penelitian dengan mencari jurnal, buku, tulisan ilmiah, electronic book,
maupun artikel lain yang berhubungan dengan kompresi citra, Algoritma
Deflate, Algoritma Arithmetic Coding serta Bahasa Pemrograman Java.
2. Analisis dan Perancangan Sistem
Pada tahap ini dilakukan pengolahan data dari hasil studi kepustakaan

4

kemudian melakukan analisis sehingga menjadi suatu informasi. Proses ini
meliputi pembuatan algoritma program, flowchart sistem, rancangan aplikasi,
dan pembuatan user interface aplikasi.

3. Implementasi Sistem
Pada tahap ini dilakukan penerapan algoritma Deflate dan algoritma
Arithmetic Coding ke dalam aplikasi komputer yang sedang dirancang.
4. Pengujian aplikasi
Pada tahap ini dilakukan pengujian aplikasi yang dibuat apakah telah berhasil
berjalan sesuai keinginan dan melakukan perbaikan kesalahan jika masih
terdapat error pada aplikasi.
5. Dokumentasi
Tahap akhir dari penelitian yang dilakukan, yaitu membuat laporan tentang
penelitian yang telah dilakukan.

1.7. Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian, yaitu:

BAB 1: PENDAHULUAN
Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan
skripsi.


BAB 2: LANDASAN TEORI
Bab ini berisi teori-teori yang berkaitan dengan kompresi data, dekompresi data,
algoritma Deflate, dan algoritma Arithmetic Coding.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi proses pembuatan algoritma program, UML (Unified Modelling
Language), flowchart sistem, rancangan aplikasi, dan pembuatan user interface
aplikasi.

5

BAB 4 : IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi ulasan dan pengujian terhadap program yang telah diimplementasikan
dengan menggunakan bahasa Java.

BAB 5: KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang didapat dalam menjalani penelitian ini dan saran yang
yang berguna dalam usaha untuk melakukan perbaikan dan pengembangan penelitian
ini.