Abstrak—Algoritma metode Huffman adalah salah satu citra menjadi lebih sedikit dari pada representasi citra
algoritma kompresi untuk citra digital. Metode kompresi semula.
Huffman menggunakan prinsip bahwa nilai derajat keabuan Kompresi citra memberikan manfaat yang sangat besar
yang sering muncul di dalam citra akan dikodekan dengan dalam industri multimedia saat ini. Salah satunya adalah
jumlah bit yang lebih sedikit sedangkan nilai keabuan yang pada proses pengiriman data (data transmission) pada
frekuensi kemunculannya sedikit akan dikodekan dengan
saluran komunikasi data. Citra yang telah dikomprsesi
jumlah bit yang lebih panjang.
Citra adalah suatu representasi (gambaran), kemiripan, membutuhkan waktu pengiriman yang lebih singkat
atau imitasi dari suatu objek. Citra sebagai keluaran suatu dibandingkan dengan citra yang tidak dikompresi.
sistem perekaman data dapat bersifat optik berupa foto, Contohnya aplikasi pengiriman gambar lewat fax,
bersifat analog berupa sinyal-sinyal video seperti gambar pada videoconferencing, pengiriman data medis, pengiriman
monitor televisi, atau bersifat digital yang dapat langsung gambar dari satelit luar angkasa, pengiriman gambar via
disimpan pada suatu media penyimpanan. Citra yang telepon genggam, download gambar dari internet, dan
mempunyai sebaran nilai piksel tidak merata memiliki rasio sebagainya. Selain pada proses pengiriman data, kompresi
kompresi yang relatif besar sedangkan citra dengan nilai piksel citra juga bermanfaat pada penyimpanan data (data storing)
yang merata memiliki rasio kompresi yang lebih kecil.
di dalam media sekunder (storage). Citra yang telah
Kata kunci—Citra, Kompresi, algoritma Huffman, pohon dikompresi membutuhkan ruang memori di dalam media
Huffman storage yang lebih sedikit dibandingkan dengan citra yang
tidak dikompresi. Contoh aplikasinya antara lain aplikasi
I. P ENDAHULUAN basisdata gambar, office automation, video storage (seperti
Video Compact Disc).
Data atau informasi tidak hanya disajikan dalam bentuk Ada dua tipe utama kompresi citra, yaitu kompresi tipe
teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, lossless dan kompresi tipe lossy. Kompresi tipe lossy adalah
musik) dan video. Keempat macam data atau informasi ini kompresi dimana terdapat data yang hilang selama proses
sering disebut dengan multimedia. Era informasi teknologi kompresi. Akibatnya kualitas citra yang dihasilkan jauh
saat ini tidak dapat dipisahkan dari multimedia. Situs web lebih rendah daripada kualitas citra asli. Sementara itu,
(website) di internet dibuat semenarik mungkin dengan kompresi tipe lossless tidak menghilangkan informasi
menyertakan visualisasi berupa gambar atau video yang setelah proses kompresi terjadi, akibatnya kualitas citra hasil
dapat diputar [1]. kompresi tidak menurun. Salah satu contoh dari kompresi
Citra (image) sebagai salah satu komponen multimedia tipe lossless adalah metode Huffman. Metode Huffman
memegang peranan penting sebagai bentuk informasi visual. paling efisien dari metode lain yang sejenis karena pemetaan
Citra mempunyai karakteristik yang tidak dimiliki oleh data lain simbol dari sumber data menjadi string unik
teks, yaitu citra kaya akan informasi. menghasilkan file output yang lebih kecil ketika frekuensi
Pada umumnya representasi citra digital membutuhkan symbol sesuai dengan frekuensi yang digunakan untuk
memori yang besar. Semakin besar ukuran citra tentu menghasilkan kodenya.
semakin besar pula memori yang dibutuhkannya. Pada sisi Agar pembahasan mengarah sesuai dengan tujuan
lain, kebanyakan citra mengandung duplikasi data. pembuatan aplikasi ini, maka pembahasan dibatasi pada
Duplikasi data pada citra dapat berarti dua hal. Pertama, hal–hal sebagai berikut:
besar kemungkinan suatu pixel dengan pixel tetangganya 1. Citra yang digunakan adalah citra gray scale dalam
memiliki intensitas yang sama, sehingga penyimpanan format BMP dengan kedalaman warna 8 bit.
setiap pixel memboroskan tempat. Kedua, citra banyak 2. Metode Huffman diimplementasikan menggunakan
mengandung bagian (region) yang sama, sehingga bagian Borland Delphi 7.0.
yang sama ini tidak perlu dikodekan berulang kali karena II. TINJAUAN PUSTAKA
redundan .
Saat ini, kebanyakan aplikasi menginginkan representasi A. Kompresi
citra dengan kebutuhan memori yang sesedikit mungkin. Saat ini, kebanyakan aplikasi menginginkan representasi
Kompresi citra (image compression) bertujuan citra dengan kebutuhan memori yang sesedikit mungkin.
meminimalkan kebutuhan memori untuk merepresentasikan Kompresi citra (image compression) bertujuan
citra digital. Prinsip umum yang digunakan dalam kompresi meminimalkan kebutuhan memori untuk merepresentasikan
citra adalah mengurangi duplikasi data di dalam citra citra digital. Prinsip umum yang digunakan dalam kompresi
sehingga memori yang dibutuhkan untuk merepresentasikan citra adalah mengurangi duplikasi data di dalam citra
sehingga memori yang dibutuhkan untuk merepresentasikan yang mempunyai dua nilai data: nilai keabuan dan frekuensi
citra menjadi lebih sedikit dari pada representasi citra kemunculannya. Dua simpul dengan frekuensi terkecil dari
semula. daftar diambil dan frekuensinya dijumlahkan. Hasil
penjumlahan kedua frekuensi ini menjadi frekuensi baru
B. Metode Huffman untuk sebuah simpul baru yang mempunyai dua cabang
Algoritma kompresi Huffman atau disebut dengan kedua simpul tadi (cabang kiri dan kanan). Simpul baru ini
encoding Huffman adalah algoritma yang dipakai untuk selanjutnya dimasukkan dalam daftar untuk dilakukan
mengkompresi file. Teknik kompresi ini dengan pengurutan simpul, penjumlahan dua simpul dengan
menggunakan code yang lebih kecil pada karakter yang frekuensi terkecil, dan pembuatan simpul baru. Proses ini
sering dipakai dan code yang lebih panjang untuk karakter berlanjut sampai semua simpul telah masuk ke dalam pohon
yang tidak begitu sering dipakai. dan frekuensi akar (root) dari pohon akan merupakan hasil
Setiap data dianggap satu simpul yang mempunyai dua mpenjumlahan semua frekuensi yang ada.
nilai data: nilai keabuan dan frekuensi kemunculannya. Dua
simpul dengan frekuensi terkecil dari daftar diambil dan A. Tabel Huffman
frekuensinya dijumlahkan. Hasil penjumlahan kedua Setelah dibentuk pohon Huffman, maka dilakukan
frekuensi ini menjadi frekuensi baru untuk sebuah simpul pembentukan tabel Huffman yang digunakan untuk
baru yang mempunyai dua cabang kedua simpul tadi menyimpan hasil dari pengkodean Huffman. Gambar 2
(cabang kiri dan kanan). Simpul baru ini selanjutnya memperlihatkan diagram alir tabel Huffman.
dimasukkan dalam daftar untuk dilakukan pengurutan
simpul, penjumlahan dua simpul dengan frekuensi terkecil,
dan pembuatan simpul baru. Proses ini berlanjut sampai Start
semua simpul telah masuk ke dalam pohon dan frekuensi
akar (root) dari pohon merupakan hasil penjumlahan semua Buat string buffer
angka biner
frekuensi yang ada.
Ambil satu piksel
III. P ERANCANGAN S ISTEM data citra
mulai
T Paanjang angka
biner > 8 ?
Baca symbol /piksel data
Y
citra yang akan dikodekan
Ambil 8 bit dan Ambil data piksel
simpan berikutnya
Sorting dan hitung
frekuensi kemunculan
tiap nilai piksel
Seluruh piksel T
sudah diproses?
Buat daftar simpul dari hasil sorting,
tiap simpul mempunyai nilai piksel Y
dan frekuensi kemuculannya
Simpan data
pengkodean dalam file
Ambil dua simpul dengan frekuensi
terkecil dan hapus dari daftar
Selesai
Buat simpul baru dengan frekuensi Masukkan simpul baru
hasil penjumlahan dua frekuensi dalam daftar simpul
terkecil
Gambar 2. Flowchart tabel Huffman.
Y
Apakah citra T Jika citra biner 1 bit
Hitung nilai piksel True color 24 bit atau Maka ambil gambar
Biner 1 bit? yang lain
Y
Lakukan
kompresi Jika citra true color 24 bit
Maka lakukan konversi ke
gray scale 8 bit
Simpan file
kompresi
Simpan file
Lakukan
Dekompresi
Hasil Dekompresi