Kohonen Neural Network Dalam Pendeteksian Duplikasi Image Digital Melalui Deteksi Garis Tepi

(1)

KOHONEN NEURAL NETWORK DALAM PENDETEKSIAN

DUPLIKASI IMAGE DIGITAL MELALUI DETEKSI GARIS TEPI

SKRIPSI

MAHATHIR FEBRIAN

091402131

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

KOHONEN NEURAL NETWORK

DALAM PENDETEKSIAN DUPLIKASI

IMAGE DIGITAL

MELALUI DETEKSI GARIS TEPI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

MAHATHIR FEBRIAN 091402131

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : KOHONEN NEURAL NETWORK DALAM

PENDETEKSIAN DUPLIKASI IMAGE

DIGITAL MELALUI DETEKSI GARIS TEPI

Kategori : SKRIPSI

Nama : MAHATHIR FEBRIAN

Nomor Induk Mahasiswa : 091402131

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di

Medan, 23 Agustus 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri Budiman, ST., M.Com.Sc NIP. 197510082008011011

Dr. Erna Budhiarti Nababan, M.IT NIP.

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

M. Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010


(4)

PERNYATAAN

kOHONEN NEURAL NETWORK

DALAM PENDETEKSIAN

DUPLIKASI

IMAGE DIGITAL

MELALUI DETEKSI GARIS TEPI

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 23 Agustus 2014

MAHATHIR FEBRIAN 091402131


