• Tidak ada hasil yang ditemukan

TUGAS AKHIR Implementasi Algoritma Metode Huffman Pada Kompresi Citra.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TUGAS AKHIR Implementasi Algoritma Metode Huffman Pada Kompresi Citra."

Copied!
11
0
0

Teks penuh

(1)

TUGAS AKHIR

IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA

KOMPRESI CITRA

Disusun sebagai Salah Satu Syarat Menyelesaikan Program Studi Strata 1 Jurusan Elektro Fakultas Teknik

Universitas Muhammadiyah Surakarta

Disusun oleh :

ARI WIDAGDO D400080008

JURUSAN ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH SURAKARTA

(2)
(3)
(4)
(5)

ABSTRAK

Pertukaran informasi saat ini membutuhkan kecepatan dalam pengiriman informasi. Kecepatan pengiriman ini sangat bergantung kepada ukuran dari informasi tersebut. Salah satu solusi untuk masalah di atas adalah dengan melakukan pemampatan (kompresi).

Proses kompresi citra (image compression) yang bertujuan menghasilkan ukuran data citra yang lebih kecil sebagai menjadi salah satu cara yang dapat dilakukan untuk pemecahan masalah. Pembuatan program kompresi ini menggunakan algoritma huffman. Metode Huffman merupakan salah satu teknik kompresi citra yang bersifat loseless. Metode ini menggunakan prinsip bahwa nilai derajat keabuan yang sering muncul di dalam citra akan dikodekan dengan jumlah bit yang lebih sedikit, sedangkan nilai keabuan yang munculnya sedikit (jarang) dikodekan dengan jumlah bit yang lebih panjang. Kompresi dilakuakn dengan cara membuat pohon biner dari nilai probabilitas data yang redundan. Penulis melakukan penelitian yang bertujuan membuat aplikasi kompresi citra dengan menggunakan algoritma huffman, serta untuk mengetahui performansi hasil proses kompresi dilakukan melalui perhitungan rasio kompresi, ukuran file hasil kompresi, kecepatan proses kompresi dan dekompresi..

Berdasarkan seluruh hasil penelitian, dapat disimpulkan bahwa sistem kompresi menggunakan algoritma Huffman dapat menghasilkan citra dengan memori yang lebih kecil. Citra yang telah di proses decoding pada algoritma ini dapat di kembalikan lagi dengan cara encoding. Dari pengujian yang dilakukuan algoritma ini dapat mengkompres gambar grayscale, true color, dan black white. Berdasarkan perhitungan, hasil kompresi citra Ums.jpg dengan ukuran asli 7,58 Kb memiliki nilai rasio kompresi sebesar 26,3%. Dengan waktu kompresi 28,6 detik dan waktu dekompresi 62,1 detik

Kata Kunci :Kompresi citra, Algoritma Huffman, Lossles compression, Matlab

I PENDAHULUAN

Dalam bidang teknologi informasi, komunikasi data sering dilakukan, komunikasi data ini berhubungan erat dengan pengiriman data menggunakan sistem transmisi elektronik dari satu terminal komputer ke terminal komputer yang lain. Besarnya ukuran data terkadang menjadi kendala dalam proses pengiriman. Data dengan ukuran besar akan memakan waktu transfer yang lebih lama dibandingkan dengan data yang memiliki ukuran lebih kecil, terkadang ada resiko tidak dapat tertampung pada media penyimpanan dan tidak tersampaikannya, sehingga akan memperkecil kapasitas kosong dalam memori media penyimpanan. Oleh karena itu, manusia selalu berusaha untuk menemukan suatu cara alterntif untuk menangani permasalahan tersebut, salah satunya dengan cara kompresi.

Salah satu kegunaan kompresi adalah untuk memperkecil kapasitas ukuran data dalam memori media penyimpanan, agar tidak terlalu boros menggunakan media penyimpanan tersebut. Kompresi data berarti

suatu teknik untuk memampatkan data agar diperoleh data dengan ukuran yang lebih kecil daripada ukuran aslinya sehingga lebih efisien dalam menyimpannya serta mempersingkat waktu pertukaran data tersebut. Pertukaran data, pesan, dan informasi sangat sering dilakukan. Perpindahan itu dapat dilakukan melalui media penyimpanan (seperti floppy disk,

hard disk, CD-ROM, flash disk) ataupun melalui media internet.

