• Tidak ada hasil yang ditemukan

AGUS SRIWIYANTO D

N/A
N/A
Protected

Academic year: 2021

Membagikan "AGUS SRIWIYANTO D"

Copied!
12
0
0

Teks penuh

(1)

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

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

IMPLEMENTASI METODE RUN LENGTH ENCODING

DALAM KOMPRESI CITRA DENGAN CITRA HITAM PUTIH

Agus Sriwiyanto

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO UNIVERSITAS MUHAMMADIYAH SURAKARTA

E-mail : agus.kopral@yahoo.co.d 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

(6)

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:

(7)

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

(8)

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.

(9)

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

(10)

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

(11)

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

(12)

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

Gambar

Gambar 2. Ilustrasi Citra Grey Scale.
Gambar 6. Flowchar Penelitian  2. METODE PENELITIAN
Gambar 9. Hasil Kompresi Citra RLE.

Referensi

Dokumen terkait

Anda bisa saja belajar sendiri di google.co id, dengan mengetikan kata kunci forex, dengan resiko, anda terkena scam, mencari-cari sistem yang tepat, dan yang terpenting Waktu

2009 Novel: Tegar Bengawan Pemenang I Sayembara Penulisan Buku Pengayaan PUSBUK KEMENDIKBUD 2009 2009 Prophetic Learning Pro-U Media (Cetakan ke-2 pd 2010) 2008 Novel:

Dari diagram aktivitas belajar siklus I dan siklus II dapat dijelaskan mengenai peningkatan aktivitas belajar peserta didik, perolehan data pada siklus I indikator pertama

Rumusan masalah pada penelitian adalah Apakah ada perbedaan metode pre-induksi hipnodonsi antara anak laki-laki dan perempuan usia 8- 10 tahun terhadap tingkat kecemasan

Sedangkan total beban kerja untuk proses sortir yang dibutuhkan adalah 10,78 dengan masing-masing operator sebesar 119,8% sehingga menunjukkan bahwa beban kerja yang

K egiatan ini merupakan bagian dari yang dilakukan oleh Aliansi Kota dan Kabupaten Peduli Sanitasi Indonesia (AKKOPSI) untuk mendukung peningkatan akses masyarakat

Urgensi penemuan model pembinaan dan pembimbingan berbasis kompetensi bagi narapidana pelaku cybercrime karena secara individual narapidana tersebut mempunyai kemampuan dan

Teknologi Anjuran Petani Tebu Rakyat adalah usaha intensifikasi dalam usaha tani tebu dan gula yang mengacu pada hasta usaha tani tebu, baik untuk tanaman pertama