IMPLEMENTASI ORDER-STATISTIC FILTERS UNTUK
MEREDUKSI NOISE PADA CITRA DIGITAL
SKRIPSI
JUNI SANTO SIHOTANG 091401017
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ORDER-STATISTIC FILTERS UNTUK MEREDUKSI NOISE PADA CITRA DIGITAL
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
JUNI SANTO SIHOTANG 091401017
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ORDER-STATISTIC FILTERS
UNTUK MEREDUKSI NOISE PADA CITRA DIGITAL
Kategori : SKRIPSI
Nama : JUNI SANTO SIHOTANG
Nomor Induk Mahasiswa : 091401017
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di Medan, Juli 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Wirdasari, S.Si, M.Kom Dian Rachmawati, S.Si, M.Kom NIP 198209232010122002 NIP. 198307232009122004
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ORDER-STATISTIC FILTERS 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 disebutkan sumbernya.
Medan, 20 Mei 2013
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Kuasa atas segala berkat dan kasih karuniaNya 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, DTM&H, MSc(CTM). Sp.A(K) selaku Rektor Universitas Sumatera Utara
2. Bapak Prof.Dr.Muhammad Zarlis, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu Komputer Universitas Sumatera Utara.
5. Ibu Dian Rachmawati, S.Si, M.Kom, dan Ibu Dian Wirdasari, S.Si, M.Kom, selaku Dosen Pembimbing.
6. Bapak Dr.Poltak Sihombing, M.Kom dan Bapak Handizal, S.Si, M.Comp. Sc, selaku Dosen Penguji.
7. Bapak saya Rejion Sihotang , ibu saya Ubat Munthe, kakak saya Ade Irma Sihotang, abang saya Steven Sihotang, S.Kom dan adik-adik saya yang selalu memberikan cinta kasihnya dan dukungannya baik material dan spiritual serta seluruh sahabat saya Renti Meliwati Purba dan kerabat yang berjasa memberikan dorongan kepada penulis selama menyelesaikan skripsi ini.
8. Rekan-rekan kuliah, khususnya Ales Sotardodo Panjaitan, Isman Santoso Nainggolan, Jhonri Sibarani, Samuel Tarigan, Jakup Ginting, Septian Panjaitan, Santo Nainggolan dan teman-teman di UKM KMK USU kak Debora Nainggolan, S.Kom, Bertua Novita Simanjuntak, yang selalu memberikan semangat dan dorongan kepada penulis.
Semoga Tuhan Yang Maha Kuasa memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 05 Juni 2013
ABSTRAK
Noise Salt-and-pepper atau Noise Gaussian adalah noise yang sering ada dijumpai pada citra digital. Citra yang memiliki noise biasanya terjadi karena kesalahan teknik dalam pengambilan citra atau karena citra sudah disimpan terlalu lama. Untuk mereduksi noise dibutuhkan suatu metode filter yang tepat agar citra yang dihasilkan sesuai dengan aslinya. Metode Order-Statistic Filters merupakan filter non-linier yang hasilnya ditentukan sesuai pada pengurutan pixel yang bmengisi area citra yang berada diruang lingkup filter dan kemudian mengganti nilai dari pusat pixel dengan nilai yang ditentukan dari hasil perangkingan. Metode Order-Statistic Filters salah satu metode untuk mereduksi noise, yang terdiri dari Median Filter, Mean Filter, Max Filter, Min Filter dan Midpoint Filter. Dengan metode Order-Statistic Filters dibangunlah aplikasi filtering yang digunakan untuk mereduksi Noise Salt-and-pepper atau Noise Gaussian. Hasil implementasi dengan menggunakan teknik Median Filter dapat mereduksi Noise Salt-and-pepper lebih baik dibandingkan dengan teknik filter yang lain dalam Order-Statistic Filters. Sedangkan Mean Filter dapat mereduksi Noise Gaussian lebih baik dibandingkan dengan teknik filter yang lain dalam Order-Statistic Filters.
IMPLEMENTATION OF ORDER-STATISTIC FILTERS TO REDUCE NOISE IN DIGITAL IMAGES
ABSTRACT
Salt-and-pepper Noise or Gaussian Noise is noise there is usually found in digital images. Noise on the image usually occurs due to errors in image acquisition technique or because the image has been stored too long. To reduce noise we need a proper filter method so that the image resulted in accordance with the original. Order-Statistic Filters method is a non-linear filter whose results determined in accordance with the sorting image pixels that fil the area that are in the scope of the filter and then change the value of the center pixel with the value determined from the results of the rangking. Order-Statistic Filters method is one method to reduce noise, which consists of the Median Filter, Mean filter, Max filter, Min filter and Midpoint filter. By Order-Statistic Filters method built filtering application used to reduce Salt-and-pepper Noise or Gaussian Noise. Implementation results using Median filter technique can reduce Noise Salt-and-pepper id better then the other filter techniques in the Order-Statistic Filters.While the Mean filter to reduce noise better than other filters techniques in the Order-Static Filters.
Keyword : Image Processing
DAFTAR ISI
Bab II Landasan Teori 2.1 Pengolahan Citra 5
2.1.1 Defenisi Pengolahan Citra 5
2.1.2 Tujuan Pengolahan Citra 5
2.1.3 Manfaat Pengolahan Citra 6
2.2 Citra Digital 7
2.2.1 Citra Digital Berformat Bitmap 8
2.6.2 Peak Signal to Noise Ratio 21
Bab III Analisis dan Perancangan Sistem
3.1 Analisis Sistem 22
3.1.1 Analisis Masalah 22
3.1.2 Analisis Persyaratan 22
3.1.2.1 Persyaratan Fungsional 23
3.1.2.2 Persyaratan Nonfungsional 23
3.1.3 Analisis Proses 24
3.1.3.1 Use Case Diagram 25
3.1.3.2 Squence Diagram 26
3.1.3.3 Activity Diagram 26
3.2 Pseudocode Program 27
3.2.1 Pseudocode Mean Filter 28
3.2.2 Pseudocode Median Filter 29
3.2.3 Pseudocode Max Filter 30
3.2.4 Pseudocode Min Filter 31
3.2.5 Pseudocode Midpoint Filter 32
3.2.6 Pseudocode Mean Squared Error 33
3.2.7 Pseudocode Peak Signal to Noise Ratio 34
3.3 Perancangan Sistem 34
3.3.1 Perancangan Flowchart Sistem 34
3.3.2 Rancangan Interface Aplikasi 36 3.3.2.1 Rancangan interface form preloader 36 3.3.2.2 Rancangan interface form utama 37 3.3.2.3 Rancangan interface form membangkitkan Noise
Salt-and-pepper 39
3.3.2.4 Rancangan interface form membangkitkan Noise
Gaussian 41
3.3.2.5 Rancangan interface form hitung nilai MSE & PSNR 42 3.3.2.6 Rancangan interface form bantuan 44 3.3.2.7 Rancangan interface form programmer 44 Bab IV Implementasi dan Pengujian
4.1Implementasi 46
4.1.6 Form Cara Menggunakan Sistem 50
4.1.7 FormProgrammer 51
4.2. Pengujian 51
4.2.1 Proses Pembangkitan Noise Salt-and-Pepper 52 4.2.2 Proses Pembangkitan Noise Gaussian 52 4.2.3 Proses Order-Statistic Filters 55
4.2.3.2 Proses Mean Filter 58
4.2.3.3 Proses Max Filter 59
4.2.3.4 Proses Min Filter 61
4.2.3.5 Proses Midpoint Filter 63
4.2.3.4 Proses Perhitungan Nilai MSE dan PSNR 64
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 90
5.2. Saran 92
DAFTAR TABEL
Nomor
4.1
Perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Median Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Median Filter
Perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Mean Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Mean Filter
Perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Max Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Max Filter
Perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Min Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Median Filter
Perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Midpoint Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Salt-and-pepper dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Midpoint Filter
Perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Median Filter
Lanjutan perbandingan Citra Digital yang memiliki Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Median Filter
Nomor
Tabel Nama Tabel Halaman
4.14
Lanjutan perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Mean Filter
Perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Max Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Max Filter
Perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Min Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Min Filter
Perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Midpoint Filter
Lanjutan perbandingan Citra Digital yang memiliki Noise Gaussian dengan probabilitas Noise yang berbeda dan setelah Noise direduksi dengan Midpoint Filter
Perbandingan Rata-rata Nilai MSE dari Order-Statistic Filter untuk Mereduksi Noise Salt-and-pepper pada Citra Bitmap ukuran 250x250 pixel
Perbandingan Rata-rata Nilai PSNR dari Order-Statistic Filter untuk Mereduksi Noise Salt-and-pepper pada Citra Bitmap ukuran 250 x 250 pixel
Perbandingan Rata-rata Nilai MSE dari Order-Statistic Filter untuk Mereduksi Noise Gaussian dengan Citra Bitmap 250 x 250 pixel
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
Citra yang terkena Gaussian Noise Citra yang terkena Salt-and-Pepper Noise
Matriks citra ukuran 10x8 dengan 8 skala keabuan Matriks citra 3 x 3 dari citra ukuran 10x8 dengan 8 skala keabuan
Pemilihan kernel 3x3 dan mengurutkan nilaipixel Hasil median filter untuk kernel 3x3 pertama Penggeseran dan pengurutan 1 pixel ke kanan
Penempatan hasil filter median pada matriks baru untuk tahap kedua
Penempatan hasil median filter 1 baris ke kanan Hasil median filter sampai pada pojok kanan Proses mean filter dengan matriks 3x3 Proses max filter dengan matriks 3x3 Proses min filter dengan matriks 3x3 Proses midpoint filter dengan matriks 3x3 Use case diagram sistem
Squence diagram sistem Activity diagram sistem Flowchart sistem
Rancangan Interface Form Preloader Rancangan Interface Form Utama
Rancangan Interface Form Membangkitkan Noise Salt-and-Pepper
Rancangan Interface Form Membangkitkan Noise Gaussian Rancangan Interface Form Menghitung Nilai MSE dan PSNR Rancangan Interface Form Bantuan Form Menghitung nilai MSE dan PSNR Form Cara menggunakan sistem
Form Programmer Juns.bmp
Penginputan citra tanpa noise dan probabilitas noise Salt-and-Pepper
Hasil pembangkitan Noise Salt-and-pepper pada citra
4.11
Penginputan citra tanpa noise dan probabilitas Noise Gaussian Hasil Pembangkitan Noise Gaussian Pada citra
Tampilan penginputan citra dengan Noise Salt-and-pepper Tampilan penginputan citra dengan Noise Gaussian
Proses median filter pada citra dengan Noise Salt-and-pepper Proses median filter pada citra dengan Noise Gaussian Proses mean filter pada citra dengan Noise Salt-and-pepper Proses mean filter pada citra dengan Noise Gaussian Proses max filter pada citra dengan Noise Salt-and-pepper Proses max filter pada citra dengan Noise Gaussian Proses min filter pada citra dengan Noise Salt-and-pepper Proses min filter pada citra dengan Noise Gaussian
Proses midpoint filter pada citra dengan Noise Salt-and-pepper Proses midpoint filter pada citra dengan Noise Gaussian
Proses perhitungan nilai MSE dan PSNR
Grafik perbandingan Rata-rata Nilai MSE dari Order-Statistic Filter untuk Mereduksi Noise Salt-and-pepper pada Citra Bitmap ukuran 250 x 250 pixel
Grafik perbandingan Rata-rata Nilai PSNR dari Order-Statistic Filter untuk Mereduksi Noise Salt-and-pepper pada Citra Bitmap ukuran 250 x 250 pixel
Grafik perbandingan Rata-rata Nilai MSE dari Order-Statistic Filter untuk Mereduksi Noise Gaussian pada Citra Bitmap ukuran 250 x 250 pixel
Grafik perbandingan Rata-rata Nilai PSNR dari Order-Statistic Filter untuk Mereduksi Noise Gaussian pada Citra Bitmap ukuran 250 x 250 pixel
DAFTAR LAMPIRAN
1. Listing Program A-1
ABSTRAK
Noise Salt-and-pepper atau Noise Gaussian adalah noise yang sering ada dijumpai pada citra digital. Citra yang memiliki noise biasanya terjadi karena kesalahan teknik dalam pengambilan citra atau karena citra sudah disimpan terlalu lama. Untuk mereduksi noise dibutuhkan suatu metode filter yang tepat agar citra yang dihasilkan sesuai dengan aslinya. Metode Order-Statistic Filters merupakan filter non-linier yang hasilnya ditentukan sesuai pada pengurutan pixel yang bmengisi area citra yang berada diruang lingkup filter dan kemudian mengganti nilai dari pusat pixel dengan nilai yang ditentukan dari hasil perangkingan. Metode Order-Statistic Filters salah satu metode untuk mereduksi noise, yang terdiri dari Median Filter, Mean Filter, Max Filter, Min Filter dan Midpoint Filter. Dengan metode Order-Statistic Filters dibangunlah aplikasi filtering yang digunakan untuk mereduksi Noise Salt-and-pepper atau Noise Gaussian. Hasil implementasi dengan menggunakan teknik Median Filter dapat mereduksi Noise Salt-and-pepper lebih baik dibandingkan dengan teknik filter yang lain dalam Order-Statistic Filters. Sedangkan Mean Filter dapat mereduksi Noise Gaussian lebih baik dibandingkan dengan teknik filter yang lain dalam Order-Statistic Filters.
IMPLEMENTATION OF ORDER-STATISTIC FILTERS TO REDUCE NOISE IN DIGITAL IMAGES
ABSTRACT
Salt-and-pepper Noise or Gaussian Noise is noise there is usually found in digital images. Noise on the image usually occurs due to errors in image acquisition technique or because the image has been stored too long. To reduce noise we need a proper filter method so that the image resulted in accordance with the original. Order-Statistic Filters method is a non-linear filter whose results determined in accordance with the sorting image pixels that fil the area that are in the scope of the filter and then change the value of the center pixel with the value determined from the results of the rangking. Order-Statistic Filters method is one method to reduce noise, which consists of the Median Filter, Mean filter, Max filter, Min filter and Midpoint filter. By Order-Statistic Filters method built filtering application used to reduce Salt-and-pepper Noise or Gaussian Noise. Implementation results using Median filter technique can reduce Noise Salt-and-pepper id better then the other filter techniques in the Order-Statistic Filters.While the Mean filter to reduce noise better than other filters techniques in the Order-Static Filters.
Keyword : Image Processing
BAB I
PENDAHULUAN
1.1Latar Belakang
Penggunaan citra pada perkembangan teknologi informasi saat ini semakin meningkat, yaitu penggunaan citra untuk media cetak ataupun media online yang bertujuan untuk menarik minat masyarakat untuk mengetahui informasi yang disajikan. Kualitas citra yang disajikan sangat mempengaruhi informasi, sehingga pengambilan dan pengolahan citra harus dilakukan dengan teknik yang baik. Ketika capturing atau pengambilan sebuah citra dengan kamera atau citra yang telah disimpan dalam waktu cukup lama, seringkali tidak dapat langsung digunakan sebaigaimana yang diinginkan karena kualitasnya belum memenuhi standar untuk kebutuhan pengolahan [1].
Dalam pengambilan citra dengan kamera sering terjadi hal-hal yang tidak sesuai dengan yang diharapkan karena adanya gangguan yang terjadi pada citra hasil capture. Beberapa kemungkinan gangguan yang terjadi pada hasil pengambilan citra dengan kamera yaitu adanya kabut yang menghalangi objek yang sedang di capture, lensa kamera kotor, adanya bintik-bintik yang disebabkan oleh proses capturing yang tidak sempurna, lensa kamera tidak fokus atau gangguan yang disebabkan oleh kotoran-kotoran yang menempel pada citra, dan lain sebagainya. Setiap gangguan yang terjadi pada citra tersebut dinamakan Noise. Secara umum citra yang demikian dapat dikatakan kualitasnya masih rendah, baik oleh karena adanya noise, maupun oleh sebab lainnya seperti pencahayaan yang belum sempurna atau karena citra yang sudah tersimpan dengan waktu yang cukup lama. Citra yang memiliki kualitas seperti ini membutuhkan langkah-langkah perbaikan dan kualitasnya perlu ditingkatkan untuk memfasilitasi pengolahan yang akan dilakukan.
Eva Listiyani, S1- Sistem Komputer, Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya dan Perbandingan Metode Low-Pass Filter Dan Median Filter Dalam Penghalusan Citra (Image Smoothing) Untuk Peningkatan Kualitas Citra (Image Enhancement) oleh Anisa Fitri, Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia. Penelitian lain juga oleh Ana Wahyu Hakim yaitu Penghapusan Noise Pada Citra Dengan Filter Adaptive-Hierarchical, Fakultas Teknologi Informasi Institute Teknologi Sepuluh Nopember. Untuk itu maka dalam tugas akhir ini peneliti tertarik mengangkat suatu teknik lain untuk mengatasi masalah-masalah noise pada citra yaitu “Implementasi Order-Statistic Filters untuk Mereduksi Noise pada Citra Digital”.
1.2 Perumusan Masalah
Berdasarkan uraian pada latar belakang masalah, maka penulis membuat rumusan masalah yang nantinya akan diselesaiakan pada penulisan skripsi ini, yaitu :
1. Bagaimana cara mereduksi noise dengan teknik Order-Statistic Filters pada citra digital yang memiliki noise?
2. Bagaimana perbandingan kualitas citra sebelum dan sesudah proses reduksi noise dengan beberapa filter yang merupakan bagian dari Order-Statistic Filters?
3. Filter apa yang lebih baik untuk mereduksi Noise Salt-and-pepper atau Noise Gaussian dalam Order-Statistic Filters?
1.3 Batasan Masalah
Batasan masalah penelitian dalam tugas akhir ini adalah :
1. Order-Statistic Filters yang dibahas dalam tugas akhir ini adalah Median Filter, Mean Filter, Max Filter, Min Filter, dan Midpoint Filter.
2. Citra digital yang digunakan adalah citra (image) yang berektensi *BMP dengan ukuran dimensi maksimal 300 x 300 pixel.
3. Noise yang akan direduksi adalah Gaussian Noise dan Salt and Paper Noise. 4. Sistem tidak membahas noise yang terdapat dalam citra.
6. Menggunakan kernel 3x3 dari matriks nilai pixel citra.
7. Bahasa pemrograman yang digunakan untuk sistem yaitu membangkitkan dan mereduksi noise adalah Microsoft Visual C# .Net 2010.
1.4 Tujuan Penelitian
Penelitian ini dilaksanakan dengan tujuan sebagai berikut :
1. Mengetahui filter apa saja dari Order-Statistic Filters yang dapat mereduksi Noise dengan baik.
2. Membuat aplikasi untuk memberikan solusi terhadap masyarakat dalam memperbaiki citra (image) yang terkena noise.
3. Membandingkan hasil reduksi citra yang memiliki noise dari Median Filter, Mean Filter, Max Filter, Min Filter, dan Midpoint Filter.
1.5 Manfaat Penelitian
Tugas akhir ini diharapkan akan mampu memberikan solusi berupa aplikasi dan informasi bagaimana cara mereduksi noise pada citra digital yang dapat memberikan kemudahan untuk memperbaiki citra menjadi citra yang lebih bagus dan lebih bermanfaat. Melalui penelitian ini juga dapat diketahui bagaimana perbandingan kualitas citra hasil reduksi dengan beberapa teknik atau metode yang merupakan bagian dari teknik Order-Statistic Filters.
1.6 Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :
Bab I Pendahuluan
Berisi latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian dan sistematika penulisan.
Bab II Landasan Teori
Bab III Analisis dan Perancangan
Berisi tentang analisis mengenai proses kerja dari teknik Order-Statistic Filters yang terdiri dari Use Case Diagram, Squential Diagram, Activity Diagram, Pseudocode Program, Flowchart dan perancangan tampilan form dari aplikasi.
Bab IV Implementasi dan Pengujian
Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan. Kemudian melakukan pengujian sistem.
Bab V Kesimpulan dan Saran
BAB II
LANDASAN TEORI
2.1 Pengolahan Citra
2.1.1 Definisi Pengolahan Citra
Pengolahan citra adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar (peningkatan kontras, transformasi warna, restorasi citra), transformasi gambar (rotasi, translasi, skala, transformasi geometri), melakukan pemilihan ciri citra (feature images) yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau dekripsi objek atau pengenalan objek yang terkandung dalam citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data. Input dari pengolahan citra adalah citra, dan output-nya adalah citra hasil pengolahan [10].
2.1.2 Tujuan Pengolahan Citra
Namun sayangnya, kebanyakan citra belum sesuai dengan hasil yang diharapkan. Hal ini dapat terjadi karena beberapa kemungkinan, misalnya adanya noise, adanya kabut yang menghalangi objek yang sedang di-capture, lensa kamera kotor dan lain-lain. Oleh karena itu, maka proses pengolahan citra sangat diperlukan. Disiplin ilmu yang melahirkan teknik-teknik untuk mengolah citra dinamakan Pengolahan Citra Digital (Digital Image Processing).
2.1.3 Manfaat Pengolahan Citra
Manfaat pengolahan citra terdapat dalam berbagai bidang tertentu yang dapat dijelaskan sebagai berikut.
1. Pengolahan Citra Digital dalam dunia Komunikasi
Pengolahan Citra dalam dunia komunikasi dapat digunakan untuk dapat memperjelas foto permukaan bumi yang dihasilkan dari satelit cuaca atau memperjelas foto planet-planet yang dihasilkan satelit penyelidik. Foto-foto tersebut pada umunya hampir tidak dapat dilihat karena pada saat foto tersebut dikirim ke stasiun bumi melalui gelombang terjadi banyak gangguan di perjalanan. Gangguan ini disebabkan oleh gelombang lain, misalnya gelombang radio, televisi dan lain-lain yang bercampur dengan gelombang data tersebut sehingga menyebabnya terjadinya noise (gangguan). Selain itu pengolahan citra juga bermanfaat untuk proses transmisi data.
2. Pengolahan Citra Digital dalam dunia Fotografi
Dalam dunia fotografi pengolahan citra digunakan sebagai pengganti kamera filter. Filter kamera digunakan untuk membuat film hitam putih, memberi efek berkabut, dan memberi cahaya pada bagian tertentu pada foto dan berbagai fungsi yang dapat memberikan manfaat yang penting bagi dunia fotografi.
3. Pengolahan Citra Digital dalam dunia Kedokteran
Dalam dunia kedokteran pengolahan citra digunakan untuk memperjelas foto hasil X-ray organ tubuh manusia, pengolahan hasil CT- scan dan lainnya yang bertujuan untuk memberikan kemudahan untuk mendeteksi gangguan dan penyakit manusia. 4. Pengolahan Citra Digital dalam dunia Film
5. Pengolahan Citra Digital dalam Keamanan Data dan proteksi Hak Cipta
Seringkali data yang dikirim dari suatu tempat ke tempat lain merupakan data rahasia sehingga keamanannya perlu dijamin. Teknik keamanan data dan proteksi hak cipta yang biasanya digunakan adalah Steganografi dan Watermarking.
6. Pengolahan Citra Digital dalam Pengenalan Pola
Pengolahan citra yang termasuk dalam bidang ini adalah jaringan saraf tiruan seperti pengenalan pola huruf, pola wajah, pola sidik jari, pola iris mata, dan sebagainya [10].
2.2 Citra Digital
Sebuah citra dapat didefenisikan sebagai fungsi dua dimensi f(x,y), dimana x dan y adalah koordinat spasial, dan amplitude dari f pada sembarang pasangan koordinat (x,y) disebut intensity (intensitas) atau gray level (level keabuan) dari citra pada titik tersebut. Ketika (x,y) dan nilai intensitas dari f adalah semua terbatas maka itu disebut digital image (citra digital). Citra digital terdiri dari sejumlah elemen tertentu, setiap elemen memiliki lokasi dan nilai tertentu. Elemen-elemen ini disebut picture elements, image elements, dan pixels. Pixel adalah istilah yang sudah digunakan secara meluas untuk menyatakan elemen citra digital [9].
Gambar 2.1. Citra ukuran 200 x 300 pixel
2.2.1 Citra Digital Berformat Bitmap (.bmp)
Citra Bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per pixel). Citra bitmap sering disebut juga dengan citra raster. Citra bitmap direpresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk manipulasi warna dan tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara Scanner, Camera Digital, Video Capture dan lain-lain [10]. Berikut ini ada contoh sebuah citra bitmap.
2.2.2 Picture Elements (Pixel)
Pixel (Picture Elements) adalah nilai tiap-tiap entri matriks pada bitmap[6]. Rentang nilai-nilai pixel pada citra dipengaruhi oleh banyaknya warna yang bisa ditampilkan. Suatu bitmap dapat menampilkan 256 warna sehingga nilai-nilai pixel-nya dibatasi dari 0-255. Suatu citra bitmap akan mampu menampilkan warna lebih banyak, karena bitmap mempunyai kerapatan pixel yang tinggi.
2.2.3 Dimensi dan Resolusi
Dimensi bitmap merupakan ukuran bitmap yang dinotasikan dengan menulis lebar x tinggi bitmap. Satuan ukur dimensi bitmap adalah berupa satuan ukur metris maupun pixel. Dimensi yang digunakan oleh bitmap mewakili ordo matriks citra itu sendiri. Model matriks untuk bitmap dipengaruhi oleh kerapatan pixel atau resolusi. Kerapatan pixel ini digunakan bitmap dalam mendekati kekontinyuan. Semakin besar resolusi suatu bitmap, obyek yang ditampilkan citra tersebut semakin akurat. Resolusi merupakan kerapatan titik-titik pada citra, yang menunjukkan seberapa tajam citra akan mampu ditampilkan[6].
2.3 Noise
Pada saat proses capture (pengambilan gambar), ada beberapa gangguan yang mungkin terjadi, seperti kamera tidak fokus atau munculnya bintik-bintik yang bisa jadi disebabkan oleh proses capture yang tidak sempurna. Setiap gangguan pada citra dinamakan dengan noise. Noise pada citra tidak hanya terjadi karena ketidak-sempurnaan dalam proses capturing, tetapi bisa juga disebabkan oleh kotoran-kotoran yang terjadi pada citra. Berikut ini adalah jenis-jenis noise dan penjelasannya.
2.3.1 Gaussian Noise
fungsi citra ditambahkan dengan noise yang ada, atau dapat dirumuskan sebagai berikut.
f(i,j) = g(i,j) +p.a
………... (1)Keterangan : a = nilai bilangan acak berdistribusi gaussian
p = prosentase noise f(i,j) = nilai citra terkena noise
g(i,j) = nilai citra sebelum terkena noise
Untuk mengenali bagaimana jenis noise gaussian maka Gambar 2.3 berikut ini adalah contoh gambar yang terkena Noise Gausssian.
Gambar 2.3 Citra yang terkena Gaussian Noise
2.3.2 Salt-And-Pepper Noise
Fungsi Probabilitas Kepadatan (Probability Density Function (PDF)) noise (bipolar) impulse diberikan oleh :
�
(
�
) =
�
�
�
��0
………..………... (2)
Dimana, p(z) adalah fungsi probabilitas kepadatan noise, Pa adalah probabilitas noise jenis a (pepper) dan Pb adalah probabilitas noise b (salt). Jika b > a, intensitas b
akan tampak sebagai titik terang pada citra. Sebaliknya, level a akan tampak seperti titik gelap. Jika selain Pa atau Pb nol, impulse noise disebut juga unipolar. Jika probability selain nol, dan khususnya diperkirakan sama, nilai impulse noise akan mirip butiran Salt-and-pepper secara acak yang terdistribusi pada citra. Dengan alasan inilah noise bipolar impulse disebut juga dengan Noise Salt-and-pepper[4].
Noise impulse bisa negatif atau positif. Penskalaan biasanya adalah bagian dari proses digitasi citra. Karena korupsi impulse biasanya besar dibandingkan dengan kekuatan sinyal citra, noise impulse umumnya didigitasi sebagai nilai ekstrem ( hitam atau putih) dalam citra. Sebagai hasilnya, impulse negatif tampak sebagai titik hitam (pepper /merica) dalam citra sedangkan impulse positif tampak sebagai titik putih ( salt /garam) [4]. Untuk mengenali bagaimana Noise Salt-and-pepper, Gambar 2.4 berikut ini contoh citra yang terkena Noise Salt-and-pepper.
Gambar 2.4 Citra yang terkena Salt-and-pepper Noise
Noise salt & pepper dapat dibangkitkan dengan cara membangkitkan bilangan 255 (warna putih) pada titik-titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan dirumuskan dengan:
f(x,y)=255 jika p(x,y) < ProbNoise ...………. (3) f(x,y)=Tetap jika p(x,y) > ProbNoise
2.4 Sorting
Sorting merupakan pengurutan suatu data dengan cara atau metode tertentu untuk mengurutkan data yang sebelumnya tidak berurutan. Berikut ini ada beberapa metode sorting yang biasa dipakai untuk mengurutkan data.
2.4.1 Bubble Sorting
Bubble Sort merupakan algoritma pengurutan yang paling sederhana. Proses pengurutan bubble sort ini berangsur-angsur berpindah pada posisi yang tepat seperti gelembung yang naik keatas didalam gelas yang berisi air bersoda. Bubble Sort mengurutkan data dengan cara membandingkan elemen pertama dengan elemen berikutnya. Jika elemen yang pertama lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, cara ini merupakan metode bubble sorting secara ascending. Tetapi jika elemen yang pertama lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, cara ini merupakan metode pengurutan bubble sorting secara descending. Proses bubble sort selesai jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang dapat dilakukan.
2.4.2 Selection Sort
Metode pengurutan secara selection sort merupakan kombinasi antara sorting dan searching. Dalam setiap proses, akan dicari elemen-elemen yang belum terurut yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Pembandingan dan pengubahan dilakukan hanya pada indeks pembanding dan pertukaran nilai data secara fisik terjadi pada akhir proses sorting.
2.4 Filtering
piksel tertentu dan menempatkan atau mengantikan fungsi citra tersebut pada piksel-piksel tertentu. Dalam pengolahan citra ada beberapa teknik filtering yang dapat digunakan untuk memperbaiki kualitas citra yaitu Order-Statistic Filters, Adaptive Median Filter dan teknik filter lainnya. Teknik-teknik filtering ini pada umumnya bertujuan untuk menghilangkan noise yang terdapat dalam citra dan juga untuk menghaluskan citra.
2.5 Order-Statistic Filters
Order-statistic filter pada umumnya adalah filter spasial non-linier yang hasilnya didasarkan pada urutan (rangking) pixel yang mengisi area citra yang diapit filter dan kemudian mengganti nilai dari pusat pixel dengan nilai yang ditentukan oleh hasil perangkingan. Beberapa Order-Statistic Filter yang digunakan adalah Median Filter yang berguna untuk memilih nilai tengah , Mean Filter yaitu dengan menghitung nilai rata-rata yang diliputi filter, Max Filter untuk memilih nilai terbesar, Min Filter untuk memilih nilai terkecil , dan Midpoint Filter menghitung titik tengah antara nilai maksimum dan minimum dalam daerah yang diliputi filter tersebut [3]. Berikut ini merupakan contoh pengurutan nilai pixel citra dengan Order-statistic. Citra keabuan (f(x,y) yang berukuran 10x8 mempunyai 8 skala keabuan akan diurutkan menggunakan Order-Statistic dengan contoh kernel 3 x 3.
Gambar 2.5 Matriks citra ukuran 10x8 dengan 8 skala keabuan
5 3 3
4 2 1
6 3 0
Gambar 2.6 Matriks citra 3 x 3 dari citra ukuran 10x8 dengan 8 skala keabuan
2.5.1 Median Filter
Filter yang paling dikenal dalam kategori Order-Statistic adalah Median filter. Sesuai dengan namannya, filter ini mengganti nilai pixel dengan Median dari nilai intensitas dalam tetangga dari pixel tersebut. (nilai asli dari pixel tersebut termasuk dalam perhitungan median). Filter median sangat terkenal karena untuk jenis tertentu dari random noise, filter median memberikan kemampuan untuk pengurangan noise yang sangat bagus dengan memperhatikan bluring. Pada bagian tertentu median filter juga baik untuk menghilangkan Salt-and-pepper Noise karena sifat median yang menjauhi hitam dan putih.
Median dari sekumpulan nilai adalah nilai yang berada ditengah dari sekumpulan nilai yang diurutkan. Untuk tujuan melakukan filter median pada sebuah titik pada citra maka yang pertama dilakukan adalah mengurutkan nilai pixel dalam tetangga (termasuk titik pusatnya) menentukan median dan memasukkan nilai hasilnya pada pixel yang berkorespondensi (titik pusat tetangga) dalam citra yang di-filter [8]. Formula yang digunakan untuk Median di-filter adalah :
�′(�,�) = ������ { �(�,�)}………...……….… (4)
(s,�) ∈ ���
Dimana,
f ’(x,y) : hasil median filter g (s,t) : sub-image Sxy S
xy : window daerah yang diliputi oleh filter
atas. Kemudian diurutkan dan cari nilai tengah dari pixel-pixel tersebut. Proses untuk mendapatkan f’(x,y) dapat diperlihatkan seperti pada gambar berikut.
Gambar 2.7 Pemilihan kernel 3x3 dan mengurutkan nilai pixel
Hasil filter median pada f(1,1) adalah f’(1,1) = 3, sehingga 2 diganti dengan 3, ditempatkan pada matriks yang baru, hasilnya dapat diperlihatkan seperti pada Gambar 2.8 berikut.
Gambar 2.8 Hasil Median filter untuk kernel 3x3 pertama
Gambar 2.9 Penggeseran dan pengurutan 1 pixel ke kanan
Hasil filter median f(1,2) adalah f’(1,2) = 3, sehingga 1 digati dengan 3, ditempatkan pada matriks yang baru. Proses untuk mendapatkan f’(x,y) dapat diperlihatkan seperti pada gambar berikut.
5 3 3 0 4 4 0 5 2 2 4 3 3 3 6 0 7 0 7 0 7 4 6 2 6 5 1 3 2 4 4 1 0 0
Gambar 2.10 Penempatan hasil Median filter pada matriks baru untuk tahap
kedua
5 3 3 0 4 4 0 5 2 2 4 3 3 3 3 4 2 3 2 3 6 0 7 0 7 0 7 4 6 2 6 5 1 3 2 4 4 1 0 0
Gambar. 2.11 Penempatan hasil Median filter 1 baris ke kanan
Selanjutnya geser f(x,y) ukuran 3x3 kebawah satu pixel, dan mulai lagi mengurutkan dan mencari nilai tengah dari pixel-pixel tersebut. Kemudian, geser f(x,y) ukuran 3x3 ke kanan, demikian seterusnya hingga f(x,y) ukuran 3x3 sampai pada pojok kanan bawah. Hasilnya dapat diperlihatkan pada gambar sebagai berikut.
5 3 3 0 4 4 0 5 2 2 4 3 3 3 3 4 2 3 2 3 6 3 1 1 2 3 2 3 2 0 7 4 1 1 1 3 2 3 2 0 7 5 4 1 2 3 3 3 3 0 7 5 4 5 5 6 3 3 2 4 6 5 4 4 4 6 4 2 2 2 6 5 1 3 2 4 4 1 0 0
Gambar 2.12 Hasil Median filter sampai pada pojok kanan
2.5.2 Mean Filter
garis atau kurva dan juga bisa digunakan untuk mereduksi noise [10]. Untuk filter ini dapat menggunakan rumus berikut.
�
′(
�
,
�
) =
1��
∑
{
�
(
�
,
�
)}
……….………(5)(s,�) ∈ ���
Keterangan,
f ’(x,y) : hasil median filter
mn : ukuran panjang dan lebar window g (s,t) : sub-image Sxy
S
xy
Hasil pemilihan filter rata-rata dari contoh pemilihan kernel sebelumnya pada Gambar 6 diperlihatkan pada gambar berikut.
: window daerah yang diliputi oleh filter
Gambar 2.13. Proses Mean filter dengan matriks 3x3
2.5.3 Max Filter
Dalam Order-Statistic, median merepresentasikan urutan ke 50% dari rangking sejumlah angka. Dari situ dapat diambil pengertian bahwa ada urutan ke 100% yang merupakan nilai terbesar dari rangking sejumlah angka ( selanjutnya menjadi Max Filter). Untuk filter ini dapat menggunakan rumus:
�′(�,�) = max { �(�,�)}………..………….………(6)
(s,�) ∈ ���
Keterangan,
Sxy
max : nilai tertinggi dari citra yang diliput filter : window daerah yang diliputi oleh filter
Dari proses pengurutan pertama diatas contoh sebelumya pada Gambar 6, dapat diperoleh nilai maksimumnya adalah 6. Proses pengurutan dan pemilihan nilai terbesar dapat diperlihatkan pada gambar berikut.
Gambar 2.14 Proses max filter dengan matriks 3x3
2.5.4 Min Filter
Dalam Order-Statistic, median merepresentasikan urutan ke 50% dari rangking sejumlah angka. Dari situ dapat diambil pengertian bahwa ada urutan 0% yang merupakan nilai terkecil dari rangking sejumlah angka (selanjutnya menjadi min filter).
Untuk filter ini dapat menggunakan rumus:
�′(�,�) = min { �(�,�)}……….………(7)
(s,�) ∈ ���
Keterangan,
f ’(x,y) : hasil min filter g (s,t) : sub-image Sxy S
xy
min : nilai terkecil dari citra yang diliput filter : window daerah yang diliputi oleh filter
Gambar 2.15 Proses min filter dengan matriks 3x3
2.5.5 Midpoint Filter
Secara sederhana filter midpoint bertujuan untuk menghitung titik tengah antara nilai maksimum dan nilai minimum dalam daerah citra yang diliputi oleh filter. Untuk filter ini dapat menggunakan rumus :
�′(�,�) =1
2 [ max { �(�,�)} + min { �(�,�)}]………..….…(8) (s,�) ∈ ��� (s,�)∈ ���
Dari proses pemilihan dan pengurutan kernel pertama pada Gambar 6, dapat diperoleh hasil midpoint-nya adalah 3. Proses pengurutan dan pemilihan nilai tengah antara nilai maksimum dan nilai minimum dapat diperlihatkan pada gambar berikut.
2.6 Mean Squared Error (MSE) dan Peak Signal to Noise Ratio (PSNR)
Mean Squared Error dan Peak Signal to Noise Ratio adalah dua parameter yang sering digunakan untuk mengetahui perbandingan kualitas hasil citra filter. Berikut ini merupakan penjelasan dari kedua parameter tersebut.
2.6.1 Mean Squared Error (MSE)
Perbaikan citra pada dasarnya merupakan proses yang berifat objektif sehingga parameter keberhasilannya bersifat objektif pula. Untuk itu perlu adanya tolak ukur kuantitif yang bisa digunakan untuk mengukur kinerja prosedur perbaikan citra. Tolak ukur ini disebut MSE (Mean Squared Error) yang dinyatakan dengan persamaan berikut.
���
=
1���
∑
��=1.
∑
��=1(
�
�(i,j) -
�
�(i,j))
2
………...………(9)
M dan N adalah ukuran panjang dan lebar citra.
��(i,j) = intensitas citra di titik (i,j) sebelum citra terkena noise
��(i,j) = intensitas citra di titik (i,j) setelah noise dihilangkan.
Semakin kecil nilai MSE, semakin bagus prosedur perbaikan citra yang digunakan. Artinya, kualitas citra setelah mengalami perbaikan noise hampir sama dengan kualitas citra aslinya [10].
2.6.2 Peak Signal to Noise Ratio (PSNR)
dengan kualitas citra aslinya. Secara matematis, nilai PSNR dapat dirumuskan sebagai berikut:
����
=
20Keterangan,
log 10
�
255√���
�
………..………...(10)BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Sebelum melakukan tahap perancangan sebuah sistem, hal pertama yang perlu dilakukan adalah analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Fase awal dalam analisis sistem ini adalah fase analisis masalah yang bertujuan untuk mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Kemudian dilanjutkan dengan fase analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user). Analisis selanjutnya dan merupakan analisis terakhir adalah analisis proses yang akan dikerjakan sistem.
3.1.1 Analisis Masalah
Masalah yang akan diselesaikan dengan menggunakan sistem ini adalah masalah reduksi noise pada citra digital yang memiliki noise gaussian dan Noise Salt-and-pepper menjadi citra yang lebih bagus tanpa memiliki noise. Dalam sistem ini file citra yang memiliki noise tersebut akan direduksi dengan menggunakan teknik Order-Statistic Filter yang didalamnya terdapat beberapa teknik filtering yaitu, Median Filter, Mean Filter, Max Filter, Min Filter dan Midpoint Filter.
3.1.2 Analisis Persyaratan
(functional requirement) dan persyaratan non-fungsional (nonfunctional requirement). Persyaratan fungsional merupakan deskripsi mengenai aktivitas dan layanan yang harus diberikan/ disediakan oleh sebuah sistem, dan persyaratan non-fungsional merupakan deskripsi mengenai fitur, karakteristik, dan batasan lainnya yang menentukan apakah sistem memuaskan atau tidak.
3.1.2.1 Persyaratan Fungsional
Dalam sistem reduksi noise pada citra digital dengan teknik Order-Statistic Filters ini terdapat beberapa hal yang menjadi persyaratan fungsional yang harus dipenuhi, antara lain :
1. Citra digital yang akan direduksi adalah citra digital berformat BMP yang memiliki Noise Gaussian atau Noise Salt-and-pepper.
2. Ukuran citra yang akan direduksi noise-nya adalah citra yang berukuran ≤ 300 x 300 pixel
3. Menggunakan kernel 3x3 dari matriks nilai pixel citra.
4. Menggunakan perhitungan dengan metode Mean Squared Error (MSE) dan Peak Signal to Noise Ratio (PSNR) sebagai pembanding kualitas file citra sebelum dan sesudah noise direduksi.
5. Hasil reduksi noise dapat disimpan dengan citra yang berekstensi .jpg dan .bmp.
3.1.2.2 Persyaratan Nonfungsional
Persyaratan fungsional meliputi performa, mudah untuk dipelajari dan digunakan, hemat biaya, dokumentasi, manajemen kualitas, dan kontrol.
1. Performa
Sistem atau perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses pembangkitan noise pada citra dan proses reduksi noise pada citra digital yang memiliki noise.
2. Mudah digunakan (User friendly)
Sistem yang dimaksud adalah sistem yang memiliki interface yang menarik dan memiliki cara penggunaan yang mudah dalam pengoperasian sistem.
3. Hemat biaya
Sistem atau perangkat lunak yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat pendukung lainnya yang dapat mengeluarkan biaya. 4. Dokumentasi
Sistem atau perangkat lunak yang dibangun dapat menyimpan citra digital yang merupakan hasil reduksi noise dari citra yang memiliki noise dengan format file jpg atau bmp.
5. Manajemen kualitas
Sistem atau perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses reduksi noise-nya memiliki nilai MSE yang kecil dan nilai PSNR yang besar.
6. Kontrol
Perangkat lunak yang dibangun memiliki kontrol berupa enable and disable, yaitu ketika citra belum di-input maka tombol fungsi pada sistem dalam keadaan tidak aktif atau disable, setelah citra di-input, maka tombol fungsi tertentu yang merupakan bagian dari fungsi reduksi noise akan aktif.
3.1.3 Analisis Proses
diurutkan, kemudian mengganti nilai dari pusat pixel dengan nilai yang ditentukan oleh hasil perangkingan. Kemudian proses Midpoint filter yaitu mencari nilai tengah antara Max filter dengan Min filter, kemudian mengganti nilai dari pusat pixel tersebut.
3.1.3.1 Use Case Diagram
Use case adalah tehnik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi tipikal antara pengguna sistem dengan sistem itu sendiri, dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan[8]. Gambar 3.1 berikut ini merupakan use case diagram dari sistem yang telah dibangun.
3.1.3.2 Squence Diagram
Squence diagram merupakan diagram yang menunjukkan bagaimana kelompok-kelompok objek saling berkolaborasi dalam beberapa behavior. Squence diagram secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewat objek-objek tersebut didalam use case[7]. Gambar 3.2 berikut ini merupakan sequence diagram dari sistem yang telah dibangun.
{}
Gambar 3.2 Squence diagram sistem
3.1.3.4 Activity Diagram
User System
Bangkitkan Noise
Reduksi Noise
Menampilkan citra hasil filter
Menghitung MSE & PSNR Menginput Citra
Citra Bernoise Citra Tidak Bernoise
Input Probabilitas Noise
Hitung MSE & PSNR Input Citra Asli
Input citra Hasil Filter
Menampilkan Nilai MSE & PSNR
Gambar 3.3 Activity diagram sistem
3.2 Pseudocode Program
3.2.1 Pseudocode Mean Filter
Pada Mean filter (filter rata) nilai intensitas setiap pixel diganti dengan rata-rata dari nilai intensitas pixel tersebut dengan pixel-pixel tetangganya. Berikut ini merupakan pseudocode program untuk Mean filter.
Pada pseudocode Mean filter memiliki perulangan bersarang yaitu untuk mengambil matriks ukuran 3x3 dari ukuran matriks citra, kemudian melakuan perhitungan rata-rata untuk keseluruhan nilai pixel citra yang terdapat dalam matriks 3x3 tersebut. Setelah nilai rata-rata didapatkan maka akan di-replace pada nilai titik pusat matriks pada titik (i, j). Program akan berulang terus sampai pada ukuran citra yang akan di-filter.
3.2.2 Pseudocode Median Filter
Pada pseudocode program Median filter, pertama nilai pixel citra diambil dari layer R , B atau G, dari kernel 3x3 selanjutnya dilakukan pengurutan secara ascending dan diambil nilai mediannya kemudian di-replace pada posisi pusat kernel 3x3 tersebut. Demikian seterusnya berulang-ulang sampai pada lebar dan tinggi citra yang dapat dicakup filter.
3.2.3 Pseudocode Max Filter
Dalam Order-Statistic, median merepresentasikan urutan ke 50% dari rangking sejumlah angka. Dari situ dapat diambil pengertian bahwa ada urutan ke 100% yang merupakan nilai terbesar dari rangking sejumlah angka ( selanjutnya menjadi max filter). Berikut ini merupakan pseudocode program max filter.
Pada pseudocode program max filter, pertama nilai pixel citra diambil dari layer R , B atau G, dari kernel 3x3 selanjutnya dilakukan pengurutan secara ascending dan diambil nilai mediannya kemudian di-replace pada posisi pusat kernel 3x3 tersebut. Demikian seterusnya berulang-ulang sampai pada lebar dan tinggi citra yang dapat dicakup filter
3.2.4 Pseudocode Min Filter
Dalam Order-Statistic, median merepresentasikan urutan ke 50% dari rangking sejumlah angka. Dari situ dapat diambil pengertian bahwa ada urutan 0% yang
merupakan nilai terkecil dari rangking sejumlah angka (selanjutnya menjadi min filter). Berikut ini merupakan pseudocode program Min filter.
3.2.5 Pseudocode Midpoint Filter
Secara sederhana filter midpoint bertujuan untuk menghitung titik tengah antara nilai maksimum dan nilai minimum dalam daerah citra yang diliputi oleh filter. Berikut ini merupakan pseudocode program midpoint filter.
3.2.6 Pseudocode Mean Squared Error (MSE)
Berikut ini merupakan pseudocode dari program mean squared error.
3.2.6 Pseudocode Peak Signal Noise to Ratio (PSNR)
Berikut ini merupakan pseudocode dari program Peak Signal Noise to Ratio.
3.3 Perancangan Sistem
Hal yang pertama dilakukan dalam perancangan sistem untuk tugas akhir ini adalah membuat flowchart sistem. Selanjutnya dapat melakukan perancangan aplikasi.
3.3.1 Perancangan Flowchart Sistem
Pada bagian ini akan dijelaskan urutan dan langkah-langkah pembuatan sistem yang dijelaskan pada flowchart sistem kemudian akan dijelaskan dalam bagian-bagian flowchart teknik filter yang digunakan. Kemudian dilanjutkan dengan membuat rancangan interface sistem yang dibangun.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunkan flowchart akan memberikan kemudahan dalam melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Disamping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek [12]. Gambar 3.4 berikut ini merupakan flow chart dari sistem yang akan dibangun.
double nilai_PSNR, cross
Mulai
Mean Filter f’(x,y) =1/mn ∑ g(s,t) (s,t) € Sxy
Ya Tidak
Max Filter f’(x,y) = max g(s,t) (s,t) € Sxy
Tidak
Ya
Min Filter f’(x,y) = min g(s,t) (s,t) € Sxy
Tidak Hitung MSE & PSNR ?
Input Citra Asli
Keterangan flowchart sistem :
Dalam sistem ini terdapat teknik filter yang digunkan untuk mereduksi noise pada citra digital yang memiliki noise yaitu teknik Order-Statistic Filters. Proses untuk mereduksi noise dengan sistem yang akan dibangun yaitu hal yang pertama dilakukan adalah menginputkan file citra berekstensi bmp yang memiliki noise gausssian atau noise salt-and-pepper , kemudian melakukan proses filtering dengan teknik median filter, mean filter, max filter, min filter atau midpoint filter. Selanjutnya setelah proses filtering maka citra hasil reduksi akan ditampilkan, kemudian untuk proses perhitungan nilai MSE dan PSNR user sebelumnya harus memiliki citra asli yaitu citra sebelum terkena noise, jika ada citra asli maka citra asli terlebih dahulu dibuka dan proses perhitungan dapat dilakukan sistem, kemudian sistem akan menampilkan hasil MSE dan PSNR citra. Jika user tidak memiliki citra asli (citra sebelum terkena noise) maka prosess kerja sistem selesai, karena sistem tidak akan dapat melakukan perhitungan nilai MSE dan PSNR tanpa citra asli.
3.3.2 Rancangan Interface Aplikasi
Sistem ini dirancang dalam 7 form yaitu form preloader, form utama, form membangkitkan noise salt-and-pepper, form membangkitkan noise gaussian, form Menghitung MSE dan PSNR , form bantuan dan form programmer.
3.3.2.1 Rancangan interface form Preloader
Gambar 3.5 Rancangan Interface Form Preloader
Keterangan :
1) Merupakan label untuk keterangan judul skripsi 2) Merupakan label untuk penempatan logo
3) Merupakan label untuk keterangan nama dan nim
4) Merupakan timer untuk membuat selang waktu tertentu dan kemudian akan me-load form utama.
3.3.2.2 Rancangan interface form utama
FIle Hitung MSE & PSNR Fitur Tambahan
Median Filter Mean Filter Max Filter Min Filter Midpoint Filter
Reset
Gambar 3.6 Rancangan Interface Form Utama
Keterangan :
1) Merupakan Tools Strip Menu Item untuk membuat pilihan menu / perintah yang terdapat pada File
2) Merupakan Sub-menu item dari File yang berfungsi untuk membuka file citra/ gambar
3) Merupakan Sub-menu item dari File yang berfungsi untuk menyimpan file citra/ gambar hasil filtering
4) Merupakan Sub-menu item dari File yang berfungsi untuk keluar dari system 5) Merupakan Tools Strip Menu Item untuk membuka form Hitung MSE dan PSNR 6) Merupakan Tools Strip Menu Item untuk membuat pilihan menu / perintah yang
terdapat pada Fitur Tambahan
7) Merupakan Sub-menu item dari Bangkitkan Noise yang berfungsi untuk membuka form membangkitkan noise salt-and-pepper pada citra.
9) Merupakan Tools Strip Menu Item untuk membuat pilihan menu / perintah yang terdapat pada Bantuan
10)Merupakan Sub-menu item dari Bantuan yang berfungsi untuk menampilkan bagai mana cara atau langkah-langkah penggunaan sistem
11)Merupakan Sub-menu item dari Bantuan yang berfungsi untuk menampilkan tentang pembuat sistem
12)Merupakan Picture Box yang digunakan untuk menampilkan citra/ gambar ber-noise yang akan dibuka
13)Merupakan Picture Box yang digunakan untuk menampilkan citra/ gambar hasil filtering atau hasil reduksi noise
14)Merupakan Label yang digunakan sebagai keterangan dari proses yang telah dikerjakan sistem
15)Merupakan Text Box yang digunakan untuk menampilkan keterangan dari proses yang telah dikerjakan sistem
16)Merupakan Label yang digunakan sebagai keterangan ukuran citra
17)Merupakan Text Box yang digunakan untuk menampilkan nilai lebar citra 18)Merupakan Text Box yang digunakan untuk menampilkan nilai tinggi citra 19)Merupakan Button yang berfungsi untuk melakukan proses median filter 20)Merupakan Button yang berfungsi untuk melakukan proses mean filter 21)Merupakan Button yang berfungsi untuk melakukan proses max filter 22)Merupakan Button yang berfungsi untuk melakukan proses min filter 23)Merupakan Button yang berfungsi untuk melakukan proses midpoint filter 24)Merupakan Button yang berfungsi untuk me-reset sistem, dimana sistem
kembali pada keadan normal belum melakukan proses apa-apa selain membuka citra.
25)Merupakan Button yang berfungsi untuk keluar dari sistem
3.3.2.3 Rancangan interface form Membangkitkan Noise Salt-And-Pepper
sehingga nantinya dapat melaukan perhitungan nilai MSE dan PSNR sebagai parameter keberhasilan sistem/ aplikasi dalam mereduksi noise. Gambar 3.7 berikut ini merupakan rancangan interface form membangkitkan Noise Salt-and-pepper.
Buka Citra
Bangkitkan Noise
Simpan
%
1
2
3
4
5
6 Probabilitas Noise
Selesai 7
Gambar 3.7 Rancangan Interface Form Membangkitkan Noise Salt-And-Pepper
Keterangan :
1)Merupakan Picture Box yang digunakan untuk menampilkan citra/ yang akan diberikan noise
2)Merupakan Label yang berfungsi untuk memberikan keterangan untuk inputan probabilitas noise
3)Merupakan Text Box yang berfungsi untuk sebagai besarnya probabilitas noise yang akan dibangkitkan
4)Merpakan Button yang berfungsi untuk membuka citra digital yang akan diberikan noise
5)Merpakan Button yang berfungsi membangkitkan noise salt-and-pepper pada citra 6) Merupakan Button yang berfungsi untuk menyimpan citra yang telah diberikan
noise salt-and-pepper
3.3.2.4 Rancangan interface form Membangkitkan Noise Gaussian
Untuk mengetahui keberhasilan sistem dalam mereduksi noise dengan Order-Statistic Filters, maka pada sistem/ aplikasi ini juiga ada fitur tambahan untuk membangkitkan Noise Gaussian pada citra digital. Dengan demikian user dapat mengatahui bagaimana kondisi citra sebelum dan sesudah adanya pemberian noise gaussian pada citra, sehingga nantinya juga dapat melaukan perhitungan nilai MSE dan PSNR sebagai parameter keberhasilan sistem/ aplikasi dalam mereduksi noise. Gambar 3.8 berikut ini merupakan rancangan interface form membangkitkan Noise Gaussian.
Buka Citra
Bangkitkan Noise
Simpan
%
1
2
3
4
5
6 Probabilitas Noise
Selesai 7
Gambar 3.8 Rancangan Interface Form Membangkitkan Noise Gaussian
Keterangan :
1)Merupakan Picture Box yang digunakan untuk menampilkan citra/ yang akan diberikan Noise Gaussian
2)Merupakan Label yang berfungsi untuk memberikan keterangan besar probabilitas inputan noise
4)Merpakan Button yang berfungsi untuk membuka citra digital yang akan diberikan noise
5)Merpakan Button yang berfungsi untuk membangkitkan noise gaussian pada citra 6)Merupakan Button yang berfungsi untuk menyimpan citra yang telah diberikan
Noise Gaussian
7)Merupakan Button yang berfungsi untuk kembali ke menu utama dari sistem
3.3.2.5 Rancangan interface form Hitung nilai MSE dan PSNR
Perbaikan citra pada dasarnya merupakan proses yang berifat objektif sehingga parameter keberhasilannya bersifat objektif pula. Untuk itu perlu adanya tolak ukur kuantitif yang bisa digunakan untuk mengukur kinerja prosedur perbaikan citra. Tolak ukur ini disebut MSE (Mean Squared Error) dan PSNR ( Peak Signal Noise to Ratio). Berikut ini merupakan rancangan interface form Hitung nilai MSE dan PSNR.
Buka Citra Asli
Gambar 3.9 Rancangan interface form Menhhitung nilai MSE dan PSNR
Keterangan :
1) Merupakan Picture Box yang berfungsi untuk menampilkan citra asli yang dibuka 2) Merupakan Picture Box yang berfungsi untuk menampilkan citra hasil median
filter
4) Merupakan Picture Box yang berfungsi untuk menampilkan citra hasil max filter 5) Merupakan Picture Box yang berfungsi untuk menampilkan citra hasil min filter 6) Merupakan Picture Box yang berfungsi untuk menampilkan citra hasil midpoint
filter
7) Merupakan Button yang berfungsi untuk membuka citra hasil median filter 8) Merupakan Button yang berfungsi untuk membuka citra hasil mean filter 9) Merupakan Button yang berfungsi untuk membuka citra hasil max filter 10)Merupakan Button yang berfungsi untuk membuka citra hasil min filter 11)Merupakan Button yang berfungsi untuk membuka citra hasil midpoint filter 12)Merupakan Label yang berfungsi untuk memberikan keterangan nilai MSE 13)Merupakan Label yang berfungsi untuk memberikan keterangan nilai PSNR 14)Merupakan Text Box yang berfungsi untuk menampilkan nilai MSE dari hasil
median filter
15)Merupakan Text Box yang berfungsi untuk menampilkan nilai PSNR dari hasil mediann filter
16)Merupakan Text Box yang berfungsi untuk menampilkan nilai MSE dari hasil mean filter
17)Merupakan Text Box yang berfungsi untuk menampilkan nilai PSNR dari hasil mean filter
18)Merupakan Text Box yang berfungsi untuk menampilkan nilai MSE dari hasil max filter
19)Merupakan Text Box yang berfungsi untuk menampilkan nilai PSNR dari hasil max filter
20)Merupakan Text Box yang berfungsi untuk menampilkan nilai MSE dari hasil min filter
21)Merupakan Text Box yang berfungsi untuk menampilkan nilai PSNR dari hasil min filter
22)Merupakan Text Box yang berfungsi untuk menampilkan nilai MSE dari hasil midpoint filter
3.3.2.6 Rancangan interface form Bantuan
Agar user dapat lebih mudah dalam memahami penggunaan sistem/ aplikasi ini maka didalm sistem terdapat form bantuan. Berikut ini merupakan rancangan interface form bantuan.
1
2 Selesai
Gambar 3.10 Rancangan Interface Form Bantuan
Keterangan :
1) Merupakan Rich Text Box yang berfungsi untuk menampilkan cara penggunaan sistem/ aplikasi
2) Merupakan Button yang berfungsi untuk kembali ke form utama
3.3.2.7 Rancangan interface form Programmer
Selesai
1 2
3
Keterangan :
1) Merupakan Picture Box yang berfungsi untuk menampilkan foto pembuat sistem/ aplikasi
2) Merupakan Rich Text Box yang berfungsi untuk menampilkan identitas pembuat program
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Setelah tahap analisis dan perancangan sistem selesai maka tahap selanjutnya adalah implementasi terhadap sistem yang telah dibangun. Sistem ini dibangun dengan menggunakan Microsoft Visual C# .Net 2010. Pada sistem terdapat 7 form yang digunakan yang terdiri dari form preloader, form utama, form membangkitkan noise salt-and-pepper, form membangkitkan noise gaussian, form menghitung nilai MSE dan PNSR, form bantuan dan form programmer.
4.1.1 Form Preloader
Form preloader merupakan form yang pertama kali muncul ketika sistem dijalankan. Pada form ini terdapat timer yang berfungsi untuk memberikan selang waktu sebelum menu utama muncul. Dalam form preloader ini terdapat keterangan judul skripsi, logo USU dan nama mahasiswa. Berikut ini merupakan tampilan form preloader dari sistem.
4.1.2 Form Menu Utama
Setelah form preloader selesai maka form menu utama langsung muncul. Form utama merupakan bagian utama dari sistem yang didalamnya merupakan fungsi-funsi utama dari sistem yang dibangun. Pada form ini terdapat menu bar yang terdiri dari menu file yang terdiri dari beberapa sub-menu ( buka citra, simpan dan keluar), menu hitung nilai MSE dan PSNR, menu fitur tambahan yang terdiri dari 2 sub-menu ( Bangkitkan Noise Salt-and-pepper atau Noise gaussian ), serta menu bantuan yang terdiri dari 2 sub-menu ( cara menggunakan sistem dan programmer). Selain menu bar terdapat beberapa fungsi utama sistem yaitu berupa button yang terdiri dari Median filter, Mean filter, Max filter, Min filter dan Midpoint filter. Pada form ini juga terdapat button reset yang berfungsi untuk me-reset sistem dan button exit untuk keluar dari sistem. Gambar 4.2 berikut ini merupakan tampilan menu utama dari sistem yang telah dibangun.
4.1.3 Form Membangkitkan Noise Salt-and-pepper
Pada form ini citra atau gambar yang sama sekali tidak memiliki Noise Salt-and-pepper dapat dibangkitkan dengan probabilitas noise tertentu sehingga citra menjadi memiliki noise. Dalam form ini terdapat button yang berfungsi untuk membuka citra atau gambar yang akan diberikan noise . Setelah citra terbuka maka dapat diinputkan probabilitas Noise Salt-and-pepper yang diinginkan kemudian Noise Salt-and-pepper dibangkitkan dengan button bangkitkan noise. Citra yang sudah ber-noise dapat disimpan dengan button simpan dan button selesai untuk kembali ke menu utama. Gambar 4.3 berikut ini merupakan tampilan dari form membangkitkan noise salt-and-pepper.
Gambar 4.3 Form membangkitkan noise salt-and-pepper
4.1.4 Form Membangkitkan Noise Gaussian
membuka citra atau gambar yang akan diberikan noise . Setelah citra terbuka maka dapat diinputkan probabilitas noise gaussian yang diinginkan kemudian noise gaussian dibangkitkan dengan button bangkitkan noise. Citra yang sudah ber-noise gaussian dapat disimpan dengan button simpan dan button selesai untuk kembali ke menu utama. Gambar 4.4 berikut ini merupakan tampilan dari form membangkitkan noise gaussian.
Gambar 4.4 Form membangkitkan Noise Gaussian
4.1.5 Form Hitung Nilai MSE dan PSNR
form ini terdapat button selesai. Gambar 4.5 berikut ini merupakan tampilan dari form hiutng nilai MSE dan PSNR.
Gambar 4.5 Form Menghitung nilai MSE dan PSNR
4.1.6 Form Cara menggunakan sistem
Form ini bertujuan untuk memberikan keterangan cara atau langkah-langkah untuk penggunaan sistem yang telah dibangun. Untuk mengakses form ini dapat dilakukan dengan memilih bantuan pada menu bar kemudian memilih sub-menu cara
menggunakan sistem. Gambar 4.6 berikut ini merupakan tampilan form cara menggunakan sistem.
4.1.7 Form Programmer
Form ini bertujuan untuk menampilkan identitas dari pembuat sistem. Untuk mengakses form ini dapat memilih programmer pada sub-menu bantuan pada menu bar. Gambar 4.7 berikut ini merupakan tampilan dari form programmer.
Gambar 4.7 Form Programmer
4.2 Pengujian
Pengujian sistem akan dilakukan pada citra digital berformat BMP (Bitmap). Citra digital yang akan diuji pada sistem ini adalah citra digital yang memiliki ukuran maksimal 300 x300 pixel. Berikut adalah kriteria dari citra digital ber-noise yang akan diuji dalam tugas akhir ini.
1. Format citra digital yang digunakan adalah berformat BMP.
2. Citra asli diberikan noise melalui aplikasi yang dibangun dengan probabilitas noise 5%, 10%, 15% dan 20% untuk noise Salt-and-pepper dan untuk noise Gaussian dibangkitkan pada citra dengan probabilitas noise 10%, 20%, 30%, dan 40%.
Gambar 4.8 Juns.bmp
4.2.1 Proses Pembangkitan Noise Salt-and-pepper
Proses pembangkitan Noise Salt-and-pepper ini dilakukan oleh pengguna sistem (user). Ketika user hendak akan membangkitkan Noise Salt-and-pepper pada citra maka user dapat membuka menu bangkitkan noise setelah aplikasi dijalankan, kemudian pilih Salt-and-pepper dan selanjutnya membuka file citra *.bmp yang belum memiliki noise, kemudian menginputkan probabilitas noise. Setelah probabilitas noise diinputkan maka Noise Salt-and-pepper dapat dibangkitkan. Gambar 4.9 berikut merupakan tampilan pengujian input citra dan input probabilitas noise yang akan dibangkitkan.