Aplikasi pemampat data menggunakan cara pemampatan (kompresi) dan penirmampatan (dekompresi). Kompresi data atau pemampatan data adalah proses transformasi dari string ke string yang memiliki informasi sama namun memiliki panjang yang lebih sedikit (pendek). Salah satu cara kompresi data ini adalah dengan menggunakan salah satu aplikasi dari pohon biner (binary tree) yaitu kode Huffman.

Citra

(6)

Sedangkan dari sudut pandang matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi.

Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:

1. Optik, berupa foto.

2. Analog, berupa sinyal video.

3. Digital, yang dapat langsung disimpan pada media penyimpanan magnetik.

Citra juga dapat dikelompokkan menjadi :

1. Cita tampak : foto, gambar.

2. Citra tidak tampak : data gambar dalam file, citra yang direpresentasikan dalam fungsi matematis.

III DASAR TEORI Kompresi

Kompresi citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien. Informasi yang dirasakan redundan dapat dikompresi untuk meminimalisasi redundansi tersebut. Hal ini dapat pula dilakukan pada citra dijital yang beragam tipenya, dengan menerapkan berbagai metode kompresi yang ada.

Tujuan utama dari kompresi pada citra dijital adalah untuk mengurangi penggunaan memori, sehingga akan memudahkan penyimpanan, pengolahan serta pengiriman citra dijital tersebut. Dapat disimpulkan bahwa kompresi merupakan proses untuk menghilangkan berbagai kerumitan yang tidak penting (redundansi) dari suatu informasi, dengan memaksimalkan kesederhanaannya dan tetap menjaga kualitas penggambaran dari informasi.

Penyimpanan data dilakukan untuk mencegah terjadinya kerusakan atau kehilangan data dan mempermudah membawa data-data tersebut ke manapun dan kapanpun dibutuhkan. Penyimpanan data pada komputer hanya dibatasi dengan kapasitas tertentu, sehingga dengan banyaknya data,memungkinkan tidak cukupnya perangkat keras penyimpan data untuk menyimpan semua data-data yang ada.

Berdasarkan output hasil kompresi, metode kompresi dapat dikelompokkan menjadi dua, yaitu :

1. Kompresi Loseless

Hasil dekompresi dari data hasil kompresi akan tepat sama persis dengan data sebelum kompresi. Contoh aplikasi: ZIP, RAR, GZIP, 7-Zip . Teknik kompresi citra dimana tidak ada satu pun informasi citra yang dihilangkan. Biasa digunakan pada citra medis.

Teknik ini digunakan jika dibutuhkan data dimana setelah dikompresi harus dapat didekompresi lagi dan menghasilkan data yang tepat sama dengan data asli. Contoh pada data teks, data program/biner, dan beberapa image random seperti GIF dan PNG.

2. Kompresi Lossy

Teknik ini mengubah detail dan warna pada file citra menjadi lebih sederhana tanpa terlihat perbedaan yang mencolok dalam pandangan manusia, sehingga ukurannya menjadi lebih kecil.

Kelebihan dari metode ini adalah ukuran file lebih kecil disbanding loseless namun masih tetap memenuhi syarat untuk sudah dikompresi.

Huffman coding

Pada tahun 1952 David Huffman memperkenalkan algoritma kompresi yang dinamakan Huffman coding. Metode ini memakai hampir semua karakteristik dari Shannon-Fano coding. Pada prinsipnya Huffman coding menggunakan pendekatan

(7)

dari metode Huffman dimana teks hasil dekompresi yang diperoleh 100% sama dengan teks aslinya, maka akan diteliti sejauh mana metode Huffman dapat digunakan untuk kompresi data berupa citra.

Secara fisik, sebuah citra merupakan representasi objek-objek, baik dalam keadaan diam atau bergerak, pada dan y menyatakan posisi koordinat 2D (atau 3D), sedangkan f menyatakan nilai intensitas (kecerahan) atau menyatakan warna pada setiap posisi [x,y] (atau [x,y,z]).

Sebuah citra digital dalam sebuah komputer dinyatakan dalam bentuk matriks 2D, dimana elemen matriks disebut piksel dan nilai dari setiap elemen matriksnya menyatakan intensitas atau warna. Bila matriks ini mewakili sebuah citra gray-level, maka nilai elemen matriks (piksel) menyatakan tingkat keabuan citra. Namun, bila matriks ini mewakili sebuah citra berwarna, maka nilai elemen matriks menyatakan warna. Setiap piksel dalam sebuah citra yang dikode dalam 8 bit, berarti citra tersebut memiliki 256 tingkat keabuan atau memiliki 256 warna.

