Implementasi Perbandingan Low-Pass Filtering dan High- Pass Filtering untuk Mereduksi Noise pada Citra Digital

(1)

PADA CITRA DIGITAL

SKRIPSI

NURUL ULFAH PRIMADINI

101401020

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(2)

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

MEDAN

2015


(3)

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,

Dr. Poltak Sihombing, M.Kom NIP 196203171991031001


(4)

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

Nurul Ulfah Primadini 101401020


(5)

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

8. Ayahanda Ilmainir Tabrani dan Ibunda Meri Wahyu Utama, serta adik-adik penulis, Ihsanul Ahmadi dan Fajar Imamul Hanif yang selalu memberikan doa, dukungan dan semangat kepada penulis dalam menyelesaikan skripsi ini.


(6)

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


(7)

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.

Kata kunci : Domain Frekuensi, Filtering, High-pass Filtering, Low-pass Filtering, Pengolahan Citra, Restorasi Citra


(8)

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.

Keywords: Filtering, Frequency Domain, High-pass Filtering, Low-pass Filtering, Image Processing, Image Restoration.


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

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


(10)

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.1.2 Analisis Kebutuhan 20

3.1.2.1 Kebutuhan Fungsional 20

3.1.2.2 Kebutuhan Non-Fungsional 21

3.1.3 Analisis Proses 22

3.1.3.1 Use Case Diagram 22

3.1.3.2 Activity Diagram 24

3.1.3.3 Sequence Diagram 25

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


(11)

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 Tabel 4.10 Perbandingan nilai Runtime Process Metode Metode Low-pass Filtering dan


(12)

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


(13)

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

Gambar 4.6 Pengujian Filtering dengan Citra yang diberi Noise 45 Gambar 4.7 Pengujian Filtering dengan Citra yang memiliki Noise 46


(14)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1


(15)

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.

Kata kunci : Domain Frekuensi, Filtering, High-pass Filtering, Low-pass Filtering, Pengolahan Citra, Restorasi Citra


(16)

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.

Keywords: Filtering, Frequency Domain, High-pass Filtering, Low-pass Filtering, Image Processing, Image Restoration.


(17)

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 dan menghilangkan noise yang ada pada citra (Syarifudin, 2006). Proses filtering sejatinya merupakan proses yang mengambil sebagian sinyal frekuensi tertentu dan membuang sinyal pada frekuensi lain (Sigit, 2005).


(18)

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

Rumusan masalah pada penelitian ini adalah bagaimana merestorasi citra menggunakan metode filtering pada domain frekuensi, kemudian bagaimana perbandingan hasil restorasi kedua metode tersebut sehingga dapat diketahui metode mana yang lebih baik dalam mereduksi noise pada citra digital.


(19)

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 dapat digunakan sebagai salah satu alternatif untuk restorasi citra pada domain frekuensi.


(20)

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

Selama pembuatan prototipe, dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam bentuk tulisan.


(21)

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

Berisi kesimpulan yang diperoleh dari hasil penelitian dan saran-saran yang berguna untuk pengembangan penelitian selanjutnya.


(22)

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

Citra digital atau citra diskrit merupakan citra yang dihasilkan dari proses digitalisasi terhadap citra analog dan dapat diproses langsung dengan komputer sehingga tidak membutuhkan proses konversi. Beberapa alat optik pun telah dilengkapi dengan fungsi digitalisasi sehingga dapat menghasilkan citra diskrit.


(23)

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

Citra raster merupakan citra yang terdiri atas sejumlah titik piksel yang memiliki nilai warna tersendiri sehingga membentuk pola tertentu yang menghasilkan kesan gambar. Gambar raster sangat bergantung dengan jumlah piksel yang membentuknya, sehingga


(24)

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

Citra biner merupakan citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu nilai 0 dan 1. Nilai 0 menyatakan warna hitam dan nilai 1 menyatakan warna putih. Citra biner disebut juga citra B & W (Black and White) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. Citra biner seringkali


(25)

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).


(26)

(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).

Format file citra bitmap .bmp merupakan format umum untuk menyimpan citra yang baku di lingkungan Microsoft. Format .bmp pada umumnya melakukan penyimpanan citra tanpa kompresi atau pemampatan sehingga citra memiliki kualitas yang lebih baik dari citra yang disimpan dalam format yang lain karena tidak ada


(27)

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 citra merupakan proses perubahan bentuk suatu citra, baik intensitas maupun posisi pikselnya, yang bertujuan untuk mendapatkan suatu informasi tertentu. Secara umum transformasi bisa dibagi menjadi dua, yaitu transformasi spasial dan


