12
TUGAS AKHIR IMPLEMENTASI METODE RUN LENGTH ENCODING DALAM KOMPRESI CITRA DENGAN CITRA HITAM PUTIH Diajukan Untuk Memenuhi Tugas dan Syarat-syarat Guna Memperoleh Gelar Sarjana Teknik pada Fakultas Teknik Jurusan Teknik Elektro Universitas Muhammadiyah Surakarta Disusun oleh : AGUS SRIWIYANTO D 400 080 007 FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO UNIVERSITAS MUHAMMADIYAH SURAKARTA 2012

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO …eprints.ums.ac.id/21764/12/j).___NASKAH_PUBLIKASI.pdf · Metode Run Length Encoding yaitu, teknik mengkompresi citra yang berisi karakter-karakter

  • Upload
    trinhtu

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

TUGAS AKHIR

IMPLEMENTASI METODE RUN LENGTH ENCODING DALAM KOMPRESI CITRA

DENGAN CITRA HITAM PUTIH

Diajukan Untuk Memenuhi Tugas dan Syarat-syarat Guna Memperoleh Gelar

Sarjana Teknik pada Fakultas Teknik Jurusan Teknik Elektro

Universitas Muhammadiyah Surakarta

Disusun oleh :

AGUS SRIWIYANTO

D 400 080 007

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

UNIVERSITAS MUHAMMADIYAH SURAKARTA

2012

IMPLEMENTASI METODE RUN LENGTH ENCODING

DALAM KOMPRESI CITRA DENGAN CITRA HITAM PUTIH

Agus Sriwiyanto FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

UNIVERSITAS MUHAMMADIYAH SURAKARTA

E-mail : [email protected]

ABSTRAKSI

Pada era informasi seperti sekarang ini, dunia berkembang diikuti dengan pengembangan ilmu

pengetahuan dan teknologi yang begitu pesat. Hal ini terlihat dengan beragamnya inovasi- inovasi yang mampu

tercipta dengan pengembangan dalam bidang ilmu pengetahuan dan teknologi. Salah satunya adalah

pengembangan dalam bidang kompresi citra (Image Compression). Dengan tunjuan memanpatkan citra sehingga

mengurangi kebutuhan ruang memori dalam storage lebih sedikit.

Penelitian ini membahas tentang bagaimana cara mengimplementasikan metode Run Length Encoding dalam program kompresi citra, yang bertujuan untuk melakukan kompresi ukuran memori suatu citra menjadi lebih

kecil, sehingga keterbatasan memori pada media penyimpanan dapat diatasi. Metode Run Length Encoding yaitu,

teknik mengkompresi citra yang berisi karakter-karakter berulang, jadi pada saat karakter yang diterima lebih dari

tiga karakter berderet, maka penggunaan metode ini sangat efektif. Selain itu digunakannya bahasa pemrograman

Matlab, karena selain andal untuk menampilkan data-data vector atau matriks dapat juga digunakan untuk

menampilkan data-data citra. Hal ini disebabkan data citra pada dasarnya berupa matiks warna dengan derajat

keabuan (Gray Scale) tertentu.

Dari hasil penelitian ini, dapat disimpulkan bahwa program kompresi ini melalui dua tahab yaitu encode

dan decode. Encode adalah mengcodekan intensitas citra sehingga didapatkan hasil citra yang lebih kecil dari citra

aslaiya sedangkan decode yaitu mengembalikan atau menyusun kembali intensitas yang dicodekan menjadi citra

yang semula sesuai dengan citra aslinya. Hasil citra yang terkompresi memiliki ukuran lebih kecil dari ukuran citra

asli . mampu mengkompesi dengan nilai rata rata mencapai 7.287 Kb.

Kata kunci : Image Compression, Run Length Encoding, Matlab

1. PENDAHULUAN

Pada era informasi seperti sekarang ini,

siapa yang tidak kenal yang namanya tempat

penyimpanan data atau yang sering disebut

memori. Merupakan media penyimpan

berbagai macam data seperti bentuk teks,

gambar, audio, dan video atau yang sering

disebut dengan multimedia. Akan tetapi data

yang begitu besar sangat mempengaruhi

kebutuhan ruang memori dalam storage lebih

sedikit. Dalam hal ini dirasakan sangat penting

keberadaan suatu metode kompresi dengan

performa tinggi, yang bertujuan untuk

mengurangi penggunaan memori.

Diperlukan kompresi pada data untuk

menghasilkan ukuran data yang lebih kecil,

merupakan alternatif pemecahan masalah yang

mungkin dapat dilakukan. Run Length