(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan

dan motivasi baik materil dan spiritual, Ayahanda Zakaria dan Ibunda Suryawati yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk adik penulis Habibie, M.Rezeki dan Adha Natsya yang selalu memberikan semangat kepada penulis.

2. Ibu Dr. Erna Budhiarti Nababan, M.IT dan Bapak M. Andri Budiman,ST.,

M.Com.Sc selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Bapak Dedy Arisandi, ST.,M.Kom dan Bapak M. Fadly Syahputra,

B.Sc.,M.Sc.IT yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia

Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.


(6)

6. Orang terdekat penulis, Cyntia Harmaytha Harahap, ST. Terima kasih banyak telah membantu menyemangati, mendukung, dan mendampingi segala kegiatan penulis.

7. Seluruh sahabat terbaik penulis yang selalu memberikan dukungan, Denny

Pratama, Ahmad Najam, Wildan Afifi, Satrya Prayudi, Darma Warista, Razky, Oliver, Junaidi Arief, Andri Agung, Anggi Brahmana, Fachriza Fahmi, Andre H Lubis, M. Taufiqul Hadi, Anthea Ria M, Boho, Yogi, Dedek, Ranap, Donny, Erfahd, Adha, Mulki, Syarah, Mitha, Ari Rifki, Bang Aulia, Bang Sandro, Bang Irwanta, seluruh angkatan 09, teman SRC, teman GG, teman-teman Telkom, teman-teman-teman-teman PIM, teman-teman-teman-teman Mangga, teman-teman-teman-teman TDK serta teman-teman seluruh angkatan mahasiswa USU lainnya yang tidak dapat penulis sebutkan satu persatu.

Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.


(7)

ABSTRAK

Abstrak—Frekuensi penyebaran informasi dalam bentuk image digital ini semakin tinggi, baik dari segi kualitas maupun kuantitasnya. Hal ini menyebabkan sering

terjadinya duplikasi image digital yang memiliki kesamaan dalam bentuk gambar,

namun memiliki perbedaan dalam hal ukuran dan nama file. Duplikasi gambar ini

dapat menyebabkan pemborosan dalam media penyimanan data seperti hard disk atau

flash disk serta rumitnya pengaturan data dalam bentuk image digital tersebut. Oleh

karena itu, perlu adanya sebuah pendekatan data yang mendeteksi duplikasi image

digital di dalam media penyimpanan data, sehingga memudahkan pengguna untuk

melakukan penghapusan atau pengaturan image digital tersebut. Metode kohonen

neural network akan mengolah setiap sinyal dari image digital dan melakukan pengecekan terhadap sebuah image digital. Metode ini akan mengolah setiap sinyal

dari image digital dan membentuk cluster-cluster disekitar tepi-tepi gambar

(dihasilkan oleh proses pendeteksian garis tepi menggunakan teknik edge linking)

yang selanjutnya diproses untuk menghasilkan nilai jarak antar cluster yang

berdekatan. Cluster-cluster yang dibentuk akan berfungsi sebagai garis virtual pada daerah segmentasi. Garis virtual ini besar peranannya dalam hal menghubungkan garis-garis yang terputus pada saat proses pendeteksian garis tepi sebelumnya. Hal ini

akan mempengaruhi tingkat ketelitian proses pendeteksian duplikasi image digital

yang dilakukan. Berdasarkan pengujian yang telah dilakukan, algoritma kohonen

neural network dapat segmentasi dan mengelompokkan image serta memiliki komputasi waktu yang cepat.

Kata KunciImage digital, Image duplication, Kohonen Neural Network Algorithm, Edge Linking Algorithm


(8)

KOHONEN NEURAL NETWORK FOR IMAGE DIGITAL DUPLICATE DETECTION USING EDGE DETECTION

ABSTRACT

Dissemination Information Frequency in the form of digital image is rising, both by its quality and quantity. This causes frequent digital image duplication occurences

which have similarities in the form of images, and also differencies in size and file

name. Duplication of this image may waste the media data strorage such as hard disc

or flash disc as well as the complexity data settings in the form of the digital image.

Therefore the quary for a data approach to detect any digital image duplications in the

data strorage media to simplify users to remove or set the digital image is a must to do. Kohonen neural network method shall process any signal from the digital image

and performs an inspection on a digital image. This method shall process any signal

from a digital image and create some clusters around the image’s edges (generated by

the edge detection process using the edge linking technique) and further shall be processed to generate a distance value between adjacent clusters. Formed clusters shall serve as a virtual line on the segmentation area. This virtual line has a major role to reconnect any disconnected lines in the process of the previous edge detection time. This shall affect the digital image duplication detection process accuracy level conducted. Based on the ducted tests, the Kohonen neural network algorithm may segment and classifyied the image and having a fast computational time.

Keyword— Digital image, Image duplication, Kohonen Neural Network Algorithm, Edge Linking Algorithm


(9)

DAFTAR ISI

Hal.

PERSETUJUAN ... ii

PERNYATAAN ... iii

UCAPAN TERIMA KASIH ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR TABEL ... x

DAFTAR GAMBAR ... iiixi BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalahs ... 2

1.4. Tujuan Penelitian ... 3

1.5. Manfaat Penelitian ... 3

1.6. Metodologi Penelitian ... 3

1.7. Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 6

2.1. Citra Digital ... 6

2.2. Pengolahan Citra Digital ... 7

2.3. Edge Linking ... 8

2.4. Kohonen Neural Network ... 8

2.5. Standard Deviasi ... 10

2.6. Kurtosis ... 10

2.7. Skweness ... 11

2.8. Penelitian Terdahulu ... 12

BAB 3 ANALISIS DAN PERANCANGAN ... 13

3.1. Analisis Sistem ... 13

3.1.1 Analisis Fasilitas Sistem ... 13


(10)

3.1.2.1 Kebutuhan Fungsional ... 14

3.1.2.2 Kebutuhan Nonfungsional ... 15

3.1.3 Penerapan Algoritma Kohonen Neural Network SOM ... 15

3.2 Perancangan Sistem ... 27

3.2.1 Flowchart Sistem ... 27

3.2.2 Perancangan Antarmuka Program ... 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 36

4.1. Implementasi ... 36

4.1.2 Tampilan Hasil ... 36

4.1.2 Pengujian Sistem ... 37

4.2. Pembahasan ... 45

4.1.2 Kelebihan Sistem ... 47

4.2.2 Kelemahan Sistem ... 47

BAB 5 KESIMPULAN DAN SARAN ... 48

5.1. Kesimpulan ... 48

5.2. Saran ... 49

DAFTAR PUSTAKA ... 50 LAMPIRAN KODE PROGRAM ... 550 52


(11)

DAFTAR TABEL

Hal.

Tabel 2.1 Tabel Penelitian Terdahulu 12

Tabel 3.1 Proses Edge Linking 18

Tabel 3.2 Hasil Garis Tepi Citra A 19

Tabel 3.3 Standard Deviasi, Kurtosis, dan Skweness 25

Tabel 4.1 Hasil Pembandingan Gambar yang mirip 46


(12)

DAFTAR GAMBAR

Hal.

Gambar 2.1 Color Image 6

Gambar 2.2 Citra Digital 7

Gambar 2.3 Kurva Skweness dan Kurtosis 11

Gambar 3.1 Struktur Pixel Citra A 16

Gambar 3.2 Hasil Deteksi Garis Tepi Citra A 19

Gambar 3.3 Hasil Segmentasi Citra A 20

Gambar 3.4 BMN Citra A 20

Gambar 3.5 Struktur Pixel Citra A 21

Gambar 3.6 Hasil Segmentasi Citra B 21

Gambar 3.7 BMN Citra B 21

Gambar 3.8 Flowchart Prose Kerja Perangkat Lunak 28

Gambar 3.13 Rancangan Form Utama 34

Gambar 3.14 Rancangan Form About 35

Gambar 4.1 Tampilan Form Utama 36

Gambar 4.2 Form About 37

Gambar 4.3 Gambar Normal.bmp 38

Gambar 4.4 Gambar Brighup.bmp 39

Gambar 4.5 Gambar Brigtdown.bmp 39

Gambar 4.6 Gambar Contup.bmp 40

Gambar 4.7 Gambar Contdown.bmp 40

Gambar 4.8 Gambar uji2.bmp 41

Gambar 4.9 Gambar uji3.bmp 41

Gambar 4.10 Gambar uji4.bmp 42

Gambar 4.11 Menginput Gambar Pembanding 42

Gambar 4.12 Menginput Lokasi Pencarian Gambar 43

Gambar 4.13 Mendeteksi Garis Tepi Gambar Pembanding 44

Gambar 4.14 Segmentasi Gambar Dengan Metode Kohonen SOM 44


(13)

ABSTRAK

Abstrak—Frekuensi penyebaran informasi dalam bentuk image digital ini semakin tinggi, baik dari segi kualitas maupun kuantitasnya. Hal ini menyebabkan sering

terjadinya duplikasi image digital yang memiliki kesamaan dalam bentuk gambar,

namun memiliki perbedaan dalam hal ukuran dan nama file. Duplikasi gambar ini

dapat menyebabkan pemborosan dalam media penyimanan data seperti hard disk atau

flash disk serta rumitnya pengaturan data dalam bentuk image digital tersebut. Oleh

karena itu, perlu adanya sebuah pendekatan data yang mendeteksi duplikasi image

digital di dalam media penyimpanan data, sehingga memudahkan pengguna untuk

melakukan penghapusan atau pengaturan image digital tersebut. Metode kohonen

neural network akan mengolah setiap sinyal dari image digital dan melakukan pengecekan terhadap sebuah image digital. Metode ini akan mengolah setiap sinyal

dari image digital dan membentuk cluster-cluster disekitar tepi-tepi gambar

(dihasilkan oleh proses pendeteksian garis tepi menggunakan teknik edge linking)

yang selanjutnya diproses untuk menghasilkan nilai jarak antar cluster yang

berdekatan. Cluster-cluster yang dibentuk akan berfungsi sebagai garis virtual pada daerah segmentasi. Garis virtual ini besar peranannya dalam hal menghubungkan garis-garis yang terputus pada saat proses pendeteksian garis tepi sebelumnya. Hal ini

akan mempengaruhi tingkat ketelitian proses pendeteksian duplikasi image digital

yang dilakukan. Berdasarkan pengujian yang telah dilakukan, algoritma kohonen

neural network dapat segmentasi dan mengelompokkan image serta memiliki komputasi waktu yang cepat.

Kata KunciImage digital, Image duplication, Kohonen Neural Network Algorithm, Edge Linking Algorithm


(14)

KOHONEN NEURAL NETWORK FOR IMAGE DIGITAL DUPLICATE DETECTION USING EDGE DETECTION

ABSTRACT

Dissemination Information Frequency in the form of digital image is rising, both by its quality and quantity. This causes frequent digital image duplication occurences

which have similarities in the form of images, and also differencies in size and file

name. Duplication of this image may waste the media data strorage such as hard disc

or flash disc as well as the complexity data settings in the form of the digital image.

Therefore the quary for a data approach to detect any digital image duplications in the

data strorage media to simplify users to remove or set the digital image is a must to do. Kohonen neural network method shall process any signal from the digital image

and performs an inspection on a digital image. This method shall process any signal

from a digital image and create some clusters around the image’s edges (generated by

the edge detection process using the edge linking technique) and further shall be processed to generate a distance value between adjacent clusters. Formed clusters shall serve as a virtual line on the segmentation area. This virtual line has a major role to reconnect any disconnected lines in the process of the previous edge detection time. This shall affect the digital image duplication detection process accuracy level conducted. Based on the ducted tests, the Kohonen neural network algorithm may segment and classifyied the image and having a fast computational time.

Keyword— Digital image, Image duplication, Kohonen Neural Network Algorithm, Edge Linking Algorithm


(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi saat ini sangatlah pesat. Berbagai ragam jenis

informasi dapat diakses dari berbagai jenis media. Image digital merupakan salah satu

media informasi yang sering digunakan dalam proses pertukaran informasi. Dengan dukungan internet sebagai media penyebar informasi yang dapat diakses dengan cepat dan mudah, frekuensi penyebaran informasi dalam bentuk image digital ini semakin tinggi, baik dari segi kuantitas maupun kualitasnya.

Image digital disimpan dalam media penyimpanan dengan menyimpan pixel

penyusunnya. Oleh karena itu, memori yang dibutuhkan untuk menyimpan image

tergantung pada jumlah pixel yang menyusun citra. Semakin banyak pixel pada citra,

maka semakin besar memori yang dibutuhkan untuk menyimpan image (Fazry, 2008). Hal ini menyebabkan sering terjadi duplikasi image digital yang memiliki kesamaan

dalam bentuk gambar, namun memiliki perbedaan dalam hal ukuran dan nama file.

Duplikasi gambar ini dapat menyebabkan pemborosan dalam media penyimpanan data seperti hard disk atau flash disk serta rumitnya pengaturan data dalam bentuk

image digital tersebut. Oleh karena itu, perlu adanya sebuah pendekatan yang dapat

mendeteksi duplikasi image digital di dalam media penyimpanan data, sehingga

memudahkan pengguna untuk melakukan penghapusan atau pengaturan image digital

tersebut.

Pendeteksian duplikasi image digital ini dapat dilakukan dengan cara

membandingkan garis tepi setiap image di dalam media penyimpanan data, kemudian


(16)

persentase kesamaan garis tepinya. Segmentasi terhadap garis tepi image digital akan membagi citra ke dalam daerah intensitasnya masing-masing sehingga bisa dibedakan

antara objek gambar dan background-nya (Mandalasari, 2013). Salah satu metode

segmentasi citra yang dapat dimanfaatkan untuk mengelompokkan dan melakukan

pengecekan terhadap sebuah image digital adalah metode Kohonen Neural Network.

Metode ini akan mengolah setiap sinyal dari image digital dan membentuk cluster-cluster disekitar tepi-tepi gambar (dihasilkan oleh proses pendeteksian garis tepi

menggunakan teknik edge linking) yang selanjutnya diproses untuk menghasilkan

nilai jarak antar cluster yang berdekatan. Cluster-cluster yang dibentuk akan berfungsi sebagai garis virtual pada daerah segmentasi. Garis virtual ini besar peranannya dalam hal menghubungkan garis-garis yang terputus pada saat proses pendeteksian garis tepi sebelumnya. Hal ini akan mempengaruhi tingkat ketelitian proses pendeteksian duplikasi image digital yang dilakukan.

Dengan memberikan sebuah nilai derajat adaptasi yang diinginkan dalam proses pendeteksian, pengguna dapat menggunakan hasil segmentasi dari metode

kohonen neural network ini sebagai bahan pembanding untuk melakukan tindakan penghapusan atau pengaturan ulang terhadap image digital tersebut di dalam media

penyimpanan data. Dengan demikian, masalah duplikasi image digital yang memiliki

kesamaan bentuk gambar namun berbeda dalam hal ukuran dan nama filenya dapat

diatasi, tanpa harus melakukan pengecekan satu persatu terhadap seluruh image

digital yang tersimpan di dalam media penyimpanan data.

1.2. Rumusan Masalah

Sering terjadi duplikasi terhadap image digital, dimana satu atau lebih image digital

memiliki bentuk gambar yang sama, namun berbeda dalam hal ukuran dan nama file.

Untuk mendeteksi duplikasi ini secara manual (satu persatu) pada media penyimpanan

data berkapasitas besar akan menimbulkan kesulitan karena jumlah image digital yang

banyak.

1.3. Batasan Masalah

Batasan masalah pada tugas akhir ini adalah sebagai berikut :


(17)

2. Sinyal input yang digunakan dalam metode Kohonen Neural Network Self Organizing Map adalah hasil pendeteksian garis tepi gambar yang diperoleh

menggunakan teknik edge linking.

3. Parameter perbandingan yang digunakan adalah selisih jarak standard

deviasi, klasifikasi kurtosis dan arah skewness.

4. Hasil output pendeteksian berdasarkan kesamaan bentuk gambar, tidak

sampai pada kesamaan warna.

5. Aplikasi yang akan dibuat tidak berbasis web.

6. Nilai T dan A dalam pendeteksian garis tepi yang digunakan merupakan nilai

konstan, yaitu 10 dan 0,5.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah membandingkan bentuk kesamaan gambar pada media penyimpanan data untuk mencari gambar yang mengalami duplikasi,

berdasarkan hasil segmentasi garis tepi gambar dengan menggunakan metode kohonen

SOM.

1.5. Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan manfaat bagi penulis, pembaca dan para peneliti, sebagai berikut:

1. Dapat membantu meminimalisir terjadi duplikasi image digital yang

menyebabkan penuhnya media penyimpanan.

2. Tugas akhir ini dapat menambah variasi, referensi dan dikembangkan dalam

aplikasi segmentasi citra, khususnya yang menggunakan metode Kohonen Neural

Network Self Organizing Map.

1.6. Metodologi Penelitian

Metodologi penelitian yang digunakan pada penelitian ini adalah:

a. Studi Literatur

Pada tahap studi literature, penulis mengumpulkan data referensi-referensi yang menyulur tentang permasalahan diatas. Tahapan ini ditujukan untuk mengetahui apa yang akan dikerjakan, apa yang sudah dikerjakan oleh peneliti lain, dan


(18)

bagaimana mereka menyelesaikannya, kemudian seberapa jauh pengembangan

terhadap pengaplikasian Kohonen Neural Network Self Organizing Map ini serta

seberapa jauh yang dapat dilakukan untuk memperbaiki penelitian para peneliti lain tersebut.

b. Pengumpulan Data

Pada tahap pengumpulan data, dilakukan pengumpulan data yang mendukung dalam penyelesaian masalah yang diteliti secara sistematis.

c. Analisa dan Perancangan Sistem

Pada tahap ini, penulis akan melakukan analisa terhadap kumpulan data yang telah dilakukan pada tahapan sebelumnya, dalam penyelesaian suatu masalah sehingga dapat merancang sebuah sistem yang akan diimplementasikan nantinya.

d. Implementasi Sistem

Pada tahap pengimplementasi sistem, penulis melakukan pengimplementasian

Kohonen Neural Network Self Organizing Map kedalam aplikasi yang akan dibuat berdasarkan pada analisa dan rancangan sebelumnya. Implementasi meliputi pembuatan sistem dalam menyelesaikan masalah yang diteliti.

e. Pengujian Sistem

Pada tahap ini, penulis melakukan pengujian terhadap system yang telah dibuat untuk mengetahui kehandalan sistem tersebut dan untuk mengetahui apakah telah sesuai dengan yang diharapkan dalam penelitian ini.

f. Dokumentasi Sistem

Pada tahap dokumentasi sistem ini, penulis menyusun laporan terhadap sistem yang telah dibuat.


(19)

1.7. Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas

pada penelitian ini. Pada bab ini dijelaskan Kohonen Neural Network, Edge Linking,

Standard Deviasi, Kurtosis, Skewness dan Knowledge tentang pendeteksian gambar melalui garis tepi.

BAB 3: ANALISIS DAN PERANCANGAN

Bab ini membahas tentang perancangan sistem dan program yang mencakup perancangan sistem dan perancangan interface. Dalam perancangan sistem dicantumkan data flow diagram untuk mempermudah penjelasan sistem.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan perangkat lunak yang disusun pada Bab 3 dan pengujian terhadap sistem yang dibangun.

BAB 5: KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran-saran yang diajukan untuk pengembangan selanjutnya.


(20)

BAB 2

LANDASAN TEORI

2.1. Citra Digital

Citra digital adalah citra yang bersifat diskrit yang dapat diolah oleh computer. Citra ini dapat dihasilkan melalui kamera digital dan scanner ataupun citra yang telah mengalami proses digitalisasi (Fahzuanta, 2010). Pada sebuah citra masing-masing pixelnya memiliki warna tertentu, warna tersebut adalah merah (Red), hijau (Green)

dan biru (Blue). Jika masing-masing warna memiliki range 0-225, maka totalnya

adalah 2553=16.581.378 (16 k) variasi warna berbeda pada gambar, dimana variasi warna ini cukup untuk gambar apapun. Karena jumlah bit yang diperlukan untuk

setiap pixel, gambar tersebut juga disebut gambar-bit warna. (Kusumanto, 2011)

Color image ini terdiri dari tiga matriks yang mewakili nilai-nilai merah, hijau dan biru untuk setiap pixelnya. Misalnya diambil suatu kotak kecil dari bagian citra direpresentasikan dengan matriks berukuran 6x7, seperti terlihat pada gambar 2.1.


(21)

2.2. Pengolahan Citra Digital

Citra digital dapat didefinisikan sebagai fungsi dua variabel f(x,y), dimana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut. Hal tersebut diilustrasikan pada Gambar 2.2. Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital, citra merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau dan biru (Iqbal, 2010). Komposisi warna RGB tersebut dapat dijelaskan pada Gambar 2.2.

Gambar 2.2 Citra Digital (Iqbal, 2010)

Sebuah citra di konversi ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Ketika sebuah citra sudah diubah ke dalam bentuk digital bermacam-macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut. Pengolahan citra merupakan proses untuk menghasilkan citra sesuai dengan keinginan atau kualitasnya menjadi lebih baik. Inputannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan. Misal citra warnanya kurang tajam, kabur (blurring) dan mengandung noise (misal bintik-bintik putih) sehingga perlu ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang disampaikan menjadi berkurang (Fahzuanta, 2010).


(22)

2.3. Edge Linking

Secara ideal, teknik yang digunakan untuk mendeteksi diskontinuitas seharusnya

hanya menghasilkan pixel-pixel yang berada pada batas region. Namun dalam

prakteknya hal ini jarang terjadi karena adanya noise, batas yang terpisah karena pencahayaan yang tidak merata, dan efek lain yang mengakibatkan variasi intensitas.

Untuk itu algoritma edge detection biasanya dilanjutkan dengan prosedur Edge

Linking untuk merangkai pixel-pixel tersebut menjadi satu kesatuan sehingga memberikan suatu informasi yang berarti (Fahzuanta, 2010).

Teknik yang dapat digunakan untuk Edge Linking adalah local processing,

yaitu dengan menganalisa karakteristik pixel-pixel di dalam suatu tetangga (3 x 3 atau

5 x 5) pada semua titik (x,y) di dalam citra yang telah mengalami edge-detection. Selanjutnya semua titik yang sejenis dihubungkan sehingga membentuk kumpulan

pixel yang memiliki sifat-sifat yang sama.

Dua sifat utama yang digunakan untuk menentukan kesamaan edge pixel

dalam analisa ini adalah :

1. Besarnya respon gradien operator yang digunakan 2. Arah gradien

Sifat yang pertama dinyatakan dengan nilai ∇f yang telah dibahas sebelumnya.

Jadi suatu edge pixeldengan koordinat (x’,y’) dan bertetangga dengan (x,y), dikatakan

memiliki magnitude sama dengan pixel di (x,y) jika : dimana ∇f = vektor dan T =

threshold positif. Suatu edge pixel dengan koordinat (x’,y’) dan bertetangga dengan

(x,y), dikatakan memiliki sudut yang sama dengan pixel di (x,y) jika : di mana A =

threshold sudut. Suatu titik yang menjadi tetangga dari (x,y) dihubungkan dengan titik (x,y) jika memenuhi kedua kriteria di atas, baik magnitude maupun sudutnya. Proses

linking ini diulang untuk seluruh lokasi titik yang ada di dalam citra

2.4.Kohonen Neural Network

Kohonen Neural Network atau Kohonen SelfOrganizing Network merupakan analogi sederhana dari cara kerja otak manusia dalam mengelompokan informasi. Penelitian menunjukan bahwa kulit otak manusia terbagi ke dalam bagian-bagian yang berbeda,


(23)

masing-masing merespon fungsi-fungsi khusus. Sel-sel saraf mengelompokan dirinya sendiri sesuai dengan informasi yang diterima. Pengelompokan seperti ini disebut

unsupervised learning (Kusumadewi,2003).

Kohonen Neural Network terdiri dari 2 lapisan, lapisan masukan dan lapisan

keluaran. Keluaran pada Kohonen Neural Network berjumlah sama dengan jumlah

pola yang membentuk neuron keluaran, dan hanya satu neuron keluaran yang menjadi pemenang (Heaton, 2003).

Proses pembelajaran Kohonen Neural Network bersifat kompetitif atau bersaing. Untuk setiap pelatihan terdapat satu neuron keluaran dalam kondisi firing

(neuron keluaran yang bernilai paling besar). Bobot yang terkoneksi pada neuron keluaran tersebut akan disesuaikan sehingga nilainya lebih kuat pada latihan berikutnya. Berikut proses pembelajaran Kohonen Neural Network (Zamasari,2005):

1. Inisialisasi seluruh bobot dengan nilai random: wij normalisasi seluruh bobot

dan vektor masukan x, set parameter learning rate.

2. Kerjakan a-f sampai kondisi berhenti bernilai BENAR

a. evaluasi kesalahan untuk setiap vektor masukan x. b. simpan bobot dengan kesalahan palingminimal.

c. cek neuron keluaran yang telah firing atau aktif, jika terdapat neuron.

keluaran yang tidak pernah firing, maka forcewin dan kembali ke a). Jika tidak

lanjutkan langkah e). d. Forcewin