(28)

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.

Namun, Discrete Fourier Transform (DFT) tidak bagus jika digunakan pada citra berukuran besar, karena proses komputasinya memakan waktu yang lama. Untuk mempercepat proses transformasi, digunakan algoritma Fast Fourier Transform (FFT). Algoritma ini sangat cepat mengerjakan matriks yang berukuran besar. Perbedaan kompleksitas waktu DFT dengan FFT adalah O (N2) : O (N log2 N). Misalnya dengan menggunakan DFT kita akan melakukan transformasi sebanyak N = 1024 titik, maka kita memerlukan perkalian sebanyak N2 = 1.048.567. Sedangkan dengan menggunakan FFT perkalian yang diperlukan sebanyak N log2 N = 5120 perkalian (Lestari, 2012).


(29)

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.


(30)

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 ditujukan untuk menekan komponen citra yang memiliki nilai intensitas atau frekuensi rendah dan meloloskan atau menahan komponen citra yang memiliki nilai intensitas atau frekuensi tinggi, sehingga High-pass Filtering memberikan efek tepi objek pada citra terlihat lebih tajam dibandingkan daerah sekitarnya. Selain menajamkan tepi objek, High-pass Filtering juga memberikan efek hilangnya latar belakang citra sehingga citra hasil filtering ini hanya memiliki warna hitam sebagai latar belakang karena komponen warna RGB memiliki nilai frekuensi yang rendah sehingga


(31)

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)


(32)

... (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 ExponentialNoise dilakukan dengan menggunakan rumus (Gonzalez, 2004):

... (2.11)

Keterangan:

d = citra dengan noise


(33)

(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)


(34)

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 digunakan.


(35)

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 menggambarkan sebuah masalah dan sebab-akibat yang timbul dari masalah tersebut. Diagram Ishikawa (Cause and Effect Diagram) digambarkan seperti susunan tulang ikan yang terbagi atas dua bagian yaitu bagian kepala ikan yang merupakan masalah,


(36)

bagian utama tulang belakang merupakan kemungkinan-kemungkinan penyebab masalah yang biasanya dikelompokkan menjadi empat aspek yaitu Man, Method, Machine dan Material, dan kategori lain yang sesuai dengan masalah. Diagram Ishikawa sistem ini dapat dilihat pada gambar 3.1.

Adanya noise pada citra digital Method

Material Machine / Tools

Man Membangkitkan

noise

Hasil pemindaian citra yang telah usang

Pergerakan relatif objek terhadap kamera

Lensa kamera tidak fokus Gangguan elektromagnetik Pencahayaan

yang kurang

Proses pengambilan gambar yang tidak sempurna

Gambar 3.1 Diagram Ishikawa Analisis Masalah

3.1.2 Analisis Kebutuhan

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

3.1.2.1Kebutuhan Fungsional

Kebutuhan fungsional merupakan deskripsi segala aktivitas dan layanan atau fungsi yang dapat dilakukan oleh sistem. Kebutuhan fungsional sistem pada penelitian ini adalah:

1. Citra digital yang dapat diolah adalah citra digital berformat .bmp tidak memiliki noise atau yang telah memiliki noise.


(37)

2. Jenis noise yang dibangkitkan pada citraadalah 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)

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.


(38)

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 mengenai Use Case diagram pada gambar 3.2, berikut adalah Use Case Diagram Narrative yang dapat dilihar pada tabel 3.1 dan tabel 3.2.


(39)

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


(40)

3.1.3.2Activity Diagram

Activity diagram merupakan diagram yangmenggambarkan 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


(41)

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 dalam dan di sekitar sistem yang disusun berdasarkan interaksi objek tersebut terhadap waktu. Berdasarkan use case pada gambar 3.1, sequence diagram proses dibedakan menjadi dua, yaitu filter dengan citra yang diberi noise dan proses filter dengan citra yang memiliki noise . Interaksi antar objek pada kedua proses filter dapat dilihat pada gambar 3.5 dan 3.6.


(42)

User

Citra tanpa Noise Citra Noise Filter

Menampilkan citra input

Menampilkan citra dengan Noise Pilih nilai probabilitas

Menampilkan citra hasil filtering Menampilkan nilai mse, psnr, dan runtime Input citra

Reduksi noise citra

Hitung mse, psnr, runtime Tekan tombol GENERATE

Tekan tombol FILTER Form Citra

Handle citra input

Handle citra noise Tampilan citra input

Handle nilai probabilitas Tampilan nilai probabilitas

Generate noise Tampilan citra noise

Tampilan nilai mse, psnr, dan runtime Tampilan citra hasil

