• Tidak ada hasil yang ditemukan

Perbandingan Kompresi Citra Menggunakan Algoritma Run- Length Encoding Dengan Algoritma Elias Delta Code

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Kompresi Citra Menggunakan Algoritma Run- Length Encoding Dengan Algoritma Elias Delta Code"

Copied!
15
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

Pada bab ini akan membahas landasan atas teori-teori ilmiah untuk mendukung penelitian ini. Teori-teori yang dibahas mengenai pengertian citra, kompresi citra, algoritma dan jenisnya, serta beberapa sub pokok pembahasan lainnya yang menjadi landasan dalam penelitian ini.

2.1. Citra Digital

Citra digital adalah citra yang dapat diolah oleh komputer. Citra digital disebut juga citra diskrit di mana citra tersebut dihasilkan melalui proses digitalisasi terhadap citra kontinu. (Sutoyo, 2009)

(2)

Pada gambar 2.1. terdapat sebuah ilustrasi citra grayscale berukuran 200x200 pixel diambil sebagian (kotak kecil) berukuran 8x9. Setelah itu monitor akan menampilkan sebuah kotak kecil, namun yang disimpan dalam memori komputer hanyalah angka-angka yang menunjukkan besar intensitas pada masing-masing pixel tersebut (Sutoyo, 2009). Citra digital merupakan sebuah matriks di mana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai pixel) menyatakan tingkat keabuan pada titik tersebut. Sebuah citra mungkin dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) disebut intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital.

Gambar 2.2. Pixel Matriks (Pramitarini, 2011)

Pada gambar 2.2. terdapat nilai Digital dan banyak bit: M = banyak pixel per baris (panjang)

(3)

Citra digital memiliki 4 jenis, yaitu Citra Biner, Grayscale, True Color, dan Indexed Color.

2.1.1. Citra Biner

“Citra biner (monochrome) atau disebut juga binary image, merupakan citra digital yang setiap pixel-nya hanya memiliki 2 kemungkinan derajat keabuan, yaitu 0 dan 1. Nilai 0 mewakili warna hitam, dan nilai 1 mewakili warna putih, di mana setiap pixel -nya membutuhkan media penyimpanan sebesar 1 bit.” (Paryono, 2010) Citra biner diperoleh melalui proses pemisahan 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 standard citra untuk ditampilkan di layer komputer, 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. (Pramitarini, 2011)

(4)

2.1.2. Citra Grayscale

Citra skala keabuan atau disebut juga dengan citra aras keabuan memberikan kemungkinan warna yang lebih banyak. Format citra ini disebut dengan aras keabuan karena ada warna abu-abu diantara warna minimum (hitam) dan warna maksimum (putih). Jumlah maksimum warna sesuai dengan bit penyimpanan yang digunakan, apakah 4 bit atau 8 bit. Citra dengan skala keabuan 4-bit memiliki 24 = 16 kemungkinan warna, yaitu 0 (minimal) hingga 15 (maksimal). Sementara citra digital dengan skala keabuan 8-bit memliki 28 = 256 kemungkinan warna, yaitu 0 (minimal) hingga 255 (maksimal). (Novitasari, 2011)

Gambar 2.4. Ilustrasi Citra Grayscale (Pramitarini, 2011)

2.1.3. Citra True Color

(5)

Gambar 2.5. Ilustrasi Citra True Color (Pramitarini, 2011)

2.1.4. Citra Indexed Color

Setiap pixel pada citra warna berindeks memiliki indeks dari suatu tabel warna yang tersedia (biasanya disebut Palette Color). Keuntungan yang diperoleh dengan menggunakan palet warna ini adalah kita dapat dengan cepat memanipulasi warna tanpa harus mengubah informasi dari setiap pixel pada citra. (Novitasari, 2011)

2.2 Kompresi Citra

Kompresi citra adalah proses yang bertujuan untuk mengurangi duplikasi data pada citra sehingga memory yang digunakan untuk merepresentasikan citra menjadi lebih sedikit daripada representasi citra semula. (Sutoyo, 2009)

Rasio citra kompresi adalah ukuran persentase citra yang telah berhasil dimampatkan. Secara matematis rasio pemampatan data ditulis sebagai berikut:

R = 100% - (K1/Ko) x 100 %…(1) Dimana:

R adalah rasio kompresi. Ko adalah Ukuran file asli.

(6)

