IMPLEMENTASI HARMONIC MEAN FILTER UNTUK MEREDUKSI
NOISE PADA CITRA BMP DAN PNG
SKRIPSI
Gamal Nasir
091401056
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI HARMONIC MEAN FILTER UNTUK MEREDUKSI NOISE
PADA CITRA BMP DAN PNG
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
GAMAL NASIR 091401056
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI HARMONIC MEAN FILTER
UNTUK MEREDUKSI NOISE PADA CITRA BMP DAN PNG
Kategori : SKRIPSI
Nama : GAMAL NASIR
Nomor Induk Mahasiswa : 091401056
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di Medan, April 2014 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahriol Sitorus, S.Si., M.IT Dr. Syahril Efendi, S.Si, M.IT
NIP. 19710310 199703 1 004 NIP. 19671110 199602 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI HARMONIC MEAN FILTER UNTUK MEREDUKSI NOISE
PADA CITRA BMP DAN PNG SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, April 2014
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar– besarnya kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1
Ilmu Komputer Universitas Sumatera Utara.
5. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Syahriol Sitorus, S.Si, M.IT selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
7. Bapak Herriyance, S.T, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
Bram Adha yang terus memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.
10.Dewi Ayu Pratami, S.Kom atas semangat, dukungan, perhatian, kasih sayang, pengertian, dan kesabaran terhadap penulis selama proses penyelesaian skripsi ini.
11.Teman-teman terdekat, terutama Muhammad Ican, Azhar Indra Rifangi, M. Febri Rahmansyah, Mustika Agung Maulana, S.Kom, Rima Mustika, Rudi Afriansyah, Ismail Fata Lubis, Fithri Rizqi Khairani Nst, S.Kom, serta teman-teman yang sedang menyelesaikan skripsi terutama stambuk 2009 dan teman-teman Pengurus IMILKOM tahun 2012-2013 atas semangat dan dorongannya sehingga penulis dapat menyelesaikan skripsi ini.
12.Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, April 2014
ABSTRAK
Reduksi noise merupakan suatu proses untuk mengurangi noise pada sebuah citra digital untuk meningkatkan kualitas citra yang merupakan langkah awal dalam citra digital. Dalam mengurangi noise tersebut diperlukan suatu metode untuk mereduksi noise yaitu dengan metode Harmonic Mean Filter. Dalam Harmonic Mean Filter nilai warna setiap piksel diganti dengan nilai warna pada setiap piksel diwilayah terdekat. Pada proses reduksi noise ini objek yang digunakan adalah citra berwarna yang berformat .bmp dan .png, dimana sistem akan menambahkan
noise yang terdapat pada sistem tersebut, yaitu Gaussian Noise atau Salt and Pepper Noise dengan nilai persentase noise yang berkisar antara 1-100%. Dalam mengukur nilai perbandingan kualitas citra hasil reduksi noise tersebut digunakan perhitungan nilai MSE, PSNR, dan Running Time. Berdasarkan dari hasil pengujian pada citra hasil reduksi noise dengan Harmonic Mean Filter berformat .bmp dan .png, nilai Running Time terkecil dimiliki oleh citra hasil reduksi noise Salt and Pepper. Harmonic Mean Filter juga sangat baik digunakan pada citra dengan Gaussian Noise karena menghasilkan nilai MSE dan PSNR lebih baik dibandingkan dengan citra dengan Salt and Pepper Noise.
IMPLEMENTATION OF HARMONIC MEAN FILTER TO REDUCE
NOISE ON BMP AND PNG IMAGE
ABSTRACT
Noise reduction is a process to reducing noise in a digital image to enhance the image quality that is the first step in the digital image. In reducing the noise we need a method for reducing noise named by Harmonic Mean Filter method. In Harmonic Mean Filter color values of each pixel is replaced by the value of the color at each pixel in the region nearby. In this noise reduction process the object that is used is the .bmp and. png format of true color image, which will add noise to the system contained in the system, namely Gaussian Noise or Salt and Pepper Noise with noise percentage values ranging from 1-100%. In measuring the value of image quality comparison of the image results of noise reduction used the calculation of MSE, PSNR, and Running Time. Based on the test results in image results of noise reduction with Harmonic Mean Filter to the image with .bmp and. png format, the smallest value of running time owned by the image of the Salt and Pepper noise reduction. Harmonic Mean Filter is also very good to use for the image with Gaussian noise because producing the value of MSE and PSNR better than the image with Salt and Pepper Noise.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab 1 Pendahuluan
1.1Latar Belakang 1
1.2Perumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 2
1.5Manfaat Penelitian 3
1.6Metode Penelitian 3
1.7Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Citra 5
2.2 Citra Digital 5
2.3 Representasi Citra Digital 6
2.4 Pengolahan Citra Digital 7
2.4.1 Kategori Pengolahan Citra 8
2.4.2 Penerapan Pengolahan Citra 9
2.5 Jenis-jenis Citra Digital 9
2.5.1 Citra Biner 10
2.5.2 Citra Grayscale 10
2.5.3 Citra Warna 11
2.6 Format File Citra 12
2.6.1 BMP (Bitmap) 12
2.6.2 PNG 13
2.7 Noise 14
2.7.1 Salt and Pepper Noise (Impulse Noise) 15
2.7.2 Gaussian Noise 16
2.8 Harmonic Mean Filter 17
2.9.3 Running Time 18
2.10 Penelitian yang Relevan 18
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 20
3.1.1 Analisis Masalah 20
3.1.2 Analisis Persyaratan 21
3.1.2.1 Persyaratan Fungsional 21
3.1.2.2 Persyaratan Non-Fungsional 22
3.1.3 Analisis Proses 22
3.1.3.1 Use Case Diagram 23
3.1.3.1.1 Use Case Tambah Noise 24 3.1.3.1.2 Use Case Buka Citra Awal 25 3.1.3.1.3 Use Case Input Persentase Noise 26 3.1.3.1.4 Use Case Pilih Noise 26 3.1.3.1.5 Use CaseGaussian Noise 27 3.1.3.1.6 Use Case Salt and Pepper Noise 28 3.1.3.1.7 Use Case Simpan Citra Bernoise 29 3.1.3.1.8 Use Case Reduksi Noise 29 3.1.3.1.9 Use Case Buka Citra Bernoise 30 3.1.3.1.10 Use Case Harmonic Mean Filter 31 3.1.3.1.11 Use Case Hitung MSE, PSNR, dan
Running Time 32
3.1.3.1.12 Use Case Simpan Citra Hasil Reduksi 32
3.1.3.2 Activity Diagram 33
3.1.3.3 Sequence Diagram 35
3.1.3.4 Analisis Proses Reduksi Noise dengan Harmonic Mean
Filter 35
3.2 Pseudocode 37
3.2.1 Pseudocode Proses Tambah Noise Gaussian 37 3.2.2 Pseudocode Proses Tambah Noise Salt and Pepper 38 3.2.3 Pseudocode Proses Reduksi Noise 38
3.3 Perancangan Sistem 40
3.3.1 Flowchart Perancangan Sistem 40 3.3.2 Perancangan Antarmuka Sistem (Interface) 41
3.3.2.1 Halaman Menu Utama 41
3.3.2.2 Halaman Menu Tambah Noise 42 3.3.2.3 Halaman Menu Reduksi Noise 44
3.3.2.4 Halaman Menu Tentang 46
3.3.2.5 Halaman Menu Bantuan 47
Bab 4 Implementasi dan Pengujian
4.1Implementasi 49
4.2.1 Pengujian Proses Tambah Noise 54 4.2.2 Pengujian Proses Reduksi Noise 59 4.2.3 Pengujian Proses Reduksi Noise dengan Harmonic Mean Filter
dengan Gaussian Noise pada Citra Berformat BMP dan PNG 63 4.2.4 Pengujian Proses Reduksi Noise dengan Harmonic Mean Filter
dengan Salt and Pepper Noise pada Citra Berformat BMP dan
PNG 65
4.2.5 Perbandingan Rata-rata Nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Gaussian Noise 67 4.2.6 Perbandingan Rata-rata Nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Salt and Pepper Noise 68 4.2.7 Grafik Nilai MSE, PSNR, dan Running Time pada Citra Hasil
Reduksi Noise dengan Gaussian Noise dan Salt and Pepper
Noise 70
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 73
5.2 Saran 74
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10
Spesifikasi Use Case Tambah Noise Spesifikasi Use Case Buka Citra Awal Spesifikasi Use Case Input Persentase Noise
Spesifikasi Use Case Pilih Noise
Spesifikasi Use Case Gaussian Noise
Spesifikasi Use Case Salt and Pepper Noise
Spesifikasi Use Case SimpanCitra Bernoise Spesifikasi Use Case Reduksi Noise
Spesifikasi Use Case Buka Citra Bernoise Spesifikasi Use Case Harmonic Mean Filter
Spesifikasi Use Case Hitung MSE, PSNR, dan Running Time
Spesifikasi Use Case Simpan Hasil Reduksi
Perbandingan Nilai MSE, PSNR, dan Running Time pada Citra dengan Gaussian Noise dan Citra Hasil Reduksi dengan
Harmonic Mean Filter dengan Format BMP
Perbandingan Nilai MSE, PSNR, dan Running Time pada Citra dengan Gaussian Noise dan Citra Hasil Reduksi dengan
Harmonic Mean Filter dengan Format PNG
Perbandingan Nilai MSE, PSNR, dan Running Time pada Citra dengan Salt and Pepper Noise dan Citra Hasil Reduksi dengan
Harmonic Mean Filter dengan Format BMP
Perbandingan Nilai MSE, PSNR, dan Running Time pada Citra dengan Salt and Pepper Noise dan Citra Hasil Reduksi dengan
Harmonic Mean Filter dengan Format PNG
Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Gaussian Noise Berformat BMP Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Gaussian Noise Berformat PNG Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Salt and Pepper Noise Berformat BMP
Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Salt and Pepper Noise Berformat PNG
Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Gaussian Noise dan Salt and Pepper Noise pada Citra Berformat BMP
Nilai Rata-rata MSE, PSNR, dan Running Time pada Citra Hasil Reduksi Noise dengan Gaussian Noise dan Salt and Pepper Noise pada Citra Berformat PNG
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16
Koordinat Kartesius 2D dari Sebuah Citra Digital MxN Contoh Citra Biner
Contoh Citra Grayscale
Contoh Citra Warna Citra Dalam Format BMP Citra Dalam Format PNG Citra Tanpa Noise
Citra dengan Salt and Pepper Noise
Citra Tanpa Noise
Citra dengan Gaussian Noise Ishikawa Diagram
Use Case Diagram
Activity Diagram
Sequence Diagram
Flowchart Rancangan Sistem
Rancangan Antarmuka Halaman Menu Utama
Rancangan Antarmuka Halaman Menu Tambah Noise
Rancangan Antarmuka Halaman Menu Reduksi Noise
Rancangan Antarmuka Halaman Menu Tentang Rancangan Antarmuka Halaman Menu Bantuan Tampilan Menu Utama
Tampilan Halaman Menu Tambah Noise
Tampilan Halaman Menu Reduksi Noise
Tampilan Halaman Menu Tentang Tampilan Halaman Menu Bantuan Tampilan Pemilihan Citra
Tampilan File Citra Berformat BMP yang Telah Dipilih Tampilan File Citra Berformat PNG yang Telah Dipilih Tampilan File Citra Berformat BMP dengan Gaussian Noise
Tampilan File Citra Berformat PNG dengan Gaussian Noise
Tampilan File Citra Berformat BMP dengan Salt and Pepper Noise
Tampilan File Citra Berformat PNG dengan Salt and Pepper Noise
Tampilan Buka File Citra Bernoise
Tampilan Hasil Reduksi Noise dengan Gaussian Noise
Berformat BMP
Tampilan Hasil Reduksi Noise dengan Gaussian Noise
Berformat PNG
Tampilan Hasil Reduksi Noise dengan Salt and Pepper Noise
4.18 4.19 4.20 4.21
Grafik nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi noise dengan Gaussian Noise pada Format BMP Grafik nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi noise dengan Gaussian Noise pada Format PNG Grafik nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi noise dengan Salt and Pepper Noise pada Format BMP Grafik nilai MSE, PSNR, dan Running Time pada Citra Hasil Reduksi noise dengan Salt and Pepper Noise pada Format PNG
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
ABSTRAK
Reduksi noise merupakan suatu proses untuk mengurangi noise pada sebuah citra digital untuk meningkatkan kualitas citra yang merupakan langkah awal dalam citra digital. Dalam mengurangi noise tersebut diperlukan suatu metode untuk mereduksi noise yaitu dengan metode Harmonic Mean Filter. Dalam Harmonic Mean Filter nilai warna setiap piksel diganti dengan nilai warna pada setiap piksel diwilayah terdekat. Pada proses reduksi noise ini objek yang digunakan adalah citra berwarna yang berformat .bmp dan .png, dimana sistem akan menambahkan
noise yang terdapat pada sistem tersebut, yaitu Gaussian Noise atau Salt and Pepper Noise dengan nilai persentase noise yang berkisar antara 1-100%. Dalam mengukur nilai perbandingan kualitas citra hasil reduksi noise tersebut digunakan perhitungan nilai MSE, PSNR, dan Running Time. Berdasarkan dari hasil pengujian pada citra hasil reduksi noise dengan Harmonic Mean Filter berformat .bmp dan .png, nilai Running Time terkecil dimiliki oleh citra hasil reduksi noise Salt and Pepper. Harmonic Mean Filter juga sangat baik digunakan pada citra dengan Gaussian Noise karena menghasilkan nilai MSE dan PSNR lebih baik dibandingkan dengan citra dengan Salt and Pepper Noise.
IMPLEMENTATION OF HARMONIC MEAN FILTER TO REDUCE
NOISE ON BMP AND PNG IMAGE
ABSTRACT
Noise reduction is a process to reducing noise in a digital image to enhance the image quality that is the first step in the digital image. In reducing the noise we need a method for reducing noise named by Harmonic Mean Filter method. In Harmonic Mean Filter color values of each pixel is replaced by the value of the color at each pixel in the region nearby. In this noise reduction process the object that is used is the .bmp and. png format of true color image, which will add noise to the system contained in the system, namely Gaussian Noise or Salt and Pepper Noise with noise percentage values ranging from 1-100%. In measuring the value of image quality comparison of the image results of noise reduction used the calculation of MSE, PSNR, and Running Time. Based on the test results in image results of noise reduction with Harmonic Mean Filter to the image with .bmp and. png format, the smallest value of running time owned by the image of the Salt and Pepper noise reduction. Harmonic Mean Filter is also very good to use for the image with Gaussian noise because producing the value of MSE and PSNR better than the image with Salt and Pepper Noise.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling.Di dalam sebuah citra terdapat banyak informasi dan sering kali citra yang dimiliki mengalami penurunan kualitas citra misalnya terdapat noise. Dengan adanya
noise juga dapat mengakibatkan kualitas citra menjadi lebih buruk oleh karena itu diperlukan metode dalam memperbaiki kualitas citra tersebut agar tampilan citra menjadi lebih baik.
Pengurangan noise merupakan suatu proses untuk mereduksi noise pada sebuah citra digital untuk meningkatkan kualitas citra yang merupakan langkah awal dalam image processing. Ada beberapa jenis tipe noise yang sering kita jumpai pada citra digital yakni, Salt and Pepper Noise, Speckle Noise, Gaussian Noise, Gamma, Eksponensial, Rayleigh, dan Uniform. Noise-noise tersebut merupakan gangguan pada citra yang memerlukan teknik perbaikan.[5]
Dalam mengatasi noise tersebut perlu dilakukan usaha untuk memperbaiki kualitas citra itu dengan teknik filtering. Adapun teknik filtering
Dalam metode harmonic mean filter, nilai warna setiap piksel diganti dengan nilai warna harmonic mean filter pada setiap piksel di wilayah terdekat.
Harmonic Mean Filter lebih baik digunakan untuk menghilangkan jenis noise Gaussian dan membuat garis tepi dari pada arithmetic mean filter. Harmonic Mean Filter sangat baik untuk menghilangkan outlier positif.
Berdasarkan latar belakang yang telah penulis uraikan, maka dilakukan penelitian dengan judul “Implementasi Harmonic Mean Filter untuk Mereduksi
Noise pada Citra BMP dan PNG”.
1.2 Perumusan Masalah
Berdasarkan uraian pada latar belakang di atas, rumusan masalah yang akan dibahas adalah bagaimana menerapkan metode Harmonic Mean Filter untuk mereduksi noise pada citra BMP dan PNG.
1.3 Batasan Masalah
Adapun batasan masalah yang diangkat adalah sebagai berikut:
1. Jenis noise yang digunakan ada 2, yaitu Salt and Pepper Noise dan Gaussian Noise.
2. Format citra merupakan citra berwarna dalam format BMP dan PNG. 3. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman C#.
4. Parameter yang digunakan untuk membandingkan kualitas citra adalah Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR), dan running time
(waktu akses).
1.4 Tujuan Penelitian
Penelitian ini bertujuan untuk membuat sebuah perangkat lunak untuk mereduksi
noise pada citra digital dengan metode Harmonic Mean Filter pada citra BMP dan PNG.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah menghasilkan perangkat lunak untuk mereduksi
noise pada citra digital dengan menggunakan metode Harmonic Mean Filter.
1.6 Metode Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur
Pada tahap studi literatur dilakukan pengumpulan buku, jurnal, artikel, makalah, maupun situs internet yang membahas reduksi noise pada citra digital dengan metode Harmonic Mean Filter untuk dipelajari lebih lanjut. 2. Analisis dan Perancangan Sistem
Pada tahap analisis dan perancangan sistem akan dilaksanakan perancangan
flowchart, antar muka, UML dan perancangan sistem reduksi noise pada citra digital dengan menggunakan metode Harmonic Mean filter.
3. Implementasi Sistem
Pada tahap implementasi sistem ini dilakukan implementasi terhadap hasil analisis dan perancangan dengan cara melakukan penulisan program reduksi
noise pada citra digital (coding).
4. Pengujian Sistem
Dalam tahap pengujian sistem dilakukan pengujian terhadap sistem yang telah dibangun.
5. Dokumentasi
1.7 Sistematika Penulisan
Dalam penulisan skripsi ini penulis membagi membuat sistematika penulisan terbagi menjadi lima bab dengan susunan sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini membahas tentang latar belakang pemilihan judul, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini membahas tentang teori-teori yang berhubungan dengan citra, representasi citra digital, pengolahan citra digital, kategori pengolahan citra digital, penerapan citra digital, jenis-jenis citra, format file citra,
noise, Harmonic Mean Filter, MSE, PSNR, Running Time dan sebagainya.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisis proses reduksi noise pada citra BMP dan PNG dengan metode Harmonic Mean Filter, flowchart sistem, UML, serta perancangan antar muka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini membahas tentang hasil implementasi dan pengujian sistem serta pembahasan dari hasil yang diperoleh.
BAB 5 KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI
2.1 Citra
Citra atau gambar adalah sebuah fungsi dua dimensi, f(x,y), dimana x dan y koordinat bidang datar dan f di setiap pasangan koordinat disebut intensitas atau level keabuan dari gambar dititik itu. Pada bidang pemprosesan citra akan berfokus pada sebuah gambar atau lebih disebut dengan pemandangan visual.[1]
Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan.[10]
2.2 Citra Digital
Komputer digital bekerja dengan angka-angka presisi terhingga, dengan demikian hanya citra dari kelas dikrit yang dapat diolah dengan komputer. Citra dari kelas tersebut lebih dikenal sebagai citra digital. Citra digital dinyatakan dalam suatu array dua dimensi atau suatu matriks yang elemen-elemennya menyatakan tingkat keabuan (grayscale) dari warna masing-masing pixel. Pixel merupakan elemen terkecil dari suatu citra, yakni berupa titik-titik warna yang membentuk citra.[8]
secara langsung berkaitan dengan gambar, yang terdiri dari titik-titik gambar. Titik-titik gambar ini disebut dengan piksel, yang merupakan koordinat spasial yang menunjukkan posisi titik dalam gambar dan nilai intensitas (level keabuan).[12]
Jumlah pixel per unit panjang dari sebuah citra dikenal sebagai resolusi citra, biasanya dalam satuan pixel per inchi (ppi). Sebuah citra dengan resolusi tinggi terdiri atas banyak pixel kecil daripada citra dengan resolusi rendah. Citra digital ukuran 1 inchi x 1 inchi dengan resolusi 72 ppi memiliki total pixel 72 x 72 atau 5184 pixel. Citra digital dengan ukuran yang sama dan resolusinya 300ppi memiliki total pixel 90000 pixel.[7]
2.3 Representasi Citra Digital
Misalkan sebuah citra f(x,y) disampling sehingga menghasilkan gambar digital dengan M baris dan N kolom. Nilai dari koordinat (x,y) sekarang menjadi digital dengan M baris dan N kolom. Nilai dari koordinat (x,y) sekarang menjadi kuantitas diskrit, yang biasanya dinyatakan dengan bilangan bulat. Nilai Koordinat dititik asal (origin) adalah (x,y) = (0,0). Nilai koordinat berikutnya sepanjang baris pertama dari citra dinyatakan sebagai (x,y) = (0,1). Sebuah Citra Digital lengkpa ukuran MxN dapat ditulis dalam bentuk matriks berikut ini :
�(�,�) =�
�(0,0) �(0,1) … �(0,� −1) �(1,0) � (1,1) … �(1,� −1)
… … … …
�(� −1,0) �(� −1,1) … �(� −1,� −1)
�…………(1)
mempunyai range antara [0,L-1]. Sebagai contoh, sebuah citra yang mempunyai level keabuan L = 8, berarti nilai intensitas keabuan dari setiap pikselnya mempunyai range antara 0 – 7. Jumlah bit yang dibutuhkan untuk menyimpan gambar digital adalah b=MxNxk. Dimana M = jumlah baris citra, N=jumlah kolom citra dan k=jumlah bit yang dibutuhkan untuk menyatakan sebuah nilai keabuan.[1]
Lokasi piksel citra pada (M,N) yang dinotasikan dengan I(M,N)
Gambar 2.1 Koordinat Kartesius 2D dari Sebuah Citra Digital MxN
2.4 Pengolahan Citra Digital
ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang disampaikan menjadi berkurang.[5]
Adapun tujuan pengolahan citra digital, yakni:
1. Memperbaiki kualitas gambar dilihat dari aspek radiometrik (peningkatan kontras, transformasi warna, restorasi citra) dan dari aspek geometrik (rotasi, translasi, skala, transformasi geometrik).
2. Melakukan proses penarikan informasi atau deskripsi objek atau pengenalan objek yang terkandung pada citra.
3. Melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data.[1]
2.4.1 Kategori Pengolahan Citra
Pengolahan citra dapat dibagi ke dalam tiga kategori, yakni: 1. Kategori Rendah (Low-level Process)
Kategori ini melibatkan operasi-operasi sederhana seperti prapengolahan citra untuk mengurangi derau (noise), pengaturan kontras, dan pengaturan ketajaman citra. Pengolahan citra ketegori rendah ini memiliki input dan output berupa citra.
2. Kategori Menengah (Mid-level Process)
Pengolahan kategori menengah melibatkan operasi-operasi seperti segmentasi dan klasifikasi citra. Proses pengolahan citra menengah ini melibatkan input berupa citra dan output berupa atribut (fitur) citra yang dipisahkan dari citra input, misalnya edge, counters dan identitas dari objek tertentu.[6]
3. Kategori Tinggi (High-level Process)
2.4.2 Penerapan Pengolahan Citra
Berikut beberapa penerapan dari pengolahan citra [6]: 1. Bidang Biomedis
Pengolahan citra digital pada bidang ini digunakan untuk deteksi tumor atau kanker rahim, identifikasi penyakit paru-paru, identifikasi penyakit hati, identifikasi penyakit tulang, segmentasi tulang dari otot yang lainnya, klasifikasi gigi, dan analisis citra mikroskopis.
2. Bidang Penginderaan Jarak Jauh
Pengolahan citra digital pada bidang ini digunakan dengan menganalisis citra satelit dari pencemaran air laut, kerusakan wilayah, atau polusi udara. Aplikasi yang lain adalah identifikasi kapal laut melalui citra satelit.
3. Bidang Biometrika
Contoh penerapan citra digital pada bidang ini adalah pemanfaatan sidik jari, iris mata, wajah, dan biometrika yang lainnya untuk sistem identifikasi seseorang.
4. Bidang Fotografi
Contoh penerapan citra digital pada bidang ini yaitu dilakukan pengukuran terhadap posisi dan jarak suatu bintang dari foto udara oleh para astronom. Dan para fisikawan menggunakan citra dari gelembung hydrogen untuk melakukan penelitian dan telah mengantarkan kepada penemuan berbagai partikel dasar. 5. Bidang Volumetrik
Salah satu kemajuan penting dalam dunia komputer grafis adalah bidang volumetrik yaitu kemampuan untuk merekonstruksi suatu citra 3 dimensi dari citra 2 dimensi.
2.5 Jenis-jenis Citra Digital
berbeda yang sering digunakan diantaranya adalah citra biner, citra grayscale, dan citra warna.
2.5.1 Citra Biner
Gambar biner adalah array dua dimensi yang menetapkan satu nilai numerik dari set {0,1} untuk setiap piksel dalam gambar. Gambar ini juga dapat disebut sebagai gambar logika: hitam disesuaikan ke nol (‘off’ atau piksel 'background') dan putih dapat disesuaikan ke satu (‘on’ atau piksel ‘foreground’ ). Karena tidak ada nilai-nilai lain yang diperbolehkan, gambar ini dapat direpresentasikan sebagai bit-stream sederhana, tetapi dalam prakteknya dapat direpresentasikan sebagai gambar 8-bit pada format gambar secara umum . Sebuah fax (atau gambar faksimili adalah contoh dari citra biner.[9]
Gambar 2.2 Contoh Citra Biner
2.5.2 Citra Grayscale
Citra grayscale adalah gambar array dua dimensi yang menetapkan satu nilai numerik untuk setiap piksel yang merepresentasikan intensitas dari sebuah titik. Seperti yang dibahas sebelumnya, kisaran nilai piksel dibatasi oleh resolusi bit gambar dan gambar tersebut disimpan sebagai gambar N-bit integer sesuai dengan format yang diberikan.[9]
Gambar 2.3 Contoh Citra Grayscale
2.5.3 Citra Warna
Gambar berwarna adalah array tiga dimensi yang menetapkan tiga nilai numerik untuk setiap piksel, setiap nilai disesuaikan pada setiap komponen gambar pada masing-masing warna yaitu merah, hijau dan biru (RGB). Secara umum, gambar tersebut disimpan sebagai bilangan bulat berurut dalam kerangka saluran berturut-turut (misalnya R0G0B0, R1G1B1, ...) yang kemudian diakses (seperti dalam Matlab) oleh I (C, R, channel) koordinat dalam array tiga dimensi.[9]
Gambar 2.4 Contoh Citra Warna
2.6 Format File Citra
Dari sudut pandang matematika, setiap array 2 D dapat dianggap sebagai gambar. Dalam dunia nyata, kita perlu secara efektif menampilkan gambar, menyimpannya, mengirimkan gambar tersebut melalui jaringan dan mengenali bentuk data numerik sesuai dengan gambar. Hal ini telah menyebabkan pengembangan format gambar digital standar. Dalam istilah sederhana, format gambar terdiri dari file header (berisi informasi tentang bagaimana sebenarnya data gambar disimpan) dan pixel numerik yang sebenarnya nilai-nilai sendiri. Format gambar yang berbeda umumnya cocok untuk aplikasi yang berbeda.[9]
Beberapa format file gambar yang dapat digunakan untuk menyimpan file
gambar adalah BMP dan PNG.
2.6.1 BMP (Bitmap)
Format file microsoft windows bitmap (BMP) adalah format file dasar untuk gambar digital di jendela dunia microsoft. File BMP memiliki file header, header
memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.
[image:30.595.211.400.338.495.2]Format .bmp adalah format penyimpanan standart tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai piksel.[6] Format ini juga memiliki ukuran yang jauh lebih besar dibandingkan dengan format yang lain.
Gambar 2.5 Citra Dalam Format BMP
2.6.2 PNG
yang seragam. Format PNG lossless paling cocok untuk mengedit gambar, sedangkan format PNG lossy seperti JPG baik digunakan untuk distribusi final foto-tipe gambar karena ukuran file yang lebih kecil. Namun banyak browser
sebelumnya sepenuhnya mendukung format file PNG, namun dengan merilis
internet explorer 7 semua browser modern yang populer tidak mendukung PNG. Fitur khusus dari file PNG mendukung hingga 48 bit informasi warna. Format PNG memanfaatkan skema interlacing 2D, yang semakin menampilkan gambar jauh lebih cepat dari file gambar GIF. Gamma koreksi memungkinkan nilai-nilai yang ditampilkan pada platform apapun menjadi sama dengan yang asli.
Fitur penting dari gambar PNG adalah sebagai berikut [2]: 1. Gambar PNG menggunakan skema kompresi lossless. 2. Gambar PNG merupakan gambar yang saling berhubungan. 3. Gambar PNG mendukung 8-bit transparansi.
Gambar 2.6 Citra Dalam Format PNG
2.7 Noise
2.7.1 Salt and PepperNoise (Impulse Noise)
Salt and Pepper noise merupakan salah satu noise yang terjadi karena adanya karakteristik dari derajat keabu-abuan (gray-level) atau dikarenakan adanya variabel acak yang terjadi karena karakteristik Fungsi Probabilitas Kepadatan (Probability Density Function (PDF)).
PDF noise (bipolar) impulse adalah:
�(�) =����� 0
………...(2)
Di mana Pa untuk z = a, Pb untuk z = b, dan 0 untuk yang lainnya.
Jika b > a, tingkat keabu-abuan b akan muncul sebagai titik terang pada citra. Sebaliknya, tingkat keabu-abuan a akan muncul seperti titik gelap. Jika kedua Pa ataupun Pb adalah nol, noise impulse tersebut disebut unipolar. Apabila
[image:32.595.206.402.513.656.2]tidak ada probabilitas yang bernilai nol dan khususnya apabila nilai keduanya hampir sama maka impuls dari noise akan membentuk butiran-butiran halus seperti garam (salt and pepper) pada citra.[10]
Gambar 2.8 Citra dengan Salt and Pepper Noise
2.7.2 Gaussian Noise
Karena noise ini mathematical tractability dalam domain spasial dan domain frekuensi, model noise Gaussian (disebut juga normal) yang paling sering digunakan dalam prakteknya. Faktanya, tractability ini tepat dan sering menghasilkan model Gaussian yang digunakan dalam situasi di mana secara garis besar dapat diaplikasikan dengan paling baik.
Probability Density Function ( PDF) variabel random Gaussian z, diberikan oleh:
�(�) = 1
√2���−
(�−�)2/2�2……….(3)
di mana z merepresentasikan intensitas, ź adalah nilai rata-rata z dan � adalah standar deviasi. Kuadrat dari standar deviasi disebut varian dari z.[4]
Gambar 2.10 Citra dengan Gaussian Noise
2.8 Harmonic Mean Filter
Operasi dari harmonic mean filter diberikan oleh persamaan berikut : [1]
�(�,�) = ��
∑(�,�)∈����(�,�)1
……….(4)
2.9 MSE, PSNR, dan Running Time
2.9.1 Mean Square Error (MSE)
MSE adalah rata-rata kuadrat nilai kesalahan antara citra asli dengan citra hasil pengolahan yang secara matematis dapat dirumuskan sebagai berikut:[11]
��� = ��1 ∑ ∑� �[� (�,�)− �′(�,�)]2 ………(5)
X = lebar citra dalam piksel Y = tinggi citra dalam piksel
I = nilai piksel citra sebelum reduksi noise
I’ = nilai piksel citra sesudah reduksi noise
2.9.2 Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (PSNR) adalah sebuah perhitungan yang menentukan nilai dari sebuah citra yang dihasilkan. Nilai PSNR ditentukan oleh besar atau kecilnya nilai MSE yang terjadi pada citra. Semakin besar nilai PSNR, semakin baik pula hasil yang diperoleh pada tampilan citra hasil. Sebaliknya, semakin kecil nilai PSNR, maka semakin buruk pula hasil yang diperoleh pada tampilan citra hasil. PSNR dihitung dengan menggunakan rumus: [3]
���� = 10 log255
2
��� Atau:
����= 10 log 1 2552
MN∑i=0M−1∑N−1j=0(( x[i,j]−y[i,j])2)
...(6)
dimana: M x N adalah ukuran panjang dan lebar citra, x[i,j] adalah citra asal dengan dimensi M x N, y[i,j] adalah citra hasil yang telah mengalami proses.
2.9.3 Running Time
Proses waktu dari awal sampai akhir waktu biasa disebut dengan running time. Jika nilai running-time semakin kecil maka waktu yang digunakan untuk proses akan semakin cepat, dan sebaliknya jika nilai running time semakin besar waktu yang digunakan untuk proses akan semakin lama.
2.10 Penelitian yang Relevan
1. Penelitian yang dilakukan oleh Wiliyana membahas tentang reduksi noise
dengan menggunakan algoritma Arithmetic Mean Filter (AMF) dan
Geometric Mean Filter (GMF) yang melakukan reduksi pada noise dengan cara mengganti nilai piksel dengan nilai tengah (rata-rata) intensitas piksel citra yang mengandung noise.[11]
2. Tuti Adi Prihatini melakukan penelitian untuk mereduksi noise dengan menggunakan metode Low Pass Filter (LPF) dengan fungsi filter rata-rata. Pengujian penggunaan LPF untuk mereduksi Gaussian Noise, Speckle Noise, dan Salt and Pepper Noise dilakukan dengan membangkitkan ketiga jenis noise tersebut dengan menggunakan beberapa probabilitas noise.[5] 3. Isman Santoso melakukan reduksi noise dengan menggunakan metode
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan tahapan awal yang dilakukan dalam memahami suatu sistem. Tahapan ini menjelaskan permasalahan-permasalahan yang akan membantu proses perancangan model sistem yang nantinya akan diimplementasikan.
3.1.1 Analisis Masalah
Permasalahan yang akan diangkat dari penelitian ini adalah bagaimana cara mereduksi gaussian noise dan salt and pepper noise pada citra BMP dan PNG. Format file citra didalam penelitian ini adalah citra berwarna. Ukuran citra yang digunakan dalam penelitian ini adalah 250 x 250 pixel. Didalam sistem akan dilakukan penambahan noise sesuai dengan jenis noisenya, yaitu gaussian noise
dan salt and pepper noise. Setelah ditambah noise, maka sistem akan melakukan proses reduksi noise dengan menggunakan metode harmonic mean filter. Masalah pada penelitian ini secara umum ditunjukkan dengan menggunakan diagram
Material Metode
User Sistem
Citra dengan format .bmp atau
.png
Gaussian Noise
Salt and Pepper Noise
Harmonic Mean Filter
Reduksi Noise
Menambahkan noise pada citra
Melakukan reduksi noise Menginputkan nilai
persentase noise
Gambar 3.1 Ishikawa Diagram
3.1.2 Analisis Persyaratan
Terdapat dua bagian pada analisis persyaratan, yaitu persyaratan fungsional dan persyaratan non-fungsional.
3.1.2.1 Persyaratan Fungsional
Analisis fungsional disini mendekripsikan tentang sistem yang disediakan. sistem ini mereduksi noise pada citra berwarna menggunakan Harmonic Mean Filter, terdapat beberapa persyaratan fungsional antara lain :
1. Jenis noise yang digunakan ada 2, yaitu Salt and Pepper Noise dan Gaussian Noise.
2. Format citra merupakan citra berwarna dalam format BMP dan PNG. 3. Ukuran citra yang digunakan adalah 250 x 250 pixel.
4. Metode yang digunakan untuk mereduksi noise adalah harmonic mean filter. 5. Parameter yang digunakan untuk membandingkan kualitas citra adalah Mean
Square Error (MSE), Peak Signal to Noise Ratio (PSNR), dan running time
3.1.2.2 Persyaratan Non-Fungsional
Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan
performance dari suatu sistem. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya :
1. Performa
Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari proses reduksi noise pada citra.
2. Mudah digunakan
Sistem yang akan dibangun harus mudah digunakan (user friendly), artinya sistem ini akan mudah digunakan oleh user dengan tampilan yang sederhana dan dapat dimengerti.
3. Hemat Biaya
Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya.
4. Dokumentasi
Sistem yang akan dibangun harus bisa menyimpan citra hasil proses reduksi
noise pada citra. 5. Kontrol
Sistem yang akan dibangun harus dapat menampilkan kotak dialog eror ketika
user salah dalam melakukan penginputan. 6. Manajemen Kualitas
Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat menghitung nilai MSE dan PSNR secara tepat serta dapat menghitung nilai running time.
3.1.3 Analisis Proses
Sistem ini memiliki 2 proses, yaitu proses tambah noise dan proses reduksi noise
dengan metode harmonic mean filter. Dalam proses tambah noise terdapat dua
dan user harus memilih salah satu noise tersebut. Selanjutnya akan dilakukan proses reduksi dengan menggunakan metode harmonic mean filter.
3.1.3.1 Use Case Diagram
Use case diagram menggambarkan interaksi antara sistem dengan pelaku. Diagram use case ini mendeskripsikan siapa saja yang menggunakan sistem dan bagaimana cara mereka berinteraksi dengan sistem. Pemodelan use case
merupakan pemodelan yang baik untuk menentukan, mendokumentasikan dan memahami persyaratan fungsional.sehingga pengguna sistem dapat mengerti mengenai kegunaan sistem yang akan dirancang.
Tambah Noise
Reduksi Noise
Gaussian Noise
Salt and Pepper Noise Buka Citra Awal Input Persentase Noise Pilih Noise Simpan Citra Bernoise Buka Citra Bernoise Harmonic Mean Filter Hitung MSE,PSNR,dan Running Time Simpan Citra Hasil Reduksi <<uses>> <<extends>> <<uses>> <<uses>> <<uses>> <<uses>> <<extends>> <<extends>> <<extends>> <<extends>> user
Syst e m
Gambar 3.2 Use Case Diagram
3.1.3.1.1 Use Case Tambah Noise
Spesifikasi use case tambah noise dapat dilihat pada Tabel 3.1.
Tabel 3.1 Spesifikasi Use Case Tambah Noise
Name Tambah Noise
Actors Pengguna
Preconditions Pengguna menggunakan aplikasi reduksi noise pada citra.
Post Conditions Sistem akan menampilkan citra bernoise yang telah dipilih.
Success Scenario 1. Pengguna mengeksekusi menu Tambah Noise. 2. Sistem akan menampilkan halaman Tambah Noise. 3. Pengguna memilih citra awal yang berformat BMP atau PNG yang akan ditambah noisenya.
4. Pengguna menginputkan persentase noise berkisar 1-100%.
5. Pengguna memilih noise sesuai yang terdapat pada menu Tambah Noise.
6. Sistem akan melakukan proses penambahan noise
sesuai noise yang dipilih dan sistem menampilkan hasil citra bernoise.
7. Pengguna dapat melihat hasil citra bernoise.
Alternative Flows -
3.1.3.1.2 Use Case Buka Citra Awal
[image:42.595.103.512.85.455.2]Spesifikasi use case buka citra awal dapat dilihat pada Tabel 3.2.
Tabel 3.2 Spesifikasi Use Case Buka Citra Awal
Name Buka citra awal
Actors Pengguna
Trigger Pengguna memilih menu Tambah Noise.
Preconditions Pengguna mengakses menu Tambah Noise.
Post Conditions Sistem akan menampilkan citra awal yang telah dipilih dari direktori yang berformat BMP atau PNG.
untuk menampilkan lokasi penyimpanan gambar. 3. Pengguna memilih file citra yang berformat BMP atau PNG.
4. Sistem akan menampilkan file citra yang telah dipilih.
5. Pengguna dapat melihat file citra yang telah dipilih.
Alternative Flows -
3.1.3.1.3 Use Case Input Persentase Noise
Spesifikasi use case Input Persentase Noise dapat dilihat pada Tabel 3.3.
Tabel 3.3 Spesifikasi Use Case Input Persentase Noise
Name Input Persentase Noise
Actors Pengguna
Trigger Pengguna telah memilih file citra awal.
Preconditions Pengguna mengakses menu Tambah Noise.
Post Conditions Sistem menampilkan nilai Persentase Noise yang telah diinputkan.
Success Scenario 1. Penguna telah memilih file citra awal.
2. Pengguna menginputkan nilai persentase noise
yang berkisar dari 1-100%.
3. Sistem akan menampilkan nilai persentase noise
yang telah di inputkan.
4. Pengguna dapat melihat nilai Persentase Noise yang telah diinputkan.
Alternative Flows -
3.1.3.1.4 Use Case Pilih Noise
Tabel 3.4 Spesifikasi Use Case Pilih Noise
Name Pilih Noise
Actors Pengguna
Trigger Pengguna telah menginputkan nilai Persentase Noise.
Preconditions Pengguna mengakses menu Tambah Noise.
Post Conditions Pengguna memilih salah satu noise yang terdapat pada menu Tambah Noise.
Success Scenario 1. Pengguna telah memilih file citra awal.
2. Pengguna menginputkan nilai persentase noise berkisar dari 1-100%.
3. Sistem akan menampilkan nilai persentase noise
yang telah di inputkan.
4. Pengguna dapat melihat nilai persentase noise yang telah diinputkan.
5. Pengguna memilih salah satu noise.
Alternative Flows -
3.1.3.1.5 Use Case Gaussian Noise
Spesifikasi use case Gaussian Noise dapat dilihat pada Tabel 3.5.
Tabel 3.5 Spesifikasi Use Case Gaussian Noise
Name Gaussian Noise
Actors Pengguna
Trigger Pengguna telah menginputkan nilai persentase noise.
Preconditions Pengguna mengakses menu Tambah Noise.
Post Conditions Sistem akan menampilkan citra hasil Gaussian Noise.
Success Scenario 1. Pengguna mengeksekusi menu Tambah Noise. 2. Pengguna memilih file citra awal.
3. Pengguna menginputkan nilai persentase noise
4. Sistem akan menampilkan nilai persentase noise
yang telah diinputkan.
5. Pengguna dapat melihat nilai persentase noise yang telah diinputkan.
6. Pengguna memilih Gaussian Noise dan mengeksekusi tombol Gaussian Noise.
7. Sistem akan melakukan proses tambah noise dan menampilkan citra hasil tambah noise.
8. Pengguna dapat melihat citra hasil Gaussian Noise.
Alternative Flows -
3.1.3.1.6 Use Case Salt and Pepper Noise
Spesifikasi use case Salt and Pepper Noise dapat dilihat pada Tabel 3.6.
Tabel 3.6 Spesifikasi Use Case Salt and Pepper Noise
Name Salt and Pepper Noise
Actors Pengguna
Trigger Pengguna telah menginputkan nilai persentase noise.
Preconditions Pengguna mengakses menu tambah noise.
Post Conditions Sistem akan menampilkan citra hasil Salt and Pepper Noise.
Success Scenario 1. Pengguna mengeksekusi menu Tambah Noise. 2. Pengguna memilih file citra awal.
3. Pengguna menginputkan nilai persentase noise
berkisar dari 1-100%.
4. Sistem akan menampilkan nilai persentase noise
yang telah di inputkan.
5. Pengguna dapat melihat nilai persentase noise yang telah diinputkan.
mengeksekusi tombol Salt and Pepper Noise. 7. Sistem akan melakukan proses tambah noise dan menampilkan citra hasil tambah noise.
8. Pengguna dapat melihat citra hasil Salt and Pepper Noise.
Alternative Flows -
3.1.3.1.7 Use Case Simpan Citra Bernoise
Spesifikasi use case Simpan Citra Bernoise dapat dilihat pada Tabel 3.7.
Tabel 3.7 Spesifikasi Use Case SimpanCitra Bernoise
Name Simpan Citra Bernoise
Actors Pengguna
Trigger Pengguna telah melakukan proses tambah noise.
Preconditions Pengguna mengakses menu tambah noise.
Post Conditions Sistem menyimpan citra bernoise yang sebelumnya telah ditambahkan.
Success Scenario 1. Pengguna mengeksekusi tombol Simpan Gambar. 2. Sistem akan menampilkan pop-up window Save As
untuk menampilkan lokasi penyimpanan gambar. 3. Pengguna menyimpan gambar yang telah ditambah noisenya.
4. Sistem akan menyimpan gambar yang telah ditambah noisenya.
Alternative Flows -
3.1.3.1.8 Use Case Reduksi Noise
Tabel 3.8 Spesifikasi Use Case Reduksi Noise
3.1.3.1.9 Use Case Buka Citra Bernoise
Spesifikasi use case Buka Citra Bernoise dapat dilihat pada Tabel 3.9.
Tabel 3.9 Spesifikasi Use Case Buka Citra Bernoise
Name Buka Citra Bernoise
Actors Pengguna
Trigger Pengguna memilih menu Reduksi Noise.
Preconditions Pengguna mengeksekusi menu reduksi noise.
Post Conditions Sistem akan menampilkan file citra bernoise.
Name Reduksi Noise
Actors Pengguna
Trigger Pengguna memilih menu Reduksi Noise.
Preconditions Pengguna menggunakan aplikasi reduksi noise pada citra.
Post Conditions Sistem akan menampilkan citra hasil reduksi noise
dengan metode Harmonic Mean Filter.
Success Scenario 1. Pengguna mengeksekusi menu Reduksi Noise. 2. Sistem akan menampilkan halaman Reduksi Noise. 3. Pengguna memilih citra bernoise yang berformat BMP atau PNG.
4. Pengguna mengeksekusi tombol Harmonic Mean Filter.
5. Sistem melakukan proses reduksi noise dengan metode Harmonic Mean Filter dan menampilkan citra hasil reduksi..
6. Pengguna dapat melihat citra hasil reduksi noise
dengan metode Harmonic Mean Filter.
Success Scenario 1. Pengguna mengeksekusi tombol Buka File. 2. Sistem akan menampilkan pop-up window open
untuk menampilkan lokasi penyimpanan gambar. 3. Pengguna memilih file citra bernoise yang berformat BMP atau PNG.
4. Sistem akan menampilkan file citra bernoise yang telah dipilih.
5. Pengguna dapat melihat file citra bernoise yang telah dipilih.
Alternative Flows -
3.1.3.1.10 Use Case Harmonic Mean Filter
Spesifikasi use case Harmonic Mean Filter dapat dilihat pada Tabel 3.10.
Tabel 3.10 Spesifikasi Use Case Harmonic Mean Filter
Name Harmonic Mean Filter
Actors Pengguna
Trigger Pengguna telah memilih citra bernoise.
Preconditions Pengguna mengeksekusi menu reduksi noise.
Post Conditions Sistem akan menampilkan citra hasil reduksi dengan metode Harmonic Mean Filter.
Success Scenario 1. Pengguna telah memilih file citra bernoise. 2. Pengguna mengeksekusi tombol Harmonic Mean Filter.
3. Sistem melakukan proses reduksi noise dengan metode Harmonic Mean Filter.
4. Pengguna dapat melihat citra hasil reduksi noise
dengan metode Harmonic Mean Filter.
3.1.3.1.11 Use Case Hitung MSE, PSNR, dan Running Time
Spesifikasi use case Hitung MSE, PSNR, dan Running Time dapat dilihat pada Tabel 3.11.
Tabel 3.11 Spesifikasi Use Case Hitung MSE, PSNR, dan Running Time
Name Hitung MSE, PSNR, dan Running Time
Actors Pengguna
Trigger Pengguna telah melakukan proses reduksi noise
dengan metode Harmonic Mean Filter.
Preconditions Pengguna mengeksekusi menu reduksi noise.
Post Conditions Sistem akan menampilkan nila MSE, PSNR, dan
Running Time.
Success Scenario 1. Pengguna telah melakukan proses reduksi noise
dengan metode Harmonic Mean Filter.
2. Pengguna mengeksekusi tombol Harmonic Mean Filter.
3. Sistem melakukan proses perhitungan nilai MSE, PSNR, dan Running Time.
4. Pengguna dapat melihat hasil perhitungan nilai MSE, PSNR, dan Running Time.
Alternative Flows -
3.1.3.1.12 Use Case Simpan Citra Hasil Reduksi
Spesifikasi use case Simpan Citra Hasil Reduksi dapat dilihat pada Tabel 3.12.
Tabel 3.12 Spesifikasi Use Case Simpan Hasil Reduksi
Name Simpan Citra Bernoise
Actors Pengguna
PSNR, dan Running Time.
Preconditions Pengguna mengakses menu Reduksi Noise.
Post Conditions Sistem menyimpan citra hasil reduksi noise dengan metode Harmonic Mean Filter.
Success Scenario 1. Pengguna mengeksekusi tombol Simpan Gambar. 2. Sistem akan menampilkan pop-up window Save As
untuk menampilkan lokasi penyimpanan gambar. 3. Pengguna menyimpan citra hasil reduksi noise. 4. Sistem akan menyimpan citra hasil reduksi noise.
Alternative Flows -
3.1.3.2 Activity Diagram
User Sistem
Pilih Menu
Buka Citra Awal Tambah Noise
Buka Citra Awal
Input Persentase Noise Menampilkan Citra Awal Menampilkan nilai persentase noise Pilih Noise Tambah Noise
Simpan Citra Menampilkan citra bernoise Menyimpan citra bernoise Buka Citra Bernoise Baca Citra Menampilkan citra bernoise Reduksi Noise dengan Harmonic Mean Filter
Menampilkan Citra hasil reduksi Harmonic Mean
Filter Hitung Nilai MSE,PSNR,dan
Running Time != Tambah Noise
Menampilkan Nilai MSE,PSNR,dan Running Time Reduksi Noise
.bmp .png
Simpan Citra Hasil Reduksi Noise
Menyimpan file citra hasil reduksi noise
Tentang Bantuan Menampilkan tentang program Menampilkan petunjuk penggunaan program != Reduksi Noise
*.bmp
*.png
Gaussian Noise
Salt and Pepper Noise
!=Tentang
!=Bantuan
[image:51.595.108.499.85.721.2]Bantuan Tentang
3.1.3.3 Sequence Diagram
Sequence diagram merupakan suatu diagram yang menampilkan interaksi-interkasi yang ada pada sistem secara berurutan. Sequence diagram sistem ini dapat dilihat pada Gambar 3.4.
Input Citra Tambah Noise Reduksi Noise Hitung MSE, PSNR, dan Running Time Simpan Citra Hasil Reduksi Noise
Penginputan Citra
Proses Penambahan Noise dengan Menginput
Nilai Persentase Noise
Proses Reduksi Noise dengan Metode Harmonic Mean Filter
Perhitungan Nilai MSE, PSNR, dan Running
Time
Menampilkan Citra Bernoise, Citra Hasil Reduksi Noise, Nilai MSE, PSNR, dan Running Time
Gambar 3.4 Sequence Diagram
3.1.3.4 Analisis Proses Reduksi Noise dengan Harmonic Mean Filter
Berikut ini merupakan contoh penggunaan metode Harmonic Mean Filter. Dimisalkan terdapat suatu matriks citra input 5x5 :
⎣ ⎢ ⎢ ⎢
⎡35 12 69 24 36
6 1 10 7 5
8 3 8 8 5
2 5 1 9 4⎦ ⎥ ⎥ ⎥ ⎤
Selanjutnya matriks tersebut dihitung dengan menggunakan rumus Harmonic Mean Filter, yaitu :
Perhitungan dimulai dari koordinat f(2,2) dan dilakukan dengan mengambil matriks 3x3 dari matriks tetangga piksel yang akan direduksi. Perhitungan ini dilakukan pada setiap nilai piksel pada suatu matriks citra. Contoh penggunaan rumus Harmonic Mean Filter dapat dilihat seperti di bawah ini:
⎣ ⎢ ⎢ ⎢
⎡35 12 69 24 36
6 1 10 7 5
8 3 8 8 5
2 5 1 9 4⎦ ⎥ ⎥ ⎥ ⎤
�(2,2) = 9
1 3+ 1 1+ 1 6+ 1 5+ 1 2+ 1 9+ 1 6+ 1 1+ 1 10
= 9
3,54= 2
�(2,3) = 9
1 1+ 1 6+ 1 2+ 1 2+ 1 9+ 1 4+ 1 1+ 1 10+ 1 7
= 9
3,77= 2
�(2,4) = 9
1 6+ 1 2+ 1 3+ 1 9+ 1 4+ 1 6+ 1 10+ 1 7+ 1 5
= 9
1,97= 5
�(3,2) = 9
1 5+ 1 2+ 1 9+ 1 6+ 1 1+ 1 10+ 1 8+ 1 3+ 1 8
= 9
2,66= 3
�(3,3) = 9
1 2+ 1 9+ 1 4+ 1 1+ 1 10+ 1 7+ 1 3+ 1 8+ 1 8
= 9
2,68= 3
�(3,4) = 9
1 9+ 1 4+ 1 6+ 1 10+ 1 7+ 1 5+ 1 8+ 1 8+ 1 5
= 9
1,34= 6
�(4,2) = 9
1 6+ 1 1+ 1 10+ 1 8+ 1 3+ 1 8+ 1 2+ 1 5+ 1 1
= 9
3,55= 3
�(4,3) = 9
1 1+ 1 10+ 1 7+ 1 3+ 1 8+ 1 8+ 1 5+ 1 1+ 1 9
= 9
3,13= 3
�(4,4) = 9
1 10+ 1 7+ 1 5+ 1 8+ 1 8+ 1 5+ 1 1+ 1 9+ 1 4
= 9
Setelah dilakukan perhitungan seperti diatas, maka didapat lah citra output dari matriks 5x5 yang sebelumnya telah disebutkan.
Citra output dapat dilihat pada matriks berikut ini:
⎣ ⎢ ⎢ ⎢
⎡35 12 69 24 36
6 1 10 7 5
8 3 8 8 5
2 5 1 9 4⎦ ⎥ ⎥ ⎥ ⎤ ⎣ ⎢ ⎢ ⎢
⎡35 12 62 25 36 6 3 3 6 5 8 3 3 4 5 2 5 1 9 4⎦
⎥ ⎥ ⎥ ⎤
3.2 Pseudocode
3.2.1 Pseudocode Proses Tambah Noise Gaussian
for (int i = 0; i < Pixels.Length; i+=step) if (i < Pixels.Length - step)
for (int j = 0; j < step; j++) gaussnumber = getGaussianNumber();
newpixel = Convert.ToInt32(gaussnumber*prob)+ Convert.ToInt32(Pixels[i + j]);
if (newpixel < 0) newpixel = 0; if (newpixel > 255) newpixel = 255;
Pixels[i + j] = Convert.ToByte(newpixel);
3.2.2 Pseudocode Proses Tambah Noise Salt and Pepper
prob = Convert.ToInt32(x * y * (prob/200)); Random rnd = new Random();
while (prob > 0)
widthPos = rnd.Next(0, x - 1); HeightPos = rnd.Next(0, y - 1); randomNumber = rnd.Next(1, 10); if (randomNumber <= 5)
citra.SetPixel(widthPos, HeightPos, Color.FromArgb(255, 0, 0, 0));
else
citra.SetPixel(widthPos, HeightPos, Color.FromArgb(255, 255, 255, 255));
prob--;
Pada pseudocode proses tambah Salt and Pepper Noise pertama kali diambil nilai probabilitas dengan cara x * y * (prob/200). Dimana x adalah lebar citra, dan y adalah panjang citra. Setelah itu diambil nilai random selama nilai prob lebih besar dari 0. Kemudian diambil nilai random untuk widthPos dalam rentang 0 sampai x-1 dan nilai random untuk HeightPos dalam rentang 0 sampai y-1. Untuk nilai random untuk randomNumber dalam rentang 1 sampai 9. Jika randomNumber lebih kecil atau sama dengan 5. Kemudian set Pixel pada posisi widthPos, HeightPos dengan nilai pixel 0,0,0 (noise warna hitam) dan set Pixel pada posisi widthpos, HeightPos, HeightPos dengan nilai pixel 255,255,255 (noise warna putih). Nilai prob = prob – 1.
3.2.3 Pseudocode Proses Reduksi Noise
image = new Bitmap(redcitranoise.Image); int xi = image.Width;
int yi = image.Height;
double red = 0, green = 0, blue = 0, hasilred = 0, hasilgreen = 0, hasilblue = 0;
double redfinal, greenfinal, bluefinal; imagehasil = new Bitmap(xi, yi);
for (int i = 0; i < yi-2; i++) for (int j = 0; j < xi-2; j++)
red = 255;
green = image.GetPixel(l, k).G; if (green == 0)
green = 255;
blue = image.GetPixel(l, k).B; if (blue == 0)
blue = 255;
hasilred += (1.0 / red); hasilgreen += (1.0 / green); hasilblue += (1.0 / blue); redfinal = 9/hasilred;
double RED = Math.Round(redfinal, 0); greenfinal = 9/hasilgreen;
double GREEN = Math.Round(greenfinal, 0); bluefinal = 9/hasilblue;
double BLUE = Math.Round(bluefinal, 0); imagehasil.SetPixel(j + 1, i + 1,
Color.FromArgb(255, (int)RED, (int)GREEN, (int)BLUE)); hasilred = 0;
hasilgreen = 0; hasilblue = 0;
bluefinal = 9/hasilblue. Nilai bluefinal tersebut dibulatkan dan dimasukkan ke variabel BLUE. Kemudian set pixel imagehasil pada posisi (j+1, i+1) dengan nilai RED, GREEN, dan BLUE. Nilai hasilred, hasilgreen, dan hasilblue dikembalikan ke 0.
3.3 Perancangan Sistem
3.3.1 Flowchart Perancangan Sistem
Start
Start
Tambah Noise
Tambah Noise Reduksi
Noise Tentang Bantuan Keluar
Halaman Tambah Noise Input Citra Awal Input Persentase Noise Gaussian Noise Salt and Pepper Noise Simpan Gaussian Noise Salt and Pepper Noise Halaman Reduksi Noise Input Citra Bernoise Harmonic Mean Filter Hitung MSE, PSNR, dan Running
Time Simpan End Halaman Tentang Halaman Bantuan Ya Ya Ya Tidak Tidak
Tidak Tidak Tidak Tidak Tidak
[image:57.595.113.511.306.662.2]Ya Ya Ya Ya
3.3.2 Perancangan Antarmuka Sistem (Interface)
Perancangan antarmuka digunakan untuk menampilkan antarmuka sistem yang akan digunakan oleh pengguna. Sistem ini dirancang dalam 5 form, yaitu form
Utama, form Tambah Noise, form Reduksi Noise, form Tentang, dan form
Bantuan.
3.3.2.1 Halaman Menu Utama
Halaman menu utama merupakan halaman yang pertama kali muncul pada saat sistem dijalankan. Halaman ini memiliki beberapa menu bar, yaitu menu utama, menu tambah noise, menu reduksi noise, menu tentang, menu bantuan dan menu keluar. Tampilan rancangan halaman menu utama dapat dilihat pada Gambar 3.6 berikut.
Keterangan:
1. Merupakan Tool Strip Menu Item Utama.
2. Merupakan Tool Strip Menu Item Tambah Noise.
3. Merupakan Tool Strip Menu Item Reduksi Noise.
4. Merupakan Tool Strip Menu Item Tentang. 5. Merupakan Tool Strip Menu Item Bantuan. 6. Merupakan Tool Strip Menu Item Exit.
7. Merupakan Label Judul Skripsi. 8. Merupakan Label Nama dan NIM. 9. Merupakan Picture Box Logo Fakultas. 10.Merupakan Label Program Studi.
3.3.2.2 Halaman Menu Tambah Noise
Gambar 3.7 Rancangan Antarmuka Halaman Menu Tambah Noise
Keterangan:
1. Merupakan Label citra awal. 2. Merupakan Picture Box citra awal. 3. Merupakan Button Buka File. 4. Merupakan Label Nama File. 5. Merupakan Label Ukuran. 6. Merupakan Label Lokasi.
7. Merupakan Label Panjang x Lebar.
12. Merupakan Text Box untuk menampilkan Lebar Citra. 13. Merupakan Label Kb.
14. Merupakan Label x.
15. Merupakan Group Box untuk Keterangan Gambar. 16. Merupakan Label Persentase Noise.
17. Merupakan Text Box untuk menampilkan Persentase Noise.
18. Merupakan Label %.
19. Merupakan Button Gaussian Noise.
20. Merupakan Button Salt and Pepper Noise.
21. Merupakan Group Box untuk Persentase Noise, Gaussian Noise, dan Salt and Pepper Noise.
22. Merupakan Label Citra Bernoise. 23. Merupakan Picture Box Citra Bernoise. 24. Merupakan Button Hapus Gambar. 25. Merupakan Button Simpan Gambar. 26. Merupakan Button Kembali.
27. Merupakan Group Box Hapus Gambar, Simpan Gambar, dan Kembali.
3.3.2.3 Halaman Menu Reduksi Noise
Gambar 3.8 Rancangan Antarmuka Halaman Menu Reduksi Noise
Keterangan:
1. Merupakan Label Citra Bernoise. 2. Merupakan Picture Box Citra Bernoise. 3. Merupakan Label Jenis Noise.
4. Merupakan Label Persentase Noise.
5. Merupakan Text Box untuk menampilkan Jenis Noise.
6. Merupakan Text Box untuk menampilkan Persentase Noise.
7. Merupakan Label %.
8. Merupakan Group Box untuk Jenis Noise dan Persentase Noise.
9. Merupakan Button Buka File. 10. Merupakan Button Hapus File.
12. Merupakan Group Box untuk Buka File, Hapus File, dan Harmonic Mean Filter.
13. Merupakan Label Citra Hasil. 14. Merupakan Picture Box Citra Hasil. 15. Merupakan Label MSE.
16. Merupakan Label PSNR.
17. Merupakan Label Running Time.
18. Merupakan Text Box untuk menampilkan nilai MSE. 19. Merupakan Text Box untuk menampilkan nilai PSNR.
20. Merupakan Text Box untuk menampilkan nilai Running Time.
21. Merupakan Label Sekon.
22. Merupakan Group Box untuk MSE, PSNR, dan Running Time.
23. Merupakan Button Simpan. 24. Merupakan Button Kembali.
25. Merupakan Group Box untuk Simpan dan Kembali.
3.3.2.4 Halaman Menu Tentang
Gambar 3.9 Rancangan Antarmuka Halaman Menu Tentang
Keterangan :
1. Merupakan Label Judul Skripsi.
2. Merupakan Label Nama dan NIM Penulis.
3. Merupakan Picture Box untuk menampilkan Foto Penulis. 4. Merupakan Button Kembali.
3.3.2.5 Halaman Menu Bantuan
Gambar 3.10 Rancangan Antarmuka Halaman Menu Bantuan
Keterangan :
1. Merupakan Label Harmonic Mean Filter.
2. Merupakan Label Menu Tambah Noise.
3. Merupakan Label Menu Reduksi Noise.
4. Merupakan Rich Text Box untuk menampilkan Menu Tambah Noise.
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman C# dan menggunakan Software Microsoft Visual Studio 2010. Pada sistem ini terdapat 5 (lima) tampilan halaman, yaitu Halaman Utama, Halaman Tambah Noise, Halaman Reduksi Noise, Halaman Tentang, dan Halaman Bantuan.
4.1.1 Tampilan Halaman Menu Utama
Halaman utama merupakan tampilan halaman yang muncul pertama sekali pada saat sistem dijalankan. Halaman utama memiliki 5 menu bar, yaitu menu utama, menu tambah noise, menu reduksi noise, menu tentang, dan menu bantuan. Tampilan Halaman menu utama dapat dilihat pada gambar 4.1
Gambar 4.1 Tampilan Menu Utama
4.1.2 Tampilan Halaman Menu Tambah Noise
Gambar 4.2 Tampilan Halaman Menu Tambah Noise
4.1.3 Tampilan Halaman Menu Re