• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.2. Perancangan Sistem

3.2.1. Unified Modeling Language (UML)

UML adalah pemodelan suatu sistem yang menentukan visualisasi, konstruksi, dan mendokumentasikan bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak (software).

UML mendefinisikan diagram-diagram untuk menjelaskan pembuatan perangkat lunak (software) pada skripsi ini, sebagai berikut :

1. Use case diagram 2. Activity diagram 3. Sequence diagram

3.2.1.1. Use case diagram

Use case diagram adalah suatu diagram yang mendeskripsikan interaksi antara user (pengguna) sebuah sistem dengan suatu sistem tersendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Use case diagram terdiri dari sebuah aktor dan interaksi yang dilakukannya, aktor tersebut dapat berupa manusia, perangkat keras, sistem lain, ataupun yang berinteraksi dengan sistem. Use case diagram sistem ini dapat dilihat pada gambar 3.12.

System

reduksi citra awal bernoise atau tidak

bernoise User <<depends on>> mengambil citra bernoise/tidak benoise menambahkan exponential noise mereduksi noise «uses» <<depends on>> menyimpan citra hasil reduksi membandingkan hasil MSE dan PSNR «uses» «uses» <<depends on>> <<depends on>> «uses» «uses»

1. Spesifikasi use casereduction undefined noise + exponential noise

Spesifikasi use case untuk reduksi dengan noise bebas dan exponential noise dapat dilihat pada tabel 3.1.

Tabel 3.1 Spesifikasi Use CaseReduction Undefined Noise + Exponential Noise

Name Reduction with Undefined Noise + Exponential noise

Actors User

Trigger User memilih menu Reduction with Undefined Noise +

Exponential noise

Preconditions User menggunakan aplikasi reduksi noise menggunakan metode geometric mean filter dan alpha-trimmed mean filter

Post Conditions

User mendapatkan citra hasil reduksi, nilai MSE, PSNR, menyimpan citra hasil reduksi dan membandingkan kedua metode berdasarkan nilai MSE dan PSNR.

Success Scenario

1. User memilih menu Reduction with Undefined Noise + Exponential noise.

2. Sistem menampilkan halaman Reduction with Undefined Noise + Exponential noise untuk kedua metode.

3. User mengisi form metode geometric mean filter terlebih dahulu.

4. User mengeksekusi tombol browse dan memilih citra yang telah bernoise.

5. Sistem menampilkan citra awal dan meng-enable-kan tombol generate noise.

6. User memilih probabilitas noise dan mengeksekusi tombol generate noise.

7. Sistem menampilkan citra dengan noise yang di-generate dan meng-enable-kantombol reduce noise.

8. User mengeksekusi tombol reduce noise.

9. Sistem menampilkan citra hasil reduksi noise, nilai MSE, PSNR, running time, meng-enable-kan tombol save.

Tabel 3.1 Spesifikasi Use CaseReduction Undefined Noise + Exponential Noise

(Lanjutan)

Success Scenario 10. User menyimpan citra yang telah direduksi.

11. User memilih probabilitas noise dan mengeksekusi tombol generate noise.

12. Sistem menampilkan citra dengan noise yang di-generate dan meng-enable-kantombol reduce noise.

13. User memilih nilai d dan mengeksekusi tombol reduce noise.

14. Sistem menampilkan citra hasil reduksi noise, nilai MSE, PSNR, running time, meng-enable-kan tombol save.

15. User menyimpan citra yang telah direduksi.

16. User membandingkan kedua metode berdasarkan nilai MSE dan PSNR.

Alternative Flows -

2. Spesifikasi use casereduction exponential noise

Spesifikasi use case untuk reduksi exponential noise dapat dilihat pada tabel 3.2.

Tabel 3.2 Spesifikasi Use CaseReduction Exponential Noise

Name Reduction Exponential noise

Actors User

Trigger User memilih menu Reduction Exponential noise

Preconditions User menggunakan aplikasi reduksi noise menggunakan metode geometric mean filter dan alpha-trimmed mean filter

Post Conditions

User mendapatkan citra hasil reduksi, nilai MSE, PSNR, menyimpan citra hasil reduksi dan membandingkan kedua metode berdasarkan nilai MSE dan PSNR.

Success Scenario

1. User memilih menu Reduction Exponential Noise.

2. Sistem menampilkan halaman Reduction Exponential Noise untuk kedua metode.

Tabel 3.2 Spesifikasi Use CaseReduction Exponential Noise (Lanjutan)

Success Scenario

3. User mengisi form metode geometric mean filter terlebih dahulu.