Compressed

Compressed

Secara garis besar metode pemampatan citra atau kompresi citra dapat dikelompokkan dalam dua kelompok besar yaitu metode lossless dan metode lossy yaitu:

2.2.1 Metode Lossless

Metode Lossless merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya, untuk ratio kompresi citra metode ini sangat rendah. (Sutoyo, 2009)

Compressed

Gambar 2.6. Kompresi Lossless

2.2.2 Metode Lossy

Metode Lossy merupakan kompresi citra dimana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya, artinya bahwa ada informasi yang hilang, tetapi masih bisa ditolerir oleh persepsi mata. Metode ini menghasilkan ratio kompresi yang lebih tinggi dari pada metode lossless. Contohnya adalah color reduction, chroma subsampling, dan transform coding, seperti transformasi Fourier, Wavelet dll. (Sutoyo, 2009)

Gambar 2.7. Kompresi Lossy

Original Restored

Original

(7)

2.2.3 Padding Dan Flag Bits

Khusus algoritma Elias Delta Code diperlukan padding dan flag bits untuk penambahan bit 0 sebanyak kekurangan jumlah bit, dan penambahan bilangan biner sepanjang 8 bit.

1. Padding

Padding bits adalah penambahan bit 0 sebanyak kekurangan jumlah bit-bit pada proses kompresi sehingga jumlah keseluruhan bit data pada hasil kompresi merupakan kelipatan delapan (habis dibagi delapan) (Andika, 2014)

2. Flag

Flag bits adalah penambahan bilangan biner sepanjang 8 bit setelah padding bits dimana flag bits ini merupakan sejumlah bilangan yang memberikan tanda bahwa terdapat n buah padding di dalam bit-bit data hasil kompresi. Penambahan flag bits ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil kompresi pada saat proses kompresi. (Andika, 2014)

2.2.4 Parameter Perbandingan

1. Compression Ratio (Cr)

Compression Ratio (Cr) adalah persentase besar data terkompresi, hasil perbandingan antara data yang sudah dikompresi dengan data yang belum dikompresi (Salomon, 2007).

Cr = ���� �� ��� � ℎ���� � �� � X 100%…(2)

2. Ratio of Compression (Rc)

Ratio of Compression (Rc) adalah hasil perbandingan antara data yang belum dikompresi dengan data yang sudah dikompresi (Salomon, 2007).

Rc = � ℎ�� �� � �� � �

(8)

3. Redundancy Data (Rd)

Redundancy Data adalah kelebihan yang terdapat di dalam data sebelum dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi. (Salomon & Motta, 2010).

Rd= 100% – Cr …(4)

4. Waktu Kompresi

Waktu kompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses kompresi dari mulai pembacaan data hingga proses encoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

2.3 Format File Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per pixel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital (Sutoyo, 2009).

(9)

2.4 Pixel

Pixel (Picture Elements) adalah nilai tiap-tiap entri matriks pada bitmap. Rentang nilai-nilai pixel ini dipengaruhi oleh banyaknya warna yang dapat ditampilkan. Jika suatu bitmap dapat menampilkan 256 warna maka nilai-nilai pixelnya dibatasi dari 0 hingga 255. Suatu bitmap dianggap mempunyai ketepatan yang tinggi jika dapat menampilkan lebih banyak warna (Putra, 2010).

2.5 Dekompresi Citra

Sebuah citra yang sudah terkompresi tentunya harus dapat dikembalikan lagi kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah citra yang terkompresi diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi catatan header yang berupa byte-byte tersebut terdapat catatan isi mengenai isi dari file tersebut. (Alkhudri, 2015)

Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan kembali pada saat proses dekompresi. Proses dekompresi sempurna dan kembali ke bentuk aslinya.

Parameter perbandingan dalam dekompresi adalah waktu dekompresi. Waktu dekompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses dekompresi dari mulai pembacaan data hingga proses decoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

Kompresi Dekompresi

Gambar 2.8 Alur Kompresi-Dekompresi Citra (Alkhudri, 2015)

Citra Asli Citra

(10)

2.6 Algoritma

