Pseudocode ANALISIS DAN PERANCANGAN SISTEM

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