3.1.3.2 Sequence Diagram
Squence diagram adalah diagram yang menampilkan sejumlah objek contoh dan pesan-pesan yang melalui objek-objek tersebut didalam use case. Berikut ini
merupakan sequence diagram dari sistem yang telah dibangun.
Input
Input Citra Grayscale Tambah
Noise
Tambahkan Noise Tampilkan Citra
Grayscale Bernoise HighBoost
Filtering
Perbaikan Kualitas Citra Digital
Tampilan Hasil Perbaikan Kualitas Citra Digital
Hitung MSE PSNR
Htiung Nilai MSE PSNR
Tampilan Nilai MSE PSNR
Top Package: User Hasil
Pengujian
Tampilkan Hasil Pengujian
Tampilan Hasil Pengujian
Gambar 3.3 Sequence Diagram 3.1.3.3 Activity Diagram
Activity Diagram adalah sebuah diagram yang bertujuan untuk mendeskripsikan aturan-aturan dasar yang harus diikuti untuk menjalankan sistem. Activity
Diagram memiliki fungsi yang mirip dengan sebuah diagram alir. Berikut ini merupakan Activity Diagram yang telah dibangun pada sistem.
Universitas Sumatera Utara
USER SYSTEM
Buka Citra Grayscale
Menampilkan Citra Grayscale
Pilih Probabilitas Noise
Menampilkan Nilai Probabilitas Noise
Pilin Noise
Menampilkan Citra Grayscale Bernoise
Filtering dengan High- Boost Filtering
Menampilkan Citra Hasil Filtering
Hitung Nilai MSE PSNR
Menampilkan Nilai MSE PSNR
Simpan Citra Hasil Filtering
Menyimpan Citra Hasil Filtering
Pilih Menu
Gaussian Noise Salt and Pepper Noise
Pengujian =Pengujian
Hasil Pengujian
Buka Citra Grayscale
Menampilkan Citra Grayscale
Buka Citra Hasil Buka Citra Bernoise
Menampilkan Citra Bernoise
Menampilkan Citra Hasil
=Hasil Pengujian
Gambar 3.4 Activity Diagram
Universitas Sumatera Utara
3.1.3.4 Analisis Proses Filtering dengan High-Boost Filtering
Berikut merupakan contoh penggunaan metode High-Boost Filtering dengan menggunakan suatu matriks citra input 5x5:
[ ]
Selanjutnya Matriks tersebut dikalikan dengan kernel: [
− −
− −
− −
− −
]
Nilai w pada matrik tersebut dihasilkan dengan melakukan perkalian 9A-1, dimana nilai A adalah 2.6 sehingg nilai w menjadi 2,5.
Untuk menghitung matriks tersebut kita menggunakan proses konvolusi,dimana nilai dari setiap piksel citra input dikalikan dengan dengan kernel. Nilai piksel
baru dihitung dengan mengalikan setiap nilai piksel tetangga dengan bobot yang berhubungan pada kernel dan kemudian menjumlah hasil perkalian tersebut.
Contoh perkalian konvolusi dapat dilihat sebagai berikut:
[ ]
f1,1 = [ −
9
.236]+ [ −
9
.238]+ [ −
9
.201]+ [ −
9
.234]+[2,5.238]+ [
−
9
.198]+ [ −
9
.255]+ [ −
9
.255]+ [ −
9
.238] = 51 f1,2 = [
−
9
.238]+ [ −
9
.201]+ [ −
9
.120]+ [ −
9
.238]+[2,5.198]+ [
−
9
.109]+ [ −
9
.255]+ [ −
9
.238]+ [ −
9
.144] = 86 f1,3 = [
−
9
.201]+ [ −
9
.120]+ [ −
9
.108]+ [ −
9
.198]+[2,5.109]+ [
−
9
.88]+ [ −
9
.238]+ [ −
9
.144]+ [ −
9
.122] = 108
Universitas Sumatera Utara
f2,1 = [ −
9
.234]+ [ −
9
.238]+ [ −
9
.198]+ [ −
9
.255]+[2,5.255]+ [
−
9
.238]+ [ −
9
.255]+ [ −
9
.255]+ [ −
9
.239] = 45 f2,2 = [
−
9
.238]+ [ −
9
.198]+ [ −
9
.109]+ [ −
9
.255]+[2,5.238]+ [
−
9
.144]+ [ −
9
.255]+ [ −
9
.239]+ [ −
9
.147] = 81 f2,3 = [
−
9
.198]+ [ −
9
.109]+ [ −
9
.88]+ [ −
9
.238]+[2,5.144]+ [
−
9
.122]+ [ −
9
.239]+ [ −
9
.147]+ [ −
9
.124] = 116 f3,1 = [
−
9
.255]+ [ −
9
.255]+ [ −
9
.238]+ [ −
9
.255]+[2,5.255]+ [
−
9
.239]+ [ −
9
.253]+ [ −
9
.237]+ [ −
9
.219] = 40 f3,2 = [
−
9
.255]+ [ −
9
.238]+ [ −
9
.144]+ [ −
9
.255]+[2,5.239]+ [
−
9
.147]+ [ −
9
.237]+ [ −
9
.219]+ [ −
9
.116] = 78 f3,3 = [
−
9
.238]+ [ −
9
.144]+ [ −
9
.122]+ [ −
9
.239]+[2,5.147]+ [
−
9
.124]+ [ −
9
.219]+ [ −
9
.116]+ [ −
9
.114] = 94 Setelah dilakukan operasi pengalian konvolusi maka didapat hasil:
[ ]
→ [
] Karena proses konvolusi diluar batas ukuran citra maka dilakukan penambahan
nilai piksel untuk piksel yang berada diluar batas citra yang umumnya digunakan atau ditambahkan nilai 0 zero padding. Setelah dilakukan proses konvolusi
maka selanjutnya hasil dari perkalian konvolusi akan dilakukan proses berikutnya dengan menggunakan metode High-Boost Filtering. Contoh
penggunaan rumus metode High-Boost Filtering dapat dilihat sebagai berikut:
A-1. [
] +
[ ]
Universitas Sumatera Utara
Nilai A pada rumus tersebut adalah 2.6, maka nilai A – 1 adalah 1,6. Maka hasil
perkalian A dengan citra inputan awal adalah
[ ]
Setelah inputan awal dikali dengan A maka citra tersebut ditambahkan dengan hasil dari proses konvolusi
[ ]
+ [
]
= [
] Setelah perhitungan maka nilai piksel citra yang telah melalui proses perhitungan
dengan matriks 5x5 maka didapat hasil citra output sebagai berikut.
[ ]
Universitas Sumatera Utara
3.2 Pseudocode Program
3.2.1 Pseudocode proses Tambah Gaussian Noise
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.ToInt32gaussnumber prob + Convert.ToInt32Pixels[i + j];
if newpixel 0 newpixel = 0; if newpixel 255 newpixel = 255;
Pixels[i + j] = Convert.ToBytenewpixel;
3.2.2 Pseudocode proses Tambah Salt and Pepper Noise
for int i = 0; i prob; i++ pixelx = rnd.Next0, x - 1;
pixely = rnd.Next0, y - 1; val = rnd.Next0, 10;
if val 5 image.SetPixelpixelx, pixely, Color.FromArgb255, 255, 255, 255;
else image.SetPixelpixelx, pixely, Color.FromArgb255, 0, 0, 0;
3.2.3 Pseudocode proses High-Boost Filtering
int row = x; int col = y;
for int i = 0; i 3; i++ col = y;
for int j = 0; j 3; j++ Hasil += pixelImage[row, col] tapisHighBoost[i, j];
col++; row++;
double HighBoost = A - 1 pixelImage[x, y] + Hasil; return HighBoost;
Universitas Sumatera Utara