• Tidak ada hasil yang ditemukan

Analisis Perbandingan Kinerja Kompresi Wavelet Haar dan Daubechies 9/7 Berbasis MATLAB, Compiler GCC dan Mikrokontroler Arduino

N/A
N/A
Protected

Academic year: 2021

Membagikan "Analisis Perbandingan Kinerja Kompresi Wavelet Haar dan Daubechies 9/7 Berbasis MATLAB, Compiler GCC dan Mikrokontroler Arduino"

Copied!
19
0
0

Teks penuh

(1)

Analisis Perbandingan Kinerja Kompresi Wavelet Haar dan Daubechies 9/7

Berbasis MATLAB, Compiler GCC dan Mikrokontroler Arduino

M Normansyah, Prima Dewi Purnamasari

Fakultas Teknik Elektro, Fakultas Teknik, Universitas Indonesia, m.normansyah@ui.ac.id

Abstrak

Tulisan ini berisi perancangan dan pembuatan kompresi wavelet serta analisis distorsi citra hasil kompresi menggunakan MATLAB, Compiler GCC dan Mikrokontroler Arduino. Penelitian ini bertujuan untuk mencari distorsi citra kompresi yang dapat diterima oleh mata manusia. Penelitian ini menggunakan algoritma wavelet Daubechies 9/7 dan Haar sebagai algoritma kompresi. Pada penelitian ini, mikrokontroler digunakan untuk mengukur waktu performa program kompresi pada spesifikasi mesin pengolah dengan kecepatan sebesar 16 MHz, RAM internal sebesar 8 KByte dan RAM eksternal sebesar 512 KByte. Sedangkan, program kompresi pada GCC untuk mengetahui efek dari format Q terhadap waktu kompresi. Adapun kompresi wavelet Haar dan Daubechies 9/7 menggunakan format Q mengoptimalkan waktu kompresi hingga berlangsung selama kurang dari 0,2 detik untuk citra berresolusi 256 × 256 dan 512 × 512. Distorsi yang dihasilkan kompresi Haar lebih tampak dibandigkan dengan kompresi Daubechies 9/7 oleh mata manusia. Pengurangan bit dengan fungsi left bit shifting atau right bit

shifting berbasis compiler GCC dan mikrokontroler Arduino dan fungsi rounding pada

MATLAB serta zone thresholding diaplikasikan untuk mengurangi jumlah bit pada citra yang disimpan pada divais penyimpanan seperti SD Card.

Kata kunci: Daubechies 9/7, Haar, Wavelet, Format Q, GCC I. PENDAHULUAN

Citra dijital menjadi bagian penting dari komputasi modern. Sebuah citra lebih berharga dari ribuan kata. Citra dijital memiliki ukuran data sesuai dengan resolusi dan jumlah informasi yang ditampilkan. Dalam menyimpan citra dijital, dibutuhkan divais penyimpanan sesuai dengan ukuran dan jumlah citra dijital. Perkembangan kualitas citra dijital yang terus berkembang telah membawa aplikasi inovatif dalam dunia komputasi. Dengan perkembangan kualitas citra dijital membuat ukuran semakin meningkat sesuai tingkat resolusi yang digunakan. Namun, Keterbatasan divais penyimpanan seperti SDCard dan uSD, membutuhkan metode untuk mereduksi jumlah citra dijital yang disimpan.

(2)

pada citra. Jika pada detail citra dijital tersebut memiliki informasi yang tidak relevan (dapat diacuhkan oleh manusia), maka detail tersebut dapat dihilangkan[1]. Sehingga penggunaan metode wavelet tersebut diharapkan mampu mereduksi besar ukuran citra dijital dan jumlah citra dijital yang disimpan dapat dioptimalkan. Pada penelitian ini, Metode wavelet yang digunakan adalah wavelet Daubechies 9/7 dan Haar. Format Q digunakan dalam penelitian ini untuk mengkonversi bilangan decimal (float) menjadi bilangan bulat (integer) sehingga mempercepat waktu komputasi untuk mengurangi beban komputasi pada divais.