Makna informal dari kata algoritma ada dalam persamaan berikut: “Tidak ada manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil ("kecil, dan lebih kecil tanpa batas ... anda mungkin mencoba menulis di atas molekul, atom, elektron") untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi. Tapi manusia bisa melakukan sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan instruksi jelas untuk menentukan anggota ke-n dari set, untuk n terbatas acak. Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang dapat diikuti oleh mesin penghitung, atau oleh manusia yang mampu melakukan hanya operasi-operasi dasar dengan simbol-simbol.” (Boolos & Jeffrey, 1974).

Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis. Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara yang berbeda (Wahyudi, 2004).

Ciri-ciri algoritma yaitu:

1. Algoritma harus berhenti setelah melakukan sejumlah langkah terbatas.

2. Aksi-aksi dalam algoritma terjadi dalam waktu terbatas, tiap langkah harus didefinisikan dengan tepat dan tidak bermakna ganda (non-ambiguous).

3. Algoritma memiliki nol atau lebih masukan (input). Input adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja.

4. Algoritma memiliki salah satu atau beberapa keluaran (output). Output adalah besaran yang mrmiliki hubungan dengan input.

5. Algoritma harus efektif, tiap langkah harus sederhana, dapat dikerjakan dalam sejumlah waktu yang logis (Knuth, 1968).

2.7 Algoritma Run-Length Encoding (RLE)

(11)

keabuan, sedangkan nilai Q menyatakan jumlah pixel berurutan yang memiliki derajat keabuan tersebut. (Lubis, 2014)

Berbeda dengan teknik-teknik sebelumnya yang bekerja berdasarkan karakter per karakter, teknik run length ini bekerja berdasarkan sederetan karakter yang berurutan. Run Length Encoding adalah suatu algoritma kompresi data yang bersifat Lossless. Algoritma ini mungkin merupakan algoritma yang paling mudah untuk dipahami dan diterapkan.

Algoritma RLE ini cocok digunakan untuk mengkompres citra yang memiliki kelompok-kelompok pixel berderajat keabuan yang sama. Kompresi citra dengan algoritma RLE dilakukan dengan membuat rangkaian pasangan nilai (p,q) untuk setiap baris pixel, nilai pertama (p) menyatakan derajat keabuan, sedangkan nilai kedua (q) menyatakan jumlah pixel berurutan yang memiliki derajat kabuan tersebut (dinamakan Run-Length Encoding).

Langkah-langkah yang dibutuhkan untuk melakukan kompresi Run-Length

Encoding adalah sebagai berikut:

1. Periksa nilai saat ini dengan nilai tetangga, apabila nilai saat ini sama dengan nilai

tetangga maka gabungkan nilai tersebut menjadi satu dan tambahkan nilai counter

untuk nilai tersebut.

2. Apabila nilai saat ini dengan nilai tetangganya tidak sama maka simpan nilai saat ini

dan lanjut pemeriksaan seperti pada nomor 1.

3. Setelah proses 1 dan 2 telah dilakukan kemudian simpan hasil proses kompresi

tersebut.

Untuk melakukan proses dekompresi terhadap file yang telah mengalami proses kompresi Run Length Encoding (RLE) dapat dilihat pada langkah-langkah berikut ini.

1. Baca nilai yang terdapat pada citra kemudian periksa apakah nilai saat ini berulang atau tidak, apabila nilai saat ini berulang maka ulang nilai sebanyak perulangan yang ada.

(12)

2.8 Algoritma Elias Delta Code

Algoritma Elias Delta Code adalah sebuah algoritma kompresi yang dibuat oleh Peter Elias menggunakan kode yang telah dia buat sebelumnya, yaitu Elias Gamma Code, sebagai building block (Figueiredo, 2009).

Dalam kode Gamma, Elias menambah panjang kode dalam unary (α). Dalam kode berikutnya, δ (delta), ditambahkan pada panjang kode dalam biner (β). Dengan demikian, Elias Delta Code, yang juga untuk bilangan bulat positif, sedikit lebih kompleks untuk dibangun (Salomon, 2007).

Untuk melakukan encode dengan Elias Delta Code dalam bilangan bulat positif n dilakukan dalam langkah-langkah berikut: (Salomon, 2007).

1. Tulis n dalam biner. Bit yang paling kiri (paling signifikan) akan menjadi 1.

2. Hitung bit, hapus bit paling kiri dari n, dan tambahkan hitungan, di dalam biner, apa yang tersisa dari bit n yang paling kiri setelah telah dihapus.

3. Kurangi 1 dari hitungan di langkah 2 ,dan tambahkan jumlah nol sebanyak hasil hitungan tersebut ke awal kode.