hitung aktifasi setiap vektor masukan dan ambil indeks vektor masukan dengan aktifasi yang paling kecil.

setiap neuron keluaran dengan vektor masukan yang didapat pada a) dan pilih indeks neuron keluaran dengan nilai terbesar yang tidak pernah aktif selama latihan.

modifikasi bobot dari neuron keluaran pada butir b.

e. Sesuaikan bobot dengan (persamaan 2.1) w’ = w + α(x-w)………..(2.1)

f. Perbaiki learning rate g.Test kondisi berhenti. 3. Ambil bobot terbaik 4. Normalisasi bobot


(24)

2.5. Standard Deviasi

Standard Deviasi adalah akar kuadrat dari total selisih dengan nilai rata-ratanya. Standard deviasi adalah salah satu teknik statistik yg digunakan untuk menjelaskan homogenitas kelompok. Standard deviasi disebut juga dengan atau simpangan baku. Standard deviasi merupakan variasi sebaran data. semakin kecil nilai sebarannya berarti variasi nilai data makin sama. Jika sebarannya bernilai 0, maka nilai semua datanya adalah sama. Semakin besar nilai sebarannya berarti data semakin bervariasi. Dengan menghitung nilai standar deviasi dari sebuah citra, akan didapat jumlah ukuran yang detail pada sub band (Thaiyalnayaki, 2010). Ada dua bentuk rumus standard deviasi yang dapat digunakan, yaitu rumus standard deviasi untuk populasi (persamaan 2.3) dan rumus standard deviasi untuk sampel (persamaan 2.2).

σ

=

…..…………...(2.2)

σ

=

………..(2.3)

Dimana :

σ = Nilai standar deviasi

N = Jumlah total pixel

= Nilai pixel pada posisi ke-i

µ = Nilai rata-rata pixel dalam citra

2.6. Kurtosis

Kurtosis adalah derajat keruncingan suatu distribusi (biasanya diukur relatif terhadap distribusi normal). Kurva yang lebih runcing dari distribusi normal dinamakan leptokurtik, yang lebih datar platikurtik dan distribusi normal disebut mesokurtik (Thaiyalnayaki, 2010).

Adapun rumus kurtosis yang digunakan, seperti terlihat pada (persamaan 2.4).


(25)

Dimana :

k = Nilai kurtosis

σ = Nilai standar deviasi

N = Jumlah total pixel

= Nilai pixel pada posisi ke-i

µ = Nilai rata-rata pixel dalam citra

2.7. Skewness

Skewness adalah derajat ketidaksimetrisan suatu distribusi. Jika kurva frekuensi suatu

distribusi memiliki ekor yang lebih memanjang ke kanan (dilihat dari meannya) maka

dikatakan menceng kanan (positif) dan jika sebaliknya maka menceng kiri (negatif).

Skewness digunakan untuk mengukur simetris atau kemencengan suatu kurva.

Skewness adalah ukuran asimetri data di sekitar mean sampel. (Thaiyalnayaki, 2010).

Gambar 2.3 Kurva Skweness dan Kurtosis

Adapun rumus skewness yang digunakan seperti terlihat pada (persamaan 2.5).

g

=

………..(2.5)

Dimana :

g = Nilai kurtosis


(26)

= Nilai pixel pada posisi ke-i

µ = Nilai rata-rata pixel dalam citra

2.8. Penelitian Terdahulu

Bagian ini menjelaskan beberapa penelitian terdahulu terkait dengan penelitian

pengolahan citra, kohonen neural network dan pendeteksian garis tepi. Penelitian yang

telah dilakukan dalam pendeteksian garis tepi terdapat pada penentuan model kerangka kepala manusia dengan banyak gambar yang berbeda sebagai objek

penelitiannya (Constantio. 2010), Putra (2010) membandingkan metode Edge Linking

dan Sobel untuk mendeteksi citra digital menghasilkan kecepatan proses pendeteksian garis tepi dengan menggunakan metode Edge Linking lebih cepat dibandingkan operator Sobel.. Tabel penelitian terdahulu ditunjukkan pada tabel 2.1.

Tabel 2.1 Tabel Penelitian Terdahulu

Penulis Teori Yang Digunakan Kelebihan dan

Kekurangan Putra Maqrifad Qalbi

Fahzuanta(2010)

Analisis Perbandingan

Pendeteksi Garis Tepi Pada Citra Digital Antara Metode Edge LinkingDan Operator Sobel

Kelebihan : Menampilkan perbandingan antara operator sobel dan edge linking

Kekurangan : Belum mengolah citra digital dengan format PNG atau GIF.

Constantio Carlos Reyes-Aldaroso (2010)

Image Segmentation with Kohonen Neural Network Self-Organising Map

Kelebihan : Mampu menghasilkan segmentasi terhadap citra medis yang kompleks.

Kekurangan : Masih memiliki keterbatasan dalam hal jumlah neuron yang dapat digunakan. Alvia Ferry

