PSNR, dan Running Time. Preconditions
Pengguna mengakses menu Reduksi Noise. Post Conditions
Sistem menyimpan citra hasil reduksi noise dengan metode Harmonic Mean Filter.
Success Scenario 1. Pengguna mengeksekusi tombol Simpan Gambar.
2. Sistem akan menampilkan pop-up window Save As untuk menampilkan lokasi penyimpanan gambar.
3. Pengguna menyimpan citra hasil reduksi noise. 4. Sistem akan menyimpan citra hasil reduksi noise.
Alternative Flows -
3.1.3.2 Activity Diagram
Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang sedang berjalan. Activity diagram bertujuan untuk
membantu memahami keseluruhan proses dan menggambarkan interaksi antara beberapa use case. Activity diagram sistem ini dapat dilihat pada Gambar 3.3.
Universitas Sumatera Utara
User Sistem
Pilih Menu
Buka Citra Awal Tambah Noise
Buka Citra Awal Input Persentase
Noise Menampilkan Citra
Awal Menampilkan nilai
persentase noise Pilih Noise
Tambah Noise Simpan Citra
Menampilkan citra bernoise
Menyimpan citra bernoise
Buka Citra Bernoise
Baca Citra Menampilkan citra
bernoise Reduksi Noise
dengan Harmonic Mean Filter
Menampilkan Citra hasil reduksi Harmonic Mean
Filter Hitung Nilai MSE,PSNR,dan
Running Time = Tambah Noise
Menampilkan Nilai MSE,PSNR,dan Running Time
Reduksi Noise .bmp
.png
Simpan Citra Hasil Reduksi Noise
Menyimpan file citra hasil reduksi noise
Tentang Bantuan
Menampilkan tentang program
Menampilkan petunjuk penggunaan program
= Reduksi Noise .bmp
.png
Gaussian Noise Salt and Pepper
Noise
=Tentang =Bantuan
Bantuan Tentang
Gambar 3.3 Activity Diagram
Universitas Sumatera Utara
3.1.3.3 Sequence Diagram
Sequence diagram merupakan suatu diagram yang menampilkan interaksi- interkasi yang ada pada sistem secara berurutan. Sequence diagram sistem ini
dapat dilihat pada Gambar 3.4.
Input Citra Tambah
Noise Reduksi
Noise Hitung MSE, PSNR,
dan Running Time Simpan Citra Hasil
Reduksi Noise
Penginputan Citra Proses Penambahan
Noise dengan Menginput Nilai Persentase Noise
Proses Reduksi Noise dengan Metode
Harmonic Mean Filter Perhitungan Nilai MSE,
PSNR, dan Running Time
Menampilkan Citra Bernoise, Citra Hasil Reduksi Noise, Nilai MSE, PSNR, dan Running Time
Gambar 3.4 Sequence Diagram
3.1.3.4 Analisis Proses Reduksi Noise dengan Harmonic Mean Filter
Berikut ini merupakan contoh penggunaan metode Harmonic Mean Filter. Dimisalkan terdapat suatu matriks citra input 5x5 :
⎣ ⎢
⎢ ⎢
⎡ 3
1 6
2 3
5 2
9 4
6 6
1 10
7 5
8 3
8 8
5 2
5 1
9 4⎦
⎥ ⎥
⎥ ⎤
Selanjutnya matriks tersebut dihitung dengan menggunakan rumus Harmonic Mean Filter, yaitu :
��, � = ��
∑ 1
��, �
�,�∈�
��
Universitas Sumatera Utara
Perhitungan dimulai dari koordinat f2,2 dan dilakukan dengan mengambil matriks 3x3 dari matriks tetangga piksel yang akan direduksi. Perhitungan ini
dilakukan pada setiap nilai piksel pada suatu matriks citra. Contoh penggunaan rumus Harmonic Mean Filter dapat dilihat seperti di bawah ini:
⎣ ⎢
⎢ ⎢
⎡ 3
1 6
2 3
5 2
9 4
6 6
1 10
7 5
8 3
8 8
5 2
5 1
9 4⎦
⎥ ⎥
⎥ ⎤
�2,2 = 9
1 3
+ 1
1 +
1 6
+ 1
5 +
1 2
+ 1
9 +
1 6
+ 1
1 +
1 10
= 9
3,54 = 2
�2,3 = 9
1 1
+ 1
6 +
1 2
+ 1
2 +
1 9
+ 1
4 +
1 1
+ 1
10 +
1 7
= 9
3,77 = 2
�2,4 = 9
1 6
+ 1
2 +
1 3
+ 1
9 +
1 4
+ 1
6 +
1 10
+ 1
7 +
1 5
= 9
1,97 = 5
�3,2 = 9
1 5
+ 1
2 +
1 9
+ 1
6 +
1 1
+ 1
10 +
1 8
+ 1
3 +
1 8
= 9
2,66 = 3
�3,3 = 9
1 2
+ 1
9 +
1 4
+ 1
1 +
1 10
+ 1
7 +
1 3
+ 1
8 +
1 8
= 9
2,68 = 3
�3,4 = 9
1 9
+ 1
4 +
1 6
+ 1
10 +
1 7
+ 1
5 +
1 8
+ 1
8 +
1 5
= 9
1,34 = 6
�4,2 = 9
1 6
+ 1
1 +
1 10
+ 1
8 +
1 3
+ 1
8 +
1 2
+ 1
5 +
1 1
= 9
3,55 = 3
�4,3 = 9
1 1
+ 1
10 +
1 7
+ 1
3 +
1 8
+ 1
8 +
1 5
+ 1
1 +
1 9
= 9
3,13 = 3
�4,4 = 9
1 10
+ 1
7 +
1 5
+ 1
8 +
1 8
+ 1
5 +
1 1
+ 1
9 +
1 4
= 9
2,25 = 4
Universitas Sumatera Utara
Setelah dilakukan perhitungan seperti diatas, maka didapat lah citra output dari matriks 5x5 yang sebelumnya telah disebutkan.
Citra output dapat dilihat pada matriks berikut ini:
⎣ ⎢
⎢ ⎢
⎡ 3
1 6
2 3
5 2
9 4
6 6
1 10
7 5
8 3
8 8
5 2
5 1
9 4⎦
⎥ ⎥
⎥ ⎤
⎣ ⎢
⎢ ⎢
⎡ 3
1 6
2 3
5 2
2 5
6 6
3 3
6 5
8 3
3 4
5 2
5 1
9 4⎦
⎥ ⎥
⎥ ⎤
3.2 Pseudocode
3.2.1 Pseudocode Proses Tambah Noise Gaussian
for int i = 0; i Pixels.Length; i+=step if i Pixels.Length - step
for int j = 0; j step; j++ gaussnumber = getGaussianNumber;
newpixel = Convert.ToInt32gaussnumberprob+ Convert.ToInt32Pixels[i + j];
if newpixel 0 newpixel = 0; if newpixel 255 newpixel = 255;
Pixels[i + j] = Convert.ToBytenewpixel;
Pada pseudocode proses tambah Gaussian noise pertama kali dilakukan perulangan dari 0 sampai panjang pixel. Jika i lebih kecil dari panjang pixel –
step, maka dilakukan perulangan dari 0 sampai nilai step. Kemudian diambil nilai gaussnumber dari method getGaussianNumber. Setelah itu diambil nilai newPixel
dengan cara nilai gaussnumber dikali probabilitas. Jika nilai newpixel lebih kecil dari 0 maka nilai newpixel = 0 tapi jika nilai newpixel lebih besar dari 255 maka
nilai newpixel = 255. Kemudian nilai newpixel dimasukkan ke array pixel dengan indeks [i+j].
Universitas Sumatera Utara