Gambar 3.5 Sequence 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

Reduksi noise citra

Hitung mse, psnr, runtime Tekan tombol FILTER

Form Citra

Handle citra dengan noise Tampilan citra dengan noise

Tampilan nilai mse, psnr, dan runtime Tampilan citra hasil

Gambar 3.6 Sequence 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 Noise Ratio (PSNR).


(43)

3.2.1 Pseudocode Program Filtering

Pseudocode untuk program filtering dapat dilihat pada gambar 3.7.

Gambar 3.7 Pseudocode Program Filtering

Img <- citraNoise Fs <- double(Img) d0 <- 0.1

n <- 2

R <- Fs(:,:,1) G <- Fs(:,:,2); B <- Fs(:,:,3); %Ideal Low-pass ilp_R <- ilpf(R,d0) ilp_G <- ilpf(G,d0) ilp_B <- ilpf(B,d0)

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)


(44)

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

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 <- double(D <= ambang) % Ideal (ilpf)

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 <- blpf(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


(45)

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

F <- real(ifft2(G)) % Transformasi balik F <- uint8(F(1:a, 1:b))


(46)

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

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 <- 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)

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


(47)

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

F <- real(ifft2(G)) % Transformasi balik F <-uint8(F(1:a, 1:b))


(48)

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. PseudocodeExponential 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. PseudocodeRayleigh 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)


(49)

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;


(50)

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


(51)

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, menuprogram filtering dengan citra yang memiliki noise, menu help dan menu about.

3.3.2.1Rancangan Menu Utama


(52)

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.

Gambar 3.20 Rancangan Menu Program Filtering dengan Citra yang diberi Noise

1 2 3 4 1 2 3 4 6

9 10

7 11 12 8 14 15 16 17 13 23 26 24

27 28

25

18 19

29 30 31

32

20 21 22

33 34


(1)

% Transformasi balik

F = real(ifft2(G)); F = uint8(F(1:a, 1:b));

8.

Fungsi blpf.m

function F = blpf(Fs, d0, n)

% Berdasarkan buku 'Teori dan Aplikasi Pengolahan Citra' % oleh: Abdul Kadir & Adhi Susanto

% hal : 159-160

[a, b] = size(Fs); %Peroleh ukuran citra

% Menentukan ukuran baru untuk perluasan citra

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan jangkauan frekuensi u dan v

u = 0:(p - 1); v = 0:(q - 1);

% Hitung indeks untuk meshgrid

idx = find(u > q/2); u(idx) = u(idx) - q; idy = find(v > p/2); v(idy) = v(idy) - p;

% Peroleh array meshgrid

[V, U] = meshgrid(v, u);

% Hitung jarak D(v,u)

D = sqrt(V.^2 + U.^2);

% Menentukan n kalau n tidak disebutkan

if nargin == 2 n = 1; end

% Hitung frekuensi ambang

ambang = d0 * p;

Hf = 1 ./ (1 + (D ./ ambang) .^(2 * n));

% Transformasi via FFT dengan zero padding

Ff = fft2(Fs, p, q);

% Pemfilteran

G = Hf .* Ff;

% Transformasi balik

F = real(ifft2(G)); F = uint8(F(1:a, 1:b));


(2)

A-19

function F = bhpf(Fs, d0, n)

% Berdasarkan buku 'Teori dan Aplikasi Pengolahan Citra' % oleh: Abdul Kadir & Adhi Susanto

% hal : 165-166

[a, b] = size(Fs);

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan ukuran baru untuk perluasan citra

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan jangkauan frekuensi u dan v

u = 0:(p - 1); v = 0:(q - 1);

% Hitung indeks untuk meshgrid

idx = find(u > q/2); u(idx) = u(idx) - q; idy = find(v > p/2); v(idy) = v(idy) - p;

% Peroleh array meshgrid

[V, U] = meshgrid(v, u); D = sqrt(V.^2 + U.^2);

% Menentukan n kalau n tidak disebutkan

if nargin == 2 n = 1; end

ambang = d0 * p;

Hlr = 1 ./ (1 + (D ./ ambang) .^(2 * n)); % Lolos-rendah

Hlt = 1 - Hlr; % Lolos-tinggi

Ff = fft2(Fs, p, q); G = Hlt .* Ff;

F = real(ifft2(G)); F = uint8(F(1:a, 1:b));

10.

Fungsi glpf.m

function F = glpf(Fs, d0)

% Berdasarkan buku 'Teori dan Aplikasi Pengolahan Citra' % oleh: Abdul Kadir & Adhi Susanto

% hal : 152-163