Mandalasari (2013)

Segmentasi Citra Medis

Menggunakan Metode Otsu dan Iterasi

Kelebihan : Mengulas mengenai kelebihan proses segmentasi terhadap citra digital pada tahap pre-processing.

Kekurangan : Metode segmentasi masih menggunakan metode iterasi yang sederhana.


(27)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini, akan dibahas beberapa hal mengenai penerapan algoritma dan analisa

perancangan sistem dalam mengimplementasikan Algoritma Kohonen Nueral Network

Self-Organising Maps untuk mendeteksi image digital.

3.1. Analisis Sistem

Pada bagian ini, penulis melakukan analisis terhadap metode kohonen self organizing

map untuk mengamati bagaimana proses kerja metode ini dalam melakukan

segmentasi pixel hasil pendeteksian garis tepi, kelebihan dan kekurangannya serta bagaimana bentuk implementasinya dalam sebuah bahasa pemrograman.

3.1.1. Analisis Fasilitas Sistem

Analisis ini dilakukan untuk memperoleh fasilitas-fasilitas apa saja yang akan ditawarkan pada sistem yang dirancang. Sesuai dengan kebutuhan awal, yaitu untuk melakukan pencarian terhadap citra digital yang memiliki kesamaan bentuk di dalam lokasi media penyimpanan data sesuai dengan citra pembanding yang diinputkan, maka fasilitas yang ditawarkan dalam sistem yang dirancang ini adalah sebagai berikut :

1. Fasilitas Pemilihan Lokasi Pencarian Citra

Fasilitas pemillihan lokasi pencarian citra dirancang untuk memberikan kemudahan kepada pengguna dalam menentukan lokasi penyimpanan citra digital yang akan dibandingkan bentuk kesamaannya. Pada fasilitas ini, pengguna dapat


(28)

memilih lokasi penyimpanan citra digital dalam bentuk folder, dimana sistem akan

secara otomatis menampilkan isi seluruh folder yang memiliki format citra digital

(BMP).

2. Fasilitas Nilai Batas Threshold

Fasilitas nilai batas threshold dirancang untuk memberikan fleksibilitas kepada

penguna dalam menentukan nilai lower threshold (LT) dan nilai higher threshold

(HT) dalam proses segmentasi citra. Nilai LT digunakan untuk menentukan batas

pixel terendah untuk melakukan segmentasi terhadap warna hitam, sedangkan nilai

HT digunakan untuk menentukan batas pixel tertinggi untuk melakukan

segmentasi terhadapp warna putih.

3. Fasilitas Nilai Batas Error

Fasilitas nilai batas error dirancang untuk memberikan kemudahan bagi pengguna

dalam hal menentukan tingkat akurasi pembandingan kesamaan bentuk citra digital. Sistem akan menentukan apakah citra digital yang dibandingkan termasuk dalam kategori ”mirip” atau ”tidak mirip” berdasarkan nilai batas error yang diinputkan.

3.1.2. Analisis Kebutuhan

Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan kebutuhan nonfungsional.

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi. Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah :

1. Aplikasi harus mampu mendeteksi garis tepi dan segmentasi Antara dua buah

gambar.


(29)

3.1.2.2. Kebutuhan Nonfungsional

Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain :

1. Performa

Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk menganalisis kesamaan bentuk gambar.

2. Efisiensi

Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya.

3. Ekonomi

Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.

3.1.3. Penerapan Algoritma Kohonen Neural Network SOM

Pada perancangan perangkat lunak pembandingan kesamaan bentuk citra digital

menggunakan metode kohonen SOM ini, yang menjadi permasalahan adalah

bagaimana proses segmentasi garis tepi citra yang dihasilkan dari proses edge linking,

kemudian membandingkan hasil segmentasi tersebut sehingga diperoleh keputusan tingkat kemiripan dalam hal kesamaan bentuknya. Proses pendeteksian garis tepi

menggunakan metode edge linking yang digunakan dalam penelitian ini,

menggunakan 2 (dua) operator, sebagaimana terlihat pada (persamaan 3.1).

OpX = OpY = …………....(3.1)

Metode edge linking bekerja dengan cara menghitung nilai intensitas pixel-pixel yang

berbatasan dengan pixel yang akan dihitung nilai garis tepinya dalam mode warna

grayscale. Sebagai contoh, jika sebuah citra A dengan ukuran dimensi 4 X 4 pixel,

dengan struktur pixel dalam mode warna grayscale seperti pada Gambar 3.1, akan


(30)

10 110 45 110 215 251 250 260

20 260 30 240

25 135 55 50

Gambar 3.1 Struktur Pixel Citra A

Untuk menghasilkan nilai garis tepi dari struktur pixel citra A di atas, akan

dilakukan perulangan sebanyak ukuran dimensi pixel (4 X 4) dengan langkah-langkah

sebagai berikut :

1. Tentukan posisi pixel yang akan diproses, simpan dalam variabel X dan Y.

2. Tentukan posisi operator yang akan digunakan, simpan dalam variabel I

dan J.

3. Tentukan nilai intensitas dengan cara mengambil nilai struktur pixel pada posisi (X+I-1, Y+J-1).

4. Tentukan nilai operator X dan nilai operator Y pada posisi (I,J), simpan dalam variabel OpX dan OpY.

5. Hitung nilai Gradien X menggunakan persamaan :

Gradien X = Gradien X + (Nilai Intensitas * Nilai Operator X (I,J))….(3.2)

6. Hitung nilai Gradien Y menggunakan persamaan :

Gradien Y = Gradien Y + (Nilai Intensitas * Nilai Operator Y (I,J))….(3.3)

7. Hitung nilai garis tepi pixel pada posisi (X,Y) menggunakan persamaan :

Garis Tepi = ………..…………..(3.4)

Sebagai contoh, nilai garis tepi dari Gambar 3.1 di atas pada posisi pixel (0,0)

dapat dihitung sebagai berikut : Gradien X = 0

Gradien Y = 0

Posisi Pixel (0,0) dan Posisi Operator (0,0)

Nilai intensitas (0+0-1, 0+0-1) = Tidak ditemukan Posisi Pixel (0,0) dan Posisi Operator (0,1)


(31)

Posisi Pixel (0,0) dan Posisi Operator (0,2)

Nilai intensitas (0+0-1, 0+2-1) = Tidak ditemukan Posisi Pixel (0,0) dan Posisi Operator (1,0)

Nilai intensitas (0+1-1, 0+0-1) = Tidak ditemukan Posisi Pixel (0,0) dan Posisi Operator (1,1)

Nilai intensitas (0+1-1, 0+1-1) = 10 Nilai OpX (1,1) = 0

Nilai OpY (1,1) = 0 Gradien X = 0 + (0 * 0)

= 0

Gradien Y = 0 + (0 * 0) = 0

Posisi Pixel (0,0) dan Posisi Operator (1,2) Nilai intensitas (0+1-1, 0+2-1) = 215 Nilai OpX (1,2) = 1,41

Nilai OpY (1,2) = 0

Gradien X = 0 + (215 * 1,41) = 303,15

Gradien Y = 0 + (0 * 0) = 0

Posisi Pixel (0,0) dan Posisi Operator (2,0)

Nilai intensitas (0+2-1, 0+0-1) = Tidak ditemukan Posisi Pixel (0,0) dan Posisi Operator (2,1)

Nilai intensitas (0+2-1, 0+1-1) = 110 Nilai OpX (2,1) = 0

Nilai OpY (2,1) = 1

Gradien X = 303,15 + (110 * 0) = 303,15

Gradien Y = 0 + (110 * 1) = 110

Posisi Pixel (0,0) dan Posisi Operator (2,2) Nilai intensitas (0+2-1, 0+2-1) = 251 Nilai OpX (2,2) = 1


(32)

Nilai OpY (2,2) = 1

Gradien X = 303,15 + (251 * 1) = 554,15

Gradien Y = 110 + (251 * 1) = 361

Nilai garis tepi pixel (0,0) = =

= 661,3647

Untuk nilai garis tepi pada posisi pixel (0,1) hingga posisi pixel (3,3), hasilnya sebagaimana terlihat pada Tabel 3.1.

Tabel 3.1 Proses Edge Linking Citra A Posisi Nilai Garis Tepi

0 0 661.3647 0 1 742.2766 0 2 844.8586 0 3 534.6722 1 0 823.2427 1 1 227.0334 1 2 554.2336 1 3 419.87 2 0 863.5469 2 1 258.9532 2 2 343.3559 2 3 615.4017 3 0 691.6982 3 1 459.4357 3 2 601.4952 3 3 383.778

Setelah memperoleh nilai garis tepi seperti terlihat pada Tabel 3.1,nilai garis tepi ini kemudian dibagi dengan 3 (tiga) untuk memperoleh nilai akhir garis tepi citra A dengan menggunakan metode edge linking. Jika hasil akhir yang diperoleh lebih kecil dari 0, maka nilainya akan diubah menjadi 0, sedangkan jika hasil akhir yang


(33)

diperoleh lebih besar dari 255, maka nilainya akan diubah menjadi 255, sebagaimana terlihat pada Tabel 3.2.

Tabel 3.2 Hasil Garis Tepi Citra A Posisi Nilai Akhir Garis Tepi 0 0 220

0 1 247 0 2 255 0 3 178 1 0 255

1 1 76

1 2 185 1 3 140 2 0 255

2 1 86

2 2 114 2 3 205 3 0 231 3 1 153 3 2 200 3 3 128

Nilai pixel yang diperoleh dari Tabel 3.2 ini kemudian digunakan untuk

menggantikan nilai pixel Citra A, sehingga nilai tersebut berubah seperti terlihat pada

Gambar 3.2.

220 255 255 231

247 76 86 153

255 185 114 200 178 140 205 128

Gambar 3.2 Hasil Deteksi Garis Tepi Citra A

Berdasarkan jurnal penelitian oleh Constantino Carlos Reyes-Aldosoro,

algoritma kohonen SOM dapat digunakan pada proses segmentasi warna pada citra

hasil deteksi garis tepi. Dengan menggunakan kohonen SOM, citra hasil deteksi garis


(34)

putih, berdasarkan nilai LT (Lower Threshold) dan HT (Higher Threshold). Nilai LT dan HT ini akan menjadi batas bawah dan batas atas dalam proses segmentasi citra

hasil deteksi garis tepi. Adapun aturan segmentasi kohonen SOM dalam memisahkan

warna menjadi hitam atau putih adalah sebagai berikut :

1. If (0 < k≤ LT) Then k = 0 2. If (LT < k ≤ HT) Then k = k