Encoding merupakan salah satu teknik

kompresi data yang umumnya digunakan pada

pengolahan citra (Image Compressing) di

mana data berjalan (yaitu, urutan di mana nilai

data yang sama terjadi pada banyak elemen

data yang berturut-turut) disimpan sebagai

nilai data tunggal dan dihitung panjangnya.

Teknik kompresi bersifat lossless sehingga

mampu merekonstruksi file hasil kompresi

kebentuk asalnya.

Dalam Tugas Akhir ini mencoba

mengimplementasikan metode Run Length

Encoding. Karena metode ini pada dasarnya

memampatkan data yang berisi karakter-

karakter berulang, di mana data yang akan

dikompresi berupa citra hitam putih dan

apabila citra bukan berupa citra hitam putih

maka harus diubah terlebih dahulu . Oleh

sebab itu kompresi Run Length Encoding ini

mempunyai daya kompresi yang sangat besar

sehingga efisiensinya juga sangat besar.

a. Format Pixel 1 Bit (Citra Biner

Monocrom)

Citra biner diperoleh melalui proses

pemisahan pixel – pixel berdasarkan derajat

keabuan yang dimilikinya. Pada citra biner,

setiap titik bernilai 0 dan 1, masing – masing

merepresentasikan warna tertentu. Nilai 0

diberikan untuk pixel yang memiliki derajat

keabuan lebih kecil dari nilai batas yang

ditentukan, sementara pixel yang memiliki

derajat keabuan yang lebih besar dari batas

akan di ubah menjadi nilai 1. Pada standar

citra untuk ditampilkan di layer computer,

nilai biner ini berhubungan dengan ada

tidaknya cahaya yang ditembakkan oleh

electron gun yang terdapat di dalam monitor

komputer. Angka 0 menyatakan tidak ada

cahaya, dengan demikian warna yang

direpresentasikan adalah hitam. Untuk angka

1, terdapat cahaya, sehingga warna yang

direpresentasikan adalah putih. Standar

tersebut disebut sebagai standar citra cahaya,

sedangkan standar citra tinta / cat adalah

berkebalikan, karena biner tersebut

menyatakan ada tidaknya tinta. Setiap titik

pada citra hanya membutuhkan 1 bit, sehingga

setiap byte dapat menampung informasi 8 bit.

Ilustrasi dari citra biner bisa dilihat pada

gambar 1 :

Gambar 1. Ilustrasi Citra Biner Monokrom.

b. Format Pixel 8 bit (Citra Gray Scale)

Citra skala keabuan memberi

kemungkinan warna yang lebih banyak

daripada citra biner, karena ada nilai – nilai

diantara nilai minimum (biasanya = 0) dan

nilai maksimum. Banyaknya kemungkinan

nilai minimum dan nilai maksimumnya

bergantung pada jumlah bit yang digunakan.

Mata manusia pada umumnya hanya

mempunyai kemampuan untuk membedakan

maksimal 40 tingkat skala keabuan. Untuk

citra tampak / visible image dipilih skala

keabuan lebih dari 40. Pada umumnya, citra

skala keabuan menggunakan jumlah bit 8,

sesuai dengan satuan memori komputer.

Contohnya untuk skala keabuan 4 bit, maka

jumlah kemungkinan nilainya adalah 16, dan

nilai maksimumnya adalah 24 – 1 = 23.

Sedangkan untuk skala keabuan 8 bit, maka

jumlah kemungkinan nilainya adalah 256, dan

nilai maksimumnya adalah 256 – 1 = 255.

Format citra ini disebut skala keabuan, karena

pada umumnya warna yang dipakai adalah

antara warna hitam sebagai warna minimal dan

warna putih sebagai warna maksimalnya,

sehingga warna diantara hitam dan putih

adalah warna abu – abu. Namun pada

prakteknya, warna yang dipakai tidak terbatas

pada warna abu – abu. Sebagai contoh, dipilih

warna minimalnya adalah putih dan warna

maksimalnya adalah merah, maka semakin

besar nilainya semakin besar pula intensitas

warna merahnya. Format citra ini kadang

disebut sebagai citra intensitas. Ilustrasi dari

citra Gray Scale dapat dilihat pada gambar 2:

Gambar 2. Ilustrasi Citra Grey Scale.

c. Format Pixel 24 Bit (Citra Warna/True

Color)

Pada citra warna, setiap titik mempunyai

warna yang paling spesifik yang merupakan

kombinasi dari 3 warna dasar, yaitu merah

(red), hijau (green) dan biru (blue). Ada

