Analisis Sistem ANALISIS DAN PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan sebuah teknik penyelesaian masalah yang pada dasarnya dilakukan untuk mengembangkan sebuah sistem. Tujuan dari analisis sistem adalah membangun model dari sebuah sistem dengan beberapa tahapan fase yang harus dilalui sehingga menghasilkan informasi yang dapat digunakan dalam membangun model sistem tersebut. Pada tahap ini akan diuraikan hal-hal yang dibutuhkan oleh sistem dengan memberikan gambaran yang jelas terhadap komponen-komponen yang ada di dalamnya sehingga sistem yang dibangun dapat sesuai dengan yang diinginkan. Analisis sistem yang digunakan terdiri atas analisis masalah, analisis kebutuhan dan analisis proses.

3.1.1 Analisis Masalah

Analisis masalah merupakan sebuah tahapan menganalisis kelayakan berbagai masalah sehingga diperlukannya suatu penelitian untuk menyelesaikan masalah tersebut. Masalah yang diangkat pada penelitian ini adalah metode apa yang layak digunakan, antara Low-pass Filtering dan High-pass Filtering, untuk mereduksi gangguan noise pada citra digital, baik gangguan noise yang sengaja ditambahkan pada citra maupun yang ada pada citra secara tidak disengaja. Untuk menganalisis masalah tersebut dapat digambarkan menggunakan sebuah diagram Ishikawa, yang lebih dikenal dengan nama Cause and Effect Diagram atau Fishbone Diagram. Diagram ini merupakan sebuah alat grafis yang digunakan untuk menggambarkan sebuah masalah dan sebab-akibat yang timbul dari masalah tersebut. Diagram Ishikawa Cause and Effect Diagram digambarkan seperti susunan tulang ikan yang terbagi atas dua bagian yaitu bagian kepala ikan yang merupakan masalah, Universitas Sumatera Utara bagian utama tulang belakang merupakan kemungkinan-kemungkinan penyebab masalah yang biasanya dikelompokkan menjadi empat aspek yaitu Man, Method, Machine dan Material, dan kategori lain yang sesuai dengan masalah. Diagram Ishikawa sistem ini dapat dilihat pada gambar 3.1. Adanya noise pada citra digital Method Material Machine Tools Man Membangkitkan noise Hasil pemindaian citra yang telah usang Pergerakan relatif objek terhadap kamera Lensa kamera tidak fokus Gangguan elektromagnetik Pencahayaan yang kurang Proses pengambilan gambar yang tidak sempurna Gambar 3.1 Diagram Ishikawa Analisis Masalah

3.1.2 Analisis Kebutuhan

Analisis kebutuhan merupakan proses analisis yang digunakan untuk mengidentifikasi hal-hal yang dibutuhkan suatu sistem. Analisis kebutuhan dibagi atas kebutuhan fungsional Functional Requirement dan non-fungsional Non-functional Requirement.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional merupakan deskripsi segala aktivitas dan layanan atau fungsi yang dapat dilakukan oleh sistem. Kebutuhan fungsional sistem pada penelitian ini adalah: 1. Citra digital yang dapat diolah adalah citra digital berformat .bmp tidak memiliki noise atau yang telah memiliki noise. Universitas Sumatera Utara 2. Jenis noise yang dibangkitkan pada citra adalah Exponential dan Rayleigh Noise. 3. Metode yang digunakan untuk memperbaiki kualitas citra digital adalah Low-pass Filtering dan High-pass Filtering. 4. Sistem menggunakan Mean Squared Error MSE, Peak Signal to Noise Ratio PSNR dan Runtime process sebagai parameter pembanding kinerja metode filter. 5. Citra hasil proses filter dapat disimpan dengan format file asalnya yaitu .bmp.

3.1.2.2 Kebutuhan Non-fungsional

