PADA CITRA DIGITAL
SKRIPSI
NURUL ULFAH PRIMADINI
101401020
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI PERBANDINGAN LOW-PASS FILTERING DAN
HIGH-PASS FILTERING UNTUK MEREDUKSI NOISE
PADA CITRA DIGITAL
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar dan ijazah Sarjana Ilmu Komputer
NURUL ULFAH PRIMADINI
101401020
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI PERBANDINGAN LOW-PASS FILTERING DAN HIGH-PASS FILTERING UNTUK MEREDUKSI NOISE PADA CITRA DIGITAL
Kategori : SKRIPSI
Nama : NURUL ULFAH PRIMADINI Nomor Induk Siswa : 101401020
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di Medan, 9 Juli 2015
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si, M.Kom Dr. Poltak Sihombing, M.Kom
NIP. - NIP 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI PERBANDINGAN LOW-PASS FILTERING DAN HIGH-PASS FILTERING 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, 9 Juli 2015
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Allah SWT atas limpahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan penyusunan 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, D.T.M.&H., M.Sc.(C.T.M.), 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, dosen penguji I, dan pembimbing akademik yang telah memberikan kritik, saran dan dukungan kepada penulis dalam menyelesaikan skripsi ini.
5. Bapak Amer Sharif, S.Si, M.Kom, selaku dosen pembimbing II yang telah memberikan masukan dalam menyelesaikan skripsi ini.
6. Ibu Dian Rachmawati, S.Si, M.Kom, selaku dosen penguji II yang telah memberikan kritik, saran dan dukungan kepada penulis dalam menyelesaikan skripsi ini.
7. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU
9. Sahabat-sahabat yang selalu menyemangati, dan saling mendoakan: Annissa Fadilla, Zulwita Hariyati, Fanny Fairina Nadyaningrum Nasution, Devina Pratiwi Halim, Uswatun Hasanah, Auliza Nanda Nasution, Aulia Akbar Harahap, Bernad Darius Tarigan. Abangda Ahmad Royhan P Siregar, Fauzana Sudirman serta Fauzur Rahmi yang telah memberi inspirasi, peringatan dan semangat kepada penulis.
10.Teman-teman stambuk 2010, adinda Nurhasbiah Nasution dan Dwi Puspita Sari Syahnan, serta rekan-rekan IKLC yang tidak bisa disebutkan satu persatu
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan doa, bantuan, perhatian, serta dukungan kepada penulis dalam penyelesaian skripsi ini. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna dan untuk itu penulis menerima kritik dan saran yang membangun agar dapat menyempurnakan skripsi ini agar dapat lebih bermanfaat untuk kedepannya.
Medan, Juli 2015
ABSTRAK
Noise atau derau merupakan komponen yang tidak dikehendaki pada citra, yang menyebabkan citra terdegradasi dan kualitas citra tersebut menurun. Kehadiran noise sulit untuk dihindari, namun dapat dikurangi dengan proses restorasi. Exponential dan Rayleigh Noise merupakan beberapa contoh noise yang dapat ditemukan pada citra terdegradasi. Restorasi citra merupakan proses untuk mendapatkan kembali sebuah citra yang cacat atau terdegradasi akibat adanya tambahan noise sehingga dapat mendekati keadaan aslinya. Untuk melakukan proses restorasi dapat memanfaatkan metode filtering pada domain frekuensi. Pada penelitian ini, metode Low-pass Filtering dan High-pass Filtering akan digunakan untuk mereduksi noise yang terdapat pada citra. Citra yang telah direduksi kemudian dibandingkan berdasarkan nilai Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR), dan runtime process hasil pemfilteran, sehingga dapat diketahui metode mana yang lebih baik dalam mereduksi noise. Hasil yang diperoleh dari proses reduksi noise pada domain frekuensi adalah, dari ketiga metode Low-pass Filtering yang digunakan, metode Gaussian Low-pass Filtering sangat baik digunakan untuk mereduksi Exponential dan Rayleigh Noise dengan nilai MSE dan PSNR rata-rata hasil filtering untuk Exponential Noise adalah 197,3511 dan 25,8776 dB dan nilai MSE dan PSNR rata-rata sebelum filtering adalah 326,08 dan 23,903 dB. Sedangkan nilai MSE dan PSNR rata-rata hasil filtering untuk Rayleigh Noise adalah 460,9587 dan 22,0633 dB dengan nilai MSE dan PSNR rata-rata sebelum filtering adalah 463,868 dan 22,076 dB. Namun, metode High-pass Filtering tidak dapat digunakan untuk mereduksi noise pada citra dikarenakan noise memiliki frekuensi yang tinggi sehingga metode High-pass Filtering tidak menyaring noise tersebut.
ABSTRACT
Noise is an unwanted component in the image, which causes degraded image and the image quality decreases. The presence of noise is difficult to avoid, but can be reduced with the restoration process. Exponential and Rayleigh Noise are some examples of noise that can be found on the degraded image. An image restoration process to regain an defective image or degraded as a result of additional noise so as to approach its original state. To perform the restoration process can utilize filtering methods in the frequency domain. In this study, the method of the Low-pass Filtering and High-pass Filtering will be used to reduce noise contained in the image. The image that has been reduced then compared based on the Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR), and the results of the filtering process runtime, so that can know which method is better in reducing noise. The results obtained from the noise reduction process on the frequency domain is, of the three methods Low-pass Filtering is used, the method of Gaussian Low-pass Filtering is best used to reduce Exponential and Rayleigh Noise with MSE and PSNR average filtering results for Exponential Noise is 197.3511 and 25.8776 dB and the MSE and PSNR on average before filtering is 326.08 and 23.903 dB, while the value of MSE and PSNR average filtering results for Rayleigh Noise is 460.9587 and 22.0633 dB with MSE and PSNR on average before filtering is 463.868 and 22.076 dB. However, High-pass Filtering method can not be used to reduce noise in the image due to noise having a high frequency so that High-pass Filtering method does not filter out the noise.
DAFTAR ISI
Daftar Lampiran xii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Ruang Lingkup Penelitian 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
Bab II Landasan Teori
2.1 Citra 6
2.1.1 Definisi Citra 6
2.1.1.1 Citra Analog 6
2.1.1.2 Citra Digital 6
2.1.2 Jenis Citra Digital 8
2.1.2.1 Citra Biner 8
2.1.2.1 Citra Berskala Keabuan 9
2.1.2.3 Citra Warna (Truecolor) 9
2.1.3 Format File Citra 10
2.1.3.1 Format File Citra Bitmap 10
2.2 Pengolahan Citra Digital 11
2.2.1 Pengolahan Citra pada Domain Frekuensi 11
2.2.1.1 Transformasi Fourier 11
2.2.1.2 Fast Fourier Transform (FFT) 12
2.2.2 Penapisan pada Domain Frekuensi 13
2.2.2.1 Low-pass Filtering 13
2.2.2.2 High-pass Filtering 14
2.2.3 Noise dalam Citra 16
2.2.3.1 Exponential Noise 16
2.2.3.2 Rayleigh Noise 17
2.2.4 Ukuran Keberhasilan Penghilangan Noise 18
2.2.4.2 Peak Signat to Noise Ratio (PSNR) 18
Bab III Analisis dan Perancangan
3.1 Analisis Sistem 19
3.1.1 Analisis Masalah 19
3.2 Pseudocode Program 26
3.2.1 Pseudocode Program Filtering 27
3.2.2 Pseudocode Fungsi Low-pass Filtering 28
3.2.3 Pseudocode Fungsi High-pass Filtering 30
3.2.4 Pseudocode Exponential Noise 32
3.2.5 Pseudocode Rayleigh Noise 32
3.2.3 Pseudocode Mean Squared Error (MSE) 32
3.2.3 Pseudocode Peak Signal to Noise Ratio (PSNR) 33
3.3 Perancangan Sistem 33
3.3.1 Perancangan Flowchart Sistem 33
3.3.2 Perancangan Interface Sistem 35
3.3.2.1 Menu Utama 35
3.3.2.2 Menu Filtering dengan Citra yang diberi Noise 36 3.3.2.3 Menu Filtering dengan Citra yang memiliki Noise 38
3.3.2.4 Menu Help 39
3.3.2.5 Menu About 40
Bab IV Implementasi dan Pengujian
4.1 Implementasi Sistem 41
4.1.1 Menu Utama 41
4.1.2 Menu Filtering dengan Citra yang diberi Noise 42 4.1.3 Menu Filtering dengan Citra yang memiliki Noise 42
4.1.4 Menu Help 43
4.1.5 Menu About 43
4.2 Pengujian Sistem 44
4.2.1 Pengujian Filtering dengan Citra yang diberi Noise 44 4.2.2 Pengujian Filtering dengan Citra yang memiliki Noise 45
4.3 Hasil Pengujian 46
4.3.1 Hasil Pengujian Filtering dengan Citra yang diberi Noise 47 4.3.1.1 Pengujian Filtering dengan Exponential Noise 47 4.3.1.2 Pengujian Filtering dengan Rayleigh Noise 55 4.3.2 Hasil Pengujian Filtering dengan Citra yang memiliki Noise 63
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 68
5.2 Saran 69
DAFTAR TABEL
Halaman Tabel 3.1 Use case Diagram Narrative Filtering dengan Citra yang diberi Noise 23 Tabel 3.2 Use case Diagram Narrative Filtering dengan Citra yang memiliki Noise 23
Tabel 3.3 Keterangan Gambar Menu Utama 36
Tabel 3.4 Keterangan Gambar Menu Filtering dengan Citra yang diberi Noise 37 Tabel 3.5 Keterangan Gambar Menu Filtering dengan Citra yang memiliki Noise 38
Tabel 3.6 Keterangan Gambar Menu Help 39
Tabel 3.7 Keterangan Gambar Menu About 40
Tabel 4.1 Daftar Gambar yang digunakan pada Pengujian 47
Tabel 4.2 Hasil Pengujian Metode Low-pass Filtering dan High-pass Filtering terhadap Citra
yang diberi Noise dengan d0 = 0.09 48
Tabel 4.3 Perbandingan Nilai MSE dan PSNR Metode Metode Low-pass Filtering dan High-pass Filtering terhadap Citra yang diberi Exponential Noise 54 Tabel 4.4 Perbandingan nilai Runtime Process Metode Metode Low-pass Filtering dan
High-pass Filtering terhadap Citra yang diberi Exponential Noise 54 Tabel 4.5 Hasil Pengujian Metode Low-pass Filtering dan High-pass Filtering terhadap Citra
yang diberi Noise dengan d0 = 0.09 56
Tabel 4.6 Perbandingan Nilai MSE dan PSNR Metode Metode Low-pass Filtering dan High-pass Filtering terhadap Citra yang diberi Rayleigh Noise 62 Tabel 4.7 Perbandingan nilai Runtime Process Metode Metode Low-pass Filtering dan
High-pass Filtering terhadap Citra yang diberi Rayleigh Noise 62 Tabel 4.8 Hasil Pengujian Metode Low-pass Filtering dan High-pass Filtering terhadap Citra
yang memiliki Noise dengan d0 = 0.1 dan 0.05 63
Tabel 4.9 Perbandingan Nilai MSE dan PSNR Metode Metode Low-pass Filtering dan
High-pass Filtering terhadap Citra yang memiliki Noise 67
DAFTAR GAMBAR
Halaman
Gambar 2.1 Contoh Citra Digital dan Matriks Penyusunnya 7
Gambar 2.2 Contoh Tipe Citra
(a) Citra Tipe Raster 8
(b) Citra Tipe Vektor 8
Gambar 2.3 Contoh Jenis Citra Digital
(a) Citra Tipe Raster 9
(b) Citra Tipe Vektor 9
(c) Citra Tipe Vektor 10
Gambar 2.4 Proses Transformasi Citra 11
Gambar 2.5 (a) Citra Asli (b) Citra dengan Exponential Noise 17
Gambar 2.6 (a) Citra Asli (b) Citra dengan Rayleigh Noise 17
Gambar 3.1 Diagram Ishikawa Analisis Masalah 20
Gambar 3.2 Use case Diagram Sistem 22
Gambar 3.3 Activity Diagram Filtering dengan Citra yang diberi Noise 24 Gambar 3.4 Activity Diagram Filtering dengan Citra yang memiliki Noise 25 Gambar 3.5 Sequence Diagram Filtering dengan Citra yang diberi Noise 26 Gambar 3.6 Sequence Diagram Filtering dengan Citra yang memiliki Noise 26
Gambar 3.7 Pseudocode Program Filtering 27
Gambar 3.8 Pseudocode Ideal Low-pass Filtering 28
Gambar 3.9 (a) Pseudocode Butterworth Low-pass Filtering 28
(b) Lanjutan Pseudocode Butterworth Low-pass Filtering 29
Gambar 3.10 Pseudocode Gaussian Low-pass Filtering 29
Gambar 3.11 Pseudocode Ideal High-pass Filtering 30
Gambar 3.12 (a) Pseudocode Butterworth High-pass Filtering 30
(b) Lanjutan Pseudocode Butterworth High-pass Filtering 31
Gambar 3.13 Pseudocode Gaussian High-pass Filtering 31
Gambar 3.14 Pseudocode Exponential Noise 32
Gambar 3.15 Pseudocode Rayleigh Noise 32
Gambar 3.16 Pseudocode Mean Squared Error (MSE) 33
Gambar 3.17 Pseudocode Peak Signal to Noise Ratio (PSNR) 33
Gambar 3.18 Flowchart Sistem 34
Gambar 3.19 Rancangan Menu Utama 36
Gambar 3.20 Rancangan Menu Program Filtering dengan Citra yang diberi Noise 36 Gambar 3.21 Rancangan Menu Program Filtering dengan Citra yang memiliki Noise 38
Gambar 3.22 Rancangan Menu Help 39
Gambar 4.1 Menu Utama 41 Gambar 4.2 Menu Program Filtering dengan Citra yang diberi Noise 42 Gambar 4.3 Menu Program Filtering dengan Citra yang memiliki Noise 43
Gambar 4.4 Menu Help 43
Gambar 4.5 Menu About 44
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
ABSTRAK
Noise atau derau merupakan komponen yang tidak dikehendaki pada citra, yang menyebabkan citra terdegradasi dan kualitas citra tersebut menurun. Kehadiran noise sulit untuk dihindari, namun dapat dikurangi dengan proses restorasi. Exponential dan Rayleigh Noise merupakan beberapa contoh noise yang dapat ditemukan pada citra terdegradasi. Restorasi citra merupakan proses untuk mendapatkan kembali sebuah citra yang cacat atau terdegradasi akibat adanya tambahan noise sehingga dapat mendekati keadaan aslinya. Untuk melakukan proses restorasi dapat memanfaatkan metode filtering pada domain frekuensi. Pada penelitian ini, metode Low-pass Filtering dan High-pass Filtering akan digunakan untuk mereduksi noise yang terdapat pada citra. Citra yang telah direduksi kemudian dibandingkan berdasarkan nilai Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR), dan runtime process hasil pemfilteran, sehingga dapat diketahui metode mana yang lebih baik dalam mereduksi noise. Hasil yang diperoleh dari proses reduksi noise pada domain frekuensi adalah, dari ketiga metode Low-pass Filtering yang digunakan, metode Gaussian Low-pass Filtering sangat baik digunakan untuk mereduksi Exponential dan Rayleigh Noise dengan nilai MSE dan PSNR rata-rata hasil filtering untuk Exponential Noise adalah 197,3511 dan 25,8776 dB dan nilai MSE dan PSNR rata-rata sebelum filtering adalah 326,08 dan 23,903 dB. Sedangkan nilai MSE dan PSNR rata-rata hasil filtering untuk Rayleigh Noise adalah 460,9587 dan 22,0633 dB dengan nilai MSE dan PSNR rata-rata sebelum filtering adalah 463,868 dan 22,076 dB. Namun, metode High-pass Filtering tidak dapat digunakan untuk mereduksi noise pada citra dikarenakan noise memiliki frekuensi yang tinggi sehingga metode High-pass Filtering tidak menyaring noise tersebut.
ABSTRACT
Noise is an unwanted component in the image, which causes degraded image and the image quality decreases. The presence of noise is difficult to avoid, but can be reduced with the restoration process. Exponential and Rayleigh Noise are some examples of noise that can be found on the degraded image. An image restoration process to regain an defective image or degraded as a result of additional noise so as to approach its original state. To perform the restoration process can utilize filtering methods in the frequency domain. In this study, the method of the Low-pass Filtering and High-pass Filtering will be used to reduce noise contained in the image. The image that has been reduced then compared based on the Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR), and the results of the filtering process runtime, so that can know which method is better in reducing noise. The results obtained from the noise reduction process on the frequency domain is, of the three methods Low-pass Filtering is used, the method of Gaussian Low-pass Filtering is best used to reduce Exponential and Rayleigh Noise with MSE and PSNR average filtering results for Exponential Noise is 197.3511 and 25.8776 dB and the MSE and PSNR on average before filtering is 326.08 and 23.903 dB, while the value of MSE and PSNR average filtering results for Rayleigh Noise is 460.9587 and 22.0633 dB with MSE and PSNR on average before filtering is 463.868 and 22.076 dB. However, High-pass Filtering method can not be used to reduce noise in the image due to noise having a high frequency so that High-pass Filtering method does not filter out the noise.
PENDAHULUAN
1.1Latar Belakang
Gangguan pada citra, terutama citra digital dapat disebabkan oleh noise sehingga mengakibatkan penurunan kualitas citra tersebut (Gunara, 2007). Derau atau noise merupakan komponen yang yang tidak dikehendaki kehadirannya pada citra. Ada beberapa penyebab terjadinya noise pada citra, seperti kamera yang tidak fokus, pencahayaan yang kurang dan tidak merata, proses capture yang tidak sempurna atau noise yang sengaja diberikan terhadap citra dengan tujuan menurunkan kualitas citra
untuk kepentingan pengujian penghilangan noise terhadap metode-metode reduksi noise. Kehadiran noise sulit untuk dihindari, namun dapat dikurangi dengan
melakukan proses restorasi. Restorasi citra adalah proses merekonstruksi atau mendapatkan kembali sebuat citra yang mendekati bentuk aslinya dari sebuah citra yang cacat atau terdegradasi akibat suatu fenomena perusak yang telah diketahui sebelumnya. Restorasi citra yang dimaksudkan pada penelitian ini memiliki pengertian yang berbeda dengan peningkatan kualitas citra (image enhancement), meskipun keduanya sama-sama bertujuan untuk memperbaiki kualitas citra. Restorasi citra memanfaatkan pengetahuan tentang proses terjadinya degradasi untuk memperoleh kembali citra asal, sedangkan image enhancement lebih banyak berkaitan dengan penajaman dari fitur tertentu dalam citra (Munir, 2006).
Ada banyak metode yang dapat digunakan untuk melakukan proses restorasi citra yang terdegradasi, salah satunya dengan memanfaatkan metode filtering. Filtering citra merupakan salah satu proses restorasi citra dengan cara menghaluskan
Proses filtering pada domain frekuensi tidak sama dengan proses filtering pada domain spasial. Citra dikatakan berada pada domain spasial sebenarnya merujuk pada bidang citra itu sendiri. Untuk mendapatkan frekuensi citra yang akan direstorasi, citra tersebut terlebih dahulu ditransformasi dari domain spasial ke domain frekuensi dengan sebuah metode transformasi. Citra dapat dimanipulasi setelah di transformasi ke domain frekuensi. Setelah manipulasi selesai, dilakukan transformasi balik (invers) untuk mendapatkan citra kembali.
Pada penelitian yang dilakukan oleh Nugroho. S (2005), metode yang digunakan dalam domain frekuensi dapat digunakan untuk menyelesaikan masalah-masalah tertentu yang sulit jika dilakukan dengan menggunakan metode dalam domain spasial. Noise yang dapat dihilangkan atau dikurangi dengan metode ini adalah noise yang
menghasilkan pola tertentu pada spektrum Fouriernya, misalnya berupa garis lurus. Kemudian, berdasarkan penelitian yang dilakukan Wardhani, R.N. & Delimayanti, M.K. (2012), pada domain spatial, High-pass Filtering tidak dapat mereduksi noise, namun justru menambah noise, sedangkan Low-pass Filtering efektif menghilangkan Speckle dan Gaussian noise.
Dengan adanya berbagai latar belakang dan kesimpulan yang dihasilkan pada penelitian sebelumnya, penulis melakukan penelitian menggunakan metode Low-pass Filtering yang akan dilakukan dalam domain frekuensi untuk mereduksi noise pada
citra, baik citra yang pada dasarnya telah memiliki noise maupun noise yang sengaja dibangkitkan terhadap citra, seperti Exponential dan Rayleigh Noise. Hasil dari metode ini akan dibandingkan dengan hasil dari metode High-pass Filtering. Dari hasil perbandingan kedua metode ini akan diperoleh metode mana yang paling baik dalam mereduksi noise pada citra digital.
1.2Rumusan Masalah
1.3Ruang Lingkup Penelitian
Dalam perancangan prototipe aplikasi pengolahan citra perbandingan Low-pass Filtering dan High-pass Filtering, meliputi beberapa batasan, antara lain:
1. Citra digital yang digunakan sebagai inputan berupa citra warna, berformat bitmap (.bmp), memiliki ukuran maksimal 1024 × 768, merupakan citra yang telah terkena noise atau citra yang diberi noise.
2. Noise yang ditambahkan pada citra adalah Exponential dan Rayleigh Noise. 3. Citra ditransformasi ke domain frekuensi menggunakan Fast Fourier Transform
(FFT).
4. Filter yang akan digunakan adalah Low-pass Filtering dan High-pass Filtering yang masing-masing metode terbagi atas tiga sub-metode yaitu Ideal, Butterworth, dan Gaussian.
5. Untuk perbandingan kinerja masing-masing metode dalam merestorasi citra menggunakan Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR) dan Runtime process.
6. Aplikasi berbasis desktop dan dibangun dengan menggunakan bahasa pemrograman Matlab R2012a.
1.4Tujuan Penelitian
Penelitian ini bertujuan untuk mengimplementasikan Low-pass Filtering dan High-pass Filtering pada domain frekuensi untuk restorasi citra yang memiliki noise
kemudian membandingkan hasil proses filtering tersebut untuk mendapatkan metode yang lebih baik dalam mereduksi noise pada citra digital.
1.5Manfaat Penelitian
Penelitian ini diharapkan dapat dimanfaatkan menjadi salah satu referensi mengenai teknik pemfilteran yang lebih baik diantara Low-pass Filtering dan High-pass Filtering pada domain frekuensi untuk restorasi citra. Selain itu, program yang dibuat
1.6Metodologi Penelitian
Metode penelitian yang dilakukan dalam penelitian ini adalah: 1. Studi Pustaka
Pada tahap ini akan dilakukan studi literatur dengan mengumpulkan referensi yang dibutuhkan untuk memperoleh informasi dan data yang berkaitan dengan pengolahan citra khususnya filtering, Exponential dan Rayleigh Noise. Referensi dapat berupa buku-buku, artikel-artikel, maupun hasil penelitian yang berkaitan dengan penelitian.
2. Analisis dan Perancangan Sistem
Dengan adanya rumusan dan batasan masalah, permasalahan dan kebutuhan dianalisis disertai pembuatan flowchart, Unified Modeling Language (UML), dan perancangan antarmuka (interface) aplikasi.
3. Implementasi Sistem
Pada tahap ini akan dilakukan implementasi metode yang digunakan ke dalam bentuk pengkodean (coding) dalam bahasa pemrograman Matlab.
4. Pengujian
Pada tahap ini akan dilaksanakan pengujian terhadap sistem berdasarkan keberhasilan dari pengolahan citra berupa proses pembangkitan noise dan filtering citra, kemudian memindahkan data hasil filtering dari masing-masing
metode (nilai Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR), dan runtime process) ke dalam bentuk tabel untuk dilakukan perbandingan secara manual.
5. Dokumentasi
1.7Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu:
BAB I PENDAHULUAN
Bab ini berisi latar belakang judul yang diangkat, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi teori mengenai pengolahan citra, metode Low-pass Filtering dan High-pass Filtering dan noise yang akan direduksi, serta materi-materi yang relevan dengan penelitian.
BAB III ANALISIS DAN PERANCANGAN
Bab ini membahas tentang analisis sistem yang meliputi analisis masalah, analisis fungsional dan non-fungsional, analisis metode Low-pass Filtering dan High-pass Filtering, diagram Unified Modeling Language (UML), pseudocode program, Flowchart dan perancangan tampilan antarmuka (interface)
sistem.
BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi implementasi sistem dan pembuatan program sesuai dengan analisis dan perancangan sistem kemudian dilakukan pengujian terhadap sistem, serta pembahasan dari hasil pengujian.
BAB V KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI
2.1 Citra
2.1.1 Definisi Citra
Secara harfiah, citra adalah gambar pada bidang dwimatra (dua dimensi). Jika dipandang dari sudut pandang matematis, citra merupakan hasil pemantulan cahaya dari sebuah objek dwimatra yang diteruskan dan ditangkap oleh alat-alat optik seperti, mata, kamera, alat pemindai, dan sebagainya, sehingga bayangan objek hasil pemantulan tersebut terekam (Munir,2004). Dengan kata lain, citra merupakan sebuah representasi, gambaran, kemiripan, atau imitasi dari sebuah objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Sutoyo, 2009).
2.1.1.1 Citra Analog
Citra analog atau citra kontinu merupakan citra yang dihasilkan dari alat-alat analog seperti kamera foto analog. Citra analog tidak dapat diproses langsung menggunakan komputer sehingga citra harus dikonversi ke digital terlebih dahulu.
2.1.1.2 Citra Digital
Sebuah citra digital dapat diwakilkan oleh sebuah matriks yang terdiri dari M baris dan N kolom, di mana perpotongan antara baris dan kolom disebut piksel (pixel = picture element), yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu
koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu (Sutoyo, 2009). Sebuah citra digital dapat ditulis dalam bentuk matriks berikut.
[
]
Contoh dari sebuah citra digital dapat dilihat pada gambar berikut.
Gambar 2.1. Contoh Citra Digital dan Matriks Penyusunnya
Citra digital terbagi atas dua jenis tipe, yaitu:
a. Tipe Raster
apabila dilakukan pembesaran ukuran gambar yang memiliki resolusi kecil, gambar akan terlihat pecah atau rusak. Beberapa format raster antara lain adalah JPEG, GIF, BMP, PNG dan ICO.
b. Tipe Vektor
Citra vektor merupakan citra yang terdiri dari sekumpulan titik, garis lurus, dan garis lengkung. Gambar vektor menggabungkan titik dan garis untuk menjadi sebuah objek dengan berbagai instruksi, sehingga gambar tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar Bitmap. Beberapa format gambar vektor anatara lain adalah CGM, SVG, SWF.
Contoh citra tipe vektor dan tipe skalar dapat dilihat pada gambar 2.3.
(a) Citra Tipe Raster (b) Citra Tipe Vektor
Gambar 2.2 Contoh Tipe Citra
2.1.2 Jenis Citra Digital
Suatu piksel memiliki nilai yang dapat diubah untuk keperluan pengolahan citra digital tersebut. Nilai-nilai piksel ini dibatasi oleh nilai minimum dan maksimum yang jangkauan rentangnya berbeda-beda dan tergantung dari jenis warnanya. Namun, jangkauannya secara umum berkisar 0-255 (Putra, 2010).
Pada umumnya, ada tiga jenis citra digital yang sering digunakan dan dapat dikelompokkan berdasarkan nilai pikselnya, yaitu citra biner, citra berskala keabuan (grayscale), citra warna (true color).
2.1.2.1 Citra Biner
muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi, ataupun dithering (Putra, 2010).
2.1.2.2 Citra Berskala Keabuan (Grayscale)
Citra berskala keabuan (grayscale) merupakan citra yang menangani gradasi warna hitam dan putih, yang menghasilkan efek warna abu-abu. Citra ini hanya memiliki satu nilai kanal pada setiap pikselnya. Dengan kata lain Red = Green = Blue. Warna dinyatakan dengan intensitas yang berkisar antara 0 sampai 255. Nilai 0 menyatakan warna hitam dan nilai 255 menyatakan warna putih, dan nilai diantaranya menyatakan berbagai tingkatan warna keabuan yang dimulai dari warna hitam hingga mendekati warna putih sehingga memiki 256 kombinasi gradasi warna keabuan. Setiap 1 piksel dari citra grayscale untuk 256 kombinasi gradasi warna diwakili oleh 1 byte.
2.1.2.3 Citra Warna (Truecolor)
Citra warna, atau yang dapat disebut citra RGB, merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (red), G (green), dan B (blue). Setiap komponen warna menggunakan penyimpana 8 bit (1 byte), yang masing-masing warnanya mempunyai 255 kombinasi warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28. 28. 28 = 224 = 16.581.375 warna. Dengan jumlah kombinasi warna yang hampir mencakup semua warna di alam itulah format citra ini disebut citra truecolor. Setiap 1 piksel citra warna diwakili oleh 3 byte, di mana setiap byte mewakili warna merah (red), atau hijau (green), atau biru (blue).
(c) Citra Truecolor
Gambar 2.3 Contoh Jenis Citra Digital
2.1.3 Format File Citra
Secara umum format file citra yang standar digunakan terdiri atas beberapa jenis, dan masing-masingnya memiliki karakteristik tertentu. Citra dapat disimpan di dalam berkas pada format file citra tertentu guna menjaga kualitas citra tersebut. Ada dua jenis format file citra yang sering digunakaan dalam pengolahan citra, diantaranya adalah format file citra bitmap.
2.1.3.1 Format File Citra Bitmap
Citra bitmap sering disebut juga sebagai citra raster. Citra bitmap menyimpan kode citra secara digital dan lengkap dengan cara menyimpan kode citra tersebut per pikselnya. Citra bitmap direpresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi tidak cocok untuk mengubah objek. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah citra. Citra bitmap biasanya diperoleh dengan cara scanner, kamera digital, video capture, dan lain-lain. Apabila citra ini diperbesar maka tampilan di monitor akan tampak pecah-pecah dikarenakan kualitas citra yang menurun (Sutoyo, 2009).
informasi yang hilang akibat kompresi. Namun file citra .bmp memiliki ukuran file yang lebih besar dari file citra dalam format lain.
2.2 Pengolahan Citra Digital
Menurut Gonzalez dan Woods (2004) dalam bukunya yang berjudul Digital Image Processing, bidang pengolahan citra digital merupakan bidang yang mengacu pada
pengolahan gambar digital menggunakan komputer digital.
Pengertian lainnya, 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 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 (Sutoyo, 2009).
2.2.1 Pengolahan Citra pada Domain Frekuensi
Citra dapat ditransformasikan baik pada domain spatial, maupun domain frekuensi. Ada dua cara untuk melakukan transformasi yang ditunjukkan pada gambar 2.7
Citra Asli
Filter Spatial
Transformasi Langsung
Filter Frekuensi
Transformasi Balik
Citra Hasil
Gambar 2.4 Proses Transformasi Citra
2.2.1.1Transformasi Fourier
transformasi domain. Transformasi spasial merupakan transformasi yang memanipulasi intensitas piksel, seperti brighness dan thresholding atau posisi piksel seperti rotasi dan translasi, sedangkan transformasi domain merupakan proses yang mengubah domain citra, seperti dari domain spasial ke domain frekuensi atau sebaliknya.
Transformasi Fourier inilah transformasi yang mengubah citra dari domain spasial ke domain frekuensi. Dengan cara ini citra digital ditransformasikan lebih dulu dengan transformasi Fourier, kemudian dilakukan manipulasi pada hasil transformasi Fourier tersebut. Setelah manipulasi selesai, dilakukan invers transformasi Fourier untuk mendapatkan citra kembali. Metode domain frekuensi ini dapat digunakan untuk menyelesaikan masalah-masalah tertentu yang sulit jika dilakukan dengan menggunakan metode domain spasial (Sutoyo, 2009).
2.2.1.2Fast Fourier Transform (FFT)
Transformasi Fourier bersifat kontinu. Oleh karena itu komputasi sulit dilakukan karena adanya operasi integral dan sifat kontinu itu sendiri. Untuk kebutuhan pengolahan citra, fungsi yang akan ditransformasi harus merupakan fungsi diskrit. Transformasi Fourier Diskrit atau disebut dengan Discrete Fourier Transform (DFT) adalah transformasi Fourier yang dikenakan pada fungsi diskrit dan hasil transformasinya juga merupakan fungsi diskrit. Citra digital merupakan besaran diskrit dua dimensi (2D). Oleh karena itu, dibutuhkan transformasi Fourier Diskrit 2D.
2.2.2 Penapisan pada Domain Frekuensi
Menurut teorema konvolusi, konvolusi pada domain frekuensi dapat dilakukan dengan mengalikan F(u,v) dengan H(u,v). Dalam hal ini, H(u,v) dinamakan sebagai fungsi transfer filter dan diperoleh melalui pengenaan DFT terhadap h(x,y) yang merupakan kernel konvolusi pada domain spatial.
Penapisan pada domain frekuensi dapat menimbulkan efek akibat konvolusi, yang disebut dengan wraparound error. Wraparound error ini terjadi karena domain frekuensi memiliki fungsi periodis yang membuat citra akan diulang dan mengakibatkan interferensi pada konvolusi. Untuk mengatasi wraparound error ini adalah dengan zero padding, yaitu memperluas ukuran citra dan memberi nilai nol pada perluasannya (Kadir, 2013).
2.2.2.1 Low-pass Filtering
Low-pass Filtering adalah filter yang mempunyai sifat dapat meloloskan komponen
citra yang memiliki nilai intensitas atau frekuensi rendah dan menghilangkan atau menahan bagian yang memiliki nilai intensitas tinggi, sehingga filter ini memberikan efek yang menyebabkan citra menjadi lebih lembut. Ada tiga jenis Low-pass Filtering.
a. Ideal Low-pass Filtering
Ideal Low-pass Filtering (ILPF) adalah filter yang menghilangkan semua komponen
frekuensi tinggi dari transformasi Fourier pada jarak yang lebih besar daripada jarak yang ditentukan D0 (dari pusat transformasi) (Kadir, 2013). Filter ini memiliki fungsi sebagai berikut:
{ ... (2.1)
Keterangan:
√ ... (2.2)
= jarak dari titik (u,v) ke titik pusat transformasi.
b. Butterworth Low-pass Filtering
Butterworth Low-pass Filtering (BLPF) adalah filter yang digunakan untuk
memperbaiki efek bergelombang yang disebabkan oleh Ideal Low-pass Filtering (Kadir, 2013). Filter ini memiliki fungsi sebagai berikut:
⁄ ... (2.3)
Keterangan:
D0 = radius filter (bilangan non-negatif), yang menentukan ambang frekuensi.
= jarak dari titik (u,v) ke titik pusat transformasi.
n = order filter.
c. Gaussian Low-pass Filtering
Gaussian Low-pass Filtering (GLPF) memiliki fungsi sebagai berikut:
... (2.4)
Bila maka persamaannya menjadi:
... (2.5)
Keterangan:
D0 = radius filter (bilangan non-negatif), yang menentukan ambang frekuensi.
= jarak dari titik (u,v) ke titik pusat transformasi.
= deviasi standar.
Bila D(u,v) = D0, filter akan turun hingga 0,607 dari nilai maksimumnya.
2.2.2.2 High-pass Filtering
High-pass Filtering merupakan kebalikan dari Low-pass Filtering, di mana filter ini
warna-warna yang terdapat pada citra tidak dapat dilososkan oleh High-pass Filtering yang hanya meloloskan komponen dengan nilai frekuensi tinggi. Persamaannya adalah:
... (2.6)
Keterangan:
= merupakan fungsi dari Low-pass Filtering yang berkaitan.
a. Ideal High-pass Filtering
Ideal High-pass Filtering (IHPF) merupakan kebalikan dari Ideal Low-pass Filtering
(ILPF). IHPF memberikan nilai 0 untuk semua frekuensi di dalam lingkaran radius D0 ketika dilewati tanpa pengurangan, semua frekuensi di luar lingkaran di set menjadi 1 (Sutoyo, 2009). Persamaannya adalah:
{ ... (2.7)
Keterangan:
= jarak dari titik (u,v) ke titik pusat transformasi.
D0 = radius filter (bilangan non-negatif), yang menentukan ambang frekuensi.
b. Butterworth High-pass Filtering
Butterworth High-pass Filtering (BHPF) merupakan kebalikan dari Butterworth
Low-pass Filtering (BLPF). BHPF memberikan nilai 0 untuk semua frekuensi di dalam
lingkaran radius D0. Persamaannya adalah:
⁄ ... (2.8)
Keterangan:
D0 = radius filter (bilangan non-negatif), yang menentukan ambang frekuensi.
= jarak dari titik (u,v) ke titik pusat transformasi.
n = order filter.
c. Gaussian High-pass Filtering
Gaussian High-pass Filtering (GHPF) memiliki persamaan sebagai berikut:
... (2.9)
... (2.10)
Keterangan:
D0 = radius filter (bilangan non-negatif), yang menentukan ambang frekuensi
= jarak dari titik (u,v) ke titik pusat transformasi.
= deviasi standar.
2.2.3 Noise dalam Citra
Gangguan pada citra, terutama citra digital dapat disebabkan oleh noise sehingga mengakibatkan penurunan kualitas citra tersebut (Gunara, 2007). Noise atau derau adalah komponen yang tidak dikehendaki pada citra yang terjadi karena beberapa sebab, seperti kamera yang tidak terfokus, pencahayaan yang tidak merata, atau proses capture yang tidak sempurna. Noise juga dapat terjadi akibat karakteristik dari derajat
keabuan (gray-level) atau adanya variabel acak yang terjadi karena karakteristik Fungsi Probabilitas Kepadatan (Probability Density Function (PDF)) (Sutoyo, 2009).
Jenis noise sangat banyak variasinya, namun ada beberapa noise yang banyak dibahas dalam bidang pengolahan citra dengan tujuan menurunkan kualitas citra untuk kepentingan pengujian penghilangan noise terhadap metode-metode reduksi noise. Berikut beberapa contoh noise yang digunakan untuk menurunkan kualitas citra yang akan digunakan untuk pengujian dalam penelitian ini.
2.2.3.1Exponential Noise
Exponential Noise atau derau eksponensial merupakan jenis noise yang dihasilkan
oleh laser yang koheren ketika citra diperoleh. Oleh karena itu, noise ini sering disebut sebagai bercak laser (Myler and Weeks, 1993), (Kadir, 2013). Pembangkit Exponential Noise dilakukan dengan menggunakan rumus (Gonzalez, 2004):
... (2.11)
Keterangan:
d = citra dengan noise
(a) (b)
Gambar 2.5. (a) Citra Asli. (b) Citra dengan Exponential Noise
2.2.3.2Rayleigh Noise
Rayleigh Noise biasa muncul pada jangkauan radar dan citra bergerak (Myler and
Weeks, 1993) (Kadir, 2013). Pembangkit Rayleigh Noise dilakukan dengan menggunakan rumus (Gonzalez, 2004):
√ ... (2.12)
Keterangan:
z = citra dengan noise
a, b = parameter Rayleigh Noise, di mana nilainya > 0
(a) (b)
2.2.4 Ukuran Keberhasilan Penghilangan Noise
2.2.4.1Mean Squared Error (MSE)
Perbaikan citra dengan pengamatan baik tidaknya suatu pendekatan dalam merestorasi citra, biasanya dilakukan dengan mata, yang pada dasarnya merupakan proses yang bersifat subjektif sehingga keberhasilannya juga bersifat subjektif. Oleh karena itu diperlukan alat yang dapat digunakan untuk mengukur kinerja prosedur perbaikan citra secara kuantitatif. Alat ukur ini disebut Mean Squared Error (MSE) yang dinyatakan dengan persamaan berikut:
∑
∑ (
)
... (2.13)Keterangan:
M, N = ukuran panjang dan lebar citra
= intensitas citra di titik sebelum diberi noise
= intensitas citra di titik setelah noise dihilangkan
Semakin kecil nilai Mean Squared Error (MSE), semakin baik kinerja metode restorasi citra yang digunakan (Sutoyo, 2009).
2.2.4.2Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (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:
√ ... (2.14)
Keterangan :
PSNR = nilai Peak Signal to Noise Ratio
MSE = nilai Mean Squared Error
255 = nilai Grayscale
Berkebalikan dengan nilai Mean Squared Error (MSE), semakin besar nilai Peak Signal to Noise Ratio (PSNR), semakin baik kinerja metode restorasi citra yang
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1Analisis 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
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
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.1Kebutuhan Fungsional
Kebutuhan fungsional merupakan deskripsi segala aktivitas dan layanan atau fungsi yang dapat dilakukan oleh sistem. Kebutuhan fungsional sistem pada penelitian ini adalah:
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.2Kebutuhan 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)
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.1Use 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
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
3.1.3.2Activity 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
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 DiagramFiltering dengan Citra yang memiliki Noise
3.1.3.3Sequence Diagram
Sequence diagram merupakan diagram yang menggambarkan interaksi antar objek di
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
Tampilan nilai mse, psnr, dan runtime
Tampilan citra hasil
Gambar 3.5 Sequence DiagramFiltering 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
Tampilan nilai mse, psnr, dan runtime
Tampilan citra hasil
Gambar 3.6 Sequence DiagramFiltering dengan Citra yang memiliki Noise
3.2Pseudocode 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
3.2.1 Pseudocode Program Filtering
Pseudocode untuk program filtering dapat dilihat pada gambar 3.7.
Gambar 3.7 Pseudocode Program Filtering
Img <- citraNoise
img_ilp <- cat(3, ilp_R, ilp_G, ilp_B)
%Butterworth Low-pass blp_R <- blpf(R,d0) blp_G <- blpf(G,d0) blp_B <- blpf(B,d0)
img_blp <- cat(3, blp_R, blp_G, blp_B)
%Gaussian Low-pass glp_R <- glpf(R,d0) glp_G <- glpf(G,d0) glp_B <- glpf(B,d0)
img_glp <- cat(3, glp_R, glp_G, glp_B)
%Ideal High-pass ihp_R <- ihpf(R,d0) ihp_G <- ihpf(G,d0) ihp_B <- ihpf(B,d0)
img_ihp <- cat(3, ihp_R, ihp_G, ihp_B)
%Butterworth High-pass bhp_R <- bhpf(R,d0) bhp_G <- bhpf(G,d0) bhp_B <- bhpf(B,d0)
img_bhp <- cat(3, bhp_R, bhp_G, bhp_B)
%Gaussian Low-pass ghp_R <- ghpf(R,d0) ghp_G <- ghpf(G,d0) ghp_B <- ghpf(B,d0)
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 <- ilpf(Fs, d0) [a, b] <- size(Fs)
r <- nextpow2(2 * max(a, b)) % untuk perluasan citra p <- 2 ^ r
function F <- blpf(Fs, d0) [a, b] <- size(Fs)
Gambar 3.9 (b) Lanjutan Pseudocode Butterworth Low-pass Filtering
c. Gaussian Low-pass Filter
Gambar 3.10 Pseudocode GaussianLow-pass Filtering
function F <- glpf(Fs, d0) [a, b] <- size(Fs)
r <- nextpow2(2 * max(a, b)) % untuk perluasan citra p <- 2 ^ r
q <- p
u <- 0:(p - 1) % Menentukan jangkauan frekuensi u, v v <- 0:(q - 1)
idx <- find(u > q/2) % Hitung indeks untuk meshgrid u(idx) <- u(idx) - q
idy <- find(v > p/2) v(idy) <- v(idy) - p
[V, U] <- meshgrid(v, u) % Peroleh array meshgrid D <- sqrt(V.^2 + U.^2)% Hitung jarak D(v,u) ambang <- d0 * p % Hitung frekuensi ambang
Hf <- exp(-(D.^2)./(2*ambang^2)) % Gaussian (glpf)
Ff <- fft2(Fs, p, q) % Transformasi FFT dengan zero padding G <- Hf.* Ff % Pemfilteran
F <- real(ifft2(G)) % Transformasi balik F <- uint8(F(1:a, 1:b))
D <- sqrt(V.^2 + U.^2) % Hitung jarak D(v,u)
ambang <- d0 * p % Hitung frekuensi ambang
Hf <- 1./(1+(D./ambang).^(2*n)) % Butterworth (blpf)
Ff <- fft2(Fs, p, q) % Transformasi FFT dengan zero padding G <- Hf.* Ff % Pemfilteran
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 <- ihpf(Fs, d0) [a, b] <- size(Fs)
r <- nextpow2(2 * max(a, b)) % untuk perluasan citra p <- 2 ^ r
Hlr <- double(D <= ambang); % Lolos-rendah (ilpf) Hlt <- 1 - Hlr; % Lolos-tinggi (ihpf)
Ff <- fft2(Fs, p, q) % Transformasi FFT dengan zero padding G <- Hf.*Ff % Pemfilteran
F <- real(ifft2(G)) % Transformasi balik F <- uint8(F(1:a, 1:b))
function F <- bhpf(Fs, d0) [a, b] <- size(Fs)
Gambar 3.12 (b) Lanjutan Pseudocode Butterworth High-pass Filtering
c. Gaussian High-pass Filter
Gambar 3.13 Pseudocode GaussianHigh-pass Filtering
function F <- ghpf(Fs, d0) [a, b] <- size(Fs)
r <- nextpow2(2 * max(a, b)) % untuk perluasan citra p <- 2 ^ r
q <- p
u <- 0:(p - 1) % Menentukan jangkauan frekuensi u, v v <- 0:(q - 1)
idx <- find(u > q/2) % Hitung indeks untuk meshgrid u(idx) <- u(idx) - q
idy <- find(v > p/2) v(idy) <- v(idy) - p
[V, U] <- meshgrid(v, u) % Peroleh array meshgrid D <- sqrt(V.^2 + U.^2) % Hitung jarak D(v,u) ambang <- d0 * p % Hitung frekuensi ambang
Hlr <- exp(-(D.^2)./(2*ambang^2)); % Lolos-rendah (glpf) Hlt <- 1 - Hlr; % Lolos-tinggi (ghpf)
Ff <- fft2(Fs, p, q) % Transformasi FFT dengan zero padding G <- Hf.* Ff % Pemfilteran
F <- real(ifft2(G)) % Transformasi balik F <-uint8(F(1:a, 1:b))
[V, U] <- meshgrid(v, u) % Peroleh array meshgrid D <- sqrt(V.^2 + U.^2) % Hitung jarak D(v,u)
ambang <- d0 * p % Hitung frekuensi ambang
Hf <- 1./(1+(D./ambang).^(2*n)) % Lolos-rendah (blpf) Hlt <- 1-Hlr; % Lolos-tinggi (bhpf)
Ff <- fft2(Fs, p, q) % Transformasi FFT dengan zero padding G <- Hf.* Ff % Pemfilteran
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 PseudocodeExponential 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 <- im2double(citra)
citraNoise <- citra+(-1/probabilitas)*log(1-rand(size(citra)))
citra <- citraAsli a <- 0.1
b <- 0.5
citra <- im2double(citra)
Gambar 3.16 PseudocodeMean 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.3Perancangan 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] <- size(citra)
mseRImage <- (double(citra(:,:,1))-double(img(:,:,1))).^ 2; mseGImage <- (double(citra(:,:,2))-double(img(:,:,2))).^ 2; mseBImage <- (double(citra(:,:,3))-double(img(:,:,3))).^ 2;
mseR <- sum(sum(mseRImage))/(a*b); mseG <- sum(sum(mseGImage))/(a*b); mseB <- sum(sum(mseBImage))/(a*b);
MSE <- (mseR + mseG + mseB)/3;
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
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.1Rancangan Menu Utama
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.2Rancangan Menu Program Filtering dengan Citra yang diberi Noise Rancangan menu program filtering dengan citra yang diberi noise dapat dilihat pada gambar 3.20.
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.