3. If (HT < k ≤ 255) Then k = 0

Dengan k adalah nilai pixel citra digital yang akan disegmentasi, maka hasil

segmentasi yang diperoleh adalah pengelompokan pixel yang lebih besar dari nilai LT

dan lebih kecil dari nilai HT maka hasil segmentasi pada struktur pixel citra A pada Gambar 3.1 di atas dengan menggunakan nilai LT sebesar 100 dan nilai HT sebesar 250, sebagaimana terlihat pada Gambar 3.3.

220 0 0 231

247 0 0 153

0 185 114 200

178 140 205 128

Gambar 3.3 Hasil Segmentasi Citra A

Setelah melakukan segmentasi berdasarkan nilai LT dan nilai HT, langkah

selanjutnya adalah menghitung best matching node (BMN), dimana nilai yang tidak

sama dengan 0 (nol) merupakan best match dan akan diberi penanda angka 1, seperti

terlihat pada Gambar 3.4.

1 0 0 1 0 0 0 1 0 1 1 1 1 1 1 1


(35)

Sebagai bahan perbandingan, akan digunakan sebuah citra digital dengan

ukuran dimensi yang sama dengan struktur pixel hasil deteksi garis tepi menggunakan

edge linking seperti terlihat pada Gambar 3.5

220 255 255 231

250 76 86 153

255 185 100 200 178 140 205 128 Gambar 3.5 Struktur Pixel Citra B

Dengan menggunakan aturan LT dan HT yang sama, maka diperoleh hasil segmentasi untuk citra B, sebagaimana terlihat pada Gambar 3.6.

0 0 0 231

0 0 0 153

0 185 0 200

178 140 205 128

Gambar 3.6 Hasil Segmentasi Citra B

Adapun hasil penghitungan BMN dari citra B pada Gambar 3.6 di atas, seperti terlihat pada Gambar 3.7.

0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1

Gambar 3.7 BMN Citra B

Untuk menghitung tingkat kesamaan bentuk antara citra A dan citra B, akan dihitung perbandingan antara nilai standar deviasi, kurtosis dan skewness dari kedua citra digital tersebut. Penghitungan nilai deviasi dilakukan dengan menggunakan persamaan (2.3). Persamaan 2.3 dipilih karena nilai standard deviasi yang akan dihitung berasal dari data yang berkelompok, bukan merupakan sampel dari suatu populasi.


(36)

Penghitungan nilai kurtosis dilakukan dengan menggunakan persamaan (2.4)

dan penghitungan nilai skewness dilakukan dengan menggunakan persamaan (2.5).

Untuk memperoleh nilai standard deviasi dari citra A dan citra B, perlu

dihitung terlebih dahulu nilai rata-rata pixel dalam masing-masing citra. Adapun nilai

rata-rata pixel dalam citra A adalah sebagai berikut :

= =

= 0,625

Sedangkan nilai rata-rata pixel dalam citra B adalah sebagai berikut :

= = = 0,5

Maka dapat dihitung nilai standard deviasi untuk citra A sebagai berikut :

=

=

= =

= 0,484


(37)

=

=

= = = 0,5

Nilai kurtosis dari citra A yang diperoleh adalah sebagai berikut :

=

=

=

= 1,5704

Sedangkan nilai kurtosis untuk citra B adalah sebagai berikut :


(38)

=

= = 1

Nilai skewness dari citra A yang diperoleh adalah sebagai berikut :

=

=

=

= =

= (-0,5158)

Sedangkan nilai skewness untuk citra B adalah sebagai berikut :


(39)

=

=

= = 0

Dari hasil perhitungan standard deviasi, kurtosis dan skewness untuk citra A dan citra B, diperoleh hasil sebagaimana terlihat pada Tabel 3.3.

Tabel 3.3 Standard Deviasi, Kurtosis dan Skewness Citra Standard Deviasi Kurtosis Skewness

A 0,484 1,5704 -0,5158

B 0,5 1 0

Nilai-nilai ini kemudian akan diolah untuk digunakan sebagai nilai perbandingan tingkat kesamaan bentuk antara citra A dan citra B, dengan output hasil

berupa true atau false. Nilai standard deviasi akan dibandingkan dengan cara

menghitung selisih jarak nilai keduanya menggunakan persamaan (3.5):

= ……….………(3.5)

Nilai ini kemudian dibandingkan nilai error maksimum yang sudah ditentukan

sebelumnya. Jika nilai < Max Error, maka akan menghasilkan output true,

sebaliknya akan menghasilkan output false.

Untuk nilai kurtosis, akan dibandingkan klasifikasi peak of distribution dari masing-masing nilai kurtosis citra A dan citra B, apakah termasuk ke dalam klasifikasi

leptokurtic, mesokurtic atau platykurtic. Klasifikasi ini dihitung dengan cara melakukan operasi pengurangan nilai 3 (tiga) terhadap nilai kurtosis masing-masing citra. Jika hasil pengurangan adalah 0 (tidak bersisa), maka kurtosis termasuk ke


(40)

dalam klasifikasi mesokurtic. Jika hasil pengurangan bernilai positif, maka kurtosis

termasuk ke dalam klasifikasi leptokurtic. Sedangkan jika hasil pengurangan bernilai

negatif, maka kurtosis termasuk ke dalam klasifikasi platykurtic. Klasifikasi kurtosis kedua citra ini kemudian akan dibandingkan, dimana jika memiliki klasifikasi kurtosis

yang sama, output yang dihasilkan adalah true, sebaliknya akan menghasilkan output

false.

Untuk nilai skewness, akan dibandingkan arah skewness dari masing-masing

citra. Penentuan arah skewness ini dilihat berdasarkan nilai skewness yang dihasilkan.

Jika nilai skewness adalah positif, maka arah skewness condong ke kanan, sebaliknya

jika nilai skewness adalah negatif, maka arah skewness condong ke kiri. Arah

skewness kedua citra ini kemudian dibandingkan, dimana jika memiliki arah skewness

yang sama, output yang dihasilkan adalah true, sebaliknya akan menghasilkan output

false.

Berdasarkan Tabel 3.3 sebelumnya, diperoleh nilai output dari parameter perbandingan untuk melihat tingkat kesamaan bentuk antara citra A dan citra B sebagai berikut :

1. Selisih Jarak Standard Deviasi

= | |

= 0,016

Nilai Max Error = 0,01, maka > Max Error. Output yang dihasilkan adalah false.

2. Klasifikasi Kurtosis

-3 = 1,5704-3 = -1,4296

Menghasilkan nilai negatif, maka kurtosis citra A merupakan platykurtic.

-3 = 1-3 = -2

Menghasilkan nilai negatif, maka kurtosis citra B merupakan platykurtic.

Klaifikasi kurtosis citra A sama dengan klasifikasi kurtosis citra B. Output yang dihasilkan adalah true.

3. Arah Skewness


(41)

Bernilai negatif, maka arah skewness condong ke kiri. = 0

Bernilai positif, maka arah skewness condong ke kanan.

Arah skewness citra A tidak sama dengan arah skewness citra B. Output yang dihasilkan adalah false.

Hasil output parameter perbandingan antara citra A dan citra B adalah false

untuk selisih jarak standard deviasi, true untuk klasifikasi kurtosis dan false untuk arah skewness. Dari hasil output ini, terlihat ada dua output yang bernilai false. Maka dapat disimpulkan bahwa citra A dan citra B tidak memiliki kemiripan dari segi bentuk.

3.2. Perancangan Sistem

Setelah melakukan analisis terhadap sistem perangkat lunak yang akan dirancang, selanjutnya dilakukan perancangan terhadap perangkat lunak tersebut. Adapun

tahapan perancangan yang dilakukan meliputi flowchart sistem, perancangan

antarmuka program serta perancangan algoritma.

3.2.1. Flowchart Sistem

Berdasarkan hasil analisis masalah yang dilakukan sebelumnya, penulis merancang proses kerja perangkat lunak pembanding kesamaan bentuk gambar menggunakan


(42)

Gambar 3.8Flowchart Proses Kerja Perangkat Lunak Start

Input lokasi penyimpanan image digital Input nilai LT

PA = Pixel image digital pembanding

Deteksi garis tepi PA menggunakan edge linking

Input image digital pembanding

GA = Pixel garis tepi PA

GA (X,Y) < 0

Cek pixel GA dari (0,0) hinga (n,n)

GA (X,Y) = 0

GA (X,Y) > 255 GA (X,Y) = 255

Y

Y N

Pengecekan selesai? N

N

PB1-n = Pixel image digital pada lokasi penyimpanan

LT = Nilai LT HT ← Nilai HT

Y


(43)

Gambar 3.9Flowchart Proses Kerja Perangkat Lunak (Lanjutan) A

Deteksi garis tepi PB1-n menggunakan edge linking

GB1-n = Pixel garis tepi PB1-n

Cek pixel GB1-n dari (0,0) hinga (n,n)

GB1-n (X,Y) < 0 GB1-n (X,Y) = 0

GB1-n (X,Y) > 255 GB1-n (X,Y) = 255

Y

Y N

Pengecekan selesai? N

N

N

Segmentasi GB1-n menggunakan Kohonen SOM)

GBi (X,Y) < LT GBi (X,Y) = 0

LT ≤ GBi(X,Y) ≤ HT GBi (X,Y) = 1

GBi (X,Y) >LT GBi (X,Y) = 0

Segmentasi selesai?

Y

Y

Y N

N

N

Y N


(44)

Gambar 3.10Flowchart Proses Kerja Perangkat Lunak (Lanjutan)

SA =

B

Hitung mean GA

XA = Mean GA

Hitung standard deviasiGA

Hitung kurtosisGA

KA =

Hitung skewnessGA

SKA =

KA-3 < 0

KA-3 = 0

KA = 1

KA = -1

KA = 0

Y

Y N

N

SKA > 0 SKA= ”Right”

SKA= ”Left”

C

Y


(45)

Gambar 3.11Flowchart Proses Kerja Perangkat Lunak (Lanjutan) C

Hitung standard deviasi GB1-n

Hitung kurtosis GB1-n

SBi = Standard deviasi GBi

KBi = Kurtosis GBi

← Skewness G KBi-3 < 0

KBi-3 = 0

KBi = 1

KBi = -1

KBi = 0

Y

Y N

N

SKBi > 0 SKBi= ”Right”

SKBi= ”Left”

Y

N

Bandingkan Nilai standard deviasi

(SA - SBi) < Max error H1i= ”True”

Y N

H2i= ”False”

Bandingkan Nilai kurtosis


(46)