Kebutuhan nonfungsional merupakan deskripsi dari segala fitur, karakteristik, dan batasan lain yang harus dimiliki oleh sistem sehingga dapat menentukan standar kepuasan pengguna terhadap sistem. Pada penelitian ini kebutuhan non-fungsional sistem terdiri beberapa aspek, yaitu: 1. Tampilan Performance Sistem dibangun menggunakan tampilan yang sederhana, mudah digunakan dan mudah dimengerti user friendly. 2. Penyimpanan Data Information Citra hasil filtering dapat disimpan dalam ekstensi .bmp 3. Segi Ekonomi Economic Sistem dibangun berbasis desktop yang dapat digunakan secara bebas dan tidak membutuhkan perangkat tambahan lain yang dapat mengeluarkan biaya tambahan. 4. Pengontrolan Sistem Control Sistem memberikan umpan balik pada setiap kegiatan yang dilakukan pengguna terhadap sistem. 5. Efisiensi Sistem Eficiency Sistem mengurangi waktu pengguna dalam menghitung ukuran dimensi citra dan mereduksi noise pada citra digital. 6. Pelayanan Sistem Service Sistem memberi kemudahan dalam mereduksi noise sehingga memudahkan fotografer untuk memperbaiki kualitas suatu citra. Selain itu sistem juga mengembalikan informasi citra yang mengalami penuruan mutu akibat noise. Universitas Sumatera Utara

3.1.3 Analisis Proses

Analisis proses bertujuan untuk mengetahui cara kerja suatu sistem secara detil dengan melakukan pemodelan terhadap sistem. Pemodelan sistem dapat dilakukan menggunakan Unified Modelling Laguage UML. Undifined Modelling Language UML merupakan sebuah bahasa yang telah menjadi standar dalam menggambar, merancang dan mendokumentasikan perancangn model sebuah sistem.

3.1.3.1 Use Case Diagram

Use case diagram merupakan diagram yang menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah Use case mendeskripsikan sebuah interaksi antara aktor dengan sistem secara seherhana. Use case diagram digunakan untuk memahami apa yang dapat dilakukan oleh sistem. Use case diagram sistem ditunjukan pada gambar 3.2. System Filter Citra dengan Noise User Filter Citra tanpa Noise Gambar 3.2 Use case Diagram Sistem Use Case diagram pada gambar 3.2 menampilkan interaksi antara pengguna dan sistem. Interaksi yang dilakukan oleh pengguna adalah memilih proses filtering, di mana proses filtering terbagi atas dua yaitu proses filtering dengan citra yang diberi noise dan proses filter dengan citra yang memiliki noise. Untuk penjelasan lebih lanjut mengenai Use Case diagram pada gambar 3.2, berikut adalah Use Case Diagram Narrative yang dapat dilihar pada tabel 3.1 dan tabel 3.2. Universitas Sumatera Utara Tabel 3.1 Use Case Diagram Narrative Filtering dengan Citra yang diberi Noise Use Case Name Filter Citra tanpa Noise Actor User Description Melakukan filtering dan kompresi pada citra Precondition User mengakses menu testing Basic Flows 1. User menginput citra .bmp yang tidak memiliki noise. 2. Sistem menampilkan citra yang telah berhasil di input. 3. User menentukan jenis noise yang akan dibangkitkan. 4. User memasukkan parameter noise yang dipilih. 5. User menentukan nilai cut-off distance dan orde filter. 6. User menekan tombol filter. 7. Sistem menampilkan citra hasil filtering. Alternative Flows - Exception Flows - Post Conditions User melihat tampilan citra hasil filtering, nilai MSE, PSNR serta runtime process Extention Points - Tabel 3.2 Use Case Diagram Narrative Filtering dengan Citra yang memiliki Noise Use Case Name Filter Citra dengan Noise Actor User Description Melakukan proses filter dengan citra yang memiliki noise Preconditions User mengakses menu filter citra dengan noise Basic Flows 1. User menginput citra .bmp yang memiliki noise. 2. Sistem menampilkan citra yang telah berhasil di input. 3. User menentukan nilai cut-off distance dan orde filter. 4. User menekan tombol filter. 5. Sistem menampilkan citra hasil filtering. Alternative Flows - Exception Flows - Post Conditions User melihat tampilan citra hasil filtering, nilai MSE, PSNR serta runtime process Extention Points - Universitas Sumatera Utara

