analisis pengaruh kualitas resolusi citra...

167
Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010. ANALISIS PENGARUH KUALITAS RESOLUSI CITRA TERHADAP KINERJA METODE PENDETEKSI TEPI SKRIPSI AFNISYAH TAURISNA 051401033 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009

Upload: lamphuc

Post on 16-Feb-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

ANALISIS PENGARUH KUALITAS RESOLUSI CITRA TERHADAP KINERJA METODE

PENDETEKSI TEPI

SKRIPSI

AFNISYAH TAURISNA 051401033

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2009

Page 2: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

ANALISIS PENGARUH KUALITAS RESOLUSI CITRA TERHADAP KINERJA METODE PENDETEKSI TEPI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

Sarjana Komputer

AFNISYAH TAURISNA 051401033

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2009

Page 3: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

ii

PERSETUJUAN

Judul : ANALISIS PENGARUH KUALITAS RESOLUSI CITRA TERHADAP KINERJA METODE PENDETEKSI TEPI

Kategori : SKRIPSI Nama : AFNISYAH TAURISNA Nomor Induk Mahasiswa : 051401033 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Desember 2009

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1 Syahriol Sitorus, S.Si, MIT Ir. Arman Sani, MT NIP. 197103101997031004 NIP. 132 945 349

Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Prof. Dr. Muhammad Zarlis NIP. 195707011986011003

Page 4: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

iii

PERNYATAAN

ANALISIS PENGARUH KUALITAS RESOLUSI CITRA TERHADAP KINERJA METODE PENDTEKSI TEPI

SKRIPSI

Saya mengakui bahwa SKRIPSI ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Desember 2009 Afnisyah Taurisna 051401033

Page 5: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

iv

PENGHARGAAN

Bismillaahirrohmaanirrohiim.. Puji dan syukur penulis panjatkan kepada Allah Subhanahu Wa Ta’alaa Yang Maha Pengasih dan Maha Penyayang, dengan limpahan karunia-Nya skripsi ini berhasil diselesaikan. Ucapan terima kasih penulis sampaikan kepada Bapak Syahriol Sitorus, S.Si, M.IT dan Bapak Ir. Arman Sani, MT selaku pembimbing serta Ibu Maya Silvi Lydia, B.Sc, M.Sc dan Bapak Syahril Effendi S.Si, M.IT selaku pembanding pada penyelesaian skripsi ini, yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Panduan padat dan ringkas dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Ilmu Komputer, Bapak Prof. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, M.IT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, seluruh pegawai di Departemen Ilmu Komputer FMIPA USU (khususnya kak Ayi), dan bagi pihak Poliklinik USU yang memberikan izin untuk melakukan riset. Skripsi ini juga penulis dedikasikan bagi almarhumah Ibunda, Siti Erfiah Harahap yang kasih sayangnya masih penulis rasakan. Serta terima kasih yang tak berhingga juga penulis sampaikan untuk Ayahanda H. Bahriun Rambe, Ibunda Elly Syafrida Tanjung, saudara-saudari penulis, Kak Lina, Elmi, Mita, Ito, Rahmat dan Ongku, kemanakan penulis Aldi dan Tasya, serta seluruh keluarga besar yang tak henti-hentinya memberikan semangat dan dukungan bagi penulis untuk tetap berjuang. Dan spesial untuk Bobbie, Lijok, Tince, Maya, Fitra, Dwi, Anne, Kak Rika, Kak Silvi, Kak Eli, Vida, dan Moko, orang-orang terbaik yang pernah dimiliki penulis. Teman-teman penulis di kampus, khususnya penduduk 05 Kom A dan Kom B, di lingkungan Gg. Aman, dan seluruh pihak yang tidak disebutkan namanya yang telah banyak membantu penulis dalam menyelesaikan skripsi ini, penulis ucapkan banyak terima kasih. Penulis sadar bahwa masih terdapat banyak kekurangan dalam penulisan skripsi ini. Karna itu, penulis dengan ikhlas hati menerima kritik dan saran yang membangun untuk memperbaiki penulisannya. Akhirnya, semoga skripsi ini dapat memberikan manfaat bagi perkembangan ilmu pengetahuan.

Page 6: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

v

ABSTRAK

Pengolahan citra digital merupakan satu cabang ilmu pengetahuan yang saat ini banyak dikembangkan demi mempermudah kehidupan manusia. Salah satunya adalah pendeteksian tepi, yang salah satu manfaatnya banyak membantu tugas kepolisian dalam membongkar kasus kejahatan, yaitu deteksi sidik jari. Ada banyak metode pendeteksi tepi yang saat ini dikenal dalam perkembangan ilmu pengetahuan. Diantaranya, Sobel, Laplacian of Gaussian, dan Canny (metode yang diteliti). Tiap-tiap metode pasti memiliki kelemahan dan kelebihan. Untuk itu, penulis mencoba membandingkan kinerja metode pendeteksi tepi tersebut dengan mengujinya terhadap kualitas resolusi citra. Ditetapkan tiga buah parameter pembanding untuk melihat kehandalan tiap metode, yaitu morfologi garis tepi yang dihasilkan, sensitifitas terhadap noise dikenal sebagai sensitivity rate, dan kecepatan proses dikenal sebagai timing run. Untuk mempermudah penelitian ini, dibangun sebuah aplikasi pendeteksi tepi citra menggunakan Matlab 7.5.0.

Page 7: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

vi

ANALYSIS OF IMAGES RESOLUTION QUALITY INFLUENCES TO

PERFORMANCE OF EDGE DETECTOR METHOD

ABSTRACT

Digital image processing is a part of knowledge that developed to make human’s live easier. One of them is edge detector, one of the use is helping police department duty to discover crime cases, known as finger print detection. There are a lot of edge detector methods in knowledge advance that we have known this time. Some of them are Sobel, Laplacian of Gaussian, and Canny (Researched methods). Each method has it’s disadvantages and advantages. Therefore, the writer will try to compare the edge detectors performance by testing it whit quality of image resolutions. There are three kinds of comparing parameters to see the excellent of each method, they are the morphology of edge lines that resulted, the sensitivity of noise known as sensitivity rate, and processing speed known as timing run. For make it easier, an application of image edge detector is built using Matlab 7.5.0.

Page 8: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

vii

DAFTAR ISI

Halaman

Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Abstract vi Daftar Isi vii Daftar Tabel ix Daftar Gambar x Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 4 1.5 Manfaat Penelitian 4 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori 7 2.1 Citra Digital 7 2.2 Resolusi Citra 10 2.3 Pengolahan Citra Digital 12 2.4 Operasi Bertetangga/Persekitaran 13 2.5 Deteksi Tepi 14 2.5.1 Konvolusi 17 2.5.2 Pendeteksi Tepi Sobel 20 2.5.3 Pendeteksi Tepi Laplacian of Gaussian (LoG) 21 2.5.4 Pendeteksi Tepi Canny 22 2.5.5 Pengambangan 23 2.5.6 Parameter Pembanding 25 2.6 Bahasa Pemrograman Matlab 26 Bab 3 Analisis dan Perancangan Sistem 28 3.1 Analisis Metode Sobel 28 3.1.1 Analisis Kualitas Citra Tepi 29 3.1.2 Analisis Timing Run 30 3.1.3 Analisis Sensitivity Rate 33 3.2 Analisis Metode LoG 33 3.2.1 Analisis Kualitas Citra Tepi 34 3.2.2 Analisis Timing Run 35 3.2.3 Analisis Sensitivity Rate 37

Page 9: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

viii

3.3 Analisis Metode Canny 38 3.3.1 Analisis Kualitas Citra Tepi 39 3.3.2 Analisis Timing Run 40 3.3.3 Analisis Sensitivity Rate 43 3.4 Akuisisi Data 44 3.5 Perancangan Sistem 45 3.5.1 Perancangan DFD dan Spesifikasi Proses 45 3.5.2 Perancangan Kamus Data 50 3.5.3 Perancangan Antarmuka Pemakai 52 3.5.3.1 Antarmuka Figur PendeteksianTepi 52 3.5.3.2 Antarmuka Figur MetodeSobel 53 3.5.3.3 Antarmuka Figur MetodeLoG 54 3.5.3.4 Antarmuka Figur MetodeCanny 55 3.5.3.5 Antarmuka Figur InfoProgrammer 56 3.5.3.6 Antarmuka Figur InfoProgram 57 3.5.3.7 Antarmuka Figur Keluar 58 Bab 4 Implementasi dan Pengujian 59 4.1 Implementasi 59 4.1.1 Figur PendeteksianTepi 60 4.1.2 Figur MetodeSobel 62 4.1.3 Figur MetodeLoG 64 4.1.1 Figur MetodeCanny 66 4.1.2 Figur InfoProgrammer 68 4.1.3 Figur InfoProgram 69 4.2 Pengujian 71 4.2.1 Hasil 71 4.2.1.1 Metode Sobel 71 4.2.1.2 Metode LoG 75 4.2.1.3 Metode Canny 79 4.2.2 Pembahasan 84 Bab 5 Kesimpulan dan Saran 86 5.1 Kesimpulan 86 5.2 Saran 87 Daftar Pustaka 88 Lampiran A: Listing Program 89

Page 10: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

ix

DAFTAR TABEL

Halaman

Tabel 3.1 Spesifikasi Proses DFD Level 0 46 Tabel 3.2 Spesifikasi Proses DFD Level 1 47 Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses P1 Deteksi Tepi Sobel 48 Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses P2 Deteksi Tepi LoG 49 Tabel 3.5 Spesifikasi Proses DFD Level 2 Proses P3 Deteksi Tepi Canny 50 Tabel 3.6 Kamus Data 51

Page 11: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

x

DAFTAR GAMBAR

Halaman Gambar 2.1 Citra Biner 8 Gambar 2.2 Citra Skala Keabuan 9 Gambar 2.3 Citra Warna (True Color) 9 Gambar 2.4 Citra Warna Berindeks 10 Gambar 2.5 Citra dengan Beberapa Tingkat Resolusi 11 Gambar 2.6 Tahapan dalam Pengolahan Citra 12 Gambar 2.7 Operasi-operasi Dasar pada Pengolahan Citra Digital 13 Gambar 2.8 Model Tepi Satu Dimensi 14 Gambar 2.9 Jenis-jenis Tepi 15 Gambar 2.10 Proses Deteksi Tepi Citra 16 Gambar 2.11 Proses Konvolusi 18 Gambar 2.12 Matriks Citra dan Kernel Sebelum Konvolusi 18 Gambar 2.13 Tahapan Proses Pembentukan Konvolusi 19 Gambar 2.14 Hasil Konvolusi Citra dan Kernel 19 Gambar 2.15 Kernel Konvolusi Sobel 20 Gambar 2.16 Kernel Pseudo-Convolution 21 Gambar 2.17 Kernel Konvolusi Laplacian 22 Gambar 2.18 Citra dengan Pengambangan Tunggal 24 Gambar 2.19 Citra dengan Pengambangan Ganda 25 Gambar 3.1 Data Masukan 44 Gambar 3.2 DFD Level 0 45 Gambar 3.3 DFD Level 1 46 Gambar 3.4 DFD Level 2 Proses P1 Deteksi Tepi Sobel 47 Gambar 3.5 DFD Level 2 Proses P2 Deteksi Tepi LoG 48 Gambar 3.6 DFD Level 2 Proses P3 Deteksi Tepi Canny 49 Gambar 3.7 Rancangan Antarmuka Figur PendeteksianTepi 53 Gambar 3.8 Rancangan Antarmuka Figur MetodeSobel 54 Gambar 3.9 Rancangan Antarmuka Figur MetodeLoG 55 Gambar 3.10 Rancangan Antarmuka Figur MetodeCanny 56 Gambar 3.11 Rancangan Antarmuka Figur InfoProgrammer 57 Gambar 3.12 Rancangan Antarmuka Figur InfoProgram 57 Gambar 3.13 Rancangan Antarmuka Figur Keluar 58 Gambar 4.1 Tampilan Figur PendeteksianTepi 60 Gambar 4.2 Menu Metode pada Figur PendeteksianTepi 61 Gambar 4.3 Menu Info pada Figur PendeteksianTepi 61 Gambar 4.4 Tampilan Figur MetodeSobel 62 Gambar 4.5 Menu File pada Figur MetodeSobel 63 Gambar 4.6 Tampilan Figur MetodeLoG 65 Gambar 4.7 Menu File pada Figur MetodeLoG 66 Gambar 4.8 Tampilan Figur MetodeCanny 67 Gambar 4.9 Menu File pada Figur MetodeCanny 68

Page 12: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

xi

Gambar 4.10 Tampilan Figur InfoProgrammer 69 Gambar 4.11 Tampilan Figur InfoProgram 70 Gambar 4.12 Tampilan Menu Keluar 70 Gambar 4.13 Hasil Pengujian Metode Sobel untuk Citra_asli1 72 Gambar 4.14 Hasil Pengujian Metode Sobel untuk Citra_asli2 73 Gambar 4.15 Hasil Pengujian Metode Sobel untuk Citra_asli3 74 Gambar 4.16 Hasil Pengujian Metode Sobel untuk Citra_asli4 75 Gambar 4.17 Hasil Pengujian Metode LoG untuk Citra_asli1 76 Gambar 4.18 Hasil Pengujian Metode LoG untuk Citra_asli2 77 Gambar 4.19 Hasil Pengujian Metode LoG untuk Citra_asli3 78 Gambar 4.20 Hasil Pengujian Metode LoG untuk Citra_asli4 79 Gambar 4.21 Hasil Pengujian Metode Canny untuk Citra_asli1 80 Gambar 4.22 Hasil Pengujian Metode Canny untuk Citra_asli2 81 Gambar 4.23 Hasil Pengujian Metode Canny untuk Citra_asli3 82 Gambar 4.24 Hasil Pengujian Metode Canny untuk Citra_asli4 83

Page 13: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

BAB 1

PENDAHULUAN

Untuk memulai penulisan sebuah Karya Ilmiah, baik itu berupa makalah, jurnal,

maupun Tugas Akhir diperlukan satu Bab Pendahuluan yang berisi tentang gambaran

umum dari Karya Ilmiah yang akan ditulis. Bab pendahuluan ini berisi latar belakang,

rumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi

penelitian, serta sistematika penulisan dari Karya Ilmiah yang akan dikerjakan.

Adapun Bab Pendahuluan dari penulisan Tugas Akhir ini, meliputi:

1.1 Latar Belakang

Citra atau yang biasa disebut dengan gambar sering diartikan sebagai hasil duplikasi

suatu objek ke dalam bentuk lain. Proses duplikasi ini dapat dilakukan dengan

berbagai cara, salah satunya melalui media kamera. Hasilnya disebut sebagai citra

digital.

Citra digital merupakan hasil representasi dari suatu objek yang ditampilkan

dalam bentuk sekumpulan titik, yang dalam istilah ilmu pengetahuan disebut piksel

yang merupakan akronim bahasa Inggris dari picture element.

Sekumpulan titik dalam satuan panjang untuk suatu citra dikenal dengan istilah

resolusi. Semakin banyak titik yang terkandung dalam citra, resolusi akan semakin

besar dan hasil visualisasi dari citra tersebut juga akan semakin halus atau baik.

Suatu citra digital dapat diolah menjadi citra digital yang lain, proses

pengolahan ini disebut dengan pengolahan citra digital. Banyak operasi yang dapat

Page 14: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

2

dilakukan dalam pengolahan citra digital. Salah satunya adalah pendeteksian tepi.

Pendeteksi Tepi digunakan untuk mendapatkan tepi dari suatu objek yang berfungsi

untuk mengidentifikasi sesuatu.

Banyak karya ilmiah atau makalah yang mengangkat masalah pendeteksi tepi

sebagai objek penelitiannya. Kebanyakan penelitian ini bertujuan untuk menganalisis

kinerja metode pendeteksi tepi dalam mengidentifikasikan sesuatu.

Tugas Akhir ini mengangkat metode pendeteksi tepi sebagai objek

penelitiannya. Tujuan penelitian ini tetap untuk mengidentifikasi sesuatu, disamping

itu penulis juga mencoba menganalisis faktor atau variabel yang mungkin dapat

mempengaruhi kinerja metode pendeteksi tepi.

Saat ini resolusi kamera terus berkembang, bahkan telah mencapai ratusan

Megapiksel. Atas dasar tersebut maka penulis memilih kualitas resolusi citra sebagai

variabel yang mungkin dapat mempengaruhi kinerja metode pendeteksi tepi, mulai

dari kualitas resolusi yang dianggap rendah sampai kualitas resolusi yang dianggap

tinggi.

Ada beberapa metode pendeteksi tepi yang dikenal saat ini. Diantaranya adalah

metode pendeteksi tepi Sobel, Laplacian of Gaussian (LoG), dan Canny. Dalam

Tugas Akhir ini, ketiga metode pendeteksi tepi tersebut dipilih sebagai metode yang

menjadi objek penelitian.

1.2 Rumusan Masalah

Adapun rumusan masalah yang dibahas dalam penulisan Tugas Akhir ini adalah:

1. Apa yang dimaksud dengan citra digital, kualitas resolusi citra, dan

pendeteksian tepi (edge detection) pada proses pengolahan citra digital.

2. Bagaimana kinerja metode Sobel, LoG, dan Canny sebagai metode pendeteksi

tepi yang digunakan pada penelitian dalam melakukan pendeteksian tepi

terhadap suatu citra.

Page 15: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

3

3. Bagaimana kinerja tiap-tiap metode pendeteksi tepi jika citra yang dijadikan

sebagai citra masukan merupakan beberapa citra dengan tingkat kualitas

resolusi yang berbeda.

1.3 Batasan Masalah

Batasan-batasan masalah yang dipakai dalam penulisan Tugas Akhir ini adalah

sebagai berikut :

1. Metode yang akan dianalisis dan dibandingkan adalah metode pendeteksi tepi

Sobel, LoG, dan Canny.

2. Citra yang akan dijadikan objek penelitian adalah citra digital dari sampel

darah manusia dengan format *.jpg (jpeg) dengan beberapa tingkatan resolusi,

yaitu 0,3 Megapiksel (MP), 2 MP, 7 MP, 10 MP. Keempat resolusi ini

dianggap mewakili citra dengan resolusi tinggi dan rendah.

3. Parameter yang akan diukur untuk mengetahui hasil kinerja masing-masing

metode pendeteksi tepi adalah sensitivitas tiap-tiap metode terhadap noise

(sensitivity rate), morfologi garis yang dihasilkan pada citra keluaran hasil

metode pendeteksi tepi, dan waktu yang diperlukan untuk melakukan proses

(timing run).

4. Bahasa pemrograman yang akan digunakan untuk membangun aplikasi ini

adalah Matlab versi 7.5.0(R2007b).

1.4 Tujuan Penelitian

Page 16: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

4

Tujuan dari penulisan Tugas Akhir ini adalah menganalisis pengaruh kualitas resolusi

citra terhadap kinerja metode pendeteksi tepi yang dalam penelitian ini dipilih tiga

metode pendeteksi tepi yaitu Sobel, LoG, dan Canny dan kemudian membandingkan

output yang dihasilkannya untuk disimpulkan sejauh mana resolusi citra dapat

mempengaruhi kinerja metode pendeteksi tepi.

1.5 Manfaat Penelitian

Penulisan Tugas Akhir ini dapat bermanfaat dalam memberikan informasi mengenai

pengaruh kualitas resolusi citra terhadap kinerja metode pendeteksi tepi dimana

informasi tersebut dapat dikembangkan dalam penelitian mengenai proses pengolahan

citra yang lain, misalnya deteksi sidik jari yang saat ini banyak dikembangkan.

1.6 Metodologi Penelitian

Dalam melakukan penelitian ini, ada beberapa tahap yang dilakukan yaitu :

1. Studi Literatur

Penelitian ini dimulai dengan melakukan studi literatur yaitu proses

pengumpulan data sebagai bahan referensi baik dari buku, artikel, jurnal,

makalah, atau situs internet yang berkaitan dengan penulisan Tugas Akhir ini.

2. Akuisisi Data

Proses akuisisi data merupakan proses pengambilan data citra, yang akan

digunakan pada proses pengujian (testing).

3. Perancangan Sistem

Melakukan perancangan terhadap sistem yang akan dibangun, mulai dari

perancangan untuk user interface dan juga list program untuk deteksi tepi

dengan metode filter Sobel, LoG, dan Canny.

4. Implementasi Sistem

Page 17: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

5

Melakukan implementasi program yang telah ada ke dalam suatu bentuk

perangkat lunak untuk mendeteksi tepi citra.

5. Pengujian dan Analisis Hasil

Dari hasil implementasi dilanjutkan dengan proses pengujian terhadap sistem

yang telah selesai dibangun dan menganalisis hasil keluarannya.

6. Dokumentasi Hasil

Setelah semua tahap dalam penelitian selesai dilakukan, seluruh hasil yang

diperoleh akan didokumentasikan dalam bentuk laporan.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai

berikut:

BAB 1 PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang masalah yang dibahas dalam

skripsi ini, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian,

metode penelitian, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini mencakup segala teori yang menjadi landasan dalam penulisan Tugas Akhir

yang berkaitan dengan citra digital, resolusi citra, deteksi tepi yang merupakan salah

satu operasi dalam pengolahan citra digital, serta teori mengenai pendeteksi tepi

Sobel, pendeteksi tepi LoG, dan pendeteksi tepi Canny.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan tentang analisis pada perangkat yang akan digunakan untuk

membangun sistem dan juga berisi perancangan sistem dari hasil analisis yang telah

dilakukan.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Page 18: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

6

Bab ini mencakup hasil penelitian dan pembahasannya, yang berupa implementasi

secara nyata dari sistem yang telah dianalisis dan dirancang sebelumnya dalam bentuk

perangkat lunak pendeteksi tepi yang dibangun dengan bahasa pemrograman Matlab

7.5.0. Bab ini juga berisi analisis hasil yang diperoleh dari pengujian terhadap sistem

yang akan dilakukan dengan menjadikan beberapa jenis kualitas resolusi citra yang

berbeda sebagai citra masukan.

BAB 5 KESIMPULAN DAN SARAN

Bab terakhir ini memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya

dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam

pengembangan selanjutnya.

Page 19: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

BAB 2

LANDASAN TEORI

Sebagai sebuah Karya Ilmiah, penulisan Tugas Akhir harus dilandasi atas teori-teori

yang bersifat ilmiah untuk mendukung penulisannya. Teori-teori mengenai citra

digital, resolusi citra, deteksi tepi (edge detection) yang merupakan salah satu operasi

dalam pengolahan citra digital (digital image processing), dan beberapa subpokok

pembahasan lainnya menjadi landasan dalam penulisan Tugas Akhir ini. Selain itu,

beberapa prosiding dan makalah mengenai pembahasan kinerja metode pendeteksi

tepi, antara lain dalam Indira (2008) dan Febriani (2008) juga menjadi referensi.

2.1 Citra Digital

Citra dapat dikatakan sebagai citra digital jika citra tersebut disimpan dalam format

digital (dalam bentuk file). Seperti halnya proses digitisasi dalam bentuk data lain,

proses digitisasi pada data citra juga merupakan proses pengubahan suatu bentuk data

citra dari yang bersifat analog ke dalam bentuk data digital, yang mana proses ini

dapat dilakukan dengan alat bantu, yang salah satunya berupa kamera. Hanya citra

digital yang dapat diolah menggunakan komputer. Jenis citra lain jika akan diolah

dengan komputer harus diubah dulu menjadi citra digital.

Citra digital merupakan suatu fungsi intensitas cahaya f(x,y), dimana harga x

dan y merupakan koordinat spasial dan harga fungsi tersebut pada setiap titik (x,y)

merupakan tingkat kecemerlangan citra pada titik tersebut.

Citra digital dinyatakan dengan matriks berukuran N x M (N menyatakan

baris atau tinggi, M menyatakan kolom atau lebar).

Page 20: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

8

Keterangan:

N = jumlah baris, 0 ≤ y ≤ N – 1

M = jumlah kolom, 0 ≤ x ≤ M – 1

L = maksimal warna intensitas (derajat keabuan), 0 ≤ f(x,y) ≤ L – 1

(Hestiningsih, 2008, hal: 8).

Citra digital biasanya berbentuk persegi panjang, secara visualisasi dimensi

ukurannya dinyatakan sebagai lebar x tinggi. Ukurannya dinyatakan dalam titik atau

piksel (pixel = picture element) dan dapat pula dinyatakan dalam satuan panjang (mm

atau inci = inch).

Berdasarkan format penyimpanan nilai warnanya, citra terdiri atas empat jenis

(Hestiningsih, 2008), yaitu:

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

merupakan contoh citra biner.

Gambar 2.1 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.

Page 21: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

9

Misal:

Suatu citra dengan skala keabuan 4 bit, memiliki jumlah kemungkinan warna

24 = 16 warna.

Gambar 2.2 memperlihatkan citra skala keabuan 4 bit.

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

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.3 memperlihatkan contoh citra warna.

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

Page 22: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

10

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

Gambar 2.4 Citra Warna Berindeks

Terdapat beberapa tipe file citra digital yang dikenal saat ini, diantaranya

JPEG (Joint Photographic Experts Group), BMP (Bitmap), GIF (Graphics

Interchange Format), TIFF (Tagged Image File Format), dan PNG (Portable Network

Graphics). Dalam Tugas Akhir ini, citra digital yang digunakan adalah citra digital

dengan tipe file JPEG. Citra JPEG merupakan tipe file citra digital yang banyak

digunakan untuk menyimpan gambar-gambar dengan ukuran lebih kecil. Citra JPEG

memiliki beberapa karakteristik, yaitu:

1. Memiliki ekstensi .jpg atau .jpeg.

2. Mampu menayangkan warna dengan kedalaman 24-bit true color.

3. Mengkompresi gambar dengan sifat lossy.

4. Umumnya digunakan untuk menyimpan gambar-gambar hasil foto.

2.2 Resolusi Citra

Sebelum membahas mengenai masalah resolusi citra, sesuai judul penulisan Tugas

Akhir ini perlu dijelaskan pengertian dari kata kualitas. Kualitas dapat didefenisikan

sebagai suatu kondisi dinamis yang berhubungan dengan produk, jasa, manusia,

proses dan lingkungan yang memenuhi atau melebihi harapan (Davis, 2004). Adapun

Resolusi Citra dapat didefenisikan sebagai banyaknya titik untuk setiap satuan

panjang (dot per inch) yang terdapat dalam sebuah citra.

Page 23: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

11

Dari pengertian kata Kualitas dan Resolusi Citra diatas, dapat dijelaskan

bahwa Kualitas Resolusi Citra merupakan suatu kondisi dinamis dari sebuah citra

dengan resolusi tertentu, yang dalam hal ini bergantung pada banyaknya titik untuk

setiap satuan panjang (dot per inch) yang terdapat dalam citra tersebut.

Kualitas resolusi citra dikatakan baik jika citra tersebut memiliki resolusi yang

besar, dimana semakin besar resolusi makin banyak titik yang terkandung dalam citra,

sehingga menjadi lebih halus dalam visualisasinya (Hestiningsih, 2008).

Menurut kualitas resolusi yang dihasilkan, resolusi dibedakan menjadi

(www.total.or.id/info.php/kk=Resolusi):

1. Resolusi Tinggi (High Resolution).

Suatu citra dikatakan memiliki resolusi tinggi jika tingkat ketelitian yang

cukup tinggi dari suatu media dalam menangkap ataupun menampilkan

datanya.

2. Resolusi Rendah (Low Resolution).

Citra dikatakan memiliki resolusi rendah jika pada layar atau gambar yang teks

dan grafiknya tampil dengan detail yang relatif kasar.

Gambar 2.5 memperlihatkan gambar suatu objek yang dicitrakan

menggunakan beberapa kamera dengan tingkat kualitas resolusi yang berbeda.

Gambar 2.5 Citra dengan Beberapa Tingkat Resolusi

Page 24: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

12

2.3 Pengolahan Citra Digital (Digital Image Processing)

Deteksi tepi (edge detection) merupakan salah satu operasi dasar dalam pengolahan

citra digital. Pengolahan citra digital (digital image processing) merupakan suatu

kegiatan yang dilakukan untuk memperbaiki kualitas citra agar mudah diinterpretasi

oleh manusia maupun mesin (komputer). Dalam pengolahan citra yang menjadi

masukan (input) dan keluaran (output) adalah citra, namun dengan kualitas yang

berbeda.

Dari hasil keluaran pengolahan citra digital, dapat dilakukan suat proses

lanjutan yaitu analisis citra. Kegiatan ini akan menghasilkan informasi untuk

menetapkan keputusan (biasanya didampingi bidang ilmu kecerdasan buatan/Artificial

Intelligence yaitu pengenalan pola (pattern recognition) menggunakan jaringan syaraf

tiruan, logika fuzzy, dan lain-lain). Dalam pengolahan maupun analisis citra banyak

melibatkan persepsi visual (Indira, 2008). Gambar 2.6 menunjukkan diagram alir

proses yang terjadi pada suatu citra mulai dari proses pencitraan sampai pada analisis

citra.

Gambar 2.6 Tahapan dalam Pengolahan Citra

Citra digital direpresentasikan dengan matriks sehingga operasi pada citra

digital pada dasarnya memanipulasi elemen-elemen matriks. Ada beberapa operasi

dasar pada pengolahan citra antara lain: operasi titik, operasi global, operasi berbasis

bingkai (frame), operasi geometri dan operasi bertetangga (Hestiningsih, 2008).

Gambar 2.7 memperlihatkan bagan pengelompokan operasi-operasi dasar pada

pengolahan citra digital.

Page 25: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

13

Gambar 2.7 Operasi-operasi Dasar pada Pengolahan Citra Digital

Dari bagan diatas, dapat dilihat bahwa deteksi tepi merupakan operasi pada

pengolahan citra digital yang merupakan salah satu jenis operasi bertetangga atau

persekitaran (neighbourhood operation).

2.4 Operasi Bertetangga/Persekitaran (Neighbourhood Operation)

Sebuah citra dikatakan ideal, jika mampu mencerminkan kondisi sesungguhnya dari

suatu objek. Mempunyai hubungan satu-satu (one to one), satu titik pada objek

dipetakan tepat satu piksel di citra digital. Tetapi pada kenyataannya, hubungan yang

ada antara titik dalam objek dengan titik pada citra digital adalah hubungan satu ke

banyak (one to many) dan banyak ke satu (many to one). Hal ini disebabkan oleh

beberapa hal, yaitu:

1. Sinyal yang dikirim oleh objek citra mengalami penyebaran (divergensi),

sehingga yang diterima oleh sensor atau detector tidak lagi berupa suatu titik,

namun berupa luasan.

Operasi Global Operasi Berbasis Bingkai

Operasi Geometri Operasi Bertetangga

Ekualisasi Histogram

Penggabungan Citra

Operasi Titik

Deteksi Gerakan

Operasi Logika (AND, OR, XOR, SUB, NOT)

Pencerminan

Rotasi

Pemotongan

Penskalaan

Deteksi Tepi

Penajaman Citra

Penghalusan

Reduksi Noise

Efek Emboss

Pengolahan Citra Digital

Modifikasi Kecemerlangan

Peningkatan Kontras

Negasi

Pengambangan (Thresholding)

Page 26: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

14

2. Atau sebaliknya satu titik pada sensor atau detector dapat menerima banyak

sinyal dari beberapa bagian.

Operasi citra digital yang berhubungan dengan kondisi diatas disebut operasi

persekitaran/bertetangga (neighborhood operation). Operasi persekitaran/bertetangga

pada dasarnya adalah hubungan antara citra dengan sebuah filter (mask/kernel). Nilai

dari filter/mask merupakan bobot kontribusi titik persekitaran terhadap operasi

persekitaran.

Ada beberapa operasi pengolahan citra yang berkaitan dengan operasi

bertetangga ini, diantaranya adalah deteksi tepi. Untuk pembahasan mengenai deteksi

tepi akan dibahas pada sub-bab berikutnya.

2.5 Deteksi Tepi (Edge Detection)

Secara umum tepi dapat didefinisikan sebagai batas antara dua region (dua piksel

yang saling berdekatan) yang memiliki perbedaan intensitas yang tajam atau tinggi

(Febriani, 2008). Tepi dapat diorientasikan dengan suatu arah, dan arah ini berbeda-

beda, tergantung pada perubahan intensitas. Untuk lebih memahami defenisi tepi,

Gambar 2.8 memperlihatkan model tepi dalam ruang satu dimensi.

Gambar 2.8 Model Tepi Satu Dimensi

Ada tiga macam tepi yang terdapat di dalam citra digital (Munir, 2004), yaitu:

1. Tepi curam

Jenis tepi ini terbentuk karena perubahan intensitas yang tajam, berkisar 900.

jarak

perubahan intensitas

α α = arah tepi

Page 27: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

15

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

Gambar 2.9 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 (Sigit, 2005):

1. Menandai bagian yang menjadi detil citra.

2. Memperbaiki detil citra yang kabur karena error atau efek proses akuisisi.

Gambar 2.10 memperlihatkan bagaimana tepi dari suatu citra dapat diperoleh

dengan operasi pendeteksian tepi.

Page 28: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

16

Gambar 2.10 Proses Deteksi Tepi Citra

Berdasarkan prinsip-prinsip filter pada citra, tepi suatu gambar dapat diperoleh

menggunakan High Pass Filter (HPF), dengan karakteristik:

∑∑ H( x , y ) = 0 (2.1)

Berikut ini beberapa metode yang digunakan untuk mendeteksi tepi

(Herdiyeni, 2007), yaitu:

1. First-Order Derivative Edge Detection (Pendeteksi Tepi Turunan Pertama).

Pendeteksi tepi ini menghitung perbedaan intensitas antara dua piksel yang

saling berdekatan, dimana daerah tepi terletak pada nilai maksimum lokalnya.

Metode ini sering juga disebut dengan pendeteksi tepi dengan operator gradien

citra. Berikut ini berapa contoh pendeteksi tepi turunan pertama yang sering

digunakan:

a. Metode Roberts-Cross

b. Metode Prewitt

c. Metode Sobel

2. Second-Order Derivative Edge Detection (Pendeteksi Tepi Turunan Kedua).

Pendeteksitepi turunan kedua, memanfaatkan nilai tururnan kedua dari fungsi

Gaussian dalam langkah-langkah untuk mendeteksi tepi dari suatu citra. Yang

termasuk dalam metode pendeteksi tepi ini, adalah:

Page 29: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

17

a. Metode Laplacian of Gaussian

b. Metode Canny

Pada penulisan Tugas Akhir ini metode yang digunakan adalah metode yang

menggunakan operator turunan pertama (Sobel) dan operator turunan kedua

(Laplacian of Gaussian dan Canny).

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:

(2.2)

Atau fungsi diskritnya:

(2.3)

Dimana α = peubah bantu.

Pada konvolusi 2D, fungsi malarnya dapat dihitung dengan persamaan:

(2.4)

Sedangkan fungsi diskritnya dihitung dengan persamaan:

(2.5)

Page 30: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

18

g(x) merupakan convolution mask / filter / kernel atau template. Gambar 2.11

memperlihatkan ilustrasi terjadinya konvolusi.

Gambar 2.11 Proses Konvolusi

Dimana:

(2.6)

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

Gambar 2.12 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.13.

(i)

Page 31: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

19

(ii)

(iii) .

.

.

dan seterusnya

Gambar 2.13 Tahapan Proses Pembentukan Konvolusi

Sehingga diperoleh hasil akhir dari proses konvolusi tersebut, yang ditunjukkan pada

Gambar 2.14.

Gambar 2.14 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.

Page 32: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

20

Pendeteksi Tepi Sobel

Operator Sobel melakukan perhitungan secara 2D terhadap suatu ruang di dalam

sebuah gambar dengan harapan nantinya akan nampak daerah-daerah bernilai tinggi

pada gambar tersebut yang merupakan deteksi tepi dari suatu gambaran. Operator ini

biasanya digunakan untuk mencari gradien dari masing-masing piksel gambar input

yang telah di grayscale sebelumnya.

Secara teori, diperlukan matriks setidaknya berukuran 3x3 sebagai kernelnya.

Contoh kernel Sobel yang berukuran 3x3 diperlihatkan pada Gambar 2.15.

-1 0 +1 -1 +2 +1

-2 0 +2 0 0 0

-1 0 +1 -1 -2 -1 Gx Gy

Gambar 2.15 Kernel Konvolusi Sobel

Kernel ini dirancang untuk menyelesaikan permasalahan deteksi tepi baik

secara vertikal maupun horisontal. Penggunaan kernel-kernel ini dapat digunakan

bersamaan ataupun secara terpisah. Apabila digunakan kernel vertikal dan kernel

horisontal secara bersamaan, maka gradien dapat diukur dengan formula sebagai

berikut:

G = Gx2 + Gy2 (2.7)

Besarnya gradien juga dapat dihitung lebih cepat lagi dengan menggunakan

formula sebagai berikut:

G = Gx + Gy (2.8)

Gradien tersebut pasti mempunyai derajat kemiringan tertentu. Untuk dapat

mengetahui sudut dari gradien tersebut dapat dihitung dengan menggunakan rumus

sebagai berikut:

Page 33: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

21

ϑ = arctan(Gy / Gx) (2.9)

Dalam kasus ini, orientasi 0 untuk menentukan nilai kontras maksimum dari

hitam ke putih dihitung dari kiri menuju kanan dan berjalan terus sampai ke bagian

paling atas dari suatu gambaran. Sedangkan sudutnya diukur berlawanan arah jarum

jam.

Yang sering terjadi dalam filter ini adalah nilai mutlak dari magnitude hanya

sebatas penglihatan mata kita saja, apabila terdapat dua komponen gradien maka akan

digabungkan menggunakan operator pseudo-convolution seperti yang diperlihatkan

pada Gambar 2.16.

P1 P2 P3

P4 P5 P6

P7 P8 P9

Gambar 2.16 Kernel Pseudo-Convolution

Dengan menggunakan kernel pseudo-convolution seperti diatas maka

perhitungan yang terjadi adalah:

|G| = |( P1 + 2P2 + P3) – (P7 + P8 + P9)| + (2.10)

|( P3 + 2P6 + P9) – (P1 + 2P4 + P7)|

Pendeteksi Tepi Laplacian of Gaussian (LoG)

Laplacian adalah salah satu metode pendeteksi tepi yang merupakan pendeteksi tepi

turunan kedua. Turunan kedua memiliki sifat lebih sensitif terhadap noise, selain itu

juga menghasilkan double edge. Oleh karena itu, operator Laplacian dalam deteksi

tepi pada umumnya tidak dipergunakan secara langsung, namun dikombinasikan

dengan suatu kernel Gaussian menjadi sebuah operator Laplacian of Gaussian (LoG).

Page 34: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

22

Metode ini mendeteksi tepi lebih akurat khususnya pada tepi yang curam. Pada

tepi yang curam, turunan keduanya memiliki zero-crossing (persilangan nol), yaitu

titik dimana terdapat pergantian tanda nilai turunan kedua, sedangkan pada tepi yang

landai tidak terdapat persilangan nol (Gonzalez et al, 2005).

Berikut ini fungsi LoG 2-D yang berpusat pada titik 0 dan dengan deviasi

standard Gaussian :

(2.11)

Representasi turunan kedua dalam bentuk kernel operator Laplacian

diperlihatkan pada Gambar 2.17.

0 -1 0

-1 4 -1

0 -1 0

Gambar 2.17 Kernel Konvolusi Laplacian

Pendeteksi Tepi Canny

Canny merupakan salah satu algoritma deteksi tepi modern. Pada tahun 1986 John

Canny mengusulkan tiga kriteria yang menjadi basis pengembangan filter untuk

mengoptimalkan pendeteksian tepi pada citra bernoise (Febriani, 2008). Tiga kriteria

tersebut adalah:

a. Good detection, kriteria ini bertujuan memaksimalkan nilai signal to noise

ration (SNR) sehingga semua tepi dapat terdeteksi dengan baik atau tidak ada

yang hilang.

b. Good localisation, tepi yang terdeteksi berada pada posisi yang sebenarnya,

atau dengan kata lain bahwa jarak antara posisi tepi yang terdeteksi oleh

detektor dengan posisi tepi sebenarnya adalah seminimum mungkin (idealnya

adalah 0).

Page 35: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

23

c. Low multiplicity of the response atau ”one response to single edge” detektor

tidak memberikan tepi yang bukan tepi sebenarnya.

Berdasarkan pada kriteria ini, Canny berhasil melakukan optimalisasi dari ke

tiga kriteria tersebut dan menghasilkan persamaan sebagai berikut:

h(x)=a1ecos(ωx)+a2esin(ωx)+ (2.12)

a3e-cos(ωx)+ a4e-sin(ωx)

Namun persamaan ini cukup sulit untuk diimplementasikan, sehingga pada

implementasinya, Canny tetap menggunakan filter Gaussian untuk mereduksi noise.

Metode Canny ini tidak memiliki operator khusus, namun metode ini terdiri

dari beberapa langkah khusus. Metode Canny akan mendeteksi tepi dengan mencari

nilai gradien maksimal lokal dari sebuah citra (Green, 2009). Gradien tersebut

dihitung menggunakan turunan dari Gaussian filter (Gonzalez, et al, 2005).

Metode Canny menggunakan dua thresholds atau pengambangan, yang

berguna untuk mendeteksi tepian yang terlihat jelas, dan tepian yang kurang jelas atau

lemah, termasuk juga tepian yang kurang jelas yang terlihat pada output yang

terhubung dengan tepian yang jelas. Pembahasan mengenai thresholds atau

pengambangan akan dijelaskan pada sub-bab berikutnya.

Metode ini lain dengan metode sebelumnya, yang sebelum dilakukan proses

deteksi tepi harus dilakukan terlebih dahulu proses penghilangan noise. Metode Canny

lebih utama akan mendeteksi tepian yang kurang jelas, yang tidak dapat diperoleh

dengan menggunakan metode lain dan dilanjutkan dengan penghitungan turunan

pertama dan thresholding hysteresis.

Pengambangan (Thresholding)

Operasi pengambangan (thresholding) merupakan salah satu operasi yang termasuk

kedalam operasi titik dalam pengolahan citra digital. Operasi ini digunakan untuk

Page 36: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

24

mengubah citra dengan format skala keabuan, yang mempunyai kemungkinan nilai

lebih dari 2 ke citra biner yang memiliki 2 buah nilai (yaitu 0 dan 1).

Pengambangan terbagi atas dua jenis, yaitu:

a. Pengambangan Tunggal

Pengambangan tunggal merupakan proses pengambangan yang hanya

memiliki sebuah nilai batas ambang.

Fungsi GST-nya:

atau:

Gambar 2.18 menunjukkan sebuah citra yang telah mengalami pengambangan

tunggal.

Gambar 2.18 Citra dengan Pengambangan Tunggal

b. Pengambangan Ganda

Memiliki ambang bawah dan ambang atas. Dilakukan untuk menampilkan

titik-titik yang mempunyai rentang nilai skala keabuan tertentu.

Dengan fungsi GST:

atau:

Page 37: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

25

Gambar 2.19 memperlihatkan sebuah citra yang telah mengalami

pengambangan tunggal.

Gambar 2.19 Citra dengan Pengambangan Ganda

Parameter Pembanding

Untuk menguji kehandalan suatu metode, dan membandingkannya dengan metode

lain, diperlukan suatu parameter. Dalam pengujian kehandalan suatu metode

pendeteksi tepi, berikut ini beberapa parameter yang dapat digunakan:

1. Kualitas edge yang dihasilkan atau morfologi garis tepi yang terbentuk.

Parameter ini dipakai dalam penelitian yang dilakukan Indira (2008). Suatu

metode pendeteksi tepi dikatakan baik jika metode tersebut berhasil

mendeteksi tepi dengan tepat, artinya tidak menyatakan suatu piksel yang

bukan tepi sebagai tepi atau sebaliknya, tidak menganggap suatu tepi sebagai

tepian.

2. Sensitivitas (ketahanan) suatu metode pendeteksi tepi terhadap noise.

Sensitivitas metode pendeteksi tepi terhadap noise dapat diukur dengan

menggunakan parameter error rate sebagai berikut:

(2.13)

dimana:

nR : jumlah piksel yang dinyatakan sebagai tepi pada citra referensi

nN : jumlah piksel yang dinyatakan sebagai tepi pada citra noisy

Page 38: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

26

Nilai P yang besar menyatakan sensitivitas edge detector yang tinggi terhadap

noise. Febriani (2008) dan Indira (2008) memakai parameter ini dalam

penelitiannya.

3. Waktu yang diperlukan dalam proses tersebut (timing run).

Timing-run adalah lama waktu proses deteksi tepi pada suatu citra, jadi pada

tahap ini akan dianalisis lama waktu yang digunakan dalam melakukan proses

deteksi tepi. Dalam penelitian ini, waktu pemrosesan dihitung dengan rumus:

Waktu proses = waktu akhir deteksi tepi – waktu awal deteksi tepi (2.14)

4. Efek yang ditimbulkan, berupa false positif dan false negatif.

Parameter ini biasanya digunakan pada proses pendeteksian tepi untuk

mengenali citra wajah. Cara kerjanya dengan melihat kinerja metode

pendeteksi tepi yang digunakan dalam mengenali daerah pada citra yang

dimaksudkan sebagai daerah wajah. Dimana kemungkinan untuk suatu metode

pendeteksi tepi menyatakan citra yang bukan merupakan citra wajah sebagai

citra wajah dapat terjadi.

Dalam penelitian ini, parameter yang akan digunakan untuk membandingkan

kinerja tiap-tiap metode pendeteksi tepi adalah kualitas edge yang dihasilkan,

sensitivitas tiap metode terhadap noise, dan waktu yang diperlukan dalam proses

pendeteksian tepi (timing run).

2.6 Bahasa Pemrograman Matlab

Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik

yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti

Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang

dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti

komputasi matematik, analisis data, pengembangan algoritma, simulasi dan

pemodelan dan grafik-grafik perhitungan.

Page 39: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

27

Matlab hadir dengan membawa warna yang berbeda. Hal ini karena matlab

membawa keistimewaan dalam fungsi-fungsi matematika, fisika, statistik, dan

visualisasi. Matlab dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk

memberikan kemudahan mengakses data matrik pada proyek LINPACK dan

EISPACK. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai

pemecahan masalah mulai dari masalah sederhana sampai pada masalah yang

kompleks dari berbagai disiplin ilmu. Matlab memiliki beberapa lingkungan kerja

yang terdiri atas:

1. Current Directory

Jendela ini menampilkan isi dari direktori kerja saat menggunakan matlab.

Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang

diinginkan. Default dari alamat direktori berada dalam folder works tempat

program files Matlab berada.

2. Command History

Jendela ini berfungsi untuk menyimpan perintah-perintah apa saja yang

sebelumnya dilakukan oleh pengguna terhadap matlab.

3. Command Window

Jendela ini adalah jendela utama dari Matlab. Disini adalah tempat untuk

menjalankan fungsi, mendeklarasikan variabel, menjalankan proses-proses,

serta melihat isi variabel.

4. Workspace

Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang

sedang aktif pada saat pemakaian matlab. Apabila variabel berupa data matriks

berukuran besar maka pengguna dapat melihat isi dari seluruh data dengan

melakukan double click pada variabel tersebut. Matlab secara otomatis akan

menampilkan jendela “array editor” yang berisikan data pada setiap variabel

yang dipilih pengguna.

Page 40: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada penulisan Tugas Akhir ini, untuk menyelesaikan permasalahan yang ada

