4.2 Penjelasan Program
Aplikasi ini dibuat untuk mendeteksi jenis penyakit pada daun cabe serta memberikan solusi penanganannya. Yang dibutuhkan dalam
menjalankan aplikasi ini adalah citra. Citra tersebut akan diproses melewati 4 tahapan image processing.
Tahap pertama citra diubah menjadi citra grayscale. Tahap kedua, citra grayscale diubah menjadi citra hitam-putih dengan
threshold. Tahap selanjutnya yaitu mendeteksi tepi dengan metode Laplacian of Gaussian. Setelah mendeteksi tepi, maka pada tahap
akhir dilakukan pencocokan nilai matriks citra dengan nilai String matriks pembanding untuk menentukan jenis penyakit yang diderita.
4.3 Implementasi Image Processing
Untuk mendapatkan hasil deteksi tepi yang baik, dilakukan beberapa tahapan image processing.
4.3.1 Proses Konversi Citra Asli menjadi Grayscale
Dalam aplikasi ini, pada tahap awal sebelum melakukan pendeteksian tepi, citra input akan diubah terlebih dahulu menjadi citra
grayscale keabuan. Tahap awal proses grayscale dimulai dengan mencari atau meghitung nilai warna RGB, yaitu nilai Red merah,
Green hijau, dan Blue biru dari setiap pixel x,y pada citra input.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Setelah mendapatkan nilai RGB, maka nilai tersebut akan dimasukkan ke dalam rumus sebagai berikut :
Y= R+G+B
3 Keterangan :
Y = Nilai grayscale; R = Nilai red;
G = Nilai green; B = Nilai Blue.
Berikut source code untuk mengkonversi citra ke grayscale:
int iImageWidth, iImageHeight,red,green,blue,gray,warna; Image1-Canvas-Draw0,0,jpgImage-Graphic;
ImageWidth = Image1-Width; iImageHeight = Image1-Height;
for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ {
for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++ {
warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; red = GetRValuewarna;
green = GetGValuewarna; blue = GetBValuewarna;
gray = red+green+blue3; COLORREF ClrMine = RGBgray, gray, gray;
Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]= ClrMine; }
}
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4.3.2 Proses Threshold
Setelah citra input diubah menjadi citra grayscale, maka tahap selanjutnya citra akan mengalami proses thresholding. Proses
threshold merupakan proses di mana citra akan diubah menjadi citra hitam-putih.
Selama proses thresholding, individu pixel dalam gambar ditandai sebagai objek pixel jika nilai objek lebih besar dari beberapa
nilai threshold asumsi benda menjadi lebih terang daripada latar belakang dan jika sebaliknya maka ditandai sebagai “latar belakang”
pixel. Konvensi ini dikenal sebagai ambang atas. Ada juga yang
disebut nilai ambang bawah. Apabila nilai pixel berada diantara ambang atas dan bawah, maka pixel ditandai sebagai “objek” sehingga
disebut threshold inside. Threshold outside merupakan kebalikan dari threshold inside dimana nilai pixel berada diluar ambang batas
Shapiro, et. 2001 al: 83. Biasanya, sebuah pixel objek diberi nilai 1 sementara piksel
latar belakang diberikan nilai ”0”. Pada akhirnya, suatu citra biner dibentuk oleh pixel warna putih atau hitam, tergantung pada label
pixel. Parameter kunci dalam proses thresholding adalah pilihan dari
nilai ambang batas. Ada 2 cara melakukan Threshol, yaitu threshold statis dan threshold dinamis. Threshold statis, pengguna dapat secara
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
manual memilih nilai ambang batas. Sedangkan threshold dinamis terdapat algoritma menghitung ambang batas secara otomatis.
Threshold yang digunakan dalam aplikasi ini adalah threshold dinamis. Apabila nilai pixel lebih besar dari nilai ambang batas maka
pixel akan berwarna putih, sebaliknya apabila nilai pixel lebih kecil maka pixel akan berwarna hitam.
Salah satu metode Threshold dinamis yang relatif sederhana dan tahan terhadap noise adalah metode iteratif. Berikut algoritma
metode iteratif : a.
Ambang awal T dipilih, hal ini dapat dilakukan secara acak atau sesuai dengan metode lainnya yang diinginkan.
b. Gambar akan tersegmentasi ke dalam piksel objek dan latar
belakang seperti diuraikan di atas, menciptakan dua set:
G 1 = {f m, n: f m, n T} piksel obyek
G 2 = {f m, n: f m, n =T} piksel latar belakang catatan, f m, n adalah nilai dari
pixel yang terletak di kolom m, baris n c.
Rata-rata masing-masing set dihitung.
m1 = nilai rata-rata 1 dari G 1
m2 = nilai rata-rata 2 dari G 2 d.
Ambang batas baru dibuat yaitu rata-rata m 1 dan m 2 : T = m 1 + m 2 2
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
e. Kembali ke langkah dua, sekarang menggunakan ambang
batas baru dihitung pada langkah empat, terus mengulanginya sampai ambang baru cocok dengan satu
sebelum itu yaitu sampai konvergensi telah tercapai. Setelah itu akan didapat nilai ambang batas akhir yang akan
menentukan pixel mana yang diubah menjadi hitam, dan mana yang menjadi putih.
int iImageWidth, iImageHeight,pixel,T=128,t=0,jmlNNol,jmlNSatu,jmlNol,jmlSatu,warna,gray,m1
,m2; iImageWidth = Image2-Width;
iImageHeight = Image2-Height; do {
t=T; jmlNol =1 ;
jmlNNol =0; jmlSatu =1;
jmlNSatu =0; for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++
{ for int iWhichYPixel = 0; iWhichYPixel iImageHeight;
iWhichYPixel++ {
warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; gray = GetRValuewarna+GetGValuewarna+GetBValuewarna3;
if gray T {
jmlNol +=1; jmlNNol +=gray;
} else
{ jmlSatu +=1;
jmlNSatu +=gray; }
} }
if jmlNol1 jmlNol-=1;
ifjmlSatu1 jmlSatu-=1;
m1 = jmlNNoljmlNol; m2 = jmlNSatujmlSatu;
T = m1+m22; }whilet=T;
Edit1-Text = T;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4.3.3 Implementasi Metode Laplacian of Gaussian
Dalam aplikasi ini, yang berperan penting adalah penerapan metode Laplacian of Gaussian LoG. Setelah citra mengalami
thresholding, maka tahap selanjutnya adalah menerapkan metode LoG ke dalam program. Metode LoG ini digunakan untuk mendeteksi tepi
dari citra hitam-putih. Metode modern ini banyak digunakan karena dapat mendeteksi tepi dengan hasil yang lebih baik.
Pada metode LoG, citra akan di filter dahulu sehingga akan mengurangi atau menghilangkan noise pada citra sehingga kualitas
detail tepi menjadi lebih baiklebih kelihatan. Metode Log ini membentuk suatu cross-zero section yaitu diagram yang memotong
sumbu v yang akan menunjukan perbedaan antara daerah gelap dan terang. Dengan demikian, metode ini akan menghasilkan deteksi tepi
yang lebih halus dan sudah menghilangkan noise.
for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ {
for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++
{ warna = Image1-Canvas-Pixels[iWhichXPixel][iWhichYPixel];
gray = GetRValuewarna; if grayT
gray = 255 ; else
gray = 0; COLORREF ClrMine = RGBgray, gray, gray;
Image4-Canvas-Pixels[iWhichXPixel][iWhichYPixel]= ClrMine; }
}
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Matriks yang digunakan dalam metode ini adalah matriks 5x5 sebagai berikut :
Gambar 4.1 Matriks 5x5 LoG
Matriks ini diinisialisasikan dalam program menggunakan array 2 dimensi. Matriks LoG ini akan dikalikan dengan matriks yang
dihasikan oleh proses Threshold pada citra input. Proses ini disebut proses konvolusi. Pada proses konvolusi, matriks 5x5 LoG
ditempatkan di atas matriks citra input. Pada Matriks LoG diambil nilai tengahnya yaitu pada LoG [2][2] untuk dikalikan dengan matriks citra
[0][0] begitu pula dengan matriks pixel selanjutnya dikalikan sesuai posisi kedua matriks. Pada tahap awal nilai matriks LoG [0][0] sampai
[1][1] diabaikan karena terletak diluar citra. Hasil konvolusi ditempatkan pada pixel citra [0][0]. Proses ini akan dilanjutkan dengan
bergeser satu pixel ke arah kanan citra untuk mencari nilai konvolusi dari pixel tersebut. Proses ini akan terus berulang sampai pixel paling
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
bawah sebelah kanan. Hasil perkalian kedua matriks akan menghasilkan deteksi tepi yang halus dan sudah menghilangkan noise.
for int iWhichXPixel = -2 ; iWhichXPixel iImageWidth-2; iWhichXPixel++ {
for int iWhichYPixel = -2 ; iWhichYPixel iImageHeight-2; iWhichYPixel++
{ gray_log=0;
for int i=0;i5;i++ {
for int j=0;j5;j++ {
if i+iWhichXPixel 0 || j+iWhichYPixel 0 gray =0;
else{ warna = Image4-Canvas-Pixels[iWhichXPixel+i][iWhichYPixel+j];
gray = GetRValuewarna; }
gray_log += log[i][j]gray; }
} if gray_log 0
gray_log=0; else if gray_log 255
gray_log = 255; COLORREF ClrMine = RGBgray_log, gray_log, gray_log;
Image3-Canvas-Pixels[iWhichXPixel+2][iWhichYPixel+2]= ClrMine; }
} int iImageWidth, iImageHeight,gray_log,gray,warna;
iImageWidth = Image2-Width; iImageHeight = Image2-Height;
int log[5][5]; log[0][0]=0; log[0][1]=0;
log[0][2]=-1; log[0][3]=0; log[0][4]=0; log[1][0]=0;
log[1][1]=-1; log[1][2]=-2; log[1][3]=-1; log[1][4]=0;
log[2][0]=-1; log[2][1]=-2; log[2][2]=16; log[2][3]=-2;
log[2][4]=-1; log[3][0]=0; log[3][1]=-1; log[3][2]=-2;
log[3][3]=-1; log[3][4]=0; log[4][0]=0; log[4][1]=0;
log[4][2]=-1; log[4][3]=0;
log[4][4]=0;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4.3.4 Proses Pembandingan String Matriks dan Hasil
Pembandingan matriks digunakan untuk mendapatkan hasil akhir berupa jenis-jenis penyakit beserta cara pengendaliannya. Untuk
pembandingan matriks ini, digunakan Fuzzy String Matching. Fungsi Fuzzy String Matching untuk menbandingkan antara matriks citra
dengan String matriks pembanding. Dengan metode ini, akan dilakukan pengecekan satu per satu
matriks dari koordinat pixel 0,0 hingga koordinat pixel terakhir. Dengan demikian akan menghasilkan baik.
Untuk mendeteksi penyakit yang diderita, digunakan String pembanding. String pembanding ini menggambarkan ciri dari jenis
penyakit yang ada pada daun cabe. String pembanding didapatkan dengan proses yang sama yaitu melewati tahap grayscaling,
thresholding, dan LoG. String pembanding ini sudah dijalankan terlebih dahulu dan di simpan dalam array pada source code
sehingga mendapatkan hasil string untuk dibandingkan dengan string citra input.
Citra pembanding yang digunakan untuk penyakit Bercak Daun Cercospora capsici sebanyak 3 citra yang telah diproses dengan
tahap grayscaling, thresholding, dan LoG sehingga menghasilkan string pembanding sebagai berikut :
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
a. Bercak Daun Pembanding 1
Gambar 4.2 menunjukan citra pembanding yang pertama untuk penyakit bercak daun.
Gambar 4.2 Bercak Daun Pembanding 1
String pembanding yang dihasilkan dari citra di atas setelah melalui tahap grayscaling, thresholding, dan LoG adalah :
Boolean cocok=false; int iImageWidth, iImageHeight,gray,warna;
String bd[3],bb[2],et[2]; String buf=;
bd[0] = 1111111111111111111111111111100011111111111111111111111111111000110
00000000000000000000000011000110000000000000001100000000110001100000 00011000011111000000110001100000001111111100111000001100011000000110
01111000001100000111111000001100000000000001100000111110000110000000 00000001100000000110000110000000010000001100000001100011000000011111
00000110000001100011000000011111000001100000011000110000000011110000 00110000011000011000000000000000001100000110000110000000000000000110
00000110000011000000000000000110000001100000011110000000000011000000 01100000001111110000000110000000011000000000011111100111000000000110
00000000000011111110000000000110000000000000000110000000000001100000 00000000000000000000000001100000000000000000000000000000011000000000
00000000000000000000011000000000000000000000000000000110000000000000 00000000000000000110000000000000000000000000000001100000000000000000
00000000000001100000000000000000000000000000011000000000000000000000 00000000011000000000000000000000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
b. Bercak Daun pembanding 2
Gambar 4.3 menunjukan citra pembanding yang kedua untuk penyakit bercak daun.
Gambar 4.3 Bercak Daun Pembanding 2
String pembanding yang dihasilkan dari citra di atas setelah melalui tahap grayscaling, thresholding, dan LoG adalah :
Boolean cocok=false; int iImageWidth, iImageHeight,gray,warna;
String bd[3],bb[2],et[2]; String buf=;
bd[1] = 0000000000000000000000000000000011000000000000000000000000000000001
10000000000000000000000000000000011000000000000000000000000000000001 10000000000000000000000000001000011000000000000000000000000000000001
10000000000000000000000000000000011000000000000000000000000000000001 10000000000000000000000000000000011000000000011111100000000000000001
10000000001111111100000000000000011000000001100000011000000000000001 10000000011000000110000000000000011000000011000000001100000000000001
10000000110000010011000000000000011000000001100011111000000000000001 10000000011001101100010000000000011000000000110110110000000000000001
10000000000111111110000000000000011000000000001111110000000000000001 10000000000000000000000000000000011000000000000000000000000000000001
10000000000000000000000000000000011000000000000000000000000000000001 10000000000000000000000000000000011000000000000000000000000000000001
10000000000000000000000000000000011000000000000000000000000000000001 100000000000000000000000000000000110000;
bd[1]=bd[1] +000000000000000000000000000011000000000000000000000000000000001111
11111111111111111111111111111110111111111111111111111111111111110011 000000000000000000000000000000001100000000000000000000000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
c. Bercak Daun Pembanding 3
Gambar 4.4 menunjukan citra pembanding yang ketiga untuk penyakit bercak daun.
Gambar 4.4 Bercak Daun Pembanding 3
String pembanding yang dihasilkan dari citra di atas setelah melalui tahap grayscaling, thresholding, dan LoG adalah :
Boolean cocok=false; int iImageWidth, iImageHeight,gray,warna;
String bd[3],bb[2],et[2]; String buf=;
bd[2]=0000000000000000000000111111111110000000000000000000000011111 11111000000000000000000000001111001101000000000000000000000000011111
10100000000000000000000000000011100100000000000000000000000000000000 10000000000000000000000000000000010000000000010000000000000000000010
00000000010000000000000000000001000000000011000011100000000000001100 00000000001111111000000000000111000000000011110001100000000000100000
00000001100000011100000000010000000000001100000001110000000010000000 00000110000000011000000001000000000000110000000011000000001000000000
00011000000000110000000100000000000011000000000110000000100000000000 01100000000011000000010000000000011100000001111100000010000000000010
11111111111100000001000000000000001111111000000000001000000000000001 00000000000000000100000000000000000000000000000000100000000000000000
00000000000000010000000000000000000000000000000010000000000000000000 00000000000001000000000000000000000000000000001000000000000000000000
00000000000100000000000000000000000000000000100; bd[2]=bd[2]+
0000000000000000000000000000001111111111111111111111111111111111111 11111111111111111111111111111011000000000000000000000000000000011000
00000000000000000000000000001100000000000000000000000000000001100000 00000000000000000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Citra pembanding yang digunakan untuk penyakit Bercak Bakteri Xanthomonas campestris pv. vesicatoria sebanyak 2 citra
yang telah diproses dengan tahap grayscaling, thresholding, dan LoG sehingga menghasilkan string pembanding sebagai berikut :
a. Bercak Bakteri Pembanding 1
Gambar 4.5 menunjukan citra pembanding yang pertama untuk penyakit bercak bakteri.
Gambar 4.5 Bercak Bakteri Pembanding 1
String pembanding yang dihasilkan dari citra di atas setelah melalui tahap grayscaling, thresholding, dan LoG adalah :
bb[0]=0000000000000000000000000000000011111111100000000000000000000 00000000000011111111100000000000000000000000000000000110000000000000
00000000000000000000001001100000000000000000000000000000000000000001 10000000000000000000000000000000000000001100000000000000000000000000
00000000000001100000000000000000000000000000110000000011000000000000 00000000000000001000000000011000000000000000000000000000000000000000
11000000000000000000000000000000000011000110000000000000000000000000 00000001110000110000000000000000000000000111001111100001100000000000
00000000000000001111111100001100000000000000000000000000011111111100 01100000000000000000000000011111001011100110000000000000000000000000
11101111111100011000000000000000000000000110001101110000110000000000 00000000000111100000011000000110000000000000000000001011000000110001
00110000000000000000000001011000001100001001100000000000000000000111 10000011100000001100000000000000000000111000001111000000011000000000
00000000000011010011000000000011000000000010000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
b. Bercak Bakteri Pembanding 2
Pada Gambar 4.6 akan menunjukan citra pembanding yang kedua yang digunakan sebagai pembanding untuk penyakit bercak
bakteri.
Gambar 4.6 Bercak Bakteri Pembanding 2
String pembanding yang dihasilkan dari citra di atas setelah melalui tahap grayscaling, thresholding, dan LoG adalah :
bb[0]=bb[0]+0000011111101100000000001100000000000000000000110101111 00010000001100000000000000000000000011110000000000011000000000001000
00000000011110010000000011000000000000000000000001111000000000000110 00000000000000000000011110000000000000110000000000000000000000001100
00000000000110000000111111111111111111111111111111111000000001111111 11111111110011111111111110000000001100000000000000000000000000000000
00000001100000000000000000000000000000000000000011000000000000000000 00000000000000000000011000000000000000000000000000000000000000110000
00000000000000000000000000000000000110000000000000000000000000000000 00000000110000000000000000000000000000000000000001100000000000000000
000000000000000000000011000000000000000000000000000000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Sedangkan untuk penyakit Embun Tepung Powdery Mildew Leveillula taurica Citra pembanding yang digunakan sebanyak 2 citra
yang telah diproses dengan tahap grayscaling, thresholding, dan LoG sehingga menghasilkan string pembanding sebagai berikut :
a. Embun Tepung Pembanding 1
Citra pembanding yang pertama untuk jenis penyakit embun tepung dapat dilihat pada gambar 4.7 berikut :
Boolean cocok=false; int iImageWidth, iImageHeight,gray,warna;
String bd[3],bb[2],et[2]; String buf=;
bb[1]=0000000000000000000000000000000011111000000000000000000000000 00000000111110000000000000000000000000000000011000000000000000000000
00000000000000110000000000000000000000000000000000011000000000000000 11000000000000000000110000000000000011100000000000000000011000001000
00000000000000000000000000110000000000000000000000000000000000011000 00000000000000000001000000011000110000000000001100000000000000001100
01100000000000011100000000000000011000110000000000001111110000000000 00000001100000000000011001100000001000000110110000000000011000000000
00000000001101100000000001100000000000000100000100110000000000011000 00000011001100011001100000000000010000000011110000000110110000000000
01000000000111100000000111000000000000100000001110011111110011000000 00000000000000111000011111100110000000000000000000011100110000110011
00000000000000000001111111110000110110000000000000000000111011001100 01101100000000000000000000000011011001110110000000000000000000000000
10011110001100000000000000000000000001100111000; bb[1]=bb[1]+1100000000000000000000000000011110011100000000000000000
00000000000000100111000000000000000000000000000000001000110000000000 00000000000000000000000000110000111111111111111111111111111111110000
01111111111111111111111111111111000000110000000000000000000000000000 00000001100000000000000000000000000000000000110000000000000000000000
0000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 4.7 Embun Tepung Pambanding 1
String pembanding yang dihasilkan dari citra di atas adalah :
et[0] = et[0] +000000000000000000000000000110000000000111100000000000000000000000
00001100000000011111000000000000000000000000000110000000000011100000 00000000000000000000001100000000000011110000000000000000000000000110
00000000000001100000000000000000000000001100000000000000111000000000 00000000000000011000000000000001110000000000000000000000001100000000
01111110111111111111111111111111110000000000111110001111111111111111 11111111000000000001100000000000000000000000000000000000000000110000
00000000000000000000000000000000000001100000000000000000000000000000 00000000000011000000000000000000000000000000000000000001100000000000
00000000000000000000000000000011000000000000000000000000000000000000 00000110000000000000000000000000000000000000000011000000000000000000
00000000000000000000000; et[0]
=000000000000000000000000000000001111111111100000000000000000000000 00000000011111111111000000000000000000000000000000001100000000000000
00000000000000000000000000011000000000000000000000000000000000000000 00110000000000000000000000000000000000110000011000000000000000000000
00000000000011100000110000000000000000000000000000000001100000011000 00000000000000000000000000000110000000110000000000000000000000000000
00000000000001100000000000000000000000000000000000000000110000000000 00000000000000000000000000000001100000000000000000000000000000000000
00000011000000000000000000000000000000000000000001100000000000000000 00000000000000000000000011000000000000000000000000000000000000000001
10000000000000000000000000000000000000000011000000000000000000000000 00000000000000000110000000000000000000000000000000000000000011000000
00000000000000000000000000000000000110000000001100000000000000000000 00000000011000000000011000000000000000000000000000001100000000001110
00000000000000000000000000011000000000011100;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
b. Embun Tepung Pembanding 2
Citra pembanding yang pertama untuk jenis penyakit embun tepung dapat dilihat pada gambar 4.8 berikut :
Gambar 4.8 Embun Tepung Pembanding 2
Berikut hasil string pembangding yang didapatkan dari citra di atas melalui tahap grayscaling, thresholding, dan LoG :
et[1] = 1111111101100000111111110000000000000000000011111111111100011111111
10000000000000000000011000000111111110011111100000001110000000000110 00001100110011111110000000000111110000000110011110000000111000000010
00000001100000000110111111100000111000000000000000000000000001111001 11110000111000000000000000000111000001110001111000000000111111000000
00000111000001100001100000000000011111000000011001111011000000000000 00000000011011000000000000000011001000000000000000000111110000010000
00000010000000000000000000010011110000110000000001000000000000001000 00111000010000110001100000000001100000011100001100000001100000111000
00000000000000001111001000110011100011101100000000000000000000111100 00100110110011000110000000000100000100111110110001110111100000111111
11000000000111100011111111111011000000011111110000000000110000010011 10001100000000100000000010000000011000000011000011000010011100000001
10000000011000000001100011000111110110000000100000111100000000001111 100011011111000000000000011110000000000001110011;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
String Matriks dari citra yang telah di-LoG akan dibandingan dengan String matriks pembanding untuk mendapatkan hasil jenis
penyakit yang diderita. Pembandingan String ini menggunakan metode Fuzzy String Matching. Dari beberapa referensi menyatakan Fuzzy
String Matching merupakan metode pembandingan matriks yang dapat menghasilkan tingkat kecocokan yang cukup akurat dibanding metode
lainnya.
et[1] = et[1] +111100100000000000000110000000000000000001111111111110011100000001
10000000000000000011000111111111111100000011000000000000000001100011 00000001100100000011000000000000000011111111111111111111000000110000
00000000000110111100111111100111000001100000000000000001111111000011 00000001100011000000000000000011111101100111100000001111111110000000
00000110111100111100110000000011111111000000000011000111011110000110 00010000000001100000000011000001110011111100000111111111110000000001
10000000110001111000000111111111100000000001100000001100011000001110 00111111100110000001100000001110111100011110000000111111111111001100
00000011100110110000000000100110011111100111111111101111011000000000 01111100000000110011111111000110001111101001011111001111111001111000
00000000011111111111110011000011110011001100000000001101100111101000 01111111100111100110000000000111000110000000001110001111000011000000
00000010000110000000000110000111110011000000000000000001100000000001
1011011011001100000000000000000;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
for int iWhichXPixel = 0; iWhichXPixel iImageWidth; iWhichXPixel++ {
for int iWhichYPixel = 0; iWhichYPixel iImageHeight; iWhichYPixel++ {
warna = Image3-Canvas-Pixels[iWhichXPixel][iWhichYPixel]; gray= GetRValuewarna;
if gray==255
gray=1; else
gray=0; buf = buf + gray;
} }
float h; int bnr=0;
if bnr==0{ for int j=0;j2;j++
{ h=fuzzymatchet[j],buf;
if h 0.69f {
bnr=3; break;
} }
} if bnr==0{
for int i=0;i3;i++{ h=fuzzymatchbd[i],buf;
if h 0.54f {
bnr=1; break;
} }
} if bnr==0{
for int j=0;j2;j++ {
h=fuzzymatchbb[j],buf; if h 0.51f
{ bnr=2;
break; }
} }
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
67
BAB V UJI COBA DAN EVALUASI
5.1 Uji Coba Aplikasi
Untuk mengetahui sejauh mana kemampuan aplikasi ini bekerja dalam mendeteksi penyakit pada daun cabe, maka perlu
dilakukan pengujian. Pengujian ini dilakukan dengan memberikan beberapa contoh citra penyakit daun cabe.
Citra-citra yang dijadikan contoh tersebut merupakan citra yang diambil dari bagian daun yang mempunyai ciri penyakit. Ketika
aplikasi berjalan, citra diinputkan ke dalam Picturebox. Dengan OpenFile, citra secara otomatis muncul di Picturebox pada aplikasi
Gambar 5.1.
Gambar 5.1 Open file picture
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Setelah citra berhasil diinputkan, proses selanjutnya adalah proses mengkonversi citra asli menjadi citra grayscale keabuan
dengan meng-klik button “Grayscale”. Kemudian klik button “Threshold” untuk menjalankan fungsi thresholding. Citra hitam-putih
dari proses threshold akan diproses dengan metode Laplacian of Gaussian dengan menekan button “Laplacian of Gaussian”. Tahap
akhir, klik button “Hasil” untuk mendapatkan hasil deteksi jenis penyakit beserta pengobatan atau pengendaliannya Gambar 5.2.
Gambar 5.2 Hasil Proses Deteksi Penyakit
Proses pengujian dilakukan pula pada 25 citra yang mempunyai struktur penyakit yang berbeda. Dari hasil pengujian terhadap 25 citra
tersebut, dapat diketahui 20 dari 25 citra berhasil dideteksi dengan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
benar. Dengan kata lain tingkat keberhasilan mencapai 80, diperoleh dengan perhitungan sebagai berikut :
Jumlah Citra Benar Jumlah Pengujian
Jadi diperoleh persentasi keberhasilan = 20 25
= 0.8 X 100 =
80 Berikut hasil uji coba yang telah dilakukan terhadap 25 citra
input daun tanaman cabe yang terserang penyakit dapat dilihat pada
tabel 5.1: Tabel 5.1 Hasil Uji Coba
No Citra Input
Grayscale Threshold
LoG Hasil akhir Penyakit
sebenarnya 1
Bercak Bakteri
Bercak Daun
2 Bercak Daun Bercak Daun
3 Tidak
diketahui Embun
Tepung
X 100
X 100
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
No Citra Input
Grayscale Threshold
LoG Hasil akhir Penyakit
sebenarnya 4
Bercak Bakteri
Bercak Daun
5 Embun
Tepung Embun
Tepung 6
Bercak Daun Bercak Daun
7 Embun
Tepung Embun
Tepung 8
Bercak Bakteri
Bercak Bakteri
9 Embun
Tepung Bercak Daun
10 Bercak Daun Bercak Daun
11 Bercak Daun Bercak Daun
12 Bercak
Bakteri Bercak
Bakteri
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
No Citra Input
Grayscale Threshold
LoG Hasil akhir Penyakit
sebenarnya 13
Bercak Daun Bercak Daun
14 Embun
Tepung Embun
Tepung 15
Bercak Bakteri
Bercak Bakteri
16 Tidak
diketahui Embun
Tepung 17
Bercak Daun Bercak Daun
18 Bercak
Bakteri Bercak
Bakteri 19
Embun Tepung
Embun Tepung
20 Embun
Tepung Embun
Tepung
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
No Citra Input
Grayscale Threshold
LoG Hasil akhir Penyakit
sebenarnya 21
Bercak Bakteri
Bercak Bakteri
22 Bercak Daun Bercak Daun
23 Embun
Tepung Embun
Tepung 24
Bercak Daun Bercak Daun
25 Embun
Tepung Embun
Tepung
5.2 Evaluasi