Contoh kasus pada bilangan integer 5, hasilnya: 5 = 1012 (3 bit). Hapus angka 1 paling kiri dan tambahkan 3 = 11, sehingga menjadi 11 | 01. 2 bit telah ditambahkan, jadi kita tambahkan 1 nol untuk mendapatkan kode delta 0 hasilnya 11|01. 2 bit sudah ditambahkan, kemudian tambahkan 1 nol untuk mendapatkan kode delta 0|11|01.

Untuk melakukan decode dengan Elias Delta Code, berikut adalah langkah-langkahnya:

1. Baca bit dari kode sampai proses decode dengan Elias Gamma Code dapat dilakukan. Proses ini dapat dilakukan dengan beberapa langkah berikut ini:

a. Hitung jumlah nol terdepan dari kode tersebut lalu gantikan perhitungan tersebut dengan C.

b. Periksa bit bagian kiri 2C + 1 (C nol, diikuti dengan 1, lalu diikuti dengan bit C selebihnya). Ini merupakan decode Elias Gamma Code M + 1.

2. Baca bitM berikutnya. Sebut ini sebagai L. 3. Bilangan bulat yang di decode adalah 2M + L.

(13)

Tabel 2.1 Kode Elias Gamma

Sebagai contoh, jika n = 5, kode deltanya adalah 01101. Hitung dua angka nol, sehingga C = 2. Nilai dari 2Cpaling kiri + 1 = 3 bit adalah 011 = 5, sehingga M + 1 =

(14)

daya komputasi yang digunakan oleh tugas tertentu. Teori komputasi pada dasarnya dibagi menjadi tiga bagian karakter yang berbeda. (Gács & Lovász, 1999).

1. Pengertian yang tepat dari algoritma, waktu, kapasitas, penyimpanan, dan lain-lain harus diperkenalkan. Perbedaan model mesin matematika harus digambarkan, waktu dan penyimpanan kebutuhan perhitungan dilakukan pada kebutuhan ini harus diperjelas (umumnya diukur sebagai fungsi dari ukuran input). Yang paling dasar pada kompleksitas adalah memberikan klasifikasi penting dari masalah yang timbul dalam praktek, bahkan timbul di daerah matematika klasik.

2. Menentukan kebutuhan sumber daya dari algoritma yang paling penting dalam berbagai bidang matematika, dan memberikan algoritma yang efisien untuk membuktikan bahwa masalah tertentu memiliki kompleksitas tertentu

3. Menemukan metode yang membuktikan “Hasil Negatif” yaitu untuk bukti beberapa masalah sebenarnya terpecahkan di bawah pembatasan sumber daya tertentu.

2.10 Penelitian Yang Relevan

Berikut ini beberapa penelitian yang terkait dengan algoritma Run-Length Encoding dan Elias Delta Code:

(15)

Gambar

Gambar 2.1. Ilustrasi Citra dengan Matriks 200 x 200 (Putra, 2010)
Gambar 2.2. Pixel Matriks (Pramitarini, 2011)
Gambar 2.3. Ilustrasi Citra Biner (Pramitarini, 2011)
Gambar 2.4. Ilustrasi Citra Grayscale (Pramitarini, 2011)
+5

Referensi

Dokumen terkait

Dalam penyelesaian studi ini digu- nakan metode pengerjaan dengan cara analisis perhitungan secara analitik un- tuk perhitungan pembangkitan gelomba- ng oleh

bahwa berdasarkan pertimbangan sebagaimana dimaksud huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Pembentukan Majelis dan Sekretariat Tuntutan

[r]

Result and Discussions 4.1 Liability Based on Fault Liability based on fault in principle refers to Article 1 paragraph (1) of the Criminal Code (KUHP) which explicitly states that

Nilai yang diperoleh siswa pada evaluasi hasil belajar kemudian dibandingkan dengan Kriteria Ketuntasan Minimal (KKM) pada materi hak anak di rumah dan disekolah

[r]

Tujuan penelitian ini adalah untuk mengetahui perbedaan kadar CO dan SO2 di udara berdasarkan volume lalu lintas dan banyaknya pohon di Jl.. Mansyur

Palestina, Israel , dan Timur Tengah adalah merupakan masalah yang setiap hari menjadi bahan berita di seluruh dunia.. Tampaknya, ini masalah rumit yang tidak akan pernah