perbedaan warna dasar untuk dasar cahaya.

(misalnya display di monitor komputer) dan

untuk cat (misalnya cetakan di atas kertas).

Untuk cahaya, warna dasarnya adalah red

green dan blue (RGB), sedangkan untuk cat

warna dasarnya adalah sian, magenta, kuning

(cyan, magenta, yellow) CMY. Keduanya

saling berkomponen. Format citra ini sering

disebut sebagai citra RGB (Red-Green-Blue).

Setiap warna dasar mempunyai intensitas

sendiri dengan nilai maksimum 255 (8bit),

misalnya warna kuning merupakan kombinasi

warna merah dan hijau sehingga nilai RGB

nya adalah 255 255 0. Sedangkan warna ungu

muda, nilai RGB nya adalah 150 0 150,

dengan demikian setiap titik pada citra warna

membutuhkan data 3 byte. Jumlah kombinasi

warna yang mungkin untuk format citra ini

adalah 224 atau lebih dari 16 juta warna.

Dengan demikian, bisa di anggap mencakup

semua warna yang ada, inilah sebabnya format

ini dinamakan true color. Ilustrasi dari citra ini

dapat dilihat pada gambar 3 :

Gambar 3. Ilustrasi Citra True

Color.

Teknik Kompresi Citra

Teknik kompresi pada citra dapat dibagi

menjadi dua kategori besar, yaitu

a. Lossy Compression

Lossy compression menyebabkan adanya

perubahan data dibandingkan sebelum

dilakukan proses kompresi. Sebagai gantinya

lossy compression memberikan derajat

kompresi lebih tinggi. Tipe ini cocok untuk

kompresi file suara digital dan gambar digital.

File suara dan gambar secara alamiah masih

bisa digunakan walaupun tidak berada pada

kondisi yang sama sebelum dilakukan

kompresi.

Ciri-ciri lossy compression:

1. Ukuran file citra menjadi lebih kecil

dngan menghilangkan beberapa informasi

dalam citra asli.

2. Teknik ini mengubah detail dan warna

pada file citra menjadi lebih sederhana

tanpa terlihat perbedaan yang mencolok

dalam pandangan manusia, sehingga

ukuranya menjadi lebih kecil.

3. Biasanya digunakan pada citra foto atau

image lain yang tidak terlalu memerlukan

detail citra, dimana kehilangan bit rate

foto tidak berpengaruh pada citra.

b. Lossless Compression

Sebaliknya Lossless Compression

memiliki derajat kompresi yang lebih rendah

tetapi dengan akurasi data yang terjaga antara

sebelum dan sesudah proses kompresi.

Kompresi ini cocok untuk basis data, dokumen

atau spreadsheet. Pada lossless compression

Gambar 4. Contoh Dari Chroma

Subsampling.

ini tidak diijinkan ada bit yang hilang dari data

pada proses kompresi.

Beberapa teknik lossless:

1. Color reduction: untuk warna-warna

tertentu yang mayoritas dimana informasi

warna disimpan dalam color palette.

2. Chroma subsampling: teknik yang

memanfaatkan fakta bahwa mata manusia

merasa brightness (luminance) lebih

berpengaruh daripada warna

(chrominance) itu sendiri, maka dilakukan

pengurangan resolusi warna dengan

disampling ulang. Biasanya digunakan

pada sinyal YUV.

3. Chroma Subsampling terdiri dari 3

komponen: Y (luminance) : U (CBlue) : V

(CRed) seperti dilihat pada gambar 4.

Run Length Encoding (RLE)

Algoritma kompresi ini merupakan

algoritma kompresi dasar, yang sering kali

dipakai sebagai satu prakomputasi untuk

mengurangi penyimpanan. Ide dasar algoritma

Run Length Encoding adalah mengubah suatu

blok huruf yang sama menjadi bentuk

(dikodekan) blok huruf yang lain, tetapi

informasi tentang huruf tersebut dan

jumlahnya dalam blok tetap sama. Algoritma

Run Length Encoding sering digunakan untuk

memampatkan data yang berisi karakter –

karakter berulang. Saat kaarakter yang sama

diterima secara berderetan lebih dari tiga

karakter berderetan maka algoritma Run

Length Encoding dirasa efektif trehadap file –

file grafis dimana berisi deretan karakter yang

sama tersebut.

Teknik yang digunakan pada algoritma ini

adalah dengan mencari karakter yang berulang

lebih dari 3 kali pada suatu file untuk

kemudian diubah menjadi sebuah bit penanda

(marker bit) diikuti oleh sebuah bit yang