dilakukan satu tahapan analisis terhadap ketiga metode pendeteksi tepi, yaitu Sobel,

LoG, dan Canny. Analisis dilakukan dengan melihat bagaimana setiap langkah dari

tiap-tiap metode dapat mempengaruhi parameter-parameter pembanding yang telah

ditentukan. Setelah melakukan analisis, dilanjutkan dengan tahap perancangan yang

dilakukan sebelum tahap implementasi.

Analisis Metode Sobel

Untuk menganalisis kinerja metode Sobel dalam mendeteksi tepi empat jenis citra

dengan tingkat kualitas resolusi yang berbeda (0,3 megapiksel, 2 megapiksel, 7

megapiksel dan 10 megapiksel), terhadap tiga buah parameter yang dianggap mampu

mengukur kinerja metode ini, yaitu kualitas citra tepi yang dihasilkan, timing run, dan

sensitivity rate dapat dilakukan dengan melihat pseudocode dari algoritma metode ini.

Berikut ini pseudocode dari algoritma metode Sobel:

% Mengubah citra RGB menjadi citra skala keabuan

I = double(rgb2gray(handles.data1));

% Konvolusi dengan kernel sobel 3x3

sobelhor = [-1 0 1;-2 0 2;-1 0 1];

sobelver = [-1 -2 -1;0 0 0;1 2 1];

Ix = conv2(I,sobelhor,’same’);

Iy = conv2(I,sobelver,’same’);

J = sqrt((Ix.^2)+(Iy.^2));

Page 41: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

29

% Pengambangan

thresh = alfa*mean2(abs(J));

If J > thresh

edgeimage = 1;

else

edgeimage = 0;

end

% Mengembalikan nilai matriks menjadi nilai intensitas citra

edgeimage = mat2gray(edgeimage);

Dari algoritma tersebut, maka hasil analisis kinerja metode Sobel terhadap

ketiga parameter yang telah ditentukan, adalah sebagai berikut:

Analisis Kualitas Citra Tepi

Citra yang dijadikan sebagai citra masukan dalam sistem adalah citra asli yang

diperoleh dari hasil pemotretan dengan kamera digital. Artinya, citra ini belum

mengalami proses perbaikan apapun. Sehingga dalam citra tersebut, dianggap masih

terdapat noise yang mungkin dapat mempengaruhi hasil keluaran.

Dalam metode Sobel, variabel yang mempengaruhi hasil keluaran citra ini

adalah nilai Alfa, yaitu faktor pengali yang digunakan pada proses pengambangan.

Semakin besar nilai alfa yang digunakan, nilai pengambangan atau thresh yang

menjadi batasan suatu nilai piksel dapat dikatakan sebagai tepi juga akan semakin

besar.

Karena dalam penelitian ini digunakan citra masukan dengan beberapa tingkat

kualitas resolusi citra, maka nilai alfa yang digunakan harus disesuaikan agar nilai

tersebut dapat digunakan pada keempat jenis citra masukan, yaitu Citra_asli1,

Citra_asli2, Citra_asli3 dan Citra_asli4.

Page 42: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

30

Pada citra masukan dengan tingkat resolusi yang tinggi, nilai pengambangan

ini akan mempengaruhi tepi-tepi yang terbentuk, karena banyak piksel noise yang

akan terdeteksi sebagai tepi. Artinya, citra masukan dengan tingkat resolusi yang

tinggi (Citra_asli3 dan Citra_asli4) akan menghasilkan lebih banyak piksel tepi

dibanding citra masukan dengan tingkat resolusi rendah (Citra_asli1, dan Citra_asli2).

Namun, piksel yang didefenisikan sebagai tepi pada citra masukan dengan tingkat

resolusi tinggi tersebut sebahagiannya adalah berupa noise.

Analisis Timing Run

Ditinjau dari segi waktu pemrosesan (timing run), dalam membandingkan kinerja

metode pendeteksi tepi, metode pendeteksi tepi terbaik adalah yang memiliki waktu

pemrosesan yang paling singkat diantara metode lainnya.

Misalkan waktu yang diperlukan untuk memproses 1 (satu) nilai piksel dari

sebuah citra adalah ‘t’, maka aproksimasi waktu untuk memproses citra pada metode

Sobel adalah sebagai berikut:

Langkah 1:

Pada langkah ini setiap nilai piksel citra diproses dua kali (2t). Pertama, fungsi

rgb2gray yang digunakan untuk mengubah nilai piksel citra masukan

handles.data1 yang berbentuk citra RGB menjadi skala keabuan. Kedua, nilai piksel

yang semula merupakan nilai piksel satu dimensi dikonversi menjadi bentuk dua

dimensi dengan fungsi double. Dan terakhir, mendefenisikan nilai yang telah

diperoleh tadi sebagai I, maka asumsi waktu untuk keempat citra masukan pada

langkah ini adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6(2t)

= 0,6x10^6t

2. Citra_asli2 Waktu1 = 2x10^6(2t)

= 4x10^6t

Page 43: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

31

3. Citra_asli3 Waktu1 = 7x10^6(2t)

= 14x10^6t

4. Citra_asli4 Waktu1 = 10x10^6(2t)

= 20x10^6t

Langkah 2:

Pada langkah ini, untuk setiap citra masukan terdapat tiga kali pemrosesan (3t).

Pertama, nilai piksel citra I dikonvolusi dengan sobelhor dengan fungsi conv2

untuk mendapatkan nilai Ix. Kedua, nilai piksel citra I dikonvolusi dengan sobelver

dengan fungsi conv2 untuk mendapatkan nilai Iy. Dan terakhir, dari nilai Ix dan Iy

yang telah diperoleh, dihitung gradien dari nilai-nilai tersebut dengan rumus

sqrt((Ix.^2)+(Iy.^2), sehingga diperoleh nilai J. Dari proses-proses tersebut,

maka asumsi waktu untuk tiap citra masukan pada tahap ini adalah:

1. Citra_asli1: Waktu2 = 0,3x10^6(3t)

= 0,9x10^6t

2. Citra_asli2: Waktu2 = 2x10^6(3t)

= 6x10^6t

3. Citra_asli3: Waktu2 = 7x10^6(3t)

= 21x10^6t

4. Citra_asli4: Waktu2 = 10x10^6(3t)

= 30x10^6t

Langkah 3:

Pada tahap ini, bisa terjadi dua sampai empat kali pemrosesan (3t-4t). Hal ini terjadi

karena adanya fungsi if else. Pemrosesan pertama, adalah mencari nilai

pengambangan thresh yang sesuai untuk setiap citra masukan, dengan mengkalikan

variabel alfa dengan fungsi mean2 yang merupakan fungsi untuk mencari nilai rata-

Page 44: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

32

rata dari nilai mutlak J (abs(J)). Kemudian, setiap nilai piksel yang ada

dibandingkan dengan nilai tersebut, jika lebih besar dari nilai thresh akan dianggap

sebagai tepi dengan mengubah nilai pikselnya menjadi 1, dan jika tidak nilai piksel

diubah menjadi 0. Untuk mengasumsikan waktu pada langkah ini, digunakan asumsi

waktu terbesar (4t) untuk setiap citra masukan, sehingga menjadi:

1. Citra_asli1: Waktu3 = 0,3x10^6(4t)

= 1,2x10^6t

2. Citra_asli2: Waktu3 = 2x10^6(4t)

= 8x10^6t

3. Citra_asli3: Waktu3 = 7x10^6(4t)

= 28x10^6t

4. Citra_asli4: Waktu3 = 10x10^6(4t)

= 40x10^6t

Langkah 4:

Pada langkah ini, nilai piksel 1 (satu) dan 0 (nol) dari pemrosesan langkah sebelumnya

tadi dikembalikan menjadi suatu bentuk tampilan citra dengan mengubah nilai piksel 1

(satu) menjadi warna hitam, dan nilai 0 (nol) menjadi warna putih dengan fungsi

mat2gray. Artinya, pada langkah ini hanya terjadi satu kali pemrosesan (t), sehingga

asumsi waktu untuk tiap citra:

1. Citra_asli1: Waktu4 = 0,3x10^6t

2. Citra_asli2: Waktu4 = 2x10^6t

3. Citra_asli3: Waktu4 = 7x10^6t

4. Citra_asli4: Waktu4 = 10x10^6t

Page 45: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

33

Dari keempat langkah pemrosesan dengan metode Sobel tersebut, maka

keseluruhan waktu pemrosesan untuk keempat citra masukan tersebut dihitung dengan

menjumlahkan keseluruhan waktu dari setiap tahap, menjadi:

1. Citra_asli1 = 0,6x10^6t + 0,9x10^6t + 1,2x10^6t + 0,3x10^6t

= 3x10^6t

2. Citra_asli2 = 4x10^6t + 6x10^6t + 8x10^6t + 2x10^6t

= 20x10^6t

3. Citra_asli3 = 14x10^6t + 21x10^6t + 28x10^6t + 7x10^6t

= 70x10^6t

4. Citra_asli4 = 20x10^6t + 30x10^6t + 40x10^6t + 10x10^6t

= 100x10^6t

Analisis Sensitivity Rate

Dari persamaan 2.13, yang merupakan persamaan untuk menghitung nilai sensitivity

rate dari suatu metode pendeteksi tepi, dapat ditentukan bahwa nilai nR berbanding

lurus dengan nilai nN. Artinya, nilai nN akan semakin besar jika nR juga membesar. Ini

terjadi karena dalam penelitian, citra yang diberi noise sebagai citra noisy adalah citra

tepi dari hasil pemrosesan dengan metode pendeteksi tepi. Dalam pendeteksian tepi

dengan metode Sobel, seperti yang telah dibahas pada analisis kualitas citra tepi untuk

metode Sobel, semakin besar tingkat kualitas resolusi citra masukan, maka jumlah

piksel yang dinyatakan sebagai tepi pada tiap-tiap citra hasil keluaran juga akan

semakin besar. Ini artinya, nilai P juga akan semakin besar untuk citra masukan

dengan tingkat kualitas resolusi yang semakin tinggi.

Sehingga nilai P untuk Citra_asli4 (sebagai citra dengan resolusi tertinggi)

lebih besar dari nilai P untuk Citra_asli3, Citra_asli2, dan Citra_asli1. Nilai P untuk

Citra_asli3 lebih besar dari nilai P untuk Citra_asli2 dan Citra_asli1. Serta nilai P

untuk Citra_asli2 lebih besar dari Citra_asli1.

Page 46: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

34

Analisis Metode LoG

Berikut ini pseudocode dari algoritma metode LoG, yang dapat digunakan untuk

menganalisis kinerja metode ini terhadap parameter yang ditentukan:

% Mengubah citra RGB menjadi citra skala keabuan

I = double(rgb2gray(handles.data1));

% Penghalusan

% Arah X filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix = conv2(I,filterx,'same'); % Arah Y filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy = conv2(I,filtery,'same');

% Norm of the gradient

NVI = sqrt(Ix.*Ix+Iy.*Iy);

% Konvolusi dengan kernel laplacian 3x3 H = [0 1 0,1 -4 1,0 1 0]; J = conv2(NVI,H,'same');

% Find the zerocross with thresh value

thresh = alfa.*mean2(abs(J)); edgeimage = edge(J,'zerocross',thresh);

Dari pseudocode algoritma metode LoG tersebut, maka hasil analisis kinerja

metode LoG terhadap ketiga parameter yang telah ditentukan tersebut adalah sebagai

berikut:

Analisis Kualitas Citra Tepi

Metode pendeteksian tepi dengan metode LoG memiliki 2 (dua) variabel yang

mempengaruhi kinerja metode ini, yaitu Alfa dan Sigma. Alfa, seperti halnya metode

Page 47: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

35

Sobel berfungsi sebagai faktor pengali untuk menentukan nilai pengambangan thresh

pada saat proses menentukan piksel dengan zerocrossing. Sedangkan nilai sigma

merupakan nilai standar deviasi yang diperlukan pada saat proses penghalusan dengan

metode Gaussian.

Semakin besar nilai sigma, maka tingkat kehalusan citra juga semakin tinggi.

Penghalusan dengan metode Gaussian ini dilakukan untuk mengimbangi tingkat

sensitivitas yang tinggi terhadap noise akibat proses konvolusi citra dengan kernel

Laplacian.

Metode LoG ini tidak cocok digunakan untuk mendeteksi tepian pada citra

dengan resolusi yang tinggi. Akibat proses penghalusan dengan fungsi Gaussian objek

yang seharusnya dianggap sebagai tepian tidak mampu terdeteksi lagi oleh metode ini,

dan proses konvolusi dengan kernel laplacian yang sangat sensitif terhadap noise

menyebabkan banyak piksel noise terdeteksi sebagai tepi.

Untuk mengurangi banyaknya noise yang terdeteksi pada metode ini dapat

diimbangi dengan nilai alfa, tapi hal ini juga berakibat pada banyaknya piksel yang

seharusnya tepi menjadi tidak terdeteksi. Karena itu, harus ditentukan nilai sigma dan

alfa yang tepat, dengan mempertimbangkan hasil untuk keempat citra masukan.

Analisis Timing Run

Seperti halnya proses analisis timing run untuk metode Sobel, untuk metode LoG juga

diasumsikan bahwa waktu yang digunakan untuk memproses 1 (satu) nilai piksel pada

citra adalah ‘t’, maka asumsi waktu dalam proses pendeteksian tepi dengan metode

LoG, adalah:

Langkah 1:

Pemrosesan pada langkah pertama untuk metode LoG ini sama persis dengan langkah

pertama pada pemrosesan metode Sobel yaitu terjadi dua kali proses (2t), maka waktu

Page 48: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

36

yang digunakan pada metode LoG untuk langkah pertama ini diasumsikan sebagai

berikut:

1. Citra_asli1: Waktu1 = 0,3x10^6(2t)

= 0,6x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(2t)

= 4x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(2t)

= 14x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(2t)

= 20x10^6t

Langkah 2:

Pada algoritma ini, terjadi dua kali pemrosesan untuk setiap nilai piksel citra (2t).

Proses pertama melakukan konvolusi nilai I dengan filterx yang merupakan

sebuah kernel yang dibentuk dari turunan kedua fungsi Gaussian untuk nilai x, dan

menghasilkan Ix. Proses kedua, sama dengan proses sebelumnya, hanya saja proses

ini dilakukan pada nilai y dari fungsi Gaussian filtery, sehingga diperoleh nilai Iy.

Sehingga asumsi waktu pada langkah ini adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6(2t)

= 0,6x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(2t)

= 4x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(2t)

Page 49: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

37

= 14x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(2t)

= 20x10^6t

Langkah 3:

Pemrosesan pada langkah terjadi satu kali (t), dimana prosesnya adalah menghitung

nilai gradien dari nilai Ix dan Iy, dimana hasilnya disimpan dalam nilai NVI, maka

asumsi waktu untuk proses ini adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6t

2. Citra_asli2: Waktu1 = 2x10^6t

3. Citra_asli3: Waktu1 = 7x10^6t

4. Citra_asli4: Waktu1 = 10x10^6t

Langkah 4:

Pada langkah ini, proses yang terjadi adalah konvolusi nilai piksel citra dengan kernel

Laplacian, artinya pada langkah ini hanya terjadi satu kali proses (t), sehingga dapat

diasumsikan bahwa waktu pada proses ini adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6t

2. Citra_asli2: Waktu1 = 2x10^6t

3. Citra_asli3: Waktu1 = 7x10^6t

4. Citra_asli4: Waktu1 = 10x10^6t

Langkah 5:

Setelah semua proses pada langkah pertama sampai langkah keempat tersebut selesai,

langkah selanjutnya adalah mencari persilangan nol (zerocross) dari nilai-nilai piksel

citra tersebut dengan batasan pengambangan alfa. Keseluruhan proses ini terjadi

dalam satu proses (t), sehingga asumsi waktu untuk langkah ini, adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6t

Page 50: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

38

2. Citra_asli2 Waktu1 = 2x10^6t

3. Citra_asli3 Waktu1 = 7x10^6t

4. Citra_asli4 Waktu1 = 10x10^6t

Keseluruhan waktu pemrosesan untuk keempat citra masukan tersebut dapat

dihitung dengan menjumlahkan setiap waktu pemrosesan dari setiap tahap, menjadi:

1. Citra_asli1 = 0,6x10^6t + 0,6x10^6t + 0,3x10^6t + 0,3x10^6t + 0,3x10^6t

= 2,1x10^6t

2. Citra_asli2 = 4x10^6t + 4x10^6t + 2x10^6t + 2x10^6t + 2x10^6t

= 14x10^6t

3. Citra_asli3 = 14x10^6t + 14x10^6t + 7x10^6t + 7x10^6t + 7x10^6t

= 49x10^6t

4. Citra_asli4 = 20x10^6t + 20x10^6t + 10x10^6t + 10x10^6t + 10x10^6t

= 70x10^6t

Analisis Sensitivity Rate

Metode LoG sangat sensitif terhadap noise, hal ini disebabkan oleh proses konvolusi

citra dengan kernel laplacian. Akibat hal ini, tentunya juga mempengaruhi nilai

sensitivity rate dari keluaran tiap citra masukan untuk metode LoG yang bergantung

pada jumlah piksel yang dinyatakan sebagai tepi pada citra hasil deteksi tepi (nR).

Seperti yang telah disebutkan pada subbab analisis sensitivity rate untuk

metode Sobel, besarnya jumlah piksel yang dinyatakan sebagai tepi pada citra hasil

deteksi tepi akan membuat jumlah piksel yang dinyatakan sebagai tepi pada citra hasil

deteksi tepi yang diberi noise juga semakin besar, dan nilai sensitivity rate juga

semakin besar.

Dari penjelasan tersebut, maka dapat diasumsikan bahwa Citra_asli1 memiliki

nilai sensitivity rate lebih besar dari Citra_asli3, Citra_asli2, dan Citra_asli1.

Page 51: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

39

Citra_asli3 memiliki nilai sensitivity rate lebih besar dari Citra_asli2 dan Citra_asli1,

dan Citra_asli2 memiliki nilai sensitivity rate yang lebih besar dari Citra_asli1.

Analisis Metode Canny

Berikut ini pseudocode dari algoritma metode Canny yang digunakan untuk

menganalisis kinerja metode Canny terhadap parameter-parameter yang telah

ditentukan:

% Mengubah citra RGB menjadi citra skala keabuan

I = double(rgb2gray(handles.data1));

% Penghalusan

% Arah X

filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);

Ix = conv2(I,filterx,’same’);

% Arah Y

filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2);

Iy = conv2(I,filtery,’same’);

% Norm of Gradien

NVI = sqrt(Ix.*Ix+Iy.*Iy);

% Pengambangan

I_max = max(max(NVI));

I_min = min(min(NVI));

level = alfa*(I_max-I_min)+I_min;

Ibw = max(NVI,level.*ones(size(NVI)));

% Peredaman Titik Non Maksimum

[n,m] = size(Ibw);

for i = 2:n-1

for j = 2:m-1

if Ibw(i,j)>level

X = [-1,0,+1;-1,0,+1;-1,0,+1];

Y = [-1,-1,-1;0,0,0;+1,+1,+1];

Z = [Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);

Page 52: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