4. User mengeksekusi tombol browse dan memilih citra yang tidak bernoise.

5. Sistem menampilkan citra awal dan meng-enable-kan tombol generate noise.

6. User memilih probabilitas noise dan mengeksekusi tombol generate noise.

7. Sistem menampilkan citra dengan noise yang di-generate dan meng-enable-kantombol reduce noise.

8. User mengeksekusi tombol reduce noise.

9. Sistem menampilkan citra hasil reduksi noise, nilai MSE, PSNR, running time, meng-enable-kan tombol save. 10. User menyimpan citra yang telah direduksi.

11. User memilih probabilitas noise dan mengeksekusi tombol generate noise.

12. Sistem menampilkan citra dengan noise yang di-generate dan meng-enable-kantombol reduce noise.

13. User memilih nilai d dan mengeksekusi tombol reduce noise.

14. Sistem menampilkan citra hasil reduksi noise, nilai MSE, PSNR, running time, meng-enable-kan tombol save. 15. User menyimpan citra yang telah direduksi.

16. User membandingkan kedua metode berdasarkan nilai MSE dan PSNR.

Alternative Flows -

3.2.1.2. Activity diagram

Activity diagram mendeskripsikan proses mengenai alur kerja atau aktivitas dalam sistem yang sedang dirancang, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger, atau dengan kata lain menggambarkan jalur aktivitas dari proses yang berjalan.

1. Activity diagramreduction undefined noise + exponential noise

Activity diagramreduction undefined noise + exponential noise dapat dilihat pada gambar 3.13.

Reduction anonymous noise + exponential noise

memilih citra bernoise(*.bmp) geometric mean filter

membandingkan niai MSE dan PSNR memilih probabilitas noise

alpha-trimmed mean filter

selesai

Kembali ke home

menambahkan exponential noise

menampilkan citra hasil reduksi, MSE, PSNR, runtime mereduksi noise

menyimpan citra hasil reduksi

USER SYSTEM

menampilkan citra bernoise

menampilkan citra bernoise+exponential noise

Gambar 3.13 Activity DiagramReduction Undefined Noise + Exponential Noise

Penjelasan alur aktivitasnya adalah sebagai berikut :

1. User memilih menu reduction undefined noise + exponential noise.User menggunakan metode geometric mean filter atau alpha-trimmed mean filter untuk melakukan reduksi noise.User memilih citra bernoise (*.bmp).

3. User memilih probabilitas noise. User menambahkan exponential noise. User melakukan reduksi noise.

4. System menampilkan citra hasil reduksi noise, nilai MSE, PSNR, dan running time.

5. User membandingkan metode yang paling bagus dengan melihat nilai MSE dan PSNR. User menyimpan citra hasil reduksi.

2. Activity diagramreduction exponential noise

Activity diagramreduction exponential noise dapat dilihat pada gambar 3.14.

Reduction exponential noise

memilih citra tanpa noise(*.bmp) geometric mean filter

membandingkan niai MSE dan PSNR memilih probabilitas noise

alpha-trimmed mean filter

selesai

Kembali ke home

menambahkan exponential noise

menampilkan citra hasil reduksi, MSE, PSNR, runtime mereduksi noise

menyimpan citra hasil reduksi

USER SYSTEM

menampilkan citra

menampilkan citra dengan exponential noise

Penjelasan alur aktivitasnya adalah sebagai berikut :

1. User memilih menu reduction exponential noise.User menggunakan metode geometric mean filter atau alpha-trimmed mean filter untuk melakukan reduksi noise.User memilih citra tanpa noise (*.bmp).

2. System menampilkan citra.

3. User memilih probabilitas noise. User menambahkan exponential noise. User melakukan reduksi noise.

4. System menampilkan citra hasil reduksi noise, nilai MSE, PSNR, dan running time.

5. User membandingkan metode yang paling bagus dengan melihat nilai MSE dan PSNR. User menyimpan citra hasil reduksi.

3.2.1.3. Sequence diagram

Diagram yang menggambarkan interaksi objek dengan objek lainnya melalui pesan yang dieksekusi berdasarkan kasusnya. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima antara objek-objek secara berurutan.

1. Sequence diagramreduction undefined noise + exponential noise

Sequence diagram untuk reduction undefined noise + exponential noise dapat dilihat pada gambar 3.15.

Reduksi noise () Input citra bernoise(*.bmp)

Tampil citra bernoise Browse Image

Citra hasil Top Package::UserPengguna

Generate exponential noise () Citra bernoise+exponential noise