memberikan informasi jumlah karakter yang

berulang dan kemudian ditutup dengan

karakter yang dikompres. Yang dimaksud

dengan bit penanda di sini adalah deretan 8 bit

yang membentuk suatu karakter ASCII

(American Standard Code For Information

Intercharg). Jadi jika suatu file mengandung

karakter yang berulang, misalnya

AAAAAAAA atau dalam biner 01000001

sebanyak 8 kali, maka data tersebut dikompres

menjadi 11111110 00001000 01000001.

Dengan demikian kita dapat menghemat

sebanyak 5 bytes. Agar lebih jelas algoritma

Run-Length dapat dilihat pada gambar 5.

Deretan data sebelah kiri merupakan

deretan data pada file asli, sedangkan deretan

data sebelah kanan merupakan deretan data

hasil pemampatan dengan algoritma Run

Length Encoding.

Dengan menggunakan metoda

pengambilan probabilitas seperti diatas maka

teknik Run Length Encoding tidak

membutuhkan waktu komputasi yang lama

seperti halnya metode yang digunakan pada

teknik arithmetic coding. Metode tersebut akan

sangat efektif bila file yang dikompres

merupakan deretan karakter yang sama seperti

halnya pada file - file gambar.

Namun hal tersebut tidak berlaku pada

file-file dokumen umum dimana kemungkinan

penggunaan karakter sangat heterogen.

Dengan kata lain, jika file yang ingin

dikompres tidak memiliki deretan lebih dari 3

karakter maka file hasil kompresi akan sama

dengan file aslinya.

Gambar 5. Contoh dari penggunaan

algoritma Run Length Eencoding.

Gambar 6. Flowchar Penelitian

2. METODE 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,

yaitu dengan terlebih dahulu memanggil citra

yang akan di-encode dan citra tersebut

merupakan citra hitam putih. Kemudian citra

tersebut diberikan nilainya pada setiap

barisnya dimana putih dilambangkan dengan

1 dan hitam dilambangkan dengan 0.

Rentetan 0 dan 1 tersebut kemudian di-

encode sehingga diperoleh jumlah masing-

masing dari 0 dan 1 tersebut. Value (0 dan 1)

kemudian dimasukkan kedalam table beserta

berapa jumlahnya pada GUI Matlab.

Sedangkan untuk proses dekompresi, pada

GUI Matlab akan membaca data dari table

hasil kompresi untuk kemudian disusun

kembali sesuai dengan urutannya dan

membentuk kembali citra yang sesuai dengan

aslinya.

Untuk lebih jelasnya seperti terlihat pada

Flowchart dibaeah ini:

Gambar 7. Flowchart Run Length Encoding

3. PENGUJIAN PROGRAM DAN

ANALISA HASIL

Berikut merupakan screenshot pengujian

program dengan metode Run Length Encoding

yamg melalui 2 tahap yaitu kompresi dan

dekompresi yang ditunjukkan gambar 8, 9 10.

.Gambar 8. Pengujian Program

Kompresi.

Gambar 9. Hasil Kompresi Citra RLE.

Gambar 10. Pengujian Program

Dekompresi.

Analisa hasil merupakan analisa dari

perbandingan ukuran citra asli dengan ukuran

citra hasil kompresi. Berikut beberapa tahap

dalam menganalisa hasil.

1. Data Citra Asli

Tabel 1. Tabel Spesifikasi Citra Asli (Citra

Hitam Putih)

2. Data Citra Terkompresi

Tabel 2. Spesifikasi Citra Terkompresi

Dengan Format JPG. Spesifikasi Citra Terkompresi Dengan Format JPG

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Mbah_Maridjan 34.974 JPG

2 Soekarno 16.656 JPG

Tabel 3. Spesifikasi Citra Terkompresi

Dengan Format BMP. Spesifikasi Citra Terkompresi Dengan Format BMP

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Alexander Graham Bell 2.794 BMP

2 UMS 8.05 BMP

Tabel 4. Spesifikasi Citra Terkompresi

Dengan Format PNG. Spesifikasi Citra Terkompresi Dengan Format PNG

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Baboon 0.115 PNG

2 Lena 0.109 PNG

Spesifikasi Citra Asli (Citra Hitam Putih)

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Mbah_Maridjan 10.53 JPG

2 Soekarno 6.016 JPG

3 Alexander Graham Bell 5.662 BMP

4 UMS 5.662 BMP

5 Baboon 3.484 PNG

6 Lena 1.937 PNG

7 H. Agus Salim 1.562 TIF

