2.3 Kompresi
Pemampatan atau kompresi citra merupakan suatu metode yang sangat bermanfaat bagi perkembangan citra digital. Dengan kompresi, data citra digital yang ukurannya
besar, dapat dikompres sehingga mempunyai ukuran yang lebih kecil Napitupulu, 2012.
Kompresi data adalah sebuah metode yang dilakukan untuk mereduksi ukuran data atau file. Dengan melakukan kompresi atau pemadatan data, maka ukuran file
atau data akan lebih kecil sehingga dapat mengurangi waktu transmisi saat data dikirim, dan tidak banyak menghabiskan ruang media penyimpanan Santi, 2010.
Terdapat beberapa manfaat dari kompresi, yaitu : 1. Waktu pengiriman data pada saluran komunikasi data lebih singkat. Contohnya
pengiriman gambar dari fax, video conferencing, download dari internet, pengiriman data medis, pegiriman dari satelit, dll.
2. Membutuhkan ruang memori dalam storage yang lebih sedikit dibandingkan dengan citra yang tidak dikompresi.
2.3.1 Teknik Kompresi Citra
Terdapat dua teknik dalam melakukan kompresi citra. 1. Lossy Compression
Lossy compression adalah kompresi citra di mana hasil dekompresi dari citra yang terkompresi tidak sama dengan citra aslinya karena ada informasi yang
hilang, tetapi masih bisa ditolerir oleh persepsi mata. Metode ini menghasilkan rasio kompresi yang lebih tinggi daripada metode lossless. Contohnya adalah
color reduction, chroma subsampling, dan transform coding seperti Fourier dan Wavelet, dan lain-lain.
2. Lossless Compression Lossless Compression merupakan merupakan kompresi citra dimana hasil
dekompresi dari citra yang terkompresi sama dengan citra aslinya, tidak ada informasi yang hilang. Sayangnya, rasio kompresi citra metode ini sangat rendah.
Contohnya adalah Entropy Encoding Huffman, Adaptive Dictionary Based LZW, dan Run Length Encoding RLE.
2.3.2 Kriteria Kompresi Citra
Kriteria yang digunakan dalam pemampatan citra adalah : 1. Waktu kompresi dan waktu dekompresi
Algoritma pemampatan yang baik adalah algoritma yang membutuhkan waktu kompresi dan dekompresi paling sedikit.
2. Kebutuhan Memori Algoritma pemampatan yang baik akan menghasilkan memori yang dibutuhkan
untuk menyimpan hasil kompresi citra yang berkurang secara berarti. Semakin besar persentase pemampatan, semakin kecil kebutuhan memori yang diperlukan,
sehingga kualitas citra semakin berkurang. Dan sebaliknya, semakin kecil persentase citra yang dimampatkan, semakin bagus hasil pemampatan tersebut.
3. Format Keluaran Format citra hasil pemampatan yang baik adalah yang cocok dengan kebutuhan
pengiriman dan penyimpanan data. 4. Data Redundansi
Data redundansi merupakan data berlebihan yang terdapat pada citra. Bila n
1
dan n
2
menyatakan jumlah satuan unit informasi dalam himpunan data yang mewakili data yang sama, maka data berlebihan relative relative data
redundancy R
D
ddari himpunan data pertama dinyatakan sebagai berikut Putra, 2010 :
Dengan C
R
merupakan rasio kompresi yang dinyatakan berikut Putra, 2010 :
Keterangan : n
1
= Citra asli n
2
= Citra akhir
5. Rasio Kompresi Citra Rasio kompresi citra adalah ukuran persentase citra yang telah berhasil
dimampatkan. Rumus dalam menghitung rasio kompresi citra adalah sebagai berikut Sutoyo et al. 2009 :
[ ]
2.4 Dekompresi
Sebuah data yang sudah dikompres tentunya harus dapat dikembalikan lagi ke bentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah data yang
terkompres diperlukan cara yang berbeda seperti pada waktu proses kompresi dilaksanakan. Jadi pada saat dekompresi terdapat catatan header yang berupa byte-
byte yang berisi catatan mengenai isi dari file tersebut Santi, 2010. 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 dekompres. Proses dekompres dikatakan sempurna apabila
file kembali kebentuk aslinya Santi, 2010.
2.5 Run Length Encoding RLE
Run Length Encoding RLE adalah algoritma kompresi yang sangat mendasar. RLE mempunyai hak paten bebas, yang berarti seseorang dapat menggunakan algoritma
kompresi RLE dengan bebas. Metode kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte yang sama berturut-turut secara terus menerus.
Data masukan akan dibaca dan sederetan karakter yang sesuai dengan deretan karakter yang sudah ditentukan sebelumnya disubstitusi dengan kode tertentu Santi, 2010.
RLE Run Length Encoding adalah kompresi yang umum digunakan untuk data grafis citra. Kompresi citra dengan menggunakan RLE didasarkan pada
pengamatan bahwa suatu piksel dalam suatu citra akan memiliki nilai yang cenderung sama dengan nilai piksel tetangganya. Bila suatu citra biner dimulai dengan 20 piksel
putih kemudian diikuti dengan 3 piksel hitam kemudian diikuti lagi dengan 65 piksel putih maka hanya nilai 20, 3 dan 65 yang akan menjadi output untuk mewakili nilai
dari masing-masing piksel input Handriyati, 2013.
Metode RLE memberikan hasil terbaiknya apabila data yang terkompresi tersusun atas rangkaian-rangkaian panjang bit dengan nilai yang sama. Metode ini
mengganti rangkaian bit semacam itu dengan suatu kode yang mengindikasikan nilai apa yang berulang dan berapa kali perulangan itu terjadi. Sebagai contoh, lebih sedikit
ruang yang dibutuhkan untuk menginformasikan bahwa suatu pola bit tersusun atas 253 bit 1, diikuti 118 bit 0, diikuti 87 bit 1 daripada yang dibutuhkan untuk
menguraikan satu persatu seluruh 458 bit tersebut Seftiani, 2012. Algoritma RLE menggunakan pendekatan ruang. Algoritma ini cocok
digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama. Metode ini dilakukan dengan menyatakan seluruh
baris citra menjadi sebuah baris run, lalu menghitung run-length untuk setiap derajat keabuan yang berurutan Sutoyo et al. 2009.
Adapun proses algoritma kompresi Run Length Encoding adalah sebagai berikut :
1. Dua nilai piksel awal pada citra dibaca. 2. Periksa apakah nilai piksel pertama sama dengan nilai piksel kedua.
3. Jika nilai piksel pertama berbeda dengan nilai piksel kedua, maka akan dituliskan nilai piksel pertama diikuti dengan nilai 1, sedangkan nilai piksel
kedua akan dijadikan piksel pertama, kemudian piksel selanjutnya menjadi piksel kedua dan melakukan perulangan seperti pada langkah 2.
4. Jika nilai piksel pertama sama dengan nilai piksel kedua, maka akan diperiksa nilai piksel selanjutnya, sampai ditemukan nilai piksel yang berbeda dengan
nilai piksel pertama. 5. Nilai piksel pertama akan dituliskan dan diikuti dengan jumlah piksel yang
memiliki nilai yang sama dengan piksel pertama. 6. Dua nilai piksel selanjutnya akan dibaca dan dilakukan perulangan pada
langkah 2 sampai dengan langkah 5, hingga semua piksel pada citra diperiksa. 7. Piksel yang telah terbentuk akan menjadi citra hasil kompresi RLE.
Contoh, misalnya sebuah citra grayscale 3 bit berukuran 10 x 10 piksel akan dilakukan pengkodean dengan algoritma RLE, maka Sutoyo et al. 2009 :
Tabel 2.1 Contoh Citra Belum Terkompres
Hasil Kompresi : 2,2 7,4 2,4
4,2 1,3 7,5 7,4 3,6
4,2 5,4 2,4 5,4 6,6
7,3 6,4 2,3 4,2 3,5 5,3
7,6 4,4 0,10
1,3 4,2 2,2 5,3
Hasil pengkodean : 2 2 7 4 2 4 4 2 1 3 7 5 7 4 3 6 4 2 5 4 2 4 5 4 6 6 7 3 6 4 2 3 4 2 3 5 5 3 7 6 4 4 0 10 1
3 4 2 2 2 5 3 Semuanya = 52 piksel
Ukuran citra sebelum dikompres = 10 x 10 x 3 bit = 300 bit. Ukuran citra setelah dikompres = 52 x 3 bit = 156 bit.
Rasio kompresi = , artinya 48 dari citra semula
telah dimampatkan.
Proses dekompresi Run Length Encoding adalah sebagai berikut : 1. Dua nilai piksel awal dibaca.
2. Nilai piksel pertama dituliskan sebanyak nilai piksel kedua. 3. Dua nilai piksel selanjutnya dibaca, kemudian lakukan perulangan pada langkah 2
dan 3 hingga semua piksel pada citra diperiksa. 4. Piksel yang telah terbentuk akan menjadi hasil dekompresi RLE.
2 2
7 7
7 7
2 2
2 2
4 4
1 1
1 7
7 7
7 7
7 7
7 7
3 3
3 3
3 3
4 4
5 5
5 5
2 2
2 2
5 5
5 5
6 6
6 6 6
6 7
7 7
6 6
6 6
2 2
2 4
4 3
3 3
3 3
5 5
5 7
7 7
7 7
7 4
4 4
4
1 1
1 4
4 2
2 5
5 5
2.6 Transformasi Wavelet Daubechies
2.6.1 Wavelet
Wavelet adalah suatu metode pengolahan sinyal yang mana sebuah sinyal dipecah menjadi beberapa bagian yang merujuk kepada frekuensi yang berbeda-beda. Wavelet
digunakan untuk menyusun, menganalisis dan mensintesis data numerik hasil pengukuranpengamatan suatu fenomena fisis tertentu Saragih, 2008.
Pada transformasi wavelet, sinyal digital dikalkulasikan untuk menentukan domain frekuensi dan waktu secara bersamaan. Transformasi ini dapat digunakan
pada pengenalan objek, smoothing, dan kompresi. Transformasi wavelet memiliki dua jenis dalam pengembangannya yaitu
Continous Wavelet Transform CWT dan Discrete Wavelet Transform DWT. Semua fungsi yang digunakan dalam transformasi CWT dan DWT diturunkan dari
mother wavelet melalui translasipergeseran dan penskalaankompresi. Mother wavelet merupakan fungsi dasar yang digunakan dalam transformasi wavelet. Karena
mother wavelet menghasilkan semua fungsi wavelet yang digunakan dalam transformasi melalui translasi dan penskalaan, maka mother wavelet juga akan
menentukan karakteristik dari transformasi wavelet yang dihasilkan Saragih, 2008.
2.6.2 Wavelet Daubechies
Wavelet diartikan sebagai small wave atau gelombang singkat. Gelombang singkat tersebut merupakan fungsi basis yang terletak pada waktu berbeda. Putra, 2010
Sistem ini menggunakan Transformasi Wavelet Daubechies D1 Haar. Adapun koefisien transformasi untuk Daubechies D1 adalah sebagai berikut Putra,
2010 : ⁄
⁄ ⁄
⁄
Keterangan : h = low pass filter
h
1
= high pass filter
Matriks H semua elemennya bernilai 0, kecuali h
0 = 12 dan h 1 = 12.
Demikian juga untuk H
1
, semua elemennya juga bernilai 0, kecuali h
1
0 = 12 dan dan h
1
1 = -12. Putra, 2010. Matriks low pass Daubechies D1 H
n
adalah Putra, 2010 :
[ ]
Sedangkan high pass Daubechies D1 H
1 n
adalah Putra, 2010 :
[ ]
Algoritma kompresi citra dapat dijelaskan sebagai berikut Putra, 2010 : 1. Transformasi linier digunakan untuk mengubah ruang warna secara linier
menjadi warna dasar. Karena citra yang dikompresi merupakan citra dengan nilai ruang warna dasar R = G = B, maka warna dasar akan sama dengan citra
awal grayscale, dengan nilai piksel berkisar pada 0-255. Bila input citra adalah citra berwarna nilai R, G, dan B berbeda, maka terlebih dahulu
dilakukan proses transformasi ke citra grayscale. 2. Pada citra grayscale kemudian dilakukan proses transformasi gelombang yang
akan menghasilkan empat komponen matriks, yaitu komponen detail CD
1
, komponen horizontal CH
1
, komponen vertikal CV
1
, dan komponen aproksimasiCA
1
. Komponen aproksimasi disimpan ke media penyimpanan agar komponen ini tidak dapat berubah.
3. Pada komponen-komponen hasil transformasi selain komponen aproksimasi dilakukan proses kuantisasi. Tujuan proses kuantisasi ini adalah untuk
mengurangi jumlah variasi redudansi data pada komponen-komponen hasil transformasi selain komponen aproksimasi.
4. Proses terakhir adalah proses pengkodean kompresi terhadap komponen- komponen hasil kuantisasi. Hasil pengkodean bersama dengan komponen
aproksimasi disimpan sebagai suatu file yang terkompresi.
Algoritma dekompresi citra dapat dijelaskan sebagai berikut Putra, 2010 : 1. Membaca data atau file terkompresi gelombang singkat.
2. Melakukan proses decoding dan dilanjutkan proses kuantisasi balik de- quantization untuk mengembalikan data yang sebelumnya dikuantisasi saat
proses kompresi. Proses ini akan memperoleh kembali komponen-komponen detail, horizontal, dan vertikal.
3. Menggabungkan seluruh komponen hasil tahap 2 dengan komponen aproksimasi.
4. Melakukan transformasi
gelombang singkat
balik invers
wavelet transformation terhadap komponen-komponen hasil tahap 3.
5. Proses terakhir adalah melakukan proses transformasi linier balik untuk menghasilkan ruang warna sesuai dengan citra semua sehingga diperoleh
kembali citra semula dengan sifat lossy.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan tahapan yang bertujuan untuk memberikan pemahaman terhadap kinerja sistem dengan mengidentifikasi masalah-masalah yang muncul
sehingga mengetahui kebutuhan-kebutuhan yang diharapkan dalam pembuatan sistem, agar sistem yang dirancang dapat berjalan sesuai dengan yang diharapkan.
Adapun sistem yang akan dirancang adalah sistem yang dapat membandingkan hasil metode kompresi Run Length Encoding RLE dengan Transformasi Wavelet
Daubechies pada citra digital.
3.1.1 Analisis Masalah
Masalah dalam penelitian ini adalah bagaimana menghasilkan citra dengan ukuran yang lebih kecil, sehingga dapat menghemat penggunaan kapasitas memori
atau media penyimpanan. Dalam sistem ini terdapat dua metode kompresi yang akan dibandingkan, yaitu metode Run Length Encoding RLE dan Transformasi Wavelet
Daubechies. Kemudian akan dinilai metode mana yang lebih baik dalam proses kompresi dan dekompresi citra.
Untuk mengidentifikasi masalah tersebut akan digunakan diagram Ishikawa atau dikenal dengan fishbone diagram. Pada diagram ini akan dijelaskan sebab-akibat
permasalahan yang akan membantu menganalisis kebutuhan sistem yang akan dikembangkan, seperti yang dimuat pada Gambar 3.1.
Material
Mesin Metode
Manusia
Citra mengandung duplikasi data
sehingga memiliki ukuran yang besar
Informasi pada citra memiliki ukuran yang besar
Informasi pada citra mengandung duplikasi data
Memerlukan memori yang besar untuk menyimpan
citra Memerlukan metode yang
tepat untuk memperkecil ukuran citra
Menginginkan citra dengan ukuran yang kecil
Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem
3.1.2 Analisis Kebutuhan Sistem