[a, b] = size(Fs); %Peroleh ukuran citra


(3)

% Menentukan ukuran baru untuk perluasan citra

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan jangkauan frekuensi u dan v

u = 0:(p - 1); v = 0:(q - 1);

% Hitung indeks untuk meshgrid

idx = find(u > q/2); u(idx) = u(idx) - q; idy = find(v > p/2); v(idy) = v(idy) - p;

% Peroleh array meshgrid

[V, U] = meshgrid(v, u);

% Hitung jarak D(v,u)

D = sqrt(V.^2 + U.^2);

% Hitung frekuensi ambang

ambang = d0 * p;

Hf = exp(-(D.^2) ./ (2 * ambang ^ 2));

% Transformasi via FFT dengan zero padding

Ff = fft2(Fs, p, q);

% Pemfilteran

G = Hf .* Ff;

% Transformasi balik

F = real(ifft2(G)); F = uint8(F(1:a, 1:b));

11.

Fungsi ghpf.m

function F = ghpf(Fs, d0)

% Berdasarkan buku 'Teori dan Aplikasi Pengolahan Citra' % oleh: Abdul Kadir & Adhi Susanto

[a, b] = size(Fs); %Peroleh ukuran citra

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan ukuran baru untuk perluasan citra

r = nextpow2(2 * max(a, b)); p = 2 ^ r;

q = p;

% Menentukan jangkauan frekuensi u dan v

u = 0:(p - 1); v = 0:(q - 1);


(4)

A-21

% Hitung indeks untuk meshgrid

idx = find(u > q/2); u(idx) = u(idx) - q; idy = find(v > p/2); v(idy) = v(idy) - p;

% Peroleh array meshgrid

[V, U] = meshgrid(v, u); D = sqrt(V.^2 + U.^2); ambang = d0 * p;

Hlr = exp(-(D.^2) ./ (2 * ambang ^ 2)); % Lolos-rendah

Hlt = 1 - Hlr; % Lolos-tinggi

Ff = fft2(Fs, p, q); G = Hlt .* Ff;

F = real(ifft2(G)); F = uint8(F(1:a, 1:b));

12.

Fungsi mse_psnr.m

function [MSE, PSNR] = mse_psnr(citra_asli, Ihat) [a b] = size(citra_asli);

mseRImage = (double(citra_asli(:,:,1)) - double(Ihat(:,:,1))) .^ 2; mseGImage = (double(citra_asli(:,:,2)) - double(Ihat(:,:,2))) .^ 2; mseBImage = (double(citra_asli(:,:,3)) - double(Ihat(:,:,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; PSNR = 10 * log10( 255^2 / MSE); end


(5)

CURRICULUM VITAE

1. DATA PRIBADI

Nama Lengkap

: NURUL ULFAH PRIMADINI

Nama Panggilan

: Dini

Tempat/Tgl. Lahir

: Yogyakarta / 31 Januari 1991

Jenis Kelamin

: Perempuan

Agama

: Islam

Warga Negara

: Indonesia

Alamat

: Komplek Wisma Lapai Jaya Blok i/2 Padang 25142

No. Telp./HP

: - / 081267448080

Email

: nu.primadini@gmail.com

Status

: Belum Menikah

No.

Nama Sekolah

Tahun

1.

SD Pertiwi 2 Padang

1997 - 2003

3.

SMP Nurul Ikhlas Tanah Datar

2003 - 2006

4.

SMA Nurul Ikhlas Tanah Datar

2006 - 2009

5.

S1 Ilmu Komputer Universitas Sumatera Utara

2010 - 2015

No.

Instansi/Unit

Jabatan/Posisi

Tahun

1.

IKLC (Ilmu Komputer

Laboratory Center

)

Asisten Laboratorium (Sistem

Database)

2013

2.

IKLC (Ilmu Komputer

Laboratory Center

)

Asisten Laboratorium (Sistem

Manajemen Database)

2013

No.

Nama Kursus/Pelatihan/Seminar

Tahun

1.

Seminar Teknologi Informasi “The Development of Modern

Operating System Technology: Android - The New Trend in

Modern Operating System”.

2011

2.

Seminar Nasional Kongres Nasional ILP2MI “Pencaplokan

Budaya”

2013

3.

Pelatihan Jurnalistik

METRO TV ON CAMPUS

2013

PENGALAMAN KERJA


(6)

No

SKILL

Keterangan

1.

Bahasa

Indonesia, English, Arab

2.

Pemrograman

Pascal, Matlab,

3.

Database

MySQL

Demikian daftar riwayat hidup ini saya buat dengan sebenarnya.

Hormat saya,