ANALISIS PENGARUH KOMBINASI GAUSSIAN NOISE DAN
SPECKLE NOISE PADA CITRA TERHADAP
KINERJA METODE DETEKSI TEPI
SKRIPSI
NUR AINUN
091401010
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
ANALISIS PENGARUH KOMBINASI
GAUSSIAN NOISE
DAN
SPECKLE
NOISE
PADA CITRA TERHADAP
KINERJA METODE DETEKSI TEPI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijasah Sarjana Ilmu Komputer
NUR AINUN
091401010
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS PENGARUH KOMBINASI GAUSSIAN
NOISE DAN SPECKLE NOISE PADA CITRA TERHADAP KINERJA METODE DETEKSI TEPI
Kategori : SKRIPSI
Nama : NUR AINUN
Nomor Induk Mahasiswa : 091401010
Program Studi : S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 1 Pembimbing 2
M. Andri Budiman, S.T., M.Comp.Sc., M.E.M Dian Rachmawati, S.Si, M.Kom NIP. 19751008 200801 1 011 NIP. 19830723 200912 2 004
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
PERNYATAAN
ANALISIS PENGARUH KOMBINASI GAUSSIAN NOISE DAN SPECKLENOISE
PADA CITRA TERHADAP KINERJA METODE DETEKSI TEPI
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Januari 2014
Nur Ainun
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT., Tuhan Yang Maha Esa, yang telah memberikan berkat dan karunia-Nya, serta segala sesuatu dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. 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 dan Dosen Pembimbing I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
4. Ibu Maya Silvi Lydia, B.Sc. M.Sc. selaku Sekretaris Program Studi S1 Ilmu Komputer dan Dosen Penguji II yang telah memberikan kritik dan saran dalam penyempuraan skripsi ini.
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
6. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.
7. Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
8. Ayahanda Armansyah dan Ibunda Junaini yang menjadi motivasi penulis untuk sukses dan selalu memberikan dukungan baik materi maupun non-materi, perhatian, serta doa tanpa henti kepada penulis.
9. Kakak tercinta Rina Madhona, Skm., Abangda Rino Khalid dan M. Teguh Pramana yang menjadi penunjang hidup bagi penulis.
10.Teman-teman pengurus IMILKOM Fasilkom-TI 2012-2013.
11.Teman-teman sekaligus keluarga besar Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini.
Medan, Januari 2014 Penulis,
ABSTRAK
Pendeteksi tepian adalah bagian dari pengolahan citra. Mendeteksi tepi pada citra adalah hal yang biasa, namun disini dilakukan deteksi tepi pada citra yang telah diberi
noise. Hal ini dilakukan untuk melihat apakah ada pengaruh noise pada kinerja deteksi tepi. Noise yang digunakan berupa kombinasi dari Gaussian noise dan Speckle noise
sedangkan operator deteksi tepinya adalah Marr-Hildreth, Laplacian Of Gaussian dan
Prewitt. Parameter yang digunakan untuk mengukur nilai perbandingan antara ketiga operator deteksi tepi yaitu nilai MSE dan PSNR. Pada sistem ini objek yang digunakan adalah citra dengan format bitmap atau *.bmp. Berdasarkan beberapa hasil pengujian diperoleh bahwa ada pengaruh noise terhadap kinerja deteksi tepi dengan nilai mean dan variance yang diujikan dari rentang 0 hingga 1. Nilai rata-rata MSE pada operator Marr-Hildreth pada kombinasi Gaussian Noise dan Speckle Noise yang menandakan bahwa citra hasil deteksi tepi buram berkisar lebih dari 0.13 dan PSNR berkisar kurang dari 57.00. Sedangkan untuk nilai rata-rata MSE pada operator LOG pada kombinasi Gaussian Noise dan Speckle Noise berkisar lebih dari 0.16 dan PSNR berkisar kurang dari 0.478. Dan untuk Prewitt, MSE berkisar lebih dari 0.04 dan PSNR berkisar kurang dari 0.474. Selain itu jenis citra juga mempengaruhi seberapa besar nilai noise dapat diberikan untuk mempengaruhi kinerja deteksi tepi, yaitu citra dengan background solid dan citra dengan background merata.
ANALYSIS EFFECT COMBINATION OF GAUSSIAN NOISE AND
SPECKLE NOISE IN IMAGE ON PERFORMANCE
OF EDGE DETECTION METHOD
ABSTRACT
Edge detection is part of the image processing. Edge detecting in ordinary image is a common thing, but here edge detection do in image noise that has been given. This is done to see if there is an influence of noise on the performance of edge detection. Noise used are combination of Gaussian noise and Speckle noise, while the edge detection operator are Marr-Hildreth, Laplacian Of Gaussian and Prewitt. The parameters used to measure the value of a comparison between the three edge detection operators are MSE and PSNR. In this system object used is a bitmap image or *. bmp. Based on some test results obtained that there is influence of noise on the performance of edge detection with mean and variance of the tested range of 0 to 1. The average value of MSE on the Marr-Hildreth operator on a combination of Gaussian noise and Speckle Noise which indicates that the edge detection image is blurred, range of more than 0.13 and PSNR ranges from less than 57.00. As for the average value of MSE on LOG operator on a combination of Gaussian noise and Speckle Noise ranges of more than 0.16 and less than 0.478 for PSNR ranges. And for Prewitt, MSE ranged over 0.04 and less than 0.474 for PSNR ranges . Besides affects of the image type also how much noise value can be assigned to affect the performance of edge detection, they are the image with a solid background and image with background evenly.
DAFTAR ISI
Hal.
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Gambar x
Daftar Tabel xii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Perumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Sistematika Penulisan 3
Bab 2 Landasan Teori 2.1 Citra
2.2.1 Pengolahan Citra
5 9
2.2.2 BMP 9
2.2 Noise 10
2.2.1 Gaussian Noise 10
2.2.2 Speckle Noise 11
2.3 Deteksi Tepi 12
2.3.1 Operator The Marr-Hildreth 15
2.3.2 Operator Laplacian Of Gaussian
2.3.3 Operator Prewitt
16 17
2.4 Konvolusi 18
2.5 MSE dan PSNR 21
2.5.1 Mean Square Error 21
2.5.2 Peak Signal to Noise Ratio 22 Bab 3 Analisis Dan Perancangan Sistem
3.1 Analisis Sistem 23
3.1.1 Analisis Masalah 23
3.1.2 Analisis Kebutuhan Sistem 24
3.1.2.1 Kebutuhan Fungsional Sistem 24
3.1.2.2 Kebutuhan Non-Fungsional Sistem 25
3.1.3 Analisis Proses 25
3.1.3.1 Noising 25
3.2.1 Use Case Diagram 27
Hal.
3.2.2Sequance Diagram 3.2.3 Activity Diagram
31 32
3.3 Pseudocode 34
3.3.1 Pseudocode Noising 34
3.3.2 Pseudocode Operator Marr-Hildreth 35
3.3.3 Pseudocode Operator Laplacian Of Gaussian 36
3.3.4 Pseudocode Operator Prewitt 36
3.3.5 Pseudocode Menghitung Nilai MSE 37
3.3.6 Pseudocode Menghitung Nilai PSNR 37
3.4 Perancangan Sistem 38
3.4.1 Perancangan Flowchart Sistem 38
3.4.2 Perancangan Antarmuka (Interface) 41
3.4.2.1 Form Home 41
3.4.2.2 Form Deskripsi 42
3.4.2.3 Form Gaussian-Speckle Noise 43
3.4.2.4 Form Speckle-Gaussian Noise 44
3.4.2.5 Form Gaussian Noise 46
3.4.2.6 Form Speckle Noise 48 Bab 4 Implementasi dan Pengujian
4.1 Implementasi 50
4.1.1 Form Home 50
4.1.2 Form Deskripsi 51
4.1.3 Form Gaussian-Speckle Noise 51
4.1.4 Form Speckle-Gaussian Noise 53
4.1.5 Form Gaussian Noise 54
4.1..6 Form Speckle Noise 56
4.2 Pengujian 57
4.2.1 Pengujian Gaussian-Speckle Noise 57 4.2.2 Pengujian Speckle-Gaussian Noise 64
4.2.3 Pengujian Gaussian Noise 67
4.2.4 Pengujian Speckle Noise 71
4.2.5 Pengujian Random 75
4.2.6 Perbandingan Histogram 77
4.2.7 Perbandingan Citra Background Solid dengan Citra
Background Merata 77
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 81
5.2 Saran 82
Daftar Pustaka 83
Lampiran Listing Program A-1
DAFTAR GAMBAR
Hal.
Gambar 2.1 Pixel Matrix 6
Gambar 2.2 Citra Biner 7
Gambar 2.3 Citra Skala Keabuan 7
Gambar 2.4 Citra Warna (True Color) 8
Gambar 2.5 Citra Warna Berindeks 8
Gambar 2.6 Mangga.bmp Gambar 2.7 Citra Tanpa Noise
Gambar 2.8 Citra Dengan Gaussian Noise Gambar 2.9 Citra Tanpa Noise
Gambar 2.10 Citra Dengan Speckle Noise Gambar 2.11 Model Tepi Satu Dimensi Gambar 2.12 Jenis-Jenis Tepi
Gambar 2.13 Proses Deteksi Tepi Citra
Gambar 2.14 Proses Deteksi Tepi Metode The Marr-Hildreth Gambar 2.15 Kernel Konvolusi Laplacian
Gambar 2.16 Proses Deteksi Tepi Metode LOG Gambar 2.17 Proses Deteksi Tepi Metode Prewitt Gambar 2.18 Proses Konvolusi
Gambar 2.19 Matriks Citra dan Kernel Sebelum Konvolusi Gambar 2.20 Tahapan Proses Pembentukan Konvolusi Gambar 2.21 Hasil Konvolusi Citra dan Kernel
10 11 11 12 12 13 14 15 16 17 17 18 19 20 20 21
Gambar 3.1 Diagram Ishikawa 24
Gambar 3.2 Use Case Diagram Sistem Analisis Pengaruh Noise Terhadap
Deteksi Tepi 27
Gambar 3.3 Sequence Diagram Tahap Awal Deteksi Tepi Citra 32 Gambar 3.4 Activity Diagram Pada Sistem Analisis Pengaruh Noise Terhadap
Deteksi Tepi 33
Gambar 3.5 Gambaran Umum Sistem 38
Gambar 3.6 Proses Deteksi Tepi 39
Gambar 3.7 Proses Analisis dari Sistem Analisis Pengaruh Noise Pada Citra
Terhadap Kinerja Metode Deteksi Tepi 40
Gambar 3.8 Form Home 41
Gambar 3.9 Form Deskripsi 42
Gambar 3.10 Form Gaussian-Speckle Noise 43
Gambar 3.11 Form Speckle-Gaussian Noise 45
Gambar 3.12 Form Gaussian Noise 46
Gambar4.4 Form simulasi Gaussian-Speckle Noise 52
Gambar4.5 Form Speckle-Gaussian Noise 53
Gambar4.6 Form simulasi Speckle-Gaussian Noise 54
Gambar 4.7 Form Gaussian Noise 55
Gambar 4.8 Form Simulasi Gaussian Noise 55
Gambar 4.9 Form Speckle Noise 56
Gambar 4.10 Form Simulasi Speckle Noise 57
Gambar 4.11 Pilih Tombol Gaussian-Speckle Noise 58
Gambar 4.12 Browse Citra .bmp Pada FormGaussian-Speckle Noise 58 Gambar 4.13 Tampilan Proses Noising dan Deteksi Tepi Pada Form
Gaussian-speckle Noise 59
Gambar 4.14 Perbandingan Histogram Pada Simulasi Gaussian-Speckle
Noise 77
Gambar 4.15 Grafik Tabel 4.16 79
DAFTAR TABEL
Hal. Tabel 3.1 Dokumentasi Naratif Use Case Pilih Noise
Tabel 3.2 Dokumentasi Naratif Use Case Deteksi Tepi Tabel 3.3 Dokumentasi Naratif Use Case Deskripsi
Tabel 4.1 Perbandingan nilai MSE dan PSNR masing-masing Operator Deteksi Tepi
Tabel 4.2 Perbandingan Sampel pada Simulasi Gaussian-SpeckleNoise
Tabel 4.3 Perbandingan Nilai MSE dan PSNR Untuk Tabel 4.2
28 29 31
59 60 61 Tabel 4.4 Pengukuran Nilai MSE dan PSNR pada Gaussian-Speckle Noise
Tabel 4.5 Perbandingan Sampel pada Simulasi Speckle- GaussianNoise
62 64 Tabel 4.6 Perbandingan Nilai MSE dan PSNR Untuk Tabel 4.5
Tabel 4.7 Pengukuran Nilai MSE dan PSNR pada Speckle-Gaussian Noise
65 66 Tabel 4.8 Perbandingan Sampel pada Simulasi GaussianNoise
Tabel 4.9 Perbandingan Nilai MSE dan PSNR Untuk Tabel 4.8 Tabel 4.10 Pengukuran Nilai MSE dan PSNR pada Gaussian Noise
Tabel 4.11 Perbandingan Sampel pada Simulasi SpeckleNoise Tabel 4.12 Perbandingan Nilai MSE dan PSNR Untuk Tabel 4.11 Tabel 4.13 Pengukuran Nilai MSE dan PSNR pada Speckle Noise
Tabel 4.14 Perbandingan Sampel Random
Tabel 4.15 Perbandingan Nilai MSE dan PSNR Untuk Tabel 4.14 Tabel 4.16 Perbandingan Nilai Rata-Rata MSE
68 69 70 71 73 73 75 76 78
ABSTRAK
Pendeteksi tepian adalah bagian dari pengolahan citra. Mendeteksi tepi pada citra adalah hal yang biasa, namun disini dilakukan deteksi tepi pada citra yang telah diberi
noise. Hal ini dilakukan untuk melihat apakah ada pengaruh noise pada kinerja deteksi tepi. Noise yang digunakan berupa kombinasi dari Gaussian noise dan Speckle noise
sedangkan operator deteksi tepinya adalah Marr-Hildreth, Laplacian Of Gaussian dan
Prewitt. Parameter yang digunakan untuk mengukur nilai perbandingan antara ketiga operator deteksi tepi yaitu nilai MSE dan PSNR. Pada sistem ini objek yang digunakan adalah citra dengan format bitmap atau *.bmp. Berdasarkan beberapa hasil pengujian diperoleh bahwa ada pengaruh noise terhadap kinerja deteksi tepi dengan nilai mean dan variance yang diujikan dari rentang 0 hingga 1. Nilai rata-rata MSE pada operator Marr-Hildreth pada kombinasi Gaussian Noise dan Speckle Noise yang menandakan bahwa citra hasil deteksi tepi buram berkisar lebih dari 0.13 dan PSNR berkisar kurang dari 57.00. Sedangkan untuk nilai rata-rata MSE pada operator LOG pada kombinasi Gaussian Noise dan Speckle Noise berkisar lebih dari 0.16 dan PSNR berkisar kurang dari 0.478. Dan untuk Prewitt, MSE berkisar lebih dari 0.04 dan PSNR berkisar kurang dari 0.474. Selain itu jenis citra juga mempengaruhi seberapa besar nilai noise dapat diberikan untuk mempengaruhi kinerja deteksi tepi, yaitu citra dengan background solid dan citra dengan background merata.
ANALYSIS EFFECT COMBINATION OF GAUSSIAN NOISE AND
SPECKLE NOISE IN IMAGE ON PERFORMANCE
OF EDGE DETECTION METHOD
ABSTRACT
Edge detection is part of the image processing. Edge detecting in ordinary image is a common thing, but here edge detection do in image noise that has been given. This is done to see if there is an influence of noise on the performance of edge detection. Noise used are combination of Gaussian noise and Speckle noise, while the edge detection operator are Marr-Hildreth, Laplacian Of Gaussian and Prewitt. The parameters used to measure the value of a comparison between the three edge detection operators are MSE and PSNR. In this system object used is a bitmap image or *. bmp. Based on some test results obtained that there is influence of noise on the performance of edge detection with mean and variance of the tested range of 0 to 1. The average value of MSE on the Marr-Hildreth operator on a combination of Gaussian noise and Speckle Noise which indicates that the edge detection image is blurred, range of more than 0.13 and PSNR ranges from less than 57.00. As for the average value of MSE on LOG operator on a combination of Gaussian noise and Speckle Noise ranges of more than 0.16 and less than 0.478 for PSNR ranges. And for Prewitt, MSE ranged over 0.04 and less than 0.474 for PSNR ranges . Besides affects of the image type also how much noise value can be assigned to affect the performance of edge detection, they are the image with a solid background and image with background evenly.
BAB I
PENDAHULUAN
1.1Latar Belakang
Perkembangan pemanfaatan citra dalam berbagai hal telah banyak membantu
kemajuan teknologi di banyak bidang ilmu pengetahuan. Hal ini dapat dilihat dari
begitu banyaknya pemanfaatan citra, baik itu citra analog ataupun citra digital
dalam banyak bidang misalnya pengolahan citra digital dari gambar.
Pengolahan citra memegang peranan yang sangat penting dalam kehidupan
sehari-hari, tapi sering tidak disadari akan pentingnya informasi yang ditampilkan
dalam suatu pengolahan citra tersebut. Pengolahan citra adalah memproses suatu
citra sehingga menghasilkan citra yang sesuai dengan keinginan kita. Dalam
kehidupan sehari–hari proses pengolahan citra memegang peranan yang cukup
penting dalam kehidupan, meskipun kita tidak menyadari secara langsung.
Dalam pengolahan citra, sering kali terjadi noise pada suatu citra. Noise
merupakan gangguan-gangguan yang dialami citra sehingga membuat kualitas
citra menjadi kurang baik. Sehingga akibat noise pada citra ini seringkali terjadi permasalahan dalam proses pendeteksian suatu citra.
Deteksi tepi merupakan salah satu cara bagaimana melakukan suatu
pengolahan citra. 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. Jika
Berdasarkan hal-hal inilah yang membuat penulis akhirnya berkeinginan
untuk melakukan analisis pengaruh noise terhadap kinerja metode deteksi tepi. Namun dalam penelitian ini penulis merincikan noise dan jenis metode deteksi tepinya. Sehingga penulis berkesimpulan untuk melakukan penelitian mengenai
analisis pengaruh Gaussian Noise dan Speckle Noise pada citra terhadap kinerja metode deteksi tepi.
1.2Perumusan Masalah
Adapun masalah yang akan dibahas dalam penelitian ini adalah :
1. Bagaimana pengaruh dari kombinasi antara Gaussian noise dan Speckle noise (Gaussian-Speckle, Speckle-Gaussian, Gaussian atau Speckle) pada citra terhadap kinerja metode deteksi tepi dan kualitas citra.
2. Bagaimana perbandingan parameter MSE dan PSNR pada masing-masing
kombinasi Gaussian noise dan Speckle noise.
1.3Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah :
1. Deteksi tepi yang digunakan ada tiga operator yaitu operator The Marr-Hildreth, operator Laplacian of Gaussian, dan operator Prewitt.
2. Citra digital yang digunakan yaitu citra yang berformat bitmap (.bmp)
dengan ukuran lebar 300 x tinggi 300 pixel.
3. Parameter yang akan diukur untuk mengetahui hasil perbandingan
masing-masing metode pendeteksi tepi adalah MSE dan PSNR.
4. Bahasa pemrograman yang digunakan untuk membangun aplikasi ini
adalah bahasa pemrograman Matlab 7.5.0 (R2007b).
1.4Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah :
1. Membangun suatu aplikasi untuk melakukan analisis pengaruh noise pada citra terhadap kinerja metode deteksi tepi.
2. Membandingan hasil analisis pengaruh kombinasi Gaussian dan Speckle noise pada citra terhadap kinerja metode deteksi tepi.
1.5Manfaat Penelitian
Adapun tujuan dari penelitian ini adalah :
1. Untuk menganalisis pengaruh kombinasi Gaussian noise dan Speckle noise terhadap kinerja metode deteksi tepi.
2. Untuk membandingkan pengaruh kombinasi Gaussian noise dan Speckle noise terhadap kinerja metode deteksi tepi.
1.6Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :
Bab I Pendahuluan
Berisi latar belakang, perumusan masalah, batasan masalah,
tujuan dan manfaat penelitian dan sistematika penulisan.
Bab II Landasan Teori
Berisi tentang penjelasan singkat mengenai definisi pengolahan
Bab III Analisis dan Perancangan
Berisi tentang analisis mengenai pengaruh pemberian noise
pada citra terhadap kinerja merode deteksi tepi dan perancangan
tampilan form dari aplikasi. Bab IV Implementasi dan Pengujian
Berisi tentang algoritma dan implementasi aplikasi yang sesuai
dengan analisis dan perancangan.
Bab V Kesimpulan dan Saran
Berisi tentang kesimpulan yang diperoleh setelah
menyelesaikan tugas akhir ini dan saran-saran yang dapat
diberikan untuk melakukan pengembangan perangkat lunak
BAB II
LANDASAN TEORI
2.1. Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan suatu obyek.
Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto,
bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau
bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan[14].
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N
kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat
(x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila
(x,y) dan nilai ampiltudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital[12].
Dalam dunia sehari-hari dapat banyak dijumpai berbagai macam bentuk citra,
baik itu citra analog ataupun citra digital. Citra analog yaitu seperti foto yang tercetak
di kertas foto, gambar sebuah lukisan di kanvas atau ketas, dan lain sebagainya. Citra
analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto
sinar-X, foto yang tercetak di kertas foto, lukisan, pemnadangan alam, hasil CT scan,
gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak
dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer
secara langsung.
Sedangkan Citra Digital adalah citra yang dapat diolah oleh komputer yang
memiliki jenis dan ukuran file dari citra tersebut. Citra digital merupakan citra yang
tersusun dalam bentuk raster (grid / kisi). Setiap kotak (tile) yang terbentuk disebut
pixel (picture element) dan memiliki koordinat (x,y). Sumbu x (horizontal) : kolom
Se
intensitas
level atau
menunjuk
1 bit –2 w
4 bit –16 w
8 bit –256
24 bit –16
Kanal Mer
Kanal Hija
Kanal Biru
Nilai Digi
M = banya
N = banya
b = banyak
Co telepon ge Be jenis, yaitu tiap pixel keabuan pa
u kode warn
kkan resolus
warna: [0,1]
warna: [0,15
6 warna: [0,2
6.777.216 w
rah -Red (R
au - Green (
u - Blue (B)
ital dan bany
ak pixel per
ak pixel per
k / besar bit
ontoh dari c
enggam.
erdasarkan f
u[15]:
memiliki
ada pixel te
na. Kisaran
si aras abu-a
5]
255]
warna (true c
R): [0,255]
(G): [0,255]
): [0,255]
Ga
yak bit :
r baris (panj
kolom (leb
t pada suatu
citra digital
format peny
nilai (valu
ersebut. De
n nilai diten
abu (grey le
color)
]
ambar 2.1P
jang)
bar)
u citra
l yaitu foto
yimpanan n
ue atau nu
erajat keabu ntukan oleh evel resoluti Pixel Matr yang tersim nilai warnan umber) yan uan merepre
bit yang d
on).
iks
mpan dalam
nya, citra te
ng menunju
esentasikan
dipakai dan
m komputer
erdiri atas e ukkan
n grey
akan
r atau
1. Citra biner atau monokrom
Pada citra jenis ini, setiap titik atau piksel hanya bernilai 0 atau 1.Dimana
setiap titik membutuhkan media penyimpana sebesar 1 bit. Gambar 2.2
merupakan contoh citra biner.
Gambar 2.2 Citra Biner
2. Citra skala keabuan
Citra skala keabuan mempunyai kemungkinan warna antara hitam
(minimal) dan putih (maksimal). Jumlah maksimum warna sesuai dengan
bit penyimpanan yang digunakan.
Misal:
Suatu citra dengan skala keabuan 4 bit, memiliki jumlah kemungkinan
warna 24 = 16 warna.
Gambar 2.3 memperlihatkan citra skala keabuan 4 bit.
Gambar 2.3 Citra Skala Keabuan
3. Citra warna (true color)
Setiap titik (piksel) pada citra warna mewakili warna yang merupakan
sebagai citra RGB (Red, Green, Blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit).
Red = warna minimal putih, warna maksimal merah
Green = warna minimal putih, warna maksimal hijau
Blue = warna minimal putih, warna maksimal biru Setiap titik pada citra warna membutuhkan data 3 byte
Jumlah kemungkinan kombinasi warna untuk citra warna adalah 224 =
lebih dari 16 juta warna, disebut true color karena dianggap mencakup semua warna yang ada. Gambar 2.4 memperlihatkan contoh citra warna.
Gambar 2.4 Citra Warna (True Color)
4. Citra warna berindeks
Setiap titik (piksel) pada citra warna berindeks mewakili indeks dari suatu
tabel warna yang tersedia (biasanya disebut palet warna). Keuntungan
pemakaian palet warna adalah kita dapat dengan cepat memanipulasi
warna tanpa harus mengubah informasi pada setiap titik dalam citra.
Keuntungan yang lain, penyimpanan lebih kecil. Contoh citra warna
berindeks diperlihatkan pada Gambar 2.5.
2.2.1. Pengolahan Citra
Pengolahan citra (image processing) merupakan proses untuk mengolah
pixel-pixel dalam citra digital untuk tujuan tertentu. Beberapa alasan dilakukan
pengolahan citra digital adalah sebagai berikut :
1. Untuk mendapatkan citra asli dari citra yang sudah rusak karena pengaruh noise
yang bercampur dengan cira asli dalam suatu proses tertentu. Poses pengolahan
citra bertujuan untuk mendapatkan citra yang mendekati citra asli.
2. Untuk mendapatkan citra dengan karakteristik tertentu dan cocok secara visual
yang dibutuhkan dalam proses lanjut dalam pemrosesan analisis 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.2.2. BMP
Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data
kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel).
Citra bitmap direpresentasikan dalam bentuk matriks dan dipetakan dengan
kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit.
Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna
dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang
paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit,
seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara
scanner, kamera digital, video capture, dan lain-lain[14]. Contoh gambar dengan
format .bmp sebagai berikut:
Gambar 2.6mangga.bmp 2.2. Noise
Noise merupakan gangguan yang disebabkan oleh menyimpangnya data digital yang diterima oleh alat penerima data gambar yang mana dapat menggangu
kualitas citra. Derau (noise) dapat disebabkan oleh gangguan fisis (optik) pada alat penangkap citra misalnya kotoran debu yang menempel pada lensa foto
maupun akibat proses pengolahan yang tidak sesuai. Berikut merupakan beberapa
jenis noise[13].
2.2.1. Gaussian Noise
Gaussian Noise atau juga dapat disebut Gaussian White Noise. Noise ini memiliki intensitas yang sesuai dengan distribusi normal yang memiliki rerata (mean) dan varian tertentu[16].
Gaussian noise merupakan model noise yang mengikuti distribusi normal standart dengan rata-rata = 0 dan standar deviasi = 1. Efek dari gaussian noise ini pada gambar adalah munculnya titik-titik berwarna yang jumlahnya sama dengan
Untuk menambahkan noise ini pada MatLab memerlukan input tambahan berupa rata-rata dan variansi. Rata-rata dan variansi merupakan suatu konstanta
real. Nilainya bisa positif maupun negatif. Makin besar rata-rata dan variansinya
maka citra akan semakin kabur, sebaliknya makin kecil konstantanya efek pada
citra makin tidak terlihat. Nilai default adalah 0 untuk rata-rata dan 0.01 untuk
variansi. Disebut white noise karena pada saat nilai rata-rata dan variansinya besar maka citra seolah-olah hanya terlihat seperti citra putih saja[7].
Berikut merupakan rumusan dari gaussiannoise:
f(i,j) = g(i,j) +p.a
(1)Keterangan : f (i,j) = nilai citra terkena noise
g (i,j) = nilai citra sebelum terkena noise
a = nilai bilangan acak berdistribusi gaussian
p = persentase noise
Berikut merupakan contoh citra tanpa dan dengan gaussian noise:
Gambar 2.7Citra tanpa noise Gambar 2.8 Citra dengan gaussian noise
2.2.2. Speckle Noise
dan sebagainya. Sifat noise ini mutlipikatif, artinya semakin besar intensitas citra atau semakin cerah citra, semakin jelas juga noise[16].
Pada beberapa pengolahan citra, terkadang untuk menguji suatu algoritma
untuk dapat mereduksi noise, maka noise dapat dihasilkan dari proses pembangkitan noise yang sering disebut sebagai noise generator. Untuk membangkitkan noise pada umumnya dibangkitkan dengan cara mengambil suatu bilangan acak yang kemudian ditempatkan pada citra secara acak pula[13].
Berikut merupakan rumusan dari noise speckle:
v(x,y) = u(x,y)s(x,y)
(2)Keterangan : v (x,y) = nilai citra terkena noise
u (x,y) = nilai citra sebelum terkena noise
s (x,y) = intensitas dari speckle noise [2]
Berikut merupakan contoh citra tanpa dan dengan specklenoise:
Gambar 2.9 Citra tanpa noise Gambar 2.10 Citra dengan specklenoise
2.3. Deteksi Tepi
Tepian dari suatu citra mengandung informasi penting dari citra bersangkutan.
Tepian citra dapat merepresentasikan objek-objek yang terkandung dalam citra
Tepian citra adalah posisi dimana intensitas piksel dari citra berubah dari nilai
rendah ke nilai tinggi atau sebaliknya. Deteksi tepi umumnya adalah langkah awal
melakukan segmentasi citra[12].
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 2x2, 3x3, 3x4, 7x7, dan
sebagainya[14].
Secara umum tepi dapat didefinisikan sebagai batas antara dua region (dua piksel yang saling berdekatan) yang memiliki perbedaan intensitas yang tajam
atau tinggi. Tepi dapat diorientasikan dengan suatu arah, dan arah ini
berbeda-beda, tergantung pada perubahan intensitas. Untuk lebih memahami defenisi tepi,
Gambar 2.11 memperlihatkan model tepi dalam ruang satu dimensi[15].
Gambar 2.11 Model Tepi Satu Dimensi
Ada tiga macam tepi yang terdapat di dalam citra digital, yaitu[15]:
1. Tepi curam
Jenis tepi ini terbentuk karena perubahan intensitas yang tajam, berkisar
900.
jarak
perubahan intensitas
α
2. Tepi landai
Tepi lebar, sudut arah kecil. Terdiri dari sejumlah tepi-tepi lokal
yang lokasinya berdekatan.
3. Tepi yang mengandung noise
Untuk mendeteksi tepi jenis ini, biasanya dilakukan operator image enhancement terlebih dahulu. Misalnya Operator Gaussian yang berfungsi untuk menghaluskan citra.
Perbedaan ketiga macam tepi tersebut, diperlihatkan pada Gambar 2.12.
Gambar 2.12 Jenis-jenis Tepi
Deteksi tepi merupakan langkah pertama untuk melingkupi informasi di
dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk
proses segmentasi dan identifikasi objek di dalam citra. Deteksi tepi pada suatu
citra memiliki tujuan sebagai berikut[15]:
1. Menandai bagian yang menjadi detil citra.
Gambar 2.13 memperlihatkan bagaimana tepi dari suatu citra dapat
diperoleh dengan operasi pendeteksian tepi.
Gambar 2.13 Proses Deteksi Tepi Citra
2.3.1 Operator The Marr-Hildreth
Metode The Marr-Hildreth atau yang biasa disebut Canny edge detector
ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual
manusia. Dalam memodelkan pendeteksi tepi, dia menggunakan ideal step edge,
yang direpresentasikan dengan fungsi sign satu dimensi. Pendekatan algoritma canny dilakukan dengan konvolusi fungsi image dengan operator gaussian dan
turunan-turunannya[3].
Metode The Marr-Hildreth ini memiliki banyak kesamaan dengan metode
canny, tetapi ada sedikit perbedaan antara kedua metode ini yaitu jika metode The
Marr-Hildreth menggunakan turunan pertama untuk melakukan deteksi tepi,
sedangkan metode canny menggunakan turunan kedua untuk melakukan proses
deteksi tepi. Gambar 2.14 adalah contoh penerapan metode deteksi tepi dengan
2.3.2 Ope
Operator l
Jadi, sebe
diperlukan
gaussian d Ca
dengan op
Namun, p
laplacian d
turunan k
Kemudian
linier[14].
Me
Pada tepi
nol), yaitu
pada tepi y
Be standard G Gamba erator Lapl laplacian sa elum detek n. Operator dan operato
ara kerja op
perator gaus
engaburan
diterapkan u
kedua yang
n, lokasi tep
etode ini m
yang cura
u titik dima
yang landai
erikut ini fu
Gaussian
:ar 2.14Pro
lacian Of G
angat sensiti
ksi tepi di
laplacian
r laplacian. erator ini a
ssian bertuj ini mengak untuk mene bersesuaian pi diperoleh mendeteksi te m, turunan na terdapat
i tidak terda
ungsi LoG 2
:
oses Deteks
Gaussian
if terhadap
ilakukan, f
of Gaussia . adalah sebag juan untuk kibatkan pel emukan titik
n dengan p
h dari resolu
epi lebih ak
n keduanya
t pergantian
apat persilan
2-D yang be
i Tepi Met
noise yang
filter yang
an merupak
gai berikut
mengaburk
lebaran tepi
k potong de
puncak dala
usi subpikse
kurat khusu
memiliki
n tanda nila
ngan nol (G
erpusat pada
ode The M
terletak pad
dapat me
an kombina
: pertama, c
an dam me
objek. Kem
ngan sumbu
am fungsi tu
el menggun
snya pada t
zero-cross
i turunan ke
onzalez et a
a titik 0 dan
Marr-Hildre
da titik-titik
elemahkan
asi dari ope
citra dikonv
elemahkan n
mudian, ope
u x dalam f
turunan per
nakan interp
tepi yang cu
sing (persila kedua, sedan
al, 2005).
n dengan de
(3)
Representasi turunan kedua dalam bentuk kernel operator Laplacian
diperlihatkan pada Gambar 2.15.
0 ‐1 0 ‐1 4 ‐1
0 ‐1 0
Gambar 2.15 Kernel Konvolusi Laplacian
Gambar 2.16 menunjukkan contoh penerapan metode deteksi tepi dengan
operator Laplacian of Gaussian (LOG).
Gambar 2.16Proses deteksi tepi metode LOG [8]
2.3.3 Operator Prewitt
Operator Prewitt digunakan dalam pengolahan gambar, terutama dalam deteksi
tepi algoritma. Secara teknis, itu adalah operator diferensial diskrit, menghitung
perkiraan dari gradien dari fungsi intensitas citra.
Operator ini lebih sensitif terhadap tepian horisontal dan vertikal dari pada
tepian diagonal. Metode Prewitt merupakan pengembangan metode Robert
dengan menggunakan filter HPF (High Pass Filter) yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal
Berikut adalah kernel filter yang digunakan dalam metode Prewitt dalam matriks 3 x 3.[12]
atau
Gambar 2.17 adalah contoh penerapan metode deteksi tepi dengan
operator Prewitt.
Gambar 2.17Proses Deteksi Tepi Metode Prewitt
2.4. Konvolusi
Deteksi tepi merupakan salah satu proses pengolahan citra yang menggunakan
filter atau penapis. Selain pada proses pendeteksian tepi, proses lain pada
pengolahan citra yang juga menggunakan filter atau penapis adalah perbaikan
kualitas citra (image enhancement), penghilangan derau (noise reduction), mengurangi erotan, penghalusan atau pelembutan citra (image smoothing), dan lain-lain.
Untuk mengaplikasikan penapis pada citra, digunakan metode konvolusi.
Konvolusi bisa dinyatakan dalam matriks, dimana setiap elemen matriks penapis
tersebut dinamakan koefisien konvolusi. Operasi konvolusi bekerja
dengan menggeser kernel piksel per piksel, yang hasilnya kemudian disimpan
dalam matriks baru. Konvolusi 2 fungsi f(x) dan g (x) diperlihatkan dengan rumus
(4)
Atau fungsi diskritnya:
(5)
Dimana α = peubah bantu.
Pada konvolusi 2D, fungsi malarnya dapat dihitung dengan persamaan:
(6)
Sedangkan fungsi diskritnya dihitung dengan persamaan:
(7)
g(x) merupakan convolution mask / filter / kernel atau template. Gambar 2.18 memperlihatkan ilustrasi terjadinya konvolusi.
Gambar 2.18 Proses Konvolusi
Dimana:
(8)
Untuk lebih jelasnya, berikut contoh konvolusi yang terjadi antara citra
f(x,y) berukuran 5x5 dengan sebuah kernel berukuran 3x3 yang diperlihatkan
Gambar 2.19 Matriks Citra dan Kernel Sebelum Konvolusi
Tanda • menunjukkan posisi (0,0) dari kernel
Tahapan untuk mendapatkan hasil konvolusi yang terjadi antara citra dan kernel
diatas dapat dilihat pada Gambar 2.20.
(i)
(ii)
(iii)
. . .
dan seterusnya
Sehingga diperoleh hasil akhir dari proses konvolusi tersebut, yang ditunjukkan
pada Gambar 2.21.
Gambar 2.21 Hasil Konvolusi Citra dan Kernel
Dalam konvolusi terdapat dua kemungkinan yang jika ditemukan, diselesaikan
dengan cara berikut, yaitu:
1. Untuk hasil konvolusi dengan nilai negatif, nilainya dijadikan nol (0).
2. Jika hasil konvolusi lebih besar (>) derajat keabuan maksimum, maka nilai
diubah menjadi derajat keabuan maksimum.
2.5. MSE dan PSNR
2.5.1 Mean Square Error
Mean Square Error (MSE) adalah kesalahan kuadrat rata-rata. Nilai MSE didapat dengan membandingkan nilai selisih pixel-pixel citra asal dengan citra hasil pada posisi pixel yang sama. Semakin besar nilai MSE, maka tampilan pada citra hasil akan semakin buruk. Sebaliknya, semakin kecil nilai MSE, maka tampilan pada
citra hasil akan semakin baik. Satuan nilai dari MSE adalah dB (deciBell)
Perhitungan MSE dilakukan dengan menggunakan rumus[9]:
) ]) , [ ] , [ ( (
1 1 2
0 1
0
j i y j i x MN
MSE
N
j M
i
(9)
Keterangan : M dan N adalah ukuran panjang dan lebar citra
y[i,j] = adalah citra hasil yang telah mengalami proses.
Untuk menghitung nilai MSE dari citra yang memiliki noise: x[i,j] adalah citra asli, dan
y[i,j] adalah citra yang telah mengalami proses pembangkitan noise.
2.5.2 Peak Signal to Noise Ratio
Peak Signal to Noise Ratio (PSNR) adalah sebuah perhitungan yang menentukan nilai dari sebuah citra yang dihasilkan. PSNR adalah perbandingan antara nilai
maksimum dari sinyal yang diukur dengan besarnya noise yang berpengaruh pada sinyal tersebut. PSNR biasanya diukur dalam satuan desibel. Nilai PSNR
ditentukan oleh besar atau kecilnya nilai MSE yang terjadi pada citra. Semakin
besar nilai PSNR, semakin baik pula hasil yang diperoleh pada tampilan citra
hasil. Sebaliknya, semakin kecil nilai PSNR, maka akan semakin buruk pula hasil
yang diperoleh pada tampilan citra hasil. Satuan nilai dari PSNR sama seperti
MSE, yaitu dB (deciBell). Jadi hubungan antara nilai PSNR dengan nilai MSE adalah semakin besar nilai PSNR, maka akan semakin kecil nilai MSE-nya.
Perhitungan PSNR dilakukan dengan menggunakan rumus[9]:
MSE PSNR
2
255 log 10
(10)
Keterangan : M dan N adalah ukuran panjang dan lebar citra
x[i,j] = adalah citra asal dengan dimensi M x N
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem merupakan suatu tahapan yang mana dilakukan untuk membantu
memahami sesuatu yang dibutuhkan sistem. Hal ini dimaksud untuk membuat
sistem tersebut mengetahui permasalahan-permasalahan yang ada sehingga
nantinya dapat membantu di dalam proses perancangan model suatu sistem yang
nantinya akan diimplementasikan.
3.1.1. Analisis Masalah
Pendeteksian tepi gambar pada citra asli adalah hal yang biasa. Permasalahan
yang dihadapi dalam perancangan sistem ini yaitu melakukan deteksi tepi pada
citra yang telah mengalami kerusakan akibat noise yang diberikan. Hal ini sengaja dilakukan untuk membuktikan apakah ada pengaruh noise terhadap proses deteksi tepi. Masalahnya seberapa besar noise yang diberikan akan berpengaruh terhadap proses deteksi tepi. Dengan adanya sistem ini diharapkan dapat membuktikan
pengaruh tersebut.
Permasalahan pada noise yang akan diberikan dikembangkan dari kombinasi Gaussian dan Speckle Noise hingga menghasilkan 4 jenis noise, yaitu
Gausian-Speckle Noise, Speckle-Gaussian Noise, Gaussian Noise dan Speckle Noise. Gaussian-Speckle Noise adalah kombinasi yang memberikan noise Gaussian terlebih dahulu kepada citra kemudian dilanjutkan pada pemberian
Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada
diagram ishikawa Gambar3.1.
Gambar 3.1 Diagram Ishikawa
3.1.2. Analisis Kebutuhan Sistem
Analisis kebutuhan sistem ini meliputi analisis kebutuhan fungsional sistem dan
analisis non-fungsional sistem.
3.1.2.1. Kebutuhan Fungsional Sistem
Sistem analisis pengaruh noise terhadap deteksi tepi memiliki kebutuhan fungsional yaitu:
1. Masukan yang berupa citra yang memiliki format *.bmp dan merupakan
citra RGB.
2. Sistem dapat memberikan noise dengan nilai masing-masing yang ditentukan oleh nilai mean dan variance. Adapun noise yang digunakan adalah Gaussian Noise dan Speckle Noise.
3. Sistem melakukan proses pendeteksian tepi dengan 3 operator berbeda
3.1.2.2. Kebutuhan Non-Fungsional Sistem
Untuk membantu kinerja sistem secara lebih baik, terdapat kebutuhan non -fungsional sistem yaitu:
1. Tampilan antarmuka sistem dapat dimengerti oleh user atau pengguna sistem.
2. Efektifitas sistem yang dibangun dapat menyimpan citra hasil dan efisiensi
dapat terlihat dari sistem yang digunakan tidak memerlukan perangkat
tambahan atau perangkat pendukung lainnya yang dapat mengeluarkan
biaya tambahan.
3. Sistem yang nantinya telah dibuat dapat dikembangkan dengan mudah
sehingga sistem dapat tetap digunakan di masa yang akan datang.
3.1.3. Analisis Proses
Dalam sistem ini ada 2 proses dasar yaitu noising dan deteksi tepi. Noising adalah proses pemberian noise pada citra inputan dimana nilai noise yang diberikan bergantung pada nilai mean dan atau variance yang diberikan. Sedangkan proses
deteksi tepi dilakukan oleh 3 operator yaitu Marr-Hildreth, Laplacian Of Gausssian dan Prewitt. Selebihnya dilakukan perhitungan MSE, PSNR dan penyimpanan citra hasil.
3.1.3.1.Noising
Tahapan proses noising pada citra, yaitu:
1. Membaca citra inputan
2. Membaca nilai masukan mean dan atau variance
3. Memberi noise pada citra inputan
3.1.3.2. Deteksi Tepi Marr-Hildreth
Tahapan proses deteksi tepi citra menggunakan operator Marr-Hildreth, yaitu: 1. Mengubah citra RGB menjadi citra Grayscale
2. Melakukan konvolusi citra dengan Marr-Hildrethmask
3. Menghitung gradient magnitude
4. Memberikan nilai ambang (thresholding)
3.1.3.3. Deteksi Tepi Laplacian Of Gaussian
Tahapan proses deteksi tepi citra menggunakan operator LOG, yaitu:
1. Mengubah citra RGB menjadi citra Grayscale
2. Memanggil prosedur LOG
3.1.3.4. Deteksi Tepi Prewitt
Tahapan proses deteksi tepi citra menggunakan operator Marr-Hildreth, yaitu: 1. Mengubah citra RGB menjadi citra Grayscale
2. Melakukan konvolusi citra dengan Prewittmask
3. Menghitung gradient magnitude
4. Memberikan nilai ambang (thresholding)
3.2. Pemodelan
Pada penelitian mengenai analisis pengaruh noise terhadap deteksi tepi ini digunakan UML sebagai bahasa pemodelan yang berfungsi untuk membantu
merancang sistem tersebut. Model UML yang digunakan dalam penelitian ini
3.2.1. Use Case Diagram
Use Case diagram menggambarkan interaksi antara sistem dengan pelaku. Diagram ini mendeskripsikan siapa saja yang menggunakan sistem dan
bagaimana cara mereka berinteraksi dengan sistem. Use Case digambarkan hanya yang dilihat oleh aktor dan bukan bagaimana fungsi yang ada dalam sistem. Use case diagram bertujuan untuk menggambarkan bagaimana sistem terlihat bagi pengguna (user), sehingga pengguna sistem dapat mengerti mengenai kegunaan sistem yang akan dirancang. Use Case diagram pada sistem analisis pengaruh
noise terhadap deteksi tepi dapat dilihat pada Gambar 3.2.
Gambar 3.2 Use Case Diagram Sistem Analisis Pengaruh Noise Terhadap Deteksi Tepi
Pada sistem analisis pengaruh noise terhadap deteksi tepi ini terdapat aktor yang memiliki pilihan untuk:
a. memilih jenis noise dan dilanjutkan dengan melakukan deteksi tepi citra b. melihat deskripsi program
Dokumentasi naratif pada proses pilih noise yang terdapat dalam use case
Tabel 3.1 Dokumentasi Naratif Use Case Pilih Noise
Nama Use Case Pilih Noise
Aktor Pengguna
Deskripsi Use Case mendeskripsikan halaman utama yang dimulai dari pemilihan jenis noise dari Sistem Analisis Pengaruh Noise Terhadap Deteksi Tepi
Pre-Condition Ada di halaman utama
Typical course of event
Aksi Aktor Respon Sistem
Langkah 1: Memilih
jenis noise yang tersedia dalam 4 menu yaitu:
1. Gaussian
-SpeckleNoise
2. Speckle
-GaussianNoise
3. GaussianNoise
4. SpeckleNoise
Langkah 3: Menginput
citra dengan menekan
button “Browse”
Langkah 2: Sistem
menerima masukan dari
pilihan noise dan masuk ke masing-masing pilihan.
Langkah 4: Sistem
membaca file yang telah dimasukkan aktor.
Langkah 5: Menampilkan
Langkah 6: Melakukan
pemberian noise dengan memasukkan nilai mean
dan atau variance sesuai
dengan pilihan dan
menekan button
“Noising”
aktor.
Langkah 7: Sistem
melakukan proses noising
pada citra.
Langkah 8: Menampilkan
citra hasil noising.
Alternate course Aksi Aktor Respon Sistem
- -
Post Conditions Sistem selanjutnya melaksanakan tahapan deteksi tepi
Dokumentasi naratif pada proses deteksi tepi yang terdapat dalam use case
[image:44.595.140.519.85.472.2]diagram dilihat pada Tabel 3.2
Tabel 3.2 Dokumentasi Naratif Use Case Deteksi Tepi
Nama Use Case Deteksi Tepi
Aktor Pengguna
Deskripsi Use Case mendeskripsikan proses deteksi tepi citra dari Sistem Analisis Pengaruh Noise Terhadap
Deteksi Tepi
Typical course of event
Aksi Aktor Respon Sistem
Langkah 1: Melakukan
deteksi tepi dengan
menekan
masing-masing button operator deteksi tepi yaitu Marr-Hildreth, Laplacian Of Gaussian dan Prewitt.
Langkah 3: Melakukan
perhitungan MSE dan
PSNR, dengan
menekan button “MSE, PSNR”
Langkah 5:Menyimpan
citra hasil deteksi tepi
dengan menekan
button “save”
Langkah 2: Sistem
menampilkan citra hasil
deteksi tepi di
masing-masing axes.
Langkah 4: Menampilkan
nilai MSE dan nilai PSNR
Langkah 6: Sistem
menunjukkan direktori
penyimpanan citra hasil
deteksi tepi kemudian
menyimpannya.
Alternate course Aksi Aktor Respon Sistem
- -
Post Conditions Sistem siap melaksanakan tahapan deteksi tepi
Dokumentasi naratif pada proses deskripsi yang terdapat dalam use case diagram dilihat pada Tabel 3.3
Tabel 3.3 Dokumentasi Naratif Use Case Deskripsi
Nama Use Case Deskripsi
Aktor Pengguna
Deskripsi Use Case mendeskripsikan Sistem Analisis Pengaruh
Noise Terhadap Deteksi Tepi
Pre-Condition Memilih menu description
Typical course of event
Aksi Aktor Respon Sistem
Langkah 1: Memilih
menu “Description”
Langkah 2: Sistem
menampilkan halaman
“Description”
Alternate course Aksi Aktor Respon Sistem
- -
Post Conditions Sistem siap melaksanakan tahapan tentang aplikasi
3.2.2. Sequence Diagram
Sequence diagram menunjukkan interaksi antara sejumlah object dalam urutan waktu. Diagram ini berfungsi untuk menunjukkan rangkaian pesan yang dikirim
Gambar 3.3 Sequence Diagram Tahap Awal Deteksi Tepi Citra
3.2.3. Activity Diagram
Activity diagram mengilustrasikan proses dan urutan aktivitas dalam sebuah proses. Activity diagram bertujuan untuk membantu memahami keseluruhan proses dan menggambarkan interaksi antara beberapa use case. Pada umumnya,
activity diagram digunakan sebagai model arus kerja dari suatu sistem. Activity
3.3. Pseudocode
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 Noising
Pseudocode gaussiannoise:
No. Pseudocode
1 citra_asli ← imread(fullfile(nama_path, nama_file))
2 mean ← get str2num
3 variance ← get str2num
4 citra_gaussian ← imnoise (citra_asli, mean, variance)
Keterangan:
1. Membaca inputan citra.
2. Membaca inputan nilai mean.
3. Membaca inputan nilai variance.
4. Proses noising gaussian.
Pseudocode specklenoise:
No. Pseudocode
1 citra_asli ← imread(fullfile(nama_path, nama_file))
2 variance ← get str2num
3 citra_speckle ← imnoise (citra_asli, variance)
Keterangan:
2. Membaca inputan nilai variance. 3. Proses noising speckle.
3.3.2. Pseudocode Operator Marr-Hildreth No. Pseudocode
1 citra_asli ← imread(citra_noise) 2 Citra ← grayscale (citra_asli)
3 kernel ← deklarasi kernel generate kernel(n,θ) {Kernel Gaussian atau kernel LoG}
4 Citra_halus ← konvolusi(citra,kernel)
5 if kernel Gaussian then
Definisi Laplacian operator laplacian
Citra_laplacian ← konvolusi(citra,laplacian) 6 else
Citra_laplacian ← citra_halus end if
7 maxL ← 0
for all pixel i pada citra citra_laplacian do if citra_laplacian[i] > maxL then
maxL citra_laplacian[i] end if
end for
8 for all pixel i pada citra citra_laplacian, kecuali tepi do
for semua pasangan (xp; yp) dari pasangan berlawanan p di citra_laplacian do
if (sign(citra_laplacian[xp]) ≠ sign(citra_laplacian[yp])) and (|citra_laplacian[xp] - citra_laplacian[yp]| > thZC) then
Citra_hasil [i] 255 else
Citra_hasil [i] 0 end if
end for end for
9 return output image ← Citra_hasil
Keterangan:
1. Membaca inputan citra yang sudah diberi noise.
2. Melakukan grayscale pada citra inputan.
3. Deklarasi kernel (Gaussian atau LOG kernel). 4. Buat citra temporari untuk konvolusi kernel.
5. Jika menggunakan kernel Gaussian lakukan proses konvolusi citra_laplacian.
7. Menentukan arah tepian.
8. Proses Thresholding
9. Citra hasil.
3.3.3. Pseudocode Operator Laplacian Of Gaussian
Keterangan:
1. Membaca inputan citra yang sudah diberi noise.
2. Melakukan grayscale pada citra inputan.
3. Proses deteksi tepi LOG.
3.3.4. Pseudocode Operator Prewitt No. Pseudocode
1 citra_asli ← imread(citra_noise) 2 citra ← grayscale (citra_asli)
3 Definisi operator_x dan operator_y Prewitt
gx ← konvolusi(citra,operator_x) gy ← konvolusi(citra,operator_y)
4 maxM ← 0
for all pixel i di citra do M[i] ← d
If M[i] > maxM then maxM ← M[i] end if
end for
5 for all pixel i di citra do
if M[i] ≥ th x maxM then Citra_hasil [i] ← 255 else
Citra_hasil [i] ← 0 end if
end for
6 return output image ← Citra_hasil
No. Pseudocode
Keterangan:
1. Membaca inputan citra yang sudah diberi noise.
2. Melakukan grayscale pada citra inputan.
3. Melakukan proses konvolusi citra.
4. Melakukan proses gradient magnitude.
5. Memberikan nilai threshold dan melakukan thresholding
6. Output citra hasil.
3.3.5. Pseudocode Menghitung Nilai MSE
No. Pseudocode
1 mse ← (double(citraAsli) - double(CitraHasil)) .^ 2
2 [x y] ← size(CitraHasil)
3 mseVal ← sum(mse(:)) / (x * y)
Keterangan:
1. Deklarasi rumus MSE.
2. Deklarasi ukuran matrix citra hasil.
3. Hitung nilai MSE.
3.3.6. Pseudocode Menghitung Nilai PSNR
No. Pseudocode
1 psnrVal ← 10 * log10( 255^2 / mseVal)
2 MSE ← mse
Keterangan:
1. Hitung nilai PSNR.
3.4. Perancangan Sistem
3.4.1. Perancangan Flowchart Sistem
[image:53.595.168.532.192.707.2]Flowchart gambaran umum sistem analisis pengaruh noise pada citra terhadap kinerja metode deteksi tepi.
Flowchart pada Gambar 3.5 menjelaskan alur utama dari sistem. Sistem akan memerlukan inputan citra yang berformat bitmap atau *.bmp oleh user.
Setelah itu user akan memilih jenis noise yang diinginkan dan berlanjut pada proses noising. Setelah noising maka akan ditampilkan citra yang sudah diberikan
noise sesuai pilihan noise. Selanjutnya proses beralih ke deteksi tepi dimana citra hasil noising akan dideteksi tepi dan berlanjut pada proses analisis. Berikut sub
[image:54.595.256.400.240.573.2]flowchart untuk deteksi tepi.
Gambar 3.6 Proses Deteksi Tepi
Flowchart pada Gambar 3.6 menjelaskan alur sub sistem pada deteksi tepi. Mengambil citra hasil noising kemudian melakukan proses pendeteksi tepian
Gaussian dan Prewitt. Selanjutnya masing-masing akan menampilkan citra hasil
deteksi tepi.
Tahap selanjutnya adalah proses analisis dengan sub flowchart sebagai berikut:
Flowchart pada Gambar 3.7 menjelaskan alur sub sistem pada analisis, dimana dilakukan perhitungan nilai MSE dan PSNR tiap-tiap citra hasil deteksi
tepi dan menampilkannya.
3.4.2. Perancangan Antarmuka (Interface)
Sistem analisis pengaruh noise terhadap deteksi tepi ini dirancang dengan menggunakan bahasa pemrograman MATLAB 7.5.0 (R2007b). Perancangan antarmuka atau interface ini bertujuan untuk memudahkan interaksi antara manusia dengan komputer sehingga manusia dapat menggunakan sistem dengan
baik dan mudah untuk digunakan.
3.4.2.1. FormHome
Form Home merupakan tampilan utama dalam sistem analisis pengaruh noise
terhadap deteksi tepi ini. Berikut merupakan tampilan form home dapat dilihat pada Gambar 3.8
[image:56.595.150.478.478.711.2]
Gambar 3.8 Form Home
9 8 7
6 5
4 3 2
Keterangan:
1. Menu untuk deskripsi system.
2. Judul aplikasi.
3. Tampil logo Fasilkom-TI USU.
4. Tampil pembuat program dengan identitas nama dan nim.
5. Tombol untuk pilihan noiseGaussian-SpeckleNoise.
6. Tombol untuk pilihan noiseSpeckle-GaussianNoise.
7. Tombol untuk pilihan noiseGaussianNoise.
8. Tombol untuk pilihan noiseSpeckleNoise.
9. Tombol exit.
3.4.2.2. Form Deskripsi
Form Deskripsi merupakan tampilan untuk deskripsi program sistem analisis pengaruh noise terhadap deteksi tepi ini. Berikut merupakan tampilan form
[image:57.595.118.516.424.699.2]deskripsidapat dilihat pada Gambar 3.9
3.4.2.3. Form Gaussian-Speckle Noise
Form Gaussian-Speckle Noise merupakan tampilan untuk pilihan kombinasi
gaussian dan speckle noise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Berikut merupakan tampilan form Gaussian-Speckle Noise dapat dilihat pada Gambar 3.10
Gambar 3.10 Form Gaussian-Speckle Noise
Keterangan:
1. Tombol browse, berfungsi untuk mencari inputan citra.
2. Axes_browse, berfungsi untuk menampilkan citra inputan.
3. Proses gaussian noise, dimana user akan memberikan nilai mean dan variance dan kemudian melakukan noising dengan tombol Noising.
4. Proses speckle noise, dimana user akan memberikan nilai variance dan kemudian melakukan noising dengan tombol Noising.
5. Axes_GSN, berfungsi untuk menampilkan citra hasil noise.
6. Axes_histoAsli, berfungsi untuk menampilkan histogram citra asli atau
citra inputan.
[image:58.595.124.510.215.426.2]8. Axes_LOG1, berfungsi untuk menampilkan citra hasil deteksi tepi
Laplacian Of Gaussian.
9. Axes_P1, berfungsi untuk menampilkan citra hasil deteksi tepi Prewitt. 10.Proses deteksi tepi Marr-Hildreth, dilengkapi dengan tombol MSE, PSNR
dan Save.
11.Proses deteksi tepi Laplacian Of Gaussian, dilengkapi dengan tombol MSE, PSNR dan Save.
12.Proses deteksi tepi Prewitt, dilengkapi dengan tombol MSE, PSNR dan Save.
13.Axes_histoMH, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Marr-Hildreth.
14.Axes_histoLOG, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Laplacian Of Gaussian.
15.Axes_histoP, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Prewitt.
3.4.2.4. Form Speckle-Gaussian Noise
Form Speckle-Gaussian Noise merupakan tampilan untuk pilihan kombinasi
Gambar 3.11 Form Speckle-Gaussian Noise
Keterangan:
1. Tombol browse, berfungsi untuk mencari inputan citra.
2. Axes_browse, berfungsi untuk menampilkan citra inputan.
3. Proses speckle noise, dimana user akan memberikan nilai variance dan kemudian melakukan noising dengan tombol Noising.
4. Proses gaussian noise, dimana user akan memberikan nilai mean dan variance dan kemudian melakukan noising dengan tombol Noising.
5. Axes_SGN, berfungsi untuk menampilkan citra hasil noise.
6. Axes_histoAsli, berfungsi untuk menampilkan histogram citra asli atau
citra inputan.
7. Axes_MH2, berfungsi untuk menampilkan citra hasil deteksi tepi Marr-Hildreth
8. Axes_LOG2, berfungsi untuk menampilkan citra hasil deteksi tepi
Laplacian Of Gaussian.
9. Axes_P2, berfungsi untuk menampilkan citra hasil deteksi tepi Prewitt. 10.Proses deteksi tepi Marr-Hildreth, dilengkapi dengan tombol MSE, PSNR
[image:60.595.126.511.118.331.2]11.Proses deteksi tepi Laplacian Of Gaussian, dilengkapi dengan tombol MSE, PSNR dan Save.
12.Proses deteksi tepi Prewitt, dilengkapi dengan tombol MSE, PSNR dan Save.
13.Axes_histoMH, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Marr-Hildreth.
14.Axes_histoLOG, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Laplacian Of Gaussian.
15.Axes_histoP, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Prewitt.
3.4.2.5. Form Gaussian Noise
Form Gaussian Noise merupakan tampilan untuk pilihan gaussian noise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Berikut merupakan tampilan form Gaussian Noise dapat dilihat pada Gambar 3.12
[image:61.595.121.513.447.669.2]
Keterangan:
1. Tombol browse, berfungsi untuk mencari inputan citra.
2. Axes_browse, berfungsi untuk menampilkan citra inputan.
3. Proses gaussian noise, dimana user akan memberikan nilai mean dan variance dan kemudian melakukan noising dengan tombol Noising.
4. Axes_GN, berfungsi untuk menampilkan citra hasil noise.
5. Axes_histoAsli, berfungsi untuk menampilkan histogram citra asli atau
citra inputan.
6. Axes_MH3, berfungsi untuk menampilkan citra hasil deteksi tepi Marr-Hildreth
7. Axes_LOG3, berfungsi untuk menampilkan citra hasil deteksi tepi
Laplacian Of Gaussian.
8. Axes_P3, berfungsi untuk menampilkan citra hasil deteksi tepi Prewitt. 9. Proses deteksi tepi Marr-Hildreth, dilengkapi dengan tombol MSE, PSNR
dan Save.
10.Proses deteksi tepi Laplacian Of Gaussian, dilengkapi dengan tombol MSE, PSNR dan Save.
11.Proses deteksi tepi Prewitt, dilengkapi dengan tombol MSE, PSNR dan Save.
12.Axes_histoMH, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Marr-Hildreth.
13.Axes_histoLOG, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Laplacian Of Gaussian.
14.Axes_histoP, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Prewitt.
3.4.2.6. Form Speckle Noise
Form Speckle Noise merupakan tampilan untuk pilihan specklenoise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Berikut merupakan tampilan
form Speckle-Gaussian Noise dapat dilihat pada Gambar 3.13
Gambar 3.13 Form Speckle Noise
Keterangan:
1. Tombol browse, berfungsi untuk mencari inputan citra.
2. Axes_browse, berfungsi untuk menampilkan citra inputan.
3. Proses speckle noise, dimana user akan memberikan nilai variance dan kemudian melakukan noising dengan tombol Noising.
4. Axes_SN, berfungsi untuk menampilkan citra hasil noise.
5. Axes_histoAsli, berfungsi untuk menampilkan histogram citra asli atau
citra inputan.
6. Axes_MH4, berfungsi untuk menampilkan citra hasil deteksi tepi Marr-Hildreth
7. Axes_LOG4, berfungsi untuk menampilkan citra hasil deteksi tepi
[image:63.595.116.503.200.417.2]8. Axes_P4, berfungsi untuk menampilkan citra hasil deteksi tepi Prewitt. 9. Proses deteksi tepi Marr-Hildreth, dilengkapi dengan tombol MSE, PSNR
dan Save.
10.Proses deteksi tepi Laplacian Of Gaussian, dilengkapi dengan tombol MSE, PSNR dan Save.
11.Proses deteksi tepi Prewitt, dilengkapi dengan tombol MSE, PSNR dan Save.
12.Axes_histoMH, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Marr-Hildreth.
13.Axes_histoLOG, berfungsi untuk menampilkan histogram citra hasil dari
deteksi tepi Laplacian