3.1.3.2 Activity Diagram

Activity diagram merupakan diagram yang menggambarkan seluruh tahapan alur kerja yang terdiri dari aktivitas, pilihan tindakan, perulangan, dan hasil dari aktivitas tersebut. Activity diagram memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Activity diagram dibuat berdasarkan sebuah atau beberapa use case, pada use case diagram. Berdasarkan use case pada gambar 3.1, activity diagram proses filter dengan citra yang dibangkitkan noise dan proses filter dengan citra yang memiliki noise ditunjukan oleh gambar 3.3 dan gambar 3.4. Input citra tanpa noise Menampilkan citra tanpa noise yang dipilih user Menampilkan ukuran dimensi citra Melakukan proses low-pass dan high-pass filtering Menampilkan nilai MSE, PSNR, dan runtime Tekan tombol FILTER User System Tentukan nilai probabilitas variabel noise Tekan tombol GENERATE Tentukan jenis noise yang akan digunakan Menampilkan citra hasil generate noise Tentukan nilai cut-off distance dan orde filter Gambar 3.3 Activity Diagram Filtering dengan Citra yang diberi Noise Universitas Sumatera Utara Input citra dengan noise Menampilkan citra noise yang dipilih user Menampilkan ukuran dimensi citra Melakukan proses low-pass dan high-pass filtering Menampilkan nilai MSE, PSNR, dan runtime Tekan tombol FILTER User System Menampilkan citra hasil low-pass dan high-pass filtering Tentukan nilai cut-off distance dan orde filter Gambar 3.4 Activity Diagram Filtering dengan Citra yang memiliki Noise

3.1.3.3 Sequence Diagram

Sequence diagram merupakan diagram yang menggambarkan interaksi antar objek di dalam dan di sekitar sistem yang disusun berdasarkan interaksi objek tersebut terhadap waktu. Berdasarkan use case pada gambar 3.1, sequence diagram proses dibedakan menjadi dua, yaitu filter dengan citra yang diberi noise dan proses filter dengan citra yang memiliki noise . Interaksi antar objek pada kedua proses filter dapat dilihat pada gambar 3.5 dan 3.6. Universitas Sumatera Utara User Citra tanpa Noise Citra Noise Filter Menampilkan citra input Menampilkan citra dengan Noise Pilih nilai probabilitas Menampilkan citra hasil filtering Menampilkan nilai mse, psnr, dan runtime Input citra Reduksi noise citra Hitung mse, psnr, runtime Tekan tombol GENERATE Tekan tombol FILTER Form Citra Handle citra input Handle citra noise Tampilan citra input Handle nilai probabilitas Tampilan nilai probabilitas Generate noise Tampilan citra noise Tampilan nilai mse, psnr, dan runtime Tampilan citra hasil Gambar 3.5 Sequence Diagram Filtering dengan Citra yang diberi Noise User Citra dengan Noise Filter Menampilkan citra dengan noise Menampilkan citra hasil filtering Menampilkan nilai mse, psnr, dan runtime Input citra dengan noise Reduksi noise citra Hitung mse, psnr, runtime Tekan tombol FILTER Form Citra Handle citra dengan noise Tampilan citra dengan noise Tampilan nilai mse, psnr, dan runtime Tampilan citra hasil Gambar 3.6 Sequence Diagram Filtering dengan Citra yang memiliki Noise

3.2 Pseudocode Program

