PENERAPAN METODE HUFFMAN DALAM PEMAMPATAN CITRA DIGITAL

dokumen-dokumen yang mirip
BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

BAB 2 LANDASAN TEORI

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

Implementasi Metode HUFFMAN Sebagai Teknik Kompresi Citra

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Algoritma Kompresi Shannon Fano pada Citra Digital

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pemampatan Citra. Esther Wibowo Erick Kurniawan

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

PEMAMPATAN CITRA (IMA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang


BAB II TINJAUAN PUSTAKA

IMPLEMENTASI ALGORITMA RUN LENGTH ENCODING UNTUK PERANCANGANAPLIKASI KOMPRESI DAN DEKOMPRESI FILE CITRA

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB 2 TINJAUAN PUSTAKA

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

KOMPRESI CITRA DIGITAL MENGGUNAKAN METODE STATISTICAL CODING

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

Teknik Kompresi Citra Menggunakan Metode Huffman

TUGAS AKHIR IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA KOMPRESI CITRA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Penerapan Pohon Biner Huffman Pada Kompresi Citra

BAB I PENDAHULUAN. Kemajuan teknologi informasi saat ini berdampak pada perkembangan ilmu

Teknik Pembangkitan Kode Huffman

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Kode Huffman dan Penggunaannya dalam Kompresi SMS

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

SATUAN ACARA PERKULIAHAN ( SAP )

BAB I PENDAHULUAN. dalam storage lebih sedikit. Dalam hal ini dirasakan sangat penting. untuk mengurangi penggunaan memori.

Penerapan Pengkodean Huffman dalam Pemampatan Data

1. Pendahuluan. 1.1 Latar Belakang Masalah

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks

MKB3383 -TEKNIK PENGOLAHAN CITRA. Kompresi Citra. Muhammad Zidny Naf an, M.Kom. Genap, 2016/2017

BAB 2 LANDASAN TEORI

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

Penerapan Metode Adaptif Dalam Penyembunyian Pesan Pada Citra

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

Algoritma Huffman dan Kompresi Data

BAB 2 LANDASAN TEORI

BAB IV ANALISA DAN PERANCANGAN

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

IMPLEMENTASI METODE HUFFMAN UNTUK KOMPRESI UKURAN FILE CITRA BITMAP 8 BIT MENGGUNAKAN BORLAND DELPHI 6.0

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Huffman dalam Kompresi Gambar Digital

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

IMPLEMENTASI TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DAN KOMPRESI UNTUK PENGAMANAN DATA PENGIRIMAN SURAT ELEKTRONIK

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

BAB 2 TINJAUAN PUSTAKA

artifak / gambar dua dimensi yang memiliki kemiripan tampilan dengan sebuah subjek. - wikipedia

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

BAB IV HASIL DAN UJI COBA

BAB II LANDASAN TEORI

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB II LANDASAN TEORI

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

JURNAL IT STMIK HANDAYANI

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

BAB I PENDAHULUAN. Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan

BAB 1 PENDAHULUAN 1-1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Steganografi adalah teknik menyisipkan pesan kedalam suatu media,

BAB 1 PENDAHULUAN 1-1

BAB 2 LANDASAN TEORI. 2.1 Pengenalan Citra

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

Kompresi. Definisi Kompresi

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA

IMPLEMENTASI METODE SPEED UP FEATURES DALAM MENDETEKSI WAJAH

Transkripsi:

PENERPN MEODE HUFFMN DLM PEMMPN CIR DIGIL Edy Victor Haryanto Universitas Potensi Utama, Jl. K.L. os Sudarso Km. 6,5 No. 3 j Mulia Medan edy@potensi-utama.ac.id, edyvictor@gmail.com abstrak Citra adalah representasi dari sebuah objek. Ukuran file sebuah gambar sangat berpengaruh terhadap kapasitas tempat penyimpanan, semakin besar kapasitas file sebuah gambar maka semakin besar pula dibutuhkan ruang untuk penyimpanan gambar tersebut, pada penelitian ini dibuat bagaimana sebuah gambar yang kapasitasnya dapat diperkecil sehingga ruang atau media untuk menyimpannya juga kecil dengan cara di mampatkan dan gambar yang dihasilkan pun juga akan berpengaruh. Bahasa pemrograman yang digunakan untuk membuat aplikasi ini adalah java. Citra ini juga melakukan pengelompokan nilai derajat keabuan pixel yang sama dari citra dan menyusun secara berurut agar dapat dikompresi dengan metode Huffman, serta melakukan proses dekompresi dengan mengembalikan citra yang sudah dikompresi. Kata kunci : Kompresi, Citra digital, Metode Huffman, Java 1. Pendahuluan Citra merupakan representasi digital dari objek gambar, yang tidak lepas dari kebutuhan manusia. Pada umumnya representasi citra membutuhkan memori yang cukup besar, khususnya citra warna. Hal ini tentu sangat mempengaruhi ketersediaan tempat (space) maupun pengolahan data khususnya data citra dalam perkembangan ilmu pengetahuan khususnya dibidang ilmu komputer. Permasalahan lain yang sering timbul dalam pengolahan citra dengan ukuran besar adalah ketika dilakukan proses transmisi (pengiriman gambar) melalui media komunikasi. Ini tentu akan memperlambat waktu pengiriman. Untuk itu perlu dikembangkan aplikasi untuk kompresi citra yang bertujuan untuk minimalisasi memori. Citra dalam format BMP ada tiga macam : citra biner, citra berwarna, dan citra hitam-putih (grayscale). Citra biner hanya mempunyai dua nilai keabuan, yaitu 0 dan 1. Oleh karena itu, 1 bit sudah cukup untuk merepresentasikan nilai pixel. Citra berwarna adalah citra yang lebih umum. Warna yang terlihat pada citra bitmap merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru. Setiap pixel disusun oleh tiga komponen warna : R (red), G (green), dan B (blue). Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas untuk pixel yang bersangkutan. Nilai setiap pixel tidak menyatakan derajat keabuan secara langsung, tetapi nilai pixel menyatakan indeks tabel RGB yang membuat nilai keabuan merah (R), nilai keabuan hijau (G), dan nilai keabuan biru (B) untuk pixel yang bersangkutan. Pada citra hitam-putih, nilai R = G = B untuk menyatakan bahwa citra hitam-putih hanya mempunyai satu kanal warna. Citra hitamputih umumnya adalah citra 8-bit. Citra yang lebih kaya warna adalah citra 24-bit. Setiap pixel panjangnya 24 bit, karena setiap pixel langsung menyatakan komponen warna merah, komponen warna hijau, dan komponen warna biru. Masing-masing komponen panjangnya 8 bit. Citra 24-bit disebut juga citra 16 juta warna. dapun batasan-batasan dan manfaat pada penelitian ini adalah image yang digunakan adalah berekstension jpg dan bmp, ukuran citra nya adalah 80 x 80 dan dalam format RGB, metode kompresinya huffman, dapat memperkecil ukuran file gambar. Penelitian erkait Maria juga dalam penelitiannya membandingkan beberapa metode kompresi terhadap citra antara lain, Huffman, LZW, RLE dan Shannon Fano dan kesimpulan dari pengujian tersebut bahwa metode LZW menghasilkan ukuran kapasitas yang lebih kecil dibandingkan dengan metode yang lain[1]. Erik dalam penelitiannya membandingkan beberapa metode kompresi antara lain lossless dan lossy, yang digunakan untuk memperkecil ruang penyimpanan yang dibutuhkan sebuah file, parameter yang digunakan untuk membandingkan metode tersebut adalah : kualitas kompresi, rasio kompresi, ruang penyimpanan[2]. Menurut Rismon dalam penelitiannya mengungkapkan bahwa dengan menggunakan parameter laju bit dan PSNR lebih baik dalam mengkonversi citra digital dengan metode Wavelet dapat mengkompresi sebuah citra yang kapasitas citra tersebut menghasilkan sampai 2/5 283

dari kapasitas ukuran citra aslinya dan memiliki derajat halus[3]. Kompresi Data Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang padat atau mampat (compact) namun tetap mewakili kuantitas informasi yang terkandung pada data. Pada citra, video, dan audio, kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital. Data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu informasi. Namun tidak semua data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang disebut dengan data berlebih (redudancy data). ujuan dari pada kompresi data adalah untuk mengurangi data berlebihan sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi[4]. lgoritma Hufftman Metode huffman adalah metode pengkodean yang telah banyak diterapkan untuk aplikasi kompresi citra. Seperti metode shannon fano, metode huffman juga membentuk pohon atas dasar probabilitas setiap simbol, namun teknik pembentukan pohonnya berbeda. Berikut ini langkah-langkah algoritma huffman. (Darma Putra : 2010 : 279) 1. Data dianalisis dahulu dengan cara membuat tabel frekuensi kemunculan setiap simbol SCII, tabel frekuensi tersebut memiliki attribut berupa simbol SCII dan frekuensi. 2. Dua data yang memiliki frekuensi kemunculan paling kecil dipilih sebagai simpul pertama pohon huffman. 3. Data dua simpul dibuat simpul induk yang mencatat jumlah frekuensi dua simpul pertama. 4. Dua simpul tersebut dihapus dari tabel digantikan oleh simpul induk. Simpul ini kemdian dijadikan acuan untuk membentuk pohon. 5. Langkah 3-5 dilakukan berulang-ulang hingga isi tabel tinggal satu saja. Data inilah yang akan menjadi simpul bebas atau simpul akar. 6. Setiap simpul yang terletak pada cabang kiri (simpul dengan frekuensi lebih besar) diberikan nilai 0 dan simpul yang terletak pada cabang kanan (Simpul dengan frekuensi lebih kecil) diberikan nilai 1. 7. Pembacaan dilakukan dari simpul akar ke simpul daun dengan memperhatikan nilai setiap cabang[4]. lgoritma Huffman diperkenalkan oleh David. Huffman seorang mahasiswa MI dalam papernya yang berjudul " Method for the Construction of Minimum-Redundancy Codes" dan diterbitkan pada tahun 1952. Prinsip kode Huffman adalah karakter yang paling sering muncul di dalam data dikodekan dengan kode yang jumlah bitnya lebih sedikit, sedangkan karakter yang jarang muncul dikodekan dengan kode yang jumlah bitnya lebih panjang. lgoritma Huffman menggunakan tabel frekuensi kemunculan karakter untuk menggambarkan setiap karakter menjadi kode atau string biner. Kode atau string biner yang digunakan untuk mengkodekan setiap karakter dinamakan kode Huffman. lgoritma Huffman yang akan dibahas dalam tulisan ini adalah algoritma Huffman yang menggunakan metode statik, yaitu metode yang menggunakan peta kode yang sama, metode ini membutuhkan dua fase, yaitu fase pertama untuk menghitung frekuensi kemunculan tiap karakter dan menentukan peta kodenya dan fase ke dua untuk mengubah pesan atau data menjadi kumpulan kode yang akan ditransmisikan. Kode optimal untuk sebuah file digambarkan dengan pohon biner penuh, di mana setiap node bukan daun mempunyai dua anak. Pada awalnya Huffman hanya mengkodekan karakter menggunakan pohon biner biasa, namun setelah itu Huffman menemukan bahwa penggunaan algoritma Greedy dapat membentuk kode prefiks yang optimal. Penggunaan algoritma Greedy pada algoritma Huffman adalah pada saat pemilihan dua pohon dengan frekuensi terkecil dalam membuat pohon Huffman. Cost yang digunakan untuk menggabungkan dua buah pohon pada akar setara dengan jumlah frekuensi dua buah pohon yang digabungkan. Oleh karena itu, total cost pembentukan pohon Huffman adalah jumlah seluruh penggabungan daun-daun. lgoritma Huffman menggunakan struktur data string sebagai masukan, struktur data binary tree pada pembentukan pohon biner dan array untuk mendeklarasikan kumpulan variabel yang bertipe sama[4]. 2. Perancangan Dalam penelitian ini, yang dibahas adalah pengkompresian gambar (citra) dengan menggunakan metode Huffman. Sebagaimana telah diuraikan dalam bab sebelumnya, pada dasarnya citra (*.jpg atau *.bmp) dibentuk dengan mendefinisikan nomor warna untuk setiap pixel yang terdapat dalam daerah gambar atau citra. Dengan demikian banyak pendefinisian warna adalah hasil perkalian lebar dengan tinggi citra. Warna yang digunakan tentu kemungkinan besar ada yang berulang untuk lokasi yang berbeda. 284

Dalam bagian ini akan dilakukan pembahasan dalam menerapkan metode Huffman untuk melakukan kompresi citra berdasarkan urutan kemunculan warna dalam citra. Hasil kompresi citra akan disimpan dalam suatu file (*.jpg_mapat). 2.3. Flowchart Start Pilih Menu 2.1. nalisis lgoritma Huffman File Pilih Submenu File lgoritma Huffman membangun pohon biner dari bawah ke atas yaitu dimulai dari daun hingga ke akar. Pembentukan ini dimulai dengan urutan karakter-karakter yang dinyatakan sebagai daundaun pohon atau pohon bersimpul tunggal. Karakter-karakter digabungkan berkali-kali dengan karakter atau subpohon lainnnya yang mempunyai frekuensi kemunculan karakter paling kecil untuk membentuk subpohon baru. Proses ini terus berlanjut hingga semua karakter atau subpohon telah digabungkan pada sebuah akar. Untuk membentuk kode Huffman, telusuri pohon biner dari akar ke daun. Barisan angka 0 dan 1 pada sisi pohon dari akar ke daun menyatakan kode Huffman untuk karakter yang bersesuaian. BG Mampatkan Edit Citra Message MC Box entang entang Gambar 2 : Flowchart Menu Utama BG F=open.Dialog() Buka Gambar Keluar End 2.2. Perancangan Pemampatan Citra Menu utama adalah tampilan awal dari program dimana berisikan menu dan tombol yang mempermudah untuk memilih jenis citra yang akan di kompresi dengan metode Huffman BufGambar=F.readImage() plikasi Pemapatan Citra JPEG File Edit entang ImgIcon=KonversiIcon(BufGambar) Priview Gambar Gambar Sebelum Gambar Sesudah setlabelpreviewicon=imgicon Informasi Pemapatan Ukuran File Original: Belum di Set Ukuran File Mampat: Belum di Set Resolusi Gambarl: Belum di Set Nisbah Pemapatan: Belum di Set Preview Gambar dan Keterangannya Setting Pemapatan File Original : File Mampat : Lakukan Proses Pemampatan Gambar 3 : Flowchart Buka Gambar Gambar 1 : Perancangan Menu Utama 285

MC Citra=BufferedImage Sizewal=Citra.getSize() Baca Pixel yang akan dicode-kan Sorting dan Hitung Frekuensi Kemunculan Pixel Buat List Node Pixel Berdasarkan Frekuensi Kemunculan mbil 2 Node terkecil dan hapus dari List Buat Node Baru Hasil Penjumlahan kedua Node terkecil Semua Node sudah digunakan didalam ree? Masukkan Node Baru ke dalam List Node Gambar 5 : Menu Utama ampilan Buka File Citra Simpan Hasil Kompresi Coding Huffman Hitung Size Hasil Mampat Pada tampilan buka file citra ini berfungsi untuk mengambil gambar citra untuk pengujian pemampatan citra. Rasio=(Sizewal-Sizekhir)/Sizekhir x 100% Gambar 4 : Flowchart Pemampatan Citra 3. Hasil dan Pembahasan ampilan Menu Utama Pada menu utama ini berfungsi sebagai tampilan utama dari program aplikasi pemapatan citra digital. Di dalam menu utama ini terdiri dari proses pemampatan citra. Gambar 6 : Buka File Citra 286

Gambar 9 : ampilan Hasil Pemampatan Citra 4. Kesimpulan dan Saran 4.1. Kesimpulan Dari hasil pembuatan aplikasi kompresi citra dengan metode huffman ini, maka dapat diambil beberapa kesimpulan sebagai berikut : Gambar 7 : ampilan Hasil Buka File Citra ampilan Hasil Proses Pemampatan Pada tampilan proses ini berfungsi untuk membuat hasil file citra menjadi kecil. 1. Perangkat lunak kompresi citra dengan metode huffman dapat melakukan kompresi file citra dengan format bmp maupun jpg. 2. Kompresi citra dengan metode huffman dapat memperkecil ukuran file citra, sehingga dapat menghemat ruang tempat penyimpanan (Storage). 3. Gambar yang telah dimampatkan dapat dikembalikan kembali ke ukuran semula atau file aslinya. DFR PUSK [1] Roslin, Maria, 2013, Perbandingan lgoritma Kompresi erhadap Objek Citra Menggunakan Java, SEMNIK 2013. [2] Iman, Erik dan Sri Hartati, 2010, Ikhtisar Kompresi Citra Prosiding SNS Periode II, Desember 2010. [3] Rismon H, 2003, Kompresi Citra Digital Berbasis Wavelet : injauan PSNR dan Laju Bit Jurnal Informatika, Vol. 4, No. 2, 2003. [4] Putra, Dharma, 2010, Dasar Pengolahan Citra, Gunadarma, Jakarta. [5] Priyatno, Budi BN, 2011 : 1, Pengolahan Citra Digital. [6] Sulistiyani, Sri, 2010, Membangun GUI Gambar 8 : ampilan Hasil Citra Sebelum dan dengan JV Netbean 6.5, ndi, Sesudah dimampatkan ogyakarta. [7] Departemen Pendidikan Nasional, Kamus Hasil dari pemampatan akan memperlihatkan Besar Bahasa Indonesia, Kamus Pusat bahwa baik itu pixel dan ukuran kapasitas gambar Bahasa, Edisi ketiga, Balai Pustaka, asli dan hasilnya akan menjadi lebih kecil atau Jakarta 2001. berbeda. http://blog.trisakti.ac.id/labkomputer/file/2010/05/ MODULDKP.pdf 287