Hitung MSE ()

Nilai PSNR

Tambah Exponential Noise Reduksi Noise Hitung MSE Hitung PSNR Hitung Runtime Simpan Citra Hasil

Nilai MSE Hitung PSNR ()

Hitung Runtime () Nilai Runtime

Simpan Citra Hasil Reduksi () Sukses tersimpan

Gambar 3.15 Sequence DiagramReduction Undefined Noise + Exponential Noise Penjelasan sequence diagram reduction undefined noise and exponential noiseadalah sebagai berikut :

1. Pengguna melakukan reduksi citra bernoise ditambah exponential noise dengan menginput citra bernoise (*.bmp).

2. Sistem akan melakukan browse dan mengirim feedback dengan menampilkan citra.

3. Pengguna men-generateexponentialnoise dengan probabilitas noise.

4. Sistem men-generate exponential noise dan menampilkan citra bernoise + exponential noise.

5. Pengguna melakukan reduksi noise, menghitung MSE, PSNR dan runtime. 6. Sistem melakukan reduksi dan mengirim feedback dengan menampilkan citra

hasil reduksi, nilai MSE, nilai PSNR, dan runtime. 7. Pengguna menyimpan citra hasil reduksi.

8. Sistem menyimpan citra dan Sistem menampilkan feedback berupa pesan sukses disimpan.

2. Sequence diagramreduction exponential noise

Sequence diagramreduction exponential noise dapat dilihat pada gambar 3.16.

Reduksi noise () Input citra tanpa noise(*.bmp)

Tampil citra tanpa noise Browse Image

Citra hasil Top Package::UserPengguna

Generate exponential noise ()

Citra dengan exponential noise

Hitung MSE ()

Nilai PSNR

Tambah Exponential Noise Reduksi Noise Hitung MSE Hitung PSNR Hitung Runtime Simpan Citra Hasil

Nilai MSE Hitung PSNR ()

Hitung Runtime () Nilai Runtime

Simpan Citra Hasil Reduksi () Sukses tersimpan

Gambar 3.16 Sequence DiagramReduction Exponential Noise

Penjelasan sequence diagramreduction exponential noiseadalah sebagai berikut : 1. Pengguna melakukan reduksi citra tanpa noise yang ditambah exponential

noise dengan menginput citra bernoise (*.bmp).

2. Sistem akan melakukan browse dan mengirim feedback dengan menampilkan citra.

3. Pengguna men-generateexponentialnoise dengan probabilitas noise.

4. Sistem men-generateexponentialnoise dan menampilkan exponential noise. 5. Pengguna melakukan reduksi noise, menghitung MSE, PSNR dan runtime. 6. Sistem melakukan reduksi dan mengirim feedback dengan menampilkan citra

hasil reduksi, nilai MSE, nilai PSNR, dan runtime. 7. Pengguna menyimpan citra hasil reduksi.

8. Sistem menyimpan citra dan Sistem menampilkan feedback berupa pesan sukses disimpan.

3.2.2. Pseudocode

Pseudocode adalah penjelasan dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemograman. Biasanya yang ditulis dari pseudocode adalah variabel dan fungsi. Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan dalam memahami prinsip-prinsip dari suatu algoritma suatu metode.

1. Pseudocode membangkitkan exponential noise

Pada sistem ini untuk melakukan perbandingan kedua metode ditambahkan terlebih dahulu exponential noise. Berikut ini pseudocode untuk membangkitkan exponential noise pada citra :

Pada pseudocode diawali dengan dengan inisialisasi piksel berdasarkan baris dan kolomnya. Kemudian dilakukan pembangkitan noise. Kemudian dilakukan penambahan noise dengan nilai piksel yang telah diinisialisasi dan dilakukan pembulatan nilai piksel. Apabila nilai pembulatan lebih besar dari intensitas piksel 255 maka akan dilakukan pembulatan menjadi 255.

Masukan :

• A = Citra awal berukuran mxn

a = probabilitas pembangkitan noise (0.01 s/d 0.05) Keluaran :

• B = Citra yang telah ditambah noise

Exponential_noise(A, a): B ← A

for i ←1 TO m

for j ←1 TO n

noise ← -1/a*log(1-rand) B(i,j) ← round(A(i,j)+ noise) if B(i,j) > 255

B(i,j) ← 255 end

end end

2. Pseudocode proses geometric mean filter

Berikut pseudocode untuk proses geometric mean filter dengan ukuran 3x3:

