Implementasi dan Perbandingan Metode Midpoint Filter dan Yp Mean Filter untuk Mereduksi Noise pada Citra Digital
IMPLEMENTASI DAN PERBANDINGAN METODE MIDPOINT
FILTER
DAN Yp MEAN FILTER UNTUK MEREDUKSI NOISE
PADA CITRA DIGITAL
SKRIPSI
FANNY FAIRINA N
101401088
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(2)
IMPLEMENTASI DAN PERBANDINGAN METODE MIDPOINT
FILTER
DAN Yp MEAN FILTER UNTUK MEREDUKSI NOISE
PADA CITRA DIGITAL
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
FANNY FAIRINA N
101401088
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(3)
PERSETUJUAN
Judul : IMPLEMENTASI DAN PERBANDINGAN
METODE MIDPOINT FILTER DAN Yp MEAN FILTER UNTUK MEREDUKSI NOISE PADA CITRA DIGITAL
Kategori : SKRIPSI
Nama : FANNY FAIRINA N
Nomor Induk Mahasiswa : 101401088
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di Medan, Juli 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc.,M.Sc Dr. Poltak Sihombing, M.Kom
NIP 197401272002122001 NIP 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP 196203171991031001
(4)
PERNYATAAN
IMPLEMENTASI DAN PERBANDINGAN METODE MIDPOINT FILTER DAN Yp MEAN FILTER UNTUK MEREDUKSI NOISE PADA CITRA DIGITAL
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juli 2014
Fanny Fairina N 101401088
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT atas nikmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada :
1. Bapak Prof.Dr.dr.Syahril Pasaribu, DTM&H, MSc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara
2. Bapak Prof.Dr.Muhammad Zarlis, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara
3. Bapak Dr.Poltak Sihombing, M.Kom, selaku ketua Program studi S1 Ilmu Komputer Universitas Sumatera Utara dan dosen pembimbing I yang telah memberikan masukan dalam menyelesaikan skripsi ini
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Program studi S1 Ilmu Komputer Universitas Sumatera Utara dan dosen pembimbing II yang telah memberikan masukan dalam menyelesaikan skripsi ini
5. Bapak Drs. Marihat Situmorang, M.Kom, selaku dosen penguji I yang telah memberikan kritik, saran dan dukungan kepada penulis dalam menyelesaikan skripsi ini
6. Bapak Jos Timanta Tarigan, M.Sc, selaku dosen penguji II yang memberikan kritik, saran dan dukungan kepada penulis dalam menyelesaikan skripsi ini
7. Seluruh dosen dan pegawai Program studi S1 Ilmu Komputer Fasilkom-TI USU
8. Ayah saya Iklanuddin, SE, Ibu saya Yetty B. Pardede S.Pd, Abang saya Fajar Ferdian Nugraha, S.Kom dan Adik saya Febby Faudina Nestia yang selalu memberikan dukungan dan bantuan kepada penulis dalam menyelesaikan skripsi ini
9. Teman-teman kuliah saya khususnya C8, Liza, Nisa, Uswah, Wita, kak Din, Aul, kak Nana, bang Ane, Berr dan tim di IKLC yang memberi inspirasi dan semangat kepada penulis.
(6)
10.Dan yang terkhusus Sobirin, yang selalu memberi dukungan dan motivasi kepada penulis dalam menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna untuk itu penulias menerima kritik dan saran yang membangun agar dapat menyempurnakan skripsi ini. Dan semoga Allah memberikan nikmat dan karunia kepada seluruh pihak yang membantu penulis dalam menyelesaikan skripsi ini
Medan, Juli 2014
(7)
ABSTRAK
Noise pada citra digital dapat berupa Specklenoise, Uniformnoise dan noise yang memang sudah ada dari proses akuisisi citra. Salah satu cara mereduksi noise tersebut adalah dengan menggunakan teknik filtering. Adapun metode filtering yang digunakan penulis untuk mereduksi noise adalah metode Midpointfilter dan Yp Meanfilter. Midpointfilter merupakan metode filter yang menekankan pada nilai rata-rata intensitas piksel terbesar dan terkecil kernel sedangkan Yp Meanfilter, metode filter yang menekankan pada rata-rata seluruh intensitas piksel. Kedua metode tersebut bekerja pada domain spasial nonlinier. Citra digital yang diinputkan berformat .bmp dan citra hasil reduksi metode Midpointfilter dan Yp Meanfilter dapat disimpan dengan format .bmp. Implementasi sistem menggunakan bahasa pemrograman MatLab 2012. Hasil yang diperoleh dari proses reduksi noise adalah metode Yp Meanfilter merupakan metode yang paling baik dalam mereduksi Speckle dan Uniformnoise, hal itu dibuktikan dengan nilai MSE yang lebih kecil, nilai PSNR yang lebih besar dan nilai runtime proses yang lebih singkat dibanding metode Midpointfilter. Sedangkan pada citra yang sudah memiliki noise yang berasal dari proses akuisisi citra kedua metode ini dapat mengurangi tampilan noise, namun citra terlihat agak kabur.
Kata kunci : Citra, Midpoint filter, Yp Mean filter, Speckle noise, Uniform noise, MSE, PSNR
(8)
IMPLEMENTATION AND COMPARISON OF MIDPOINT FILTER AND Yp MEAN FILTER TO REDUCE NOISE ON DIGITAL IMAGE
ABSTRACT
Noiseon digital image can be a Speckle noise, Uniform noise and the noise that appears on digital image from the image acquisition. One of the way to reduce the noise is use filtering method. The method that used to reduce noise were Midpoint filter and Yp Mean filter. The Midpoint is the method which use mean of the biggest and the smallest pixel of the kernel but Yp Mean filter use the mean of the square of all pixel on the kernel. Both of the filter are processed in the nonlinier spatial domain. The image’s format that input to this system is .bmp and the reduction image that saved as .bmp. System is implemented by using MatLab 2012. The result from the noise reduction is Yp Mean filter is better than Midpoint filter to reduce noise, that shown the result of the MSE is lower, the PSNR is higher and the runtime process is faster than the Midoint filter. But for noisy image that get from the acquisition process, both of the method can reduce the noise, but the image became blurred.
Keyword : Digital image, Midpoint filter, Yp Mean filter, Speckle noise, Uniform noise, MSE, PSNR
(9)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar isi viii
Daftar Tabel x
Daftar Gambar xi
Bab I Pendahuluan
1.1Latar Belakang 1
1.2Perumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 2
1.5Manfaat Penelitian 2
1.6Metodologi Penelitian 3
1.7Sistematika penulisan 3
Bab II Landasan Teori 2.1Citra digital
2.1.1 Pengertian citra digital 5
2.1.2 Jenis citra 5
2.1.2.1Citra biner 6
2.1.2.2Citra grayscale 6
2.1.2.3Citra Warna 7
2.1.3 Format file citra 7
2.1.3.1Bitmap 7
2.2Pengolahan citra digital 8
2.2.1 Restorasi citra 8
2.2.2 Filter Spasial 8
2.2.3 Midpoint filter 9
2.2.4 Yp Mean filter 10
2.2.5 Noise 11
2.2.5.1Uniform noise 11
2.2.5.2Speckle noise 12
2.3Penilaian kinerja restorasi citra 13
2.3.1 MSE 13
2.3.2 PSNR 13
Bab III Analisis dan Perancangan sistem
3.1Analisis sistem 14
(10)
3.1.2 Analisis kebutuhan 15
3.1.2.1Kebutuhan fungsional 15
3.1.2.2Kebutuhan nonfungsional 16
3.1.3 Analisis Proses 16
3.1.3.1Use Case diagram 17
3.1.3.2Activity diagram 18
3.1.3.3Sequence diagram 21
3.1.3.4Pseudocode program 23
3.1.3.4.1 Pseudocode Midpoint filter 23
3.1.3.4.2 Pseudocode Yp Mean filter 24
3.1.3.4.3 Pseudocode Speckle noise 24
3.1.3.4.4 Pseudocode Uniform noise 25
3.1.3.4.5 Pseudocode MSE 25
3.1.3.4.6 Pseudocode PSNR 26
3.2Perancangan sistem 26
3.2.1 Perancangan Flowchart 26
3.2.2 Perancangan Interface 28
3.2.2.1Rancangan interface form utama 28 3.2.2.2Rancangan interface form proses filter dengan citra yang
dibangkitkan noise 29
3.2.2.3Rancangan interface form proses filter dengan citra yang sudah
memiliki noise 30
3.2.2.4Rancangan interface form About 31
3.2.2.5Rancangan interface form Help 32
Bab IV Implementasi dan Pengujian
4.1Implementasi 33
4.1.1 Form Utama 33
4.1.2 Form Proses filter dengan citra yang dibangkitkan noise 34 4.1.3 Form proses filter dengan citra yang sudah memiliki noise 34
4.1.4 Form Help 35
4.1.5 Form About 36
4.2Pengujian 36
4.2.1 Proses filter dengan citra yang dibangkitkan noise 36 4.2.2 Proses filter dengan citra yang sudah memiliki noise 37 4.2.3 Hasil pengujian metode Midpoint filter dan Yp Mean filter dalam
mereduksi noise 38
Bab V Kesimpulan dan Saran
5.1Kesimpulan 55
5.2Saran 56
(11)
DAFTAR GAMBAR
Nomor gambar
Keterangan Halaman
2.1 Citra Biner 6
2.2 Citra Grayscale 6
2.3 Citra warna 7
2.4 Ilustrasi Midpoint filter 9
2.5 Ilustrasi Yp Mean filter 10
2.6 a Citra asli 12
2.6 b Citra dengan Uniform noise 12
2.7 a Citra asli 12
2.7 b Citra dengan Uniform noise 12
3.1 Diagram Ishikawa 15
3.2 Use case diagram sistem 18
3.3 Activity diagram proses filter dengan citra yang dibangkitkan noise
19 3.4 Activity diagram proses filter dengan citra yang sudah
memiliki noise
20 3.5 Sequence diagram proses filter dengan citra yang
dibangkitkan noise
21 3.6 Sequence diagram proses filter dengan citra yang
dibangkitkan noise
22
3.7 Pseudocode Midpoint filter 23
3.8 Pseudocode Yp Mean filter 24
3.9 Pseudocode Speckle noise 25
3.10 Pseudocode Uniform noise 25
3.11 Pseudocode MSE 26
3.12 Pseudocode PSNR 26
3.13 Flowchart sistem 27
3.14 Perancangan interface form utama 28
3.15 Perancangan interface form proses filter dengan citra yang dibangkitkan noise
29 3.16 Perancangan interface form proses filter dengan citra
yang sudah memiliki noise
30
3.17 Perancangan interface form About 31
3.18 Perancangan interface form Help 32
4.1 Form Utama 33
4.2 Form proses filter dengan citra yang dibangkitkan noise 34 4.3 Form proses filter dengan citra yang sudah memiliki
noise
35
4.4 Form Help 35
(12)
4.6 Proses pengujian filter untuk citra yang dibangkitkan noise
37 4.7 Proses pengujian filter untuk citra yang sudah memiliki
noise
(13)
DAFTAR TABEL
Nomor tabel Keterangan Halaman
3.1 Keterangan gambar form utama 28
3.2 Keterangan form proses filter dengan citra yang dibangkitkan noise 29 3.3 Keterangan form proses filter dengan citra yang sudah memiliki noise 31
3.4 Keterangan gambar form about 32
3.5 Keterangan gambar form Help 32
4.1 Hasil pengujian metode midpoint filter dan Yp Mean filter dalam mereduksi citra yang dibangkitkan speckle noise
39 4.2 Hasil pengujian metode midpoint filter dan Yp Mean filter dalam
mereduksi citra yang dibangkitkan Uniform noise
43 4.3 Hasil pengujian metode midpoint filter dan Yp Mean filter dalam
mereduksi citra yang sudah memiliki noise
49 4.4 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan
Yp Mean filter dalam mereduksi Speckle noise pada citra Dog.bmp dengan ukuran dimensi 225 x 225
51
4.5 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan Yp Mean filter dalam mereduksi Speckle noise pada citra Eagle.bmp dengan ukuran dimensi 500 x 500
51
4.6 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan Yp Mean filter dalam mereduksi Speckle noise pada citra Fuji.bmp dengan ukuran dimensi 1024 x 768
52
4.7 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan Yp Mean filter dalam mereduksi Uniform noise pada citra Dog.bmp dengan ukuran dimensi 225 x 225
52
4.8 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan Yp Mean filter dalam mereduksi Uniform noise pada citra Eagle.bmp dengan ukuran dimensi 500 x 500
53
4.9 Perbandingan MSE, PSNR dan runtime proses metode Midpoint dan Yp Mean filter dalam mereduksi Uniform noise pada citra Fuji.bmp dengan ukuran dimensi 1024 x 768
(14)
ABSTRAK
Noise pada citra digital dapat berupa Specklenoise, Uniformnoise dan noise yang memang sudah ada dari proses akuisisi citra. Salah satu cara mereduksi noise tersebut adalah dengan menggunakan teknik filtering. Adapun metode filtering yang digunakan penulis untuk mereduksi noise adalah metode Midpointfilter dan Yp Meanfilter. Midpointfilter merupakan metode filter yang menekankan pada nilai rata-rata intensitas piksel terbesar dan terkecil kernel sedangkan Yp Meanfilter, metode filter yang menekankan pada rata-rata seluruh intensitas piksel. Kedua metode tersebut bekerja pada domain spasial nonlinier. Citra digital yang diinputkan berformat .bmp dan citra hasil reduksi metode Midpointfilter dan Yp Meanfilter dapat disimpan dengan format .bmp. Implementasi sistem menggunakan bahasa pemrograman MatLab 2012. Hasil yang diperoleh dari proses reduksi noise adalah metode Yp Meanfilter merupakan metode yang paling baik dalam mereduksi Speckle dan Uniformnoise, hal itu dibuktikan dengan nilai MSE yang lebih kecil, nilai PSNR yang lebih besar dan nilai runtime proses yang lebih singkat dibanding metode Midpointfilter. Sedangkan pada citra yang sudah memiliki noise yang berasal dari proses akuisisi citra kedua metode ini dapat mengurangi tampilan noise, namun citra terlihat agak kabur.
Kata kunci : Citra, Midpoint filter, Yp Mean filter, Speckle noise, Uniform noise, MSE, PSNR
(15)
IMPLEMENTATION AND COMPARISON OF MIDPOINT FILTER AND Yp MEAN FILTER TO REDUCE NOISE ON DIGITAL IMAGE
ABSTRACT
Noiseon digital image can be a Speckle noise, Uniform noise and the noise that appears on digital image from the image acquisition. One of the way to reduce the noise is use filtering method. The method that used to reduce noise were Midpoint filter and Yp Mean filter. The Midpoint is the method which use mean of the biggest and the smallest pixel of the kernel but Yp Mean filter use the mean of the square of all pixel on the kernel. Both of the filter are processed in the nonlinier spatial domain. The image’s format that input to this system is .bmp and the reduction image that saved as .bmp. System is implemented by using MatLab 2012. The result from the noise reduction is Yp Mean filter is better than Midpoint filter to reduce noise, that shown the result of the MSE is lower, the PSNR is higher and the runtime process is faster than the Midoint filter. But for noisy image that get from the acquisition process, both of the method can reduce the noise, but the image became blurred.
Keyword : Digital image, Midpoint filter, Yp Mean filter, Speckle noise, Uniform noise, MSE, PSNR
(16)
BAB 1
PENDAHULUAN
1.1Latar Belakang
Ketika sebuah citra ditangkap oleh kamera, sering kali terdapat beberapa gangguan yang terjadi, salah satunya seperti kamera tidak fokus, muncul bintik-bintik yang disebabkan oleh proses capture yang tidak sempurna, pencahayaan yang tidak merata sehingga mengakibatkan intensitas tidak seragam, kontras citra terlalu rendah sehingga objek sulit untuk dipisahkan dari latar belakangnya, atau gangguan yang disebabkan oleh kotoran-kotoran yang menempel pada citra, dan lain sebagainya. Setiap gangguan pada citra dinamakan noise (derau). Citra yang mengandung noise seperti ini memerlukan langkah-langkah perbaikan [10].
Salah satu langkah perbaikan yang dilakukan adalah dengan melakukan proses filtering, yaitu proses memperbaiki citra yang sudah terkena noise, agar kembali terlihat seperti citra aslinya. Dalam penelitian oleh Sihotang, J.S. proses perbaikan citra yang terkena noise menggunakan teknik filtering dengan metode Midpoint filter untuk mereduksi Gaussian dan Salt & Pepper noise, Hasil penelitian yang diperoleh pada penelitian tersebut adalah metode tersebut kurang baik dalam mereduksi kedua noise diatas [8].
Oleh sebab itu dilakukanlah penelitian menggunakan metode Midpoint filter untuk mereduksi noise selain Gaussian dan Salt &Pepper noise. Kemudian metode Midpoint filter tersebut dibandingkan dengan metode Yp (Yield point) Mean Filteryang dikenal baik dalam mereduksi Gaussian noise[4]. Dari hasil perbandingan kedua metode tersebut akan diperoleh metode mana yang paling baik dalam mereduksi noise pada citra digital.
(17)
1.2 Perumusan Masalah
Rumusan masalah pada Penelitian ini adalah bagaimana mengimplementasikan dua metode yaitu Midpoint filter dan Yp Mean filterkemudian dilakukan perbandingan diantara keduanya sehingga diperoleh metode mana yang paling baik dalam mereduksi noise pada citra digital.
1.3 Batasan Masalah
Batasan masalah pada Penelitian ini adalah:
1. Citra digital yang digunakan sebagai input berformat bitmap (.bmp). 2. Citra digital yang diolah adalah citra warna.
3. Citra digital yang digunakan sebagai input adalah citra yang sudah terkena noisedan citra yang ditambahkan noise.
4. Noise yang akan ditambahkan pada citra adalah Uniform dan Specklenoise. 5. Jenis filter yang digunakan adalah Midpoint filter dan Yp Mean filter.
6. Aplikasi berbasis desktop dan bahasa pemrograman yang digunakan adalah MATLAB 2012.
7. Parameter pembanding kualitas citra adalah Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR) dan runtime proses.
1.4Tujuan Penelitian
Penelitian ini bertujuan untuk mengetahui hasil perbandingan dari implementasi metode Midpoint filter dan Yp Mean filter untuk mereduksi noise pada citra digital.
1.5Manfaat Penelitian
Penelitian ini diharapkan dapat memecahkan permasalahan cara mereduksi noise pada citra digital, sehingga dapat memberi kemudahan kepada para fotografer untuk menjadikan citra yang diperolehnya lebih baik dan bermanfaat.
1.6Metodologi Penelitian
(18)
1. Studi pustaka
Pada tahap ini, akan dilakukan studi kepustakaan dengan mengumpulkan jurnal-jurnal, buku-buku dan skripsi yang berkaitan dengan proses restorasi citra dan metode yang digunakan.
2. Analisis dan Perancangan
Pada tahap ini akan dilaksanakan analisis data yang diperlukan kemudian dilakukan perancangan Flowchart dan user interface.
3. Implementasi
Pada tahap ini akan dilaksanakan proses implementasi rumus dari metode yang dipakai ke dalam bentuk pengkodean (coding).
4. Pengujian
Pada tahap ini akan dilakukan pengujian terhadap sistem berdasarkan hasil analisis data dan perancangan sistem.
5. Dokumentasi
Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.
1.7Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :
Bab I Pendahuluan
Berisi latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
Bab II Landasan Teori
Berisi teori mengenai penolahan citra, proses filtering, metode Midpoint dan Yp Mean filter dan noise yang akan direduksi. Bab III Analisis dan Perancangan
Berisi tentang analisis metode Midpoint filter dan Yp Mean filter dalam mereduksi noise pada citra digital yang terdiri dari Use
(19)
Case diagram, Activity diagram, Pseudocode program, Flowchart dan perancangan tampilan form aplikasi.
Bab IV Implementasi dan Pengujian
Berisi implementasi sistem dan pembuatan program sesuai dengan analisis dan perancangan sistem kemudian dilakukan pengujian terhadap sistem.
Bab V Kesimpulan dan Saran
Berisi kesimpulan yang diperoleh dari hasil penelitian dan saran-saran yang berguna untuk pengembangan penelitian selanjutnya.
(20)
LANDASAN TEORI
2.1Citra Digital
2.1.1 Pengertian Citra Digital
Citra dapat didefinisikan sebagai sebuah fungsi dua dimensi, f(x,y) dimana x dan y merupakan koordinat bidang datar, dan harga fungsi f disetiap pasangan koordinat (x,y) disebut intensitas atau level keabuan (grayscale) dari gambar di titik itu. Jika x,y dan f semuanya berhingga(finite) dan nilainya diskrit, maka gambar itu disebut citra digital. Sebuah citra digital terdiri dari sejumlah elemen yang berhingga, dimana masing-masing mempunyai lokasi dan nilai tertentu. Elemen-elemen ini disebut sebagai picture element, image element, pels atau pixels. Bidang pengolahan citra meliputi pengolahan citra dari suatu komputer digital. Gambar dihasilkan dari seluruh spektrum elektromagnetik mulai dari gamma sampai gelombang radio [2].
2.1.2 Jenis Citra
Nilai suatu piksel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya. Namun secara umum jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer. Berikut adalah jenis-jenis citra berdasarkan nilai pikselnya.
2.1.2.1Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (Black and White) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pikselnya.
(21)
Citra biner seringkali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi, ataupun dithering.
Gambar 2.1Citra biner 2.1.2.2Citra Grayscale
Citra Grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pikselnya, dengan kata lain bagian Red = Green = Blue. Nilai tersebut digunakan untuk menunjukan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra Grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan) [6].
Gambar 2.2Citra grayscale 2.1.2.3Citra Warna
Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28.28.28 =
(22)
mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam.
Penyimpanan citra true color di dalam memori berbeda dengan citra Grayscale. Setiap piksel dari citra Grayscale 256 gradasi warna diwakili oleh 1 byte. Sedangkan setiap piksel citra true color diwakili oleh 3 byte, dimana masing-masing byte merepresentasikan warna merah (Red), hijau (Green) dan biru (Blue) [10].
Gambar2.3Citra warna 2.1.3 Format file citra
Format file citra standart yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini digunakan dalam menyimpan citra dalam sebuah file. Setiap Format-format memiliki karakteristik masing-masing. Berikut adalah salah satu format umum yang digunakan saat ini.
2.1.3.1Bitmap (.bmp)
Format bitmap adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang tiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai piksel.
2.2Pengolahan Citra Digital
Pengolahan Citra Digital adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas citra (peningkatan kontras, transformasi warna, restorasi citra), transformasi gambar (rotasi, translasi, skala, transformasi geometrik), melakukan pemilihan citra ciri yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau deskripsi objek atau pengenalan objek yang terkandung pada
(23)
citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data. Input dari pengolahan citra adalah citra, sedangkan outputnya adalah citra hasil pengolahan [10].
2.2.1 Restorasi Citra
Restorasi citra bertujuan untuk merekonstruksi atau memperbaiki citra yang terdegradasi dengan suatu priori knowledge dan fenomena degradasi tersebut. Dimana citra hasil diharapkan dapat menyerupai citra aslinya. Teknik restorasi berorientasi pada pemodelan degradasi dan mengaplikasikan proses kebalikannya untuk memperbaiki citra aslinya. Degradasi citra terjadi pada saat akuisisi citra digital baik dari sensor ataudigitizer. Bentuk dari degradasi ini dapat berupa citra dengan noise, citra kabur atau kombinasi keduanya.Citra yang terdegradasi dalam domain spasial dapat dinyatakan dengan fungsi berikut [3].:
…...………....(2.1)
Keterangan :
h(x,y) : Representasi spasial dari fungsi degradasi f(x,y) : Citra asli
η(x,y) : Noise
*. : Simbol proses konvolusi spasial x dany : koordinat piksel
2.2.2 Filter Spasial
Filter pada pengolahan citra biasa disebut dengan pentapisan spasial (spasial filtering). Pada proses filtering, nilai piksel baru umumnya dihitung berdasarkan piksel tetangga. Cara perhitungan nilai piksel baru tersebut dapat dikelompokan menjadi 2, yaitu linier dan nonlinier, linier filter memperoleh piksel baru melalui kombinasi linier piksel tetangga, sedangkan nonlinier filterpiksel baru diperoleh langsung dari salah satu nilai piksel tetangga [5].
) , ( ) , ( ) , ( ) ,
(x y f x y h x y x y
(24)
2.2.3 Midpoint filter
Midpoint filter adalah filter yang mencari rata-rata nilai gray level maksimum dan minimum dalam suatu citra yang ditentukan oleh suatu kernel.Midpoint filter dapat didefinisikan sebagai berikut [5] :
�̂(�,�) =���(�,�)∈�����(�,�)�+���(�,�)∈�����(�,�)�
2
…….………...……….(2.2)
Keterangan :
���(�,�) : Intensitas maksimum piksel tetangga
���(�,�) : Intensitas minimum piksel tetangga S : citra
y dan x: koordinat piksel citra g : kernel
p dan q: Koordinat citra Ilustrasi Midpoint filter :
Gambar 2.4. Ilustrasi Midpoint filter
Gambar 2.4 merupakan proses dari Midpoint filter dimana kernel 3x3 sebelah kiri menunjukan kernel awal yang mewakili citra yang terkena noise dan kernel disebelah kanan menunjukan kernel hasil yang mewakili citra setelah mengalami proses filter. Dari kernel awal dilakukan proses Midpoint filter yaitu dengan cara melakukan operasi pada piksel piksel tetangga, seperti rumus yang di tuliskan diatas piksel baru diperoleh dari penjumlahan intensitas maksimum (7) dan minimum (1) piksel-piksel tetangga kemudian dibagi dua. sehingga diperoleh nilai 4 sebagai intensitas piksel yang baru pada kernel hasil.
(25)
2.2.4 Yp mean filter
Yp Mean filter adalah termasuk bagian dari nonlinier filter yang baik dalam mereduksi noise dan menajamkan garis tepi citra dibandingkan aritmatik mean filter [7]. Dimana Yp mean filter termasuk dalam kelompok mean filter, hal tersebut terlihat dari formula yang digunakan oleh filter ini yaitu mencari nilai rata-rata dari intensitas tetangga kernel yang melingkupinya. [11]. Yp mean filter dapat didefinisikan sebagai berikut [6]:
�̂(�,�) =
�∑(�,�)∈��� �(�,�)�
��
�
………...…….………..……….(2.3)
Keterangan :
Q : Orde filter S : citra
y dan x : koordinat piksel citra m dan n: Ukuran Jendela g : kernel
p dan q : Koordinat citra
Gambar 2.5. Ilustrasi Yp mean filter
Gambar 2.5 merupakan proses dari Yp mean filter dimana kernel 3x3 sebelah kiri menunjukan kernel awal yang mewakili citra yang terkena noise dan kernel disebelah kanan menunjukan kernel hasil yang mewakili citra setelah difilter. Dari kernel awal dilakukan proses Yp mean filter yaitu dengan cara melakukan operasi rumus Yp mean filter seperti gambar diatas terhadap seluruh intensitas piksel-piksel
(26)
tetangga, dengan menggunakan orde filter 2 sehingga diperoleh nilai 5 sebagai intesitas piksel baru pada kernel hasil.
2.2.5 Noise
Noise sesungguhnya adalah komponen dalam citra yang tidak dikehendaki. Dalam praktik, kehadiran noise tidak dapat dihindari. noise merupakan informasitidakdiinginkanyang mencemaricitra bentuknyabiasanya berupa titik-titikataupiksel-piksel berintensitas beda yang mengganggu citra. Noise biasanyaterjadipadasaatakuisisicitra, yaitu proses capture pada kamera dan proses scan pada scanner.
Noise dapat digambarkan dengan suatu sifat-sifat statistik dari nilai grayscale dalam komponen model noise, yang dinyatakan dalam variable random dengan suatu Probability Density Function (PDF)[4].
2.2.5.1UniformNoise
UniformNoisemerupakan derau yang biasa digunakan untuk mendegradasi citra pada evaluasi algoritma pengolahan citra. Pembangkit bilangan acak pada uniform noise dapat dihitung melalui rumus [2]:
�=�+ (� − �)∗ ���� ………...………..…...(2.4)
Keterangan :
a : variabel penentu noise dimana nilainya lebih besar dari nol b : variabel penentu noise dimana nilainya lebih besar dari nol rand : bilangan acak
(27)
Gambar 2.6 (a) Citra asli (b) Citra dengan Uniform noise 2.2.5.2SpeckleNoise
Speckle noise adalah derau yang dihasilkan oleh interferensi atas gelombang-gelombang pada saat radiasi monokromatis disebarkan pada permukaan dengan kekasaran sesuai dengan panjanggelombangnya. Speckle noise biasa disebut derau multiplikatif speckledikarenakan ia bersifatmenambahkan derau multiplikatif pada citra asli, dimana persamaannya adalah [7] :
g(i,j) = f(i,j) + n(i,j) f(i,j)……….……..……….…..………..(2.5) Keterangan :
f(i,j) : Citra asli
n(i,j) : Derau acak terdistribusi seragam g(i,j) : Citra dengan noise
i,j : Koordinat piksel
(a) (b)
Gambar 2.7 (a) Citra asli (b) Citra dengan Speckle noise
2.3 Penilaian Kinerja Restorasi Citra
Mean Square Error (MSE) dan Peak signal to Noise Ratio (PSNR) adalah dua parameter yang sering digunakan untuk menentukan baik tidaknya kinerja restorasi citra.
(28)
���= 1
��∑ ∑ (��(�,�)− ��(�,�))
2
� �=1
�
�=1 ………...……..………(2.6)
Keterangan :
M dan N : Ukuran panjang dan lebar citra
fa(i,j) : Intensitas citra dititik (i,j) sebelum terkena Noise fb (i,j) : Intensitas citra di titik (i,j) setelah Noise dihilangkan Semakin kecil nilai MSE, kinerja restorasi citra semakin baik [5].
2.3.2 PSNR
PSNR merupakan nilai perbandingan antara harga maksimum warna pada citra hasil filtering dengan kuantisasi gangguan (noise) yang dinyatakan dalam satuan decibel(dB), noise yang dimaksud adalah akar rata-rata kuadrat nilai kesalahan (√���).Secara matematis, nilai PSNR dapat dirumuskan sebagai berikut :
PSNR = 20log10 ( 255
√��� ) ……….….………(2.7)
Keterangan :
PSNR : nilai Peak Signal to Noise Ratio MSE : nilai Mean Square Error
255 : nilai Grayscale
Semakin besar nilai PSNR, kinerja restorasi citra semakin baik [8].
(29)
ANALISIS DAN PERANCANGAN SISTEM
3.1Analisis Sistem
Analisis sistem merupakan tahap awal yang dilakukan sebelum membangun sebuah sistem. Analisis sistem meliputi analisis masalah, analisis kebutuhan dan analisis proses.
3.1.1 Analisis Masalah
Analisis masalah merupakan proses menganalisis apa saja masalah yang terjadi sehingga diperlukan suatu penelitian untuk menyelesaikan masalah tersebut. Analisis masalah dapat digambarkan dengan menggunakan diagram Ishikawa atau sering disebut Fishbone diagram, dimana Bone pada diagram menunjukan akar-akar permasalahan dan kepala ikan menunjukan masalah umum yang terjadi.
Diagram Ishikawa yang ditunjukan pada Gambar 3.1 terbagi atas dua bagian yaitu bagian akar permasalahan dan Masalah umum. Bagian permasalahan melingkupi empat aspek yaitu Man, Method, Machine danMaterial. Man adalah aspek permasalahan yang disebabkan oleh sumber daya manusia, Method adalah aspek permasalahan yang berasal dari metode yang pernah digunakan, Machine adalah aspek permasalahan yang berasal dari penggunaan perangkat sedangkan Material merupakan aspek permasalahan yang bersumber dari bahan-bahan yang digunakan dalam mengelolah sistem. Sedangkan bagian kepala merupakan masalah yang terjadi dari keseluruhan akar-akar permasalahan Diagram Ishikawa pada sistem ini dapat dilihat pada gambar 3.1.
(30)
Terdapat noise pada citra digital
Man Method
Machine
Material
Capturing objek yang tidak sempurna
Kamera yang tidak fokus
Proses pembangkitan noise Pada citra digital
Citra yang sudah usang Interferensi listrik
Pada saat akuisis Human Error pada saat Pengambilan citra
Gambar 3.1 Diagram Ishikawa Analisis Masalah
3.1.2 Analisis Kebutuhan
Analisis kebutuhan adalah proses analisis hal-hal yang harus dipenuhisuatu sistem. Analisiskebutuhan dibagi atas kebutuhan fungsional dan nonfungsional.
3.1.2.1Kebutuhan Fungsional
Kebutuhan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem. Pada penelitian ini kebutuhan fungsional sistem adalah:
1. Citra digital yang dapat diolah adalah citra digital berformat .bmp tidak memiliki noise atau yang sudah memiliki noise.
2. Jenis noise yang akan dibangkitkan pada citraadalah Speckle dan Uniformnoise. 3. Sistem menggunakan kernel 3 x 3.
4. Sistem menggunakan Mean Squared Error (MSE), Peak Signal to NoiseRatio (PSNR) dan Runtime proses sebagai parameter pembanding kinerja metode filter. 5. Citra hasil proses filter dapat disimpan dengan format file asalnya yaitu .bmp.
(31)
3.1.2.2Kebutuhan Nonfungsional
Kebutuhan nonfungsional adalah segala hal yang harus dilakukan sistem. Pada penelitian ini kebutuhan nonfungsional sistem meliputi beberapa aspek, yaitu:
1. Tampilan (Performance)
Sistem menggunakan tampilan yang sederhana dan mudah digunakan (user friendly).
2. Ekonomi (Economic)
Sistem tidak menggunakan perangkat yang mengeluarkan biaya yang besar. 3. Pengontrolan Sistem (Control)
Sistem memberikan umpan balik pada setiap respon yang diberikan pengguna. 4. Efisiensi Sistem (Eficiency)
Sistem mengurangi waktu pengguna dalam menghitung ukuran dimensi citra dan mereduksi noise pada citra digital.
5. 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.
3.1.3 Analisis Proses
Analisis proses bertujuan untuk mengetahui cara kerja suatu sistemsecara detil. Analisis proses pada sistem ini dilakukan dengan proses pemodelan, yaitu proses merancang piranti lunak sebelum melakukan pengkodean(coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunangedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidakdapat memahami keseluruhan sistem tanpa dimodelkan. Semakin kompleks sebuah sistem, semakinpenting pula penggunaan teknik pemodelan.
Teknik pemodelan sistem pada penelitian ini dilakukan dengan menggunakan Undifined Modelling Language(UML), yaitu sebuah bahasa yang telah menjadi standar dalamindustri untuk menggambar, merancang dan mendokumentasikan sistem piranti lunak. UMLmenawarkan sebuah standar untuk merancang model sebuah
(32)
sistem.Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak,dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, sertaditulis dalam bahasa pemrograman apapun.
3.1.3.1Use Case diagram
Use Case diagram merupakan diagram yangmenggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah Use Casemerepresentasikan sebuah interaksi antara aktor dengan sistem. Aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistemuntuk melakukan pekerjaan-pekerjaan tertentu.Use Case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem,mengkomunikasikan rancangan dengan klien dan merancang test case untuk semua feature yangada pada sistem.Use case diagram sistem ditunjukan pada gambar 3.2.
Sistem Implementasi dan Perbandingan Metode Midpoint Filter dan Yp Mean Filter Dalam mereduksi noise
pada citra digital
Pengguna
Memilih jenis filter untuk citra yang diinginkan
Proses Filter dengan citra yang dibangkitkan
noise
Proses Filter dengan citra yang sudah memiliki
nosie «uses» «uses» Speckle noise Uniform noise Midpoint Filter
Yp Mean Filter
Yp Mean filter
Midpoint filter «extends» «extends» «extends» «extends» «extends» «extends» * *
hitung MSE, PSNR dan Runtime «extends»
«extends»
Hitung runtime proses
Gambar 3.2 Use Case diagram sistem
Use Case diagrampada gambar 3.2 menampilkan interaksi antara pengguna dan sistem. Interaksi yang dilakukan oleh pengguna adalah memilih jenis proses filter, dimana proses filter terbagi atas dua yaitu proses filter dengan citra yang dibangkitkan noise dan proses filter dengan citra yang sudah memiliki noise. Pada proses filter dengan citra yang dibangkitkan noise akan dilakukan beberapa hal yaitu
(33)
membangkitkan Speckle dan Uniformnoise, melakukan proses filter untuk citra yang sudah ditambah salah satu dari kedua noise tersebut dan menampilkan perhitungan MSE, PSNR dan Runtime Proses. Sedangkan pada proses filter dengan citra yang sudah memiliki noise citra akan langsung di filter dengan kedua metode tersebut, lalu akan tampil citra hasil dan runtime prosesnya.
3.1.3.2Activity diagram
Activity diagram merupakan diagram yang menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang,bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, namun lebih menggambarkan proses-proses dan alur-alur aktivitasdari level atas secara umum.Aktivitas menggambarkan prosesyang berjalan, sementara Use Case menggambarkan bagaimana aktor menggunakan sistem untukmelakukan aktivitas. Pada gambar 3.2 Use Case diagram menunjukan interaksi yang dapat dilakukan pengguna terhadap sistem sedangkan masing-masing alur aktifitas dari interaksi tersebut ditunjukan oleh Activity diagram pada gambar 3.3 dan 3.4. Activity diagram proses filter dengan citra yang dibangkitkan noiseditunjukan oleh gambar 3.3.
(34)
Menginput Citra tanpa noise Menampilkan Citra tanpa noise
Mengisi probabilitas noise
Memilih jenis noise yang dibangkitkan Menampilkan Citra terkena noise
Melakukan proses Midpoint dan Yp Mean Filter
Menampilkan nilai MSE, PSNR dan Runtime Menekan tombol Save
Menyimpan Citra hasil Filter
Pengguna Sistem
Menekan tombol Filter
Gambar 3.3Activity diagram Proses filter dengan citra yang dibangkitkan noise
Activity diagram pada gambar 3.3menampilkan alir aktifitas yang dibagi atas dua bagian yaitu bagian pengguna dan sistem. Pada diagram diatas ditampilkan hal apa saja yang dilakukan pengguna terhadap sistem dan bagaimana sistem merespon hal tersebut. Alir aktifitas bermula dari pengguna menginput citra tanpa noisekemudian membangkitkan noise dengan memilih probabilitas noise dan jenis noise-nya lalu sistem pengguna menekan tombol filter sehingga sistem melakukan proses filter terhadap citra dengan noise dengan metode Midpoint dan Yp Mean filter. Setelah proses filter selesai sistem kemudian menampilkan hasilnya berupa citra hasil dan perhitungan MSE, PSNR dan runtime proses. Lalu jika pengguna ingin menyimpan citra hasil filter maka pengguna tinggal menekan tombol filter. Activity diagram proses filter dengan citra yang sudah memilikinoiseditunjukan oleh gambar 3.4.
(35)
Menginput Citra yang sudah memiliki noise Menampilkan Citra yang sudah memiliki noise
Menekan tombol Filter
Melakukan proses Midpoint Filter dan Yp Mean Filter
Menekan tombol Save
Menyimpan Citra hasil Filter
Menampilkan Citra Hasil Midpoint Filter dan Yp Mean Filter Menampilkan Ukuran dimensi Citra yang sudah memiliki noise
Pengguna Sistem
Menampilkan Runtime proccess filter
Gambar 3.4Activity diagram Proses filter dengan citra yang sudah memiliki noise
Activity diagram pada gambar 3.4menampilkan alir aktifitas yang dibagi atas dua bagian yaitu bagian pengguna dan sistem. Pada diagram diatas ditampilkan hal apa saja yang dilakukan pengguna terhadap sistem dan bagaimana sistem merespon hal tersebut. Pada bagian proses filter ini alir aktifitas bermula dari pengguna menginput citra yang sudah memiliki noise, kemudian sistem menampilkan citra tersebut selanjutnya pengguna menekan tombol filter sehingga sistem melakukan proses filter terhadap citra yang sudah memiliki noise tersebut dengan metode Midpoint dan Yp Mean filter. Setelah proses selesai sistem menampilkan citra hasil dan perhitungan runtime proses. Lalu jika pengguna ingin menyimpan citra hasil filter maka pengguna tinggal menekan tombol filter.
3.1.3.3Sequence diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem. Sequencediagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).Sequence diagram biasa digunakan untuk menggambarkan rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk
(36)
menghasilkan output tertentu. Diawali dariapa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internaldan output apa yang dihasilkan. Pada sistem ini proses dibedakan menjadi dua yaitu Proses filter dengan citra yang dibangkitkan noise dan Proses filter dengan citra yang sudah memilikinoise. Interaksi antar objek pada kedua proses filter akan dijelaskan pada gambar 3.5 dan 3.6.
Pengguna Filter Hitung MSE, PSNR, Runtime
Input Citra tanpa noise() Input Citra
Bangkit noise pada citra () Bangkit Noise
Reduksi noise dengan Filter ()
Hitung MSE, PSNR dan Runtime () Tampilkan citra tanpa noise
Tampilkan Citra dengan noise
Tampilkan citra hasil filter
Tampilkan nilai MSE, PSNR dan Runtime
Gambar 3.5Sequence diagram Proses filter dengan citra yang dibangkitkan noise
Gambar 3.5 menampilkan sequence diagram yang terdiri dari beberapa objek yang saling berinteraksi dimana objek tersebut terdiri atas pengguna, input citra, bangkit noise, filter dan hitung nilai MSE, PSNR dan runtime proses. Seluruh objek saling berinteraksi dan memberikan respon terhadap objek lainnya. Pengguna melakukan input citra tanpa noise pada objek input citra, yang kemudian objek input citra menampilkan citra tersebut pada pengguna. Objek-objek tersebut berinteraksi dan memberikan respon berupa message pada pengguna.
(37)
Pengguna Filter Hitung Runtime
Input Citra tanpa noise() Input Citra
Reduksi citra noise dengan Filter ()
Hitung Runtime () Tampilkan Citra dengan noise
Tampilkan citra hasil filter
Tampilkan nilai MSE, PSNR dan Runtime
Gambar 3.6 Sequence diagram Proses filter dengan citra yang sudah memiliki noise
Gambar 3.6 menampilkan sequence diagram dengan citra yang memiliki noise yang terdiri atas beberapa objek yang saling berinteraksi dimana objek tersebut terdiri atas pengguna, input citra, filter dan hitung runtime proses. Seluruh objek saling berinteraksi dan memberikan respon terhadap objek lainnya. Pengguna menginputkan citra yang sudah memiliki noise pada objek input citra, yang kemudian objek input citra menampilkan citra tersebut pada pengguna. Kemudian citra yang diinput tadi langsung difilter oleh objek filter dan dihitung runtime prosesnya oleh objek runtime proses lalu objek filter menampilkan citra hasil filter dan objek hitung runtime proses menampilkan nilai runtime proses pada pengguna.
3.1.3.4Pseudocode Program
Pseudocode merupakan algoritma yang diterjemahkan dari bahasa pemrograman yang sulit dimengerti manusia menjadi bahasa yang lebih mudah dimengerti manusia. Berikut adalah Pseudocode program dari Midpoint filter, Yp Mean filter, Specklenoise, Uniformnoise, MSE dan PSNR.
(38)
3.1.3.4.1 PseudocodeMidpoint filter
Midpoint filter merupakan metode filter yang mengganti nilai piksel tengah kernel dengan proses Midpoint filter. Proses Midpoint filter adalahpenjumlahan antara intensitas piksel tetangga terbesar dan terkecil kemudian dibagi dua. Hasil dari proses perhitungan tersebut yang akan menjadi nilai piksel baru pada citra hasil. Pseudocode untuk proses Midpoint filter dapat dilihat pada gambar 3.7.
Gambar 3.7PseudocodeMidpoint filter
3.1.3.4.2 PseudocodeYp Mean filter
Pada proses filter menggunakan Yp Mean filter, nilai piksel tengah citra dengan noise akan diganti dengan nilai yang diperoleh dari proses Yp Mean. Dimana prosesnya adalah jumlah kuadrat seluruh intensitas piksel pada kernel di bagi dengan ukuran kernelnya lalu diakarkan dengan orde filter. Pseudocode Yp Mean filterdapat dilihat pada gambar 3.8.
temp <-citraNoise
[m,n,c] <- size(temp) Ukuran <- 3
Orde <- 2
Setengah <- floor(ukuran / 2) citra_Yp <- double(temp); for i <- 1+setengah to m-setengah for j <- 1+setengah to n-setengah for co <- 1 to c
jum <- 0
for p <- -setengah to setengah for q <- -setengah to setengah
maskP(setengah+1-p,setengah+1-q)<- temp(i-p,j-q,co) end
end
midP <- maskP(:)
midP <-(min(midP)+max(midP))/2 Citra_Midpoint(i,j,co) <- midP end
end end
(39)
Gambar 3.8PseudocodeYp Mean filter
3.1.3.4.3 PseudocodeSpecklenoise
Specklenoise diperoleh dengan menambahkan citra asli dengan rumus pembangkit Specklenoise. Dimana proses pembangkitan Specklenoise sangat bergantung pada probabilitas noisedan bilangan acak.Pseudocode Speckle noise dapat dilihat pada gambar 3.9.
Gambar 3.9PseudocodeSpecklenoise
3.1.3.4.4 PseudocodeUniformnoise
Uniformnoise dibangkitkan berdasarkan bilangan acak terdistribusi Uniform dimana untuk membangkitkannya bergantung pada nilai maksimum, nilai minimum dan
temp <-citraNoise
[m,n,c] <- size(temp) Ukuran <- 3
Orde <- 2
Setengah <- floor(ukuran / 2) citra_Yp <- double(temp); for i <- 1+setengah to m-setengah for j <- 1+setengah to n-setengah for co <- 1 to c
jum <- 0
for p <- -setengah to setengah for q <- -setengah to setengah
jum <- jum + temp(i+p, j+q,co)^orde / (ukuran * ukuran)
end end
citra_Yp(i,j,co) <- jum ^ (1/orde) end
end end
Citra <- citraAsli Temp <-citra
probabilitas<- 0.05 temp <- im2double(temp)
(40)
bilangan acak. Prosesnya adalah dengan menambahkan citra asli dengan rumus pembangkit Uniformnoise. PseudocodeUniformnoise dapat dilihat pada gambar 3.10.
Gambar 3.10PseudocodeUniformnoise
3.1.3.4.5 Pseudocode MSE
MSE merupakan parameter pembanding kinerja metode filter dengan membandingkan citra asli dengan citra setelah mengalami proses filtering. Tujuannya untuk mendapatkan selisih nilai antara keduanyanya, sehingga jika selisih nilainya kecil maka metode tersebut sangat baik dalam mereduksi noise.Pseudocode untuk menentukan MSE dapat dilihat pada gambar 3.11.
Gambar 3.11Pseudocode MSE
3.1.3.4.6 Pseudocode PSNR
Proses penentuan PSNR sangat bergantung pada MSE. Dalam perhitungannya PSNR berbanding terbalik dengan MSE, sehingga hasil yang didapat semakin besar nilai PSNR maka semakin baik metode tersebut dalam mereduksi noise. Pseudocode untuk menentukan PSNR dapat dilihat pada gambar 3.12.
Gambar 3.12Pseudocode PSNR
Citra <- citraAsli temp <- citra var_a <- 0.1 var_b <- 0.5
temp <- im2double(temp)
UniformNoise<- temp+ (var_a+(var_b – var_a) *rand(size(temp))) if UniformNoise> 255
UniformNoise<- 255 elseif UniformNoise< 0
UniformNoise<- 0 end
NilaiMSE < sum(( double(CitraAsli)
-double(CitraHasil).^2)/(panjangCitra*lebarCitra))
(41)
3.2Perancangan Sistem
Perancangan sistem merupakan perancangan proses, alur dan gambaran sistem. Ketiga hal tersebut digambarkan dengan perancangan flowchart dan interface.
3.2.1 Perancangan Flowchart
Flowchartmerupakan gambaran atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Flowchart berguna untuk memberikan kemudahan dalam melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Gambaran ini dinyatakan dengan symbol, sehingga setiap simbol menggambarkan proses tertentu. Sedangkan setiap proses dihubungkan dengan garis penghubung. Flowchart sistem dapat dilihat pada gambar 3.13.
Cara kerja flowchart sistem pada penelitian ini berawal dari proses input citra, jika yang diinput adalah citra tanpa noise maka akan diinputkan citra tanpa noise namun jika tidak maka yang diinputkan adalah citra yang sudah memiliki noise. Jika citra yang diinput adalah citra tanpa noise maka akan dilakukan proses pembangkitan noisejika tidak maka proses langsung berlanjut ke proses filter. Jika noise yang akan dibangkitkan adalah Specklenoise maka akan dibagkitkan Specklenoise namun jika tidak maka akan dibangkitkan Uniformnoise. Jika proses pembangkitan selesai maka akan diperoleh citra dengan noise. Kemudian citra tersebut akan difilter dengan kedua metode yaitu Midpoint filter dan Yp Mean filter. Kemudian akan dihitung runtime proses, MSE dan PSNR untuk citra yang dibangkitkan noise. Dari perhitungan parameter tersebut akan didapat metode mana yang paling baik dalam mereduksi noise. Flowchart sistem dapat dilihat pada gambar 3.13.
(42)
Mulai
Citra tanpa noise
Beri Speckle
noise?
Bangkitkan Uniform noise Bangkitkan Speckle noise
Bangkitkan fungsi Midpoint filter dan Yp Mean filter
Citra Hasil Midpoint Filter dan Yp Mean
filter
Hitung MSE & PSNR untuk citra yang dibangkitkan
noise
Selesai
Y Input citra tanpa
noise ?
N
Y
N
Hitung runtime proses Citra dengan noise
Gambar 3.13Flowchart Sistem
3.2.2 Perancangan Interface
Perancangan interface merupakan proses merancang tampilan aplikasi. Perancangan interface terdiri atas rancanganform utama, formproses filter dengan citra yang
(43)
dibangkitkan noise, form proses filter dengan citra yang sudah memiliki noise, form help dan form about.
3.2.2.1Rancangan interface form utama
Form utama adalah form yang pertama muncul pada saat aplikasi dijalankan. Pada Form ini terdapat nama sistem, logo universitas dan nama, nim, program studi, universitas programmer. Rancangan form utama dapat dilihat pada gambar 3.14.
Gambar 3.14 Rancangan interfaceform utama Tabel 3.1 Keterangan gambar form utama
No Keterangan
1 Static Text untuk menampilkan judul penelitian 2 Axis untuk menampilkan gambar logo USU
3 Static Text untuk menampilkan Nama, Nim, Program studi dan Universitas penulis
3.2.2.2Rancangan interfaceformProses filter dengan citra yang dibangkitkannoise
Form ini merupakanform yang menampilkan proses pembangkitan Speckle dan Uniformnoise pada citra kemudian dilakukan proses filter menggunakan metode Midpoint dan Yp Mean filter. Dari kedua metode tersebut akan diperoleh parameter
1
2
(44)
penentu kinerja metode restorasi citra. Rancangan interfaceformproses filter dengan citra yang dibangkitkan noisedapat dilihat pada gambar 3.15.
Gambar 3.15 Rancangan interfaceform Proses filter dengan citra yang dibangkitkan
noise
Tabel 3.2 Keterangan form Proses filter dengan citra yang dibangkitkan noise
No Keterangan
1 Static Text untuk menampilkan judul form proses filter dengan penambahan noise
2 Panel citra asli
3 Axis untuk menampilkan citra asli
4 Push Button Open File untuk membuka file gambar .bmp 5 Static Text untuk menampilkan tulisan ukuran dimensi citra 6 Edit Text untuk menampilkan panjang dimensi citra 7 Edit Text untuk menampilkan lebar dimensi citra 8 Panel Specklenoise
9 Pop-up menu menampilkan probabilitas noise
10 Push Button Speckle untuk membangkitkan Specklenoise pada citra asli 11 Pop-up menu menampilkan probabilitas noise
12 Push Button Uniform untuk membangkitkan Uniformnoise pada citra asli 13 Panel citra dengan noise
14 Axis untuk menampilkan citra dengan noise
15 Panel Midpoint filter
16 Axis untuk menampilkan citra hasil Midpoint filter 1
4 2
3
5
6 7
9 8 11 10 12 13 14 15 16 17
18 19
20 21
22
23 24
25
26
27
28 22
(45)
17 Push Button filter untuk melakukan proses filtering
18 Edit Text untuk menampilkan nilai MSE citra hasil Midpoint filter
19 Edit Text untuk menampilkan nilai PSNR citra hasil Midpoint filter
20 Edit Text untuk menampilkan nilai Runtime citra hasil Midpoint filter
21 Push Button untuk menyimpan citra hasil Midpoint filter
22 Push Button untuk membersihkan seluruh citra
23 Edit Text untuk menampilkan nilai MSE citra hasil Yp Mean filter 24 Edit Text untuk menampilkan nilai PSNR citra hasil Yp Mean filter
25 Edit Text untuk menampilkan nilai Runtime citra hasil Yp Mean filter
26 Panel Yp Mean filter
27 Axis untuk menampilkan citra hasil Yp Mean filter
28 Push Button untuk menyimpan citra hasil Yp Mean filter
3.2.2.3Rancangan interface form Proses filter dengan citra yang sudah memilikinoise
Form ini menampilkan proses filter pada citra yang sudah terdapat noise didalamnya. Rancangan interface`Proses filter dengan citra sudah memilikinoisedapat dilihat pada gambar 3.16.
3.16 Rancangan interface form Proses filter dengan citra yang sudah memiliki noise
Tabel 3.3 Keterangan form proses filter dengan citra yang sudah memiliki noise No Keterangan
1 Static Text untuk menampilkan judul form proses filter dengan citra yang sudah memilikinoise 2
1 4 5
8
7 9
11
3
6 10
12
13
14 15
16
(46)
2 Panel citra Asli
3 Axes untuk menampilkan citra Asli dengan noise berformat .bmp 4 Push Button Open filte untuk membuka file gambar berformat .bmp 5 Push Button Open filte untuk membersihkan citra
6 Edit Text untuk menampilkan panjang dimensi citra 7 Edit Text untuk menampilkan lebar dimensi citra 8 Panel citra Hasil Midpoint filter
9 Axes untuk menampilkan citra hasil Midpoint filter
10 Push Button untuk melakukan proses filter dengan metode Midpoint filter
11 Edit text untuk menampilkan runtime proses Midpoint filter
12 Push Button untuk menyimpan citra hasil Midpoint filter
13 Panel citra Hasil Yp Mean filter
14 Axes untuk menampilkan citra hasil Yp Mean filter
15 Push Button untuk melakukan proses filter dengan metode Yp Mean filter
16 Edit text untuk menampilkan runtime proses Yp Mean filter
17 Push Button untuk menyimpan citra hasil Yp Mean filter
3.2.2.4Rancangan interface form About
Form ini menampilkan foto dan data diri programmer. Rancangan interfaceform About dapat dilihat pada gambar 3.17.
Gambar 3.17 Rancangan interfaceformAbout Tabel 3.4 Keterangan gambar formAbout
1
2 4
5 3
(47)
No Keterangan
1 Static Text untuk menampilkan judul form About 2 Panel untuk mengelompokan data
3 Axes untuk menampilkan foto programmer 4 Panel untuk mengelompokan data
5 Static Text untuk menampilkan Biodata Programmer
3.2.2.5Rancangan interface form Help
Form ini menampilkan petunjuk aplikasi yang dapat menuntun pengguna dalam menggunakan aplikasi ini. Rancangan interfaceformHelpdapat dilihat pada gambar 3.18.
Gambar 3.18 Rancangan interfaceformHelp Tabel 3.5 Keterangan gambar formHelp
BAB 4
No Keterangan
1 Static Text untuk menampilkan judul form Petunjuk penggunaan aplikasi 2 Panel untuk mengelompokan data
3 Static Text untuk menampilkan petunjuk penggunaan aplikasi 4 Panel untuk mengelompokan data
5 Static Text untuk menampilkan petunjuk penggunaan aplikasi
1 2
3
4
(48)
IMPLEMENTASI DAN PENGUJIAN
4.1Implementasi
Setelah dilakukan analisis dan perancangan pada sistem tahap selanjutnya adalah implementasi. Pada tahap ini akan dibuat keseluruhan program dari fungsi-fungsi form yang sudah dirancang. Sistem ini dibangun menggunakan bahasa pemrograman MatLab 2012. Pada sistem ini terdapat lima buah form yaitu form utama, form proses filter dengan citra yang dibangkitkan noise, form proses filter dengan citra yang sudah memiliki noise, form help dan form about.
4.1.1 Form Utama
(49)
Form utama adalah form yang tampil pertama kali pada saat sistem dijalankan. Form ini menampilkan nama sistem, logo universitas, nama, nim, program studi dan universitas penulis.
4.1.2 Form Proses Filter dengan citra yang dibangkitkan noise
Formini merupakan form proses filter yang menampilkan proses pembangkitan noise terhadap citra aslinya dengan parameter yang dimiliki masing-masing noise kemudian citra dengan noise tersebut difilter dengan metode Midpoint filter dan Yp Mean filter. Perhitungan MSE, PSNR dan runtime akan tampil bersama dengan citra hasil filter. Parameter pembanding tersebut yang kemudian akan menjadi acuan pengguna dalam membandingkan metode mana yang paling baik dalam mereduksi noise. Form proses filter dengan citra yang dibangkitkan noise dapat dilihat pada gambar 4.2.
Gambar 4.2 Form Proses Filter dengan citra yang dibangkitkan noise 4.1.3 Form Proses Filter dengan citra yang sudah memiliki noise
Formini merupakan form yang menampilkan proses filter pada citra yang sudah memiliki noise terlebih dahulu. Setelah citra dengan noise berhasil diinputkan kemudian citra tersebut difilter dengan metode Midpoint filter dan Yp Mean filter. Parameter pembandingnya adalah citra hasil dan runtime proses dari kedua metode tersebut.
(50)
Gambar 4.3 Form Proses Filter dengan citra yang sudah memiliki noise
4.1.4 Form Help
Form ini merupakan form petunjuk yang membantu pengguna dalam menggunakan sistem. Pada form ini terdapat teks yang menerangkan hal-hal yang dapat dilakukan pengguna terhadap sistem.Form help dapat dilihat pada gambar 4.4.
Gambar 4.4 Form Help
(51)
Form ini merupakan form yang menampilkan identitas programmer. Identitas yang ditampilkan pada form ini adalah foto dan data diri programmer.Form about dapat dilihat pada gambar 4.5.
Gambar 4.5 Form About 4.2Pengujian
Setelah sistem selesai diimplementasikan, tahap selanjunya adalah tahap pengujian sistem. Pada tahap ini akan diperoleh hasil dari proses yang dilakukan sistem. Citra yang akan diuji pada proses filter adalah citra berformat .bmp. pada proses filter dengan citra yang akan dibangkitkan Speckle noise, probabilitas noise yang akan dibangkitkan adalah 1%, 5%,10% dan 15% sedangkan untuk pembangkitan Uniform noisedigunakan dua variable penentu yaitu varibel a dan bdimana nilai untuk variable a adalah 0.01, 0.1 dan 1 dan untuk b adalah 0.1 dan 0.5.
4.2.1 Proses filter dengan citra yang dibangkitkan noise
Proses filter ini dilakukan dengan pembangkitan noise terlebih dahulu terhadap citra aslinya, kemudian citra dengan noise tersebut difilter dengan metode Midpoint dan Yp Mean filter. Gambar proses filter dengan citra yang dibangkitkan noise dapat dilihat pada gambar 4.6.
(52)
Gambar 4.6 Form Proses Filter dengan citra yang dibangkitkan noise
Gambar 4.6 menunjukan proses filter dengan citra yang dibangkitkan noise yang diawali dari menginput citra asli pada sistem kemudian sistem akan menampilkan citra dan ukuran dimensinya. Lalu pengguna akan menuju ketahap pembangkitan noise dengan mengisi parameter pembangkitnya dan memilih jenis noise yang dibangkitkan. Setelah citra asli diberi noise kemudian citra tersebut akan difilter dengan Midpoint dan Yp Mean filter. Citra hasil metode filter akan tampil bersamaan dengan parameter pembandingnya yaitu MSE, PSNR dan runtime proses. Dimana ketiga parameter tersebut yang akan menjadi acuan pengguna untuk membandingkan metode filter yang digunakan sistem. Citra hasil dari kedua metode filter dapat disimpan dengan menekan tombol Save.
4.2.2 Proses filter dengan citra yang sudah memilikinoise
Proses filter ini dilakukan untuk citra yang dianggap sudah memiliki noise. Setelah citra berhasil diinput citra akan difilter dengan metode Midpoint dan Yp Mean filter. Gambar proses filter dengan citra yang sudah memilikinoise dapat dilihat pada gambar 4.7.
1
2 3
(53)
Gambar 4.7 Form Proses Filter dengan citra yang sudah memiliki noise
Gambar 4.7 menampilkan proses filter terhadap citra yang dianggap sudah memiliki noise. Proses berawal dari menginputkan citra yang sudah memiliki noise kemudian citra tersebut difilter dengan metode Midpoint filter atau Yp Mean filter. Sistem akan menampilkan citra hasil filter bersama dengan runtime prosesnya. Tampilan Citra hasil dan runtime proses yang akan menjadi acuan pengguna dalam membandingkan kinerja kedua metode tersebut dalam mereduksi citra yang sudah memiliki noise. Citra hasil dari kedua metode filter dapat disimpan dengan menekan tombol Save.
4.2.3 Hasil pengujian
Pengujian metode filter dilakukan terhadap 3 gambar berformat bitmap dengan ukuran dimensi yang bervariasi. Berikut adalah gambar asli yang diuji pada penelitian ini:
(a) (b) (c)
1
2 3
(54)
Gambar 4.8 (a) Fuji.bmp ukuran dimensi 1024 x 768 piksel, (b) Eagle.bmp ukuran dimensi 500 x 500 piksel dan (c) Dog.bmp ukuran dimensi 225 x 225 piksel
Tabel 4.1 Hasil pengujian metode Midpoint filter dan Yp Mean filter dalam
mereduksi citra yang dibangkitkan Specklenoise
Citra dengan Specklenoise Citra hasil Midpoint filter Citra hasil Yp Mean filter
Dog.bmp
Ukuran dimensi : 225 x 225 Probabilitas noise : 1%
R MSE : 23937.7
PSNR : 24.3 dB R
MSE : 23931.7 PSNR : 24.5 dB G MSE : 18739. 7
PSNR : 25.4 dB G
MSE : 18739 PSNR : 25.43 dB B MSE : 14636.5
PSNR : 26.5 dB B
MSE : 14636 PSNR : 26.55 dB
Runtime : 5.0076 Detik Runtime : 1.4196 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 Probabilitas noise : 1%
R MSE : 18070
PSNR : 25.56 dB R
MSE : 18068 PSNR : 25.56 dB G MSE : 16457
PSNR : 25.96 dB G
MSE : 16455.5 PSNR : 25.97 dB B MSE : 13840
PSNR : 26.71 dB B
MSE : 13839 PSNR : 26.71 dB
Runtime : 37.59Detik Runtime : 9.85 Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 Probabilitas noise : 1%
R MSE : 8336
PSNR : 28.9 dB R
MSE : 8336 PSNR : 28.92 dB G MSE : 13651
PSNR : 26.77 dB G
MSE : 13650 PSNR : 25.78 dB
(55)
B MSE : 20131
PSNR : 25.1 dB B
MSE : 20129 PSNR : 25.1 dB
Runtime : 160.2Detik Runtime : 34.35Detik
Dog.bmp
Ukuran dimensi : 225 x 225 Probabilitas noise : 5%
R MSE : 23934.6
PSNR : 24.34 dB R
MSE : 23929.6 PSNR : 24.35 dB G MSE : 18740.4
PSNR : 25.4 dB G
MSE : 18736.7 PSNR : 25.42 dB B MSE : 14636.5
PSNR : 26..47 dB B
MSE : 14634.3 PSNR : 26.48 dB
Runtime : 4.9764 Detik Runtime : 1.4196 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 Probabilitas noise : 5%
R MSE : 18073 PSNR : 25.56 dB R MSE : 18068 PSNR : 25.56 dB G MSE : 16460 PSNR : 25.96 dB G MSE : 16455 PSNR : 25.97 dB B MSE : 13844 PSNR : 26.71 dB B MSE : 13840 PSNR : 26.72 dB
Runtime : 38.46Detik Runtime : 9Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 Probabilitas noise : 5%
R MSE : 8336 PSNR : 28.9 dB R MSE : 8336 PSNR : 28.92 dB G MSE : 13651 PSNR : 26.77 dB G MSE : 13650 PSNR : 25.78 dB B MSE : 20131 PSNR : 25.1 dB B MSE : 20129 PSNR : 25.12 dB
(56)
Dog.bmp
Ukuran dimensi : 225 x 225 Probabilitas noise : 10%
R MSE : 23939.1
PSNR : 24.3 dB R
MSE : 23928.7 PSNR : 24.34 dB G MSE : 18741.4
PSNR : 25.4 dB G
MSE : 18734.2 PSNR : 25.4 dB B MSE : 14637.6
PSNR : 26..47 dB B
MSE : 14631.2 PSNR : 26.48 dB
Runtime : 5.0076 Detik Runtime : 1.404 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 Probabilitas noise : 10%
R MSE : 18077
PSNR : 25.55 dB R
MSE : 18068 PSNR : 25.56 dB G MSE : 16463
PSNR : 25.96 dB G
MSE : 16455 PSNR : 25.97 dB B MSE : 13847
PSNR : 26.71 dB B
MSE : 13840 PSNR : 26.72 dB
Runtime : 38Detik Runtime : 9.04Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 Probabilitas noise : 10%
R MSE : 8338
PSNR : 28.92 dB R
MSE : 8335 PSNR : 28.92 dB G MSE : 13653
PSNR : 26.77 dB G
MSE : 13648 PSNR : 26.78 dB B MSE : 20148
PSNR : 25.1 dB B
MSE : 20135 PSNR : 25.1 dB
Runtime : 160.2Detik Runtime : 34.31Detik
Dog.bmp
Ukuran dimensi : 225 x 225 Probabilitas noise : 15%
R MSE : 23944.2
PSNR : 24.33 dB R
MSE : 23927.9 PSNR : 24.34 dB G MSE : 18743.4
PSNR : 25.4 dB G
MSE : 18732.6 PSNR : 25.4 dB B MSE : 14637.6 B MSE : 14630
(57)
PSNR : 26.47 dB PSNR : 26.5 dB
Runtime : 5.038 Detik Runtime : 1.4508 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 Probabilitas noise : 15%
R MSE : 18081
PSNR : 25.55 dB R
MSE : 18068 PSNR : 25.56 dB G MSE : 16466
PSNR : 25.96 dB G
MSE : 16455 PSNR : 25.97 dB B MSE : 13850
PSNR : 26.71 dB B
MSE : 13839 PSNR : 26.72 dB
Runtime : 38Detik Runtime : 8.54Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 Probabilitas noise : 15%
R MSE : 8339
PSNR : 28.91 dB R
MSE : 8334 PSNR : 28.92 dB G MSE : 13655
PSNR : 26.78 dB G
MSE : 13647 PSNR : 26.78 dB B MSE : 20155
PSNR : 25.1 dB B
MSE : 20137 PSNR : 25.1 dB
Runtime : 160.7Detik Runtime : 34.35Detik
Table 4.1 menampilkan hasil pengujian metode Midpoint filter dan Yp Mean filter dalam mereduksi Specklenoise. Dari citra hasil yang ditampilkan kedua metode tersebut baik dalam mereduksi Specklenoise hal itu terlihat dari bintik-bintik Specklenoise terlihat samar pada citra hasil metode filter. Pada kedua metode diatas terlihat bahwa semakin besar probabilitas noise maka semakin besar pula nilai MSE nya namun berbanding terbalik dengan nilai PSNR nya, tetapi nilai runtime proses tidak terpengaruh oleh probabilitas noise. Dari parameter pembanding yang ditampikan Metode Yp Mean filter memiliki nilai MSE lebih kecil, nilai PSNR lebih besar dan runtime proses yang lebih singkat dari pada Midpoint filter. Hal tersebut menunjukan bahwa Metode Yp Mean filter lebih baik dalam mereduksi Specklenoise.
Tabel 4.2 Hasil pengujian metode Midpoint filter dan Yp Mean filter dalam
(58)
Citra dengan Uniformnoise Citra hasil Midpoint filter Citra hasil Yp Mean filter
Dog.bmp
Ukuran dimensi : 225 x 225 a : 0.01 dan b : 0.1
R MSE : 23916.4
PSNR : 24.34 dB R
MSE : 23915.8 PSNR : 24.34 dB G MSE : 18725.5
PSNR : 25.4 dB G
MSE : 18725 PSNR : 25.4 dB B MSE : 14624.3
PSNR : 26.48 dB B
MSE : 14623.8 PSNR : 26.48 dB
Runtime : 4.99203 Detik Runtime : 1.38841 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 0.01 dan b : 0.1
R MSE : 18057
PSNR : 25.56 dB R
MSE : 18056 PSNR : 25.56 dB G MSE : 16445
PSNR : 25.97 dB G
MSE : 16444 PSNR : 25.97 dB B MSE : 13830
PSNR : 26.72 dB B
MSE : 13829 PSNR : 26.72 dB
Runtime : 37.59Detik Runtime : 8.5 Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 a : 0.01 dan b : 0.1
R MSE : 8328
PSNR : 28.92 dB R
MSE : 8328 PSNR : 28.93 dB G MSE : 13641
PSNR : 26.78 dB G
MSE : 13640 PSNR : 26.78 dB B MSE : 20118
PSNR : 25.1 dB B
MSE : 20118 PSNR : 25.1 dB
(59)
Dog.bmp
Ukuran dimensi : 225 x 225 a : 0.01 dan b : 0.5
R MSE : 23916.4
PSNR : 24.34 dB R
MSE : 23915.8 PSNR : 24.34 dB G MSE : 18725.6
PSNR : 25.4 dB G
MSE : 18725 PSNR : 25.4 dB B MSE : 14624.3
PSNR : 26.48 dB B
MSE : 14623.8 PSNR : 26.48 dB
Runtime : 5.0388 Detik Runtime : 1.45081 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 0.01 dan b : 0.5
R MSE : 18057 PSNR : 25.56 dB R MSE : 18056 PSNR : 25.56 dB G MSE : 16445 PSNR : 25.97 dB G MSE : 16443 PSNR : 25.97 dB B MSE : 13830 PSNR : 26.72 dB B MSE : 13829 PSNR : 26.72 dB
Runtime : 37.81Detik Runtime : 8.54Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 a : 0.01 dan b : 0.5
R MSE : 8329 PSNR : 28.92 dB R MSE : 8328 PSNR : 28.93 dB G MSE : 13641 PSNR : 26.78 dB G MSE : 13640 PSNR : 26.78 dB B MSE : 20119 PSNR : 25.1 dB B MSE : 20118 PSNR : 25.1 dB
Runtime : 160Detik Runtime : 34.25Detik
Dog.bmp
Ukuran dimensi : 225 x 225 a : 0.1 dan b : 0.1
R MSE : 23862.2
PSNR : 24.35 dB R
MSE : 23855.6 PSNR : 24.35 dB G MSE : 18669.4
PSNR : 25.4 dB G
MSE : 18664.6 PSNR : 25.4 dB B MSE : 14572
PSNR : 26.5 dB B
MSE : 14568.9 PSNR : 26.5 dB
(60)
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 0.1 dan b : 0.1
R MSE : 18015
PSNR : 25.57 dB R
MSE : 18011 PSNR : 25.57 dB G MSE : 16405
PSNR : 25.98 dB G
MSE : 16402 PSNR : 25.98 dB B MSE : 13795
PSNR : 26.73 dB B
MSE : 13793 PSNR : 26.73 dB
Runtime : 37.75Detik Runtime : 8.58Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 a : 0.1 dan b : 0.1
R MSE : 8295
PSNR : 28.94 dB R
MSE : 8293 PSNR : 28.94 dB G MSE : 13601
PSNR : 25.79 dB G
MSE : 13597 PSNR : 26.8 dB B MSE : 20094
PSNR : 25.1 dB B
MSE : 20091 PSNR : 25.1 dB
Runtime : 159.8Detik Runtime : 34.25Detik
Dog.bmp
Ukuran dimensi : 225 x 225 a : 0.1 dan b : 0.5
R MSE : 23862.2
PSNR : 24.35 dB R
MSE : 23855.6 PSNR : 24.35 dB G MSE : 18669.4
PSNR : 25.4 dB G
MSE : 18664.6 PSNR : 25.4 dB B MSE : 14572.5
PSNR : 26.5 dB B
MSE : 14568.9 PSNR : 26.5 dB
Runtime : 4.96083 Detik Runtime : 1. 40401
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 0.1 dan b : 0.5
R MSE : 18015
PSNR : 25.57 dB R
MSE : 18011 PSNR : 25.58 dB G MSE : 16405
PSNR : 25.98 dB G
MSE : 16402 PSNR : 25.98 dB
(61)
B MSE : 13795
PSNR : 26.73 dB B
MSE : 13793 PSNR : 26.73 dB
Runtime : 37.72 Detik Runtime : 8.52Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 a : 0.1 dan b : 0.5
R MSE : 8295
PSNR : 28.94 dB R
MSE : 8293 PSNR : 28.94 dB G MSE : 13601
PSNR : 25.79 dB G
MSE : 13597 PSNR : 26.8 dB B MSE : 20094
PSNR : 25.1 dB B
MSE : 20091 PSNR : 25.1 dB
Runtime : 160.8Detik Runtime : 34.19Detik
Dog.bmp
Ukuran dimensi : 225 x 225 a : 1 dan b : 0.1
R MSE : 23824.6
PSNR : 24.36 dB R
MSE : 23823.6 PSNR : 24.36 dB G MSE : 18625.6
PSNR : 25.43 dB G
MSE : 18624.2 PSNR :25.4 dB B MSE : 14526.7
PSNR : 26.5 dB B
MSE :14524.6 PSNR : 26.5 dB
Runtime : 4.96083 Detik Runtime : 1.45081
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 1 dan b : 0.1
R MSE : 17980
PSNR : 25.58 dB R
MSE : 17978 PSNR : 25.58 dB G MSE : 16370
PSNR : 25.9 dB G
MSE : 16368 PSNR : 25.9 dB B MSE : 13761
PSNR : 26.74 dB B
MSE : 13759 PSNR : 26.74 dB
Runtime : 37.37Detik Runtime : 8.67Detik
(62)
Ukuran dimensi : 1024 x 768 a : 1 dan b : 0.1
PSNR : 28.96 dB PSNR : 28.96 dB G MSE : 13566
PSNR : 26.8 dB G
MSE : 13564 PSNR : 26.8 dB B MSE : 20077
PSNR : 25.1 dB B
MSE : 20075 PSNR : 25.1 dB
Runtime : 162.2Detik Runtime : 34.25Detik
Dog.bmp
Ukuran dimensi : 225 x 225 a : 1 dan b : 0.5
R MSE : 23824.6
PSNR : 24.36 dB R
MSE : 23823.6 PSNR : 24.36 dB G MSE : 18625.6
PSNR : 25.43 dB G
MSE : 18624.2 PSNR :25.4 dB B MSE : 14526.7
PSNR : 26.5 dB B
MSE :14524.6 PSNR : 26.5 dB
Runtime : 4.99203 Detik Runtime : 1.48201 Detik
Eagle.bmp
Ukuran dimensi : 500 x 500 a : 1 dan b : 0.5
R MSE : 17980
PSNR : 25.58 dB R
MSE : 17978 PSNR : 25.58 dB G MSE : 16370
PSNR : 25.9 dB G
MSE : 16368 PSNR : 25.9 dB B MSE : 13761
PSNR : 26.74 dB B
MSE : 13759 PSNR : 26.74 dB
Runtime : 37.37Detik Runtime : 8.67Detik
Fuji.bmp
Ukuran dimensi : 1024 x 768 a : 1 dan b : 0.5
R MSE : 8258
PSNR : 28.96 dB R
MSE : 8225 PSNR : 28.96 dB G MSE : 13566
PSNR : 26.8 dB G
MSE : 13564 PSNR : 26.8 dB B MSE : 20077
PSNR : 25.1 dB B
MSE : 20075 PSNR : 25.1 dB
(63)
Table 4.2 menampilkan hasil pengujian metode Midpoint filter dan Yp Mean filter dalam mereduksi Uniformnoise. Dari citra hasil yang ditampilkan kedua metode tersebut baik dalam mereduksi Uniformnoise hal itu terlihat dari bintik-bintik Uniformnoise terlihat samar pada citra hasil metode filter. Dari parameter pembanding yang ditampikan Metode Yp Mean filter memiliki nilai MSE lebih kecil, nilai PSNR lebih besar dan runtime proses yang lebih singkat dari pada Midpoint filter dalam mereduksi Uniformnoise. Hal tersebut menunjukan bahwa Metode Yp Mean filter lebih baik dalam mereduksi Specklenoise.
Tabel 4.3 Hasil pengujian metode Midpoint filter dan Yp Mean filter dalam
mereduksi citra yang sudah memiliki noise
Citra dengan noise Citra hasil Midpoint filter Citra hasil Yp Mean filter
Feb.bmp
Ukuran dimensi 300 x 133 piksel Runtime : 4.1028 Detik Runtime : 3.2248 Detik
Febby.bmp
Ukuran dimensi 300 x 133 Runtime : 4.321 Detik Runtime : 3.198 Detik
Biby.bmp
(1)
guidata(hObject,handles); axes(handles.citraAsli); imshow(handles.citra); [m n]=size(handles.citra);
set(handles.panjang,'String',n); set(handles.lebar,'String',m);
msgbox('Citra berhasil diinputkan','Sukses'); else
return; end;
% Tombol Filter Midpoint
function btnFilterMid_Callback(hObject, eventdata, handles) global runtime1;
runtime1 = cputime;
%Progress Bar
itr = 100000; %number of iteration process
h=waitbar(0,'Please wait..'); %initialization progressbar vblock = 100; %update progressbar every vblock
k = 1;
for i=1:itr %loop data
if(k*vblock==i) %update progressbar
waitbar(i/itr); %setting progressbar k = k+1;
end
% PROCESS FUNCTION end
close(h) %close progressbar
citraAsli = getimage(handles.citraAsli); citraAsli = im2double(citraAsli);
pro = 0.00001;
temp= citraAsli +sqrt(12*pro)*citraAsli.*(rand(size(citraAsli))-.5);
[m,n,c] = size(temp); ukuran = 3;
setengah = floor(ukuran / 2); Citra_Midpoint = temp;
for i = 1+setengah : m-setengah for j = 1+setengah: n-setengah
for co = 1:c %co menerangkan color maskP = zeros(3,3);
for k = -setengah : setengah for l = -setengah : setengah
maskP(setengah+1-k,setengah+1-l)= temp(i-k,j-l,co);
end end
midP=maskP(:);
midP=(min(midP)+max(midP))/2; Citra_Midpoint(i,j,co) = midP;
end end end
axes(handles.citraHasilMid); imshow(Citra_Midpoint);
(2)
runtime1 = cputime -runtime1; global runtime1;
set(handles.editmid,'String',runtime1);
% Tombol Filter Yp Mean
function btnFilterYp_Callback(hObject, eventdata, handles)
global runtime; runtime = cputime; % Speckle 0.001%
citraAsli = getimage(handles.citraAsli); citraAsli = im2double(citraAsli);
pro = 0.00001; %probabilitas noise Speckle 0.001%
temp = citraAsli +sqrt(12*pro)*citraAsli.*(rand(size(citraAsli))-.5);%proses pembangkitan noise Speckle
%Prgress Bar
itr = 100000; %number of iteration process
h=waitbar(0,'Please wait..'); %initialization progressbar vblock = 100; %update progressbar every vblock
k = 1;
for i=1:itr %loop data
if(k*vblock==i) %update progressbar
waitbar(i/itr); %setting progressbar k = k+1;
end end
close(h) %close progressbar
[m,n,c] = size(temp); ukuran = 3;
orde = 2;
setengah = floor(ukuran / 2); citra_Yp = double(temp); for i=1+setengah : m-setengah for j=1+setengah: n-setengah
for co = 1:c %co menyatakan color jum = 0;
for p = -setengah : setengah for q = -setengah : setengah
jum = jum + temp(i+p, j+q,co)^orde / (ukuran * ukuran);
end end
citra_Yp(i,j,co) = jum ^ (1/orde); end
end end
axes(handles.citraHasilYp); imshow(citra_Yp);
runtime = cputime -runtime; global runtime;
set(handles.edityp,'String',runtime);
% Tombol Save Citra Midpoint
function btnSaveMid_Callback(hObject, eventdata, handles) [name,path] = uiputfile({'*.bmp'},'Save Image');
(3)
if isequal([name,path],[0,0]) return
else
Hasil = getimage(handles.citraHasilMid); imwrite(Hasil, strcat(path,name));
end
% Tombol Save Citra Yp Mean
function btnSaveYp_Callback(hObject, eventdata, handles) [name,path] = uiputfile({'*.bmp'},'Save Image');
if isequal([name,path],[0,0]) return
else
Hasil = getimage(handles.citraHasilYp); imwrite(Hasil, strcat(path,name)); end
%
-function home_Callback(hObject, eventdata, handles) ProgramFilter;
delete(handles.figure1);
%
-function filter_Callback(hObject, eventdata, handles)
%
-function help_Callback(hObject, eventdata, handles) FormHelp;
delete(handles.figure1);
%
-function about_Callback(hObject, eventdata, handles) FormAbout;
delete(handles.figure1);
%
-function exit_Callback(hObject, eventdata, handles)
selection = questdlg(['Keluar dari Aplikasi ini ?'],['Keluar dari Aplikasi ini ...'],'Ya','Tidak','Ya');
if strcmp(selection,'Tidak') return;
end;
delete(handles.figure1);
%
-function addnoise_Callback(hObject, eventdata, handles) Form_Add_Noise;
delete(handles.figure1);
% Tombol Clear
function btnClear_Callback(hObject, eventdata, handles) cla(handles.citraAsli);
cla(handles.citraHasilMid); cla(handles.citraHasilYp);
set(handles.panjang,'string',''); set(handles.lebar,'string',''); set(handles.editmid,'string','');
(4)
set(handles.edityp,'string','');
4. Form Help
function varargout = FormHelp(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @FormHelp_OpeningFcn, ... 'gui_OutputFcn', @FormHelp_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function FormHelp_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = FormHelp_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
%
-function home_Callback(hObject, eventdata, handles) ProgramFilter;
delete(handles.figure1);
function filter_Callback(hObject, eventdata, handles)
function menuAbout_Callback(hObject, eventdata, handles) FormAbout;
delete(handles.figure1);
function exit_Callback(hObject, eventdata, handles)
selection = questdlg(['Keluar dari Aplikasi ini ?'],['Keluar dari Aplikasi ini ...'],'Ya','Tidak','Ya');
if strcmp(selection,'Tidak') return;
end;
delete(handles.figure1);
function subMenuAdd_Callback(hObject, eventdata, handles) Form_Add_Noise;
delete(handles.figure1);
function subMenuNoNoise_Callback(hObject, eventdata, handles) formNoNoise;
delete(handles.figure1);
(5)
function varargout = FormAbout(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @FormAbout_OpeningFcn, ... 'gui_OutputFcn', @FormAbout_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
function FormAbout_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
% Update handles structure guidata(hObject, handles);
function varargout = FormAbout_OutputFcn(hObject, eventdata, handles) foto = imread('Fanny.jpg');
axes(handles.citraAsli); imshow(foto);
varargout{1} = handles.output;
%
-function home_Callback(hObject, eventdata, handles) ProgramFilter;
delete(handles.figure1);
function filter_Callback(hObject, eventdata, handles)
function subMenuAdd_Callback(hObject, eventdata, handles) Form_Add_Noise;
delete(handles.figure1);
function subMenuNoNoise_Callback(hObject, eventdata, handles) formNoNoise;
delete(handles.figure1);
function help_Callback(hObject, eventdata, handles) FormHelp;
delete(handles.figure1);
function exit_Callback(hObject, eventdata, handles)
selection = questdlg(['Keluar dari Aplikasi ini ?'],['Keluar dari Aplikasi ini ...'],'Ya','Tidak','Ya');
if strcmp(selection,'Tidak') return;
end;
(6)