Kohonen Neural Network Dalam Pendeteksian Duplikasi Image Digital Melalui Deteksi Garis Tepi
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 Kunci—Image 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 Kunci—Image 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