Pada pseudocode proses diawali dengan perhitungan dimensi citra. Kemudian dilakukan inisialisasi nilai piksel terhadap baris dan kolom citra yaitu sebagai A dan B. Kemudian dilakukan perulangan untuk proses perkalian piksel berdasarkan nilai i, j, p, dan q yang telah ditentukan. Seluruh hasil jumlah perkalian nilai piksel dilakukan pemangkatan dengan nilai (1/kernel) dan dimasukkan ke dalam nilai B. Kemudian akan dilakukan penggantian nilai piksel A menjadi B.

3. Pseudocode proses alpha-trimmed mean filter

Berikut pseudocode untuk proses alpha-trimmed mean filter dengan ukuran 3x3:

function [B] ← geometric(A,ukuran) [m,n]← size(A)

cons ← ukuran/2 A ← A

B ← A

for i ←1+cons To m-cons for j ←1+cons To n-cons

jumlah ← 1

for p ← -cons To cons for q ← -cons To cons

jumlah ← jumlah * A(i+p, j+q); end

end

B(i, j)← jumlah ^ (1/(ukuran * ukuran)); end

end Return B

function [B] ← alphatrimmed(A, ukuran, d) [m, n]← size(A)

cons ← ukuran / 2 A ← A

B ← A

for i ← 1+cons To m-cons

for j ← 1+cons To n-cons index ← 1

for p ← -cons To cons for q ← -cons To cons Nilai(index) ← A(i+p, j+q) index ← index + 1 end end index ← index - 1 for p ← 2 To index x ← Nilai(p) q ← p - 1 ketemu ← 0

while ((q >= 1) && (~ketemu)) if (x < Nilai(q)) Nilai(q+1) ← Nilai(q) q ← q - 1 else ketemu ← 1 end Nilai(q+1) ← x end end if (d==0)

B(i, j) ← sum(Nilai(2:8)) * (1/((ukuran*ukuran)-d)) elseif (d == 1||d == 2||d== 3||d==4||d==5||d==6||d==7) B(i, j) ← sum(Nilai(2:8)) * (1/((ukuran*ukuran)-d)) elseif (d==8)

B(i, j) ← Nilai(floor(ukuran * ukuran/2) + 1) end

end end Return B

Pada pseudocode proses diawali perhitungan dimensi citra. Kemudian dilakukan inisialisasi nilai piksel terhadap baris dan kolom citra yaitu sebagai A dan B. Kemudian dilakukan perulangan untuk proses pengurutan nilai piksel berdasarkan nilai i, j, p, dan q yang telah ditentukan. Proses pengurutan dilakukan dari intensitas piksel terkecil hingga terbesar. Apabila proses pengurutan selesai maka dilakukan proses reduksi dengan menggunakan berdasarkan nilai d. apabila d = 0, maka proses dilakukan dengan rumus metode arithmetic filter. Apabila d = 1 - 7, maka proses dilakukan dengan menggunakan rumus seperti arithmetic filter juga namun nilai kernel telah dikurangi dengan nilai d. Apabila d = 8, maka proses dilakukan dengan menggunakan rumus metode median filter. Pada proses reduksi dilakukan penghilangan terhadap intensitas piksel terkecil dan intensitas piksel terbesar yang telah diurutkan sebelumnya. Hasil proses reduksi dimasukkan ke dalam nilai B. Kemudian akan dilakukan penggantian nilai piksel A menjadi B.

4. Pseudocode menghitung MSE dan PSNR

Berikut pseudocode untuk menghitung MSE dan PSNR :

Pada pseudocode diawali dengan pengurangan intensitas piksel citra asal dengan citra hasil reduksi yang kemudian dipangkatkan 2 yang digunakan untuk menghitung selisih nilai pikselnya. Tiap intensitas piksel diambil berdasarkan baris dan kolom ( x, y) dengan tipe double. Kemudian dilakukan inisialisasi nilai piksel tinggi dan lebar citra asal. Perhitungan nilai MSE dilakukan dengan penjumlahan dari seluruh selisih nilai piksel citra asal dengan citra hasil reduksi dan kemudian dibagi dengan hasil perkalian tinggi dan lebar citra. Setelah proses perhitungan MSE dilakukan, maka dilakukan proses perhitungan nilai

function [NilaiMSE PSNR] ← HitungMSE(Citraasal,Citrahasil) NilaiMSE ← (double(Citraasal)- double(Citrahasil)).^2 [tinggi lebar] ← size(Citraasal)

NilaiMSE ← (sum(NilaiMSE(:))/(tinggi*lebar)) PSNR ← 20*log10(255/sqrt(NilaiMSE))

end

Return NilaiMSE Return PSNR

