LISTING PROGRAM
void TestingToolStripMenuItemClick(object sender, EventArgs e)
void ExitToolStripMenuItemClick(object sender, EventArgs e) {
if (MessageBox.Show("Apakah Anda ingin
Application.Exit(); }
void HelpToolStripMenuItemClick(object sender, EventArgs e) {
OpenFileDialog open = new OpenFileDialog(); open.Filter = "Image File(.*bmp)|*.bmp";
if(open.ShowDialog() == DialogResult.OK){
Bitmap bit = new Bitmap(open.FileName); if (bit.Width == bit.Height)
{
gbrAsli.SizeMode = PictureBoxSizeMode.StretchImage; gbrAsli.ImageLocation = open.FileName;
MSE = Math.Floor(sum /(imageAsli.Height*imageAsli.Width)); return MSE;
}
double hitungPSNR(double MSE) {
if (save.ShowDialog() == DialogResult.OK)
MessageBox.Show("Citra gagal tersimpan");
gbrHasil.Image = a.InverseFFT(); //transformasi balik wiener filter
gbrHasil.SizeMode = PictureBoxSizeMode.StretchImage; watch.Stop();
textBox3.Text = Math.Round(Convert.ToDecimal (watch.ElapsedMilliseconds)/1000,4).ToString();
textBox1.Text=hitungMSE((Bitmap)gbrAsli.Image,(Bitmap)gbrHasil. Image).ToString();
textBox2.Text=hitungPSNR(Convert.ToDouble(textBox1.Text)).ToStr ing();
MessageBox.Show("Proses Filtering selesai. Tekan tombol Simpan untuk menyimpan citra", "Berhasil", MessageBoxButtons.OK,
MessageBoxIcon.Information); }
void Button1Click(object sender, EventArgs e) // tombol AMF {
Stopwatch watch = new Stopwatch(); watch.Start();
gbrHasil2.Image= AdaptiveMedianFilter((Bitmap)gbrAsli.Image,3); gbrHasil2.SizeMode = PictureBoxSizeMode.StretchImage;
watch.Stop();
textBox6.Text = Math.Round(Convert.ToDecimal (watch.ElapsedMilliseconds)/1000,4).ToString();
textBox4.Text=hitungMSE((Bitmap)gbrAsli.Image,(Bitmap)gbrHasil2. Image).ToString();
textBox5.Text=hitungPSNR(Convert.ToDouble(textBox4.Text)).ToStri ng();
MessageBox.Show("Proses Filtering selesai. Tekan tombol Simpan untuk menyimpan
citra", "Berhasil", MessageBoxButtons.OK, MessageBoxIcon.Information) ;
}
void Button2Click(object sender, EventArgs e)// tombol Wiener+AMF {
Stopwatch watch = new Stopwatch(); watch.Start();
textBox7.Text = (Math.Round(Convert.ToDecimal
(watch.ElapsedMilliseconds)/1000,4)+decimal.Parse(textBox3.Text)).ToS tring();
textBox8.Text=hitungMSE((Bitmap)gbrAsli.Image,(Bitmap)gbrHasil3 .Image).ToString();
textBox9.Text=hitungPSNR(Convert.ToDouble(textBox4.Text)).ToStr ing();
MessageBox.Show("Proses Filtering selesai. Tekan tombol Simpan untuk menyimpan
List<List<int>>r = red(sourceImage, size); // array utk menampung nilai red
List<List<int>>b = blue(sourceImage, size); // array utk menampung nilai blue
List<List<int>>g = green(sourceImage, size); // array untuk menampung nilai green
for (int i = 0;i < sourceImage.Width;i++){ for (int j =0;j < sourceImage.Height;j++){
bmp.SetPixel(i, j, Color.FromArgb(r[i][j],g[i][j ],b[i][j])); // menampung nilai pixel rgb
} }
return bmp; }
sourceImage.Width): Math.Abs(x1);//ini pengkondisian di mana jendela filter tidak melewati batas dari ukuran image
x2 = Math.Abs(x2) >= tidak memenuhi persyaratan, ke level B
}
nilai.Add(asli.GetPixel(i, j).G);
r.Clear();
void Button4Click(object sender, EventArgs e) // button reset {
Bgambar[i + (nx / 2)][ j] =
= (byte)Math.Abs(Rgambar[i][j].real / (nx * ny)); G
= (byte)Math.Abs(Ggambar[i][j].real / (nx * ny)); B
= (byte)Math.Abs(Bgambar[i][j].real / (nx * ny));
int[,] FFTNormalized = new int[nx, ny];
void Hitung(){ // perhitungan Wiener Filter for (int i = 0;i < nx; i++){
for (int j = 0;j < ny; j++){
DAFTAR RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Siti Aisyah Jenis Kelamin : Perempuan
Alamat : Jl. A.R Hakim Gg. Nangka no.7, Medan
E-mail : aya.aisyah04@gmail.com
Pendidikan Terakhir : Universitas Sumatera Utara Medan, Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan S-1 Ilmu Komputer
PENDIDIKAN FORMAL
2011 – 2015 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2008 – 2011 : MAN 2 Model Medan
2005 – 2008 : MTs Swasta Al-Ulum Medan 1999 – 2005 : SD Muhammadiyah 07 Medan
PENGALAMAN ORGANISASI DAN KEGIATAN ILMIAH
Anggota Syiar UKMI Al-Khuwarizmi Fasilkom-TI 2012-2013
Sekretaris LSO-IT UKMI Al-Khuwarizmi Fasilkom-TI 2013-2014
Anggota PSDM PEMA USU 2014
Sekretaris Umum KAM Rabbani Fasilkom-TI USU 2014
Praktek Kerja Lapangan di Kantor Gubsu Juli-Agustus 2014
Anggota Kajian Kontemporer UKMI Ad-Dakwah USU 2015
Anggota Komisi A “Isu dan Media” Puskomda SUMUT 2015
KEAHLIAN
Bahasa Indonesia, Bahasa Inggris
DAFTAR PUSTAKA
Ahmad, Usman. 2005. Pengolahan Citra Digital dan Pemrogramannya. Graha Ilmu: Yogyakarta.
Al-amri, S.S., Kalyankar, N.V., & S.D, Khamitkar. 2010. A comparative study of removal noise from remote sensing image. IJCSI International Journal of Computer Science Issues 7(1): 32-34.
Ambule, V., Ghute, M., Kamble, K. & Katre S. 2013. Adaptive Median Filter for Image Enhancement. IJESIT International Journal of Engineering Science and Innovative Technology 2(1): 318-322.
Fatmawati, Diana. 2010. Implementasi metode peregangan kontras (contrast stretching) untuk memperbaiki kualitas citra. Skripsi. Universitas Sumatera
Utara.
Ibrahim, H., Kong, Nicholas S.P. & Ng, Theam Foo. 2008. Simple adaptive median filter for the removal of impulse noise from highly corrupted images. IEEE Transactions on Consumer Electronics 54(4): 1920-1922.
Juneja, Mamta & Mohana, Rajni. 2009. An Improved Adaptive Median Filtering Method for Impulse Noise Detection. International Journal of Recent Trends in Engineering 1(1): 274-278.
Kadir, Abdul. 2013. Dasar Pengolahan Citra dengan Delphi. Penerbit Andi: Yogyakarta.
Kadir, Abdul & Susanto, Adhi. 2013. Teori dan Aplikasi Pengolahan Citra. Penerbit Andi: Yogyakarta.
Kumar, S., Kumar, P., Gupta, M. & Nagawat, A.K. 2010. Performance comparison of median and wiener filter in image de-noising. International Journal of Computer Applications (0975 – 8887) 12(4): 27-31.
Listiyani, Eva. 2013. Implementasi adaptive median filter sebagai reduksi noise pada citra digital. Skripsi. Sekolah Tinggi Manajemen Informatika dan Teknik Komputer Surabaya.
Munir, Rinaldi. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik. Informatika: Bandung.
Murinto, E. & W. Risnadi, S. 2007. Analisis perbandingan metode intensity filtering dengan metode frequency filtering sebagai reduksi noise pada citra digital. Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007). ISSN :
1907-5022.
Nalwan, Agustinus. 2000. Pengolahan Gambar Secara Digital. P.T Elex Media Komputindo: Jakarta.
Prasetyo, E. 2011. Pengolahan Citra Digital dan Aplikasinya Menggunakan Matlab. ANDI: Yogyakarta.
Saselah, G., Weku, W. & Latumakulita, L. 2013. Perbaikan citra digital dengan menggunakan filtering technique dan similarity measurement. JdC 2(2): 4-5. Shinde, B., Mhaske, D. & Dani, A.R. 2012. Study of noise detection and noise
removal techniques in medical images. I.J. Image, Graphics and Signal Processing 2: 51-60.
Sholihin, R.A., Purwoto, B. H. 2013. Perbaikan citra dengan menggunakan median filter dan metode histogram equalization. Jurnal Emitor ISSN 1411-8890
14(02): 40-42.
Sulistyo, W. Yos, Filipus, F.Y. 2009. Analisis penerapan metode median filter untuk mengurangi noise pada citra digital. Konferensi Nasional Sistem dan Informatika 2009 (KNS&I), pp. 9-35.
Sutoyo, T., Mulyanto, E., Suhartono, V., Nurhayati, O. D. & Wijinarto. 2009. Teori Pengolahan Citra Digital. Penerbit Andi: Yogyakarta.
Thivakaran, T. K. & Chandrasekaran, R. M. 2010. Nonlinear Filter Based Image Denoising Using AMF Approach. International Journal of Computer Science and Information Security 7(2): 224-227.
Whitten, J.L. & Bentley, L.D. 2004. System Analysis and Design Methods. 6th Edition. McGraw-Hill/Irwin: New York.
Yuwono, Bambang. 2010. Image smoothing menggunakan mean filtering, median filtering, modus filtering dan gaussian filtering. Skripsi. Universitas
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem bertujuan untuk memecah sistem ke dalam komponen-komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut dalam mencapai tujuan (Whitten, 2004).
3.1.1 Analisis masalah
Masalah yang akan diselesaikan dengan menggunakan sistem ini adalah bagaimana melakukan perbaikan citra digital yang memiliki noise asli dan impulse noise menjadi citra yang lebih baik, dimana noise dihilangkan melalui suatu proses filtering yang dilakukan pada citra berformat .bmp. Metode yang digunakan untuk perbaikan citra pada penelitian ini adalah Wiener Filter, Adaptive Median Filter dan gabungan Wiener Filter dengan Adaptive Median Filter.
Gambar 3.1. Diagram Ishikawa
Bagian penyebab suatu masalah (tulang ikan) terdiri atas 4 aspek yaitu Materials, Methode, Machine, dan Man. Materials merupakan aspek permasalahan
yang bersumber dari bahan-bahan penyebab suatu masalah atau dampak. Method merupakan aspek permasalahan yang bersumber dari cara yang digunakan dalam mengatasi dampak. Man merupakan aspek permasalahan yang berasal dari sumber daya manusia. Dan machine merupakan aspek permasalahan yang berasal dari perangkat yang digunakan dalam proses penyebab suatu masalah. Pada sistem ini, permasalahan pada aspek materials adalah citra yang memiliki noise asli dan impulse noise, permasalahan pada aspek method adalah kesalahan dalam penerapan metode
filtering, permasalahan pada aspek machine adalah kesalahan dalam penggunaan alat
pada saat akuisisi citra, dan permasalahan pada aspek man adalah kesalahan pada saat pengambilan dan capturing gambar.
3.1.2 Analisis persyaratan
3.1.2.1Persyaratan fungsional
Persyaratan fungsional merupakan jenis persyaratan yang berisi proses – proses apa saja yang nantinya akan dilakukan oleh sistem, persyaratan fungsional juga berisi informasi apa saja yang dihasilkan oleh sistem. Adapun persyaratan fungsional yang digunakan dalam sistem perbaikan citra yang berisi noise asli dan impulse noise pada citra digital dengan metode Wiener Filter, Adaptive Median Filter dan gabungan Wiener Filter dengan Adaptive Median Filter adalah sebagai berikut:
1. Citra yang digunakan adalah citra true color dengan format bitmap (*.bmp) dengan ukuran dimensi sama dengan 256x256 atau 512x512 piksel.
2. Sistem mengambil citra inputan berupa citra yang memiliki noise asli dan citra dengan impulse noise.
3. Sistem menggunakan konstanta bernilai 100 pada Wiener Filter dan window maksimum yang bernilai 5 pada Adaptive Median Filter.
4. Sistem melakukan perhitungan Mean Squared Error (MSE), Peak Signal to Noise Ratio (PSNR) dan running time sebagai parameter pembanding kualitas citra.
5. Citra hasil proses filtering disimpan dengan format file asalnya yaitu .bmp.
3.1.2.2 Persyaratan non-fungsional
Persyaratan non-fungsional merupakan persyaratan yang berisi property prilaku yang dimiliki suatu sistem. Adapun persyaratn non-fungsional pada sistem yang harus terpenuhi adalah sebagai berikut:
1. Performa (Performance)
Sistem yang dibangun harus dapat memperbaiki citra yang berisi noise asli dan impulse noise, dan menunjukkan proses perubahan noise pada citra hasil.
2. Informasi (Information)
Sistem yang akan dibangun harus mudah dimengerti oleh pengguna agar informasi yang dibutuhkan oleh user tersampaikan dengan baik.
3. Hemat biaya (Economy)
Sistem yang dibangun tidak membutuhkan perangkat tambahan untuk implementasinya sehingga tidak menambah biaya.
4. Dokumentasi
5. Manajemen kualitas
Sistem yang dibangun harus memiliki kualitas yang baik, dimana sistem dapat memperbaiki citra yang berisi noise asli dan impulse noise untuk menghasilkan citra yang lebih baik dari citra aslinya dan dapat menghitung nilai MSE dan PSNR secara tepat serta dapat menghitung nilai running time.
6. Kontrol
Sistem yang akan dibangun harus dapat menampilkan kotak dialog error ketika user salah dalam melakukan penginputan.
3.1.3 Analisis proses
Sistem ini dibuat menggunakan teknik filtering yaitu Wiener Filter, Adaptive Median Filter dan gabungan Wiener Filter dengan Adaptive Median Filter. Dimana noise
yang digunakan merupakan noise asli yang bukan melalui proses bangkitan dari sistem, melainkan noise yang memang sudah terdapat dalam citra itu sendiri dan ditambah citra dengan impulse noise. Sistem ini hanya memiliki 1 proses saja, yaitu hanya proses filtering. Dimana pada proses Wiener Filter dilakukan pada kawasan frekuensi yang memerlukan transformasi Fourier untuk dapat mentransfer fungsi filter dari kawasan spasial ke kawasan frekuensi. Sedangkan pada proses Adaptive Median Filter dilakukan pada kawasan spasial. Untuk proses kombinasi Wiener Filter dengan
Adaptive Median Filter diambil dari hasil pemrosesan filter Wiener Filter yang
kemudian dilakukan lagi pemfilteran Adaptive Median Filter.
3.1.3.1Use Case diagram
<<extends>> membuka aplikasi Filtering, kemudian melakukan input citra awal yang berisikan noise asli atau impulse noise, setelah citra berhasil diinput user dapat melakukan
langsung proses filtering menggunakan metode Wiener Filter, Adaptive Median Filter dan kombinasi Wiener Filter dengan Adaptive Median Filter. Setelah dilakukan filtering maka akan muncul citra hasil beserta parameternya (MSE, PSNR, dan
running time). Kemudian, user dapat menyimpan citra hasil filtering. Berikut ini
merupakan spesifikasi Use Case untuk Pilih Citra dapat dilihat pada Tabel 3.1.
Tabel 3.1. Spesifikasi Use Case Pilih Citra Use Case Pilih Citra
Actors User
Preconditions User memulai mengakses menu Filtering
Postconditions Sistem akan menampilkan citra awal yang telah dipilih dari direktori yang berformat *.bmp
Main Flow Of Event
User System Response
penyimpanan gambar 3. Pengguna memilih file
citra yang berformat *.bmp
4. Menampilkan file citra yang telah dipilih
Alternative Flow -
Berikut ini merupakan spesifikasi Use Case Filtering Citra dapat dilihat pada Tabel 3.2.
Tabel 3.2. Spesifikasi Use Case Filtering Citra Use Case Pilih Metode Filtering
Actors User
Preconditions User mengakses menu Filtering kemudian menekan tombol Filtering Citra
Postconditions Sistem menampilkan citra hasil filtering Main Flow Of Event
User System Response
1. Mengakses menu filtering
2. Menampilkan halaman beberapa metode filtering
3. Memilih satu per satu button filtering
4. Menampilkankan citra hasil filtering dari metode Wiener Filter, Adaptive Median Filter dan kombinasi Wiener
Filter dengan Adaptive Median Filter
beserta parameternya yakni MSE, PSNR, dan running time.
Alternative Flow -
Tabel 3.3. Spesifikasi Use Case Wiener Filter Use Case Wiener Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari Wiener Filter
Main Flow Of Event
User System Response
1. Memilih menu filtering
2. Menampilkan halaman pilihan metode filtering
3. Pilih metode Wiener Filter
5. Lakukan filtering 6. Menampilkan citra hasil perbaikan Wiener Filter
7. - 8. Menghitung dan menampilkan nilai
MSE, PSNR, dan running time Alternative Flow -
Berikut ini merupakan spesifikasi Use Case Adaptive Median Filter dapat dilihat pada Tabel 3.4.
Tabel 3.4. Spesifikasi Use Case Adaptive Median Filter Use Case Adaptive Median Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari Adaptive Median Filter
Main Flow Of Event
User System Response
1. Mengakses menu filtering
2. Menampilkan halaman pilihan metode filtering
3. Memilih metode Adaptive Median
Filter
4. Menampilkankan halaman kerja proses Adaptive Median Filter
5. Lakukan filtering 6. Menampilkan citra hasil perbaikan Adaptive Median Filter
7. - 8. Menghitung dan menampilkan nilai
MSE, PSNR, dan running time Alternative Flow -
Tabel 3.5. Spesifikasi Use Case kombinasi Wiener Filter dan Adaptive Median Filter Use Case Kombinasi Wiener Filter dan Adaptive Median Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari kombinasi Wiener Filter dan Adaptive Median Filter Main Flow Of Event
User System Response
1. Mengakses menu filtering
2. Menampilkan halaman pilihan metode filtering
3. Memilih metode kombinasi Wiener Filter dan Adaptive
Median Filter
4. Menampilkankan halaman kerja proses kombinasi Wiener Filter dan Adaptive Median Filter
5. Lakukan filtering 6. Menampilkan citra hasil perbaikan Adaptive Median Filter
Tabel 3.6. Spesifikasi Use Case hitung MSE, PSNR dan running time Use Case Hitung MSE, PSNR dan running time
Actors User
Preconditions User memilih salah satu button filtering
Berikut ini merupakan spesifikasi Use Case Simpan Citra dapat dilihat pada Tabel 3.7.
Tabel 3.7. Spesifikasi Use Case Simpan Citra Hasil Use Case Simpan Citra Hasil
Actors User
Preconditions User mengeksekusi button simpan citra
Postconditions Sistem akan menyimpan citra hasil yang telah difiltering ke direktori penyimpanan citra
Main Flow Of Event
User System Response
1. Mengeksekusi button simpan citra
2. Menampilkan pop-up window save untuk menampilkan lokasi
penyimpanan gambar Alternative Flow -
3.1.3.2. Activity diagram
Activity diagram menggambarkan proses kerja dalam sebuah sistem yang sedang
berjalan. Berikut ini akan dijelaskan Activity Diagram dari sistem yang dibuat yaitu Activity Diagram Wiener Filter, Adaptive Median Filter dan kombinasi Wiener Filter
Gambar 3.3 berikut ini merupakan activity diagram filtering dari sistem yang akan dibangun.
3.1.3.2Sequence diagram
Sequence diagram (diagram urutan) adalah suatu diagram yang memperlihatkan
interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Sequence diagram diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan keluaran yang dihasilkan (Whitten, 2004). Untuk sistem ini, sequence diagram filtering terbagi menjadi tiga bagian yaitu Wiener Filter, Adaptive Median Filter, dan kombinasi Wiener Filter dengan Adaptive Median Filter. Berikut ini akan di jelaskan Sequence
Diagram dari sisem yang dibuat yaitu Sequence Diagram Wiener Filter.
Untuk sequence diagram Wiener Filter dapat dilihat pada gambar 3.4.
Gambar 3.4. Sequence Diagram Wiener Filter
citra dengan noise lakukan filtering langsung untuk memperbaiki citra dan memunculkan nilai MSE, PSNR, running time citra setelah difiltering.
Berikut ini merupakan Sequence Diagram Adaptive Median Filter dapat dilihat pada gambar 3.5.
Gambar 3.5. Sequence Diagram Adaptive Median Filter
Berikut ini merupakan Sequence Diagram kombinasi Wiener Filter dan Adaptive Median Filter pada gambar 3.6.
Gambar 3.6. Sequence Diagram Kombinasi Wiener Filter dan Adaptive Median Filter
Pada tahap ini, proses yang berlangsung adalah kombinasi Wiener Filter dengan Adaptive Median Filter untuk memperbaiki citra yang memilki noise asli dan impulse
noise.
3.1.3.4. Flowchart sistem
Flowchart merupakan suatu bagan atau gambar yang menunjukan urutan serta
Gambar 3.7. Flowchart keseluruhan sistem
Sub-flowchart yang menggambarkan proses pada Wiener Filter, Adaptive Median Filter, dan Kombinasi Wiener Filter dan Adaptive Median Filter dapat dilihat pada
Gambar 3.10. Flowchart Kombinasi Wiener Filter dan Adaptive Median Filter
3.1.3.5. Pseudocode
Pseudocode merupakan sebuah kode yang digunakan untuk menulis sebuah algoritma
dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu. Pseudocode berisikan langkah–langkah untuk menyelesaikan suatu permasalahan,
menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama dalam suatu algoritma. Berikut adalah pseudocode dari Wiener Filter dan Adaptive Median Filter.
gbrhasil new Bitmap(sourceImage.Width,sourceImage.Height) nx sourceImage.Width
ny sourceImage.Height
(R,G,B)gambar new Complex[sourceImage.Width][] shift(R,G,B) new Complex[sourceImage.Width][] for I 0 to i<sourceImage.Width {
Gambar 3.7. Pseudocode Uniform Noise 3.1.3.4.3. Pseudocode Contraharmonic Mean Filter
Metode Contraharmonic Mean Filter adalah menjumlahkan semua nilai piksel berpangkat Q+1 dibagi dengan jumlah semua nilai piksel berpangkat Q. Nilai yang
menjadi nilai piksel baru pada citra hasil filtering. Pseudocode Contraharmonic Mean Filter dapat dilihat pada Gambar 3.8.
real new double[gambar[0].Length]
void FFT1D(double[] real, double[] imag) { // pemrosesan FFT
Pada pseudocode terlihat bahwa dalam kelas FFT terdapat fungsi-fungsi yang digunakan untuk proses pemfilteran. Pemrosesan Wiener Filter pada citra terdapat pada fungsi Hitung(), sedangkan fungsi selainnya merupakan fungsi untuk membantu pemrosesan FFT itu sendiri.
3.1.3.5.2. Pseudocode Adaptive Median Filter
Gambar 3.10. Pseudocode Mean Square Error (MSE)
3.1.3.4.6. Pseudocode Peak Signal to Noise Ratio (PSNR)
PSNR merupakan parameter kinerja metode filter yang berbanding terbalik dengan MSE. PSNR membandingkan maksimum warna citra dengan akar MSE. Pseudocode PSNR dapat dilihat pada Gambar 3.11.
Gambar 3.11. Pseudocode Peak Signal to Noise Ratio (PSNR)
3.1.Perancangan Sistem
.
Bitmap bmp
Bitmap asli (Bitmap)sourceImage
bmp new Bitmap(asli.Width,asli.Height) List<List<int>>r red(sourceImage, size) List<List<int>>b blue(sourceImage, size) List<List<int>>g green(sourceImage, size) for i 0 to i<sourceImage.Width {
List<List<int>> outr new List<List<int>>()
3.2.1. Flowchart
Flowchart merupakan representasi visual dari urutan langkah dan keputusan yang
dibutuhkan untuk menampilkan proses pada suatu sistem. Setiap langkah digambarkan dalam bentuk diagram dan dihubungkan dengan garis berpanah. Flowchart sistem dapat dilihat pada Gambar 3.12.
3.2 Perancangan Sistem
Perancangan sistem merupakan perancangan proses, alur, dan gambaran suatu sistem. Perancangan sistem terdiri atas rancangan antarmuka (interface).
3.2.1. Perancangan Interface
Perancangan interface merupakan perancangan tampilan aplikasi sistem. Perancangan interface terdiri atas 3 form utama yang merepresentasikan menu-menu sistem, yaitu
form Home, Filtering, dan Help. Form Home merupakan tampilan awal aplikasi.
Form Filtering merupakan menu yang dapat digunakan oleh pengguna untuk
melakukan proses filtering. Form Help berisi panduan untuk pengguna dalam menggunakan aplikasi sistem.
3.2.1.1. Halaman Menu Utama (Form Home)
Perancangan menu utama dapat dilihat pada gambar 3.13. }
else {
nilai.Add(asli.GetPixel(i, j).(R,G,B)) r.Clear()
batas kernelsize/2 break
}
outr.Add(nilai) }
Tabel 3.8. Keterangan gambar rancangan interface Menu Home
No Keterangan
1. Menu Strip merupakan menu yang terdiri dari Home, Filtering, Help dan Exit
2. Label untuk menampilkan judul penelitian
3. Picture Box untuk menampilkan gambar logo Fasilkom-TI USU 4. Label untuk menampilkan Nama dan NIM programmer
5. Label untuk menampilkan Program Studi dan Fakultas programmer
3.2.1.2. Halaman Filtering
Perancangan halaman interface Filtering dapat dilihat pada gambar 3.14.
Gambar 3.12. Rancangan Interface Filtering
Tabel 3.9. Keterangan gambar rancangan interface Filtering
No Keterangan
1. Button “Kembali” untuk kembali ke halaman menu utama
3. Button “Ambil Citra” untuk mengambil citra (*.bmp) yang akan difilter 4. Button “Reset” untuk menghapus seluruh output dan input.
5. Label nama citra, dimensi citra dan ukuran citra
6. TextBox untuk menampilkan nama citra dan ukuran citra 7. Panel berisi TextBox untuk membuat catatan keterangan 8. Picture Box yang menampilkan citra hasil dari Wiener Filter 9. Panel parameter berisi MSE, PSNR dan Text Box running time
10. Button “Filtering” untuk memroses citra yang memiliki noise dengan Wiener Filter
11. Button “Simpan” untuk menyimpan citra hasil yang telah diproses dengan Wiener Filter
12. Picture Box yang menampilkan citra hasil dari Adaptive Median Filter 13. Panel parameter berisi MSE, PSNR dan Text Box running time
14. Button “Filtering” untuk memroses citra yang memiliki noise dengan Adaptive Median Filter
15. Button “Simpan” untuk menyimpan citra hasil yang telah diproses dengan Adaptive Median Filter
16. Picture Box yang menampilkan citra hasil dari kombinasi Wiener Filter dan Adaptive Median Filter
17. Panel parameter berisi MSE, PSNR dan Text Box running time
18. Button “Filtering” untuk memroses citra yang memiliki noise dengan kombinasi Wiener Filter dan Adaptive Median Filter
19. Button “Simpan” untuk menyimpan citra hasil yang telah diproses dengan kombinasi Wiener Filter dan Adaptive Median Filter
3.2.1.3. Halaman Help
Gambar 3.13. Rancangan Interface Help
Tabel 3.10. Keterangan gambar rancangan interface Help
No. Keterangan
1. Button “Kembali” untuk balik ke menu halaman utama 2. Label “Bantuan”
3 Panel TextBox yang berisi langkah-langkah untuk menjelaskan penggunaan aplikasi pada form Filtering
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Implementasi adalah kegiatan yang dilakukan untuk menguji data dan menerapkan sistem yang diperoleh dari hasil analisis. Implementasi merupakan salah satu unsur tahapan dari keseluruhan pembangunan sistem komputerisasi, dan unsur yang harus dipertimbangkan dalam pembangunan sistem. Sistem ini dibangun dengan menggunakan C# 4.3.
4.1.1. Implementasi Algoritma
Teknik filtering yang digunakan untuk memperbaiki citra yang memiliki noise asli dan impulse noise adalah Wiener Filter dan Adaptive Median Filter.
4.1.1.1. Implementasi Wiener Filter
Bagian ini menjelaskan mengenai proses perbaikan citra noise menggunakan metode Wiener Filter. Wiener Filter termasuk metode filtering pada kawasan frekuensi,
sehingga diperlukan transformasi Fourier. Transformasi Fourier yang digunakan adalah Fast Fourier Transform (FFT).
Berikut persamaan transformasi Fourier 1D (Kadir & Susanto, 2013).
( ) = 1 ( ) ( 2 − 2 ) ………( 9)
Dengan u = 0,1,2,…,N-1.
Untuk Wiener Filter sendiri, persamaan yang dipakai dalam kawasan frekuensi berupa pengenaan FFT. Dan adalah nilai konstanta yang dalam hal ini bernilai 100.
( 3) = 1
Gambar 4.1 memperlihatkan citra asli dan hasil transformasi Fourier
F(x) F(u)
Gambar 4.1. Citra dimensi satu dan hasil transformasi Fourier
Setelah didapat hasil dari FFT, maka lanjut ke proses Wiener Filter (dalam hal ini, hanya bilangan realnya saja yang akan dihitung)
( , ) = 1
4.1.1.2. Implementasi Adaptive Median Filter
Bagian ini menjelaskan mengenai proses perbaikan citra noise menggunakan Adaptive Median Filter dengan matriks citra misalnya 4x4. Window maksimum atau Smax yang digunakan bernilai 3. Dari matriks citra 4x4 diambil matriks citra 3x3 untuk melakukan proses filtering pada titik pusat dari matriks citra 3x3 tersebut, terlihat pada Gambar 4.2.
35 35 30
35 12 35
12 34 35
Gambar 4.2. Matriks citra 3x3 sebelum difiltering
Ditentukan nilai Zxy, Zmin, Zmed dan Zmax berdasarkan matriks citra 3x3 tersebut berdasarkan urutan:
12, 12, 30, 34, 35, 35, 35, 35, 35
Zmin = 12, Zmed = 35, Zmax = 35
Zxy = 12 (Nilai piksel paling tengah dari matriks citra)
Dilakukan perhitungan pada persamaan Adaptive Median Filter yang berfungsi untuk melihat apakah Zmin < Zmed < Zmax.
Dengan syarat :
1. Jika hasilnya bernilai true, lakukan perhitungan yang berfungsi untuk melihat apakah Zmin < Zmed < Zmax. Jika hasilnya true, maka Zxy bukan merupakan noise sehingga nilai Zxy tidak perlu diubah. Selain itu, ubah nilai Zxy dengan nilai Zmed.
2. Jika hasilnya bernilai false, maka ubah nilai Zxy dengan Zmed Diperoleh bahwa :
Sehingga nilai Zxy diubah menjadi nilai Zmed. Seperti pada gambar 4.3.
35 35 30
35 35 35
35 33 12
Gambar 4.3. Matriks citra 3x3 setelah difiltering
Hasil akhir citra 4x4 sebelum dan sesudah proses filtering dapat dilihat pada Gambar 4.4.
(a) (b)
Gambar 4.4. (a) Matriks citra 4 4 sebelum filtering (b) Matriks citra 4 4 setelah filtering dengan Adaptive Median Filter
35 35 30 36 35 12 35 52 12 34 35 52 76 52 52 52
4.1.2. Implementasi User Interface
4.1.2.1. Form Home (Main form)
Pada saat aplikasi dijalankan, maka form pertama yang akan muncul ialah form home. Form home berisi informasi mengenai judul skripsi dan nama penulis. Pada form
home juga terdapat menu filtering, menu help dan exit. Gambar 4.5 menunjukkan
tampilan form home pada sistem.
Gambar 4.5. Form Home
4.1.2.1. Form Filtering
Form Filtering merupakan form implementasi dan perbandingan metode Wiener
Filter dan Adaptive Median Filter dengan penambahan kombinasi keduanya. Form ini
hanya menampilkan citra asli yang berisi noise dan citra yang telah mengalami proses filtering beserta perhitungan MSE, PSNR, dan running time dari proses filtering
Gambar 4.6. Form Filtering
4.1.2.1. Form Help
Form Help berisi mengenai petunjuk penggunaan aplikasi untuk memudahkan
pengguna dalam memahami dan menggunakan aplikasi dengan baik. Form help ditunjukkan pada Gambar 4.7.
4.2. Pengujian
Pengujian sistem merupakan hasil dari proses implementasi sistem. Pengujian dilakukan dengan menggunakan citra yang berisi noise asli yang dalam hal ini noise tidak dibangkitkan dari sistem sehingga tidak akan ada probabilitas noise dan ditambah citra dengan impulse noise. Citra dengan noise asli didapat dari hasil capturing kamera digital. Citra yang akan diuji memiliki format bitmap (*.bmp) yang berukuran 256x256 piksel atau 512x512 piksel.
4.2.1. Pengujian Proses Filtering
Pengujian metode filter diawali dengan memilih citra dengan noise asli atau citra dengan impulse noise yang akan digunakan dalam proses filtering. Setelah citra tampil pada sistem, maka akan ditampilkan informasi citra. Kemudian citra noise tersebut di-filter menggunakan metode Wiener Filter, Adaptive Median Filter dan kombinasi
keduanya. Nilai MSE, PSNR, dan running time akan muncul bersamaan dengan citra hasil filtering. Setelah proses filter selesai, sistem akan menampilkan message box yang menyatakan bahwa proses filter telah berhasil dilakukan seperti terlihat pada gambar 4.8.
Gambar 4.8. Message Box Filtering berhasil
Gambar 4.9. Proses pemfilteran citra yang memiliki noise asli dengan Wiener Filter, Adaptive Median Filter dan kombinasi keduanya
4.3. Hasil Pengujian
Pengujian metode filtering dilakukan terhadap beberapa gambar berformat bitmap dengan ukuran dimensi yang bervariasi pada masing-masing citra. Citra dengan noise asli dan impulse noise yang diuji pada penelitian ini dapat dilihat pada gambar 4.11 dan gambar 4.12.
Gambar 4.12. Beberapa citra yang berisi impulse noise
Sekilas citra dari Wiener Filter yang ditunjukkan pada tabel 4.1 dan tabel 4.2 memperlihatkan hasil yang sedikit lebih gelap dari citra asalnya dibandingkan dengan hasil Adapative Median Filter. Hal ini disebabkan perubahan piksel dari pemrosesan Wiener Filter lebih kecil dari piksel awal sehingga mengakibatkan citra hasil menjadi
sedikit lebih gelap. Hal ini dapat ditunjukkan oleh gambar 4.13.
(a)
(b)
Gambar 4.13. (a) Nilai piksel awal red sebelum difilter dan (b) nilai piksel akhir red setelah difilter dengan Wiener Filter
147 157 152 155 153
156 156 148 147 151
152 155 153 162 147
152 152 155 153 152
157 162 153 153 158
130 139 134 137 153
138 138 131 130 151
134 137 135 144 147
135 134 137 135 135
Nilai MSE, PSNR, dan running time filtering beserta rata-ratanya untuk citra noise asli dapat dilihat lebih jelas pada tabel 4.4, tabel 4.5, dan tabel 4.6 berikut.
Tabel 4.4. Rata-rata Nilai MSE, PSNR, dan running time pada citra 256x256 piksel dan 512x512 piksel dengan Wiener Filter
Ukuran
Tabel 4.5. Rata-rata Nilai MSE, PSNR, dan running time pada citra 256x256 piksel dan 512x512 piksel dengan Adaptive Median Filter
Tabel 4.6. Rata-rata Nilai MSE, PSNR, dan running time pada citra 256x256 piksel dan 512x512 piksel dengan Kombinasi WF dan AMF
Ukuran citra (piksel)
Nama citra (.bmp)
Citra Hasil Kombinasi MSE PSNR (db) RT (s)
256
x
256
books 276 4 14,648
ayin 528 3 14,920
pas photo 352 4 14,519
home 463 3 15,453
Rata-rata 404,75 3,5 14,885
512
x
512
books 266 4 58,145
ayin 405 4 61,491
pas photo 709 5 59,229
home 325 5 61,087
Rata-rata 426,25 4,5 59,988
Tabel 4.7. Rata-rata Nilai MSE, PSNR, dan running time pada citra impulse noise 256x256 piksel dan 512x512 piksel dengan Wiener Filter
Ukuran
Tabel 4.8. Rata-rata Nilai MSE, PSNR, dan running time pada citra impulse noise 256x256 piksel dan 512x512 piksel dengan Adaptive Median Filter
Tabel 4.9. Rata-rata Nilai MSE, PSNR, dan running time pada citra impulse noise 256x256 piksel dan 512x512 piksel dengan Kombinasi WF dan AMF
Ukuran citra (piksel)
Nama citra (.bmp)
Citra Hasil Kombinasi MSE PSNR (db) RT (s)
256
x
256
cat (impulse) 1009 3 15,071
dedek (impulse) 582 3 15,348
natra (impulse) 1203 3 15,568
jamur (impulse) 620 3 15,365
Rata-rata 853,5 3 15,338
512
x
512
cat (impulse) 1018 3 63,694
dedek (impulse) 1097 3 60,993
natra (impulse) 1065 3 68,151
jamur (impulse) 983 3 63,095
Rata-rata 1040,75 3 63,983
Tabel 4.10. Perbandingan rata-rata nilai MSE, PSNR, dan running time pada citra 256x256 piksel dan 512x512 piksel dengan ketiga filtering
Ukuran citra
(piksel) Filtering
Rata-rata nilai MSE, PSNR, dan RT
MSE PSNR (db) RT (s) metode tidak memperlihatkan hasil yang mencolok antara citra sebelum dan sesudah filtering. Akan tetapi jika dibandingkan dengan tabel 4.2, citra yang berisi impulse
noise ketika difilter memperlihatkan hasil yang cukup baik, terutama pada Adaptive
Median Filter dan kombinasi. Ini artinya, metode filtering tersebut lebih efektif
digunakan pada citra impulse noise ketimbang pada citra noise asli.
Adaptive Median Filter yang rata-rata MSE yang dihasilkan sebesar 720,75 dan PSNR
sebesar 3 db. Sedangkan pada Wiener Filter malah menghasilkan rata-rata MSE terendah yakni hanya sebesar 160 dengan PSNR 3,25 db.
Hal yang sama juga terjadi untuk ukuran citra yang lebih besar, yaitu 512x512 piksel. Akan tetapi, dalam proses running time, waktu tercepat dimiliki oleh metode Wiener Filter dan yang terlama adalah Adaptive Median Filter. Rata-rata waktu yang
dihasilkan AMF hampir sekitar 10 kali lipat dari Wiener Filter dan waktu kombinasi hampir 5 sampai 7 kali lipat dari Wiener Filter.
Jika dilihat dari nilai MSE dan PSNR untuk masing-masing ukuran citra yang diujikan, baik noise asli maupun impulse noise maka kombinasi Wiener Filter dan Adaptive Median Filter lebih baik dalam memperbaiki kualitas citra bila dibandingkan
dengan Wiener Filter dan Adaptive Median Filter. Namun secara visual, Adaptive Median Filter memberikan hasil citra yang lebih baik dibanding Wiener Filter dan
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah melakukan tahap analisis, perancangan, implementasi dan pengujian pada sistem, hasil penelitian dapat disimpulkan sebagai berikut :
1. Metode Kombinasi Wiener Filter dan Adaptive Median Filter lebih baik dalam memperbaiki kualitas citra dibandingkan dengan metode Wiener Filter dan Adaptive Median Filter terhadap citra yang memiliki noise asli dan impulse noise
berukuran 256x256 piksel. Hal ini dibuktikan dengan nilai rata-rata MSE dan PSNR sebesar 404,75 dan 3,5 dB untuk noise asli serta rata-rata MSE dan PSNR sebesar 853,5 dan 3 db untuk impulse noise dibandingkan dengan Wiener Filter yang sebesar 233,75 dan 3,25 dB untuk noise asli serta 160 dan 3,5 db untuk impulse noise, dan Adaptive Median Filter sebesar 176,5 dan 3,5 dB untuk noise
asli serta 720,75 dan 3 db untuk impulse noise.
2. Metode Kombinasi Wiener Filter dan Adaptive Median Filter lebih baik dalam memperbaiki kualitas citra dibandingkan dengan metode Wiener Filter dan Adaptive Median Filter terhadap citra yang memiliki noise asli dan impulse noise
berukuran 512x512 piksel. Hal ini dibuktikan dengan nilai rata-rata MSE dan PSNR sebesar 426,25 dan 4,5 dB untuk noise asli serta rata-rata MSE dan PSNR sebesar 1040,75 dan 3 db untuk impulse noise dibandingkan dengan Wiener Filter yang sebesar 277,5 dan 3 dB untuk noise asli serta 130 dan 4 db untuk impulse noise, dan Adaptive Median Filter sebesar 50,75 dan 4,5 dB untuk noise asli serta
942,25 dan 3 db untuk impulse noise.
4. Nilai running time pada metode Adaptive Median Filter jauh lebih besar yakni 10 kali lipat dari Wiener Filter dan kombinasi WF dan AMF besarnya 5-7 kali lebih besar dari Wiener Filter.
5.2. Saran
Berikut saran-saran yang dapat dipertimbangkan dalam pengembangan penelitian ini :
1. Karena tidak ada pembangkitan noise oleh sistem, diharapkan kedepannya sistem mampu melakukan pendeteksian noise terlebih dahulu sebelum citra difiltering, sehingga bisa diketahui apakah citra yang diinput memiliki noise atau tidak. 2. Metode yang digunakan dalam sistem ini berbeda domain satu sama lain. Untuk
kedepannya diharapkan menggunakan metode yang mencakup satu domain saja, apakah domain spasial dengan spasial atau domain frekuensi dengan frekuensi. 3. Diharapkan citra noise asli yang digunakan lebih banyak dan bukan hanya didapat
BAB 2
LANDASAN TEORI
2.1. Citra Digital
Citra digital adalah citra yang dapat diolah oleh komputer (Sutoyo & Mulyanto, 2009). 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 dalam pita magnetik. Komputer hanya dapat bekerja dengan bilangan numerik yang berhingga, sehingga gambar harus diubah ke dalam bentuk bilangan numerik berhingga (gambar digital) sebelum diproses dalam suatu komputer. Untuk mengubah gambar yang bersifat kontinu menjadi gambar digital diperlukan proses pembuatan kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitalisasi atau sampling (Sholihin & Purwoto, 2013).
Citra di dalam komputer disusun atas sejumlah piksel. Sebuah piksel dapat dibayangkan sebagai sebuah titik. Setiap titik mempunyai koordinat, yang dinyatakan dengan bentuk (y,x) dengan y menyatakan baris dan x menyatakan kolom. Umumnya, koordinat pojok kiri-atas dinyatakan dengan (0,0). Dengan demikian, jika suatu citra berukuran M baris dan N kolom atau biasa dinyatakan sebagai M x N , koordinat piksel terbawah dan terkanan berada di koordinat (M-1, N-1) (Kadir, 2013).
2.2. Representasi Citra Digital
yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada koordinat (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks pada gambar 2.1.
( , ) =
f(0,0) f(0,1) … f (0,M-1) f (1,0) … … f (1,M-1)
… … … …
f(N-1,0) f(N-1,1) … f(N-1,M-1)
Gambar 2.1. Citra grayscale dalam bentuk matriks
Pada proses digitalisasi (sampling dan kuantisasi) diperoleh besar baris M dan kolom N hingga citra membentuk matriks MxN dan jumlah tingkat keabuan piksel G. biasanya besar M, N, dan G adalah perpangkatan dari dua (Sutoyo & Mulyanto, 2009).
M = 2m N = 2n dan G = 2k ..……….………. (1) Yang dalam hal ini m,n, dan k adalah bilangan bulat positif. Jika b menyatakan jumlah bit yang diperlukan untuk menyimpan citra digital dalam memori, maka:
b = M x N x k .………..………...(2) 2.3. Jenis-jenis Citra
2.3.1. Citra Biner (Monokrom)
Contoh citra biner dapat dilihat pada gambar 2.2.
Gambar 2.2. Citra Biner
2.3.2. Citra Grayscale (skala keabuan)
Citra jenis ini menangani gradasi warna hitam dan putih, yang tentu saja menghasilkan warna abu-abu. Pada jenis gambar ini, warna dinyatakan dengan intensitas. Dalam hal ini, intensitas berkisar antara 0 sampai dengan 255. Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih (Kadir & Susanto, 2013). Contoh citra dapat dilihat pada gambar 2.3.
Matriks piksel 6x6
Gambar 2.3. Citra Grayscale
2.3.3. Citra warna (true color)
Citra berwarna (true color) mepresentasikan keadaan visual objek-objek yang biasa kita lihat. Warna objek ikut direkam (Kadir, 2013). Citra berwarna seringkali dikenal sebagai citra RGB yang terdiri atas tiga komponen warna, yaitu merah, hijau, dan biru digabungkan dalam membentuk sautu susunan warna yang luas. Setiap warna dasar,
0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1
misalnya merah, dapat diberi rentang nilai. Untuk monitor komputer, nilai rentangnya paling kecil = 0 dan paling besar = 255. Pilihan skala 256 ini didasarkan pada cara mengungkap 8 digit bilangan biner yang digunakan oleh mesin komputer. Dengan cara ini, akan diperoleh warna campuran sebanyak 256x256x256 = 16.777.216 jenis warna (Listiyani, 2012). Tabel 2.1 menunjukkan contoh warna dan nilai R, G, dan B.
Tabel 2.1. Warna dan nilai penyusun warna
Warna R G B
Merah 255 0 0
Hijau 0 255 0
Biru 0 0 255
Hitam 0 0 0
Putih 255 255 255
Kuning 0 255 255
Untuk contoh citra warna dapat dilihat pada gambar 2.4.
Gambar 2.4. Citra warna (true color)
2.4. Pixel (Picture Element)
Gambar yang bertipe bitmap tersusun dari pixel-pixel. Pixel disebut juga dengan dot. Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan
penyusun/pembentuk gambar bitmap.
banyak jumlah pixel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan ukuran file akan semakin besar.
Pixel adalah representasi sebuah titik terkecil dalam citra grafis. Monitor atau
layar datar yang sering kita temui terdiri dari ribuan pixel yang terbagi dalam baris-baris dan kolom-kolom. Jumlah pixel yang terdapat dalam sebuah monitor dapat kita ketahui dari resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah 1024x768, maka jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 pixel. Semakin tinggi jumlah pixel yang tersedia dalam monitor, semakin tajam
gambar yang mampu ditampilkan oleh monitor tersebut. Jika suatu gambar mempunyai resolusi 20x30, maka jumlah pixel yang terdapat dalam file tersebut adalah 600 pixel (Fatmawati, 2010).
2.5. Format File Citra
Pada umumnya file citra digunakan untuk menyimpan citra yang ditampilkan di layar ke dalam suatu media penyimpanan data. Untuk menyimpan sebuah file citra ini digunakan salah satu format file. Ada banyak format file citra yang dapat digunakan untuk menyimpan file citra, diantaranya adalah BMP, JPEG, ICO.
2.5.1. Format File Bitmap (BMP)
Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan kode citra warna secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra bitmap direpresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar (Sutoyo & Mulyanto, 2009).
2.6. Noise (derau)
Noise adalah suatu bentuk kerusakan pada image signal yang disebabkan oleh
disebabkan oleh menyimpangnya data digital yang diterima oleh alat penerima data gambar. Alat penerima gambar ini bisa berbentuk berbagai macam, mulai dari kamera, baik itu jenis kamera analog maupun jenis kamera digital dan juga scanner.
Ada banyak jenis noise, salah satunya adalah impulse noise. Impulse noise atau disebut juga salt-and-pepper noise, yaitu noise yang menyerupai taburan garam sehingga titik-titik hitam dan putih tampak pada citra. Impulse noise biasanya terjadi selama transisi citra. Noise ini tampak sebagai impulse-impulse hitam dan/atau putih diatas citra. Sumber dari noise ini bisa dari atmosferik ataupun buatan manusia (misalnya asap dari mesin mobil). Impulse noise ini dapat terjadi karena bit error acak pada saluran komunikasi (Shinde, et al. 2012). Contoh citra yang berisi impulse noise dapat dilihat pada gambar 2.5.
Gambar 2.5. Citra dengan impulse noise
Citra digital sangat rentan mendapatkan serangan derau. Ada beberapa cara yang menyebabkan suatu derau dapat berada di dalam sebuah citra, bergantung bagaimana citra tersebut diciptakan. Sebagai contoh, jika citra merupakan hasil scan foto yang berasal dari sebuah film negatif, maka film negatif ini merupakan sumber derau. Jika citra diperoleh secara langsung dalam format digitalnya, mekanisme dalam mendapatkan data digital tersebut juga dapat menyebabkan adanya derau (Sulistyo, 2009).
Noise muncul biasanya sebagai akibat dari pembelokkan yang tidak bagus
atau berubah sangat lambat. Operasi denoise dilakukan untuk menekan komponen yang berfrekuensi tinggi dan meloloskan komponen yang berfrekuensi rendah (Murinto, 2007). Contoh citra yang memiliki noise dapat dilihat pada gambar 2.6.
Gambar 2.6. Citra usg.bmp yang berisi noise
2.7. Pengolahan Citra Digital
Operasi-operasi pengolahan citra diklasifikasikan dalam beberapa jenis sebagai berikut (Munir, 2004):
1. Perbaikan kualitas citra (image enhancement)
Bertujuan untuk memperbaiki kualitas yang dimiliki citra dengan cara memanipulasi parameter-parameter citra, sehingga ciri-ciri khusus yang terdapat pada citra dapat ditonjolkan. Contoh-contoh operasi perbaikan citra:
a. Perbaikan kontras gelap/terang. b. Perbaikan tepian objek.
c. Penajaman.
d. Pemberian warna semu. e. Penapisan derau.
2. Pemugaran citra (image restoration)
Bertujuan menghilangkan atau meminimumkan cacat pada citra. Dengan operasi ini penyebab degradasi gambar dapat diketahui. Contoh-contoh operasi pemugaran citra:
3. Pemampatan citra (image compression)
Bertujuan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam operasi ini adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode Run Length Encoding (RLE).
4. Segmentasi citra (image segmentation)
Tujuan dari operasi ini untuk memecah suatu citra ke dalam beberapa segmen dengan kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.
5. Pengorakan citra (image analysis)
Bertujuan menghitung besaran kuantitatif dari citra untuk menghilangkan deskripsinya. Teknik pengorakan citra mengektraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Contoh-contoh operasi pengorakan citra:
a. Pendeteksian tepi objek (edge detection) b. Ekstraksi batas (boundary)
c. Representasi daerah (region)
6. Rekonstruksi citra (image reconstruction)
2.7.1. Pengolahan Citra di Kawasan Spasial dan Kawasan Frekuensi
Citra dapat ditransformasikan baik pada domain spasial, maupun domain frekuensi. Ada dua cara untuk melakukan transformasi yang ditunjukkan pada gambar 2.7.
Gambar 2.7. Proses Transformasi Citra
Pada pengolahan citra di kawasan spasial, dapat dilakukan transformasi spasial dengan memanipulasi intensitas piksel, seperti brightness dan thresholding posisi piksel seperti rotasi dan translasi. Sedangkan pengolahan citra di kawasan frekuensi, diperlukan transformasi domain untuk memetakan citra dari kawasan spasial ke dalam kawasan frekuensi, transformasi inilah yang kemudian dinamakan transformasi Fourier. Dengan cara ini, citra digital ditransformasikan lebih dulu dengan
transformasi Fourier, kemudian dilakukan manipulasi pada hasil transformasi Fourier tersebut. Setelah manipulasi selesai, dilakukan inverse transformasi Fourier untuk mendapatkan citra kembali. Metode domain frekuensi ini dapat digunakan untuk menyelesaikan masalah-masalah tertentu yang sulit jika dilakukan dengan menggunakan metode domain spasial (Sutoyo, 2009).
2.7.1.1. Adaptive Median Filter
Salah satu cabang dari Median Filter adalah Adaptive Median Filter. Adaptive Median Filter dirancang untuk menghilangkan masalah yang dihadapi dengan standar Median
Filter. Perbedaan mendasar antara dua filter ini adalah bahwa pada Adaptive Median
Filter besarnya window (jendela/kernel) sekitarnya setiap piksel adalah variabel.
Pada dasarnya pada “pengolahan” citra diperlukan : piksel pusat dari jendela (window) dievaluasi untuk memverifikasi apakah itu suatu impulse atau bukan. Jika itu adalah suatu impulse, maka nilai piksel baru pada gambar yang telah difilter akan menjadi nilai median dari piksel dalam jendela itu. Jika piksel pusat bukan suatu impulse, maka nilai dari pusat piksel akan dipertahankan dalam citra yang difilter.
Piksel (terkecuali) yang dipertimbangkan sebagai sebuah impulse, nilai grayscale dalam piksel pada gambar yang difilter adalah sama dengan citra masukan. Adaptive median filter memiliki tujuan ganda yaitu menghapus impuls noise pada gambar dan
mengurangi distorsi pada gambar. Adaptive Median Filter dapat menangani operasi filter pada gambar rusak dengan impulse noise. Filter ini juga memperhalus noise.
Dengan demikian, filter ini memberikan output citra jauh lebih baik dari standar median filter.
Filter ini melakukan pengolahan spasial untuk menentukan nilai mana dalam
citra yang terkena noise dengan membandingkan setiap pikselnya terhadap tetangganya. Ukuran window dapat disesuaikan dengan batasan maksimum window. Piksel yang berbeda dengan tetangganya maka dianggap sebagai noise untuk kemudian digantikan dengan nilai median piksel yang ada dalam satu window. Ukuran dari Median Filter dipergunakan pada piksel individual yang ditentukan berdasarkan perkiraan tingkat noise lokal. Filter yang lebih besar dipakai pada area dengan noise tingkat tinggi, dan filter yang lebih kecil dipakai pada area dengan noise tingkat rendah (Listiyani, 2013).
Tujuan dari algoritma Adaptive Median Filter ini adalah mengidentifikasi kandidat noise Zxy kemudian mengganti setiap Zxy dengan nilai median dari piksel yang ada pada window Sxy. Algoritma ini bekerja pada dua bagian, bagian A dan B sebagaimana terlihat pada persamaan (3) dan persamaan (4) (Prasetyo, 2011) :
Bagian A :
1 = −
2 = − ……… (3)
1 = −
2 = − ……….. (4)
Jika B1 > 0 dan B2 < 0, keluarkan . Jika tidak, keluarkan
Penjelasan untuk algoritma Adaptive Median Filter adalah sebagai berikut (Thivakaran & Chandrasekaran, 2010):
Untuk setiap piksel pada lokasi (x,y) : Langkah 1. Inisialisasi S = 3.
Langkah 2. Hitung , , dan yang merupakan nilai minimum, median, dan maksimum dari piksel-piksel di dalam window .
Langkah 3. Lakukan perhitungan pada persamaan (3) yang berfungsi untuk melihat apakah < < . Jika hasilnya bernilai true, dilanjutkan ke langkah 5. Jika tidak, atur ukuran = + 2, hingga mencapai ukuran maksimum dari . Langkah 4. Jika ≤ , ulangi langkah 2. Selain itu, ubah dengan . Langkah 5. Lakukan perhitungan pada persamaan (4) yang berfungsi untuk melihat apakah < < . Jika hasilnya bernilai true, maka bukan noise sehingga nilai tidak perlu diubah, selain itu, ubah nilai dengan nilai .
Keterangan :
= fltering window
= nilai piksel pusat pada window = nilai minimum pada window
2.7.1.2. Wiener Filter
Wiener Filter adalah salah satu jenis filter spasial non-linear. Wiener filter yang
diusulkan pertama kali oleh N. Wiener pada tahun 1942 dilaksanakan dengan meminimalkan kesalahan kuadrat rerata antara citra ideal dan citra terestorasi. Apabila f adalah citra ideal dan adalah citra terestorasi, kesalahan kuadrat reratanya berupa
= ( ( , ) − ( , ) ) ≈ ∑ ∑ ( ( , ) − ( , ) ) …….. (5)
Dengan M adalah tinggi citra dan N adalah lebar citra. Solusi atas problem di atas dikenal dengan nama Wiener Filter (Kadir & Susanto, 2013).
Dalam kawasan frekuensi, solusi untuk Wiener Filter berupa (McAndrew, 2004) :
( , ) = 1
( , )
| ( , ) | | ( , ) | +
^( , ) ………( 6)
Dimana ( , ) pada persamaan (6) merupakan nilai dari hasil alihragam Fourier yang akan digunakan nantinya, dan ^( , ) adalah piksel citra. Sementara adalah nilai konstanta yang dalam hal ini bernilai 100.
2.8. Parameter Pembanding Kualitas Citra 2.8.1. Mean Square Error (MSE)
Pengamatan baik tidaknya suatu pendekatan untuk melakukan restorasi citra biasa dilakukan dengan menggunakan mata. Namun, cara seperti itu bersifat subjektif (Kadir & Susanto, 2013). Agar bisa diukur secara kuantitatif, maka perlu adanya alat ukur kuantitatif yang bisa digunakan untuk mengukur kinerja prosedur perbaikan citra, Alat ukur ini disebut MSE (Mean Square Error) yang dinyatakan dengan persamaan (Sutoyo & Mulyanto, 2009) :
= 1 ( ( , ) − ( , ) ) ………( 7)
2.8.2. Peak Signal to Noise Ratio (PSNR)
Peak Signal to Noise Ratio (PSNR) merupakan parameter standar untuk menilai
kualitas suatu citra secara objektif dengan membandingkan noise terhadap sinyal puncak. PSNR adalah perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya noise yang berpengaruh pada sinyal tersebut (Saselah, et al. 2013). PSNR biasanya diukur dalam satuan desibel. PSNR dapat dihitung menggunakan persamaan (Al-amri, et al. 2010) :
= 10 log ..………...…………(8)
Dimana :
1.1. Latar Belakang
Dewasa ini, citra digital memegang peranan yang sangat penting sebagai bentuk informasi. Penggunaan citra digital semakin meningkat karena kelebihan-kelebihan yang terdapat pada citra digital itu sendiri, mulai dari kemudahan mendapatkan gambar, memperbanyak gambar, mengolah gambar, dan lain sebagainya. Dalam hal lain, meskipun citra kaya akan informasi, tidak semua citra digital memiliki tampilan visual yang memuaskan mata. Ketidakpuasan itu bisa disebabkan oleh penurunan intensitas mutu, misalnya mengandung cacat atau derau (noise), warna yang terlalu kontras atau kabur. Citra yang mengalami kerusakan (noise) dapat mengakibatkan informasi yang ada menjadi berkurang dan informasi yang diperoleh tidak sebaik yang diharapkan. Untuk itu diperlukan adanya suatu metode perbaikan citra digital agar informasi yang diperoleh menjadi maksimal (Saselah, et al. 2013).
Pada pengolahan citra digital, noise dapat dikurangi ataupun dihilangkan dengan menggunakan teknik filtering. Teknik filtering merupakan teknik yang digunakan untuk memperbaiki kualitas citra. Salah satu dari teknik filtering yaitu Wiener Filter dan Adaptive Median Filter. Wiener Filter adalah salah satu jenis filter
spasial non-linear yang merupakan Discrete Time Linier Finite Impulse Response (FIR) filter. Prinsip ini telah dikembangkan luas untuk rekonstruksi dari sinyal satu dimensi dan citra dua dimensi. Wiener Filter sensitif terhadap noise, tapi filter tersebut dapat mengkonstruksi citra dengan baik (Kumar, et al. 2010).
Sedangkan Adaptive Median Filter merupakan filter yang dapat menangani impulse noise dengan kemungkinan yang lebih besar dari Median Filter, melakukan
Adaptive Median Filter ini telah banyak digunakan secara luas sebagai metode
lanjutan dibandingkan dengan Median Filter biasa.
Berdasarkan hasil penelitian sebelumnya oleh Listiyani (2013), membahas cara mereduksi noise dengan menggunakan metode Adaptive Median Filter pada citra yang dikenai noise, dimana noise yang digunakan adalah noise bangkitan (Gaussian Noise dan Uniform Noise) serta noise manual oleh user, yakni citra diberi coretan.
Citra outputnya menunjukkan hasil yang sangat baik karena Adaptive Median filter ini mempertahankan detail citra sekaligus memperhalus noise. Pada penelitian Kumar dkk (2010) mengenai Performance Comparison of Median and Wiener Filter in Image De-noising, membahas hasil perbandingan Median filter dan Wiener filter
dalam mereduksi noise pada format citra .png dimana noise yang digunakan adalah Gaussian noise, salt and pepper noise, dan speckle noise. Hasil reduksi noise dilihat
dari parameter kualitasnya menunjukkan bahwa Wiener filter memberikan hasil lebih baik dalam mereduksi Gaussian noise dan Speckle noise dibanding Median filter. Sedangkan dalam mereduksi Salt and Pepper noise, Median filter lebih baik dibandingkan Wiener filter.