8 Ki Hajar Dewantoro 1.75 TIF

9 Ahmad Yani 1.811 GIF

10 Lionel Messi 1.538 GIF

Tabel 5. Spesifikasi Citra Terkompresi

Dengan Format TIF.

Tabel 6. Spesifikasi Citra Terkompresi

Dengan Format GIF.

3. Data Citra Dekompresi

Tabel 7. Spesifikasi Citra Dekompresi

Dengan Format JPG.

Tabel 8. Spesifikasi Citra Dekompresi

Dengan Format BMP.

Tabel 9. Spesifikasi Citra Dekompresi

Dengan Format PNG.

Tabel 10. Spesifikasi Citra Dekompresi

Dengan Format TIF.

Tabel 11. Spesifikasi Citra Dekompresi

Dengan Format GIF. Spesifikasi Citra Dekompresi Dengan Format GIF

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Ahmad Yani 1.811 GIF

2 Lionel Messi 1.538 GIF

4. KESIMPULAN

a. Melakukan kompresi citra dengan

menggunakan metode Run-length

encoding yaitu, menggunakan gambar

hitam putih, apabila citra bukan hitam

putih maka akan dirubah terlebih dahulu.

Penggunan citra hitam putih dikarenakan

citra hitam putih memiliki banyak

karakter-karakter berulang.

b. Ada 2 proses yang digunakan dalam

metode Run-length encoding yaitu prose

kompresi dan prose dekompresi. Proses

kompresi yaitu proses merupakan proses

dimana program kompresi citra

melakukan proses encoding. Sedangkan

proses dekompresi yaitu proses men-

decoding citra yang telah di-encoding

diperlukan proses tersebut karena metode

Run-length encoding bersifat lossles

DAFTAR PUSTAKA

_____. “Run-length encoding”.

http://en.wikipedia.org/wiki/Run-

length_encoding. Diakses pada tanggal 13

Desember 2011. pukul 23.00 WIB

_____. “Image Compression RLE”.

http://www.mathworks.com. Diakses pada

tanggal 13 Desember 2011. pukul 22.00 WIB

Amir, Said. 2004. Comparative Analysis of

Arithmetic Coding Computational

Complexity. HP Laboratories Palo

Alto California USA : Imaging

Systems Laboratory.

Angga, 2009, Kompresi Citra.

http://angga212.wordpress.com.

Diakses pada tanggal 13 Desember

2011. pukul 23.00 WIB.

Spesifikasi Citra Terkompresi Dengan Format TIF

No Nama Citra Ukuran Citra (KB)

Format Citra

1 H. Agus Salim 2.196 TIF

2 Ki Hajar Dewantoro 2.798 TIF

Spesifikasi Citra Terkompresi Dengan Format GIF

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Ahmad Yani 2.777 GIF

2 Lionel Messi 2.338 GIF

Spesifikasi Citra Dekompresi Dengan Format JPG

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Mbah_Maridjan 11.384 JPG

2 Soekarno 6.431 JPG

Spesifikasi Citra Dekompresi Dengan Format BMP

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Alexander Graham Bell 5.662 BMP

2 UMS 5.662 BMP

Spesifikasi Citra Dekompresi Dengan Format PNG

No Nama Citra Ukuran Citra (KB)

Format Citra

1 Baboon 3.484 PNG

2 Lena 1.937 PNG

Spesifikasi Citra Dekompresi Dengan Format TIF

No Nama Citra Ukuran Citra (KB)

Format Citra

1 H. Agus Salim 1.562 TIF

2 Ki Hajar Dewantoro 1.75 TIF

Blelloch, Guy E. 2001. Introduction to Data

Compression, Computer Science

Department, Carnegie Mellon

University Diakses 27 Maret 2005

6:25:12 AM.

Hauck, S. dan Wilson, William D. 1999. Run

length Compression Techniques for

FPGA Configurations, Dept. of ECE,

Northwestern University, Evanston,

IL 60208-3118 USA, IEEE

Symposium on FPGAs for Custom

Computing Machines,.

Iqbal, Muhammad. Dasar Pengolahan Citra

Menggunakan Matlab. www.creative

instrument.com/dokumen/image.pdf,

Diakses pada tanggal 13 Desember

2011. pukul 23.00 WIB.

Nelson, Mark. 1991. The Data Compression

Book. U.S.A. : M&T Books, , hal

32-47.

Ririanti, Santi. 2010. Perancangan Perangkat

lunak Kompresi File Citra Dengan

Menggunakan Algoritma Run Length

Encoding (RLE). Universitas

Sumatera Utara.

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.