Gambar 3.12Flowchart Proses Kerja Perangkat Lunak (Lanjutan)

Flowchart program dimulai dengan penginputan file citra digital yang digunakan sebagai citra pembanding. Kemudian dilakukan pendeteksian garis tepi

menggunakan metode edge linking. Hasil dari pendeteksian ini kemudian

disegmentasi menggunakan kohonen SOM berdasarkan nilai lower threshold dan

higher threshold yang diinputkan pengguna. Hasil segmentasi ini adalah nilai 1 untuk

pixel yang berada pada rentang nilai lower threshold hingga higher threshold. End

KA =KBi H2i= ”True”

Y

N

H2i= ”False”

D

Bandingkan Arah Skewness

SKA =SKBi H3i= ”True”

Y

N

H3i= ”False”

Cek Hasil Perbandingan

H1i = ”True” And H2i = ”True” And H3i = ”True”

Gambar Mirip Gambar Tidak Mirip

Tampilkan Hasil Perbandingan


(47)

Sedangkan pixel yang berada diluar rentang nilai tersebut akan menghasilkan segmentasi dengan nilai 0.

Selanjutnya, pengguna dapat memilih lokasi pencarian citra digital yang akan dibandingkan. Sistem akan menampilkan seluruh citra digital dengan format BMP yang berada pada lokasi pencarian yang ditentukan. Kemudian, sistem akan menghitung nilai standard deviasi, kurtosis dan skewness untuk citra pembanding, demikian pula dilakukan penghitungan nilai standard deviasi, kurtosis dan skewness

untuk citra digital yang dibandingkan. Nilai-nilai ini akan digunakan sebagai parameter perbandingan tingkat kesamaan bentuk antara citra pembanding dengan citra yang dibandingkan dengan melihat selisih jarak standard deviasi keduanya,

klasifikasi kurtosis keduanya, serta arah skewness keduanya.

Jika selisih jarak standard deviasi antara citra pembanding dengan citra yang

dibandingkan lebih kecil dari nilai maksimum error, maka output parameter ini adalah

true, sedangkan jika tidak akan menghasilkan output parameter false. Jika klasifikasi

kurtosis antara citra pembanding dengan citra yang dibandingkan sama, maka output

parameter yang dihasilkan adalah true, sedangkan jika tidak akan menghasilkan

output parameter false. Jika arah skewness antara citra pembanding dengan citra yang

dibandingkan sama, maka output parameter yang dihasilkan adalah true, sedangkan jika tidak akan menghasilkan output parameter false.

Ketiga output parameter ini akan dinilai untuk melihat tingkat kemiripan

bentuk antara citra pembanding dengan citra yang dibandingkan. Jika seluruh output

parameter bernilai true, maka dapat disimpulkan bahwa citra pembanding dan citra yang dibandingkan memiliki kemiripan dalam hal bentuk gambarnya.

3.2.2. Perancangan Antarmuka Program

Setelah merancang proses kerja perangkat lunak yang akan dirancang, selanjutnya dilakukan perancangan terhadap antarmuka perangkat lunak ini. Dalam perancangan ini, penulis merancang dua buah form yang dapat digunakan pengguna untuk berinteraksi dengan perangkat lunak yang dirancang.


(48)

1. Rancangan Form Utama

Form Utama merupakan tampilan yang dirancang sebagai interface agar user dapat

berinteraksi dengan sistem. Dalam melakukan interaksi dengan user, Form Utama

menggunakan tombol-tombol yang dapat dipilih oleh user, seperti tombol Open

Image, Process, Undo, Select Area serta Exit, seperti terlihat pada Gambar 3.13.

Gambar 3.8 Rancangan Form Utama

Gambar 3.13 Rancangan Form Utama

Pada Gambar 3.13, rancangan Form Utama memiliki beberapa tombol yang dapat digunakan oleh pengguna untuk berinteraksi dengan perangkat lunak. Tombol

Load berfungsi untuk menginputkan image digital yang akan digunakan sebagai

pembanding. Setelah image digital pembanding diinputkan, tombol ini akan berubah

menjadi tombol Deteksi Tepi, yang berfungsi untuk mendeteksi garis tepi dari image

digital pembanding yang diinputkan. Jika proses deteksi garis tepi pada image digital

pembanding telah selesai dilakukan, tombol ini akan berubah menjadi Segmentasi,

yang berfungsi untuk melakukan segmentasi terhadap image digital pembanding dan

image digital yang akan dibandingkan.

Tombol ”...” berfungsi untuk menginputkan lokasi image digital yang akan

dibandingkan kemiripan bentuknya dengan image digital pembanding. Jika lokasi

Pembanding Gambar Dengan Kohonen SOM X

Gambar Pembanding

Load

Konfigurasi Kohonen

LT

BatasError

Proses

Reset

Pencarian Gambar

Lokasi Pencarian Gambar

Preview Gambar

HT

Daftar Gambar

Hasil Pembandingan

Target Deviasi

Target Kurtosis Target Skewness

Deviasi Node Kurtosis Node Skewness Node Hasil

Tutup


(49)

image digital telah diinputkan, daftar file image digital yang berada pada lokasi

tersebut akan ditampilkan pada list box Daftar Gambar.

Tombol Proses berfungsi untuk memulai proses pendeteksian kemiripan

bentuk antara image digital pembanding dengan image digital pada Daftar Gambar.

Hasil dari pendeteksian ini akan ditampilkan pada list box Deviasi Node, Kurtosis Node, Skewness Node dan Hasil.

Tombol Reset berfungsi untuk mengembalikan kondisi form seperti pada saat

pertama kali dijalankan, dimana sSeluruh list box akan dibersihkan.

Tombol ”?” berfungsi untuk menampilkan Form About yang berisi informasi mengenai perancang perangkat lunak, sedangkan tombol Tutup berfungsi untuk menutup aplikasi.

2. Rancangan Form About

Form About merupakan tampilan yang dirancang untuk menampilkan informasi mengenai perancang perangkat lunak pembanding kesamaan bentuk gambar

menggunakan algoritma kohonen SOM ini. Adapun rancangan Form About dapat

dilihat pada Gambar 3.14.

Gambar 3.14 Rancangan Form About

Perangkat Lunak Pembanding Kesamaan Bentuk Gambar Menggunakan Kohonen SOM Network

Oleh

Mahathir Febrian (091402131) Jurusan Teknologi Informasi Universitas Sumatera Utara - Medan


(50)

(51)

BAB 4

IMPLEMENTASI DAN PEMBAHASAN

4.1. Implementasi

Setelah melakukan implementasi terhadap rancangan yang diperoleh sebelumnya ke dalam bahasa pemrograman, penulis memperoleh hasil berupa sebuah perangkat lunak

pembanding gambar format BMP dengan metode kohonen SOM.

4.1.1 Tampilan Hasil

Hasil dari implementasi perangkat lunak yang penulis rancang adalah sebagai berikut :

1. Tampilan Form Utama

Tampilan Form Utama merupakan form yang ditampilkan pertama kali pada saat sistem dijalankan. Adapun tampilan Form Utama ini seperti ditunjukkan pada Gambar 4.1.


(52)

2. Tampilan Form About

Tampilan Form About merupakan tampilan yang muncul jika pengguna menekan tombol “?” pada sudut kanan atas dari form Utama. Form ini menampilkan sekilas informasi mengenai perancang perangkat lunak. Adapun tampilan Form About seperti ditunjukkan pada Gambar 4.2.

Gambar 4.2 Form About

4.1.2 Pengujian Sistem

Setelah mendapatkan hasil tampilan perangkat lunak, selanjutnya dilakukan pengujian terhadap sistem tersebut. Adapun metode pengujian sistem yang penulis lakukan

adalah metode statis (static technique) dimana pengujian dibagi dalam beberapa

tahapan, sebagai berikut :

1. Menetapkan Parameter Pengujian

Adapun paramaeter pengujian yang penulis gunakan dalam pengujian sistem ini adalah sebagai berikut :

a. Kestabilan Sistem

Parameter ini digunakan untuk menguji apakah sistem masih mengalami error


(53)

b. Ketepatan Hasil

Parameter ini digunakan untuk menguji apakah sistem telah dapat menampilkan setiap gambar yang memiliki kesamaan bentuk berdasarkan gambar pembanding yang diinputkan.

2. Menyiapkan Perangkat Pengujian

Dalam tahap ini, penulis menyiapkan satu gambar pembanding dengan nama

file normal.bmp yang memiliki dimensi 800 X 600 pixel, sebagaimana ditunjukkan

pada Gambar 4.3.

Gambar 4.3 Gambar normal.bmp

Gambar ini kemudian diproses dengan mengubah ukuran. Perubahan pertama adalah memperbesar ukuran gambar sehingga berubah menjadi ukuran 1024 X 800

pixel dan disimpan dengan nama increase.bmp. Sedangkan perubahan kedua adalah

memperkecil ukuran gambar sehingga berubah menjadi ukuran 600 X 400 pixel dan

disimpan dengan nama decrease.bmp. Selain mengubah ukuran dimensi gambar, dilakukan pula manipulasi dari nilai exposure gambar seperti nilai brightness dan

contrast. Untuk nilai brightness, dilakukan penambahan intensitas brightness sebesar

70 dan disimpan dengan nama brightup.bmp, serta pengurangan intensitas brightness

sebesar 70 dan disimpan dengan nama brightdown.bmp. Adapun tampilan dari proses


(54)

Gambar 4.4 Gambar brightup.bmp

Gambar 4.5 Gambar brightdown.bmp

Sama seperti manipulasi nilai brightness, dilakukan pula manipulasi nilai contrast

gambar pembanding dengan menaikkan intensitas contrast sebesar 70 dan disimpan

dengan nama file contup.bmp serta menurunkan intensitas contrast sebesar 70 dan

disimpan dengan nama file contdown.bmp, dengan hasil tampilan sebagaimana terlihat pada Gambar 4.6 dan Gambar 4.7.


(55)

Gambar 4.6 Gambar contup.bmp

Gambar 4.7 Gambar contdown.bmp

Selain manipulasi nilai exposure dari gambar pembanding, dilakukan pula

proses cropping dengan memotong sebagian tepi-tepi gambar tanpa mengenai gambar

utama dari gambar pembanding. Hasil dari proses ini kemudian disimpan dengan nama crop.bmp.


(56)

Selanjutnya, disiapkan pula gambar yang akan digunakan dalam uji coba perbandingan bentuk gambar sebanyak 3 (tiga) gambar, yaitu : Uji2.bmp, Uji3.bmp dan Uji4.bmp, sebagaimana terlihat pada Gambar 4.8 sampai Gambar 4.11.