Contoh sebuah citra dapat dilihat pada gambar 2.1 di bawah ini.

Misalkan citra tersebut dinyatakan dalam matriks berikut, dimana setiap elemen matriks (piksel) menyatakan warna

100 100 100

Metode Huffman termasuk metode

lossless compression. Pengkodean citra berdasarkan pada derajat keabuan (gray level) atau tingkat warna dari piksel-piksel dalam keseluruhan citra. Dengan kata lain, metode Huffman termasuk dalam pendekatan statistikal (statistical

compression) dalam kompresi citra. Warna atau derajat keabuan yang sering muncul di dalam citra akan dikodekan dengan jumlah

bit yang lebih sedikit sedangkan nilai yang frekuensi kemunculannya sedikit dikodekan dengan jumlah bit yang lebih panjang

Algoritma metode Huffman untuk kompresi citra yaitu:

1. Buat data citra yang berupa matriks tersebut menjadi vektor.

2. Tentukan frekuensi kemunculan tiap warna atau derajat keabuan.

3. Urutkan secara menaik warna atau nilai keabuan berdasarkan frekuensi kemunculannya atau peluang kemunculan piksel dalam citra Setiap nilai dinyatakan sebagai pohon bersimpul tunggal dan setiap simpul di-assign dengan frekuensi kemunculan nilai tersebut.

4. Gabungkan 2 buah pohon yang mempunyai frekuensi kemunculan paling kecil pada sebuah akar. Akar mempunyai frekuensi yang merupakan jumlah dari frekuensi dua pohon Huffman yang bersesuaian.

8. Menyimpan data lebar citra, tinggi citra, kode bit untuk tiap nilai, data warna yang terdapat di dalam citra, dan data citra yang sudah dikodekan ke dalam file hasil kompresi.

(8)

langkah-yang sesuai yaitu variabel ukuran didapat. Demikianseterusnya konversi dilakukan hingga data terakhir. 3. Rekonstruksi citra dengan

menggunakan data ukuran citra, berarti data pixel berbentuk 1D dipenggal baris dan kolom sesuai ukuran citra.

Sebagai contoh penerapan kompresi citra dengan metode Huffman, dapat dilihat pada dua contoh berikut :

Terdapat citra dengan representasi matriks sebagai berikut. Tiap piksel dikodekan dengan 8-bit warna.

100 100 100

Akan dilakukan kompresi terhadap data citra tersebut.

Langkah yang dilakukan adalah : 1) Bentuk vektor dari data citra yang

berupa matriks

[100 100 100 100 100 100 100 100 100 200 200 200 200 250 250]

Jumlah piksel = 15

1) Peluang kemunculan warna pada citra : 100 = 9/15

200 = 4/15 250 = 2/15

2) Simpul pohon biner :

3) Pembentukan pohon Biner Huffman

0 1

Gambar 1 Pohon Biner huffman

Tabel 1. Tabel Kode Huffman untuk contoh Warna Peluang

5) Penyimpanan data pada citra - Ukuran : 5 x 3

- Ukuran citra setelah kompresi

(9 x 1 bit) + (4 x 2 bit) + (2 x 2 bit) = 21

Citra hasil: Ukuran sebelum dikompresi Hasil kompresi: Ukuran hasil kompresi Jika dilakukan dekompresi, citra yang diperoleh akan sama persis dengan ciitra awal (Lossless).

III METODOLOGI PENELITIAN

Urutan secara keseluruhan penelitian seperti terlihat pada gambar 6. Flowchart penelitian Proses yang dilakukan pada program kompresi citra ini terdapat dua proses, yaitu proses kompresi dan dekompresi. Proses kompresi merupakan proses dimana program kompresi citra melakukan proses encoding, sedangkan untuk proses dekompresi, pada GUI Matlab akan membaca data dari tabel hasil kompresi untuk kemudian disusun kembali sesuai dengan urutannya dan membentuk kembali citra yang sesuai dengan aslinya.

100 9/15 2004/15 50 : 2/15

100-250-200 : 1

250-200 : 6/15

(9)

me

tidak

Gambar 2 Flowchart program kompresi

Huffman.

Berikut merupakan screenshot pengujian program dengan Algoritma Huffman yang melalui 2 tahap yaitu kompresi dan dekompresi yang ditunjukkan gambar 3, 4 dan 5.

Gambar 3 Tampilan setelah memilih citra

Gambar 4 Tampilan hasil proses kompresi