Pseudocode merupakan algoritma yang diterjemahkan dari bahasa pemrograman yang sulit dimengerti menjadi bahasa yang lebih mudah dimengerti oleh manusia untuk menjelaskan suatu algoritma. Berikut adalah pseudocode dari program filtering, Exponential Noise, Rayleigh Noise, Mean Squared Error MSE dan Peak Signal to Noise Ratio PSNR. Universitas Sumatera Utara

3.2.1 Pseudocode Program Filtering

Pseudocode untuk program filtering dapat dilihat pada gambar 3.7. Gambar 3.7 Pseudocode Program Filtering Img - citraNoise Fs - doubleImg d0 - 0.1 n - 2 R - Fs:,:,1 G - Fs:,:,2; B - Fs:,:,3; Ideal Low-pass ilp_R - ilpfR,d0 ilp_G - ilpfG,d0 ilp_B - ilpfB,d0 img_ilp - cat3, ilp_R, ilp_G, ilp_B Butterworth Low-pass blp_R - blpfR,d0 blp_G - blpfG,d0 blp_B - blpfB,d0 img_blp - cat3, blp_R, blp_G, blp_B Gaussian Low-pass glp_R - glpfR,d0 glp_G - glpfG,d0 glp_B - glpfB,d0 img_glp - cat3, glp_R, glp_G, glp_B Ideal High-pass ihp_R - ihpfR,d0 ihp_G - ihpfG,d0 ihp_B - ihpfB,d0 img_ihp - cat3, ihp_R, ihp_G, ihp_B Butterworth High-pass bhp_R - bhpfR,d0 bhp_G - bhpfG,d0 bhp_B - bhpfB,d0 img_bhp - cat3, bhp_R, bhp_G, bhp_B Gaussian Low-pass ghp_R - ghpfR,d0 ghp_G - ghpfG,d0 ghp_B - ghpfB,d0 img_ghp - cat3, ghp_R, ghp_G, ghp_B Universitas Sumatera Utara

3.2.2 Pseudocode Fungsi Low-pass Filtering

Pseudocode untuk masing-masing fungsi dari metode Low-pass Filtering dapat dilihat pada gambar 3.8, gambar 3.9, dan gambar 3.10

a. Ideal Low-pass Filter

Gambar 3.8 Pseudocode Ideal Low-pass Filtering

b. Butterworth Low-pass Filter

Gambar 3.9 a Pseudocode Butterworth Low-pass Filtering function F - ilpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hf - doubleD = ambang Ideal ilpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf.Ff Pemfilteran F - realifft2G Transformasi balik F - uint8F1:a, 1:b function F - blpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p Universitas Sumatera Utara Gambar 3.9 b Lanjutan Pseudocode Butterworth Low-pass Filtering

c. Gaussian Low-pass Filter