Penelitian ini menggunakan Arduino Mega 2560 sebagai mikrokontroller, seluruh sistem komputer yang terkandung dalam suatu integrated circuit atau chip, yang memiliki operasi integer 16 bit dan random access memory (RAM sebesar 8 Kbyte. Memory Eksternal sebesar 512 Kbyte ditambahkan untuk menambah besar random access memory (RAM) dan SDCard sebagai divais penyimpan citra dijital. Sedangkan MATLAB dan GCC digunakan sebagai software untuk mensimulasikan algoritma wavelet dan pemanfaat format Q untuk mempercepat komputasi.

II. TEORIALGORITMAHAARDANDAUBECHIES9/7 A. Algoritma Wavelet Haar

Pada wavelet Haar, nilai filter l lowpass = [0.5, 0.5] dan h highpass = [0,5, -0,5] dan untuk menghemat energi maka digunakan koefisien filter *

√ √ + dan filter *√

√ +, filter

tersebut disebut filter orthonormal. Dengan filter l lowpass = [0,5 , 0,5] dan h highpass = [0,5,-0,5], tahap predict, sinyal genap dikalikan dengan -1 dan ditambahkan dengan sinyal ganjil masukan. Setelah itu, sinyal hasil predict pada tahap update dikalikan dengan 0,5 dan ditambahkan dengan sinyal ganjil masukan sehingga didapatkan approximation dari sinyal genap dan detail dari sinyal ganjil. Sebaliknya untuk membangun kembali sinyal tersebut, sinyal detail dikalikan dengan 0,5 dan mengurangi sinyal approximation dan sinyal approximation dikalikan dengan -1 dan mengurangi sinyal detail kemudian digabungkan sinyal keduanya, sinyal

approximation berada pada indeks genap dan sinyal detail berada pada indeks ganjil.[2]

Contoh berikut ini untuk perhitungan transformasi Haar menggunakan koefisien transformasi orthonormal:

(3)

approximation =

√ ( ) (1) detail =

√ ( ) (2)

Dengan dan

B. Algoritma Wavelet Daubechies 9/7

Jika sebuah sinyal [ ] dengan panjang sinyal sebesar N maka sinyal tersebut menghasilkan 2 sinyal, approximation dan details dikonvolusi dengan koefisien

Daubechies 9/7 dengan panjang sinyal N/2. Approximation ke-i pada sinyal hasil didapatkan

dari:

, (3)

Dengan i = 0,1,...,N-1 dan koefisien dalah koefisien analisis lowpass filter pada Tabel 1.

Detail ke-i didapatkan dari:

∑ (4)

Dengan i = 0,1,..,N-1. Setelah itu, sinyal approximation dan detail di downsampling dari a0, a1,…, aN-1 menjadi a0, a2,…, aN-2 dan a1, a3,…, aN-1 sehingga sinyal masukan berindeks genap dan

ganjil dapat di nomor ulang di formula approximation dan detail menjadi ∑ (5)

(6)

Dengan ( ).

Untuk menghindari efek perbatasan(boundary effect), biasanya dilakukan sebuah

(4)

ke-0, 1, 2, 3 dan (N-4), (N-3), (N-2), (N-1). Misalkan sinyal [ ] di extend untuk highpass filtering dan lowpass filtering menjadi

dan

.

Table 1 Koefisien Daubechies 9/7[2]

j analysis lowpass lj

analysis highpass hj

synthesis lowpass lj synthesis highpass hj -4 0.037828 - - 0.037828 -3 -0.023849 0.064539 -0.064539 0.023849 -2 -0.110624 -0.040689 -0.040689 -0.110624 -1 0.377403 -0.418092 0.418092 -0.377403 0 0.852699 0.788486 0.788486 0.852699 1 0.377403 -0.418092 0.418092 -0.377403 2 -0.110624 -0.040689 -0.040689 -0.110624 3 -0.023849 0.064539 -0.064539 0.023849 4 0.037828 - - 0.037828

C. Desain Mikrokontroler Kompresi Wavelet

Adapun Spesifikasi mikrokontroler kompresi:

1. Arduino Mega 2560 berfungsi sebagai pusat komputasi. 2. Kabel mini USB tipe B.

(5)

3. Breadboard solderless.

4. SD Card shield berfungsi sebagai interface SD Card Sandisk 2 GB.

5. Kabel jumper sebagai connector antara breadboard solderless dengan Arduino Mega 2560.

6. QuadRAM berfungsi sebagai RAM eksternal sebesar 512 Kbyte. 7. SD Card Sandisk 2GB berfungsi sebagai divais penyimpanan.

Secara umum, alur proses kompresi citra pada Arduino Mega 2560 yaitu:

1. Arduino Mega 2560 mengakses citra masukan berformat Comma Separated Value (CSV) yang berada pada SD Card dan menyimpan nilai pixel-pixel tersebut pada RAM eksternal. 2. Setiap baris citra yang berada pada RAM eksternal dikompresi dengan algoritma wavelet

haar atau daubechies 9/7 kemudian disimpan di RAM eksternal.

3. Output kompresi diambil dari RAM ekternal dan disimpan dengan ekstensi CSV dan disimpan pada SD Card

4. Citra dijital dengan ekstensi CSV yang berada di SD Card dikonversi menjadi citra berformat TIFF pada GNU Octave atau MATLAB untuk mengukur nilai PSNR dan menampilkan citra hasil kompresi.

(6)

D. Algoritma Perangkat Lunak

Gambar 2. Diagram Alir Kompresi Citra

Implementasi sistem ini didasarkan pada Gambar 7. Gambar tersebut menjelaskan bahwa untuk dapat mengkompresi citra masukan berupa standard test image dengan format CSV diperlukan 3 tahapan, antara lain pemberian supply daya antara kisaran 7 hingga 12 Volt, pengecekan citra masukan dan pengkompresian citra tersebut dengan metode wavelet Haar dan Daubechies 9/7.

Untuk melihat bahwa algoritma wavelet Haar dan Daubechies 9/7 menciptakan sparse, maka digunakan program versi MATLAB. Compiler C AVR digunakan untuk mengukur performa kompresi. Arduino sebagai mikrokontroler digunakan untuk mengetahui apakah spesifikasi minimum dapat melakukan kompresi. Metode wavelet Haar dan Daubechies 9/7 versi MATLAB memiliki masukan dengan jangkauan 0 hingga 255 dengan koefisien wavelet desimal. MATLAB memiliki aritmatika internal dalam presisi nilai dibelakang koma sebanyak 16 digit.[3] Pseudocode metode Haar dan Daubechies 9/7 secara berturut-turut ditunjukkan pada Gambar 3 dan Gambar 4.

(7)

D.A.1 Wavelet Haar

/* transformasi baris Haar */

w = banyak kolom citra; while (w != (kolom citra/2)){

Lakukan averaging pada pixel-pixel yang bersebelahan

Lakukan differencing pada nilai averanging dengan nilai pixel asli w = w/2;

}

/* transformasi kolom Haar */

w = banyak baris citra; while (w != (baris citra/2)){

Lakukan averaging pada pixel-pixel yang bersebelahan

Lakukan differencing pada nilai averanging dengan nilai pixel asli w = w/2;

}

Gambar 3. Pseudocode metode kompresi wavelet Haar [4] averaging: ( ) ( ) dengan x adalah indeks pixel citra.

differerencing: ( ) dengan a adalah nilai averaging.

Informasi pada citra adalah nilai pixel yang diekstrak dari citra. Zona aproksimasi (LL) berisi informasi mengenai sifat-sifat global dari citra yang dianalisis, zona horizontal (HL) berisi informasi mengenai baris vertikal yang tersembunyi pada citra, zona vertical (LH) berisi informasi mengenai baris horizontal yang tersembunyi pada citra dan zona diagonal (HH) berisi informasi mengenai detail diagonal yang tersembunyi pada citra.[13] Untuk menciptakan sparse pada Haar di MATLAB, maka zona-zona tertentu selain zona aproksimasi LL pada struktur dekomposisi wavelet hasil kompresi seperti ditunjukkan pada Gambar 5 dihilangkan atau

(8)

E. Wavelet Daubechies 9.7

Alokasikan buffer LL_HL sebanyak N elemen Alokasikan buffer LH_HH sebanyak N elemen alokasikan buffer masukan s sebanyak N elemen for i=N/2-1, N/2-2,...,0

inisialisasi buffer LL_HL dan LH_HH dengan nilai 0 for m = 0,1,....,N-1:LL_HL(m)=0, LH_HH(m)=0 for j = -4,-3,...,4:

indeks baris l=2*i + j

symmetric extension

jika l < 0: l = l *(-1)

lainnya jika l > N-1: l = 2N-2-l baca N elemen pada posisi N.

l(sebab 1 baris) ke citra masukan (SRAM) ke buffer s untuk k=0,1,...,N/2-1:

L = konvolusi( buffer s, koefisien lowpass, posisi indeks 2k) LL_HL(k) += lowpass filter(indeks j) * L // update nilai LL LL_HH(k) += highpass filter(indeks j-1) * L // update nilai LH H = konvolusi(buffer s, koefisien highpass,posisi indeks 2k+1) // update nilai HL

LL_HL(k+N/2) +=lowpass filter(indeks j)*H // update nilai HH

LL_HH(k+N/2) +=highpass filter(indeks j-1)*H

tulis N elemen dari buffer LL_HL ke SRAM pada posisi i*N

tulis N elemen dari buffer LH_HH ke SRAM pada posisi (i+N/2)*N

Gambar 4. Pseudocode metode kompresi daubechies 9/7[2]

Untuk menciptakan sparse pada algoritma wavelet Daubehies 9/7 diatas maka proses pembulatan atau pengurangan bilangan bit pada format Q. Hal tersebut diimplementasikan pada lowpass filter pada Gambar 4. Algoritma pada penelitian menggunakan bit shitfing ke kanan

(9)

untuk mengurangi bit dan bit shifting ke kiri untuk menambah bit. Bit shifting tersebut, dilakukan pada setiap environment pemograman yang digunakan pada penelitian ini.

Gambar 5. Struktur dekomposisi wavelet III. HASILPENGUJIANDANPEMBAHASAN

A. Pengujian Kompresi Wavelet berbasis MATLAB

Pengujian kompresi wavelet pada citra menggunakan perangkat lunak MATLAB dengan metode Haar dan Daubechies 9/7 bertujuan untuk mengetahui apakah algoritma metode Haar dan Daubechies 9/7 dengan format floating point dapat menciptakan sparse pada proses kompresi citra. Pengujian algoritma menggunakan MATLAB menggunakan masukan Standard Test Image seperti diperlihatkan pada Gambar 6.

Gambar 6. Standard Test Image sebagai masukan untuk kompresi citra [5]

Software MATLAB memiliki presisi bit 16 bit untuk bit-bit di belakang bilangan bulat.

Sehingga untuk menciptakan sparse pada citra yang di dekomposisi digunakan proses zone

thresholding pada Haar dan pengurangan bit pada Daubechies 9/7 dengan menjadikan nilai

(10)

Sebelum citra masukan yang diperlihatkan pada Gambar 6 dikompresi, citra tersebut dikonversi menjadi citra monochrome, citra berdimensi satu, kemudian dikompresi menggunakan metode Haar dan Daubechies 9/7. Hal ini dilakukan untuk memudahkan komputasi pada mesin pengolah.

Gambar 7. Grafik PSNR vs order-x citra untuk zona vertikal dihilangkan

Gambar 7, 8, 9 adalah grafik hasil kompresi berupa parameter-parameter keluaran PSNR metode wavelet Haar. Gambar 7 menunjukkan besar PSNR untuk 8 citra Standard Test Image yang dikompresi per masing-masing level berada di bawah 40 dB. Penurunan kualitas citra dengan citra dengan PSNR dibawah 40 dB atau lebih biasanya mustahil terlihat untuk manusia.[6] Sedangkan nilai PSNR pada setiap level citra yang dikompresi menciptakan degradasi kualitas citra sebesar 9,105% per tiap level . Kompresi citra Haar level satu dengan vertical zone thresholding memiliki nilai rata-rata PSNR terbesar dibandingkan dengan Kompresi citra Haar level lainnya. Citra dengan nilai PSNR terkecil adalah citra ke-6 dan citra dengan nilai PSNR terbesar adalah citra ke-7.

10,0 15,0 20,0 25,0 30,0 35,0 40,0 1 2 3 4 5 6 7 8 PS N R (d B ) citra ke-

Zona Vertikal thresholding

level 1 level 2 level 3 level 4 level 5 level 6

(11)

Gambar 8. Grafik PSNR vs order-x citra untuk zona horizontal dihilangkan

Pada Gambar 8 menunjukkan rata-rata besar PSNR untuk 8 citra Standard Test Image yang dikompresi per masing-masing level berada di bawah 40 dB. Hal ini mengindikasikan bahwa nilai PSNR pada setiap level citra yang dikompresi menciptakan degradasi kualitas citra sebesar 9,787% per tiap level. Kompresi citra Haar level 1 dengan horizontal zone thresholding memiliki nilai rata-rata PSNR terbesar dibandingkan dengan Kompresi citra Haar level lainnya. Citra dengan detail horizontal terbesar adalah citra ke-3 dan citra dengan pengaruh detail terbesar adalah citra ke-4. Dibawah ini adalah tabel persentase penurunan PSNR horizontal zone

thresholding. 15,0 20,0 25,0 30,0 35,0 40,0 1 2 3 4 5 6 7 8 P SN R( dB ) citra ke-

Zona Horizontal Thresholding (metode Haar)

level 1 level 2 level 3 level 4 level 5 level 6 20,0 25,0 30,0 35,0 40,0 45,0 50,0 1 2 3 4 5 6 7 8 9 PS N R (d B ) citra ke-

Zona Diagonal thresholding

level 1 level 2 level 3 level 4 level 5 level 6

(12)

Pada Gambar 9 menunjukkan rata-rata besar PSNR untuk 8 citra Standard Test Image yang dikompresi per masing-masing level berada di jangkauan PSNR sebesar 24 dB hingga 47 dB. Hal ini mengindikasikan bahwa detail diagonal pada setiap level citra yang dikompresi menciptakan degradasi kualitas citra yang tidak signifikan. Kompresi citra Haar level 1 dengan diagonal zone thresholding memiliki nilai rata-rata PSNR terbesar dibandingkan dengan Kompresi citra Haar level lainnya. Citra dengan pengaruh detail diagontal terkecil adalah citra ke-7 dan pengaruh detail diagonal terbesar pada citra ke-6.

Gambar 10. Grafik PSNR (dB) vs order-x citra untuk Daubechies 9/7

Gambar 10 menunjukkan rata-rata nilai PSNR untuk delapan citra Standard Test Image yang dikompresi dari tingkat kompresi pertama hingga ke lima berada diatas 40 dB. Gambar 10 menunjukkan bahwa kualitas citra terkompresi menghasilkan distorsi citra yang tidak tampak oleh manusia. Hal tersebut ditunjukkan oleh nilai rata-rata PSNR diatas 40. Gambar 18 memiliki penurunan kualitas citra tersebar terjadi pada citra ke-1.

B. Pengujian Kompresi Wavelet berbasis Compiler GCC

Compiler GCC yang digunakan pada skripsi ini bertujuan menganalisis efek format Q pada

metode kompresi wavelet Haar dan Daubechies 9/7. . Untuk mengukur performa program kompresi GCC, digunakan time yang merupakan program bawaan dari MinGW seperti diperlihatkan pada Gambar 11.

45,0 45,5 46,0 46,5 47,0 47,5 48,0 48,5 49,0 49,5 50,0 1 2 3 4 5 6 7 8 PS NR( d B) citra ke-

Daubechies 9/7

level 1 level 2 level 3 level 4 level 5 level 6

(13)

Gambar 11 Program time untuk mengukur waktu komputasi

Waktu yang digunakan untuk mengkomputasi pada program kompresi wavelet adalah waktu

user ditambahkan dengan waktu sys. Sehingga pada Gambar 11, waktu yang digunakan adalah

0,015 detik (15 ms). Sedangkan real disebut juga wall clock time, waktu dari mulai hingga selesai pemanggilan. Sebagai contoh, ketika program yang dieksekusi perlu melakukan interrupt I/O, maka waktu tersebut disimpan oleh real.

Gambar 12 Grafik waktu komputasi Daubechies 9/7 GCC

Pada Gambar 12, Data diuji selama 10 iterasi terhadap 4 citra dengan tingkat kompresi. Gambar 12 memperlihatkan bahwa waktu komputasi tidak selalu bertambah seiring pertambahan tingkat kompresi. Sebagai contoh, waktu kompresi citra ke-1 tingkat 1 sebesar 0,094 detik, lebih besar dibandingkan dengan waktu kompresi tingkat ke-2 sebesar 0,0092. Hal ini dikarenakan karena setiap waktu eksekusi program, kondisi program yang berjalan di-backgroud OS pada mesin pengolah atau netbook berbeda-beda sehingga dari Gambar 12 hanya dapat disimpulkan bahwa jangkauan waktu komputasi yang diperlukan rata-rata kurang dari 0,115 detik dan lebih besar dari 0,08 detik.

0,08 0,09 0,1 0,11 0,12 1 2 3 4 5 d e tik

tingkat kompresi ke-

Performa GCC Daubechies 9/7

citra ke-1 citra ke-2 citra ke-3 citra ke-4

(14)

Gambar 13 Grafik waktu komputasi haar zona diagonal

Pada Gambar 13 diperlihatkan bahwa waktu komputasi tidak selalu bertambah seiring pertambahan tingkat kompresi. Hal ini dikarenakan karena setiap waktu eksekusi program, kondisi mesin berbeda-beda seperti assign RAM ketika program sedang dieksekusi, OS Process

Scheduler. Waktu komputasi yang diperlukan rata-rata kurang dari 0,14 detik dan lebih besar dari

0,07 detik.

C. Pengujian Kompresi Wavelet berbasis Arduino Mega 2560

Pengujian performa kompresi wavelet menggunakan Arduino Mega 2560 bertujuan untuk mengetahui apakah program wavelet GCC dapat diimplementasikan pada sistem dengan spesifikasi terbatas. Adapun Spesifikasi Arduino Mega 2560 sebagai berikut :

1. Kecepatan Pemroses Sebesar 16 MHz 2. Internal Static RAM sebesar 8 Kbyte 3. Eksternal RAM sebesar 448 Kbyte

Pengujian dilakukan dengan cara melakukan perhitungan terhadap sebuah citra standard (Standard Test Image) dengan resolusi sebesar 8 × 8 pixel. Pengujian untuk mengetahui apakah dapat diimplementasikan pada Arduino Mega 2560 dilakukan dengan membaca hasil debugging yang digunakan pada metode kompresi wavelet Daubechies 9/7.

Pada pengujian awal, program yang di-upload ke Arduino Adalah program input output

management seperti diperlihatkan hasil debugging pada gambar 14. Setelah itu, fungsi-fungsi

dengan metode kompresi Haar dan Daubechies 9/7 ditambahkan dan hasil debugging diperlihatkan oleh gambar 15. Setelah itu, penggunaan memory eksternal digunakan untuk

0,07 0,08 0,09 0,1 0,11 0,12 0,13 0,14 1 2 3 4 5 d e tik

tingkat kompresi ke-

Performa Haar GCC Diagonal

citra ke-1 citra ke-2 citra ke-3 citra ke-4

(15)

menyimpan baris citra yang telah diproses atau hasil dan citra asli seperti diperlihatkan oleh gambar 16.

Gambar 14 Hasil Debugging Input Output pada kompresi wavelet Arduino

Gambar 14 memperlihatkan bahwa keluaran berupa sebuah file berekstensi CSV. Masukan bernama G88.CSV berisi nilai-nilai citra dengan jangkauan nilai -128 hingga 127 seperti diperlihatkan pada bagian tengah Gambar 14. Gambar 14 memperlihatkan bahwa Arduino Mega 2560 telah berhasil mengambil nilai pixel citra Standard Test Image beresolusi 8 x 8 dan menyimpan kembali pada SD Card.

Setelah itu, pengujian dilakukan dengan meng-upload program kompresi untuk 1 baris dari citra berresolusi 8 × 8 ke Arduino. Gambar 15 memperlihatkan hasil kompresi dengan nilai LL_LH dan HL_HH yang sama antara program versi Arduino dengan program versi GCC.

Program kompresi GCC dalam skripsi ini dijadikan referensi untuk program kompresi Arduino

Mega 2560. Baris pertama atau indeks ke-0 digunakan sebagai masukan kemudian diproses oleh

lowpass dan highpass filter serta ditampilkan pada serial monitor pada Arduino.

(16)

Kemudian pengujian dilakukan dengan seluruh baris masukan berresolusi 8 × 8 dengan tingkat kompresi 1 dan metode daubechies 9/7 serta hasil kompresi disimpan dalam file bernama

G8x8.CSV.

Gambar 16 hasil kompresi Arduino baris ke-1

Waktu Komputasi yang dibutuhkan untuk menyelesaikan kompresi Daubechies 9/7 adalah 36,4 detik dengan menampilkan hasil debug ke serial monitor dan penambahan delay untuk mengecek hasil kompresi dan kurang dari 1 detik untuk kompresi tanpa menampilkan hasil debug dan delay.

D. Pengujian Kompresi Wavelet berbasis Arduino Mega 2560

Survei berikut ini bertujuan untuk mengetahui seberapa besar citra kompresi wavelet Haar dan

Daubechies 9/7 dapat diterima oleh manusia. Pengukuran kualitas citra berdasarkan persepsi

manusia dapat dinilai dengan metode Mean Opinion Score (MOS). Untuk mendapatkan nilai-nilai tersebut, citra hasil kompresi dibandingkan dengan citra referensi, citra asli. Manusia sebanyak 20 orang mensurvei memberikan nilai dengan skala: 5 (sangat bagus), 4 (cukup bagus), 3 (bagus), 2 (tidak bagus), 1 (tidak dapat digunakan). Dengan MOS dikalkulasikan dengan formula:

(17)

Dengan i adalah nilai dan p(i) adalah probabilitas nilai atau satu per jumlah nilai. Pada survei ini digunakan 2 kompresi yaitu haar diagonal zone dan daubechies 9/7 serta 2 citra seperti

diperlihatkan pada Gambar 17.

Gambar 17. citra ke-1 dan ke-2 sebagai masukan untuk survei persepsi citra kompresi [5] Tabel 2. Hasil survei persepsi kualitas citra kompresi

Haar Zona Diagonal

citra ke-1 citra ke-2

tingkat kompresi 1 3,9 4,3 tingkat kompresi 2 3,35 3,95 tingkat kompresi 3 2,85 3,45 tingkat kompresi 4 2,2 2,8 tingkat kompresi 5 1,8 2,35 Daubechies 9/7

citra ke-1 citra ke-2

tingkat kompresi 1 4 4,05

tingkat kompresi 2 3,85 3,8

tingkat kompresi 3 3,75 3,85

tingkat kompresi 4 3,5 3,75

tingkat kompresi 5 3,65 3,75

Berdasarkan Tabel 2, metode kompresi wavelet Daubechies 9/7 memiliki penerimaan yang baik dari penilai survei dibandingkan haar diagonal. Tingkat kompresi 1 hingga 5 daubechies 9/7 dan tingkat kompresi 1 hingga 2 dapat diterima oleh manusia. Pada haar diagonal, peningkatan

(18)

tingkat kompresi menyebabkan distorsi citra semakin tampak sehingga tingkat 3 hingga 5 dinilai tidak dapat dipergunakan sebagai citra yang baik untuk pandangan manusia.

IV. KESIMPULAN

Kesimpulan analisis perbandingan kinerja kompresi wavelet haar dan daubechies 9/7 berbasis MATLAB, compiler GCC dan arduino mikrokontroler:

1. Distorsi pada citra hasil kompresi disebabkan oleh proses zone thresholding pada wavelet

haar dan proses rounding pada wavelet daubechies 9/7.

2. Metode kompresi daubechies 9/7 tingkat satu hingga lima dan haar diagonal zone tingkat satu menghasilkan citra kompresi dengan distorsi yang tidak tampak.

3. Performa kompresi citra wavelet Haar dan Daubechies 9/7 pada GCC tidak dipengaruhi oleh peningkatan level kompresi dan citra masukan yang berbeda-beda dengan resolusi citra sama, melainkan spesifikasi mesin pengolah dan RAM (Random Access Memory). 4. Rata-rata kecepatan program kompresi wavelet Haar dan Daubechies 9/7 pada GCC

kurang dari 0,2 detik.

5. Distorsi yang disebabkan oleh wavelet Haar vertical, horizontal tingkat satu hingga lima dan haar diagonal tingkat dua hingga lima memperlihatkan bahwa detail –detail citra banyak terdapat pada zona detail citra horizontal dan vertikal.

6. Menurut hasil survei terhadap 20 orang, kompresi daubechies 9/7 tingkat 1-5 dan haar tingkat 1-2 dapat diterima dengan baik oleh manusia. Hal tersebut berbeda dengan Pengukuran nilai PSNR yang menunjukkan bahwa haar tingkat 1 saja yang dapat diterima oleh manusia.

7. Penurunan PSNR pada Haar zona diagonal, horizontal dan vertikal secara berturut-turut sebesar 8,757 %, 9,378 % dan 9,105 %.

8. Penurunan PSNR rata-rata pada Daubechies 9/7 sebesar 0,318 %.

9. Mikrokontroler Arduino dengan keterbatasan resource dapat mengkompresi citra berresolusi 8 x 8 selama 36,4 detik untuk metode wavelet daubechies 9/7 dan detik untuk metode waveket haar dengan menampilkan hasil debug pada serial monitor dan delay untuk mempermudah melihat hasil kompresi untuk setiap baris.

10. RAM yang tersisa dengan proses debug pada arduino mega 2560 sebesar 32730 Byte dari 52 KByte yang dapat diakses dari RAM Eksternal. Hal tersebut menyimpulkan bahwa

(19)

proses debug menggunakan Serial.monitor membutuhkan hampir setengah dari RAM eksternal yang dapat diakses.

V. SARAN

Filesystem pada penelitian ini adalah FAT32. Sehingga filesystem independent yang

khusus menangani citra akan mempercepat dan mengurangi jumlah konsumsi RAM. Platform yang digunakan dapat

KEPUSTAKAAN

[1] Gonzalez, Rafael & Woods, Richard. (2007). Digital Image Processing Third Edition. Pearson.

[2] Rein S., & Reisslein, M. (2011). Low-Memory Wavelet Transforms for WirelessSensor

Networks: A Tutorial. IEEE Comm. Surveys & Tutorials, vol. 13, no. 2.

[3] http://www.gnu.org/software/octave/, [Online], (diakses 21 Oktober 2012 pkl. 15.58 WIB). [4] http://ruggedcircuits.com/html/quadram.html, [Online], (diakses 6 September 2012 pkl. 7.36

WIB).