Gambar 5 Tampilan proses dekompresi Masukkan citra

Menentukan Luas Citra (pixel)

Mengubah nilai unik menjadi baris

Menentukan nilai simbol citra

tidak Apakah Simbol input

masih ada?

Menyimpan hasil

Selesai

ya Mulai

Menentukan ukuran citra

Menghitung nilai simbol

Merekontruksi citra

(10)

Analisa hasil merupakan analisa dari perbandingan ukuran citra asli dengan ukuran citra hasil kompresi. Berikut beberapa tahap dalam menganalisa hasil.

Data Uji Coba

Tabel 3 Hasil Kompresi No. Nama

Tabel 4 Hasil uji coba kompresi menggunakan metode huffman

Tabel 5 Waktu kompresi dan dekompresi No Citra didapatkan bahwa setiap masing – masing citra memiliki perbedaan ukuran yang bervariasi. Berdasarkan perhitungan, hasil kompresi citra Ums.jpg dengan ukuran asli 7,58 Kb 2. memiliki nilai rasio kompresi sebesar

26,3%. Dengan waktu kompresi 28,6 detik dan waktu dekompresi 62,1 detik. 3. Hasil rata-rata kompresi gambar yang

didapatkan dari masing-masing format gambar berbeda-beda hasilnya. Citra dengan format jpg bisa memiliki rasio kompresi paling tinggi, yaitu sebesar 26,3% diantara format-format citra yang di uji coba, pada citra png memiliki rasio paling tinggi sebesar 22,4%.

(11)

DAFTAR PUSTAKA

Image Compression Huffman”. http://www.mathworks.com.

Diakses pada tanggal 13 Desember 2011. pukul 22.00 WIB

Iqbal, Muhammad. Dasar Pengolahan Citra Menggunakan Matlab.

www.creative

instrument.com/dokumen/image.pd f,

Diakses pada tanggal: 13 Desember 2011. pukul 23.00 WIB.

Widiarsono, Teguh 2005, Tutorial Praktis Belajar Matlab.pdf, Jakarta

Diakses pada tanggal: 23 Desember 2011, pukul 10:30 WIB

R. C. GONZALEZ, “Digital Image Processing” Second Edition, pp.

255 – 330, Addison Wesley Publishing Company, (1987)

Sulistyanto, Hernawan dan Nur Rohman, Ratnasari. 2007. Uji Implementasi Pemampat Data Tak – Hilang Dengan Metode RLE dan Static – Adaptive Huffman. Fakultas Teknik Universitas Muhammadiyah Surakarta.

Munir, Rinaldi. (2006). Strategi Algoritmik.

Departemen Teknik Informatika, Institut Teknologi Bandung.

Nugroho, C, B. 2010. Proses Pemampatan Citra Dengan Standar Kompresi JPEG. Universitas Diponegoro.

Gambar

Gambar 1 Pohon Biner huffman
Gambar 3 Tampilan setelah memilih citra
Tabel 2 Tabel spesifikasi citra asli sebagai citra masukan

Referensi

Dokumen terkait

[r]

yaitu dengan cara memberikan jasa pelayanan sesuai dengan yang diharapkan oleh pelanggan.. Kualitas pelayanan mempunyai hubungan yang erat dengan tingkat kepuasan

Adapun tujuan dari diadakannya penelitian ini adalah untuk mengetahui bagaimana Fungsi PR dapat meningkatkan perilaku konsumen dalam perspektif Islam pada CV..

) group by WaktuID, CabangID, MemberID, ProdukID, SupplierID 2.1.3 Query FaktaPengeluaran select WaktuID, CabangID, MemberID, ProdukID,

Beberapa orang (atau grup dari sebuah proyek besar) dapat diberikan tanggung jawab untuk melakukan tugas atau menyelesaikan kegiatan-kegiatan yang dilibatkan... Anda dapat

Bahwa, pemeriksaan tersebut dilakukan dengan cara melihat dan menghitung barang, menyesuaikan barang dengan berita acara penerimaan barang yang berlokasi di SMAN 1 Tanjung Raja

Karya ilmiah ini harus dilaksanakan oleh dosen IKIP Padang dalam rangka meningkatkan mutu, baik sebagai dosen maupun sebagai peneli ti.. Oleh karena itu, Pusat

I ndofood Sukses Makm ur ( I NDF) akan m engerek har ga t epung t erigu karena sej ak Mei 2018 harga t epung t elah naik 10% sebagai dam pak kenaikan harga gandum di pasar global