ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER
DENGAN OPERATOR SOBEL, OPERATOR PREWITT
DAN OPERATOR ROBERT PADA CITRA BITMAP
SKRIPSI
MAGDALENA SIREGAR 111401109
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ANALISIS PERBANDINGAN
GEOMETRIC MEAN FILTER
DENGAN
OPERATOR
SOBEL,
OPERATOR
PREWITT
DAN
OPERATOR
ROBERT
PADA CITRA
BITMAP
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
MAGDALENA SIREGAR 111401109
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS PERBANDINGAN GEOMETRIC MEAN
FILTER DENGAN OPERATOR SOBEL,
OPERATOR PREWITT DAN OPERATOR ROBERT PADA CITRA BITMAP
Kategori : SKRIPSI
Nama : MAGDALENA SIREGAR
Nomor Induk Mahasiswa : 111401109
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI)
Diluluskan di Medan, 25 Agustus 2015
Komisi Pembimbing:
Dosen Pembimbing II Dosen Pembimbing I
Dian Rachmawati, S.Si, M.Kom Drs. Agus Salim Harahap, M.Si NIP.19830723 200912 2 004 NIP.19540828 198103 1 004
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER DENGAN OPERATOR SOBEL, OPERATOR PREWITT DAN
OPERATOR ROBERT PADA CITRA BITMAP
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 25 Agustus 2015
Magdalena Siregar
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus yang telah mencurahkan berkat dan kasih-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. Subhilhar, Ph.D selaku Pj 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 serta Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 4. Drs. Agus Salim Harahap, M.Si selaku Dosen Pembimbing I yang telah
memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
5. Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang dengan sabar telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
7. Seluruh dosen dan pegawai Program studi S1 Ilmu Komputer Fasilkom-TI USU .
Opung Sumihar terutama tulang-tulang yang terus memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.
9. Bapak tercinta Alm. Nando Siregar yang selalu menjadi motivasi dan inspirasi dalam pengerjaan skripsi ini.
10.Teman-teman terdekat, terutama Farid, Mey, Yatik yang telah membantu penulis dalam menyelesaikan skripsi ini dan juga Witty, pengurus IMILKOM 2014-2015 atas semangat serta Guru Sekolah Minggu HKBP Perumnas Simalingkar atas dorongannya dan doanya sehingga penulis dapat menyelesaikan skripsi ini
11.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 berkat yang melimpah dari Tuhan Yesus Kristus.
Medan, Agustus 2015
ABSTRAK
Mendeteksi tepi pada citra merupakan hal yang biasa dalam proses pengolahan citra, namun disini dilakukan perbandingan hasil deteksi tepi pada citra asli dan citra yang telah mengalami proses filtering. Hal ini dilakukan untuk melihat apakah ada pengaruh proses filtering pada kinerja deteksi tepi. Metode filtering yang digunakan adalah Geometric Mean Filter untuk mereduksi Gaussian Noise dan Salt-Pepper Noise, sedangkan operator deteksi tepinya adalah Sobel, Prewitt dan Robert.
Parameter yang digunakan untuk mengukur nilai perbandingan antara ketiga operator deteksi tepi yaitu nilai MSE, PSNR dan Running Time. Implementasi sistem menggunakan SharpDevelop 4.3 dengan bahasa pemogaraman C#. Pada sistem ini objek yang digunakan adalah citra dengan format bitmap atau *.bmp. Proses pengujian ini dilakukan dengan nilai probabilitas noise antara 10%, 20%, 30%, 40%, dan 50%. Berdasarkan hasil pengujian diperoleh bahwa citra asli memiliki proses deteksi tepi lebih baik dibandingkan dengan citra hasil filtering dengan nilai MSE = 628,723 dan PSNR = 1,0149 dB pada operator Sobel. Sedangkan proses yang relatif paling cepat dalam mendeteksi tepi dengan nilai Running Rime = 0,263 s pada operator Prewitt.
COMPARATIVE ANALYSIS OF GEOMETRIC MEAN FILTER WITH SOBEL OPERATOR, PREWITT OPERATOR AND
ROBERT OPERATOR ON BITMAP IMAGE
ABSTRACT
Edge detection is a common thing in image processing, but here done to compare the edge detection on the original image and the image filtering result. This cas was done to see if there was an effect of the filtering process on the edge detection performance. The method of filtering is Geometric Mean filter to reduce Gaussian Noise and Salt-Pepper Noise and edge detection operators are Sobel, Prewitt and Robert. The parameter used to measure the value of comparisons between the third edge detection operators are MSE, PSNR and Running Time. Implementation of the system using SharpDevelop 4.3 with C# programming language. In this system, the object that was used is image with bitmap format or (*. bmp). This testing process was done with the probability noise about 10%, 20%, 30%, 40% and 50%. Based on the test results obtained that the edge detection process on the original image is better than the image filtering result with MSE = 628,723 and PSNR = 1,0149 dB on Sobel operator. Then the process of the most rapidly in detecting the edge with Running Time = 0,263 s on Prewitt operator.
DAFTAR ISI
Hal.
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xiii
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 2
1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penelitian
3 3 4
BAB 2 TINJUAN PUSTAKA
2.1 Citra Digital 6
2.2 Jenis-Jenis Citra Digital 7
2.2.1 Citra Biner (Monokrom) 7
2.2.2 Citra Grayscale (Skala Keabuan) 7
2.2.3 Citra Warna (True Color) 8
2.3 Format Citra 9
2.3.1 Format File Bitmap (*.bmp) 9
2.4 Pengolahan Citra Digital 2.5 Derau (Noise)
2.6 Perbaikan Citra (Image Restoration) 2.7 Mean Filter
2.8 Pendeteksian Tepi 2.8.1 Operator Sobel
2.8.2 Operator Prewitt
2.8.3 Operator Robert
2.9 Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR) dan Running Time
2.9.1 Mean Square Error (MSE)
2.9.2 Peak Signal to Noise Ratio (PSNR) 2.9.3 Running Time
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 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 4.1 4.2 4.3 4.4 4.5
Spesifikasi Use Case Filtering
Spesifikasi Use Case Input File Citra Asli Spesifikasi
Use Case Input Presentase Noise Spesifikasi Use Case Pilih Noise
Spesifikasi Use Case Gaussian Noise Spesifikasi Use Case Salt and Pepper Noise
Spesifikasi Use Case Geometric Mean Filter Spesifikasi Use Case SimpanCitra
Spesifikasi Use Case Deteksi Tepi Spesifikasi Use Case Input Citra
Spesifikasi Use Case Deteksi Tepi Operator Sobel
Citra Asli
Spesifikasi Use Case Deteksi Tepi Operator Prewitt
Citra Asli
Spesifikasi Use Case Deteksi Tepi Operator Robert
Citra Asli
Spesifikasi Use Case Input File Citra
Spesifikasi Use Case Deteksi Tepi Operator Sobel
Citra Filtering
Spesifikasi Use Case Deteksi Tepi Operator Prewitt
Citra Asli
Spesifikasi Use Case Deteksi Tepi Operator Robert
Citra Filtering
Spesifikasi Use Case SimpanCitra
Spesifikasi Use Case Menghitung MSE, PSNR dan
Running Time
PseudocodeGeometric Mean Filter
Pseudocode Operator Sobel Pseudocode Operator Prewitt Pseudocode Operator Robert
Perbandingan Hasil Reduksi Noise terhadap Citra BernoiseGaussian Noise
Perbandingan Hasil Reduksi Noise terhadap Citra BernoiseSalt and Pepper Noise
Perbandingan Hasil Deteksi Tepi Terhadap Citra Asli Perbandingan Hasil Deteksi Tepi Terhadap Citra Hasil Filtering dari Gausssian Noise dengan Probabilitas Berbeda
4.6
4.7
4.8
4.9
Perbandingan Nilai MSE, PSNR, dan Runtime Hasil Deteksi Tepi Pada Citra Asli
Perbandingan Rata-rata Nilai MSE, PSNR, dan
Runtime Hasil Deteksi Tepi Pada Citra Hasil Reduksi
Gaussian Noise pada Citra Hasil Filtering Perbandingan Rata-rata Nilai MSE, PSNR, dan
Runtime Hasil Deteksi Tepi Pada Citra Hasil Reduksi
Salt-Pepper Noise pada Citra Hasil Filtering
Perbandingan Nilai MSE, PSNR, dan Runtime Hasil Deteksi Tepi Pada Citra Asli, Hasil Reduksi
Gaussian Mean Filter dan Hasil Reduksi pada Citra Hasil Reduksi Salt-Pepper Noise.
72
74
76
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 2.11 2.12 2.13 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.1 4.2 4.3 4.3 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13
Contoh Citra Biner Contoh Citra Grayscale Contoh Citra Warna Citra Bitmap (.bmp)
Blok Diagram Pengolahan Citra Contoh Citra dengan Gaussian Noise
Contoh Citra dengan salt and pepper noise
Model Tepi Satu Dimensi Jenis Jenis Tepi
Proses Deteksi Tepi
Contoh Deteksi Tepi Sobel
Contoh Deteksi Tepi Prewitt
Contoh Deteksi Tepi Robert Ishikawa Diagram
Use Case Diagram Activity Diagramfiltering Activity Diagram Deteksi Tepi
Sequence Diagram
Flowchart sistem secara umum
Form Cover
Form Menu Filtering Form Menu Deteksi Tepi Form Home
Form filtering Form Deteksi Tepi
Form Help Form About
Proses Filtering dengan Geometric Mean Filter
Proses Deteksi Tepi Operator Sobel, Prewitt dan Robert pada Form Deteksi Tepi
Hasil Pengujian Deteksi Tepi Pada Citra Asli Hasil Pengujian Deteksi Tepi Pada Citra Hasil
Filtering dengan Gaussian Noise
Hasil Pengujian Deteksi Tepi Pada Citra Hasil
Filtering dengan Salt-Pepper Noise
Perbandingan Nilai MSE pada Deteksi Tepi Citra Asli, Citra Hasil Filtering dengan Gaussian Noise
dan Citra Hasil Filtering dengan Salt-Pepper Noise
Perbandingan Nilai PSNR pada Deteksi Tepi Citra Asli, Citra Hasil Filtering dengan Gaussian Noise
dan Citra Hasil Filtering dengan Salt-Pepper Noise
Perbandingan Nilai Running Time pada Deteksi
Tepi Citra Asli, Citra Hasil Filtering dengan
ABSTRAK
Mendeteksi tepi pada citra merupakan hal yang biasa dalam proses pengolahan citra, namun disini dilakukan perbandingan hasil deteksi tepi pada citra asli dan citra yang telah mengalami proses filtering. Hal ini dilakukan untuk melihat apakah ada pengaruh proses filtering pada kinerja deteksi tepi. Metode filtering yang digunakan adalah Geometric Mean Filter untuk mereduksi Gaussian Noise dan Salt-Pepper Noise, sedangkan operator deteksi tepinya adalah Sobel, Prewitt dan Robert.
Parameter yang digunakan untuk mengukur nilai perbandingan antara ketiga operator deteksi tepi yaitu nilai MSE, PSNR dan Running Time. Implementasi sistem menggunakan SharpDevelop 4.3 dengan bahasa pemogaraman C#. Pada sistem ini objek yang digunakan adalah citra dengan format bitmap atau *.bmp. Proses pengujian ini dilakukan dengan nilai probabilitas noise antara 10%, 20%, 30%, 40%, dan 50%. Berdasarkan hasil pengujian diperoleh bahwa citra asli memiliki proses deteksi tepi lebih baik dibandingkan dengan citra hasil filtering dengan nilai MSE = 628,723 dan PSNR = 1,0149 dB pada operator Sobel. Sedangkan proses yang relatif paling cepat dalam mendeteksi tepi dengan nilai Running Rime = 0,263 s pada operator Prewitt.
COMPARATIVE ANALYSIS OF GEOMETRIC MEAN FILTER WITH SOBEL OPERATOR, PREWITT OPERATOR AND
ROBERT OPERATOR ON BITMAP IMAGE
ABSTRACT
Edge detection is a common thing in image processing, but here done to compare the edge detection on the original image and the image filtering result. This cas was done to see if there was an effect of the filtering process on the edge detection performance. The method of filtering is Geometric Mean filter to reduce Gaussian Noise and Salt-Pepper Noise and edge detection operators are Sobel, Prewitt and Robert. The parameter used to measure the value of comparisons between the third edge detection operators are MSE, PSNR and Running Time. Implementation of the system using SharpDevelop 4.3 with C# programming language. In this system, the object that was used is image with bitmap format or (*. bmp). This testing process was done with the probability noise about 10%, 20%, 30%, 40% and 50%. Based on the test results obtained that the edge detection process on the original image is better than the image filtering result with MSE = 628,723 and PSNR = 1,0149 dB on Sobel operator. Then the process of the most rapidly in detecting the edge with Running Time = 0,263 s on Prewitt operator.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Citra merupakan hasil representasi atau duplikasi dari sebuah objek ataupun imitasi dari sebuah objek atau benda. Citra memiliki beberapa karateristik yang menjadikan citra tersebut sebagai media yang dapat menyampaikan informasi. Penurunan kualitas dari suatu citra biasanya dipengaruhi banyak faktor. Salah faktor tersebut adalah derau atau noise. Derau atau noise adalah gambar yang mengganggu kualitas citra yang biasanya berbentuk bintik-bintik. Salah satu cara untuk memperbaiki citra yang dipengaruhi oleh derau atau noise dengan cara
filtering. Filtering adalah teknik yang digunakan untuk membuat citra menjadi lebih baik atau terlihat lebih jelas. Filtering juga memiliki beberapa jenis, salah satu metode yang termasuk jenis filtering adalah Geometric mean filter.
Geometric mean filter melakukan reduksi pada noise dengan cara mengganti nilai piksel dengan nilai tengah (rata-rata) intensitas piksel citra yang mengandung noise dan membuat citra menjadi halus.
Ketika citra menjadi lebih halus timbul suatu pertanyaan baru, apakah citra yang mengalami suatu proses filtering memiliki pengaruh atau perbedaan terhadap proses deteksi tepi atau tidak memiliki pengaruh sama sekali. Dimana pengertian deteksi tepi itu sendiri adalah operasi pengolahan citra yang termasuk dalam bidang analisis citra. Proses deteksi tepi akan mendeteksi semua tepi-tepi atau garis-garis yang membentuk objek gambar dan akan memperjelas lagi pada bagian-bagian tersebut. Pendeteksian tepi dimanfaatkan untuk pengenalan pola. Operator pendeteksian tepi yang digunakan adalah operator Sobel, operator
Prewitt danoperator Robert.
mengalami filtering. Dari penelitian terdahulu, (Khair, 2010) dibuktikan bahwa perbandingan pendektesian tepi citra dengan operator Sobel, operator Prewitt dan modifikasi Sobel, menghasilkan deteksi tepi terbaik adalah operator Sobel, sedangkan proses tercepat adalah operator Prewitt.
Berdasarkan latar belakang yang telah penulis uraikan, maka dilakukan penelitian dengan judul ”Analisis Perbandingan Geometric Mean Filter dengan Operator Sobel, Operator Prewitt dan Operator Robert pada Citra Bitmap”.
1.2 Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah bagaimana melakukan analisis perbandingan pendeteksian tepi menggunakan operator Sobel, operator Prewitt
danoperator Robert terhadap citra bitmap yang telah mengalami proses Geometri Mean Filtering.
1.3 Batasan Masalah
Adapun batasan masalah yang diangkat adalah sebagai berikut:
1. Jenis file citra asli yang digunakan adalah citra berwarna dalam format
bitmap (*.bmp).
2. Jenis operator deteksi tepi yang digunakan adalah operator Sobel, operator
Prewitt dan operator Robert.
3. Jenis noise yang digunakan ada 2, yaitu Gaussian Noise dan Salt-Pepper Noise dengan persentasi noise
4. Ukuran citra piksel.
5. Parameter deteksi dari garis tepi yang digunakan adalah Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR), Running Time dalam mendeteksi garis tepi (edge).
6. Menggunakan kernel untuk Geometric Mean Filter. 7. Bahasa pemograman yang digunakan adalah C#.
Tujuan penelitian ini adalah untuk mengetahui hasil perbandingan deteksi tepi pada citra menggunakan operator Sobel, operator Prewitt dan operator Robert
terhadap citra bitmap yang telah mengalami proses Geometri Mean Filtering.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah menghasilkan suatu aplikasi perangkat lunak yang dapat membandingkan kualitas hasil pendeteksian tepi sebuah citra. Sedangkan manfaat bagi penulis adalah untuk mengetahui hasil yang optimal dalam mendeteksi tepi menggunakan operator Sobel, Prewitt atau Robert setelah citra mengalami filtering dengan metode Geometric Mean Filter.
1.6 Metodologi 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 metode Geometric Mean Filter dan operator Sobel, Prewitt dan Sobel 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 perbaikan kualitas citra serta analasis deteksi tepi digital dengan menggunakan metode Geometric Mean Filter serta operator Sobel, Prewitt dan Sobel.
3. Implementasi Sistem
Pada tahap implementasi sistem ini dilakukan implementasi terhadap hasil analisis dan perancangan dengan cara melakukan penulisan program untuk
filtering dan deteksi tepi citra (coding).
Dalam tahap pengujian sistem dilakukan pengujian terhadap sistem yang telah dibangun.
5. Dokumentasi
Dalam tahap dokumentasi dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.
1.7 Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :
BAB 1 PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang penelitian
judul skripsi “Analisis Perbandingan Geometric Mean Filter
dengan Operator Sobel, Operator Prewitt dan Operator Robert pada Citra Bitmap”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.
BAB 2 LANDASAN TEORI
Bab ini membahas tentang teori-teori yang berhubungan dengan citra digital, jenis-jenis citra, format file citra, noise, filtering,
deteksi tepi, parameter perbandingan kualitas citra, parameter pengukuran kinerja citra dan sebagainya.
BAB 3 ANALISIS DAN PERANCANGAN
Berisi tentang uraian analisis mengenai proses kerja dari teknik
filtering yang menggunakan metode Geometric Mean Filter dan proses deteksi tepi operator Sobel, operator Prewitt dan operator
Unified Modeling Language (UML) serta perancangan antarmuka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.
BAB 5 KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI
2.1 Citra Digital
Citra digital merupakan sebuah fungsi intensitas cahaya , dimana harga x
dan y merupakan koordinat spasial dan harga fungsi f tersebut pada setiap titik merupakan tingkat kecemerlangan atau intensitas cahaya citra pada titik tersebut.
Citra digital adalah suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya yang disebut sebagai elemen gambar atau piksel menyatakan tingkat keabuan pada titik tersebut. Indeks baris dan kolom dari sebuah piksel dinyatakan dalam bilangan bulat (integer). Sebuah piksel merupakan sampel dari pemandangan yang mengandung intensitas citra yang dinyatakan dalam bilangan bulat. Untuk menunjukkan lokasi suatu piksel, koordinat digunakan untuk posisi kiri atas dalam bidang citra, dan koordinat digunakan untuk posisi kanan bawah dalam citra berukuran piksel dimana m adalah kolom dan n adalah baris.
Pengolahan citra digital adalah teknologi yang menerapkan sejumlah algoritma komputer untuk memproses gambar digital. Pengolahan citra digital 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) (Zhou & Zhang, 2010).
dimana 0 untuk warna hitam, 255 untuk warna putih dan tingkat abu-abu berada di antara nilai 0 dan 255 (Usman, 2005).
2.2 Jenis - Jenis Citra Digital
Nilai suatu piksel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya, namun secara umum jangkauan adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer. Berikut adalah jenis-jenis citra berdasarkan pikselnya (Song, 2006).
2.2.1 Citra Biner (Monokrom)
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner juga disebut sebagai citra Black and White
(B&W) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi, ataupun dithering
(Putra, 2010). Contoh gambar citra biner dapat ditunjukkan pada Gambar 2.1 berikut ini.
2.2.2 Citra Grayscale (Skala Keabuan)
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pikselnya, dengan kata lain warna yang terbentuk dari tiga gabungan warna utama dengan jumlah yang sama. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih (Putra, 2010). Contoh gambar citra grayscale
dapat ditunjukkan pada Gambar 2.2 berikut ini.
Gambar 2.2 Contoh Citra Grayscale
2.2.3 Citra Warna (True Color)
Setiap piksel pada citra warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red, Green, Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna.
Gambar 2.3 Contoh Citra Warna
2.3 Format File Citra Digital
Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis.
Format ini sering digunakan dalam menyimpan citra pada sebuah file. Setiap
formatfile citra memiliki karakteristik masing-masing (Putra, 2010).
2.3.1 Format File Bitmap (*.bmp)
Bitmap sering disebut juga dengan citra raster. Bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Bitmap
dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek sulit. Tampilan bitmap
mampu menunjukan 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. Bitmap biasanya diperoleh dengan cara Scanner, Camera Digital,
Gambar 2.4 Citra Bitmap (.bmp)
2.4 Pengolahan Citra Digital
Pengolahan citra mendapat perhatian yang signifikan di beberapa tahun terakhir karena dapat membantu beberapa aplikasi di berbagai bidang termasuk dalam bidang astronomi, obat-obatan, robot atau satelit(Marques, Oge. 2011). Image processing atau sering disebut pengolahan citra digital merupakan suatu proses
filter gambar asli menjadi gambar lain sesuai dengan keinginan kita. Misalnya, kita mendapatkan suatu gambar yang terlalu gelap. Dengan image processing, kita dapat memprosesnya agar mendapatkan gambar yang jelas (Sigit, 2005). Secara garis besar, dapat dilihat pada Gambar 2.5 blok diagram pengolahan citra.
Gambar 2.5 Blok Diagram Pengolahan Citra
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila (Jain, 1995) :
1. perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra,
2. elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur, 3. sebagian citra perlu digabung dengan bagian citra yang lain.
Gambar Asli
Proses Pengolahan Citra
Operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai berikut:
1. Image Enhancement (Perbaikan kualitas citra) 2. Image Restoration (Pemugaran Citra)
3. Image Compression (Pemampatan Citra) 4. Image Segmentation
5. Image Analysis
6. Image Recontruction (Rekontruksi Citra)
Operasi-operasi tersebut bertujuan untuk membentuk objek dari beberapa citra hasil proyeksi. Pada citra digital, dengan tipe bitmap tipe warna pada titik-titik piksel dibentuk dari sebuah data numerik. Tinggi dan rendahnya keabuan piksel dinyatakan dalam bentuk intensitas atau derajat keabuan. Satuan lebar intensitas merupakan lebar memori (bit) citra yang disebut dengan format piksel.
2.5 Derau (Noise)
Noise pada citra tidak hanya terjadi karena ketidaksempurnaan dalam proses
capturing, tetapi bisa juga disebabkan oleh kotoran-kotoran yang terjadi pada citra.
Noise muncul biasanya sebagai akibat dari pembelokan piksel yang tidak baik.
Gangguan tersebut umumnya berupa variasi intensitas suatu piksel yang tidak
berkorelasi dengan piksel-pikseltetangganya. Secara visual, gangguan mudah dilihat
oleh mata karena tampak berbeda dengan pikseltetangganya. Piksel yang mengalami
gangguan umumnya memiliki frekuensi tinggi. Komponen citra yang berfrekuensi
rendah umumnya mempunyai nilai piksel konstan atau berubah sangat lambat
(Marques, 2011).
Beberapa jenis noise, yaitu Gaussian Noise dan Salt-Pepper Noise:
jumlahnya sama dengan presentase noise. Contoh Gaussian Noise
dapat dilihat pada Gambar 2.6 dibawah ini.
Gambar 2.6 Contoh Citra dengan Gaussian Noise
2. Salt-Pepper Noise adalah bentuk noise yang biasanya terlihat titik-titik hitam dan putih pada citra seperti tebaran garam dan merica. Noise ini disebabkan karena terjadinya error bit dalam pengiriman data, piksel-piksel yang tidak berfungsi dan kerusakan pada lokasi memori. Contoh
Salt-Pepper Noise dapat dilihat pada Gambar 2.7 dibawah ini.
Gambar 2.7 Contoh Citra dengan Salt-Pepper Noise
2.6 Perbaikan Citra (Image Restoration)
1997). Perbaikan kualitas citra merupakan salah satu operasi pada pengolahan citra digital yang bertujuan untuk memperbaiki kualitas citra dengan berbagai cara agar didapatkan hasil sesuai dengan kebutuhan. Biasanya perbaikan kualitas citra ini bertujuan untuk memproses suatu citra sehingga dihasilkan citra yang lebih baik dari citra aslinya untuk aplikasi tertentu. Adapun cara-cara yang dapat dilakukan untuk memperbaiki kualitas citra digital yaitu dengan fungsi transformasi, operasi matematis, pemfilteran dan lain-lain.
2.7 Mean Filter
Mean filter adalah intensitas pada beberapa piksel lokal di mana setiap piksel akan digantikan nilainya dengan rata-rata dari nilai intensitas piksel tersebut dengan piksel-piksel tetangganya dan jumlah piksel tetangga yang dilibatkan tergantung pada filter yang dirancang. Filter ini digunakan untuk menghaluskan gambar yang terlalu kasar. Jika filter ini dilakukan pada gambar yang halus, maka hasil gambar tersebut akan semakin kabur. Contoh yang termasuk metode ini adalah Geometric Mean Filter.
Geometric Mean Filter adalah proses menghitung rata-rata dari citra yang rusak pada sebuah blok area citra yang didefinisikan oleh . Nilai dari citra yang diperbaiki pada tiap titik hanya dihitung dengan menggunakan piksel dalam daerah yang didefinisikan oleh . Secara sistematis, hal ini dapat dinyatakan dengan persamaan 2.1.
Dengan, = jumlah baris dari sebuah matriks = jumlah kolom dari sebuah matriks = koordinat citra
Sxy = blok area citra yang berada pada titik tengah matriks
Di sini setiap piksel yang diperbaiki oleh hasil kali masing-masing piksel dalam subimage window, kemudian dipangkatkan dengan . Pada contoh
dibawah ini matriks yang akan digunakan berukuran . Matriks ini gunanya untuk memperlihatkan matriks dari matriks original yang kemudian dioperasikan dengan rumus Geometric Mean Filter.
5 5 4
7 2 6
1 4 1
Maka hasil filternya :
=
=
Maka matriks hasil filter adalah
5 5 4
7 3 6
1 4 1
Tepian dari suatu citra mengandung informasi penting dari citra bersangkutan. Tepian citra dapat merepresentasikan objek-objek yang terkandung dalam citra tersebut, bentuk dan ukurannya serta terkadang juga informasi tentang teksturnya. Tepian citra adalah posisi di mana intensitas piksel dari citra berubah dari nilai rendah ke nilai tinggi atau sebaliknya. Deteksi tepi umumnya adalah langkah awal melakukan segmentasi citra (Putra, 2010).
Deteksi tepi adalah proses untuk menemukan perubahan intensitas yang berbeda nyata dalam sebuah bidang citra. Sebuah operator deteksi tepi merupakan operasi bertetangga, yaitu sebuah operasi yang memodifikasi nilai keabuan sebuah titik berdasarkan nilai-nilai keabuaan dari titik-titik yang ada di sekitarnya (tetangganya) yang masing-masing mempunyai bobot tersendiri. Bobot-bobot tersebut nilainya tergantung pada operasi yang akan dilakukan, sedangkan banyaknya titik tetangga yang terlibat biasanya adalah dan sebagainya (Sutoyo & Mulyanto, 2009).
Secara umum tepi dapat didefinisikan sebagai batas antara dua region (dua piksel yang saling berdekatan) yang memiliki perbedaan intensitas yang tajam atau tinggi (Febriani, 2008). Tepi dapat diorientasikan dengan suatu arah dan arah ini berbeda-beda, tergantung pada perubahan intensitas. Untuk lebih memahami defenisi tepi, Gambar 2.8 memperlihatkan model tepi dalam ruang satu dimensi (Taurisna, 2009).
Gambar 2.8 Model Tepi Satu Dimensi
1. Tepi curam
Tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. 2. Tepi landai
Disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
3. Tepi yang mengandung derau (noise)
Umumnya tepi yang terdapat pada aplikasi computer vision mengandung derau. Operasi peningkatan kualitas citra (image enhancement) dapat dilakukan terlebih dahulu sebelum pendeteksian tepi.
Untuk lebih memahami dari jenis-jenis tepi, Gambar 2.9 memperlihatkan jenis-jenis tepi.
Gambar 2.9 Jenis Jenis Tepi
Deteksi tepi merupakan langkah pertama untuk melingkupi informasi didalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek didalam citra. Deteksi tepi pada suatu citra memiliki tujuan sebagai berikut (Taurisna, 2009):
1. Menandai bagian yang menjadi detil citra.
Untuk lebih jelas, kita dapat melihat Gambar 2.10 yang menunjukan proses dari deteksi tepi.
Gambar 2.10 Proses Deteksi Tepi
2.8.1 Operator Sobel
Operator Sobel adalah satu cara untuk menghindari gradient yang dihitung pada titik interpolasi dan piksel-piksel yang terlibat dengan cara menghaluskan citra digital. Proses penghalusan yang digunakan merupakan proses konvolusi dari jendela yang ditetapkan terhadap citra yang dideteksi dengan menggunakan jendela untuk perhitungan gradient, sehingga perkiraan gradient berada tepat di tengah jendela.
Besar gradient yang dihitung menggunakan operator Sobel pada persamaan 2.2 :
Dengan , G = besar gradient operator Sobel
Gx = gradient Sobel arah vertical Gy = gradient Sobel arah horizontal
Di mana G adalah besar gradient di titik tengah kernel dan turunan parsial dihitung menggunakan persamaan 2.3 dan 2.4 :
Di mana c adalah konstanta yang bernilai 2. Gx dan Gy diimplementasikan
menjadi kernelberikut :
Contoh penerapan metode deteksi tepi dengan tepi Sobel dapat dilihat pada Gambar 2.11.
Gambar 2.11 Contoh Deteksi Tepi Sobel
Berikut ini merupakan contoh penggunaan metode deteksi tepi Sobel. Dimisalkan sebuah matriks citra sebagai berikut:
...(2.3)
3 4 2
2 1 6
3 5 7
Maka matriks citra hasil pendeteksian tepi adalah
* * *
* 18 *
* * * 11 ) 1 )( 7 ( ) 2 )( 6 ( ) 1 )( 2 ( ) 1 )( 3 ( ) 2 )( 2 ( ) 1 )( 3 ( 7 ) 1 )( 7 ( ) 2 )( 5 ( ) 1 )( 3 ( ) 1 )( 2 ( ) 2 )( 4 ( ) 1 )( 3 ( 18 7 11 ) 7 (
112 2
2.8.2 Operator Prewitt
Algoritma Prewitt adalah satu dari jenis operator gradient ortogonal (sebidang) yang menggunakan dua matriks dengan ukuran (kernel), yang mana menghitung gradient dalam arah x dan gradient dalam arah y. Matriks tersebut beroperasi di atas citra dengan memanipulasi persegi piksel. Prewitt menghitung
gradient intensitas citra pada setiap titik dan kemudian memberikan perintah untuk meningkatkan intensitas citra pada setiap titik dari terang ke gelap. Daerah tepi merupakan kontras intensitas kuat yang gelap atau terang. Kernel filter yang digunakan dalam metode Prewitt dalam matriks adalah:
dan
Kernel ini dirancang untuk merespon secara maksmal untuk tepi yang berjalan secara vertical dan horizontal relatif terhadap grid piksel, satu kernel untuk masing-masing dua orientasi tegak lurus. Kernel dapat diterapkan secara terpisah dari komponen gradient pada setiap orientasi (Sxdan Sy) yang kemudian
dapat dikombinasikan bersama untuk menemukan besar absolut dari gradient
pada setiap titik dan orientasi dari gradientnya. Besar gradient diberikan dalam persamaan 2.5 (Harahap, 2014) :
Dengan , G = besar gradient operator Prewitt Gx = gradient Prewitt arah vertical Gy = gradient Prewitt arah horizontal .
Secara sisematis, pendekatan gradient dihitung menggunakan rumus pada persamaan 2.6 :
...(2.5)
Dua Komponen dari gradient sangat mudah dihitung dan ditambahkan diatas citra masukan menggunakan operator konvolusi (kernel) berikut :
Kernel digunakan untuk menghitung gradient, yaitu pada persamaan 2.7 :
[image:36.595.242.378.600.739.2]
Contoh penerapan metode deteksi tepi dengan operator Prewitt dapat dilihat pada Gambar 2.12.
Gambar 2.12 Contoh Deteksi Tepi Prewitt
Berikut ini merupakan contoh penggunaan metode deteksi tepi Prewitt. Dimisalkan sebuah matriks citra sebagai berikut:
3 4 2
2 1 6
3 5 7
Maka matriks citra hasil pendeteksian tepi adalah
* * *
* 13 *
* * *
2.8.3 Operator Robert
Operator Robert merupakan suatu teknik deteksi tepi sederhana dan memiliki tingkat komputasi yang cepat dan umumnya digunakan untuk citra grayscale
(Putra, 2010). Pada umumnya operator ini berbasis gradient yang menggunakan kernel ukuran piksel serta digunakan untuk citra grayscale. Kernel filter
yang digunakan dalam metode Prewitt dalam matriks .
Perhitungan gradient dalam operator Robert dalam persamaan 2.8:
...(2.8) 7 ) 1 )( 7 ( ) 1 )( 6 ( ) 1 )( 2 ( ) 1 )( 3 ( ) 1 )( 2 ( ) 1 )( 3 ( 6 ) 1 )( 7 ( ) 1 )( 5 ( ) 1 )( 3 ( ) 1 )( 2 ( ) 1 )( 4 ( ) 1 )( 3 ( 13 6 7 ) 6 (
72 2
Dengan, G = gradient
f(x,y) = fungsi terhadap titik x dan titik y
Operator Robert dalam bentuk mask konvolusi adalah sebagai berikut:
dan
Kedua matriks diatas dapat diterapkan pada citra secara terpisah, baik untuk mendapatkan tepian horizontal maupun tepian vertical. Berdasarkan konvolusi dengan kedua mask tersebut, kemudian menghitung kekuatan tepi yang merupakan magnitude dari gradient dengan rumus yang dinyatakan dalam persamaan 2.9 :
Dengan, G = gradient magnitude Gx = gradient terhadap titik x Gy = gradient terhadap titik y
Karena menghitung akar adalah persoalan yang rumit, akan dalam praktek kekuatan tepi biasanya disederhanakan perhitungannya dengan menggunakan rumus pada persamaan 2.10 :
Sehingga perhitungan Gradient Magnitude (besar kemiringan garis) pada persamaan 2.11:
Contoh penerapan metode deteksi tepi dengan operator Robert dapat dilihat pada Gambar 2.13.
...(2.9)
...(2.10)
Gambar 2.13 Contoh Deteksi Tepi Robert
Berikut ini merupakan contoh penggunaan metode deteksi tepi Robert. Dilakukan proses deteksi dengan menggunakan kernel . Untuk menghitung nilai f’(x,y), dimisalkan sebuah matriks citra sebagai berikut:
3 4 2
2 1 6
3 5 7
Maka matriks citra hasil pendeteksian tepi adalah
4 3 *
5 7 *
* * *
2.9 Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR) dan Running Time
2.9.1 Mean Square Error (MSE)
MSE merupakan ukuran yang baik untuk mengukur kesamaan dua buah citra yang dinyatakan pada persamaan 2.12.
Dengan, m,n = ukuran panjang dan lebar citra
fₐ(i,j) = intensitas citra di titik (i,j)sebelum terkena noise fb(i,j) = intensitas citra di titik (i,j) setelah noise dihilangkan
Semakin kecil nilai MSE, semakin bagus perbaikan citra yang digunakan.
2.9.2 Peak Signal to Noise Ratio (PSNR)
PSNR merupakan nilai perbandingan antara harga maksimum warna pada citra hasil filtering dengan kuantitas gangguan (noise) yang dinyatakan dalam satuan
decibel (dB), noise yang dimaksud adalah akar rata-rata kuadrat nilai kesalahan (
MSE ). Secara Matematis, nilai PSNR dapat dinyatakan pada persamaan 2.13.
) 255 ( 10 *
20
MSE Log
PSNR ...(2.13)
Tidak seperti MSE, nilai PSNR yang lebih besar mengindikasikan bahwa kualitas tersebut lebih baik.
2.9.3 Running Time
Running Time adalah waktu dari awal proses dimulai hingga akhir proses. Waktu mulai dan waktu akhir bekerja secara bersamaan untuk menghitung total waktu yang diperlukan yang ditampilkan dalam satuan detik. Semakin kecil nilai
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem pada dasarnya merupakan tahapan yang dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga diperoleh tahap-tahap yang akan dikerjakan sistem. Analisis sistem terdiri dari 3 (tiga) fase yaitu analisis masalah untuk mempelajari dan memahami masalah, analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user) dan analisis proses yang akan mendeskripsikan tingkah laku sistem.
3.1.1 Analisis Masalah
Masalah utama yang diangkat dari penelitian ini adalah bagaimana pengaruh proses filtering terhadap metode deteksi tepi pada citra digital. Pada penelitian ini,
citra yang diperbaiki merupakan citra digital dalam format bitmap yang berukuran piksel. Didalam sistem akan dilakukan penambahan noise sesuai
dengan jenis noise yang dipilih, yaitu Gaussian Noise dan Salt-Pepper Noise, selanjutnya akan melakukan proses reduksi noise dengan menggunakan metode
Geometric Mean Filter. Setelah itu, sistem akan melakukan proses deteksi tepi dengan operator Sobel, Prewitt dan Robert pada citra yang telah mengalami proses
filtering.
Untuk mengidentifikasi masalah digunakan diagram ishikawa. Diagram
ishikawa adalah sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab-akibat dari masalah tersebut. Diagram ini juga sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan. Identifikasi terhadap permasalahan akan membantu analisis persyaratan sistem yang nantinya akan dikembangkan. Berikut diagram
Gambar 3.1 Ishikawa Diagram
Diagram Ishikawa yang ditunjukan pada Gambar 3.1 terbagi atas dua bagian yaitu head dan bone. Bone terdiri dari 4 aspek yaitu Material, Metode, User dan Sistem. Material adalah apa saja yang diperlukan dalam menjalankan sistem yaitu citra berwarna dengan format bitmap. Method merupakan kebutuhan yang spesifik dari proses terdapat dua bagian. Pertama berupa noise yaitu
Gaussian Noise dan Salt-Pepper noise serta method untuk mereduksi noise
tersebut yaitu dengan Geometric Mean Filter. Kedua dilakukan proses deteksi tepi yaitu dengan menggunakan operator Sobel, operator Prewitt dan operator Robert. User adalah apa saja yang dapat dilakukan oleh pengguna, yaitu menginput citra, memberikan presentasi noise, identifikasi objek. Sistem adalah apa saja yang dapat dilakukan oleh aplikasi, yakni membangkitkan noise, mereduksi noise dengan
filtering dan mendeteksi tepi. Head adalah masalah pokok dari sistem tersebut, yakni analisis perbandingan deteksi tepi.
3.1.2 Analisis Persyaratan
Analisis kebutuhan sistem ini meliputi analisis persyaratan fungsional dan analisis persyaratan non-fungsional.
Material
Sistem User
Metode
Analisis Perbandingan Deteksi
Tepi Citra (.bmp)
Gaussian Noise
Salt-Pepper Noise Geometric Mean Filter
Menginput Citra
Memberikan Presentase Noise Identifikasi Objek
Membangkitkan Noise
Mereduksi Noise dengan Filtering Melakukan Deteksi Tepi Operator Sobel
Operator Prewitt
3.1.2.1 Persyaratan Fungsional
Persyaratan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem. Dalam proses filtering pada citra digital dengan menggunakan Geometric Mean Filter dan proses deteksi tepi menggunakan operator Sobel, Prewitt dan Robert
terdapat beberapa hal yang menjadi persyaratan fungsional yang harus dipenuhi, antara lain :
1. Citra asli yang digunakan untuk melakukan proses adalah citra berwarna dengan format bitmap (*.bmp).
2. Operator pendekteksian tepi adalah operator Sobel, operator Prewitt dan operator Robert.
3. Jenis noise yang akan digunakan yaitu Gaussian Noise dan Salt-Pepper Noise dengan persentasi noise dalam range 10 – 50 %.
4. Ukuran citra piksel.
5. Menggunakan perhitungan untuk analisis dengan metode Mean Squared Error (MSE), Peak Signal to Noise Rasio (PSNR) dan Running Time
sebagai pembanding proses waktu kerja pada bagian citra tertentu. 6. Menggunakan kernel untuk Geometric Mean Filter.
7. Sistem melakukan proses deteksi tepi dengan operator Sobel, Prewitt dan
Robert.
3.1.2.2 Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah beberapa persyaratan yang harus dilakukan oleh sistem. Beberapa persyaratan non-fungsional yang dirancang untuk sistem ini adalah sebagai berikut :
1. Performa
2. Mudah digunakan (User friendly)
Sistem yang akan dibangun harus user friendly, artinya bahwa sistem mudah digunakan oleh user dengan tampilan (interface) yang sederhana dan mudah 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 perbaikan citra digital dan citra hawsil deteksi tepi.
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
Dalam bagian ini ada 2 proses dasar yaitu filtering dan deteksi tepi. Teknik filter
yang digunakan untuk memperbaiki kualitas adalah Geometric Mean Filter setelah citra bitmap diberikan noise Gaussian dan Salt-Pepper . Kemudian dilakukan deteksi tepi dengan operator Sobel, Prewitt dan Robert. Setelah itu dilakukan proses perhitungan MSE, PSNR dan running time pada masing-masing proses.
3.2 Pemodelan
sistem. Beberapa jenis UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram dan activity digaram.
3.2.1 Use Case Diagram
Use case diagram adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor.
[image:46.595.69.554.276.736.2]Use case diagram biasanya menggambarkan proses sistem yaitu kebutuhan sistem dari sudut pandang user. Berikut use case diagram dapat dilihat pada Gambar 3.2.
3.2.1.1 Use Case Filtering
Spesifikasi use case Filtering dapat dilihat pada Tabel 3.1.
Tabel 3.1 Spesifikasi Use Case Filtering
Name Filtering
Actors Pengguna
Trigger Pengguna memilih menu Filtering.
Preconditions Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering dan Deteksi Tepi.
Post Conditions Sistem menampilkan gambar hasil filtering dengan
metode Geometric Mean Filter.
Success Scenario 1. Pengguna mengeksekusi menu Filtering.
2. Sistem menampilkan halaman Filtering. 3. Pengguna memilih file citra asli.
4. Pengguna menginputkan nilai probabilitas noise.
5. Pengguna memilih noise yang akan diberikan pada citra.
6. Sistem menampilkan cita yang telah terkena noise. 7. Pengguna mengeksekusi tombol Geometric Mean
Filter.
8. Sistem melakukan proses filtering dengan metode
Geometric Mean Filter dan menampilkan gambar hasil filtering.
9. Pengguna dapat melihat hasil gambar yang telah difiltering dengan metode Geometric Mean Filter.
Alternative Flows -
3.2.1.2 Use Case Input File Citra Asli
Spesifikasi use case Input File Asli Awal dapat dilihat pada Tabel 3.2.
Tabel 3.2 Spesifikasi Use Case Input File Citra Asli
Name Input File Citra Asli
Actors Pengguna
Trigger Pengguna memilih menu Filtering.
Preconditions Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering dan Deteksi Tepi.
Post Conditions Sistem menampilkan gambar yang telah dipilih untuk
digenerate.
Success Scenario 1. Pengguna memilih menu Filtering.
3. Sistem menampilkan pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4. Pengguna memilih gambar yang akan digenerate. 5. Sistem akan menampilkan gambar yang telah dipilih
untuk digenerate.
6. Pengguna dapat melihat gambar yang telah dipilih untuk digenerate.
Alternative Flows -
3.2.1.3 Use Case Input Presentase Noise
Spesifikasi use case Input Presentase Noise dapat dilihat pada Tabel 3.3.
Tabel 3.3 Spesifikasi Use Case Input Presentase Noise
Name Input Probabilitas Noise
Actors Pengguna
Trigger Pengguna telah memilih file citra awal yang akan
digenerate.
Preconditions Pengguna memilih menu Filtering.
Post Conditions Sistem menampilkan nilai presentase noise yang telah diinputkan.
Success Scenario 1. Pengguna telah memilih file citra awal yang akan digenerate.
2. Pengguna memilih nilai presentase yang akan digunakan untuk proses generate noise.
3. Sistem akan menampilkan nilai probabilitas yang telah dipilih.
4. Pengguna dapat melihat nilai probabilitas yang telah dipilih.
Alternative Flows -
3.2.1.4 Use Case Pilih Noise
Spesifikasi use case pilih noise dapat dilihat pada Tabel 3.4.
Tabel 3.4 Spesifikasi Use Case Pilih Noise
Name Pilih Noise
Actors Pengguna
Trigger Pengguna telah memilih nilai presentase noise.
Preconditions Pengguna memilih menu Filtering.
Post Conditions Sistem menampilkan button Gaussian Noise dan
Salt-Pepper Noise.
2. Pengguna dapat melihat button Gaussian Noise dan
Salt-Pepper Noise.
Alternative Flows -
3.2.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 melihat button Gaussian Noise dan
Salt-Pepper Noise.
Preconditions Pengguna melihat nilai probabilitas noise yang telah
dipilih.
Post Conditions Sistem akan menampilkan gambar hasil generate gaussian
noise.
Success Scenario 1. Pengguna telah melihat button Gaussian Noise dan
Salt-Pepper Noise.
2. Pengguna memilih buttonGaussian Noise.
3. Sistem akan melakukan proses generate noise dan menampilkan hasil generate noise.
4. Pengguna dapat melihat hasil generate gaussian noise.
Alternative Flows -
3.2.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 melihat button Gaussian Noise dan
Salt-Pepper Noise.
Preconditions Pengguna melihat nilai probabilitas noise yang telah
dipilih.
Post Conditions Sistem akan menampilkan gambar hasil generate
Salt-Pepper Noise.
Success Scenario 1. Pengguna telah melihat button Gaussian Noise dan
Salt-Pepper Noise.
2. Pengguna memilih buttonSalt and Pepper Noise. 3. Sistem akan melakukan proses generate noise dan
4. Pengguna dapat melihat hasil generate Salt and Pepper Noise.
Alternative Flows -
3.2.1.7 Use Case Geometric Mean Filter
Spesifikasi use case Geometric Mean Filter dapat dilihat pada Tabel 3.7.
Tabel 3.7 Spesifikasi Use Case Geometric Mean Filter
Name Geometric Mean Filter
Actors Pengguna
Trigger Pengguna telah melihat citra yang digenerate noise.
Preconditions Pengguna telah melihat button Gaussian Noise dan Salt-Pepper Noise.
Post Conditions Sistem menampilkan hasil gambar yang telah difiltering
dengan metode Geometric Mean Filter.
Success Scenario 1. Pengguna telah melihat citra yang digenerate noise. 2. Pengguna mengeksekusi tombol Geometric Mean. 3. Sistem melakukan proses filtering dengan metode
Geometric Mean Filter.
4. Pengguna dapat melihat hasil gambar yang telah difiltering dengan metode Geometric Mean Filter.
Alternative Flows -
3.2.1.8 Use Case Simpan Citra
Spesifikasi use case Simpan Citradapat dilihat pada Tabel 3.8.
Tabel 3.8 Spesifikasi Use Case SimpanCitra
Name Simpan Citra
Actors Pengguna
Trigger Pengguna telah melihat hasil citra hasil filtering dengan
metode Geometric Mean Filter.
Preconditions Pengguna telah melihat citra terkena noise.
Post Conditions Sistem menyimpan file citra hasil filtering.
Success Scenario 1. Pengguna telah melihat hasil citra hasil filtering
dengan metode Geometric Mean Filter. 2. Pengguna mengeksekusi tombol Save.
3. Sistem menampilkan pop-up window Save Image
untuk menampilkan lokasi penyimpanan gambar. 4. Pengguna menyimpan citra hasil filtering.
5. Sistem akan menyimpan citra hasil filtering.
3.2.1.9 Use Case Deteksi Tepi
[image:51.595.104.512.185.400.2]Spesifikasi use case Deteksi Tepidapat dilihat pada Tabel 3.9.
Tabel 3.9 Spesifikasi Use Case Deteksi Tepi
Name Filtering
Actors Pengguna
Trigger Pengguna memilih menu Deteksi Tepi.
Preconditions Pengguna menggunakan Aplikasi Analisis Perbandingan
Filtering dan Deteksi Tepi.
Post Conditions Sistem menampilkan gambar hasil deteksi tepi.
Success Scenario 1. Pengguna mengeksekusi menu Deteksi Tepi.
2. Sistem menampilkan halaman Deteksi Tepi. 3. Pengguna memilih file citra asli.
5. Pengguna memilih salah satu operator deteksi tepi yang tersedia.
7. Sistem melakukan proses deteksi tepi dengan operator yang telah dipilih.
8. Pengguna dapat melihat hasil gambar deteksi tepi.
Alternative Flows -
3.2.1.10 Use Case Input Citra
Spesifikasi use case Input Citradapat dilihat pada Tabel 3.10.
Tabel 3.10 Spesifikasi Use Case Input Citra
Name Input Citra
Actors Pengguna
Trigger Pengguna memilih menu Deteksi Tepi.
Preconditions Pengguna menggunakan aplikasi Analisis Perbandingan
Filtering dan Deteksi Tepi.
Post Conditions Sistem menampilkan gambar yang telah dipilih untuk
proses deteksi tepi.
Success Scenario 1. Pengguna memilih menu Deteksi Tepi.
2. Pengguna mengeksekusi tombol Open Image.
3. Sistem menampilkan pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4. Pengguna memilih gambar asli yang akan dideteksi
tepi.
5. Sistem akan menampilkan gambar yang telah dipilih untuk proses deteksi tepi.
[image:51.595.108.512.517.758.2]Alternative Flows -
3.2.1.11 Use Case Deteksi Tepi Operator Sobel Citra Asli
Spesifikasi use case Deteksi Tepi Operator Sobel Citra Asli dapat dilihat pada Tabel 3.11.
Tabel 3.11 Spesifikasi Use Case Deteksi Tepi Operator Sobel Citra Asli
Name Deteksi Tepi Operator Sobel Citra Asli
Actors Pengguna
Trigger Pengguna telah melihat citra asli yang dipilih untuk proses
deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil deteksi tepi operator
Sobel
Success Scenario 1. Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator Sobel
Citra Asli.
3. Sistem akan melakukan proses deteksi tepi dengan operator Sobel dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Sobel.
Alternative Flows -
3.2.1.12 Use Case Deteksi Tepi Operator Prewitt Citra Asli
Spesifikasi use case Deteksi Tepi Operator Prewitt Citra Asli dapat dilihat pada Tabel 3.12.
Tabel 3.12 Spesifikasi Use Case Deteksi Tepi Operator Prewitt Citra Asli
Name Deteksi Tepi Operator Prewitt Citra Asli
Actors Pengguna
Trigger Pengguna telah melihat citra asli yang dipilih untuk proses
deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil deteksi tepi operator
Prewitt.
Success Scenario 1. Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator
3. Sistem akan melakukan proses deteksi tepi dengan operator Prewitt dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Prewitt.
Alternative Flows -
3.2.1.13 Use Case Deteksi Tepi Operator Robert Citra Asli
Spesifikasi use case Deteksi Tepi Operator Robert Citra Asli dapat dilihat pada Tabel 3.13.
Tabel 3.13 Spesifikasi Use Case Deteksi Tepi Operator Robert Citra Asli
Name Deteksi Tepi Operator Robert Citra Asli
Actors Pengguna
Trigger Pengguna telah melihat citra asli yang dipilih untuk proses
deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil deteksi tepi operator
Robert.
Success Scenario 1. Pengguna telah melihat citra asli yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator
Robert Citra Asli.
3. Sistem akan melakukan proses deteksi tepi dengan operator Robert dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Robert.
Alternative Flows -
3.2.1.14 Use Case Input Citra Filtering
Spesifikasi use case Input Citra Filtering dapat dilihat pada Tabel 3.14.
Tabel 3.14 Spesifikasi Use Case Input File Citra
Name Input Citra Filtering
Actors Pengguna
Trigger Pengguna memilih menu Deteksi Tepi.
Preconditions Pengguna menggunakan aplikasi Analisis Perbandingan
Filtering dan Deteksi Tepi.
Post Conditions Sistem menampilkan citra hasil filtering yang telah dipilih untuk proses deteksi tepi.
2. Pengguna mengeksekusi tombol Open Image.
3. Sistem menampilkan pop-up window Open Image
untuk menampilkan lokasi penyimpanan gambar. 4. Pengguna memilih citra hasil filtering yang akan
dideteksi tepi.
5. Sistem akan menampilkan gambar yang telah dipilih untuk proses deteksi tepi.
6. Pengguna dapat melihat gambar yang telah dipilih untuk proses deteksi tepi.
Alternative Flows -
3.2.1.15 Use Case Deteksi Tepi Operator Sobel Citra Filtering
Spesifikasi use case Deteksi Tepi Operator Sobel Citra Filtering dapat dilihat pada Tabel 3.15.
Tabel 3.15 Spesifikasi Use Case Deteksi Tepi Operator Sobel Citra Filtering
Name Deteksi Tepi Operator Sobel Citra Filtering
Actors Pengguna
Trigger Pengguna telah melihat citra hasil filtering yang dipilih
untuk proses deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil filtering deteksi tepi operator Sobel.
Success Scenario 1. Pengguna telah melihat citra filtering yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator
Sobel Citra Filtering.
3. Sistem akan melakukan proses deteksi tepi dengan operator Sobel dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Sobel.
Alternative Flows -
3.2.1.16 Use Case Deteksi Tepi Operator Prewitt Citra Filtering
Spesifikasi use case Deteksi Tepi Operator Prewitt Citra Filtering dapat dilihat pada Tabel 3.16.
Tabel 3.16 Spesifikasi Use Case Deteksi Tepi Operator Prewitt Citra Asli
Name Deteksi Tepi Operator Prewitt Citra Asli
Trigger Pengguna telah melihat citra filtering yang dipilih untuk proses deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil deteksi tepi operator
Prewitt.
Success Scenario 1. Pengguna telah melihat citra hasil filtering yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator
Prewitt Citra Filtering.
3. Sistem akan melakukan proses deteksi tepi dengan operator Prewitt dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Prewitt.
Alternative Flows -
3.2.1.17 Use Case Deteksi Tepi Operator Robert Citra Filtering
Spesifikasi use case Deteksi Tepi Operator Robert Citra Filtering dapat dilihat pada Tabel 3.17.
Tabel 3.17 Spesifikasi Use Case Deteksi Tepi Operator Robert Citra Filtering
Name Deteksi Tepi Operator Robert Citra Filtering
Actors Pengguna
Trigger Pengguna telah melihat citra filtering yang dipilih untuk
proses deteksi tepi.
Preconditions Pengguna memilih menu Deteksi Tepi.
Post Conditions Sistem akan menampilkan citra hasil deteksi tepi operator
Robert.
Success Scenario 1. Pengguna telah melihat citra filtering yang dipilih untuk proses deteksi tepi.
2. Pengguna memilih button Deteksi Tepi Operator
Robert Citra Filtering.
3. Sistem akan melakukan proses deteksi tepi dengan operator Robert dan menampilkan hasil deteksi tepi. 4. Pengguna dapat melihat hasil deteksi tepi dengan
operator Robert.
3.1.2.18 Use Case Simpan Citra
Spesifikasi use case Simpan Citradapat dilihat pada Tabel 3.18.
Tabel 3.18 Spesifikasi Use Case SimpanCitra
Name Simpan Citra
Actors Pengguna
Trigger Pengguna telah melihat citra hasil deteksi tepi.
Preconditions Pengguna telah melihat nilai MSE, PSNR dan Running
Time
Post Conditions Sistem menyimpan file citra hasil deteksi tepi.
Success Scenario 1. Pengguna telah melihat hasil citra deteksi tepi. 2. Pengguna mengeksekusi tombol Save.
3. Sistem menampilkan pop-up window Save Image
untuk menampilkan lokasi penyimpanan gambar. 4. Pengguna menyimpan citra hasil deteksi tepi. 5. Sistem akan menyimpan citra hasil deteksi tepi.
Alternative Flows -
3.2.1.19 Use Case Menghitung MSE, PSNR dan Running Time
Spesifikasi use case Hitung MSE, PSNR dan Running Time dapat dilihat pada Tabel 3.19.
Tabel 3.19 Spesifikasi Use Case Menghitung MSE, PSNR dan Running Time
Name Menghitung MSE, PSNR dan Running Time
Actors Pengguna
Trigger Pengguna telah melihat citra hasil deteksi tepi.
Preconditions Pengguna telah melihat citra yang dipilih untuk proses deteksi tepi.
Post Conditions Pengguna dapat melihat hasil perhitungan nilai MSE,
PSNR dan Running Time.
Success Scenario 1. Pengguna telah melihat citra hasil deteksi tepi.
2. Pengguna memlih dan mengeksekusi tombol deteksi tepi.
3. Sistem melakukan proses perhitungan nilai MSE, PSNR dan Running Time.
4. Sistem menampilkan hasil perhitungan nilai MSE, PSNR dan Running Time.
5. Pengguna dapat melihat hasil perhitungan nilai MSE, PSNR dan Running Time.
3.2.2 Activity Diagram
[image:57.595.117.506.296.716.2]Activity Diagram menggambarkan berbagai alir aktivitas dalam system yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin tejadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Dalam diagram aktivitas ini akan dijelaskan proses filtering dan deteksi tepi dalam sistem yang sedang dirancang. Berikut Activity Diagram Filtering dapat dilihat pada Gambar 3.3 dan Activity Diagram Deteksi Tepi pada Gambar 3.4.
Gambar 3.4 Activity Diagram Deteksi Tepi
3.2.3 Sequence Diagram
Gambar 3.5 Sequence Diagram
3.3 Pseudocode Program
Pseudocode adalah suatu algoritma yang untuk dapat menjelaskannya harus menggunakan bahasa tingkat tinggi. Bahasa tingkat tinggi adalah bahasa yang dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri.
3.3.1 Pseudocode Geometric Mean Filter
Pseudocode dari Geometric Mean Filter dapat dilihat pada Tabel 3.20.
Tabel 3.20 PseudocodeGeometric Mean Filter
1. xi ← image.Width yi ← image.Height
[image:59.595.87.520.76.412.2]3. imagehasil ← (xi, yi)
4. for i ← 0 to yi-2 for j ← 0 to xi-2
for k ← i to i + 2
for l ← j to j + 2
5. red ← image.GetPiksel(l,k).R if (red == 0)
red <- 255
6. green ← image.GetPiksel(l,k).G if (green ==0)
green <- 255
7. blue ← image.GetPiksel(l,k).B if (blue == 0)
blue <- 255
8. hasilred ← hasilred*red
9. hasilgreen ← hasilgreen*green
10. hasilblue ← hasilblue*blue endfor
endfor
11. redfinal <- hasilred^(1/9) red <- Math.Round(redfinal) greenfinal <- hasilgreen^(1/9) green <- Math.Round(greenfinal) bluefinal <- hasilblue^(1/9) blue <- Math.Round(bluefinal)
12. imagehasil.SetPiksel(j + 1, i + 1, Color.FromArgb(255,red,green,blue)
hasilred <- 1 hasilgreen <- 1 hasilblue <- 1 endfor
endfor
Keterangan :
1. Set nilai xi sebagai lebar image dan set nilai yi sebagai panjang image
2. set nilai red, green, blue, hasilred, hasilgreen, dan hasilblue masing-masing 0. Kemudian set nilai redfinal, greenfinal, dan bluefinal masing-masing 1.
3. Deklarasi variabel imagehasil sebagai bitmap dengan lebar xi dan panjang yi. 4. perulangan i mulai dari 0 sampai dan perulangan j mulai dari 0 sampai
5. nilai red dari piksel ke . Jika nilai red = 0 maka nilai red = 255.
6. nilai green dari piksel ke Jika nilai green = 0 maka nilai green = 255 7. nilai blue dari piksel ke . Jika nilai blue = 0 maka nilai blue = 255.
8. set nilai variabel hasilred = hasilred red. 9. set nilai variabel hasilgreen = hasilgreen green. 10.set nilai variabel hasilblue = hasilblue blue. 11.set nilai variabel redfinal =
Nilai redfinal tersebut dibulatkan dan dimasukkan ke variabel red.