PSNR berdasarkan rumus menghitung nilai PSNR. Kemudian dihasilkan nilai MSE dan nilai PSNR.

3.2.3. Flowchart sistem

Flowchart adalah representasi grafik dari langkah-langkah yang harus dilakukan dalam menyelesaikan suatu permasalahan. Flowchart terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output. Flowchart menggambarkan suatu aliran kegiatan dari awal hingga akhir mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah tersebut bisa bermacam-macam, mulai dari masalah yang sederhana sampai masalah yang kompleks. Masalah yang dihadapai tentunya masalah pemrograman.

Sistem ini terdiri dari beberapa proses, yaitu proses untuk mereduksi noise yang dilakukan dengan 2 metode yaitu metode geometric mean filter dan alpha- trimmed mean filter. Pada form pertama, noise yang akan direduksi adalah noise yang telah ada pada citra ditambah dengan exponential noise yang dibangkitkan dari sistem. Sedangkan pada form kedua, noise yang akan direduksi adalah exponentialnoise yang dibangkitkan dari sistem.

1. Flowchart metode geometric mean filter

Mulai

Input citra asli ekstensi (*.bmp)

Inisialisasi nilai piksel citra asli

Hitung nilai piksel m x n

Baca nilai piksel

Hitung nilai RGB

Penambahan exponential noise

Konvolusi matriks dengan metode geometric mean filter kernel 3x3

Nilai piksel = B(i,j)

Hitung MSE

Hitung running time

Citra hasil reduksi, MSE, PSNR, dan

running time

Selesai Hitung PSNR

Gambar 3.17 Flowchart Metode Geometric Mean Filter

Keterangan Gambar 3.17 :

1. Proses diawali dengan input citra. 2. Menginisialisasi nilai piksel citra. 3. Menghitung nilai piksel mxn. 4. Membaca nilai piksel citra. 5. Menghitung nilai RGB citra. 6. Penambahan exponential noise. 7. Konvolusi matriks dengan filter. 8. Hasil nilai piksel citra B(i,j). 9. Hitung MSE.

10. Hitung PSNR. 11. Hitung running time.

12. Tampil citra, MSE, PSNR, running time.

2. Flowchart metode alpha-trimmed mean filter

Mulai

Input citra asli ekstensi (*.bmp),

input nilaid

Inisialisasi nilai piksel citra asli

Hitung nilai piksel m x n

Baca nilai piksel

Hitung nilai RGB

Penambahan exponential noise

Konvolusi matriks dengan metode alpha-trimmed mean filter kernel

3x3 berdasarkan nilai d

Nilai piksel = B(i,j)

Hitung MSE

Hitung running time

Citra hasil reduksi, MSE, PSNR, dan

running time

Selesai Hitung PSNR

Gambar 3.18 Flowchart Metode Alpha-Trimmed Mean Filter

Keterangan Gambar 3.18:

1. Proses diawali dengan input citra dan input nilai d.

2. Menginisialisasi nilai piksel citra. 3. Menghitung nilai piksel mxn. 4. Membaca nilai piksel citra. 5. Menghitung nilai RGB citra. 6. Penambahan exponential noise.

7. Konvolusi matriks dengan filter berdasarkan nilai d.

8. Hasil nilai piksel citra B(i,j). 9. Hitung MSE.

10. Hitung PSNR. 11. Hitung running time.

12. Tampil citra, MSE, PSNR, running time.

3.2.4. Perancangan antarmuka

Berdasarkan hasil analisis untuk mempermudah programmer mengimplementasikan sistemnya maka dibuat suatu perancangan antarmuka sistem. Perancangan antarmuka dari sistem ini terdiri dari 5 (lima) form, yaitu :

1. Form Menu Utama

2. FormReduction Undefined Noise + Exponential Noise 3. FormReduction Exponential Noise

4. FormHelp 5. FormAbout

3.2.4.1. Form menu utama

Pada saat sistem dijalankan maka akan muncul tampilan pertama kali, yaitu tampilan rancangan halaman menu utama, yang dapat dilihat pada gambar 3.19:

Gambar 3.19 Rancangan Form Menu Utama

Keterangan Gambar 3.19:

1. Menu Editor untuk reduksi noise bebas ditambah dengan exponentialnoise. 2. Menu Editor untuk reduksi exponentialnoise.

3. Menu Editor yang berisi petunjuk penggunaan.

4. Menu Editor yang berisi tentang info pembuat perangkat lunak. 5. Menu Editor Exit untuk keluar dari sistem.

Dokumen terkait