40

Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI = [Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI = [Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI = interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else edgeimage(i,j)=I_min; end end end

Dari tahapan-tahapan tersebut, maka hasil analisis kinerja metode Canny

terhadap ketiga parameter yang telah ditentukan , adalah sebagai berikut:

Analisis Kualitas Citra Tepi

Sama seperti pendeteksian tepi dengan metode LoG, hasil pendeteksian tepi pada

metode Canny juga dipengaruhi oleh dua nilai variabel Sigma dan Alfa. Dan fungsi

kedua variabel ini juga sama dengan metode LoG.

Namun, jika metode LoG sangat mungkin untuk menyatakan noise sebagai

tepi, tidak demikian dengan metode Canny. Hal ini disebabkan karena metode Canny

menggunakan pengambangan hysteresys, yang artinya nilai pengambangannya

ditentukan dengan melihat nilai batas bawah dan batas atas yang menentukan suatu

piksel apakah dinyatakan sebagai tepi atau tidak.

Selain itu, adanya langkah untuk meredam titik non maksimum membuat

tepian yang dihasilkan metode ini adalah tepian tunggal (single edge), dimana tepi

tunggal merupakan tepi yang baik dari sebuah metode pendeteksi tepi. Karena dua

tahap inilah yang nantinya membuat citra tepi hasil keluaran metode Canny menjadi

citra tepi terbaik.

Page 53: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

41

Seperti halnya dengan dua metode sebelumnya, kualitas citra yang semakin

tinggi membuat metode pendeteksi tepi tidak mampu untuk mendeteksi beberapa

keberadaan piksel yang seharusnya dinyatakan sebagai tepi, begitu juga dengan

metode Canny. Seluruh piksel tepi pada hasil keluaran metode Canny untuk citra

masukan dengan resolusi rendah (Citra_asli1 dan Citra_asli2) akan mudah dideteksi

oleh metode Canny. Namun, untuk citra dengan resolusi tinggi akan ditemukan

beberapa piksel yang seharusnya merupakan tepi tidak didefenisikan sebagai tepi oleh

metode ini.

Analisis Timing Run

Dengan mengasumsikan waktu untuk memproses tiap nilai piksel pada citra masukan

sebagai ‘t’, maka dapat dianalisis asumsi waktu yang diperlukan untuk mendeteksi

citra dengan metode Canny, yaitu:

Langkah 1:

Pemrosesan pada langkah pertama untuk metode Canny masih sama dengan langkah

pertama pada pemrosesan metode Sobel dan metode LoG yaitu terjadi 2 (dua) kali

proses (2t), maka waktu yang digunakan pada metode LoG untuk langkah pertama ini

diasumsikan sebagai berikut:

1. Citra_asli1: Waktu1 = 0,3x10^6(2t)

= 0,6x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(2t)

= 4x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(2t)

= 14x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(2t)

Page 54: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

42

= 20x10^6t

Langkah 2:

Pemrosesan pada langkah kedua untuk metode Canny sama dengan pemrosesan yang

terjadi pada langkah kedua untuk metode LoG, dengan dua kali pemrosesan (2t) maka

asumsi waktu untuk langkah ini menjadi:

1. Citra_asli1: Waktu1 = 0,3x10^6(2t)

= 0,6x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(2t)

= 4x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(2t)

= 14x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(2t)

= 20x10^6t

Langkah 3:

Langkah ketiga untuk pemrosesan metode Canny juga sama dengan langkah ketiga

untuk metode LoG, dimana pada langkah ini terjadi 1 (satu) kali proses untuk tiap

nilai piksel citra masukan (t), sehingga waktu untuk keempat citra masukan dapat

diasumsikan sebagai berikut:

1. Citra_asli1: Waktu1 = 0,3x10^6t

2. Citra_asli2: Waktu1 = 2x10^6t

3. Citra_asli3: Waktu1 = 7x10^6t

4. Citra_asli4: Waktu1 = 10x10^6t

Langkah 4:

Page 55: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

43

Untuk langkah 4 ini, ada 4 jenis proses yang terjadi untuk setiap nilai piksel citra (4t)

pada langkah ini. Pertama, menentukan nilai batas bawah I_min yang berguna untuk

menentukan nilai pengambangan thresh dengan fungsi min. Proses kedua,

menentukan nilai batas atas I_max yang juga digunakan untuk mencari nilai

pengambangan thresh dengan fungsi max. Selanjutnya, mencari nilai

pengambangan yang sesuai dengan rumus thresh = alfa*(I_max-I_min)+I_min,

dimana alfa adalah nilai yang ditentukan sendiri, sesuai kebutuhan. Proses terakhir

pada tahap ini adalah mencari nilai Ibw, yang merupakan nilai piksel citra akhir yang

nantinya digunakan pada tahap berikutnya. Asumsi waktu untuk keempat citra

masukan tersebut, menjadi:

1. Citra_asli1: Waktu1 = 0,3x10^6(4t)

= 1,2x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(4t)

= 8x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(4t)

= 28x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(4t)

= 40x10^6t

Langkah 5:

Proses paling panjang pada metode Cannya adalah pada langkah ini. Pada proses ini

metode Canny akan berusaha mencari titik yang non maksimum, dan akan meredam

titik tersebut. Proses ini berlangsung dengan mencocokkan nilai Ibw dengan empat

keadaan, yaitu if Ibw(i,j)>level dan end, serta keadaan if Ibw(i,j) >=

ZI(1) & Ibw(i,j) >= ZI(2) dan else. Dari keadaan pertama terdapat tiga

penyelesaian yang dapat dikerjakan, untuk keadaan kedua, ketiga, dan keempat

masing-masing memiliki satu penyelesaian. Jika diasumsikan, langkah ini

membutuhkan 2 (dua) sampai 8 (delapan) kali pemrosesan (2t-8t). Untuk

mengasumsikan waktu dalam pemrosesan ini, digunakan asumsi terpanjang yang

Page 56: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

44

mungkin terjadi dalam langkah ini, yaitu 8t, maka asumsi waktu untuk langkah ini

adalah:

1. Citra_asli1: Waktu1 = 0,3x10^6(8t)

= 2,4x10^6t

2. Citra_asli2: Waktu1 = 2x10^6(8t)

= 16x10^6t

3. Citra_asli3: Waktu1 = 7x10^6(8t)

= 56x10^6t

4. Citra_asli4: Waktu1 = 10x10^6(8t)

= 80x10^6t

Secara keseluruhan waktu yang dibutuhkan untuk memproses keempat citra

masukan tersebut dengan metode Canny membutuhkan waktu sebesar:

1. Citra_asli1 = 0,6x10^6t + 0,6x10^6t + 0,3x10^6t + 1,2x10^6t + 2,4x10^6t

= 5,1x10^6t

2. Citra_asli2 = 4x10^6t + 4x10^6t + 2x10^6t + 8x10^6t + 16x10^6t

= 34x10^6t

3. Citra_asli3 = 14x10^6t + 14x10^6t + 7x10^6t + 28x10^6t + 56x10^6t

= 119x10^6t

4. Citra_asli4 = 20x10^6t + 20x10^6t + 10x10^6t + 40x10^6t + 80x10^6t

= 170x10^6t

Analisis Sensitivity Rate

Berbeda dengan metode Sobel dan LoG, jika pada metode-metode tersebut nilai

sensitivity rate dari tiap citra masukan akan semakin besar untuk citra dengan kualitas

resolusi yang juga semakin besar, pada metode Canny hal itu tidak akan terjadi.

Page 57: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

45

Tahap-tahap pada metode Canny yang sangat kompleks membuat metode ini

memiliki ketahanan yang cukup tinggi terhadap noise. Berbeda dengan metode LoG,

karena kesensitivitasannya yang tinggi terhadap noise membuat metode ini

mendefenisikan piksel yang merupakan noise tersebut sebagai sebuah tepi. Dalam

metode Canny, dengan langkah peredaman titik lokal non mkasimum, metode ini

berhasil membedakan mana piksel yang memang sebagai tepi dan mana piksel yang

bukan tepi.

Dengan langkah-langkah pendeteksian tepi yang digunakan pada pendeteksian

tepi metode Canny, metode bekerja maksimal pada citra masukan dengan tingkat

resolusi yang rendah, karena memiliki nilai intensitas yang lebih tinggi untuk setiap

pikselnya dibanding citra dengan tingkat resolusi tinggi.

Hal ini menyebabkan jumlah piksel tepi yang terdeteksi pada citra dengan

resolusi tinggi akan lebih sedikit dibanding dengan jumlah piksel yang terdeteksi

sebagai tepi pada citra dengan kualitas resolusi rendah. Dan ini artinya nilai sensitivity

rate untuk citra dengan resolusi rendah (Citra_asli1 dan Citra_asli2) akan lebih besar

dibanding dengan nilai sensitivity rate untuk citra masukan yang memiliki tingkat

resolusi tinggi (Citra_asli3 dan Citra_asli4).

Akuisisi Data

Setelah melakukan analisis dan sebelum melakukan perancangan, tahap yang harus

dilakukan adalah proses akuisisi data (pengumpulan data). Data disini merupakan

sebuah objek yang akan dicitrakan dengan kamera digital. Data ini berguna sebagai

citra masukan yang akan diujicobakan di dalam sistem yang akan dibangun.

Proses akuisisi data dilakukan dengan melakukan riset langsung pada

Poliklinik Universitas Sumatera Utara (USU). Sampel golongan darah dipilih sebagai

objek riset karena dianggap memiliki karakteristik pola tepi yang khas jika diolah

dengan suatu metode pendeteksi tepi.

Page 58: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

46

Riset dilakukan dengan memotret salah satu tipe golongan darah manusia (tipe

AB0) menggunakan 4 (empat) buah kamera digital dengan tingkat resolusi yang

berbeda, yaitu 0,3 (nol koma tiga) megapiksel, 2 (dua) megapiksel, 7 (tujuh)

megapiksel, dan 10 (sepuluh) megapiksel. Keseluruhan citra hasil akuisisi ini

disimpan dalam format jpeg ‘.jpg’ dengan tujuan untuk memudahkan proses

pengolahannya dalam aplikasi yang dibangun membangun bahasa pemrograman

Matlab 7.5.0. Gambar 3.1 merupakan gambar objek hasil akuisisi data yang digunakan

sebagai masukan dalam aplikasi.

Gambar 3.1 Data Masukan

Perancangan Sistem

Perancangan merupakan tahap kedua dari siklus hidup pengembangan sistem. Dalam

penulisan Tugas Akhir ini, tahap perancangan merupakan suatu tahap yang dilakukan

karena dianggap dapat memudahkan proses analisis terhadap kesesuaian hasil yang

diperoleh dengan analisis secara keilmuan. Dalam proses perancangan, hal yang harus

diperhatikan adalah bagaimana membangun sebuah sistem yang dapat menunjukkan

hasil penelitian, yang ditampilkan secara grafis. Dalam sistem tersebut, juga

menampilkan segala informasi yang berhubungan dengan penelitian.

Perancangan DFD dan Spsesifikasi Proses

Pemodelan sistem yang dibangun digambarkan dengan diagram aliran data (Data

Flow Diagram) yang menunjukkan bagaimana data diproses oleh sistem atau

bagaimana data mengalir dalam serangkaian pemrosesan. Keuntungan penggunanan

DFD adalah memudahkan pemakai yang kurang menguasai bidang komputer untuk

mengerti sistem yang akan dikerjakan atau dikembangkan.

Page 59: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

47

P.0

Metode Pendeteksi Tepi Sobel, LoG dan

Canny

user

citra_asli

data hasil

Ada 2 teknik dasar DFD yang umum dipakai yaitu Gane and Sarson dan

Yourdan and DeMarco. Pada tugas akhir ini teknik dasar DFD yang digunakan adalah

Yourdan and DeMarco. Gambar 3.2 memperlihatkan DFD level 0 dari sistem yang

akan dirancang.

Gambar 3.2 DFD Level 0

DFD level 0 di atas memperlihatkan sistem secara garis besar yang terdiri dari

masukan, proses, dan keluaran dari sistem yang akan dirancang. Proses yang terjadi

pada DFD level 0 tersebut dapat dijelaskan melalui spesifikasi proses pada Tabel 3.1.

Tabel 3.1 Spesifikasi Proses DFD Level 0

No/Nama

Proses Input Keterangan Proses Output

P.0/Metode

Pendeteksi Tepi

Sobel, LoG dan

Canny

Citra_asli Mendeteksi tepi sebuah citra dengan

format JPEG (.jpg) dengan metode Sobel,

LoG, dan Canny, serta menghitung nilai

Sensitivity Rate dan Timing Run-nya.

data_hasil

Page 60: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

48

Selanjutnya DFD level 0 diatas dapat dijabarkan lebih luas lagi dengan

memecah Proses 0 ke dalam proses-proses yang lebih kecil. Penjabaran tersebut

disebut sebagai DFD Level 1 yang diperlihatkan pada Gambar 3.3.

Gambar 3.3 DFD Level 1

Penjelasan mengenai proses-proses yang terjadi pada DFD level 1 tersebut

dapat dilihat dalam Tabel 3.2.

Tabel 3.2 Spesifikasi Proses DFD Level 1

No/Nama

Proses Input Keterangan Proses Output

P.1/Proses

Deteksi

Tepi Sobel

Citra_asli Mendeteksi tepi citra dengan metode

Sobel, dan menghitung nilai Sensitivity

Rate dan Timing Run-nya.

hasil_sobel

P.2/Proses

Deteksi

Tepi LoG

Citra_asli Mendeteksi tepi citra dengan metode

LoG, dan menghitung nilai Sensitivity

Rate dan Timing Run-nya.

hasil_LoG

P.3/Proses

Deteksi

Tepi Canny

Citra_asli Mendeteksi tepi citra dengan metode

Canny, dan menghitung nilai

Sensitivity Rate dan Timing Run-nya.

hasil_canny

P.2 Proses

Deteksi Tepi LoG

P.3 Proses

Deteksi Tepi Canny

P.1 Proses

Deteksi Tepi Sobel

user

citra_asli

hasil_sobel citra_asli citra_asli

hasil_LoG

hasil_canny

Page 61: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

49

Proses 1 (P.1) dari DFD level 1 di atas terdiri atas 5 (lima) proses utama yang

terjadi didalamnya, aliran data yang terjadi pada proses ini disebut sebagai DFD level

2 Proses P.1 Deteksi Tepi Sobel, diperlihatkan pada Gambar 3.4.

Gambar 3.4 DFD Level 2 Proses P.1 Deteksi Tepi Sobel

Untuk spesifikasi proses yang terjadi pada DFD level 2 proses P.1 ini

ditunjukkan pada Tabel 3.3.

Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses P.1 Deteksi Tepi Sobel

No/Nama

Proses Input Keterangan Proses Output

P.1.1/Proses

Tampil Citra

Masukan

citra_asli Mencari sebuah file citra asli

(masukan) dan

menampilkannya.

data_citra_asli1,

data_citra_asli2

P.1.2/Proses

Tampil Citra

Hasil Deteksi

Tepi Sobel

data_citra_asli Menampilkan citra yang

telah diproses dengan

metode pendeteksi tepi

Sobel.

citra_tepi_sobel,

piksel_sobel1,

waktu_sobel1,

waktu_sobel2

P.1.3/Proses

Tambah Noise

citra_tepi_sobel Citra hasil deteksi tepi Sobel

disisipi noise dengan nilai

tertentu.

piksel_sobel2

user

P.1.2 Proses Tampil Citra Hasil Deteksi Tepi

Sobel

data_citra _asli1

nilai_tr_sobel

P.1.1 Proses

Tampil Citra Masukan

P.1.3 Proses Tambah

Noise

P.1.4 Proses Hitung

Sensitivity Rate

P.1.5 Proses Hitung Timing Run

citra_asli

piksel_ sobel1

nilai_sr_sobel

waktu_sobel1, waktu_sobel2

citra_tepi _sobel

piksel_sobel2

citra_tepi_sobel

data_citra _asli2

Page 62: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

50

P.1.4 /Proses

Hitung

Sensitivity Rate

piksel_sobel1,

piksel_sobel2

Menghitung nilai sensitivity

rate dari pendeteksi tepi

sobel.

nilai_sr_sobel

P.1.5/Proses

Hitung Timing

Run

waktu_sobel1,

waktu_sobel2

Menghitung nilai timing run

dari proses pendeteksian tepi

dengan metode Sobel.

nilai_tr_sobel

Untuk penjabaran proses P.2 Deteksi Tepi LoG dari DFD level 1, juga terdapat

5 (lima) proses utama. Gambar 3.5 memperlihatkan hasil penjabaran DFD Level 2

Proses P.2.

Gambar 3.5 DFD Level 2 Proses P.2 Deteksi Tepi LoG

Dan untuk tabel spesifikasi proses dari DFD Level 2 Proses P.2 tersebut dapat

dilihat pada Tabel 3.4.

Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses P.2 Deteksi Tepi LoG

No/Nama Proses Input Keterangan Proses Output

P.1.1/Proses

Tampil Citra

Masukan

Citra_asli Mencari sebuah file citra asli

(masukan) dan

menampilkannya.

data_citra_asli1,

data_citra_asli2

P.1.2/Proses

Tampil Citra Hasil

Deteksi Tepi LoG

data_citra_asli Menampilkan citra yang telah

diproses dengan metode

pendeteksi tepi LoG.

citra_tepi_LoG,

piksel_LoG1,

waktu_LoG1,

waktu_LoG2

P.1.3/Proses citra_tepi_LoG Citra hasil deteksi tepi Sobel piksel_LoG2

user

P.1.2 Proses Tampil Citra Hasil Deteksi Tepi

LoG

data_citra _asli1

nilai_tr_LoG

P.1.1 Proses

Tampil Citra Masukan

P.1.3 Proses Tambah

Noise

P.1.4 Proses Hitung

Sensitivity Rate

P.1.5 Proses Hitung Timing Run

citra_asli

piksel _LoG1

nilai_sr_LoG

waktu_LoG1, waktu_LoG2

citra_tepi_LoG

citra_tepi _LoG

piksel_LoG2

data_citra _asli2

Page 63: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

51

Tambah Noise disisipi noise.

P.1.4/Proses Hitung

Sensitivity Rate

piksel_LoG1,

piksel_LoG2

Menghitung nilai sensitivity

rate dari pendeteksi tepi LoG.

nilai_sr_LoG

P.1.5/Proses Hitung

Timing Run

waktu_LoG1,

waktu_LoG2

Menghitung nilai timing run

dari proses pendeteksian tepi

dengan metode LoG.

nilai_tr_LoG

Sedangkan untuk Proses P.3 Deteksi Tepi Canny dari DFD level 1 di atas juga

dijabarkan ke dalam 5 (lima) proses utama menjadi DFD Level 2 Proses P.3. Proses-

proses tersebut dapat dilihat pada Gambar 3.6.

Gambar 3.6 DFD Level 2 Proses P.3 Deteksi Tepi Canny

Spesifikasi dari proses-proses pada DFD Level 2 Proses P.3 di atas, dijelaskan

dalam Tabel 3.5.

Tabel 3.5 Spesifikasi Proses DFD Level 2 Proses P.3 Deteksi Tepi Canny

No/Nama

Proses Input Keterangan Proses Output

P.1.1/Proses

Tampil Citra

Masukan

citra_asli Mencari sebuah file citra asli

(masukan) dan

menampilkannya.

data_citra_asli1,

data_citra_asli2

P.1.2/Proses

Tampil Citra

Hasil Deteksi

data_citra_asli Menampilkan citra yang

telah diproses dengan

metode pendeteksi tepi

citra_tepi_canny,

piksel_canny1,

waktu_canny1,

user

P.1.2 Proses Tampil Citra Hasil Deteksi Tepi

Canny

data_citra _asli1

nilai_tr_canny

P.1.1 Proses

Tampil Citra Masukan

P.1.3 Proses Tambah

Noise

P.1.4 Proses Hitung

Sensitivity Rate

P.1.5 Proses Hitung Timing Run

citra_asli

piksel_ canny1

nilai_sr_canny

waktu_canny1, waktu_canny2

citra_tepi_canny

citra_tepi _canny

piksel_ canny2 data_citra

_asli2

Page 64: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

52

Tepi Canny Canny. Waktu_canny2

P.1.3/Proses

Tambah Noise

citra_tepi_canny Citra hasil deteksi tepi Sobel

disisipi noise dengan nilai

tertentu.

piksel_canny2

P.1.4 /Proses

Hitung

Sensitivity Rate

piksel_canny1,

piksel_canny2

Menghitung nilai sensitivity

rate dari pendeteksi tepi

Canny.

nilai_sr_canny

P.1.5/Proses

Hitung Timing

Run

waktu_canny1,

waktu_canny2

Menghitung nilai timing run

dari proses pendeteksian tepi

dengan metode Canny.

nilai_tr_canny

Perancangan Kamus Data

Kamus data merupakan suatu data yang disusun untuk memudahkan proses analisis

dan desain. Dengan kamus data pemakai dan analis sistem akan memiliki pemahaman

yang umum mengenai input, output, dan komponen penyimpanan. Tabel 3.6

merupakan tabel yang memperlihatkan kamus data untuk menjelaskan setiap aliran

data pada DFD yang telah dijelaskan sebelumnya.

Tabel 3.6 Kamus Data

No. Nama Tipe Data Deskripsi 1. Citra_asli Image citra_asli = *file citra asli dengan ekstensi .jpg* 2. Data_citra_asli1 Array[0..255]

of integer data_citra_asli = *berupa matriks nilai piksel citra asli*

3. Data_citra_asli2 data_citra_asli2 = nama_file + ukuran_file - nama_file String nama_file = *nama citra asli dalam ekstensi .jpg* - ukuran_file String ukuran_file = *ukuran citra asli dgn satuan piksel*

4. Data_hasil data_hasil = hasil_sobel + hasil_LoG + hasil_canny 5. Hasil_sobel hasil_sobel = citra_tepi_sobel + nilai_sr_sobel +

nilai_tr_sobel - citra_tepi_sobel Image citra_tepi_sobel = *citra asli setelah diproses

dengan metode sobel*

Page 65: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

53

- nilai_sr_sobel Floating Point

nilai_sr_sobel = |piksel_sobel2 – piksel_sobel1| : piksel_sobel1

- nilai_tr_sobel Integer nilai_tr_sobel = waktu_sobel2 – waktu_sobel1 6. Hasil_LoG hasil_LoG = citra_tepi_LoG + nilai_sr_LoG +

nilai_tr_LoG - citra_tepi_LoG Image citra_tepi_LoG = *citra asli setelah diproses dengan

metode LoG* - nilai_sr_sobel Floating

Point nilai_sr_LoG = |piksel_LoG2 – piksel_LoG1| : piksel_LoG1

- nilai_tr_sobel Integer nilai_tr_LoG = waktu_LoG2 – waktu_LoG1 7. Hasil_canny hasil_canny = citra_tepi_canny + nilai_sr_canny +

nilai_tr_canny - citra_tepi_canny Image citra_tepi_canny = *citra asli setelah diproses

dengan metode canny* - nilai_sr_canny Floating

Point nilai_sr_canny = |piksel_canny2 – piksel_canny1| : piksel_canny1

- nilai_tr_canny Integer nilai_tr_canny = waktu_canny2 – waktu_canny1 8. piksel_sobel1 Integer piksel_sobel1 = *jumlah piksel tepi hasil sobel* 9. piksel_sobel2 Integer piksel_sobel2 = *jumlah piksel sobel dengan noise* 10. piksel_LoG1 Integer piksel_LoG1 = *jumlah piksel tepi hasil LoG* 11. piksel_LoG2 Integer piksel_LoG2 = *jumlah piksel LoG dengan noise* 12. piksel_canny1 Integer piksel_canny1 = *jumlah piksel tepi hasil canny* 13. piksel_canny2 Integer piksel_canny2 = *jumlah piksel canny dengan

noise* 14. waktu_sobel1 Time waktu_sobel1 = *waktu awal pemrosesan sobel* 15. waktu_sobel2 Time waktu_sobel2 = *waktu akhir pemrosesan sobel* 16. waktu_LoG1 Time waktu_LoG1 = *waktu awal pemrosesan LoG* 17. waktu_LoG2 Time waktu_LoG2 = *waktu akhir pemrosesan LoG* 18. waktu_canny1 Time waktu_canny1 = *waktu awal pemrosesan canny* 19. waktu_canny2 Time waktu_canny2 = *waktu akhir pemrosesan canny*

Perancangan Antarmuka Pemakai (User Interface)

Antarmuka pemakai (user interface) adalah aspek sistem komputer atau program yang

dapat dilihat, didengar, atau dipersepsikan oleh pengguna manusia, dan perintah-

perintah atau mekanisme yang digunakan pemakai untuk mengendalikan operasi dan

memasukkan data.

Page 66: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

54

Berikut ini merupakan perancangan antarmuka aplikasi Pendeteksi Tepi Citra

yang dirancang dengan 6 (enam) buah antarmuka, yang dalam bahasa pemrograman

Matlab disebut dengan Figur. Figur-figur tersebut terdiri atas figur utama yang diberi

nama sebagai Figur PendeteksianTepi, figur untuk pendeteksian tepi dengan ketiga

metode yang diberi nama Figur MetodeSobel, MetodeLoG, dan MetodeCanny serta

figur untuk info mengenai program dan programmer, yang diberi nama Figur

InfoProgrammer dan InfoProgram.

Antarmuka Figur PendeteksianTepi

Tampilan utama merupakan tampilan awal yang akan menghubungkan user dengan

fitur utama perangkat lunak. Oleh karena itu, antarmuka untuk figur utama ini

dirancang dengan tampilan yang sederhana, namun tetap menarik sehingga

mempermudah user dalam berinteraksi dengan sistem atau perangkat lunak (user

friendly).

Antarmuka ini dirancang dengan 2 (dua) pilihan menu, yaitu Metode dan Info.

Dari menu-menu ini, pengguna nantinya dapat berinteraksi dengan ketiga metode

pendeteksi tepi yang telah ditentukan. Selain dapat berinteraksi dengan ketiga metode

pendeteksi tersebut melalui menu Metode, aplikasi ini juga dirancang untuk dapat

memberikan informasi kepada pengguna mengenai gambaran umum program dan

pembuat program (programmer) melalui menu Info yang disediakan. Dalam menu

utama ini juga dirancang tampilan dari judul aplikasi serta sedikit identitas dari

pembuat program. Gambar 3.7 memperlihatkan rancangan antarmuka dari Menu

Utama.

Metode Info Sobel LoG Canny Keluar

Programmer Program

APLIKASI PENDETEKSI TEPI CITRA DENGAN METODE SOBEL, LoG, DAN CANNY

SKRIPSI

Created by: Afnisyah Taurisna

051401033

Page 67: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

55

Gambar 3.7 Rancangan Antarmuka Figur PendeteksianTepi

Antarmuka Figur MetodeSobel

Figur MetodeSobel dirancang untuk dapat melakukan beberapa operasi terhadap citra

yang akan diolah dengan metode pendeteksi tepi Sobel. Operasi-operasi tersebut

terdiri dari buka file, deteksi tepi file, hitung nilai timing run, dan hitung nilai

sensitivity rate. Selain itu, operasi lain yang dapat dilakukan pada figur ini adalah

Keluar.

Keseluruhan operasi tersebut dirancang menjadi 2 (dua) buah menu, yaitu File

dan Keluar. Menu File dibagi atas 3 (tiga) buah sub-menu Buka dan Proses. Dan

untuk operasi Proses juga terdiri atas 3 (tiga) sub-menu lain, yaitu Deteksi Tepi,

Timing Run dan Sensitivity Rate.

Pada figur ini dirancang 2 (dua) buah kolom untuk menampilkan gambar,

kolom pertama untuk citra asli (masukan) dan kolom kedua untuk citra tepi (keluaran).

Figur ini juga dirancang untuk dapat menampilkan Nama dan Ukuran dari file citra

yang ditampilkan. Selain itu, figur ini juga dirancang dengan 2 (dua) buah kolom

untuk menampilkan nilai Timing Run dan Sensitivity Rate. Gambar 3.8

memperlihatkan tampilan rancangan antarmuka figur MetodeSobel.

File Keluar

Buka Proses ► Deteksi Tepi

Timing Run Sensitivity Rate

Pendeteksian Tepi Sobel

Citra Asli Citra Tepi

Page 68: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

56

Gambar 3.8 Rancangan Antarmuka Figur MetodeSobel.

Antarmuka Figur MetodeLoG

Figur MetodeLoG dirancang dengan antarmuka yang keseluruhannya hampir sama

dengan figur MetodeSobel. Hanya saja, setiap kata Sobel yang terdapat pada figur

MetodeSobel diubah menjadi kata LoG pada figur MetodeLoG. Hal ini tentu saja

berhubungan dengan pemrosesan yang berlangsung pada figur MetodeLoG ini.

Perancangan antarmuka untuk pendeteksian tepi dengan ketiga metode ini

dibuat dengan rancangan yang hampir sama untuk memudahkan melihat perbedaan

antara hasil dari pendeteksian tepi dengan ketiga metode tersebut. Gambar 3.9

memperlihatkan rancangan antarmuka dari figur MetodeLoG.

File Keluar Buka Proses ► Deteksi Tepi

Timing Run Sensitivity Rate

Pendeteksian Tepi LoG

Citra Asli Citra Tepi

Page 69: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

57

Gambar 3.9 Rancangan Antarmuka Figur MetodeLoG

Antarmuka Figur MetodeCanny

Seperti halnya figur MetodeLoG yang dirancang dengan antarmuka yang hampir sama

dengan figur MetodeSobel, figur MetodeCanny juga dirancang dengan tampilan yang

keseluruhannya hampir sama dengan figur MetodeSobel dan MetodeLoG.

Perbedaannya juga terletak pada setiap kata yang menyebutkan jenis metode

diubah menjadi Canny, dan hal ini juga berhubungan dengan pemrosesan yang

berlangsung di dalam figur ini. Gambar 3.10 memperlihatkan rancangan antarmuka

dari figur MetodeCanny.

File Keluar Buka Proses ► Deteksi Tepi

Timing Run Sensitivity Rate

Pendeteksian Tepi Canny

Citra Asli Citra Tepi

Page 70: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

58

Gambar 3.10 Rancangan Antarmuka Figur MetodeCanny

Antarmuka Figur InfoProgrammer

Figur InfoProgrammer dirancang sedemikian rupa untuk dapat memberikan informasi

mengenai pembuat program (programmer). Informasi yang ditampilkan pada figur ini

meliputi foto dan data diri pembuat program. Untuk memudahkan pengguna jika ingin

keluar dari figur ini dapat mengklik tombol Keluar yang dirancang pada bagian bawah

figur. Gambar 3.11 memperlihatkan rancangan antarmuka dari figur InfoProgrammer.

Info Programmer

Image

Keluar

Data Programmer

Page 71: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

59

Gambar 3.11 Rancangan Antarmuka Figur InfoProgrammer

Antarmuka Figur InfoProgram

Figur InfoProgram dirancang untuk memberikan informasi kepada pengguna

mengenai gambaran umum dari aplikasi pendeteksi tepi citra ini. Informasi tersebut

ditampilkan sebagai uraian beberapa kalimat penjelasan. Selain berisi uraian, figur ini

juga dilengkapi dengan tombol Keluar untuk memudahkan pengguna jika ingin keluar

dari figur InfoProgram. Gambar 3.12 memperlihatkan rancangan antarmuka dari figur

InfoProgram.

Gambar 3.12 Rancangan Antarmuka Figur InfoProgram

Antarmuka Figur Keluar

Figur ini merupakan figur yang akan ditampilkan jika pengguna memilih Tombol

Keluar pada setiap form. Figur ini berisi sebuah pertanyaan untuk meyakinkan

pengguna dengan keputusannya untuk keluar. Pada figur ini juga disediakan dua buah

tombol pilihan, yaitu ’ya’ dan ’tidak’. Tombol ’ya’ akan membawa pengguna keluar

Info Program

Keluar

Isi

Page 72: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

60

Pertanyaan Konfirmasi Keluar

Ya Tidak

dari program dan tombol ’tidak’ akan membawa pengguna kembali ke figur yang

sedang diakses. Tampilan dari figur keluar dapat dilihat pada Gambar 3.13.

Gambar 3.13 Rancangan Antarmuka Figur Keluar

Page 73: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Setelah melalui tahap perancangan, tahap selanjutnya untuk mengembangkan suatu

perangkat lunak adalah tahap implementasi. Untuk mengetahui apakah hasil

implementasi perangkat lunak tersebut telah berhasil atau tidak, diperlukan pengujian.

Berikut ini hasil implementasi dan pengujian dari aplikasi perangkat lunak yang telah

dibangun:

Implementasi

Dalam pengembangan aplikasi pendeteksi tepi citra dengan metode Sobel, LoG, dan

Canny ini bahasa pemrograman yang digunakan adalah Matlab 7.5.0 (R2007b).

Listing program dari aplikasi ini dapat dilihat pada halaman Lampiran. Dalam

implementasinya, aplikasi ini terdiri atas 6 (enam) buah tampilan utama, yang dalam

Matlab dikenal sebagai figur. Figur-figur tersebut terdiri atas:

1. Figur PendeteksianTepi

2. Figur MetodeSobel

3. Figur MetodeLoG

4. Figur MetodeCanny

5. Figur InfoProgrammer, dan

6. Figur InfoProgram

Page 74: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

62

Figur PendeteksianTepi

Figur PendeteksianTepi ini merupakan tampilan utama dari aplikasi yang telah

dibanguan. Figur ini menghubungkan pengguna untuk dapat menggunakan aplikasi

pendeteksian tepi. Figur ini diimplementasikan dengan tampilan seperti Gambar 4.1.

Gambar 4.1 Tampilan Figur PendeteksianTepi

Figur PendeteksianTepi ini dirancang dengan 2 (dua) buah menu utama, yaitu

Metode dan Info. Menu Metode terdiri atas sub-menu Sobel, LoG, Canny, dan Keluar.

Sub-menu Sobel menghubungkan pengguna dengan figur MetodeSobel, sub-menu

LoG menghubungkan pengguna dengan figur MetodeLoG, dan sub-menu Canny

menghubungkan pengguna dengan figur MetodeCanny, dan sub-menu Keluar

menghubungkan pengguna dengan pilihan untuk meninggalkan aplikasi atau tidak.

Tampilan penjabaran menu Metode ini dapat dilihat dari Gambar 4.2.

Page 75: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

63

Gambar 4.2 Menu Metode pada Figur PendeteksianTepi

Menu Info tediri atas 2 (dua) sub-menu, yaitu Programmer dan Program. Sub-

menu Programmer menghubungkan pengguna dengan figur InfoProgrammer, dan sub-

menu Program menghubungkan pengguna dengan figur InfoProgram. Gambar 4.3

memperlihatkan tampilan dari menu Info pada figur Pendeteksian Tepi.

Gambar 4.3 Menu Info pada Figur PendeteksianTepi

Page 76: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

64

Figur MetodeSobel

Figur MetodeSobel merupakan figur yang menghubungkan pengguna dengan metode

Sobel untuk mendeteksi tepi citra. Untuk menjangkau figur ini, pengguna dapat

mengklik menu Metode, kemudian memilih sub-menu Sobel yang terdapat pada figur

PendeteksianTepi. Tampilan dari figur MetodeSobel diperlihatkan pada Gambat 4.4.

Gambar 4.4 Tampilan Figur MetodeSobel

Pada figur ini, terdapat 2 (dua) pilihan menu, yaitu menu File dan menu

Keluar. Dari menu File, pengguna dapat melakukan beberapa operasi yang dapat

dipilih dengan mengklik tiap pilihan sub-menu dari menu File. Operasi-operasi

tersebut terdiri atas :

1. Buka, dan

2. Proses

Page 77: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

65

Sub-menu Buka merupakan pilihan untuk menampilkan file citra yang diambil

dari salah satu alamat direktori, dan akan diproses dengan metode pendeteksi tepi

Sobel, dan sub-menu proses merupakan pilihan beberapa proses yang ingin dilakukan

terhadap file citra yang telah dipilih untuk diporses. Operasi-operasi yang dapat

dilakukan dari sub-menu proses ini adalah Deteksi Sobel untuk melakukan deteksi

tepi terhadap citra masukan dengan metode Sobel, Timing Run untuk menghitung

kecepatan proses deteksi metode Sobel, dan Sensitivity Rate untuk mengetahui nilai

kesensitifan metode Sobel terhadap noise. Gambar 4.5 memperlihatkan penjabaran

sub-menu dari menu File yang terdapat pada figur MetodeSobel.

Gambar 4.5 Menu File pada Figur MetodeSobel

Dengan mengklik menu File dan sub-menu Buka pada figur MetodeSobel,

citra yang dipilih sebagai citra masukan (citra asli) akan ditampilkan pada kolom yang

terdapat di bawah label ’Citra Asli’ pada figur. Begitu juga dengan nama dan ukuran

Page 78: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

66

dari file citra asli tersebut akan ditampilkan pada kolom ’Nama File’ dan ’Ukuran’

yang telah tersedia di bawah kolom tersebut. Informasi ini berguna untuk menandakan

perbedaan antara setiap file yang menjadi input dalam aplikasi. Sedangkan kolom di

bawah label ’Citra Tepi’ akan menampilkan citra hasil deteksi tepi dengan metode

Sobel, jika pengguna mengklik menu File, sub-menu Proses, dan sub-menu Deteksi

Sobel.

Untuk memperoleh nilai ’Timing Run’ dan ’Sensitivity Rate’ dari hasil

pendeteksian tepi dengan metode Sobel dan menampilkan pada kolom yang terdapat

di bagian bawah figur dapat dilakukan dengan memilih menu File, sub-menu Proses

dan sub-menu Timing Run (untuk nilai Timing Run) dan Sensitivity Rate (untuk nilai

Sensitivity Rate).

Figur MetodeLoG

Figur MetodeLoG merupakan figur yang menghubungkan pengguna dengan proses

pendeteksian tepi citra dengan metode Laplacian of Gaussian (LoG). Untuk

menampilkan figur ini pengguna dapat mengklik menu Metode dan sub-menu LoG

pada figur PendeteksianTepi. Hampir keseluruhan tampilan figur LoG ini memiliki

tampilan yang sama dengan figur MetodeSobel. Gambar 4.6 memperlihatkan tampilan

dari figur MetodeLoG.

Page 79: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

67

Gambar 4.6 Tampilan Figur MetodeLoG

Perbedaan antara figur MetodeSobel dengan MetodeLoG terdapat pada pilihan

sub-menu yang tersedia. Jika pada figur MetodeSobel pada menu File dan sub-menu

Proses salah satu pilihan sub-menu selanjutnya adalah ‘Deteksi Sobel’, pada figur

MetodeLoG pilihan ini diganti dengan ‘Deteksi LoG’. Selain dari perbedaan pilihan

sub-menu tersebut, seluruh tampilan kedua figur ini sama. Gambar 4.7

memperlihatkan penjabaran sub-menu dari figur MetodeLoG yang membedakannya

dengan figur MetodeSobel.

Page 80: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

68

Gambar 4.7 Menu File pada Figur MetodeLoG

Figur MetodeCanny

Figur MetodeCanny merupakan figur yang menghubungkan pengguna dengan proses

pendeteksian tepi citra dengan metode Canny. Untuk menampilkan figur ini pengguna

dapat mengklik menu Metode dan sub-menu Canny pada figur PendeteksianTepi.

Seperti halnya pada figur MetodeLoG, hampir keseluruhan tampilan figur

MetodeCanny juga memiliki tampilan yang sama dengan kedua figur sebelumnya,

yaitu MetodeSobel dan MetodeLoG. Gambar 4.8 memperlihatkan tampilan dari figur

Metode Canny.

Page 81: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

69

Gambar 4.8 Tampilan Figur MetodeCanny

Figur MetodeCanny pun memiliki perbedaan yang sama dengan perbedaan

antara figur MetodeSobel dengan MetodeLoG. Perbedaan tersebut terletak pada

pilihan sub-menu yang tersedia. Jika pada figur MetodeSobel pada menu File dan sub-

menu Proses salah satu pilihan sub-menu selanjutnya adalah ‘Deteksi Sobel’ dan pada

figur MetodeLoG pilihan ini diganti dengan ‘Deteksi LoG’, maka pada figur

MetodeCanny pilihan ini diubah menjadi ‘Deteksi Canny’. Selain dari perbedaan

pilihan sub-menu tersebut, seluruh tampilan ketiga figur ini sama. Gambar 4.9

memperlihatkan penjabaran sub-menu dari figur MetodeCanny yang membedakannya

dengan figur MetodeSobel dan MetodeLoG.

Page 82: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

70

Gambar 4.9 Menu File pada Figur MetodeCanny

Figur InfoProgrammer

Figur InfoProgrammer merupakan figur yang berfungsi untuk memberikan informasi

mengenai programmer dari aplikasi pendeteksi tepi ini. Informasi tersebut terdiri atas

data diri dari programmer. Figur ini dapat dipilih dengan mengklik menu Info dan

sub-menu Programmer pada figur PendeteksianTepi. Gambar 4.10 memperlihatkan

Figur InfoProgrammer.

Page 83: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

71

Gambar 4.10 Tampilan Figur InfoProgrammer

Figur InfoProgram

Untuk menampilkan figur InfoProgram, pengguna dapat mengklik menu Info dan sub-

menu Program dari menu yang terdapat pada figur PendeteksianTepi. Figur ini berisi

informasi mengenai gambaran umum dari aplikasi pendeteksian tepi citra ini. Gambar

4.11 memperlihatkan tampilan dari figur InfoProgram.

Page 84: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

72

Gambar 4.11 Tampilan Figur InfoProgram

Selain dari 6 (enam) figur yang telah dijabarkan di atas, dalam aplikasi ini juga

terdapat 1 (satu) buah figur question dialog yang akan tampil ketika pengguna

mengklik pilihan untuk ’Keluar’ dari setiap figur yang ada. Gambar 4.12

memperlihatkan tampilan dari figur ’Keluar’.

Gambar 4.12 Tampilan Menu Keluar

Page 85: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

73

Pengujian

Untuk melihat keberhasilan sebuah sistem yang telah dibangun sebagai sarana untuk

menyelesaikan suatu permasalahan, sistem tersebut harus diuji dengan beberapa kasus

yang berbeda. Jika sistem yang telah diuji dianggap dapat memenuhi kebutuhan

pengguna maka sistem itu dapat dikatakan sebagai sebuah sistem yang sukses.

Dalam penulisan Tugas Akhir ini, pengujian terhadap aplikasi pendeteksi tepi

yang telah dibangun dilakukan dengan menguji kinerja tiap metode yang ada dengan

empat jenis citra masukan yang berbeda kualitas resolusinya. Citra-citra tersebut untuk

selanjutnya disebut sebagai Citra_asli1 untuk jenis citra dengan resolusi 0,3

megapiksel, Citra_asli2 untuk citra dengan resolusi 2 megapiksel, Citra_asli4 untuk

citra dengan resolusi 7 megapiksel dan Citra_asli4 untuk citra dengan resolusi 10

megapiksel.

Hasil

Berikut ini hasil yang diperoleh dari pengujian terhadap aplikasi pendeteksian tepi

citra dengan tiga metode pendeteksi tepi yang diuji dengan empat jenis citra masukan

yang memiliki tingkat kualitas resolusi yang berbeda:

Metode Sobel

Dari hasil pengujian yang dilakukan terhadap metode Sobel dengan empat jenis citra

masukan yang berbeda, yaitu Citra_asli1, Citra_asli2, Citra_asli3, dan Citra_asli4,

serta menetapkan nilai Alfa yang dipakai sebagai variabel yang mempengaruhi

kualitas citra hasil keluaran metode ini dengan nilai 8,0, maka diperoleh hasil sebagai

berikut:

1. Citra_asli1

Dari pengujian yang dilakukan terhadap metode Sobel dengan Citra_asli1 sebagai

masukannya, diperoleh hasil:

Page 86: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

74

Kualitas citra tepi:

a. Terdapat beberapa piksel bukan tepi yang didefenisikan sebagai tepi.

b. Tepi yang dihasilkan adalah tepi ganda (double edge).

Nilai timing run = 2,064 detik

Nilai sensitivity rate = 0,752373 piksel

Gambar 4.13 memperlihatkan figur yang menunjukkan hasil pengujian Citra_asli1

untuk metode Sobel.

Gambar 4.13 Hasil Pengujian Metode Sobel untuk Citra_asli1

2. Citra_asli2

Dari pengujian metode Sobel dengan Citra_asli2 sebagai citra masukannya,

diperoleh hasil sebagai berikut :

Page 87: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

75

Kualitas citra tepi:

a. Banyak piksel yang bukan tepi didefenisikan sebagai tepi.

b. Tepi yang terbentuk terdiri atas tepi ganda dan tepi tunggal (single edge).

Nilai timing run = 27,2725 detik

Nilai sensitivity rate = 1,8075 piksel.

Gambar 4.14 memperlihatkan figur hasil pengujian terhadap metode Sobel untuk

Citra_asli2.

Gambar 4.14 Hasil Pengujian Metode Sobel untuk Citra_asli2

3. Citra_asli3

Pengujian terhadap metode Sobel dengan Citra_asli3 sebagai citra masukannya,

menghasilkan:

Page 88: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

76

Kualitas citra tepi:

a. Terdapat banyak piksel yang dianggap bukan tepi didefenisikan sebagai tepi.

b. Terdiri atas tepi-tepi tunggal, namun beberapa merupakan tepi ganda.

Nilai timing run = 195,761 detik

Nilai sensitivity rate = 2,52927 piksel

Gambar 4.15 memperlihatkan figur yang menunjukkan hasil pengujian Citra_asli3

dengan metode Sobel.

Gambar 4.15 Hasil Pengujian Metode Sobel untuk Citra_asli3

4. Citra_asli4

Untuk pengujian metode Sobel dengan masukan Citra_asli4, hasil yang diperoleh

adalah sebagai berikut:

Kualitas citra tepi:

Page 89: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

77

a. Beberapa piksel tepi tidak terdefenisi.

b. Beberapa piksel bukan tepi didefenisikan sebagai tepi.

c. Tepi yang dihasilkan adalah tepi tunggal (single edge).

Nilai timing run = 338,237 detik

Nilai sensitivity rate = 2,92088 piksel.

Gambar 4.16 memperlihatkan hasil pengujian metode Sobel dengan Citra_asli4.

Gambar 4.16 Hasil Pengujian Metode Sobel untuk Citra_asli4

Metode LoG

Setelah melakukan pengujian terhadap metode LoG dengan nilai variabel Sigma = 0,5

dan Alfa = 0,23, diperoleh hasil untuk keempat citra masukan, sebagai berikut:

Page 90: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

78

1. Citra_asli1

Dari hasil pengujian terhadap metode LoG dengan Citra_asli1 sebagai citra

masukan, diperoleh hasil sebagai berikut:

Kualitas citra tepi:

a. Terdiri atas tepi-tepi tunggal.

b. Beberapa piksel tepi tidak terdefenisi.

c. Beberapa piksel bukan tepi didefenisikan sebagai tepi.

Nilai timing run = 0,571387 detik

Nilai sensitivity rate = 3,08445 piksel

Hasil pengujian metode LoG untuk Citra_asli1 diperlihatkan pada Gambar 4.17.

Gambar 4.17 Hasil Pengujian Metode LoG untuk Citra_asli1

Page 91: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

79

2. Citra_asli2

Untuk pengujian Citra_asli2 dengan metode LoG, hasil yang diperoleh adalah

sebagai berikut:

Kualitas citra tepi:

a. Banyak piksel bukan tepi didefenisikan sebagai tepi.

b. Piksel yang didefenisikan sebagai tepi merupakan tepi tunggal, namun tidak

semuanya terdefenisi sebagai tepi.

Nilai timing run = 2,46148 detik

Nilai sensitivity rate = 3,091 piksel.

Gambar 4.18 memperlihatkan hasil pengujian metode LoG untuk Citra_asli2.

Gambar 4.18 Hasil Pengujian Metode LoG untuk Citra_asli2

Page 92: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

80

3. Citra_asli3

Hasil pengujian metode LoG untuk Citra_asli3 sebagai berikut:

Kualitas citra tepi:

a. Objek yang seharusnya menjadi objek tepi, tidak terdefenisi.

b. Tepi yang terbentu merupakan noise-noise yang terdeteksi oleh metode LoG.

Nilai timing run = 62,8449 detik

Nilai sensitivity rate = 3,65482 piksel.

Gambar 4.19 memperlihatkan hasil pengujian metode LoG dengan Citra_asli3.

Gambar 4.19 Hasil Pengujian Metode LoG untuk Citra_asli3

4. Citra_asli4

Hasil pengujian yang dilakukan terhadap Citra_asli4 dengan metode LoG adalah

sebagai berikut:

Page 93: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

81

Kualitas citra tepi:

a. Hampir seluruh piksel yang terdefenisi sebagai tepi bukan merupakan objek

yang seharusnya dideteksi.

Nilai timing run = 125,612 detik

Nilai sensitivity rate = 3,86956 piksel.

Gambar 4.20 memperlihatkan hasil pengujian metode LoG untuk Citra_asli4.

Gambar 4.20 Hasil Pengujian Metode LoG untuk Citra_asli4

Metode Canny

Dari pengujian terhadap metode Canny dengan nilai Sigma = 0,7 dan Alfa = 0,07.

Maka, hasil yang diperoleh untuk keempat citra masukannya adalah sebagai berikut:

Page 94: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

82

1. Citra_asli1

Dari pengujian Citra_asli1 dengan metode Sobel, hasil yang diperoleh adalah:

Kualitas citra tepi:

a. Tepi yang dihasilkan adalah tepi tunggal.

b. Tepi yang dideteksi lebih akurat dibanding dua metode lain.

Nilai timing run = 58,8907 detik

Nilai sensitivity rate = 0,997956 piksel.

Gambar 4.21 menunjukkan figur hasil pengujian metode Canny dengan masukan

Citra_asli1.

Gambar 4.21 Hasil Pengujian Metode Canny untuk Citra_asli1

Page 95: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

83

2. Citra_asli2

Hasil pengujian yang diperoleh dari Citra_asli2 pada metode Canny adalah

sebagai berikut:

Kualitas citra tepi:

a. Tepi yang dihasilkan adalah tepi tunggal.

b. Terdapat beberapa piksel tepi yang tidak terdefenisi.

Nilai timing run = 246,61 detik

Nilai sensitivity rate = 0,996275 piksel.

Gambar 4.22 memperlihatkan figur hasil pengujian metode Canny untuk

Citra_asli2.

Gambar 4.22 Hasil Pengujian Metode Canny untuk Citra_asli2

Page 96: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

84

3. Citra_asli3

Dari pengujian metode Canny dengan citra masukan Citra_asli3, diperoleh hasil

sebagai berikut:

Kualitas citra tepi:

a. Semakin banyak tepi yang tidak terdefenisi.

b. Tidak terdapat piksel bukan tepi yang didefenisikan sebagai tepi.

Nilai timing run = 776,576 detik

Nilai sensitivity rate = 0,993497 piksel.

Gambar 4.23 memperlihatkan figur hasil pengujian metode Canny dengan

Citra_asli3.

Gambar 4.23 Hasil Pengujian Metode Canny untuk Citra_asli3

Page 97: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

85

4. Citra_asli4

Untuk Citra_asli4 yang diuji dengan metode Canny, diperoleh hasil seperti berikut

ini:

Kualitas citra tepi:

a. Banyak piksel tepi yang tidak terdefenisi.

b. Tidak terdapat piksel bukan tepi yang didefenisikan sebagai tepi.

Nilai timing run = 1815,93 detik

Nilai sensitivity rate = 0,992519 piksel

Gambar 4.24 memperlihatkan figur hasil pengujian metode Canny untuk

Citra_asli4.

Gambar 4.24 Hasil Pengujian Metode Canny untuk Citra_asli4

Page 98: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

86

Pembahasan

Untuk mendapatkan suatu hasil citra deteksi tepi yang maksimal dari tiap-tiap metode,

nilai variabel yang mempengaruhi kinerja tiap metode tersebut harus ditentukan

dengan benar.

Dari hasil pengujian yang dilakukan, untuk metode Sobel, variabel yang

mempengaruhi kinerja metode ini adalah nilai Alfa (faktor pengali pada proses

pengambangan). Selain mempengaruhi hasil keluaran citra tepi, nilai Alfa juga

berpengaruh pada waktu dan kesensitifan metode terhadap noise. Semakin tinggi nilai

Alfa yang digunakan, semakin besar waktu pemrosesan yang diperlukan, nilai

sensitivitasnya juga semakin besar. Karena itu, nilai Alfa yang digunakan harus

sesuai, artinya tidak terlalu besar, agar waktu yang diperlukan untuk pemrosesan tidak

terlalu lama. Dan tidak terlalu kecil, agar kualitas citra yang dihasilkannya, lebih baik.

Nilai Alfa yang paling tepat digunakan untuk mendeteksi tepi keempat jenis citra

masukan dengan metode Sobel untuk penelitian ini adalah 8,0. Dengan nilai Alfa 8,0,

tepi citra untuk keempat jenis citra masukan berhasil terdeteksi. Citra_asli1

menghasilkan keluaran yang paling baik. Selain citra tepi yang terdeteksi dengan baik,

waktu yang dibutuhkan untuk pemrosesan juga tidak terlalu lama, hanya saja nilai

sensitivity ratenya tidak terlalu besar. Pada citra masukan lain, citra tepi yang

dihasilkan kurang begitu baik, hal ini dikarenakan banyak noise yang terdeteksi

sebagai tepi.

Pada metode LoG, selain dipengaruhi oleh nilai Alfa, metode ini juga

dipengaruhi oleh nilai Sigma yang merupakan standar deviasi pada fungsi Gaussian.

Setelah menguji metode ini dengan beberapa nilai Sigma dan Alfa, maka diperoleh

nilai Sigma = 0,5 dan Alfa = 0,23 sebagai nilai terbaik. Namun nilai ini hanya baik

untuk mendeteksi tepi citra dengan tingkat resolusi rendah, yaitu Citra_asli1 dan

Citra_asli2, namun dengan kualitas yang tidak begitu baik. Pada Citra_asli3 dan

Citra_asli4 tepi citra tidak terdeteksi, pada jenis citra ini metode LoG mendefenisikan

noise sebagai tepi. Dengan nilai Sigma dan Alfa lain, tepi citra untuk Citra_asli3 dan

Citra_asli4 juga tetap tidak terdeteksi. Hal ini dikarenakan proses konvolusi dengan

kernel Laplacian, yang membuat metode ini sangat sensitif terhadap keberadaan noise.

Page 99: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

87

Sama seperti pada metode Sobel, penentuan nilai variabel pada metode LoG juga

berpengaruh pada nilai timing run dan sensitivity ratenya. Semakin besar nilai Sigma

dan Alfa yang digunakan, timing run untuk setiap citra masukan juga semakin besar.

Nilai sensitivity ratenya juga semakin besar untuk setiap citra masukan.

Dibanding metode Sobel dan LoG, metode Canny merupakan metode yang

menghasilkan citra tepi paling baik. Namun, metode ini memerlukan waktu paling

lama dalam pemrosesannya. Hal ini dipengaruhi oleh banyaknya tahapan yang

dilakukan dalam memproses citra untuk menghasilkan citra tepi. Kualitas citra tepi

yang dihasilkan metode ini juga bergantung pada nilai variabel yang ditentukan

sendiri oleh pengguna. Variabel yang mempengaruhi kinerja metode Canny sama

dengan variabel pada metode LoG, yaitu Sigma dan Alfa. Dalam penelitian ini, nilai

Sigma yang sesuai untuk keempat jenis citra adalah 7,0 dan Alfa yang sesuai adalah

0,7. Pada metode ini, kualitas antar satu citra masukan dengan citra masukan yang lain

tidak terlalu berbeda. Pada citra masukan dengan resolusi rendah, seluruh tepian citra

berhasil dideteksi, namun pada citra masukan dengan resolusi tinggi, beberapa piksel

yang merupakan tepi tidak berhasil dideteksi.

Untuk ketiga metode yang digunakan, semuanya paling baik digunakan untuk

mendeteksi tepi citra yang memiliki kualitas resolusi rendah (Citra_asli1 dan

Citra_asli2), untuk mendeteksi tepian citra dengan resolusi tinggi (Citra_asli3 dan

Citra_asli4), metode Sobel dan Canny masih dapat digunakan. Namun, metode LoG

tidak mampu mendeteksi tepian citra dengan resolusi tinggi. Pada semua metode,

waktu yang diperlukan untuk pendeteksian tepi citra akan semakin besar untuk citra

masukan dengan resolusi yang semakin tinggi. Untuk ketiga metode, citra hasil

deteksi tepi dengan kualitas terbaik memiliki nilai sensitivity rate paling besar

dibanding citra hasil deteksi tepi lainnya. Pada metode Sobel dan LoG, tingkat

sensitivitas terhadap noise akan semakin besar untuk citra dengan kualitas resolusi

yang lebih tinggi, berbeda dengan metode Canny yang semakin tinggi tingkat resolusi

citranya, sensitivitasnya terhadap noise semakin kecil.

Page 100: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

BAB 5

KESIMPULAN DAN SARAN

Sebagai penutup, kesimpulan dan saran yang berhubungan dengan penulisan Tugas

Akhir disampaikan pada Bab ini.

5.1 Kesimpulan

Setelah melakukan penelitian untuk menganalisis pengaruh kualitas resolusi citra

terhadap kinerja metode pendeteksi tepi, maka dapat disimpulkan bahwa:

1. Kualitas resolusi citra berpengaruh terhadap kinerja metode pendeteksi tepi. Pada

metode Sobel dan LoG, semakin tinggi tingkat resolusi citra yang menjadi citra

masukan, nilai timing run dan sensitivity rate akan semakin besar, sedangkan citra

tepi hasil keluarannya semakin berkurang kualitasnya. Sedangkan pada metode

Canny, terdapat sedikit perbedaan. Pada metode Canny, sensitifitas metode ini

terhadap noise semakin besar jika citra masukannya memiliki tingkat resolusi yang

semakin tinggi.

2. Jika ditinjau dari segi waktu dan sensitivitas terhadap noise, metode terbaik untuk

mendeteksi tepi suatu citra adalah metode LoG, karna diantara ketiga metode

tersebut metode ini memiliki nilai timing run paling kecil untuk setiap citra

masukannya serta memiliki nilai sensitivitas yang tinggi terhadap noise. Namun,

citra tepi yang dihasilkannya memiliki kualitas yang kurang baik. Metode Canny

merupakan metode yang citra tepi hasil keluarannya paling baik. Metode Sobel

baik digunakan untuk mendeteksi tepi citra yang sederhana, selain karna waktu

yang diperlukan tidak terlalu besar, kualitas citra tepi yang dihasilkan juga

lumayan baik.

Page 101: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

89

3. Dari pengujian yang telah dilakukan terhadap ketiga metode pendeteksi tepi,

tingkat resolusi terbaik yang berhasil dideteksi tepinya adalah citra dengan tingkat

resolusi rendah (0,3 megapiksel dan 2 megapiksel).

5.2 Saran

Berikut ini beberapa saran yang diharapkan dapat dilakukan untuk pengembangan dari

penulisan Tugas Akhir ini:

1. Pemilihan nilai variabel yang mempengaruhi kinerja tiap metode pendeteksi tepi

yang digunakan, hendaknya diteliti dengan baik agar menghasilkan citra tepi

terbaik dibanding jika menggunakan nilai variabel lainnya.

2. Untuk pengembangan selanjutnya, dapat dilakukan dengan menganalisis pengaruh

kualitas resolusi citra dengan format selain *.jpg terhadap kinerja metode

pendeteksi tepi.

3. Penelitian ini dapat dikembangkan dengan studi kasus yang berbeda. Baik dari

metode yang digunakan, maupun permasalahan yang ingin dipecahkan dengan

memanfaatkan kinerja metode pendeteksi tepi.

4. Pengembangan juga dapat dilakukan dengan mengkombinasikan ketiga metode

pendeteksi tepi untuk mendeteksi tepi sebuah citra, kemudian dianalisis hasilnya

apakah semakin baik atau semakin buruk.

Page 102: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

90

DAFTAR PUSTAKA

Febriani. 2008. ”Analisis penelusuran tepi citra menggunakan detektor tepi sobel dan canny”. Dalam Febriani dan Lussiana, E. T. P. (eds). Seminar Ilmiah Nasional Komputer dan Sistem Intelijen (KOMMIT 2008): hal. 462-466. Depok: Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma.

Gonzales, R. C., Woods, R. E., and Eddins, S. L. 2005. Digital Image Processing

Using MATLAB. India : Pearson Education.

Green, B. 2002. Diakses tanggal, 31 Maret 2009. Canny Edge Detection Tutorial. www.pages.drexel.edu/../can_tut.html.

Herdiyeni, Y. 2007. Diakses tanggal, 31 Maret 2009. Edge Detection.

www.ilkom.fmipa.ipb.ac.id/~yeni/files/ppcd/Kuliah%2007%20Edge%20Detection.pdf

Hestiningsih, I. 2008. Diakses tanggal, 26 Januari 2009. Pengolahan Citra.

http://toba.mytoba.com/dl/Pengolahan%20Citra.pdf

http://www.total.or.id/info.php/kk=Resolusi. Diakses tanggal, 07 Maret 2009. Indira, M. 2008. ”Perbandingan metode pendeteksi tepi (studi kasus : citra usg janin)”.

Dalam Indira, M, dkk. (eds). Seminar Ilmiah Nasional Komputer dan Sistem Intelijen (KOMMIT 2008): hal. 366-373. Depok: Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma.

Munir, R. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik. Bandung:

Informatika.

Sigit, R, et al. 2005. Step by Step Pengolahan Citra Digital. Yogyakarta : CV Andi Offset.

Sugiharto, A. 2006. Pemrograman GUI dengan MATLAB. Yogyakarta : CV Andi

Offset.

Page 103: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

91

Lampiran A. Listing Program

Kode Program Figur PendeteksianTepi: function varargout = PendeteksianTepi(varargin) % PENDETEKSIANTEPI M-file for PendeteksianTepi.fig % PENDETEKSIANTEPI, by itself, creates a new PENDETEKSIANTEPI or raises the existing % singleton*. % % H = PENDETEKSIANTEPI returns the handle to a new PENDETEKSIANTEPI or the handle to % the existing singleton*. % % PENDETEKSIANTEPI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PENDETEKSIANTEPI.M with the given input arguments. % % PENDETEKSIANTEPI('Property','Value',...) creates a new PENDETEKSIANTEPI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before PendeteksianTepi_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to PendeteksianTepi_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help PendeteksianTepi % Last Modified by GUIDE v2.5 23-Oct-2009 08:05:58 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PendeteksianTepi_OpeningFcn, ... 'gui_OutputFcn', @PendeteksianTepi_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end

Page 104: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

92

% End initialization code - DO NOT EDIT % --- Executes just before PendeteksianTepi is made visible. function PendeteksianTepi_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to PendeteksianTepi (see VARARGIN) % Choose default command line output for PendeteksianTepi handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes PendeteksianTepi wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = PendeteksianTepi_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % ------------------------------------------------------------------- function metode_Callback(hObject, eventdata, handles) % hObject handle to metode (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function info_Callback(hObject, eventdata, handles) % hObject handle to info (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function programmer_Callback(hObject, eventdata, handles) % hObject handle to programmer (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fig4=openfig('InfoProgrammer.fig'); handles=guihandles(fig4); guidata(fig4,handles); axes(handles.axes4); imshow('fotoQu.JPG');

Page 105: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

93

% ------------------------------------------------------------------- function program_Callback(hObject, eventdata, handles) % hObject handle to program (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fig5=openfig('InfoProgram.fig'); handles=guihandles(fig5); guidata(fig5,handles); % ------------------------------------------------------------------- function metode_sobel_Callback(hObject, eventdata, handles) % hObject handle to metode_sobel (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fig1=openfig('MetodeSobel.fig'); handles=guihandles(fig1); guidata(fig1,handles); % ------------------------------------------------------------------- function metode_log_Callback(hObject, eventdata, handles) % hObject handle to metode_log (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fig2=openfig('MetodeLoG.fig'); handles=guihandles(fig2); guidata(fig2,handles); % ------------------------------------------------------------------- function metode_canny_Callback(hObject, eventdata, handles) % hObject handle to metode_canny (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fig3=openfig('MetodeCanny.fig'); handles=guihandles(fig3); guidata(fig3,handles); % ------------------------------------------------------------------- function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar ' get(handles.figure1,'Name') '?'],... ['Keluar ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1)

Page 106: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

94

Kode Program Figur MetodeSobel: function varargout = MetodeSobel(varargin) % METODESOBEL M-file for MetodeSobel.fig % METODESOBEL, by itself, creates a new METODESOBEL or raises the existing % singleton*. % % H = METODESOBEL returns the handle to a new METODESOBEL or the handle to % the existing singleton*. % % METODESOBEL('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in METODESOBEL.M with the given input arguments. % % METODESOBEL('Property','Value',...) creates a new METODESOBEL or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before MetodeSobel_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to MetodeSobel_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to keluar MetodeSobel % Last Modified by GUIDE v2.5 18-Nov-2009 01:46:10 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @MetodeSobel_OpeningFcn, ... 'gui_OutputFcn', @MetodeSobel_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before MetodeSobel is made visible. function MetodeSobel_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

Page 107: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

95

% hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to MetodeSobel (see VARARGIN) % Choose default command line output for MetodeSobel handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes MetodeSobel wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = MetodeSobel_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function edit_tr_Callback(hObject, eventdata, handles) % hObject handle to edit_tr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_tr as text % str2double(get(hObject,'String')) returns contents of edit_tr as a double % --- Executes during object creation, after setting all properties. function edit_tr_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_tr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_sr_Callback(hObject, eventdata, handles) % hObject handle to edit_sr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_sr as text % str2double(get(hObject,'String')) returns contents of edit_sr as a double

Page 108: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

96

% --- Executes during object creation, after setting all properties. function edit_sr_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_sr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % ------------------------------------------------------------------- function file_Callback(hObject, eventdata, handles) % hObject handle to file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar dari ' get(handles.figure1,'Name') '?'],... ['Keluar dari ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1) % ------------------------------------------------------------------- function file_buka_Callback(hObject, eventdata, handles) % hObject handle to file_buka (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); axes(handles.axes1); imshow(handles.data1); else return; end set(handles.text_nama,'String',nama_file1); set(handles.text_uk2,'String',size(handles.data1,1)); set(handles.text_uk1,'String',size(handles.data1,2));

Page 109: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

97

% ------------------------------------------------------------------- function file_proses_Callback(hObject, eventdata, handles) % hObject handle to file_proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function sobel_deteksi_Callback(hObject, eventdata, handles) % hObject handle to sobel_deteksi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) I = double(rgb2gray(handles.data1)); [xlen ylen] = size(I); edgeX = zeros(xlen,ylen); edgeY = zeros(xlen,ylen); edgeXY = zeros(xlen,ylen); H1 = [-1 0 1;-2 0 2;-1 0 1]; H2 = [-1 -2 -1;0 0 0;1 2 1]; for i = 1:xlen for j = 1:ylen for m = 1:3 for n = 1:3 updateX = i-m+2; updateY = j-n+2; if ((updateX>=1) && (updateX<=xlen) && (updateY>=1) && (updateY<=ylen)) edgeX(i,j) = edgeX(i,j) + H1(m,n)*I(updateX,updateY); edgeY(i,j) = edgeY(i,j) + H2(m,n)*I(updateX,updateY); end end end end end edgeX = abs(edgeX); edgeY = abs(edgeY); edgeXY = edgeX.*edgeX + edgeY.*edgeY; threshold = 8.0*sum(sum(edgeXY(2:xlen-1,2:ylen-1)))/((xlen-2)*(ylen-2)); for i = 2:xlen-1 for j = 2:ylen-1 if (edgeXY(i,j)>threshold) edgeimage(i,j) = 1; else edgeimage(i,j) = 0; end end end edgeimage = mat2gray(edgeimage); axes(handles.axes2); imshow(edgeimage); % ------------------------------------------------------------------- function sobel_tr_Callback(hObject, eventdata, handles) % hObject handle to sobel_tr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

Page 110: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

98

tic I = double(rgb2gray(handles.data1)); [xlen ylen] = size(I); edgeX = zeros(xlen,ylen); edgeY = zeros(xlen,ylen); edgeXY = zeros(xlen,ylen); H1 = [-1 0 1;-2 0 2;-1 0 1]; H2 = [-1 -2 -1;0 0 0;1 2 1]; for i = 1:xlen for j = 1:ylen for m = 1:3 for n = 1:3 updateX = i-m+2; updateY = j-n+2; if ((updateX>=1) && (updateX<=xlen) && (updateY>=1) && (updateY<=ylen)) edgeX(i,j) = edgeX(i,j) + H1(m,n)*I(updateX,updateY); edgeY(i,j) = edgeY(i,j) + H2(m,n)*I(updateX,updateY); end end end end end edgeX = abs(edgeX); edgeY = abs(edgeY); edgeXY = edgeX.*edgeX + edgeY.*edgeY; threshold = 8.0*sum(sum(edgeXY(2:xlen-1,2:ylen-1)))/((xlen-2)*(ylen-2)); for i = 2:xlen-1 for j = 2:ylen-1 if (edgeXY(i,j)>threshold) edgeimage(i,j) = 1; else edgeimage(i,j) = 0; end end end edgeimage = mat2gray(edgeimage); axes(handles.axes2); imshow(edgeimage); t = toc; set(handles.edit_tr,'string',t); % ------------------------------------------------------------------- function sobel_sr_Callback(hObject, eventdata, handles) % hObject handle to sobel_sr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %perhitungan error rate untuk edge detector Sobel I = double(rgb2gray(handles.data1)); [xlen ylen] = size(I); edgeX = zeros(xlen,ylen); edgeY = zeros(xlen,ylen); edgeXY = zeros(xlen,ylen); H1 = [-1 0 1;-2 0 2;-1 0 1]; H2 = [-1 -2 -1;0 0 0;1 2 1]; for i = 1:xlen

Page 111: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

99

for j = 1:ylen for m = 1:3 for n = 1:3 updateX = i-m+2; updateY = j-n+2; if ((updateX>=1) && (updateX<=xlen) && (updateY>=1) && (updateY<=ylen)) edgeX(i,j) = edgeX(i,j) + H1(m,n)*I(updateX,updateY); edgeY(i,j) = edgeY(i,j) + H2(m,n)*I(updateX,updateY); end end end end end edgeX = abs(edgeX); edgeY = abs(edgeY); edgeXY = edgeX.*edgeX + edgeY.*edgeY; threshold = 8.0*sum(sum(edgeXY(2:xlen-1,2:ylen-1)))/((xlen-2)*(ylen-2)); for i = 2:xlen-1 for j = 2:ylen-1 if (edgeXY(i,j)>threshold) edgeimage(i,j) = 1; else edgeimage(i,j) = 0; end end end edgeimage = mat2gray(edgeimage); axes(handles.axes2); imshow(edgeimage); In = imnoise(I,'salt & pepper',0.02); Jn = edge(In,'sobel'); nr = sum(sum(edgeimage)); nn = sum(sum(Jn)); P = abs(nn-nr)/nr set(handles.edit_sr,'String', P);

Page 112: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

100

Kode Program Figur MetodeLoG: function varargout = MetodeLoG(varargin) % METODELOG M-file for MetodeLoG.fig % METODELOG, by itself, creates a new METODELOG or raises the existing % singleton*. % % H = METODELOG returns the handle to a new METODELOG or the handle to % the existing singleton*. % % METODELOG('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in METODELOG.M with the given input arguments. % % METODELOG('Property','Value',...) creates a new METODELOG or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before MetodeLoG_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to MetodeLoG_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to keluar MetodeLoG % Last Modified by GUIDE v2.5 27-Oct-2009 19:52:58 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @MetodeLoG_OpeningFcn, ... 'gui_OutputFcn', @MetodeLoG_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before MetodeLoG is made visible. function MetodeLoG_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

Page 113: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

101

% hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to MetodeLoG (see VARARGIN) % Choose default command line output for MetodeLoG handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes MetodeLoG wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = MetodeLoG_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % ------------------------------------------------------------------- function file_Callback(hObject, eventdata, handles) % hObject handle to file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar dari ' get(handles.figure1,'Name') '?'],... ['Keluar dari ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1) % ------------------------------------------------------------------- function file_buka_Callback(hObject, eventdata, handles) % hObject handle to file_buka (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) handles.data1=imread(fullfile(nama_path1,nama_file1));

Page 114: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

102

guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); else return; end set(handles.text4,'String',nama_file1); set(handles.text6,'String',size(handles.data1,1)); set(handles.text5,'String',size(handles.data1,2)); % ------------------------------------------------------------------- function file_proses_Callback(hObject, eventdata, handles) % hObject handle to file_proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Function "d2dgauss.m": % This function returns a 2D edge detector (first order derivative % of 2D Gaussian function) with size n1*n2; theta is the angle that % the detector rotated counter clockwise; and sigma1 and sigma2 are the % standard deviation of the gaussian functions. function h = d2dgauss(n1,sigma1,n2,sigma2,theta) r=[cos(theta) -sin(theta); sin(theta) cos(theta)]; for i = 1 : n2 for j = 1 : n1 u = r * [j-(n1+1)/2 i-(n2+1)/2]'; h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2); end end h = h / sqrt(sum(sum(abs(h).*abs(h)))); % Function "gauss.m": function y = gauss(x,std) y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi)); % Function "dgauss.m"(first order derivative of gauss function): function y = dgauss(x,std) y = -x * gauss(x,std) / std^2; % ------------------------------------------------------------------- function log_deteksi_Callback(hObject, eventdata, handles) % hObject handle to log_deteksi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=7;Sigmax1=0.5;Nx2=7;Sigmax2=0.5;Theta1=pi/2; % Y-axis direction filter: Ny1=7;Sigmay1=0.5;Ny2=7;Sigmay2=0.5;Theta2=0; % 2. Thresholdong value alfa = 0.23; I = double(rgb2gray(handles.data1));

Page 115: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

103

% X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Convolve with laplacian mask H=[0 1 0,1 -4 1,0 1 0]; J=conv2(NVI,H,'same'); % Find the zerocross with thresh value thresh =.2*mean2(abs(J)); edgeimage = edge(J,'zerocross',thresh); axes(handles.axes4); imshow(edgeimage); % ------------------------------------------------------------------- function log_tr_Callback(hObject, eventdata, handles) % hObject handle to log_tr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tic % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=7;Sigmax1=0.5;Nx2=7;Sigmax2=0.5;Theta1=pi/2; % Y-axis direction filter: Ny1=7;Sigmay1=0.5;Ny2=7;Sigmay2=0.5;Theta2=0; % 2. Thresholdong value alfa = 0.23; I = double(rgb2gray(handles.data1)); % X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Convolve with laplacian mask H=[0 1 0,1 -4 1,0 1 0]; J=conv2(NVI,H,'same'); % Find the zerocross with thresh value thresh =.2*mean2(abs(J)); edgeimage = edge(J,'zerocross',thresh); axes(handles.axes4); imshow(edgeimage);

Page 116: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

104

t = toc; set(handles.edit5,'string',t); % ------------------------------------------------------------------- function log_sr_Callback(hObject, eventdata, handles) % hObject handle to log_sr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=7;Sigmax1=0.5;Nx2=7;Sigmax2=0.5;Theta1=pi/2; % Y-axis direction filter: Ny1=7;Sigmay1=0.5;Ny2=7;Sigmay2=0.5;Theta2=0; % 2. Thresholdong value alfa = 0.23; I = double(rgb2gray(handles.data1)); % X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Convolve with laplacian mask H=[0 1 0,1 -4 1,0 1 0]; J=conv2(NVI,H,'same'); % Find the zerocross with thresh value thresh =.2*mean2(abs(J)); edgeimage = edge(J,'zerocross',thresh); axes(handles.axes4); imshow(edgeimage); In = imnoise(I,'salt & pepper',0.02); Jn = edge(In,'sobel'); nr = sum(sum(edgeimage)); nn = sum(sum(Jn)); P = abs(nn-nr)/nr set(handles.edit6,'String', P); function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double % --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO)

Page 117: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

105

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

Page 118: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

106

Kode Program Figur MetodeCanny: function varargout = MetodeCanny(varargin) % METODECANNY M-file for MetodeCanny.fig % METODECANNY, by itself, creates a new METODECANNY or raises the existing % singleton*. % % H = METODECANNY returns the handle to a new METODECANNY or the handle to % the existing singleton*. % % METODECANNY('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in METODECANNY.M with the given input arguments. % % METODECANNY('Property','Value',...) creates a new METODECANNY or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before MetodeCanny_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to MetodeCanny_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to keluar MetodeCanny % Last Modified by GUIDE v2.5 27-Oct-2009 19:56:07 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @MetodeCanny_OpeningFcn, ... 'gui_OutputFcn', @MetodeCanny_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before MetodeCanny is made visible. function MetodeCanny_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

Page 119: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

107

% hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to MetodeCanny (see VARARGIN) % Choose default command line output for MetodeCanny handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes MetodeCanny wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = MetodeCanny_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % ------------------------------------------------------------------- function file_Callback(hObject, eventdata, handles) % hObject handle to file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------- function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar dari ' get(handles.figure1,'Name') '?'],... ['Keluar dari ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1) % ------------------------------------------------------------------- function file_buka_Callback(hObject, eventdata, handles) % hObject handle to file_buka (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0)

Page 120: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

108

handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); else return; end set(handles.text4,'String',nama_file1); set(handles.text6,'String',size(handles.data1,1)); set(handles.text5,'String',size(handles.data1,2)); % ------------------------------------------------------------------- function file_proses_Callback(hObject, eventdata, handles) % hObject handle to file_proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %%%%%%% The functions used in the main.m file %%%%%%% % Function "d2dgauss.m": % This function returns a 2D edge detector (first order derivative % of 2D Gaussian function) with size n1*n2; theta is the angle that % the detector rotated counter clockwise; and sigma1 and sigma2 are the % standard deviation of the gaussian functions. function h = d2dgauss(n1,sigma1,n2,sigma2,theta) r=[cos(theta) -sin(theta); sin(theta) cos(theta)]; for i = 1 : n2 for j = 1 : n1 u = r * [j-(n1+1)/2 i-(n2+1)/2]'; h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2); end end h = h / sqrt(sum(sum(abs(h).*abs(h)))); % Function "gauss.m": function y = gauss(x,std) y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi)); % Function "dgauss.m"(first order derivative of gauss function): function y = dgauss(x,std) y = -x * gauss(x,std) / std^2; %%%%%%%%%%%%%% end of the functions %%%%%%%%%%%%% % ------------------------------------------------------------------- function canny_deteksi_Callback(hObject, eventdata, handles) % hObject handle to canny_deteksi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=70;Sigmax1=7.0;Nx2=70;Sigmax2=7$.0;Theta1=pi/2; % Y-axis direction filter: Ny1=70;Sigmay1=7.0;Ny2=70;Sigmay2=7.0;Theta2=0; % 2. The thresholding parameter alfa: alfa=0.07; I = double(rgb2gray(handles.data1));

Page 121: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

109

% X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Thresholding I_max=max(max(NVI)); I_min=min(min(NVI)); level=alfa*(I_max-I_min)+I_min; Ibw=max(NVI,level.*ones(size(NVI))); % Thinning (Using interpolation to find the pixels where the norms of % gradient are local maximum.) [n,m]=size(Ibw); for i=2:n-1, for j=2:m-1, if Ibw(i,j) > level, X=[-1,0,+1;-1,0,+1;-1,0,+1]; Y=[-1,-1,-1;0,0,0;+1,+1,+1]; Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI=interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else edgeimage(i,j)=I_min; end end end axes(handles.axes3); imshow(edgeimage); % ------------------------------------------------------------------- function canny_tr_Callback(hObject, eventdata, handles) % hObject handle to canny_tr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tic % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=70;Sigmax1=7.0;Nx2=70;Sigmax2=7.0;Theta1=pi/2; % Y-axis direction filter: Ny1=70;Sigmay1=7.0;Ny2=70;Sigmay2=7.0;Theta2=0; % 2. The thresholding parameter alfa: alfa=0.07;

Page 122: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

110

I = double(rgb2gray(handles.data1)); % X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Thresholding I_max=max(max(NVI)); I_min=min(min(NVI)); level=alfa*(I_max-I_min)+I_min; Ibw=max(NVI,level.*ones(size(NVI))); % Thinning (Using interpolation to find the pixels where the norms of % gradient are local maximum.) [n,m]=size(Ibw); for i=2:n-1, for j=2:m-1, if Ibw(i,j) > level, X=[-1,0,+1;-1,0,+1;-1,0,+1]; Y=[-1,-1,-1;0,0,0;+1,+1,+1]; Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI=interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else J(i,j)=I_min; end end end axes(handles.axes3); imshow(edgeimage); t = toc; set(handles.edit5,'string',t); % ------------------------------------------------------------------- function canny_sr_Callback(hObject, eventdata, handles) % hObject handle to canny_sr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % The algorithm parameters: % 1. Parameters of edge detecting filters: % X-axis direction filter: Nx1=70;Sigmax1=7.0;Nx2=70;Sigmax2=7.0;Theta1=pi/2; % Y-axis direction filter:

Page 123: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

111

Ny1=70;Sigmay1=7.0;Ny2=70;Sigmay2=7.0;Theta2=0; % 2. The thresholding parameter alfa: alfa=0.07; I = double(rgb2gray(handles.data1)); % X-axis direction edge detection filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix= conv2(I,filterx,'same'); % Y-axis direction edge detection filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(I,filtery,'same'); % Norm of the gradient (Combining the X and Y directional derivatives) NVI=sqrt(Ix.*Ix+Iy.*Iy); % Thresholding I_max=max(max(NVI)); I_min=min(min(NVI)); level=alfa*(I_max-I_min)+I_min; Ibw=max(NVI,level.*ones(size(NVI))); % Thinning (Using interpolation to find the pixels where the norms of % gradient are local maximum.) [n,m]=size(Ibw); for i=2:n-1, for j=2:m-1, if Ibw(i,j) > level, X=[-1,0,+1;-1,0,+1;-1,0,+1]; Y=[-1,-1,-1;0,0,0;+1,+1,+1]; Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI=interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else edgeimage(i,j)=I_min; end end end axes(handles.axes3); imshow(edgeimage); In = imnoise(I,'salt & pepper',0.02); Jn = edge(In,'sobel'); nr = sum(sum(edgeimage)); nn = sum(sum(Jn)); P = abs(nn-nr)/nr set(handles.edit6,'String', P);

Page 124: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

112

function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double % --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

Page 125: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

113

Kode Program Figur InfoProgrammer: function varargout = InfoProgrammer(varargin) % INFOPROGRAMMER M-file for InfoProgrammer.fig % INFOPROGRAMMER, by itself, creates a new INFOPROGRAMMER or raises the existing % singleton*. % % H = INFOPROGRAMMER returns the handle to a new INFOPROGRAMMER or the handle to % the existing singleton*. % % INFOPROGRAMMER('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in INFOPROGRAMMER.M with the given input arguments. % % INFOPROGRAMMER('Property','Value',...) creates a new INFOPROGRAMMER or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before InfoProgrammer_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to InfoProgrammer_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help InfoProgrammer % Last Modified by GUIDE v2.5 23-Oct-2009 13:08:08 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @InfoProgrammer_OpeningFcn, ... 'gui_OutputFcn', @InfoProgrammer_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before InfoProgrammer is made visible. function InfoProgrammer_OpeningFcn(hObject, eventdata, handles, varargin)

Page 126: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

114

% This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to InfoProgrammer (see VARARGIN) % Choose default command line output for InfoProgrammer handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes InfoProgrammer wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = InfoProgrammer_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; axes(handles.axes4); imshow('fotoQu.JPG'); % --- Executes on button press in btn_keluar. function btn_keluar_Callback(hObject, eventdata, handles) % hObject handle to btn_keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar ' get(handles.figure1,'Name') '?'],... ['Keluar ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1)

Page 127: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

115

Kode Program Figur InfoProgram: function varargout = InfoProgram(varargin) % INFOPROGRAM M-file for InfoProgram.fig % INFOPROGRAM, by itself, creates a new INFOPROGRAM or raises the existing % singleton*. % % H = INFOPROGRAM returns the handle to a new INFOPROGRAM or the handle to % the existing singleton*. % % INFOPROGRAM('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in INFOPROGRAM.M with the given input arguments. % % INFOPROGRAM('Property','Value',...) creates a new INFOPROGRAM or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before InfoProgram_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to InfoProgram_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help InfoProgram % Last Modified by GUIDE v2.5 23-Oct-2009 13:07:16 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @InfoProgram_OpeningFcn, ... 'gui_OutputFcn', @InfoProgram_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before InfoProgram is made visible. function InfoProgram_OpeningFcn(hObject, eventdata, handles, varargin)

Page 128: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

116

% This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to InfoProgram (see VARARGIN) % Choose default command line output for InfoProgram handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes InfoProgram wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = InfoProgram_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; fprintf('Aplikasi Pendeteksi Tepi merupakan'); % --- Executes on button press in btn_keluar. function btn_keluar_Callback(hObject, eventdata, handles) % hObject handle to btn_keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar ' get(handles.figure1,'Name') '?'],... ['Keluar ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1)

Page 129: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

117

Lampiran A. Listing program Kode program form menu utama: unit UMenutama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, XPMan; type TFMenutama = class(TForm) BDiagnosis: TBitBtn; BLaporan: TBitBtn; BUpdate: TBitBtn; BPetunjuk: TBitBtn; BTentang: TBitBtn; BKeluar: TBitBtn; lblNama: TLabel; Timer1: TTimer; XPManifest1: TXPManifest; S: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; procedure Timer1Timer(Sender: TObject); procedure default; procedure BDiagnosisClick(Sender: TObject); procedure BLaporanClick(Sender: TObject); procedure BUpdateClick(Sender: TObject); procedure BPetunjukClick(Sender: TObject); procedure BTentangClick(Sender: TObject); procedure BKeluarClick(Sender: TObject); private n: integer; { Private declarations } public

Page 130: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

118

{ Public declarations } end; var FMenutama: TFMenutama; implementation uses URegister, ULaporan, UUpdate, UPetunjuk, UTentang, ULogin, UTambahPertanyaan; {$R *.dfm} procedure TFmenutama.default; begin n:=0; end; procedure TFMenutama.Timer1Timer(Sender: TObject); begin n:=n+1; if n=1 then lblNama.Caption:='Selamat Datang'; if n=2 then lblNama.Caption:=''; if n=3 then n:=0; end; procedure TFMenutama.BDiagnosisClick(Sender: TObject); begin FRegister.EdtNama.Text := ''; FRegister.DTP1.Date := Now; FRegister.Memo1.Clear; FMenutama.Hide; FRegister.show; end; procedure TFMenutama.BLaporanClick(Sender: TObject); begin FLaporan.show; end; procedure TFMenutama.BUpdateClick(Sender: TObject); begin FTambahPertanyaan.query1.Close; FTambahPertanyaan.query1.SQL.Clear; FTambahPertanyaan.query1.SQL.add('Select * from jawaban '); //query1.ExecSQL; FTambahPertanyaan.query1.Open;

Page 131: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

119

FTambahPertanyaan.query1.First; FTambahPertanyaan.CheckListBox1.Items.Clear; while not FTambahPertanyaan.query1.Eof do begin FTambahPertanyaan.checklistbox1.Items.Add(FTambahPertanyaan.query1.FieldValues['kodejawaban']); FTambahPertanyaan.query1.Next; end; FTambahPertanyaan.query1.Close; FTambahPertanyaan.query1.SQL.Clear; FTambahPertanyaan.query1.SQL.add('Select * from pertanyaan order by kodepertanyaan '); //query1.ExecSQL; FTambahPertanyaan.query1.Open; FTambahPertanyaan.query1.First; FTambahPertanyaan.cb1.Items.Clear; while not FTambahPertanyaan.query1.Eof do begin FTambahPertanyaan.cb1.Items.Add(FTambahPertanyaan.query1.FieldValues['kodepertanyaan']); FTambahPertanyaan.query1.Next; end; FLogin.show; end; procedure TFMenutama.BPetunjukClick(Sender: TObject); begin FPetunjuk.showmodal; end; procedure TFMenutama.BTentangClick(Sender: TObject); begin FTentang.showmodal; end; procedure TFMenutama.BKeluarClick(Sender: TObject); begin application.Terminate; end; end.

Page 132: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

120

Kode program form menu diagnosis: unit UDiagnosis; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons, DB, mySQLDbTables,comctrls, ZConnection, ZAbstractRODataset, ZAbstractDataset, ZDataset; type TFDiagnosis = class(TForm) Image1: TImage; lblPertanyaan: TLabel; radioGroup1: TRadioGroup; BKembali: TBitBtn; BLanjut: TBitBtn; query1: TmySQLQuery; Memo1: TMemo; basispengetahuan: TmySQLDatabase; Label1: TLabel; DataSource1: TDataSource; Query2: TmySQLQuery; ZC1: TZConnection; ZQuery1: TZQuery; Memo2: TMemo; Memo3: TMemo; Memo4: TMemo; Button1: TBitBtn; procedure BKembaliClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure queryTanya(kode:string); procedure updateJawaban(kode:string); function ambilJawaban(kode:string):string; function ambilPertanyaan(kode:string):string; function ambilObat(kode:string):string; procedure tampilTanya; procedure tampilkanHasil(kode:string); procedure FormCreate(Sender: TObject);

Page 133: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

121

procedure FormActivate(Sender: TObject); procedure BLanjutClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } data,nilai,jawaban,jawabanYa,jawabanTidak,daftarTanya,daftarJawaban:TStringList; jawabanAwal:TStringList; kodeAwal:string; end; var FDiagnosis: TFDiagnosis; implementation uses UMenutama, UHasilDiagnosis, DataModule, URegister; {$R *.dfm} procedure TFDiagnosis.BKembaliClick(Sender: TObject); begin FDiagnosis.Close; FMenutama.show; end; procedure TFDiagnosis.FormClose(Sender: TObject; var Action: TCloseAction); begin FMenutama.Show; end; function TFDiagnosis.ambilJawaban(kode:string):string; begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban where kodejawaban='+QuotedStr(kode)); //query1.ExecSQL; query1.Open; result:= query1.FieldByName('penyakit').AsString; end; function TFDiagnosis.ambilObat(kode:string):string; begin query1.Close; query1.SQL.Clear;

Page 134: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

122

query1.SQL.add('Select * from jawaban where kodejawaban='+QuotedStr(kode)); //query1.ExecSQL; query1.Open; result:= query1.FieldByName('pengobatan').AsString; end; function TFDiagnosis.ambilPertanyaan(kode:string):string; begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan='+QuotedStr(kode)); //query1.ExecSQL; query1.Open; result:= query1.FieldByName('pertanyaan').AsString; end; procedure TFDiagnosis.tampilTanya; var i:integer; listTanya:TListItem; begin for i:= 0 to daftarTanya.Count-1 do begin listTanya:=FHasilDiagnosis.ListView1.Items.Add; ambilPertanyaan(daftarTanya.Strings[i]); listTanya.Caption:=ambilPertanyaan(daftarTanya.Strings[i]); listTanya.SubItems.Add(daftarJawaban.Strings[i]); end; end; procedure TFDiagnosis.tampilkanHasil(kode:string); begin FHasilDiagnosis.edTanggal.Text:=dateToStr(FRegister.DTP1.DateTime); FHasilDiagnosis.Label3.Caption:=FRegister.Memo1.Text; FHasilDiagnosis.LblPenyakit.Caption:=ambilJawaban(jawaban.Strings[0]); FHasilDiagnosis.Memo1.Lines.Add(ambilObat(jawaban.Strings[0])); tampilTanya; end; procedure TFDiagnosis.queryTanya(kode:string); var tanya:string; begin

Page 135: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

123

memo1.Lines.Clear; // membuat query untuk mencari pertanyaan yg hrs ditampilkan query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan='+QuotedStr(kode)); //query1.ExecSQL; query1.Open; tanya:= query1.FieldByName('pertanyaan').AsString; memo1.Lines.Add(tanya); daftarTanya.Add(kode); radiogroup1.ItemIndex:=-1; end; procedure TFDiagnosis.updateJawaban(kode:string); var i,j:integer; ada:boolean; begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from relasi where kodepertanyaan='+QuotedStr(kode)); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin jawabanYa.Add(query1.FieldValues['kodejawaban']); query1.Next; end; for i:=0 to jawaban.Count-1 do begin ada:=false; for j:=0 to jawabanYa.Count-1 do begin if jawaban.Strings[i] = jawabanYa.Strings[j] then begin ada:=true; break; end; end; if not ada then jawabanTidak.Add(jawaban.Strings[i]); end; end; procedure TFDiagnosis.BLanjutClick(Sender: TObject); var kode:string; k,i,j,max,muncul:integer; sama:boolean; begin if radioGroup1.ItemIndex=-1 then

Page 136: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

124

begin MessageBox(handle,'Anda belum memilih','Data anda kurang lengkap',MB_OK); exit; end; max:=0; //jika ya if radioGroup1.ItemIndex=0 then begin //update data jawaban,jawabanYa,jawabanTidak jawaban.Clear; daftarJawaban.Add('Ya'); for i:=0 to JawabanYa.Count -1 do jawaban.Add(jawabanYa.Strings[i]); jawabanYa.Clear; jawabanTidak.Clear; //mencari kode tanya yg plng sering muncul for i:=0 to data.Count-1 do begin sama:=false; for j:=0 to daftarTanya.Count-1 do begin if daftarTanya.Strings[j] = data.Strings[i] then begin sama:=true; break; end; end; if not sama then begin //periksa apakah pertanyaan ada pada jawaban Ya query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from relasi where kodepertanyaan='+QuotedStr(data.Strings[i])); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin if jawaban.Find(query1.FieldByName('kodejawaban').AsString,k) then begin muncul:=strtoint(nilai.Strings[i]); if muncul > max then begin max:=muncul; kode:=data.Strings[i]; end; end; query1.Next; end;

Page 137: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

125

//query1.Database.Close; end; end; //jawaban tlh ditemukan if max=0 then begin if jawaban.Count > 0 then begin tampilkanHasil(jawaban.Strings[0]); end else begin FHasilDiagnosis.LblPenyakit.Caption:='Maaf, program ini tidak dapat menemukan jawaban'; FHasilDiagnosis.Memo1.Lines.Add('Silahkan langsung berkonsultasi dengan pakarnya'); tampilTanya; end; FDiagnosis.Close; FHasilDiagnosis.Show; end //jawaban blm ditemukan else begin queryTanya(kode); updateJawaban(kode); end; end //jika tidak else begin //update data jawaban,jawabanYa,jawabanTidak jawaban.Clear; daftarJawaban.Add('Tidak'); for i:=0 to jawabanTidak.Count -1 do jawaban.Add(jawabanTidak.Strings[i]); jawabanYa.Clear; jawabanTidak.Clear; //cari kode tanya yg plng sering muncul for i:=0 to data.Count-1 do begin sama:=false; for j:=0 to daftarTanya.Count-1 do begin if daftarTanya.Strings[j] = data.Strings[i] then begin sama:=true; break; end; end; if not sama then begin

Page 138: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

126

//periksa apakah pertanyaan ada pada jawaban Tidak query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from relasi where kodepertanyaan='+QuotedStr(data.Strings[i])); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin if jawaban.Find(query1.FieldByName('kodejawaban').AsString,k) then begin muncul:=strtoint(nilai.Strings[i]); if muncul > max then begin max:=muncul; kode:=data.Strings[i]; end; end; query1.Next; end; end; end; //jawaban tlh ditemukan if max=0 then begin if jawaban.Count > 0 then begin tampilkanHasil(jawaban.Strings[0]); end else begin FHasilDiagnosis.LblPenyakit.Caption:='Maaf, program ini tidak dapat menemukan jawaban'; FHasilDiagnosis.Memo1.lines.Add('Silahkan langsung berkonsultasi dengan pakarnya'); tampilTanya; end; FDiagnosis.Close; FHasilDiagnosis.Show; end //jawaban blm ditemukan else begin queryTanya(kode); updateJawaban(kode); end; end; end; procedure TFDiagnosis.FormCreate(Sender: TObject);

Page 139: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

127

var max,i:integer; s,kode:string; begin memo1.Lines.Clear; data:=TStringList.Create; nilai:=TStringList.Create; jawaban:=TStringList.Create; jawabanYa:=TStringList.Create; jawabanTidak:=TStringList.Create; daftarTanya:=TStringList.Create; daftarJawaban:=TStringList.Create; jawabanAwal:=TStringList.Create; ZC1.Connected; //buka tabel yg diperlukan query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban order by kodejawaban'); //query1.ExecSQL; query1.Open; jawaban.Clear; if query1.RecordCount > 0 then begin query1.First; while not query1.Eof do begin // memo1.Lines.Add(query1.FieldValues['pertanyaan']); jawaban.Add(query1.FieldValues['kodejawaban']); query1.Next; end; end; for i:=0 to jawaban.Count-1 do jawabanAwal.Add(jawaban.Strings[i]); //periksa tbl relasi, cari kode tanya yang plng sering muncul max:=0; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan order by kodepertanyaan'); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin query2.Close; query2.SQL.Clear; s:=query1.FieldValues['kodepertanyaan']; query2.SQL.add('Select * from relasi where KodePertanyaan='+QuotedStr(s)); //query1.ExecSQL; query2.Open;

Page 140: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

128

i:=query2.RecordCount; if i > max then begin max:=i; kode:=s; //memo1.Lines.Add(kode); end; //msk kan kode pertanyaan dan nilai kemunculan ke data dan nilai data.Add(s); nilai.Add(inttostr(i)); query1.Next; end; kodeAwal:=kode; queryTanya(kode); //msk kan kode solusi yg mngkn utk ya dan tdk updateJawaban(kode); //msk kan smua kode jawaban ke stringList jawaban end; procedure TFDiagnosis.FormActivate(Sender: TObject); var i:integer; begin radioGroup1.ItemIndex:=-1; daftarTanya.Clear; daftarJawaban.Clear; jawaban.Clear; jawabanYa.Clear; jawabanTidak.Clear; FHasilDiagnosis.ListView1.Items.Clear; FHasilDiagnosis.Memo1.Lines.Clear; for i:=0 to jawabanAwal.Count-1 do jawaban.Add(jawabanAwal.Strings[i]); queryTanya(kodeAwal); updateJawaban(kodeAwal); end; procedure TFDiagnosis.Button1Click(Sender: TObject); var max,i:integer; s,kode:string; begin memo1.Lines.Clear; data:=TStringList.Create; nilai:=TStringList.Create; jawaban:=TStringList.Create; jawabanYa:=TStringList.Create; jawabanTidak:=TStringList.Create; daftarTanya:=TStringList.Create; daftarJawaban:=TStringList.Create; jawabanAwal:=TStringList.Create;

Page 141: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

129

ZC1.Connected; //buka tabel yg diperlukan query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban order by kodejawaban'); //query1.ExecSQL; query1.Open; jawaban.Clear; if query1.RecordCount > 0 then begin query1.First; while not query1.Eof do begin // memo1.Lines.Add(query1.FieldValues['pertanyaan']); jawaban.Add(query1.FieldValues['kodejawaban']); query1.Next; end; end; for i:=0 to jawaban.Count-1 do jawabanAwal.Add(jawaban.Strings[i]); //periksa tbl relasi, cari kode tanya yang plng sering muncul max:=0; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan order by kodepertanyaan'); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin query2.Close; query2.SQL.Clear; s:=query1.FieldValues['kodepertanyaan']; query2.SQL.add('Select * from relasi where KodePertanyaan='+QuotedStr(s)); //query1.ExecSQL; query2.Open; i:=query2.RecordCount; if i > max then begin max:=i; kode:=s; end; //msk kan kode pertanyaan dan nilai kemunculan ke data dan nilai data.Add(s); memo2.Lines.Add(s); nilai.Add(inttostr(i)); query1.Next; end;

Page 142: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

130

kodeAwal:=kode; queryTanya(kode); //msk kan kode solusi yg mngkn utk ya dan tdk updateJawaban(kode); //msk kan smua kode jawaban ke stringList jawaban end; procedure TFDiagnosis.Button2Click(Sender: TObject); var j : integer; begin memo3.Lines.Clear; for j:=0 to daftarTanya.Count-1 do begin memo3.Lines.Add(daftarTanya.Strings[j]); end; end; end.

Page 143: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

131

Kode program form menu laporan: unit report; interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls; type TQuickReport1 = class(TQuickRep) DetailBand1: TQRBand; QRLabel1: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel7: TQRLabel; QRDBText1: TQRDBText; QRDBText4: TQRDBText; QRDBText5: TQRDBText; QRDBRichText1: TQRDBRichText; PageHeaderBand1: TQRBand; QRLabel9: TQRLabel; private public end; var QuickReport1: TQuickReport1; implementation uses ULihatData,ULaporan; {$R *.DFM} end.

Page 144: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

132

Kode program form submenu login: unit ULogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, jpeg; type TFLogin = class(TForm) Label1: TLabel; Label2: TLabel; edUser: TEdit; edPass: TEdit; BOk: TBitBtn; BBatal: TBitBtn; Shape1: TShape; Image1: TImage; procedure BBatalClick(Sender: TObject); procedure BOkClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure edPassKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure edUserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var FLogin: TFLogin; implementation uses UMenutama, UUpdate; {$R *.dfm}

Page 145: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

133

procedure TFLogin.BBatalClick(Sender: TObject); begin FLogin.Close; FMenutama.show; end; procedure TFLogin.BOkClick(Sender: TObject); begin if (edUser.Text='morina') and (edPass.Text='annelita') then begin edUser.Text:=''; edPass.Text:=''; FLogin.Hide; FUpdate.show; end else begin edUser.Text:=''; edPass.Text:=''; MessageBox(handle,'Username/Password invalid','login',MB_OK); edUser.SetFocus; end; end; procedure TFlogin.FormClose(Sender: TObject; var Action: TCloseAction); begin FMenutama.Show; end; procedure TFlogin.FormActivate(Sender: TObject); begin edUser.Text:=''; edPass.Text:=''; edUser.SetFocus; end; procedure TFLogin.edPassKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_RETURN then BOk.Click; end; procedure TFLogin.edUserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_RETURN then EdPass.SetFocus; end;

Page 146: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

134

end. Kode program form menu update: unit UUpdate; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons; type TFUpdate = class(TForm) BTPertanyaan: TBitBtn; BEPertanyaan: TBitBtn; BHPertanyaan: TBitBtn; BTJawaban: TBitBtn; BEJawaban: TBitBtn; BKeluar: TBitBtn; BHJawaban: TBitBtn; Label2: TLabel; Label3: TLabel; Label1: TLabel; Image1: TImage; Image2: TImage; procedure BKeluarClick(Sender: TObject); procedure BTPertanyaanClick(Sender: TObject); procedure BEPertanyaanClick(Sender: TObject); procedure BHPertanyaanClick(Sender: TObject); procedure BTJawabanClick(Sender: TObject); procedure BEJawabanClick(Sender: TObject); procedure BHJawabanClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FUpdate: TFUpdate; implementation uses

Page 147: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

135

UTambahPertanyaan, UEditPertanyaan, UHapusPertanyaan, UTambahJawaban, UEditJawaban, UHapusJawaban; {$R *.dfm} procedure TFUpdate.BKeluarClick(Sender: TObject); begin FUpdate.Close; end; procedure TFUpdate.BTPertanyaanClick(Sender: TObject); begin FTambahPertanyaan.showmodal; end; procedure TFUpdate.BEPertanyaanClick(Sender: TObject); begin FEditPertanyaan.showmodal; end; procedure TFUpdate.BHPertanyaanClick(Sender: TObject); begin FHapusPertanyaan.show; end; procedure TFUpdate.BTJawabanClick(Sender: TObject); begin FTambahJawaban.showmodal; end; procedure TFUpdate.BEJawabanClick(Sender: TObject); begin FeditJawaban.query1.Close; FeditJawaban.query1.SQL.Clear; FeditJawaban.query1.SQL.add('Select * from jawaban where kodejawaban= '+QuotedStr(FeditJawaban.combobox1.Text)); //query1.ExecSQL; FeditJawaban.query1.Open; if Feditjawaban.Query1.RecordCount>0 then FeditJawaban.EdPenyakit.Text:= FeditJawaban.query1.FieldValues['penyakit']; FEditJawaban.showmodal; end; procedure TFUpdate.BHJawabanClick(Sender: TObject); begin FHapusJawaban.showmodal; end; end.

Page 148: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

136

Kode program form submenu tambah pertanyaan: unit UTambahPertanyaan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, CheckLst, Buttons, DB, mySQLDbTables; type TFTambahPertanyaan = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; EdKode: TEdit; EdTanya: TEdit; CheckListBox1: TCheckListBox; BTambah: TBitBtn; BKeluar: TBitBtn; Query1: TmySQLQuery; cb1: TComboBox; Memo1: TMemo; procedure BKeluarClick(Sender: TObject); procedure BTambahClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var FTambahPertanyaan: TFTambahPertanyaan; implementation uses UUpdate, DataModule,UDiagnosis;

Page 149: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

137

{$R *.dfm} procedure TFTambahPertanyaan.BKeluarClick(Sender: TObject); begin FTambahPertanyaan.Close; end; procedure TFTambahPertanyaan.FormClose(Sender: TObject; var Action: TCloseAction); begin FUpdate.show; end; procedure TFTambahPertanyaan.FormActivate(Sender: TObject); begin DataModule1.jawaban.open; CheckListBox1.Clear; dataModule1.jawaban.First; while not DataModule1.jawaban.Eof do begin CheckListBox1.Items.Add(DataModule1.jawaban.FieldByName('Kode').AsString); DataModule1.jawaban.Next; end; DataModule1.jawaban.close; EdKode.SetFocus; end; procedure TFTambahPertanyaan.BTambahClick(Sender: TObject); var i:integer; pilih:TStringList; begin if (edKode.Text='') or (Memo1.Text='') then begin MessageBox(handle,'Data kurang lengkap','Data kurang',MB_OK); exit; end; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan='+QuotedStr(edKode.Text)); //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin MessageBox(handle,'Kode telah ada sebelumnya','Data salah',MB_OK); query1.Close; exit; end; query1.Close; pilih:=TStringList.Create;

Page 150: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

138

pilih.Clear; query1.Close; query1.SQL.Clear; query1.SQL.add('Insert Into pertanyaan Values ('+ AnsiQuotedStr(edKode.Text,'''')+','+ AnsiQuotedStr(Memo1.Text,'''')+')'); query1.ExecSQL; pilih.Free; MessageBox(handle,'Data berhasil ditambah','Tambah Data',MB_OK); end; procedure TFTambahPertanyaan.FormCreate(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin checklistbox1.Items.Add(query1.FieldValues['kodejawaban']); query1.Next; end; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan order by kodepertanyaan '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin cb1.Items.Add(query1.FieldValues['kodepertanyaan']); query1.Next; end; end; end.

Page 151: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

139

Kode program form submenu edit pertanyaan: unit UEditPertanyaan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons, DB, mySQLDbTables, ZAbstractRODataset, ZAbstractDataset, ZDataset; type TFEditPertanyaan = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; BUbah: TBitBtn; BBatal: TBitBtn; Query12: TmySQLQuery; ComboBox1: TComboBox; Query1: TZQuery; Query2: TZQuery; Memo1: TMemo; procedure BBatalClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BUbahClick(Sender: TObject); procedure ComboBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } tanya:TSTringList; end; var FEditPertanyaan: TFEditPertanyaan; implementation uses DataModule, UDiagnosis; {$R *.dfm} procedure TFEditPertanyaan.BBatalClick(Sender: TObject); begin FEditPertanyaan.Close;

Page 152: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

140

end; procedure TFEditPertanyaan.FormActivate(Sender: TObject); begin DataModule1.pertanyaan.open; tanya.Clear; DataModule1.pertanyaan.First; while not DataModule1.pertanyaan.Eof do begin ComboBox1.Items.Add(DataModule1.pertanyaan.FieldByName('Kode').AsString); tanya.Add(DataModule1.pertanyaan.fieldByName('Pertanyaan').AsString); DataModule1.pertanyaan.Next; end; DataModule1.pertanyaan.close; ComboBox1.ItemIndex:=1; //EdTanya.Text:=tanya[comboBox1.ItemIndex]; Memo1.Text:=tanya[combobox1.ItemIndex]; end; procedure TFEditPertanyaan.FormCreate(Sender: TObject); begin // tanya:=TStringList.Create; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodepertanyaan']); query1.Next; end; end; procedure TFEditPertanyaan.BUbahClick(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.Text:='Select * from pertanyaan where kodepertanyaan="'+(combobox1.Text)+'"'; //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin query2.Close; query2.SQL.Clear;

Page 153: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

141

query2.SQL.Text:='update pertanyaan set pertanyaan="'+(Memo1.Text)+'" Where kodepertanyaan="'+(Combobox1.Text)+'"'; query2.ExecSQL; showmessage('Data telah berhasil diubah !'); end; end; procedure TFEditPertanyaan.ComboBox1Change(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan= '+QuotedStr(combobox1.Text)); //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin //EdTanya.Text:=query1.FieldValues['pertanyaan']; Memo1.Text:=query1.FieldValues['pertanyaan']; end; end; end. Kode program form submenu hapus pertanyaan: unit UHapusPertanyaan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, DB, mySQLDbTables; type TFHapusPertanyaan = class(TForm) EdTanya: TEdit; Image1: TImage; BHapus: TBitBtn; BBatal: TBitBtn; Label1: TLabel; Label2: TLabel; Query1: TmySQLQuery; ComboBox1: TComboBox; Memo1: TMemo; procedure BBatalClick(Sender: TObject); procedure FormActivate(Sender: TObject);

Page 154: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

142

procedure FormCreate(Sender: TObject); procedure BHapusClick(Sender: TObject); procedure ComboBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } tanya:TStringList; end; var FHapusPertanyaan: TFHapusPertanyaan; implementation uses DataModule, UDiagnosis; {$R *.dfm} procedure TFHapusPertanyaan.BBatalClick(Sender: TObject); begin FHapusPertanyaan.Close; end; procedure TFHapusPertanyaan.FormActivate(Sender: TObject); begin DataModule1.pertanyaan.open; tanya.Clear; DataModule1.pertanyaan.First; while not DataModule1.pertanyaan.Eof do begin ComboBox1.Items.Add(DataModule1.pertanyaan.FieldByName('Kode').AsString); tanya.Add(DataModule1.pertanyaan.fieldByName('pertanyaan').AsString); DataModule1.pertanyaan.Next; end; DataModule1.pertanyaan.close; ComboBox1.ItemIndex:=1; EdTanya.Text:=tanya[comboBox1.ItemIndex]; end; procedure TFHapusPertanyaan.FormCreate(Sender: TObject); begin // tanya:=TSTringList.Create; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan '); //query1.ExecSQL; query1.Open; query1.First;

Page 155: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

143

while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodepertanyaan']); query1.Next; end; end; procedure TFHapusPertanyaan.BHapusClick(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan='+QuotedStr(combobox1.Text)); //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin if MessageDlg('Apakah Yakin Data di hapus ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin query1.Close; query1.SQL.Clear; query1.SQL.Text:='delete from pertanyaan where kodepertanyaan="'+(combobox1.Text)+'"'; query1.ExecSQL; // query1.Open; query1.Close; combobox1.Items.Clear; //query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodepertanyaan']); query1.Next; end; end; showmessage('Data telah dihapus!'); end; end; procedure TFHapusPertanyaan.ComboBox1Change(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan where kodepertanyaan='+QuotedStr(combobox1.Text));

Page 156: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

144

query1.Open; if query1.RecordCount > 0 then Memo1.Text:=query1.FieldValues['pertanyaan']; end; end. Kode program form submenu tambah jawaban: unit UTambahJawaban; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, CheckLst, jpeg, ExtCtrls, DB, mySQLDbTables; type TFTambahJawaban = class(TForm) Label1: TLabel; edKode: TEdit; Label2: TLabel; edPenyakit: TEdit; Label3: TLabel; CheckListBox1: TCheckListBox; BTambah: TBitBtn; BKeluar: TBitBtn; Label5: TLabel; Memo1: TMemo; Query1: TmySQLQuery; cb1: TComboBox; Image1: TImage; CheckListBox2: TCheckListBox; procedure BKeluarClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure BTambahClick(Sender: TObject); procedure CheckListBox2ClickCheck(Sender: TObject); private { Private declarations } public { Public declarations } end; var FTambahJawaban: TFTambahJawaban; implementation

Page 157: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

145

uses UUpdate, DataModule, UDiagnosis; {$R *.dfm} procedure TFTambahJawaban.BKeluarClick(Sender: TObject); begin FTambahJawaban.Close; end; procedure TFTambahJawaban.FormClose(Sender: TObject; var Action: TCloseAction); begin FUpdate.show; end; procedure TFTambahJawaban.FormActivate(Sender: TObject); begin { checklistbox1.Items.Clear; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from pertanyaan '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin checklistbox1.Items.Add(query1.FieldValues['kodepertanyaan']); query1.Next; end; } query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban order by kodejawaban '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin cb1.Items.Add(query1.FieldValues['kodejawaban']); query1.Next; end; DataModule1.pertanyaan.open; CheckListBox1.Clear; DataModule1.pertanyaan.First; while not DataModule1.pertanyaan.Eof do

Page 158: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

146

begin CheckListBox1.Items.Add(DataModule1.pertanyaan.FieldByName('kodepertanyaan').AsString); Checklistbox2.Items.Add(DataModule1.pertanyaan.FieldValues['pertanyaan']); DataModule1.pertanyaan.Next; end; DataModule1.pertanyaan.close; EdKode.SetFocus; end; procedure TFTambahJawaban.BTambahClick(Sender: TObject); var i,j,a :integer; k : array[0..100] of integer; pilih :TStringList; begin if (EdKode.Text='') or (EdPenyakit.Text='') or (Memo1.Text='') then begin MessageBox(handle,'Data kurang lengkap','Data kurang',MB_OK); exit; end; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban where kodejawaban='+QuotedStr(edKode.Text)); //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin MessageBox(handle,'Kode telah ada sebelumnya','Data salah',MB_OK); query1.Close; exit; end; query1.Close; pilih:=TStringList.Create; pilih.Clear; for i:=0 to checkListBox1.Items.Count-1 do begin if checkListBox1.Checked[i] then begin pilih.Add(inttostr(i)); end; end; if pilih.Count=0 then begin

Page 159: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

147

MessageBox(handle,'Pertanyaan belum dipilih','Data kurang',MB_OK); pilih.Free; exit; end; query1.Close; query1.SQL.Clear; query1.SQL.add('Insert Into jawaban Values ('+ AnsiQuotedStr(edKode.Text,'''')+','+ AnsiQuotedStr(edPenyakit.Text,'''')+','+ AnsiQuotedStr(Memo1.Text,'''')+')'); query1.ExecSQL; DataModule1.relasi.Open; for i:=0 to pilih.Count-1 do begin a:=0; for j:=0 to checklistbox1.Items.Count -1 do if checklistbox1.Checked[j]=true then begin k[a]:=j; a:=a+1 end; j:=checklistbox1.ItemIndex; query1.Close; query1.SQL.Clear; query1.SQL.add('Insert into relasi values ('+ AnsiQuotedStr(edKode.Text,'''')+','+ AnsiQuotedStr(checkListBox1.Items[k[i]],'''')+')'); query1.ExecSQL; end; query1.Close; pilih.Free; MessageBox(handle,'Data berhasil ditambah','Tambah Data',MB_OK); MessageBox(handle,'Restart Aplikasi Ini','Warning',MB_OK); end; procedure TFTambahJawaban.CheckListBox2ClickCheck(Sender: TObject); var i: Integer; begin for i := 0 to CheckListBox2.Items.Count-1 do CheckListBox1.Checked[i] := CheckListBox2.Checked[i]; end; end.

Page 160: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

148

Kode program form submenu edit pertanyaan: unit UEditJawaban; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, DB, mySQLDbTables, ZAbstractRODataset, ZAbstractDataset, ZDataset; type TFEditJawaban = class(TForm) ComboBox1: TComboBox; BUbah: TBitBtn; BBatal: TBitBtn; Label1: TLabel; Label3: TLabel; EdPenyakit: TEdit; Label5: TLabel; Memo1: TMemo; Query12: TmySQLQuery; Query1: TZQuery; Query2: TZQuery; Image1: TImage; procedure BBatalClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BUbahClick(Sender: TObject); private { Private declarations } public { Public declarations } tanya:TStringList; end; var FEditJawaban: TFEditJawaban; implementation uses DataModule, UDiagnosis; {$R *.dfm}

Page 161: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

149

procedure TFEditJawaban.BBatalClick(Sender: TObject); begin FEditJawaban.Close; end; procedure TFEditJawaban.FormActivate(Sender: TObject); begin DataModule1.jawaban.open; tanya.Clear; DataModule1.jawaban.First; while not DataModule1.jawaban.Eof do begin ComboBox1.Items.Add(DataModule1.jawaban.FieldByName('Kode').AsString); tanya.Add(DataModule1.jawaban.fieldByName('Jawaban').AsString); DataModule1.jawaban.Next; end; DataModule1.jawaban.close; ComboBox1.ItemIndex:=1; EdPenyakit.Text:=tanya[comboBox1.ItemIndex]; end; procedure TFEditJawaban.ComboBox1Change(Sender: TObject); begin // EdPenyakit.Text:=tanya[comboBox1.ItemIndex]; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban where kodejawaban= '+QuotedStr(combobox1.Text)); //query1.ExecSQL; query1.Open; if query1.RecordCount > 0 then begin edPenyakit.Text:=query1.FieldValues['penyakit']; Memo1.Text:=query1.FieldValues['pengobatan']; end; end; procedure TFEditJawaban.FormCreate(Sender: TObject); begin tanya:=TStringList.Create; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban '); query1.Open; query1.First; while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodejawaban']); query1.Next; end; end;

Page 162: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

150

procedure TFEditJawaban.BUbahClick(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.Text:='Select * from jawaban where kodejawaban="'+(combobox1.Text)+'"'; query1.open; if query1.RecordCount > 0 then begin if MessageDlg('Apakah Yakin Data diperbaharui ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin query2.Close; query2.SQL.Clear; query2.SQL.Text:='update jawaban set penyakit="' +edPenyakit.Text+'", pengobatan="'+memo1.Text+'" where ' +'kodejawaban="'+combobox1.Text+'"'; query2.ExecSQL; showmessage('Data telah diupdate !'); end; end; end; end. Kode program form submenu hapus jawaban: unit UHapusJawaban; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, DB, mySQLDbTables, ZAbstractRODataset, ZAbstractDataset, ZDataset; type TFHapusJawaban = class(TForm) Image1: TImage; Label1: TLabel; ComboBox1: TComboBox;

Page 163: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

151

Label2: TLabel; EdPenyakit: TEdit; BHapus: TBitBtn; BBatal: TBitBtn; Query12: TmySQLQuery; Query1: TZQuery; Query2: TZQuery; procedure BBatalClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BHapusClick(Sender: TObject); private { Private declarations } public { Public declarations } tanya:TStringList; end; var FHapusJawaban: TFHapusJawaban; implementation uses DataModule, UDiagnosis; {$R *.dfm} procedure TFHapusJawaban.FormActivate(Sender: TObject); begin DataModule1.jawaban.open; tanya.Clear; DataModule1.jawaban.First; while not DataModule1.jawaban.Eof do begin ComboBox1.Items.Add(DataModule1.jawaban.FieldByName('Kode').AsString); tanya.Add(DataModule1.jawaban.fieldByName('Jawaban').AsString); DataModule1.jawaban.Next; end; DataModule1.jawaban.close; ComboBox1.ItemIndex:=1; EdPenyakit.Text:=tanya[comboBox1.ItemIndex]; end; procedure TFHapusJawaban.ComboBox1Change(Sender: TObject); begin //EdPenyakit.Text:=tanya[comboBox1.ItemIndex]; query1.Close; query1.SQL.Clear;

Page 164: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

152

query1.SQL.add('Select * from jawaban where kodejawaban= '+QuotedStr(combobox1.Text)); //query1.ExecSQL; query1.Open; EdPenyakit.Text:=query1.FieldValues['penyakit']; end; procedure TFHapusJawaban.FormCreate(Sender: TObject); begin // tanya:=TStringList.Create; query1.Close; query1.SQL.Clear; query1.SQL.add('Select * from jawaban '); //query1.ExecSQL; query1.Open; query1.First; while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodejawaban']); query1.Next; end; end; procedure TFHapusJawaban.BBatalClick(Sender: TObject); begin FHapusJawaban.Close; end; procedure TFHapusJawaban.BHapusClick(Sender: TObject); begin query1.Close; query1.SQL.Clear; query1.SQL.Text:='Select * from jawaban where kodejawaban="'+(combobox1.Text)+'"'; query1.Open; if query1.RecordCount > 0 then begin if MessageDlg('Apakah Yakin Data di hapus ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin query2.Close; query2.SQL.Clear; query2.SQL.Text:='delete from jawaban where kodejawaban="'+(combobox1.Text)+'"'; query2.ExecSQL; query2.Close; query2.SQL.Clear; query2.SQL.Text:='delete from relasi where kodejawaban="'+(combobox1.Text)+'"'; query2.ExecSQL; query1.Close; combobox1.Items.Clear;

Page 165: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

153

query1.SQL.Clear; query1.SQL.add('Select * from jawaban '); query1.Open; query1.First; while not query1.Eof do begin combobox1.Items.Add(query1.FieldValues['kodejawaban']); query1.Next; end; end; showmessage('Data telah dihapus!'); end; end; end. Kode program form menu petunjuk: unit UPetunjuk; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons; type TFPetunjuk = class(TForm) Image1: TImage; Shape1: TShape; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label7: TLabel; Label8: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label15: TLabel; Label18: TLabel; Label19: TLabel; BitBtn1: TBitBtn; Shape2: TShape; Label2: TLabel;

Page 166: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

154

Shape3: TShape; Shape4: TShape; Shape5: TShape; Shape6: TShape; Label16: TLabel; Label14: TLabel; Label9: TLabel; Label6: TLabel; procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FPetunjuk: TFPetunjuk; implementation {$R *.dfm} procedure TFPetunjuk.BitBtn1Click(Sender: TObject); begin FPetunjuk.Close; end; end. Kode program form menu identitas: unit UTentang; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons; type TFTentang = class(TForm) S: TImage; Image2: TImage; Label1: TLabel; Label3: TLabel; Label4: TLabel;

Page 167: ANALISIS PENGARUH KUALITAS RESOLUSI CITRA …repository.usu.ac.id/bitstream/123456789/7873/1/10E01077.pdf · FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM . UNIVERSITAS SUMATERA UTARA

Afnisyah Taurisna : Analisis Pengaruh Kualitas Resolusi Citra Terhadap Kinerja Metode Pendeteksi Tepi, 2010.

155

Label5: TLabel; BitBtn1: TBitBtn; procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FTentang: TFTentang; implementation {$R *.dfm} procedure TFTentang.BitBtn1Click(Sender: TObject); begin FTentang.Close; end; end.