Analisis Pengaruh Kombinasi Gaussian Noise dan Speckle Noise pada Citra Terhadap Kinerja Metode Deteksi Tepi

(1)

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


(2)

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

MEDAN

2014


(3)

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 Ketua,


(4)

PERNYATAAN

ANALISIS PENGARUH KOMBINASI GAUSSIAN NOISE DAN SPECKLE NOISE 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 091401010


(5)

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.


(6)

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,


(7)

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.

Katakunci: deteksi tepi, Marr-Hildreth, Laplacian of Gaussian, Prewitt, Gaussian noise, Speckle noise.


(8)

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.

Keyword: edge detection, Marr-Hildreth, Laplacian of Gaussian, Prewitt, Gaussian noise, Speckle noise.


(9)

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.1.3.2 Deteksi Tepi Marr-Hildreth 26 3.1.3.3 Deteksi Tepi Laplacian Of Gaussian 26


(10)

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


(11)

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 Gambar 3.13 Form Speckle Noise 48


(12)

Gambar 4.4 Form simulasi Gaussian-Speckle Noise 52

Gambar 4.5 Form Speckle-Gaussian Noise 53

Gambar 4.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 Form Gaussian-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


(13)

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-Speckle Noise 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- Gaussian Noise

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 Gaussian Noise

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 Speckle Noise 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


(14)

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.

Katakunci: deteksi tepi, Marr-Hildreth, Laplacian of Gaussian, Prewitt, Gaussian noise, Speckle noise.


(15)

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.

Keyword: edge detection, Marr-Hildreth, Laplacian of Gaussian, Prewitt, Gaussian noise, Speckle noise.


(16)

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 titik-titik di sekitar citra berubah karena adanya gangguan misalnya terjadi noise, apakah akan berpengaruh terhadap proses pendeteksian suatu citra?


(17)

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).

5. Pengujian pada sistem dilakukan dengan nilai mean dan variance berkisar pada rentang 0 sampai 1 di setiap jenis noise.


(18)

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 citra, Gaussian noise dan Speckle noise , deteksi tepi dengan operator The Marr-Hildreth, operator Laplacian of Gaussian,


(19)

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 lebih lanjut.


(20)

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 (column), sample Sumbu y (vertikal) : baris (row,line).


(21)

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


(22)

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 kombinasi dari tiga warna dasar yaitu merah, hijau dan biru yang dikenal


(23)

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.


(24)

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 menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki


(25)

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 persentase noise[13].


(26)

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 gaussian noise:

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

Speckle Noise merupakan model noise yang memberikan tanda berwarna hitam pada bagian yang berupa titik yang terkena noise. Noise ini muncul pada saat pengambilan citra tidak sempurna karena alasan cuaca, perangkat pengambil citra


(27)

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 speckle noise:

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 tersebut, bentuk, dan ukurannya serta terkadang juga informasi tentang teksturnya.


(28)

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  α


(29)

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.


(30)

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 operator Marr-Hildreth.


(31)

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)           

eth k tepi. noise erator volusi noise. erator fungsi rtama. polasi uram. angan ngkan eviasi      


(32)

Representasi turunan kedua dalam bentuk kernel operator Laplacian diperlihatkan pada Gambar 2.15.

‐1 

 ‐1  ‐1 

 0  ‐1 

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 sebagai fungsi untuk membangkitkan HPF (High Pass Filter).


(33)

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 berikut ini:


(34)