Gambar 3.10 Pseudocode Gaussian Low-pass Filtering function F - glpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hf - exp-D.2.2ambang2 Gaussian glpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf. Ff Pemfilteran F - realifft2G Transformasi balik F - uint8F1:a, 1:b [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hf - 1.1+D.ambang.2n Butterworth blpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf. Ff Pemfilteran F - realifft2G Transformasi balik F - uint8F1:a, 1:b Universitas Sumatera Utara

3.2.3 Pseudocode Fungsi High-pass Filtering

Pseudocode untuk masing-masing fungsi dari metode High-pass Filtering dapat dilihat pada gambar 3.11, gambar 3.12 dan gambar 3.13

a. Ideal High-pass Filter

Gambar 3.11 Pseudocode Ideal High-pass Filtering

b. Butterworth High-pass Filter

Gambar 3.12 a Pseudocode Butterworth High-pass Filtering function F - ihpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hlr - doubleD = ambang; Lolos-rendah ilpf Hlt - 1 - Hlr; Lolos-tinggi ihpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf.Ff Pemfilteran F - realifft2G Transformasi balik F - uint8F1:a, 1:b function F - bhpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p Universitas Sumatera Utara Gambar 3.12 b Lanjutan Pseudocode Butterworth High-pass Filtering

c. Gaussian High-pass Filter

Gambar 3.13 Pseudocode Gaussian High-pass Filtering function F - ghpfFs, d0 [a, b] - sizeFs r - nextpow22 maxa, b untuk perluasan citra p - 2 r q - p u - 0:p - 1 Menentukan jangkauan frekuensi u, v v - 0:q - 1 idx - findu q2 Hitung indeks untuk meshgrid uidx - uidx - q idy - findv p2 vidy - vidy - p [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hlr - exp-D.2.2ambang2; Lolos-rendah glpf Hlt - 1 - Hlr; Lolos-tinggi ghpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf. Ff Pemfilteran F - realifft2G Transformasi balik F -uint8F1:a, 1:b [V, U] - meshgridv, u Peroleh array meshgrid D - sqrtV.2 + U.2 Hitung jarak Dv,u ambang - d0 p Hitung frekuensi ambang Hf - 1.1+D.ambang.2n Lolos-rendah blpf Hlt - 1-Hlr; Lolos-tinggi bhpf Ff - fft2Fs, p, q Transformasi FFT dengan zero padding G - Hf. Ff Pemfilteran F - realifft2G Transformasi balik F -uint8F1:a, 1:b Universitas Sumatera Utara

3.2.4 Pseudocode Exponential Noise

Exponential Noise dibangkitkan berdasarkan bilangan acak terdistribusi di mana untuk membangkitkannya bergantung nilai probabilitas dan bilangan acak. Prosesnya adalah dengan menambahkan citra asli dengan rumus pembangkit Exponential Noise. Pseudocode Exponential Noise dapat dilihat pada gambar 3.14. Gambar 3.14 Pseudocode Exponential Noise

3.2.5 Pseudocode Rayleigh Noise

Rayleigh Noise dibangkitkan berdasarkan bilangan acak terdistribusi di mana untuk membangkitkannya bergantung nilai parameter a dan b serta bilangan acak. Prosesnya adalah dengan menambahkan citra asli dengan rumus pembangkit Rayleigh Noise. Pseudocode Rayleigh Noise dapat dilihat pada gambar 3.15. Gambar 3.15 Pseudocode Rayleigh Noise

3.2.6 Pseudocode Mean Squared Error MSE

Mean Squared Error digunakan sebagai parameter pembanding kinerja metode filtering dengan cara membandingkan citra asli dengan citra setelah proses filtering. Perbandingan ini bertujuan utntuk mendapatkan selisih nilai kedua citra. Jika selisihnya bernilai kecil maka metode yang digunakan sangat baik untuk mereduksi noise. Pseudocode untuk menentukan MSE dapat dilihat pada gambar 3.16. citra - citraAsli probabilitas - 0.1 citra - im2doublecitra citraNoise - citra+-1probabilitaslog1-randsizecitra citra - citraAsli a - 0.1 b - 0.5 citra - im2doublecitra citraNoise - citra+a+sqrt-blog1-rand Universitas Sumatera Utara Gambar 3.16 Pseudocode Mean Squared Error MSE

3.2.7 Pseudocode Peak Signal to Noise Ratio PSNR

Nilai Peak Signal to Noise Ratio PSNR bergantung pada nilai Mean Squared Error MSE. Jika hasil yang didapatkan bernilai besar, maka metode yang digunakan sangat baik dalam mereduksi noise. Pseudocode untuk menentukan PSNR dapat dilihat pada gambar 3.17. Gambar 3.17 Pseudocode Peak Signal to Noise Ratio PSNR

3.3 Perancangan Sistem

Perancangan sistem merupakan perancangan proses, alur dan gambaran sistem. Ketiga hal tersebut digambarkan dengan perancangan flowchart dan interface.

3.3.1 Perancangan Flowchart Sistem

Flowchart merupakan semuah diagram atau bagan dengan simbol-simbol grafis yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Flowchart dapat memberikan kemudahan dalam penyelesaian masalah yang ada di dalam sistem. Flowchart sistem dapat dilihat pada gambar 3.18. citra - citraAsli img - citraHasil [a, b] - sizecitra mseRImage - doublecitra:,:,1-doubleimg:,:,1. 2; mseGImage - doublecitra:,:,2-doubleimg:,:,2. 2; mseBImage - doublecitra:,:,3-doubleimg:,:,3. 2; mseR - sumsummseRImageab; mseG - sumsummseGImageab; mseB - sumsummseBImageab; MSE - mseR + mseG + mseB3; PSNR - 10 log102552MSE; Universitas Sumatera Utara Start Citra Asli Rayleigh Noise? Bangkitkan Exponential Noise Citra Noise Y Finish Citra Hasil Filtering N Citra Asli? Y N Nilai MSE, PSNR dan Runtime Bangkitkan Rayleigh Noise Bangkitkan Low-pass dan High-pass Filter 0 probabilitas = 10 10 = a =100 250 = b = 2500 Gambar 3.18 Flowchart Sistem Universitas Sumatera Utara Cara kerja flowchart sistem pada penelitian ini berawal dari proses penentuan apakah citra masukkan merupakan citra tanpa noise atau citra dengan noise. Jika citra yang dimasukkan adalah citra dengan noise, maka proses akan dilanjutkan dengan memanggil fungsi untuk membangkitkan Low-pass Filtering dan High-pass Filtering. Namun, jika citra yang dimasukkan adalah citra tanpa noise maka akan dilakukan proses pembangkitan noise terlebih dahulu dengan memanggil fungsi noise yang dikehendaki. Jika noise yang akan dibangkitkan adalah Rayleigh Noise maka akan dipanggil fungsi Rayleigh Noise dengan nilai parameter yang telah ditentukan sebelumnya, jika tidak maka akan dipanggil fungsi Exponential Noise dengan nilai parameter yang telah ditentukan sebelumnya. Jika proses pembangkitan noise selesai, maka akan diperoleh citra dengan noise. Citra tersebut kemudian difilter dengan metode Low-pass Filtering dan High-pass Filtering dengan memanggil fungsi kedua metode tersebut. Kemudian citra hasil filtering akan ditampilkan bersama dengan nilai MSE, PSNR dan runtime proses hasil filtering tersebut .

3.3.2 Perancangan Interface Sistem

Pembangunan sebuah sistem dapat dimulai dengan melakukan perancangan antarmuka atau interface sistem berdasarkan flowchart sistem pada gambar 3.13. Antarmuka ini dirancang dengan memperhatikan faktor pengguna yang akan berinteraksi dengan sistem tersebut, sehingga sistem dapat digunakan dengan mudah dan nyaman. Tampilan antarmuka yang akan dimiliki sistem terdiri atas menu utama, menu program filtering dengan citra yang diberi noise, menu program filtering dengan citra yang memiliki noise, menu help dan menu about.

3.3.2.1 Rancangan Menu Utama

Rancangan menu utama program filtering dapat dilihat pada gambar 3.19. Universitas Sumatera Utara Gambar 3.19 Rancangan Menu Utama Tabel 3.3 Keterangan Gambar Menu Utama No. Keterangan 1. Static Text untuk menampilkan judul penelitian. 2. Axes untuk menampilkan logo S1 Ilmu Komputer USU. 3. Static Text untuk menampilkan nama, nim, program studi, dan universitas penulis. 4. Static Text untuk menampilkan copyright.

3.3.2.2 Rancangan Menu Program Filtering dengan Citra yang diberi Noise

Rancangan menu program filtering dengan citra yang diberi noise dapat dilihat pada gambar 3.20. Gambar 3.20 Rancangan Menu Program Filtering dengan Citra yang diberi Noise Tabel 3.4 Keterangan Gambar Menu Program Filtering dengan Citra yang diberi Noise 1 2 3 4 1 2 3 4 6 9 10 7 11 12 8 14 15 16 17 13 23 26 24 27 28 25 18 19 29 30 31 32 20 21 22 33 34 5 Universitas Sumatera Utara No. Keterangan 1. Static Text untuk menampilkan judul menu. 2. Panel „Citra Asli‟ untuk menampilkan citra. 3. Panel „Citra Noise‟untuk menampilkan citra yang telah diberi noise. 4. Panel „Filtering‟ untuk menampilkan nilai masukan „Cut-off Distance‟ dan „Orde Filter‟ 5. Panel „Citra Hasil‟ untuk menampilkan citra hasil filtering. 6. Panel berisi static text untuk menampilkan nama file dan ukuran citra. 7. Panel „Exponential Noise‟ berisi Edit Text untuk memasukkan nilai „Probabilitas‟ yang akan digunakan untuk membangkitkan Exponential Noise. 8. Panel „Rayleigh Noise‟ berisi Edit Text untuk memasukkan nilai „a‟ dan „b‟ yang akan digunakan untuk membangkitkan Rayleigh Noise. 9. Push Button „Open File‟ untuk mengambil file citra berformat .bmp. 10. Push Button „Clear‟ untuk mengosongkan seluruh input-output. 11. Push Button „Generate‟ untuk membangkitkan Exponential Noise. 12. Push Button „Generate‟ untuk membangkitkan Rayleigh Noise. 13. Push Button „Save‟ untuk menyimpan citra yang telah diberi noise. 14. Push Button „Filter‟ untuk melakukan proses filtering 15. Axes „citraAsli‟ untuk menampilkan citra input-an yang belum diberi noise. 16. Axes „citraNoise‟ untuk menapilkan citra hasil butterworth low-pass filtering. 17. Axes „citraILP‟ untuk menapilkan citra hasil ideal low-pass filtering. 18. Axes „citraIBP‟ untuk menapilkan citra hasil butterworth low-pass filtering. 19. Axes „citraIGP‟ untuk menapilkan citra hasil gaussian low-pass filtering. 20. Axes „citraIHP‟ untuk menapilkan citra hasil ideal high-pass filtering. 21. Axes „citraBHP‟ untuk menapilkan citra hasil butterworth high-pass filtering. 22. Axes „citraGHP‟ untuk menapilkan citra hasil gaussian high-pass filtering. 23. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil ideal low-pass filtering. 24. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil butterworth low- pass filtering. 25. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil gaussian low-pass filtering. 26. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil ideal high-pass filtering. 27. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil butterworth high- pass filtering. 28. Edit Text untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil gaussian high-pass filtering. 29. Push Button „Save‟ untuk menyimpan citra hasil ideal low-pass filtering. 30. Push Button „Save‟ untuk menyimpan citra hasil butterworth low-pass filtering. 31. Push Button „Save‟ untuk menyimpan citra hasil gaussian low-pass filtering. 32. Push Button „Save‟ untuk menyimpan citra hasil ideal high-pass filtering. 33. Push Button „Save‟ untuk menyimpan citra hasil butterworth high-pass filtering. 34. Push Button „Save‟ untuk menyimpan citra hasil gaussian high-pass filtering. Universitas Sumatera Utara

3.3.2.3 Rancangan Menu Program Filtering dengan Citra yang memiliki Noise

Rancangan menu program filtering dengan citra memiliki noise dapat dilihat pada gambar 3.21. Gambar 3.21 Rancangan Menu Program Filtering dengan Citra yang memiliki Noise Tabel 3.5 Keterangan Gambar Menu Program Filtering dengan Citra yang memiliki Noise No. Keterangan 1. Static Text untuk menampilkan judul menu. 2. Panel „Citra Hasil Low-pass filtering‟. 3. Panel „Citra Asli‟ yang terkena noise. 4. Panel „Citra Hasil High-pass filtering‟. 5. Axes „citraAsli‟untuk menampilkan citra input-an yang terkena noise. 6. Push Button „Open File‟ untuk mengambil file citra berformat .bmp. 7. Push Button „Clear‟ untuk mengosongkan seluruh input-output. 8. Panel berisi static text untuk menampilkan nama file dan ukuran citra. 9. Panel „Filtering‟ berisi Edit Text untuk memasukkan nilai „Cut-off Distance‟ dan „Orde Filter‟ 10. Push Button „Filter‟ untuk melakukan proses filtering 11. Axes „citraILP‟ untuk menapilkan citra hasil ideal low-pass filtering 12. Axes „citraIBP‟ untuk menapilkan citra hasil butterworth low-pass filtering 13. Axes „citraIGP‟ untuk menapilkan citra hasil gaussian low-pass filtering 14. Axes „citraIHP‟ untuk menapilkan citra hasil ideal high-pass filtering 15. Axes „citraBHP‟ untuk menapilkan citra hasil butterworth high-pass filtering 16. Axes „citraGHP‟ untuk menapilkan citra hasil gaussian high-pass filtering 17. Panel „Ideal‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil ideal low-pass filtering 18. Panel „Butterworth‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil butterworth low-pass filtering 19. Panel „Gaussian‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil gaussian low-pass filtering 20. Panel „Ideal‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil ideal high-pass filtering 21. Panel „Butterworth‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil butterworth high-pass filtering 22. Panel „Gaussian‟ untuk menampilkan nilai MSE, PSNR dan Runtime dari citra hasil gaussian high-pass filtering 1 2 3 4 8 11 5 14 12 15 16 7 6 9 17 18 19 13 20 21 22 10 23 24 25 26 27 28 Universitas Sumatera Utara Tabel 3.4 Lanjutan Keterangan Gambar Menu Program Filtering dengan Citra yang memiliki Noise No. Keterangan 23. Push Button „Save‟ untuk menyimpan citra hasil ideal low-pass filtering 24. Push Button „Save‟ untuk menyimpan citra hasil butterworth low-pass filtering 25. Push Button „Save‟ untuk menyimpan citra hasil gaussian low-pass filtering 26. Push Button „Save‟ untuk menyimpan citra hasil ideal high-pass filtering 27. Push Button „Save‟ untuk menyimpan citra hasil butterworth high-pass filtering 28. Push Button „Save‟ untuk menyimpan citra hasil gaussian high-pass filtering

3.3.2.4 Rancangan Menu Help

Rancangan menu Help dapat dilihat pada gambar 3.22. Gambar 3.22 Rancangan Menu Help Tabel 3.6 Keterangan Gambar Menu Help No. Keterangan 1. Static Text untuk menampilkan judul menu. 2. Panel untuk menampikan langkah-langkah penggunaan menu citra yang telah memiliki noise Menu citra dengan noise. 3. Panel untuk menampikan langkah-langkah penggunaan menu citra yang tidak memiliki noise Menu citra tanpa noise. 4. Static Text untuk menampilkan copyright. 1 2 3 4 Universitas Sumatera Utara

3.3.2.5 Rancangan Menu About

Rancangan menu About dapat dilihat pada gambar 3.23. Gambar 3.23 Rancangan Menu About Tabel 3.7 Keterangan Gambar Menu About No. Keterangan 1. Static Text untuk menampilkan judul menu. 2. Axes untuk menampikan foto programmer. 3. Panel untuk menampilkan informasi tentang programmer. 4. Panel untuk menampilkan informasi mengenai sumber dari coding yang digunakan oleh programmer untuk membangun sistem. 5. Static Text untuk menampilkan copyright. 1 2 3 4 5 Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM