2. Mudah digunakan
User friendly
Sistem yang akan dibangun harus
user friendly,
artinya bahwa sistem mudah digunakan oleh
user
dengan tampilan
interface
yang sederhana dan mudah dimengerti.
3. Hemat Biaya
Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya.
4. Dokumentasi
Sistem yang akan dibangun harus bisa menyimpan citra hasil proses perbaikan citra digital dan citra hawsil deteksi tepi.
5. Kontrol
Sistem yang akan dibangun harus dapat menampilkan kotak dialog eror ketika
user
salah dalam melakukan penginputan. 6.
Manajemen Kualitas Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang
baik yaitu dapat menghitung nilai MSE dan PSNR secara tepat serta dapat menghitung nilai
Running Time
.
3.1.3 Analisis Proses
Dalam bagian ini ada 2 proses dasar yaitu
filtering
dan deteksi tepi. Teknik
filter
yang digunakan untuk memperbaiki kualitas adalah G
eometric Mean Filter
setelah citra
bitmap
diberikan
noise Gaussian
dan
Salt-Pepper
. Kemudian dilakukan
deteksi tepi dengan operator
Sobel
,
Prewitt
dan
Robert.
Setelah itu dilakukan proses perhitungan MSE, PSNR dan
running time
pada masing-masing proses.
3.2 Pemodelan
Pada bagian ini digunakan
Unified Modeling Language
UML sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang
sistem. Beberapa jenis UML yang digunakan dalam penelitian ini yaitu
use case
diagram
,
sequence diagram
dan
activity digaram
.
3.2.1 Use Case Diagram Use case diagram
adalah rangkaianuraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor.
Use case diagram
biasanya menggambarkan proses sistem yaitu kebutuhan sistem dari sudut pandang
user
. Berikut
use case diagram
dapat dilihat pada Gambar 3.2.
Gambar 3.2
Use Case Diagram
3.2.1.1 Use Case Filtering
Spesifikasi
use case Filtering
dapat dilihat pada Tabel 3.1.
Tabel 3.1 Spesifikasi
Use Case Filtering
Name Filtering
Actors
Pengguna
Trigger
Pengguna memilih menu
Filtering
.
Preconditions
Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering
dan Deteksi Tepi.
Post Conditions
Sistem menampilkan gambar hasil
filtering
dengan metode
Geometric Mean Filter
.
Success Scenario
1. Pengguna mengeksekusi menu
Filtering
. 2.
Sistem menampilkan halaman
Filtering
. 3.
Pengguna memilih
file
citra asli.
4.
Pengguna menginputkan nilai probabilitas
noise.
5. Pengguna memilih
noise
yang akan diberikan pada citra.
6. Sistem menampilkan cita yang telah terkena
noise
. 7.
Pengguna mengeksekusi tombol
Geometric Mean Filter
. 8.
Sistem melakukan proses
filtering
dengan metode
Geometric Mean Filter
dan menampilkan gambar hasil
filtering
. 9.
Pengguna dapat melihat hasil gambar yang telah di
filtering
dengan metode
Geometric Mean Filter
.
Alternative Flows
-
3.2.1.2 Use Case Input File Citra Asli
Spesifikasi
use case Input File Asli Awal
dapat dilihat pada Tabel 3.2.
Tabel 3.2 Spesifikasi
Use Case Input File
Citra Asli
Name Input File Citra Asli
Actors
Pengguna
Trigger
Pengguna memilih menu
Filtering
.
Preconditions
Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering
dan Deteksi Tepi.
Post Conditions
Sistem menampilkan gambar yang telah dipilih untuk di
generate
.
Success Scenario
1. Pengguna memilih menu
Filtering
. 2.
Pengguna mengeksekusi tombol
Open Image
.
3. Sistem menampilkan
pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4.
Pengguna memilih gambar yang akan di
generate
. 5.
Sistem akan menampilkan gambar yang telah dipilih untuk di
generate
. 6.
Pengguna dapat melihat gambar yang telah dipilih untuk di
generate
.
Alternative Flows
-
3.2.1.3 Use Case Input Presentase Noise
Spesifikasi
use case Input Presentase Noise
dapat dilihat pada Tabel 3.3.
Tabel 3.3 Spesifikasi
Use Case Input
Presentase
Noise
Name Input
Probabilitas
Noise Actors
Pengguna
Trigger
Pengguna telah memilih
file
citra awal yang akan di
generate
.
Preconditions
Pengguna memilih menu
Filtering
.
Post Conditions
Sistem menampilkan nilai presentase
noise
yang telah diinputkan.
Success Scenario
1. Pengguna telah memilih
file
citra awal yang akan di
generate
. 2.
Pengguna memilih nilai presentase yang akan digunakan untuk proses
generate noise
. 3.
Sistem akan menampilkan nilai probabilitas yang telah dipilih.
4. Pengguna dapat melihat nilai probabilitas yang telah
dipilih.
Alternative Flows
-
3.2.1.4 Use Case Pilih Noise
Spesifikasi
use case
pilih
noise
dapat dilihat pada Tabel 3.4.
Tabel 3.4 Spesifikasi
Use Case
Pilih
Noise
Name
Pilih
Noise Actors
Pengguna
Trigger
Pengguna telah memilih nilai presentase
noise
.
Preconditions
Pengguna memilih menu
Filtering
.
Post Conditions
Sistem menampilkan
button Gaussian Noise
dan
Salt- Pepper Noise.
Success Scenario
1. Pengguna telah memilih presentase
noise.
2. Pengguna dapat melihat
button Gaussian Noise
dan
Salt-Pepper Noise. Alternative Flows
-
3.2.1.5 Use Case Gaussian Noise
Spesifikasi
use case Gaussian Noise
dapat dilihat pada Tabel 3.5.
Tabel 3.5 Spesifikasi
Use Case Gaussian Noise
Name Gaussian Noise
Actors
Pengguna
Trigger
Pengguna telah melihat
button Gaussian Noise
dan
Salt- Pepper Noise
.
Preconditions
Pengguna melihat nilai probabilitas
noise
yang telah dipilih.
Post Conditions
Sistem akan menampilkan gambar hasil
generate gaussian noise.
Success Scenario
1. Pengguna telah melihat
button Gaussian Noise
dan
Salt-Pepper Noise
. 2.
Pengguna memilih
button Gaussian Noise
. 3.
Sistem akan melakukan proses
generate noise
dan menampilkan hasil
generate noise
. 4.
Pengguna dapat melihat hasil
generate gaussian noise
.
Alternative Flows
-
3.2.1.6 Use Case Salt and Pepper Noise
Spesifikasi
use case Salt and Pepper Noise
dapat dilihat pada Tabel 3.6.
Tabel 3.6 Spesifikasi
Use Case Salt and Pepper Noise
Name Salt and Pepper Noise
Actors
Pengguna
Trigger
Pengguna telah melihat
button Gaussian Noise
dan
Salt- Pepper Noise
.
Preconditions
Pengguna melihat nilai probabilitas
noise
yang telah dipilih.
Post Conditions
Sistem akan menampilkan gambar hasil
generate Salt- Pepper Noise
.
Success Scenario
1. Pengguna telah melihat
button Gaussian Noise
dan
Salt-Pepper Noise
. 2.
Pengguna memilih
button Salt and Pepper Noise
. 3.
Sistem akan melakukan proses
generate noise
dan menampilkan hasil
generate noise
.
4. Pengguna dapat melihat hasil
generate Salt and Pepper Noise
.
Alternative Flows
-
3.2.1.7 Use Case Geometric Mean Filter
Spesifikasi
use case Geometric Mean Filter
dapat dilihat pada Tabel 3.7.
Tabel 3.7 Spesifikasi
Use Case Geometric Mean Filter
Name Geometric Mean Filter
Actors
Pengguna
Trigger
Pengguna telah melihat citra yang di
generate noise
.
Preconditions
Pengguna telah melihat
button Gaussian Noise
dan
Salt- Pepper Noise
.
Post Conditions
Sistem menampilkan hasil gambar yang telah di
filtering
dengan metode
Geometric Mean Filter
.
Success Scenario
1. Pengguna telah melihat citra yang
digenerate noise
. 2.
Pengguna mengeksekusi tombol
Geometric Mean
. 3.
Sistem melakukan proses
filtering
dengan metode
Geometric Mean Filter
. 4.
Pengguna dapat melihat hasil gambar yang telah di
filtering
dengan metode
Geometric Mean Filter
.
Alternative Flows
-
3.2.1.8 Use Case Simpan Citra
Spesifikasi
use case Simpan
Citra dapat dilihat pada Tabel 3.8.
Tabel 3.8 Spesifikasi
Use Case
Simpan Citra
Name
Simpan Citra
Actors
Pengguna
Trigger
Pengguna telah melihat hasil citra hasil
filtering
dengan metode
Geometric Mean Filter
.
Preconditions
Pengguna telah melihat citra terkena
noise
.
Post Conditions
Sistem menyimpan
file
citra hasil
filtering
.
Success Scenario
1. Pengguna telah melihat hasil citra hasil
filtering
dengan metode
Geometric Mean Filter
. 2.
Pengguna mengeksekusi tombol
Save
. 3.
Sistem menampilkan
pop-up window Save Image
untuk menampilkan lokasi penyimpanan gambar. 4.
Pengguna menyimpan citra hasil
filtering
. 5.
Sistem akan menyimpan citra hasil
filtering
.
Alternative Flows
-
3.2.1.9 Use Case Deteksi Tepi
Spesifikasi
use case
Deteksi Tepi dapat dilihat pada Tabel 3.9.
Tabel 3.9 Spesifikasi
Use Case
Deteksi Tepi
Name Filtering
Actors
Pengguna
Trigger
Pengguna memilih menu Deteksi Tepi.
Preconditions
Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering
dan Deteksi Tepi.
Post Conditions
Sistem menampilkan gambar hasil deteksi tepi.
Success Scenario
1. Pengguna mengeksekusi menu Deteksi Tepi. 2. Sistem menampilkan halaman Deteksi Tepi.
3. Pengguna memilih
file
citra asli. 5. Pengguna memilih salah satu operator deteksi tepi yang
tersedia. 7. Sistem melakukan proses deteksi tepi dengan operator
yang telah dipilih. 8. Pengguna dapat melihat hasil gambar deteksi tepi.
Alternative Flows
-
3.2.1.10 Use Case Input Citra
Spesifikasi
use case Input
Citra dapat dilihat pada Tabel 3.10.
Tabel 3.10 Spesifikasi
Use Case Input
Citra
Name Input Citra
Actors
Pengguna
Trigger
Pengguna memilih menu Deteksi Tepi.
Preconditions
Pengguna menggunakan aplikasi Analisis Perbandingan
Filtering
dan Deteksi Tepi.
Post Conditions
Sistem menampilkan gambar yang telah dipilih untuk proses deteksi tepi.
Success Scenario
1. Pengguna memilih menu Deteksi Tepi.
2. Pengguna mengeksekusi tombol
Open Image
. 3.
Sistem menampilkan
pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4.
Pengguna memilih gambar asli yang akan dideteksi tepi.
5. Sistem akan menampilkan gambar yang telah dipilih
untuk proses deteksi tepi. 6.
Pengguna dapat melihat gambar yang telah dipilih untuk proses deteksi tepi.
Alternative Flows
-
3.2.1.11 Use Case Deteksi Tepi Operator Sobel Citra Asli
Spesifikasi
use case
Deteksi Tepi Operator
Sobel
Citra Asli dapat dilihat pada
Tabel 3.11.
Tabel 3.11 Spesifikasi
Use Case
Deteksi Tepi Operator
Sobel
Citra Asli
Name
Deteksi Tepi Operator
Sobel
Citra Asli
Actors
Pengguna
Trigger
Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil deteksi tepi operator
Sobel Success Scenario
1. Pengguna telah melihat citra asli yang dipilih untuk
proses deteksi tepi. 2.
Pengguna memilih
button
Deteksi Tepi Operator
Sobel
Citra Asli. 3.
Sistem akan melakukan proses deteksi tepi dengan operator
Sobel
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Sobel. Alternative Flows
-
3.2.1.12 Use Case Deteksi Tepi Operator Prewitt Citra Asli
Spesifikasi
use case
Deteksi Tepi Operator
Prewitt
Citra Asli dapat dilihat pada
Tabel 3.12.
Tabel 3.12 Spesifikasi
Use Case
Deteksi Tepi Operator
Prewitt
Citra Asli
Name
Deteksi Tepi Operator
Prewitt
Citra Asli
Actors
Pengguna
Trigger
Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil deteksi tepi operator
Prewitt
.
Success Scenario
1. Pengguna telah melihat citra asli yang dipilih untuk
proses deteksi tepi. 2.
Pengguna memilih
button
Deteksi Tepi Operator
Prewitt
Citra Asli.
3. Sistem akan melakukan proses deteksi tepi dengan
operator
Prewitt
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Prewitt. Alternative Flows
-
3.2.1.13 Use Case Deteksi Tepi Operator Robert Citra Asli
Spesifikasi
use case
Deteksi Tepi Operator
Robert
Citra Asli dapat dilihat pada
Tabel 3.13.
Tabel 3.13 Spesifikasi
Use Case
Deteksi Tepi Operator
Robert
Citra Asli
Name
Deteksi Tepi Operator
Robert
Citra Asli
Actors
Pengguna
Trigger
Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil deteksi tepi operator
Robert
.
Success Scenario
1. Pengguna telah melihat citra asli yang dipilih untuk
proses deteksi tepi. 2.
Pengguna memilih
button
Deteksi Tepi Operator
Robert
Citra Asli. 3.
Sistem akan melakukan proses deteksi tepi dengan operator
Robert
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Robert. Alternative Flows
-
3.2.1.14 Use Case Input Citra Filtering
Spesifikasi
use case Input
Citra
Filtering
dapat dilihat pada Tabel 3.14.
Tabel 3.14 Spesifikasi
Use Case Input File
Citra
Name Input Citra Filtering
Actors
Pengguna
Trigger
Pengguna memilih menu Deteksi Tepi.
Preconditions
Pengguna menggunakan aplikasi Analisis Perbandingan
Filtering
dan Deteksi Tepi.
Post Conditions
Sistem menampilkan citra hasil
filtering
yang telah dipilih untuk proses deteksi tepi.
Success Scenario
1. Pengguna memilih menu Deteksi Tepi.
2. Pengguna mengeksekusi tombol
Open Image
. 3.
Sistem menampilkan
pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4.
Pengguna memilih citra hasil
filtering
yang akan dideteksi tepi.
5. Sistem akan menampilkan gambar yang telah dipilih
untuk proses deteksi tepi. 6.
Pengguna dapat melihat gambar yang telah dipilih untuk proses deteksi tepi.
Alternative Flows
-
3.2.1.15 Use Case Deteksi Tepi Operator Sobel Citra Filtering
Spesifikasi
use case
Deteksi Tepi Operator
Sobel
Citra
Filtering
dapat dilihat pada Tabel 3.15.
Tabel 3.15 Spesifikasi
Use Case
Deteksi Tepi Operator
Sobel
Citra
Filtering
Name
Deteksi Tepi Operator
Sobel
Citra
Filtering Actors
Pengguna
Trigger
Pengguna telah melihat citra hasil
filtering
yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil
filtering
deteksi tepi operator
Sobel
.
Success Scenario
1. Pengguna telah melihat citra
filtering
yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih
button
Deteksi Tepi Operator
Sobel
Citra
Filtering
. 3.
Sistem akan melakukan proses deteksi tepi dengan operator
Sobel
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Sobel. Alternative Flows
-
3.2.1.16 Use Case Deteksi Tepi Operator Prewitt Citra Filtering
Spesifikasi
use case
Deteksi Tepi Operator
Prewitt
Citra
Filtering
dapat dilihat pada Tabel 3.16.
Tabel 3.16 Spesifikasi
Use Case
Deteksi Tepi Operator
Prewitt
Citra Asli
Name
Deteksi Tepi Operator
Prewitt
Citra Asli
Actors
Pengguna
Trigger
Pengguna telah melihat citra
filtering
yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil deteksi tepi operator
Prewitt
.
Success Scenario
1. Pengguna telah melihat citra hasil
filtering
yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih
button
Deteksi Tepi Operator
Prewitt
Citra
Filtering
. 3.
Sistem akan melakukan proses deteksi tepi dengan operator
Prewitt
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Prewitt. Alternative Flows
-
3.2.1.17 Use Case Deteksi Tepi Operator Robert Citra Filtering
Spesifikasi
use case
Deteksi Tepi Operator
Robert
Citra
Filtering
dapat dilihat pada Tabel 3.17.
Tabel 3.17 Spesifikasi
Use Case
Deteksi Tepi Operator
Robert
Citra
Filtering
Name
Deteksi Tepi Operator
Robert
Citra
Filtering Actors
Pengguna
Trigger
Pengguna telah melihat citra
filtering
yang dipilih untuk proses deteksi tepi.
Preconditions
Pengguna memilih menu Deteksi Tepi.
Post Conditions
Sistem akan menampilkan citra hasil deteksi tepi operator
Robert
.
Success Scenario
1. Pengguna telah melihat citra
filtering
yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih
button
Deteksi Tepi Operator
Robert
Citra
Filtering
. 3.
Sistem akan melakukan proses deteksi tepi dengan operator
Robert
dan menampilkan hasil deteksi tepi. 4.
Pengguna dapat melihat hasil deteksi tepi dengan operator
Robert. Alternative Flows
-
3.1.2.18 Use Case Simpan Citra
Spesifikasi
use case Simpan
Citra dapat dilihat pada Tabel 3.18.
Tabel 3.18 Spesifikasi
Use Case
Simpan Citra
Name
Simpan Citra
Actors
Pengguna
Trigger
Pengguna telah melihat citra hasil deteksi tepi.
Preconditions
Pengguna telah melihat nilai MSE, PSNR dan
Running Time
Post Conditions
Sistem menyimpan
file
citra hasil deteksi tepi.
Success Scenario
1. Pengguna telah melihat hasil citra deteksi tepi.
2. Pengguna mengeksekusi tombol
Save
. 3.
Sistem menampilkan
pop-up window Save Image
untuk menampilkan lokasi penyimpanan gambar. 4.
Pengguna menyimpan citra hasil deteksi tepi. 5.
Sistem akan menyimpan citra hasil deteksi tepi.
Alternative Flows
-
3.2.1.19 Use Case Menghitung MSE, PSNR dan Running Time
Spesifikasi
use case
Hitung MSE, PSNR dan
Running Time
dapat dilihat pada Tabel 3.19.
Tabel 3.19 Spesifikasi
Use Case
Menghitung MSE, PSNR dan
Running Time
Name
Menghitung MSE, PSNR dan
Running Time Actors
Pengguna
Trigger
Pengguna telah melihat citra hasil deteksi tepi.
Preconditions
Pengguna telah melihat citra yang dipilih untuk proses deteksi tepi.
Post Conditions
Pengguna dapat melihat hasil perhitungan nilai MSE, PSNR dan
Running Time
.
Success Scenario
1. Pengguna telah melihat citra hasil deteksi tepi.
2. Pengguna memlih dan mengeksekusi tombol deteksi
tepi. 3.
Sistem melakukan proses perhitungan nilai MSE, PSNR dan
Running Time
. 4.
Sistem menampilkan hasil perhitungan nilai MSE, PSNR dan
Running Time
. 5.
Pengguna dapat melihat hasil perhitungan nilai MSE, PSNR dan
Running Time
.
Alternative Flows
-
3.2.2 Activity Diagram Activity Diagram
menggambarkan berbagai alir aktivitas dalam
system
yang sedang dirancang, bagaimana masing-masing alir berawal,
decision
yang mungkin tejadi, dan bagaimana mereka berakhir.
Activity diagram
juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Dalam diagram aktivitas ini akan dijelaskan proses
filtering
dan deteksi tepi dalam sistem yang sedang dirancang. Berikut
Activity Diagram Filtering
dapat dilihat pada Gambar 3.3 dan
Activity Diagram
Deteksi Tepi pada Gambar 3.4.
Gambar 3.3
Activity Diagram filtering
Gambar 3.4
Activity Diagram
Deteksi Tepi
3.2.3 Sequence Diagram Sequence diagram
diagram urutan adalah sutau diagram yang memperlihatkan atau menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun
pada sebuah urutan atau rangkaian waktu.
Sequence diagram
digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai
sebuah respon dari suatu kejadianevent untuk menghasilkan output apa yang dihasilkan. Berikut
Sequence Diagram
dapat dilihat pada Gambar 3.5.
Gambar 3.5
Sequence Diagram
3.3
Pseudocode Program
Pseudocode
adalah suatu algoritma yang untuk dapat menjelaskannya harus menggunakan bahasa tingkat tinggi. Bahasa tingkat tinggi adalah bahasa yang
dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri.
3.3.1 Pseudocode Geometric Mean Filter Pseudocode
dari
Geometric Mean Filter
dapat dilihat pada Tabel 3.20.
Tabel 3.20
Pseudocode Geometric Mean Filter
1.
xi ← image.Width yi ← image.Height
2.
red←0, green←0, blue←0, hasilred←1, hasilgreen←1, hasilblue←1
3.
imagehasil ← xi, yi
4.
for i ← 0 to yi-2 for j ← 0 to xi-2
for k ← i to i + 2 for l ← j to j + 2
5.
red ← image.GetPiksell,k.R
if red == 0 red - 255
6.
green ← image.GetPiksell,k.G
if green ==0 green - 255
7.
blue ← image.GetPiksell,k.B if blue == 0
blue - 255
8.
hasilred ← hasilredred
9. hasilgreen ← hasilgreengreen
10. hasilblue ← hasilblueblue
endfor endfor
11.
redfinal - hasilred 1
9 red - Math.Roundredfinal
greenfinal - hasilgreen 1
9 green - Math.Roundgreenfinal
bluefinal - hasilblue19 blue - Math.Roundbluefinal
12. imagehasil.SetPikselj + 1, i + 1, Color.FromArgb255,red,green,blue
hasilred - 1 hasilgreen - 1
hasilblue - 1 endfor
endfor
Keterangan : 1.
Set
nilai
xi
sebagai lebar
image
dan
set
nilai
yi
sebagai panjang
image
2.
set
nilai
red
,
green
,
blue
, hasilred, hasilgreen, dan hasilblue masing-masing 0. Kemudian
set
nilai redfinal, greenfinal, dan bluefinal masing-masing 1. 3.
Deklarasi variabel imagehasil sebagai bitmap dengan lebar
xi
dan panjang
yi
. 4.
perulangan i mulai dari 0 sampai dan perulangan
j
mulai dari 0 sampai . Setelah itu dilakukan perulangan mulai dari sampai dan
perulangan mulai dari sampai .
5. nilai red dari piksel ke . Jika nilai
red = 0
maka nilai
red = 255.
6. nilai green dari piksel ke Jika nilai
green = 0
maka nilai
green = 255
7. nilai blue dari piksel ke
.
Jika nilai
blue = 0
maka nilai
blue = 255.
8.
set
nilai variabel hasilred = hasilred
red
. 9.
set
nilai variabel hasilgreen = hasilgreen
green
. 10.
set
nilai variabel hasilblue = hasilblue
blue
. 11.
set
nilai variabel redfinal = Nilai redfinal tersebut dibulatkan dan dimasukkan ke variabel red.
Set
nilai variabel greenfinal = hasilgreen Nilai greenfinal tersebut dibulatkan dan dimasukkan ke variabel green.
set
nilai variable bluefinal = hasilblue .
Nilai bluefinal tersebut dibulatkan dan dimasukkan ke variabel blue. 12.
set
piksel imagehasil pada posisi dengan nilai
red
,
green
, dan
blue
. Nilai hasilred, hasilgreen, dan hasilblue dikembalikan ke 1.
3.3.2 Pseudocode Operator Sobel Pseudocede
dari operator
sobel
dapat dilihat pada Tabel 3.21.
Tabel 3.21
Pseudocode
Operator
Sobel
1.
sobel original
arr_r [sobel.Width, sobel.Height]
arr_g [sobel.Width, sobel.Height]
arr_b [sobel.Width, sobel.Height]
temp_array [sobel.Width, sobel.Height]
2.
for i 1 to sobel.Width – 1
for j 1 to sobel.Height - 1
arr_r original.GetPikseli, j.R;
arr_g original.GetPikseli, j.G;
arr_b original.GetPikseli, j.B;
3.
arr_r arr_r[i, j] + arr_g[i, j] + arr_b[i, j] 3;
endfor endfor
4.
for i 1 to sobel.Width - 1
for j 1 to sobel.Height-1
5.
x Math.Abs1arr_r[i-1,j-1]+2arr_r[i-
1,j] + 1arr_r[i-1,j+1] - arr_r[i+1, j-1] - 2 arr_r[i+1, j] - arr_r[i + 1, j + 1]
6.
y Math.Abs1arr_r[i-1,j-1]+2arr_r[i,j-
1]+1arr_r[i+1,j-1]-1arr_r[i-1,j+1]- 2arr_r[i,j+1]-1arr_r[i+1,j+1]
7.
grad Math.Sqrtxx+yy
if grad 255 grad
255 temp_array
grad
8.
sobel.SetPikseli,j,Color.FromArgbtemp_array[i, j],
temp_array[i, j],temp_array[i,j] endfor
endfor
Keterangan : 1.
deklarasi variabel sobel sebagai
bitmap
yang diambil dari
image
original Deklarasi variabel arr_r, arr_g, arr_b, temp_
array
sebagai
array
dengan elemen baris =
sobel.width
dan kolom =
sobel.height
. 2.
untuk medapatkan warna tiap piksel pada gambar dilakukan perulangan. perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. nilai
Red
diambil dan diletakkan pada arr_r nilai
Green
diambil dan diletakkan pada arr_g nilai
Blue
diambil dan diletakkan pada arr_b 3.
setelah diambil nilai RGB ditiap piksel dilakukan proses mendapatkan rata- rata 3 layer warna pada piksel.
4. Perulangan untuk proses deteksi tepi.
perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. 5.
Memasukan nilai
x
dari perkalian rumus matriks
sobel x
dan nilai piksel pada matriks vertikal.
6. Memasukan nilai
y
dari perkalian rumus matriks
sobel y
dan nilai piksel pada matriks horizontal.
7. Menentukan nilai
gradient
dari akar kuadrat perkalian
x
dan
y
pada
point
5 dan 6
8. Memasukkan nilai akhir piksel.
3.3.3 Pseudocode Operator Prewitt Pseudocode
dari operator
prewitt
dapat dilihat pada Tabel 3.22.
Tabel 3.22
Pseudocode
Operator
Prewitt
1.
prewitt original
arr_r [prewitt.Width, prewitt.Height]
arr_g [prewitt.Width, prewitt.Height]
arr_b [prewitt.Width, prewitt.Height]
temp_array [prewitt.Width, prewitt.Height]
2.
for i 1 to prewitt.Width – 1
for j 1 to prewitt.Height - 1
arr_r original.GetPikseli, j.R;
arr_g original.GetPikseli, j.G;
arr_b original.GetPikseli, j.B;
3.
arr_r arr_r[i, j] + arr_g[i, j] + arr_b[i, j] 3;
endfor endfor
4.
for i 1 to prewitt.Width - 1
for j 1 to prewitt.Height-1
5.
x Math.Abs1arr_r[i-1,j-1]+1arr_r[i-
1,j] + 1arr_r[i-1,j+1] - 1 arr_r[i+1, j-1] - 1 arr_r[i+1, j] - 1arr_r[i + 1, j + 1];
6.
y Math.Abs1arr_r[i-1,j-1]+1arr_r[i,j-
1]+1arr_r[i+1,j-1]-1arr_r[i-1,j+1]-1arr_r[i,j+1]- 1arr_r[i+1,j+1]
7.
grad Math.Sqrtxx+yy
if grad 255 grad
255 temp_array
grad
8.
prewitt.SetPikseli,j,Color.FromArgbtemp_array[i, j], temp_array[i, j],temp_array[i,j]
endfor
endfor
Keterangan : 1.
deklarasi variabel prewitt sebagai
bitmap
yang diambil dari
image
original Deklarasi variabel arr_r, arr_g, arr_b, temp_
array
sebagai
array
dengan elemen baris =
prewitt.width
dan kolom =
prewitt.height
. 2.
untuk medapatkan warna tiap piksel pada gambar dilakukan perulangan. perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. nilai
Red
diambil dan diletakkan pada arr_r nilai
Green
diambil dan diletakkan pada arr_g nilai
Blue
diambil dan diletakkan pada arr_b 3.
setelah diambil nilai RGB ditiap piksel dilakukan proses mendapatkan rata- rata 3 layer warna pada piksel.
4. Perulangan untuk proses deteksi tepi.
perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. 5.
Memasukan nilai
x
dari perkalian rumus matriks
prewitt x
dan nilai piksel pada matriks vertikal.
6. Memasukan nilai
y
dari perkalian rumus matriks
prewitt y
dan nilai piksel pada matriks horizontal.
7. Menentukan nilai
gradient
dari akar kuadrat perkalian
x
dan
y
pada
point
5 dan 6
8. Memasukkan nilai akhir piksel.
3.3.4 Pseudocode Operator Robert Pseudocode
dari operator
robert
dapat dilihat pada Tabel 3.23.
Tabel 3.23
Pseudocode
Operator
Robert
1.
robert original
arr_r [robert.Width, robert.Height]
arr_g [robert.Width, robert.Height]
arr_b [robert.Width, robert.Height]
temp_array [robert.Width, robert.Height]
2.
for i 1 to robert.Width – 1
for j 1 to robert.Height - 1
arr_r original.GetPikseli, j.R;
arr_g original.GetPikseli, j.G;
arr_b original.GetPikseli, j.B;
3.
arr_r arr_r[i, j] + arr_g[i, j] + arr_b[i, j] 3;
endfor endfor
4.
for i 1 to robert.Width - 1
for j 1 to robert.Height-1
5.
x Math.Absarr_r[i, j] - arr_r[i + 1, j + 1]
6.
y Math.Absarr_r[i + 1, j] - arr_r[i, j + 1]
7.
grad = x+y; if grad 255
grad 255
temp_array grad
8.
robert.SetPikseli,j,Color.FromArgbtemp_array[i, j], temp_array[i, j],temp_array[i,j]
endfor endfor
Keterangan : 1.
deklarasi variabel robert sebagai
bitmap
yang diambil dari
image
original Deklarasi variabel arr_r, arr_g, arr_b, temp_
array
sebagai
array
dengan elemen baris =
robert.width
dan kolom =
robert.height
. 2.
untuk medapatkan warna tiap piksel pada gambar dilakukan perulangan. perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. nilai
Red
diambil dan diletakkan pada arr_r nilai
Green
diambil dan diletakkan pada arr_g nilai
Blue
diambil dan diletakkan pada arr_b 3.
setelah diambil nilai RGB ditiap piksel dilakukan proses mendapatkan rata- rata 3 layer warna pada piksel.
4. Perulangan untuk proses deteksi tepi.
perulangan
i
mulai dari 1 sampai dan perulangan
j
mulai dari 1 sampai
. 5.
Memasukan nilai
x
dari perkalian rumus matriks
robert x
dan nilai piksel pada matriks vertikal.
6. Memasukan nilai
y
dari perkalian rumus matriks
robert y
dan nilai piksel pada matriks horizontal.
7. Menentukan nilai
gradient
dari akar kuadrat perkalian
x
dan
y
pada
point
5 dan 6
8. Memasukkan nilai akhir piksel.
3.4 Perancangan Sistem