Sequence Diagram Analisis Proses Filtering dengan High-Boost Filtering

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