Gambar 4.8 Gambar Uji2.bmp

Gambar 4.8 merupakan gambar pengujian yang memiliki pola gambar yang mendekati pola gambar pembanding (normal.bmp), yang dapat dilihat pada bentuk tulisan pada sudut kiri atas dan bentuk persegi panjang pada bagian tengah gambar.

Gambar 4.9 Gambar Uji3.bmp

Gambar 4.9 merupakan gambar pengujian yang memiliki pola gambar yang sama sekali tidak mirip dengan pola gambar pembanding (normal.bmp).


(57)

Gambar 4.10 Gambar Uji4.bmp

Gambar 4.10 merupakan gambar pengujian yang memiliki pola gambar yang sama sekali tidak mirip dengan pola gambar pembanding (normal.bmp).

3. Melakukan Pengujian Pembandingan Gambar

Sebelum pengujian dilakukan, seluruh gambar yang akan digunakan dalam

pengujian dimasukkan ke dalam folder yang sama dengan lokasi penyimpanan

“C:\Documents and Settings\Administrator\My Documents\Testing”.

Langkah pertama dalam pengujian ini adalah melakukan load gambar

normal.bmp sebagai gambar pembanding dengan cara menekan tombol Load pada form Utama. Hasil dari langkah ini adalah munculnya gambar pembanding pada

picture box Gambar Pembanding, seperti terlihat pada Gambar 4.11.


(58)

Langkah berikutnya, dilakukan penekanan tombol “…” untuk menentukan lokasi pencarian gambar yang akan dibandingkan bentuk kesamaannya dengan gambar normal.bmp. Pada langkah ini, lokasi pencarian yang digunakan adalah lokasi penyimpanan seluruh gambar yang akan digunakan sebagai perangkat pengujian. Hasil yang diperoleh adalah munculnya daftar gambar yang ada pada lokasi pencarian tersebut, sebagaimana terlihat pada Gambar 4.12.

Gambar 4.12 Menginput Lokasi Pencarian Gambar

Selanjutnya, dilakukan penekanan tombol “Deteksi Tepi” untuk memulai proses pendeteksian garis tepi pada gambar pembanding. Hasil dari proses ini adalah perubahan gambar pembanding menjadi bentuk deteksi garis tepi, sebagaimana terlihat pada Gambar 4.13.


(59)

Gambar 4.13 Mendeteksi Garis Tepi Gambar Pembanding

Selanjutnya, dilakukan penekanan tombol “Segmentasi Kohonen” untuk memulai proses segmentasi gambar pembanding dan gambar yang akan dibandingkan

dengan metode kohonen SOM. Hasil yang diperoleh dari langkah ini adalah

perubahan gambar deteksi garis tepi menjadi bentuk segmentasi hitam dan putih, sebagaimana terlihat pada Gambar 4.14.


(60)

Setelah proses segmentasi gambar selesai dilakukan, selanjutnya dilakukan penenkanan tombol “Proses” untuk memulai proses pembandingan kesamaan bentuk gambar antara gambar pembanding dengan daftar gambar yang akan dibandingkan. Hasil yang diperoleh pada langkah ini adalah munculnya informasi nilai deviasi,

kurtosis dan skewness gambar pembanding serta gambar yang dibandingkan pada tab

“Hasil Perbandingan”. Pada langkah ini, nilai target deviasi yang diperoleh dari gambar pembanding adalah 0,488980556647796, dengan nilai target kurtosis sebesar -1 dan nilai target skewness sebesar -1. Dengan nilai pembanding ini, diperoleh ada 3 (tiga) gambar yang dideteksi memiliki bentuk yang sama dengan gambar pembanding yaitu gambar decrease.bmp, increase.bmp dan normal.bmp. Sedangkan gambar Proses ketiga yang muncul adalah proses normalisasi garis pada citra digital zhangsuen.jpg seperti terlihat pada Gambar 4.15.

Gambar 4.15 Hasil Pembandingan Gambar

4.2. Pembahasan

Dari pengujian sistem yang dilakukan, terlihat bahwa hasil pembandingan gambar menghasilkan 8 (delapan) gambar yang dinyatakan memiliki kemiripan bentuk dengan gambar pembanding, yaitu gambar brightup.bmp, brightdown.bmp, contup.bmp, condown.bmp, crop.bmp, increase.bmp, decrease.bmp dan normal.bmp. Pada tahap


(61)

persiapan pengujian sebelumnya, diketahui bahwa gambar increase.bmp dan decrease.bmp merupakan gambar yang sama dengan normal.bmp, hanya saja telah mengalami proses perubahan ukuran dimensi. Demikian pula dengan brightup.bmp, brightdown.bmp, contup.bmp dan contup.bmp yang merupakan hasil manipulasi nilai

exposure dari gambar normal.bmp, serta crop.bmp yang merupakan hasil cropping

dari gambar normal.bmp. Hal ini terlihat dari nilai selisih standard deviasi delapan

gambar tersebut yang masih berada di bawah nilai maksimum error, serta adanya

kesamaan pada klasifikasi kurtosis dan arah skewness gambar, sebagaimana terlihat pada Tabel 4.1.

Tabel 4.1 Hasil Pembandingan Gambar Yang Mirip

Nama Gambar Selisih Jarak

Deviasi

Klasifikasi Kurtosis Arah Skewness

Brightup.bmp 0,00333 -1 1

Brightdown.bmp 0,00479 -1 1

Normal.bmp 0 -1 1

Contup.bmp 0,00214 -1 1

Contdown.bmp 0,00633 -1 1

Crop.bmp 0,00429 -1 1

Decrease.bmp 0,00038 -1 1

Increase.bmp 0,00038 -1 1

Sedangkan untuk ketiga gambar lain yang dinyatakan tidak mirip dengan gambar pembanding, dapat dinilai persentase kemiripannya dengan cara melihat selisih jarak nilai deviasi, klasifikasi nilai kurtosis dan arah skewness masing-masing gambar dengan gambar pembanding, sebagaimana ditunjukkan pada Tabel 4.2.

Tabel 4.2 Hasil Pembandingan Gambar Yang Tidak Mirip

Nama Gambar Selisih Jarak

Deviasi

Klasifikasi Kurtosis Arah Skewness

Uji2.bmp 0,00764 -1 1

Uji3.bmp 0,00447 -1 0

Uji4.bmp 0,00859 -1 0

Dari Tabel 4.2, terlihat bahwa gambar uji2.bmp memiliki klasifikasi kurtosis dan arah skewness yang sama dengan gambar pembanding, namun selisih jarak

deviasinya berada diluar batas error. Gambar uji3.bmp memiliki selisih jarak deviasi


(62)

jarak deviasi yang paling besar dari ketiga gambar tersebut dan memiliki arah skewness yang berbeda dengan gambar pembanding. Dari hasil pengamatan ini, dapat disimpulkan bahwa gambar uji2.bmp merupakan gambar yang memiliki tingkat kemiripan bentuk yang lebih mendekati dibandingkan gambar uji3.bmp dan uji4.bmp. Hasil ini sesuai dengan fakta yang diperoleh dari tahap persiapan pengujian, dimana gambar uji2.bmp sekilas memiliki tingkat kemiripan bentuk dengan gambar pembanding yang digunakan.

Berdasarkan hasil pembahasan di atas, dapat disimpulkan bahwa perangkat

lunak pembanding gambar dengan metode kohonen SOM ini telah bekerja dengan

baik untuk memilah gambar yang memiliki bentuk kesamaan yang sama dengan gambar pembanding yang digunakan, sehingga sudah sesuai dengan tujuan awal penelitian.

4.2.1 Kelebihan Sistem

Adapun kelebihan dari sistem yang dihasilkan ini adalah sebagai berikut :

a. Sistem dapat membandingkan gambar-gambar yang memiliki bentuk yang

sama walaupun berbeda dalam hal ukuran dimensi.

b. Tingkat kemiripan dapat diubah sesuai dengan keinginan pengguna dengan

cara mengubah nilai batas error.

c. Detail hasil pembandingan ditampilkan secara rinci beserta dengan keputusan

mitip atau tidaknya gambar yang dibandingkan.

4.2.2 Kelemahan Sistem

Adapun kelemahan dari sistem yang ditemukan adalah sebagai berikut :

a. Sistem hanya dapat mendeteksi kemiripan bentuk dari gambar-gambar yang

berada di dalam folder yang sama. Sistem belum mampu mendeteksi isi seluruh

drive secara keseluruhan.

b. Hasil segmentasi kohonen SOM yang dapat ditampilkan hanyalah hasil

segmentasi pada gambar pembanding. Untuk gambar yang dibandingkan, hasil segmentasi ini tidak dapat ditampilkan karena akan mengakibatkan kelambatan pada sistem.


(63)

BAB 5

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil penelitian terhadap perangkat lunak pembanding gambar dengan

metode kohonen SOM ini, penulis dapat menyimpulkan beberapa hal sebagai berikut :

1. Dengan melakukan segmentasi terhadap hasil pendeteksian garis tepi, metode

kohonen SOM menghasilkan sebuah gambar yang memiliki struktur pixel yang lebih sederhana, dimana nilai R (red), G (green) dan B (blue) dari gambar tersebut adalah sama.

2. Hasil segmentasi metode kohonen SOM dapat membantu proses pengolahan

citra berikutnya, seperti pendeteksian kesamaan bentuk gambar yang dilakukan dalam penelitian ini, karena dengan nilai R, G dan B yang sama, hanya perlu dilakukan 1 (satu) kali proses pembacaan nilai struktur pixel, sehingga dapat menghemat waktu proses untuk setiap pengolahan gambar.

3. Standar deviasi, kurtosis dan skewness dapat digunakan untuk membandingkan

tingkat kemiripan gambar, dimana ketiga nilai ini merupakan nilai frekuensi penyebaran pixel di dalam setiap gambar. Sehingga dengan melihat nilai-nilai

ini dapat ditentukan bagaimana pola penyebaran pixel antara gambar yang satu

dengan gambar yang lainnya.

4. Melalui proses deteksi garis tepi menggunakan metode edge linking, segmentasi

hasil deteksi garis tepi dan membandingkan pola penyebaran pixel antara

gambar yang satu dengan gambar yang lain, duplikasi gambar pada media penyimpanan data dapat dideteksi secara otomatis tanpa harus dilakukan pengecekan secara manual.


(1)

Dim CekDev As Boolean, CekKur As Boolean, CekSkew As Boolean Dim Hasil() As String

MaxErr = txtErr.Text inDev = dsNode