(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 pada Gambar 2.19.


(35)

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


(36)

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 x[i,j] = adalah citra asal dengan dimensi M x N


(37)

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


(38)

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

speckle noise. Begitu juga Speckle-Gaussian Noise dengan urutan yang berbeda. Sedangkan lainnya dilakukan satu per satu.


(39)

Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada diagram ishikawa Gambar 3.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 yaitu Marr-Hildreth, Laplacian Of Gaussian dan Prewitt.


(40)

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


(41)

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-Hildreth mask 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 Prewitt mask 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 yaitu use case diagram, sequence diagram, dan activity digaram.


(42)

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 diagram dilihat pada Tabel 3.1


(43)

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-Speckle Noise

2.

Speckle-Gaussian Noise

3. Gaussian Noise

4. Speckle Noise

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 file yang telah dimasukkan


(44)

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 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


(45)

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


(46)

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 antara object juga interaksi antar object yang terjadi. Sequence diagram pada sistem analisis pengaruh noise terhadap deteksi tepi dapat dilihat pada Gambar 3.3.


(47)

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

diagram pada sistem analisis pengaruh noise terhadap deteksi tepi dapat dilihat pada Gambar 3.4


(48)

Gambar 3.4 Activity Diagram Pada Sistem Analisis Pengaruh Noise Terhadap Deteksi Tepi


(49)

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 gaussian noise:

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 speckle noise:

No. Pseudocode

1 citra_asli ← imread(fullfile(nama_path, nama_file)) 2 variance ← get str2num

3 citra_speckle ← imnoise (citra_asli, variance)  

Keterangan:


(50)

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.


(51)

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

1 citra_asli ← imread(citra_noise) 2 citra_LOG ← grayscale (citra_asli) 4 citra_LOG ← edge(gray,'log')


(52)

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.


(53)

3.4. Perancangan Sistem

3.4.1. Perancangan Flowchart Sistem

Flowchart gambaran umum sistem analisis pengaruh noise pada citra terhadap kinerja metode deteksi tepi.


(54)

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 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 dengan tiga operator deteksi tepi yaitu operator The Marr-Hildreth, Laplacian Of


(55)

Gaussian dan Prewitt. Selanjutnya masing-masing akan menampilkan citra hasil deteksi tepi.

Tahap selanjutnya adalah proses analisis dengan sub flowchart sebagai berikut:

 

Gambar 3.7Proses Analisis dari Sistem Analisis Pengaruh Noise Pada Citra Terhadap Kinerja Metode Deteksi Tepi.


(56)

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

  Gambar 3.8 Form Home

9 8 7

6 5

4

3 2


(57)

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 noise Gaussian-Speckle Noise. 6. Tombol untuk pilihan noise Speckle-Gaussian Noise. 7. Tombol untuk pilihan noise Gaussian Noise.

8. Tombol untuk pilihan noise Speckle Noise. 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 deskripsi dapat dilihat pada Gambar 3.9


(58)

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.

7. Axes_MH1, berfungsi untuk menampilkan citra hasil deteksi tepi Marr-Hildreth


(59)

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 speckle dan gaussian noise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Berikut merupakan tampilan form Speckle-Gaussian Noise dapat dilihat pada Gambar 3.11


(60)

        

 

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


(61)

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

    

       


(62)

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.

           


(63)

3.4.2.6. Form Speckle Noise

Form Speckle Noise merupakan tampilan untuk pilihan speckle noise 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 Laplacian Of Gaussian.


(64)

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 Of Gaussian.

14.Axes_histoP, berfungsi untuk menampilkan histogram citra hasil dari deteksi tepi Prewitt.


(65)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Sistem analisis pengaruh noise terhadap deteksi tepi ini dibangun dengan menggunakan bahasa pemrograman MATLAB 7.5.0 (R2007b). Pada sistem ini terdapat 6 form yang digunakan yang mana terdiri dari form home, form deskripsi, form Gaussian-Speckle Noise, form speckle-gaussian noise, form gaussian noise dan form speckle noise.

4.1.1. FormHome

Form Home merupakan tampilan utama dalam sistem analisis pengaruh noise terhadap deteksi tepi ini. Pada form ini terdapat keterangan judul skripsi, nama dan nim penulis skripsi, serta menu sistem yang membantu user (pengguna) menggunakan sistem ini. Menu sistem itu adalah deskripsi program ini. Selain itu juga terdapat tombol-tombol pilihan noise. Berikut ini tampilan dari form home.


(66)

4.1.2. Form Deskripsi

Form deskripsi ini merupakan form yang berisi penjelasan dari sistem ini.

Tampilan form deskripsi dapat dilihat pada Gambar 4.2.

Gambar 4.2. Form Deskripsi

4.1.3. Form Gaussian-Speckle Noise

Form Gaussian-Speckle Noise ini merupakan tampilan untuk pilihan kombinasi gaussian dan speckle noise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Dimana citra dimasukkan dengan tombol browse dan kemudian dilakukan proses noising terhadap citra dengan memberikan gaussian noise terlebih dahulu kemudian citra yang sudah ada noise Gaussian diberikan lagi noise speckle. Maka didapat citra dengan kombinasi citra gaussian dan speckle noise. Proses selanjutnya adalah deteksi tepi dengan 3 operator yaitu Marr-Hildreth, Laplacian Of Gaussian dan Prewitt. Kemudian dilakukan perhitungan MSE dan PSNR.


(67)

Berikut merupakan tampilan form Gaussian-Speckle Noise dapat dilihat pada Gambar 4.3 dan simulasinya pada Gambar 4.4.

.

Gambar 4.3. FormGaussian-Speckle Noise


(68)

4.1.4. Form Speckle-Gaussian Noise

Sama halnya dengan Gaussian-Speckle Noise, hanya saja urutan kombinasinya dibalik. Form Speckle-Gaussian Noise ini merupakan tampilan untuk pilihan kombinasi speckle dan gaussian noise pada sistem analisis pengaruh noise terhadap deteksi tepi ini. Dimana citra dimasukkan dengan tombol browse dan kemudian dilakukan proses noising terhadap citra dengan memberikan speckle noise terlebih dahulu kemudian citra yang sudah ada noise speckle diberikan lagi noise gaussian. Maka didapat citra dengan kombinasi citra speckle dan gaussian

noise. Tahap proses selanjutnya sama dengan Gaussian-Speckle Noise

sebelumnya. Berikut merupakan tampilan form Speckle-Gaussian Noise dapat dilihat pada Gambar 4.5 dan simulasinya pada Gambar 4.6.


(69)

Gambar 4.6. Form simulasi Speckle-Gaussian Noise

4.1.5. Form Gaussian Noise

Pada form Gaussian Noise ini hanya memberikan gaussian noise pada citra inputan. Dimana citra dimasukkan dengan tombol browse dan kemudian dilakukan proses noising terhadap citra dengan memberikan noise gaussian. Maka didapat citra gaussian noise. Proses selanjutnya adalah deteksi tepi dengan 3 operator yaitu Marr-Hildreth, Laplacian Of Gaussian dan Prewitt. Kemudian dilakukan perhitungan MSE dan PSNR. Berikut merupakan tampilan form Gaussian Noise dapat dilihat pada Gambar 4.7 dan simulasinya pada Gambar 4.8.


(70)

Gambar 4.7. Form Gaussian Noise


(71)

4.1.6. Form Speckle Noise

Pada form Speckle Noise ini hanya memberikan speckle noise pada citra inputan. Dimana citra dimasukkan dengan tombol browse dan kemudian dilakukan proses noising terhadap citra dengan memberikan noise speckle. Maka didapat citra speckle noise. Proses selanjutnya adalah deteksi tepi dengan 3 operator yaitu Marr-Hildreth, Laplacian Of Gaussian dan Prewitt. Kemudian dilakukan perhitungan MSE dan PSNR. Berikut merupakan tampilan form Speckle Noise dapat dilihat pada Gambar 4.9 dan simulasinya pada Gambar 4.10.


(72)

Gambar 4.10. Form Simulasi Speckle Noise

4.2. Pengujian

Pengujian sistem akan dilakukan untuk mengetahui apakah ada pengaruh noise terhadap kinerja metode deteksi tepi dan seberapa besar nilai mean dan variance pada tiap-tiap jenis noise yang dapat mempengaruhinya. Pengujian dilakukan pada citra berformat *.bmp (bitmap). Pengujian dibedakan pada tiap-tiap jenis noise.

4.2.1. Pengujian Gaussian-Speckle Noise

Ketika aplikasi dijalankan, maka dipilih tombol Gaussian-Speckle Noise pada form home. Maka sistem akan masuk pada form Gaussian-Speckle Noise. Selanjutnya input citra dengan tombol browse dan sistem otomatis hanya akan menerima citra dengan format .bmp. Proses tersebut dapat dilihat pada Gambar 4.11 dan 4.12.


(73)

Gambar 4.11. Pilih Tombol Gaussian-Speckle Noise

 

Gambar 4.12. Browse Citra .bmp Pada FormGaussian-Speckle Noise

Berikutnya dilakukan proses noising atau pemberian noise pada citra inputan. Sebagai contoh, pada gaussian noise diberikan parameter dengan nilai mean 0.01 dan variance 0.01. Pada speckle noise parameter variance bernilai 0.01 juga. Maka hasilnya dapat dilihat pada Gambar 4.13.


(74)

Gambar 4.13. Tampilan Proses Noising dan Deteksi Tepi Pada Form Gaussian-Speckle Noise

Dari gambar di atas, maka diperoleh nilai MSE dan PSNR masing-masing operator deteksi tepi sebagai berikut.

Tabel 4.1 Perbandingan nilai MSE dan PSNR masing-masing operator deteksi tepi

Marr-Hildreth Laplacian Of Gaussian Prewitt

MSE PSNR MSE PSNR MSE PSNR

0.0108643 67.7708 0.0145721 0.474826 0.00862122 0.474379

Untuk melihat seberapa besar pengaruh noise pada Gaussian-Speckle Noise ini, dilakukan sampel dengan beberapa pengujian dengan nilai mean dan variance berkala mulai dari 0 hingga 1. Sesuai dengan batasan masalah, bilangan ini diambil karena jika nilai mean maupun variance yang melebihi angka 1 maka citra sudah tidak dapat lagi diidentifikasi dalam proses deteksi tepi. M mempresentasikan mean dan V mempresentasikan variance. MH untuk


(75)

Marr-Ci

Hildreth, pada citra

Tabel

itra *.bmp

LOG untuk ‘snail.bmp

l 4.2 Perban

Gaussia

M

0 0

0.01 0

0.05 0

0.1 0

0.5 0

k Laplacian

’. Hasilnya

ndingan sa

an Spec

V V

0

.01 0.01

.05 0.05

.1 0.1

.5 0.5

n Of Gaus seperti tabe

ampel pada

ckle

V

ssian dan P el berikut.

a simulasi G

MH

P untuk Pre

Gaussian-Sp

LOG

ewitt. Dilak

peckle Nois kukan

se


(1)

citraAsli=rgb2gray(getimage(handles.axes_browse)); CitraHasil = double(getimage(handles.axes_LOG4)); [a b ]=size(citraAsli)

[c d]=size(CitraHasil)

[psnrval mseval] = MSE_PSNR(citraAsli,CitraHasil); set(handles.edit_PSNR2,'String',psnrval);

function edit_MSE2_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.

function edit_MSE2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit_PSNR2_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.

function edit_PSNR2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in btn_MSE3.

function btn_MSE3_Callback(hObject, eventdata, handles) citraAsli=rgb2gray(getimage(handles.axes_browse)); citraAsli=double(edge(citraAsli,'prewitt'));

CitraHasil = double(getimage(handles.axes_P4)); [a b ]=size(citraAsli)

[c d]=size(CitraHasil)

[psnrval mseval] = MSE_PSNR(citraAsli,CitraHasil); set(handles.edit_MSE3,'String',mseval);

% --- Executes on button press in btn_PSNR3.

function btn_PSNR3_Callback(hObject, eventdata, handles) citraAsli=rgb2gray(getimage(handles.axes_browse));

CitraHasil = double(getimage(handles.axes_P4)); [a b ]=size(citraAsli)

[c d]=size(CitraHasil)

[psnrval mseval] = MSE_PSNR(citraAsli,CitraHasil); set(handles.edit_PSNR3,'String',psnrval);

function edit_MSE3_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.

function edit_MSE3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit_PSNR3_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.


(2)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in btn_save1.

function btn_save1_Callback(hObject, eventdata, handles) [filename,pathname] = uiputfile(...

{'*.bmp;*','File Image (*.bmp)';'*.*','All File (*.*)'},'Save Image');

NamaFile = strcat(pathname,'\',filename) [a a]=size(NamaFile)

if (a~=1)

axes(handles.axes_MH4);

Citra = getimage(handles.axes_MH4); imwrite(Citra,filename);

else

return

end

% --- Executes on button press in btn_save2.

function btn_save2_Callback(hObject, eventdata, handles) [filename,pathname] = uiputfile(...

{'*.bmp;*','File Image (*.bmp)';'*.*','All File (*.*)'},'Save Image');

NamaFile = strcat(pathname,'\',filename) [a a]=size(NamaFile)

if (a~=1)

axes(handles.axes_LOG4);

Citra = getimage(handles.axes_LOG4); imwrite(Citra,filename);

else

return

end

% --- Executes on button press in btn_save3.

function btn_save3_Callback(hObject, eventdata, handles) [filename,pathname] = uiputfile(...

{'*.bmp;*','File Image (*.bmp)';'*.*','All File (*.*)'},'Save Image');

NamaFile = strcat(pathname,'\',filename) [a a]=size(NamaFile)

if (a~=1)

axes(handles.axes_P4);

Citra = getimage(handles.axes_P4); imwrite(Citra,filename);

else

return

end

% --- Executes on button press in btn_browse.

function btn_browse_Callback(hObject, eventdata, handles)

[nama_file,nama_path] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Buka File Citra');

if ~isequal(nama_file,0)

handles.citra=imread(fullfile(nama_path,nama_file)); guidata(hObject,handles);

axes(handles.axes_browse); imshow(handles.citra); axes(handles.axes_browse);


(3)

imshow(handles.citra);

axes(handles.axes_histoAsli); imhist(handles.citra(:,:,1)); imhist(handles.citra(:,:,2)); imhist(handles.citra(:,:,3));

else return;

end;

function edit_varianceS_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties.

function edit_varianceS_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in btn_noisingS.

function btn_noisingS_Callback(hObject, eventdata, handles) vg = length(get(handles.edit_varianceS, 'String'));

if (vg == 0)

h = msgbox('Variance harus diinput!');

else

citra_asli=handles.citra;

variance=str2num(get(handles.edit_varianceS,'String')); citra_speckle = imnoise(citra_asli,'speckle',variance); axes(handles.axes_SN);

imshow(citra_speckle);

handles.citra2=citra_speckle; guidata(hObject,handles);

end

%

-function backmenu_Callback(hObject, eventdata, handles) AiSoftware

close SpeckleNoise;

% --- Executes on button press in btn_ED_MH.

function btn_ED_MH_Callback(hObject, eventdata, handles) citra_asli=handles.citra2;

mh_output=deteksiMarrHil(citra_asli); axes(handles.axes_MH4);

imshow(mh_output);

citraGray = rgb2gray(handles.citra2); citrahistoMH = edge(citraGray,'marr'); axes(handles.axes_histoMH);

imhist(citrahistoMH);

% --- Executes on button press in btn_ED_LOG.

function btn_ED_LOG_Callback(hObject, eventdata, handles) citra_asli=handles.citra2;

gray=rgb2gray(citra_asli); ED_LOG=edge(gray,'log'); axes(handles.axes_LOG4); imshow(ED_LOG);

citraGray = rgb2gray(handles.citra2); citrahistoLOG = edge(citraGray,'log'); axes(handles.axes_histoLOG);


(4)

% --- Executes on button press in btn_ED_P.

function btn_ED_P_Callback(hObject, eventdata, handles) citra_asli=handles.citra2;

citraP=rgb2gray(citra_asli); [x y]=size(citraP);

%Prewitt

H1 = [-1 0 1; -1 0 1; -1 0 1]; H2 = [-1 -1 -1; 0 0 0; 1 1 1]; fx = conv2(citraP,double(H1)); fy = conv2(citraP,double(H2)); %Arah Tepian

[x,y]=size(fx); count=0; avg=0; for i=1:1:x for j=1:1:y

output(i,j)=sqrt(fx(i,j)*fx(i,j)+fy(i,j)*fy(i,j)); count=count+output(i,j);

end

end

avg=4*count/(x*y); for i=1:1:x

for j=1:1:y

if output(i,j)<avg output(i,j)=0; else output(i,j)=255; end

end

end

prewitt_output=edge(citraP,'prewitt'); axes(handles.axes_P4);

imshow(prewitt_output);

citraGray = rgb2gray(handles.citra2); citrahistoP = edge(citraGray,'prewitt'); axes(handles.axes_histoP);

imhist(citrahistoP);

deteksiMarrHil.m

function hasil=deteksiMarrHil(citra_asli); citraMH=rgb2gray(citra_asli);

[x y]=size(citraMH); mh_output=zeros(x,y); %MarrHildreth sigma=2;

m=ceil(sigma*3)*2+1;

h=fspecial('log',m,sigma); h=h-sum(h(:))/(m^2);

diff2=zeros(x,y); dt=ceil((m-1)/2); for i=1:x


(5)

for j=1:y for k=1:m for l=1:m

xp=i-k+1+dt; yp=j-l+1+dt;

if((xp>=1)&&(xp<=x)&&(yp>=1)&&(yp<=y)) diff2(i,j)=diff2(i,j)+h(k,l)*double(citraMH(xp,yp)); end

end

end

end

end

th=0.75*mean2(abs(diff2(2:x-1,2:y-1))); for i=2:x-1

for j=2:y-1

if(diff2(i,j)<0)

if ((diff2(i,j-1)>0)&&(diff2(i,j-1)-diff2(i,j)>th)) mh_output(i,j)=1; end

if ((diff2(i,j+1)>0)&&(diff2(i,j+1)-diff2(i,j)>th)) mh_output(i,j)=1; end

if ((diff2(i-1,j)>0)&&(diff2(i-1,j)-diff2(i,j)>th)) mh_output(i,j)=1; end

if ((diff2(i+1,j)>0)&&(diff2(i+1,j)-diff2(i,j)>th)) mh_output(i,j)=1; end

elseif(diff2(i,j)==0) if

((diff2(i,j-1)<0)&&(diff2(i,j+1)>0)&&(diff2(i,j+1)-diff2(i,j-1)>2*th)) mh_output(i,j)=1; end

if

((diff2(i,j-1)>0)&&(diff2(i,j+1)<0)&&(diff2(i,j-1)-diff2(i,j+1)>2*th)) mh_output(i,j)=1; end

if

((diff2(i-1,j)<0)&&(diff2(i+1,j)>0)&&(diff2(i+1,j)-diff2(i-1,j)>2*th)) mh_output(i,j)=1; end

if ((diff2(i-1,j)>0)&&(diff2(i+1,j)<0)&&(diff2(i-1,j)-diff2(i+1,j)>2*th)) mh_output(i,j)=1; end

end

end

end

hasil=mh_output;

end

CURRICULUM VITAE

Nama

:

Nur

Ainun

Alamat

: Jl. Pusaka No.921, Pasar XI Tembung, Medan, 20371.

Telp/Hp :

085760933254

Email

:

[email protected]


(6)

2009-2013

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2006-2009

: MAN 1 Medan

2003-2006

: MTsN 2 Medan

1997-2003

: SD Pahlawan Nasional, Medan

Riwayat Organisasi

Periode Nama

Organisasi

Lingkup Jabatan

2005 - 2006 OSIS Mtsn 2 Medan

Sekolah

Anggota Dept. Agama

2007 - 2009 Tarung Derajat Satlat

MAN 1 Medan

Sekolah Sekretaris

2007 - 2008 OSIS MAN 1 Medan

Sekolah

Sekretaris Ketua II

2008 - 2009 OSIS MAN 1 Medan

Sekolah

Ketua II

2009 - 2011 BKM

Al-Khuwarizmi Program

Studi

Anggota Biro Administrasi.

Sekretaris Bidang Syiar

2010 - 2011 PEMA F-MIPA USU

Fakultas

Anggota Dept. Agama Islam

2010 - 2011 IMILKOM USU

Program Studi

Sekretaris Bidang

Kemahasiswaan

2011 - 2012 IMILKOM USU

Program Studi

Sekretaris Umum

2012 - 2013 IMILKOM USU

Program Studi

Ketua Dept. Dana dan Usaha

2012 - 2013 PEMA Fasilkom-TI

Fakultas

Anggota Dept. Kemahasiswaan

2013 - 2014 IMILKOM USU

Program Studi

Dewan Penasehat