[5] Talukder, K., & Harada, K. (2009). Haar Wavelet Based Approach for Image Compression

and Quality Assessment of Compressed Image. IAENG Int. Journal of Applied Math.

Gambar

Gambar 1. Blok diagram sistem kompresi mikrokontroler
Gambar 2. Diagram Alir Kompresi Citra
Gambar 3. Pseudocode metode kompresi wavelet Haar [4]
Gambar 5. Struktur dekomposisi wavelet  III.  HASIL PENGUJIAN DAN PEMBAHASAN
+7

Referensi

Dokumen terkait

Terakhir, sebagai pribadi, saya bersyukur karena bisa sampai di hadapan Bapak dan Ibu setelah menempuh proses seleksi yang sangat panjang dalam upaya untuk menjadi bagian

Create the scoring instruments (checklist, follow up questions and answer keys3. Step

Sesuai dengan Peraturan Presiden Nomor 29 Tahun 2016 tentang sistem Laporan Akuntabilitas Kinerja Instansi Pemerintah, Sekretariat Daerah Kabupaten Aceh Utara telah

learning outcome berorientasi keunikan atribut lulusan; dan (c) Optimalisasi pembelajaran berorientasi student center learning dan IT based learning. Berdasarkan program yang

Pendidikan pelatihan petugas Rekam Medis di RSUD Petala Bumi Provinsi Riau dan RS Bina Kasih Kota Pekanbaru diketahui bahwa sebanyak 14 responden (58,3 %) menyatakan cukup baik

Setelah para siswa selesai mencatat, guru praktikan menyuruh siswa untuk menghafalkan kosakata yang diajarkan, kemudian guru praktikan membagikan lembaran permainan acak

desa Wedoro, Sidoarjo), penulis mengucapkan banyak terima kasih atas bantuannya kepada penulis dalam membantu menyelesaikan tugas akhir skripsi ini, semoga berkat

Persamaan-persamaan yang dihasilkan dengan metode pendugaan 3SLS, yang dinyatakan lebih baik, dapat digunakan untuk menggambarkan keterkaitan sisi produksi,