3.2 Pseudocode
Pseudocode merupakan sebuah kode yang digunakan untuk menuliskan sebuah algoritma dengan cara yang bebas yang tidak terkait dengan bahasa pemrograman
tertentu. Pseudocode berisi langkah-langkah untuk menyelesaikan suatu permasalahan yang bentuknya sedikit berbeda dari algoritma. Pseudocode menggunakan bahasa
yang hampir menyerupai bahasa pemrograman melainkan menggunakan bahasa yang mudah dipahami secara umum dan juga lebih ringkas.
3.2.1 Pseudocode Deteksi Tepi Robert
1. Menentukan panjang dan lebar citra
x - image.height y - image.width
2. Mengubah ke grayscale
for i - 0 to x – 2 for j - 0 to y – 2
ptrf - image.getpixel i,j.R ptrf - image.getpixel i+1,j.R
ptrf - image.getpixel i,j.R
3. Menentukan deteksi tepi
gray - sqrtptrf-ptrf2 + ptrf-ptrf2 output.setpixel i,j, color, gray,gray,gray
gray - 0
Pada Pseudocede deteksi tepi Robert dimulai dengan menentukan panjang dan lebar dari citra dan melakukan pengubahan citra menjadi grayscale setelah itu melakukan
perhitungan gradient dan melakukan thresholding yang mengubah citra menjadi hitam putih.
3.2.2 Pseudocode Deteksi Tepi Canny
1. Melakukan Gaussian filter
Sigma - 5 Size - 30
x = -size 2, size 2, size gaussfilter - exp-x . 2 2 sigma 2
gaussfilter - gaussfilter sum gaussfilter
2. Menghitung gradient magnitude
Universitas Sumatera Utara
For j - 1 to b.tinggi – 2 For i - 1 to b.lebar -2
Gy[j][i] - p[j+1] [i-1].r - p[j-1] [i-1].r + 2 p[j+1] [i].r – p[j-1][i].r + p[j+1] [i+1].r - p[j-1] [i+1].r
Gx[j][i] - p[j-1] [i+1].r – p[j][i].r + 2 p[j][i-1].r + p[j+1][i+1].r – p[j+1][i-1].r
Mag[j][i] - sqrtgx[j][i] gx[j][i] + gy[j][i] gy[j][i]
3. Non-maximum suppression
For j - 1 to b.tinggi – 2 For i - 1 to b.lebar -2
Dir - arctan2 gy[j][i], gx[j][i] Dx - round cos dir
Dy - round sin dir Edge[j][i] - mag[j][i] = mag[j+dy][i+dx] mag[j][i] = mag[j-
dy][i-dx
4. Melakukan thresholding dan menentukan arah tepi
Thrlow - 10 Thrhigh - 90
For j - 1 to b.tinggi - 2 For i - 1 to be.lebar – 2
Edge[j][i] mag[y][x] = thrhigh tracei,j
Pada Pseudocode deteksi tepi Canny citra akan dilakukan filtering dengan menggunakan Gaussian filter untuk menghilangkan derau yang ada pada citra. Setelah
itu dilakukan menghitung gradient dengan mask Sobel, kemudian dilakukan Non- maximum Suppression untuk menghilangkan nilai yang tidak maksimum dan
mengubahnya dengan 0. Kemudian menentukan arah tepi dan melakukan thresholding untuk mengubah citra menjadi hitam putih.
3.2.3 Pseudocode Deteksi Tepi Laplacian of Gaussian
1. Melakukan zero crossing
for k - 0 size for l - 0 size
tempPtr - srcData + colm + l srcData c -row + k offset +
row + k offset + 1 + row + k offset + 23
2. Melakukan pendeteksian noise dan thresholding
for k - 0 size for l - 0 size
tempPtr - srcData + i + l srcData c - j + k offset + j + k offset + 1] +
j + k offset + 2] 3
Universitas Sumatera Utara
nTemp += c MASK[mdl + k, mdl + l]; if nTemp d
[row offset] -[row offset + 1] -[row offset + 2]- 255 else
[row offset] -[row offset + 1] -[rowoffset+2]-0 return
Pada Pseudocode deteksi tepi Laplacian of Gaussian akan dilakukan zero crossing untuk menentukan garis hitam dan putih yang terdapat pada turunan kedua dari citra
yang dideteksi. Setelah itu akan dilakukan pendeteksian noise dan thresholding. 3.2.4
Pseudocode Nilai MSE 1.
Menentukan nilai citra asli dan citra hasil
sum - 0 for i - 0 to imageasli.height – 1
for j - 0 to imageasli.width – 1 pxasli - imageasli.getpixelj,i.R
pxhasil - imageasli.getpixelj,i.R
2. Mendeklarasikan rumus MSE
sum - sum + pxasli-pxhasil2
3. Melakukan perhitungan nilai MSE
MSE - sum imageasli.height imageasli.width
Pada Pseudocode nilai MSE dilakukan perhitungan citra asli dengan citra hasil yang telah dideteksi tepi.
3.2.5 Pseudocode Nilai PSNR
1. Melakukan perhitungan nilai PSNR
PSNR - 10 log 10 255 2MSE PSNR - PSNR
Pada Pseudocode nilai PSNR dilakukan perhitung dengan menggunakan hasil nilai MSE sebelumnya yang telah di proses.
3.3 Perancangan Sistem