tmpKur = ksNode - 3 If tmpKur < 0 Then inKur = -1

ElseIf tmpKur = 0 Then inKur = 0

Else

inKur = 1 End If

If ssNode < 0 Then inSkew = 0 Else

inSkew = 1 End If

txtInDev.Text = inDev txtInKur.Text = inKur txtInSkew.Text = inSkew

ReDim outDev(lstDaftar.Items.Count - 1) ReDim outKur(lstDaftar.Items.Count - 1) ReDim outSkew(lstDaftar.Items.Count - 1) ReDim Hasil(lstDaftar.Items.Count - 1) lstDeviasi.Items.Clear()

lstKurtosis.Items.Clear() lstSkewness.Items.Clear() lstHasil.Items.Clear()

For i = 0 To lstDaftar.Items.Count - 1 outDev(i) = dtNode(i)

tmpKur = ktNode(i) - 3 If tmpKur < 0 Then outKur(i) = -1 ElseIf tmpKur = 0 Then outKur(i) = 0 Else

outKur(i) = 1 End If

If stNode(i) < 0 Then outSkew(i) = 0 Else

outSkew(i) = 1 End If

dDev = Abs(inDev - outDev(i)) * 100 If dDev <= MaxErr Then

CekDev = True Else

CekDev = False End If

If inKur = outKur(i) Then CekKur = True

Else

CekKur = False End If

If inSkew = outSkew(i) Then CekSkew = True

Else

CekSkew = False End If


(2)

If CekDev And CekKur And CekSkew Then Hasil(i) = "Mirip"

Else

Hasil(i) = "Tidak Mirip" End If

lstDeviasi.Items.Add(outDev(i)) lstKurtosis.Items.Add(outKur(i)) lstSkewness.Items.Add(outSkew(i)) lstHasil.Items.Add(Hasil(i)) Next

FinProses = True End Sub

Private Sub cmsAksi_ItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles cmsAksi.ItemClicked

Dim strNewFile As String, strOldFile As String Dim tmpCheck As Boolean

strOldFile = flPath & "\" & lstDaftar.Items(lstDaftar.SelectedIndex)

If e.ClickedItem.Name = "tsmHapus" Then

If MsgBox("Anda Ingin Menghapus File Gambar " &

lstDaftar.Items(lstDaftar.SelectedIndex) & " Dari Media Penyimpanan Data?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Konfirmasi Hapus File") = MsgBoxResult.Yes Then

tmpCheck = False Do

Try

If File.Exists(strOldFile) Then FileSystem.Kill(strOldFile) MsgBox("File Berhasil Di Hapus",

MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Hapus File Sukses") tmpCheck = True

lstDaftar.Items.Clear()

For Each fi In diCari.GetFiles("*.bmp") lstDaftar.Items.Add(fi.Name)

Next End If

Catch ex As Exception tmpCheck = False End Try

Loop Until tmpCheck = True End If

Else

If MsgBox("Ubah Nama File Gambar " &

lstDaftar.Items(lstDaftar.SelectedIndex) & "?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Konfirmasi Ubah Nama File") = MsgBoxResult.Yes Then

strNewFile = InputBox("Input Nama File Pengganti") If Len(strNewFile) < 1 Then Exit Sub

strNewFile = flPath & "\" & strNewFile & ".bmp" Do

Try

If File.Exists(strOldFile) Then

FileSystem.Rename(strOldFile, strNewFile) MsgBox("Nama File Berhasil Di Ubah", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "File Rename Sukses") tmpCheck = True


(3)

For Each fi In diCari.GetFiles("*.bmp") lstDaftar.Items.Add(fi.Name)

Next End If

Catch ex As Exception tmpCheck = False End Try

Loop Until tmpCheck = True End If

End If End Sub

Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click

frmAbout.ShowDialog(Me) End Sub

Private Sub btnTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTutup.Click

Me.Close() End Sub

Private Sub tsmHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmHapus.Click

End Sub End Class

Imports System

Imports System.Drawing

Imports System.Drawing.Imaging Imports System.Math

Module mdlUtama

Public intVector As Long, trgVector As Long

Public srcNode() As Double, trgNode(0, 0) As Double Public Bobot As Double

Public Function LoadPic(ByVal tmpPic As Image, ByVal THeight As Integer, ByVal TWidth As Integer) As Image

Return New Bitmap(tmpPic, THeight, TWidth) End Function

'By Hippies

(http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=72467&lngWId=1)

Public Function DoEdgeLinking(ByVal tmpPic As PictureBox, ByVal blMode As Boolean) As Image

Dim bmpIn As New Bitmap(tmpPic.Image) Dim bmpOut As New Bitmap(tmpPic.Image)

Dim tmpR As Long, tmpG As Long, tmpB As Long

Dim Op_X(0 To 2, 0 To 2) As Integer, Op_Y(0 To 2, 0 To 2) As Integer

Dim Itensity As Long, GradX As Long, GradY As Long, Grad As Long

Grad = 0


(4)

Op_X(1, 0) = -(Sqrt(2)) Op_X(2, 0) = -1

Op_X(0, 1) = 0 Op_X(1, 1) = 0 Op_X(2, 1) = 0 Op_X(0, 2) = 1

Op_X(1, 2) = (Sqrt(2)) Op_X(2, 2) = 1

Op_Y(0, 0) = -1 Op_Y(1, 0) = 0 Op_Y(2, 0) = 1

Op_Y(0, 1) = -(Sqrt(2)) Op_Y(1, 1) = 0

Op_Y(2, 1) = (Sqrt(2)) Op_Y(0, 2) = -1

Op_Y(1, 2) = 0 Op_Y(2, 2) = 1

For X = 0 To bmpIn.Height - 1 For Y = 0 To bmpIn.Width - 1 GradX = 0

GradY = 0 Grad = 0

If X = 0 Or Y = 0 Or X = bmpIn.Width - 1 Or Y = bmpIn.Height - 1 Then

Grad = 0 Else

For I = 0 To 2 For J = 0 To 2

tmpR = bmpIn.GetPixel(Y + J - 1, X + I - 1).R

tmpG = bmpIn.GetPixel(Y + J - 1, X + I - 1).G

tmpG = bmpIn.GetPixel(Y + J - 1, X + I - 1).B

Itensity = (tmpR + tmpG + tmpB) / 3 GradX = GradX + (Itensity * Op_X(J, I)) GradY = GradY + (Itensity * Op_Y(J, I)) Next J

Next I

Grad = Round(Sqrt(Abs(GradX * GradX) + Abs(GradY * GradY)))

End If

If Grad < 0 Then Grad = 0

ElseIf Grad > 255 Then Grad = 255

End If

bmpOut.SetPixel(Y, X, Color.FromArgb(Grad, Grad, Grad))

Next Next

DoEdgeLinking = bmpOut End Function

Public Function DoSegment(ByVal tmpPic As PictureBox, ByVal iTL As Long, ByVal iHL As Long, ByVal blMode As Boolean, ByVal Pos As Long) As Image

Dim bmpIn As New Bitmap(tmpPic.Image) Dim bmpOut As New Bitmap(tmpPic.Image)


(5)

Dim tmpR As Long, tmpG As Long, tmpB As Long Dim tmpPos As Long

Dim Node As Boolean tmpPos = 0

For X = 0 To bmpIn.Height - 1 For Y = 0 To bmpIn.Width - 1 tmpR = bmpIn.GetPixel(Y, X).R If tmpR < iTL Then

tmpR = 0 tmpG = 0 tmpB = 0 Node = 0

ElseIf tmpR >= iTL And tmpR <= iHL Then tmpR = 255

tmpG = 255 tmpB = 255 Node = 1 Else

tmpR = 0 tmpG = 0 tmpB = 0 Node = 0 End If

If blMode Then

srcNode(tmpPos) = Node Else

trgNode(Pos, tmpPos) = Node End If

bmpOut.SetPixel(Y, X, Color.FromArgb(tmpR, tmpG, tmpB))

tmpPos += 1 Next

Next

DoSegment = bmpOut End Function

Public Function AvgNode(ByVal blMode As Boolean, ByVal Pos As Long) As Double

Dim tmpTotal As Double tmpTotal = 0

For i = 0 To intVector - 1 If blMode Then

tmpTotal = tmpTotal + srcNode(i) Else

tmpTotal = tmpTotal + trgNode(Pos, i) End If

Next

AvgNode = tmpTotal / intVector End Function

Public Function DevNode(ByVal avNode As Double, ByVal blMode As Boolean, ByVal Pos As Long) As Double

Dim tmpTotal As Double, tmpDist As Double tmpTotal = 0

For i = 0 To intVector - 1 If blMode Then


(6)

tmpTotal = tmpTotal + (tmpDist ^ 2) Else

tmpDist = trgNode(Pos, i) - avNode tmpTotal = tmpTotal + (tmpDist ^ 2) End If

Next

tmpTotal = tmpTotal / (intVector - 1) DevNode = tmpTotal ^ 0.5

End Function

Public Function KurNode(ByVal avNode As Double, ByVal dvNode As Double, ByVal blMode As Boolean, ByVal Pos As Long) As Double

Dim tmpTotal As Double, tmpMoment As Double, tmpSD As Double tmpTotal = 0

For i = 0 To intVector - 1 If blMode Then

tmpMoment = Abs(srcNode(i) - avNode) ^ 4 tmpSD = Abs(srcNode(i) - avNode) ^ 2

tmpTotal = tmpTotal + (tmpMoment / (tmpSD ^ 2)) Else

tmpMoment = Abs(trgNode(Pos, i) - avNode) ^ 4 tmpSD = Abs(trgNode(Pos, i) - avNode) ^ 2

tmpTotal = tmpTotal + (tmpMoment / (tmpSD ^ 2)) End If

Next

KurNode = tmpTotal / intVector End Function

Public Function SkewNode(ByVal avNode As Double, ByVal blMode As Boolean, ByVal Pos As Long) As Double

Dim tmpM3 As Double, tmpM2 As Double tmpM3 = 0

tmpM2 = 0

For i = 0 To intVector - 1 If blMode Then

tmpM3 = tmpM3 + ((srcNode(i) - avNode) ^ 3) tmpM2 = tmpM2 + ((srcNode(i) - avNode) ^ 2) Else

tmpM3 = tmpM3 + ((trgNode(Pos, i) - avNode) ^ 3) tmpM2 = tmpM2 + ((trgNode(Pos, i) - avNode) ^ 2) End If

Next

tmpM3 = tmpM3 / intVector

tmpM2 = (tmpM2 / intVector) ^ (3 / 2) SkewNode = tmpM3 / tmpM2

End Function End Module