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