JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR
DALAM PENGENALAN SIDIK JARI
SKRIPSI
FANINDIA
071402017
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR DALAM PENGENALAN SIDIK JARI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi
FANINDIA 071402017
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : JARINGAN SARAF TIRUAN PROPAGASI BALIK
TIGA FAKTOR DALAM PENGENALAN SIDIK JARI
Kategori : SKRIPSI
Nama : FANINDIA
Nomor Induk Mahasiswa : 071402017
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Januari 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M.Anggia Muchtar,ST.,MMIT Drs. Suyanto, M.Kom NIP 198001102008011010 NIP 195908131986011002
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
PERNYATAAN
JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR DALAM PENGENALAN SIDIK JARI
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2013
PENGHARGAAN
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom. selaku pembimbing satu dan M.Anggia Muchtar,ST.,MMIT. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Sajadin Sembiring SSi.MComp.Sc dan Drs.Sawaluddin MIT. yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.
ABSTRAK
Pengenalan sidik jari merupakan salah satu pengenalan pola yang cukup rumit. Hal ini dikarenakan pola sidik jari yang unik yang berbeda tiap manusia. Pengenalan sidik jari melibatkan dua proses yaitu ekstraksi fitur dan pengenalan. Sebelum mengalami ekstraksi fitur, citra mengalami prapengolahan citra seperti deteksi tepi, dan binerisasi. Pada penelitian ini digunakan ekstraksi fitur dengan metode wavelet, yang dapat mendekomposisi citra menghasilkan koefisien yang digunakan sebagai nilai masukan pada jaringan saraf tiruan. Jaringan saraf tiruan berfungsi dalam pembelajaran untuk mengenali pola. Algoritma jaringan saraf tiruan yang digunakan adalah propagasi balik. Pada penelitian ini, peneliti menggunakan tiga parameter pembelajaran yakni laju pembelajaran, momentum dan faktor proporsional. Dari hasil penelitian, pelatihan jaringan saraf tiruan dengan menggunakan arsitektur jaringan 121 neuron pada lapisan masukan, 25 neuron pada lapisan tersembunyi, dan 5 neuron pada lapisan keluaran mampu menghasilkan kemampuan mengenali terbaik sebesar 100% menggunakan data pelatihan sedangkan kemampuan mengenali menggunakan data pengujian sebesar 55%.
THREE TERM OF BACKPROPAGATION NEURAL NETWORK IN FINGERPRINT RECOGNITION
ABSTRACT
Fingerprint recognition is one of the most complex pattern recognition. This problem because fingerprint of each human is different. Fingerprint recognition involves two processes, consist on feature extraction and recognition. Prior feature extraction, image can be processed edge detection and thresholding. This research use wavelet as feature extraction, which can decompose the image and produces coefficients that are used as input values to the neural network. Neural network is used as learning to recognize pattern. Algorithm of neural network which used in this research is backpropagation. In this research, researcher used three parameters of learning in neural network, such as learning rate, momentum and proportional term. Network architecture using 121 neurons in input layer, 25 neurons in the hidden layer and 5 neurons in the output layer. The best recognition result of this research is about 100% in data training and 55% in data testing.
Keywords: fingerprint recognition, wavelet, backpropagation neural network, proportional term
DAFTAR ISI
2.3.3 Ekstraksi Ciri (Feature Extraction) ... 15
2.4 Jaringan Saraf Tiruan ... 17
2.4.1 Model Saraf (Neuron) ... 18
2.4.2 Arsitektur Jaringan Saraf Tiruan ... 18
2.5 Algoritma Propagasi Balik ... 21
2.5.1 Proses Komputasi Propagasi Balik ... 21
2.5.1.1 Komputasi maju (forward) ... 21
2.5.1.2 Komputasi Mundur (backward) ... 23
2.5.1.3 Perbaharuan Bobot ... 23
2.5.2. Perhitungan Error ... 24
2.5.3 Optimalitas Arsitektur Jaringan Saraf Propagasi Balik ... 25
2.5.3.1 Pemilihan Bobot dan Bias Awal ... 25
2.5.3.2 Laju Pembelajaran (learning rate) ... 26
2.5.3.3 Momentum ... 26
2.5.3.4 Faktor Proporsional ... 27
2.5.4 Fungsi Aktivasi ... 28
2.5.4.1 Fungsi Sigmoid Biner (logsig) ... 28
2.5.4.2 Fungsi Sigmoid Bipolar ... 28
2.6 K-Fold Cross Validation ... 28
Bab 3 Analisis dan Perancangan Sistem ... 33
3.1 Analisis Data Sistem ... 33
3.1.1 Akuisisi Citra ... 33
3.1.2 Praproses Citra ... 34
3.1.2.1 Deteksi Tepi... 34
3.1.2.2 Binerisasi ... 37
3.1.2.2 Ekstraksi Fitur (Feature Extraction) ... 38
3.2 Perancangan Sistem ... 43
3.2.1 Perancangan Jaringan Saraf Tiruan Propagasi Balik ... 44
3.2.2 Pelatihan Jaringan Saraf Tiruan Propagasi Balik ... 47
3.2.3 Pengujan Jaringan Saraf Tiruan Propagasi Balik ... 52
3.2.4 K-fold Cross Validation ... 55
3.3 Perancangan Antarmuka Pengguna (User Interface) ... 56
3.3.1 Rancangan Form Utama ... 56
3.3.2 Rancangan Login ... 57
3.3.3 Rancangan Data Pengguna ... 57
3.3.4 Rancangan Data Latih Sidik Jari... 58
3.3.5 Rancangan Data Uji Sidik Jari ... 59
3.3.6 Rancangan Data Pelatihan ... 59
3.3.7 Rancangan Proses Latih ... 60
3.3.8 Rancangan Proses Uji ... 61
3.3.9 Rancangan Form Ten Fold Cross Validation... 61
Bab 4 Implementasi dan Pengujian... 62
4.1 Implementasi Sistem ... 62
4.1.1 Lingkungan Implementasi ... 62
4.1.2 Tampilan Implementasi Program... 63
4.2 Pengujian Sistem ... 71
4.2.1 Hasil Pelatihan Jaringan Saraf Tiruan Propagasi Balik ... 71
4.2.2 Pengujian Akurasi Data Menggunakan 10 Fold Cross Validation ... 73
Bab 5 Penutup ... 75
5.1 Kesimpulan ... 75
5.2 Saran ... 75
Daftar Pustaka ... 76
Lampiran A: Listing Program ... 78
Lampiran B: Sampel Sidik Jari ... 111
DAFTAR TABEL
Halaman
Tabel 2.1 Penelitian Terdahulu 29
Tabel 3.1 Susunan Data Pelatihan 45
DAFTAR GAMBAR
Halaman
Gambar 2.1 Struktur Sistem Pengenalan Pola ... 7
Gambar 2.2 Sidik Jari ... 9
Gambar 2.3 Karakteristik Ciri Sidik Jari Level 1 ... 10
Gambar 2.4 Karakteristik Ciri sidik jari level 2 dan 3 ... 10
Gambar 2.5 Gambar kualitas sidik jari ... 10
Gambar 2.6 Representasi sistem koordinat citra... 11
Gambar 2.7 Piksel Bertetangga... 14
Gambar 2.8 Kernel Operator Sobel ... 15
Gambar 2.9 Contoh transformasi wavelet pada citra ... 16
Gambar 2.10 Model saraf (neuron) ... 18
Gambar 2.11 Arsitektur Jaringan saraf tiruan ... 20
Gambar 3.1 Praproses Citra ... 34
Gambar 3.2 Dua buah matriks kernel Sobel ... 34
Gambar 3.3 Flowchart Deteksi Tepi Sobel ... 35
Gambar 3.4 Matriks 3x3 pixel dengan 2 operator Sobel ... 36
Gambar 3.5 Nilai konvolusi (M) sekitar piksel 3x3 ... 36
Gambar 3.6 Matriks Hasil Deteksi Tepi ... 37
Gambar 3.7 Citra Hasil Deteksi Tepi ... 37
Gambar 3.8 Citra Hasil Binerisasi ... 38
Gambar 3.9 Citra Hasil Dekomposisi Wavelet ... 38
Gambar 3.10 Transformasi Wavelet pada kolom ... 40
Gambar 3.11 Transformasi Wavelet pada baris ... 41
Gambar 3.12 Transformasi Wavelet l ... 42
Gambar 3.13 Koefisien Wavelet ternormalisasi ... 43
Gambar 3.14 Flowchart Sistem... 44
Gambar 3.15 Arsitektur Jaringan Saraf Tiruan Propagasi Balik ... 46
Gambar 3.16 Flowchart Pelatihan... 49
Gambar 3.17 Flowchart Pengujian ... 53
Gambar 3.18 Rancangan form utama ... 57
Gambar 3.19 Rancangan Login ... 57
Gambar 3.20 Rancangan Data Pengguna ... 58
Gambar 3.21 Rancangan Data Latih sidik jari ... 58
Gambar 3.22 Rancangan Data Uji Sidik Jari ... 59
Gambar 3.23 Rancangan Data Pelatihan ... 60
Gambar 3.24 Rancangan Form Proses Latih ... 60
Gambar 3.25 Rancangan Form Proses Uji ... 61
Gambar 3.26 Rancangan Form 10 fold cross validation ... 61
Gambar 4.1 Menu Utama Program ... 63
Gambar 4.2 Menu Otorisasi ... 64
Gambar 4.3 Form Data Pengguna ... 64
Gambar 4.4 Form Data Sidik Jari ... 65
Gambar 4.5 Proses Penyimpanan Data Sidik Jari ... 66
Gambar 4.6 Data Pelatihan ... 66
Gambar 4.8 Tampilan Form Memorisasi ... 68
Gambar 4.9 Tampilan Form Generalisasi ... 68
Gambar 4.11 Tampilan Form 10 Fold Cross Validation ... 69
Gambar 4.12 Error Rate (MSE) ... 69
Gambar 4.13 Hasil Uji Sistem ... 70
Gambar 4.14 Konfirmasi Data yang Dikenali ... 70
Gambar 4.15 Citra Uji Tidak Dikenali ... 71
Gambar 4.16 Konfirmasi Data yang tidak Dikenali ... 71
PENGHARGAAN
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom. selaku pembimbing satu dan M.Anggia Muchtar,ST.,MMIT. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Sajadin Sembiring SSi.MComp.Sc dan Drs.Sawaluddin MIT. yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.
ABSTRAK
Pengenalan sidik jari merupakan salah satu pengenalan pola yang cukup rumit. Hal ini dikarenakan pola sidik jari yang unik yang berbeda tiap manusia. Pengenalan sidik jari melibatkan dua proses yaitu ekstraksi fitur dan pengenalan. Sebelum mengalami ekstraksi fitur, citra mengalami prapengolahan citra seperti deteksi tepi, dan binerisasi. Pada penelitian ini digunakan ekstraksi fitur dengan metode wavelet, yang dapat mendekomposisi citra menghasilkan koefisien yang digunakan sebagai nilai masukan pada jaringan saraf tiruan. Jaringan saraf tiruan berfungsi dalam pembelajaran untuk mengenali pola. Algoritma jaringan saraf tiruan yang digunakan adalah propagasi balik. Pada penelitian ini, peneliti menggunakan tiga parameter pembelajaran yakni laju pembelajaran, momentum dan faktor proporsional. Dari hasil penelitian, pelatihan jaringan saraf tiruan dengan menggunakan arsitektur jaringan 121 neuron pada lapisan masukan, 25 neuron pada lapisan tersembunyi, dan 5 neuron pada lapisan keluaran mampu menghasilkan kemampuan mengenali terbaik sebesar 100% menggunakan data pelatihan sedangkan kemampuan mengenali menggunakan data pengujian sebesar 55%.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi perangkat lunak dewasa ini tidak terlepas dari berkembangnya studi mengenai kecerdasan buatan. Ada dua hal yang termasuk dari kecerdasan buatan ini yaitu peniruan proses berfikir dan peniruan proses komputasi. Salah satu bagian dari peniruan proses komputasi adalah jaringan saraf tiruan.
(image) based match dengan memperhatikan tingkat global sidik jari. Tahapan awal dalam pengenalan sidik jari adalah prapengolahan citra dan ekstraksi fitur.
Proses ekstraksi fitur dilakukan untuk mendapatkan nilai fitur yang dibutuhkan pada tahap pengklasifikasian. Berbagai metode ekstraksi fitur telah banyak digunakan untuk mendapatkan nilai fitur sebagai masukan dalam pengenalan sidik jari. Salah satu metode yang sering digunakan sebagai ekstraksi fitur adalah transformasi wavelet diskrit. Transformasi wavelet diskrit mempunyai kemampuan ekstraksi fitur yang baik karena fitur-fitur yang penting tidak akan hilang ketika dimensi citra mengalami reduksi (Putra, 2010).
Beberapa penelitian tentang jaringan saraf tiruan propagasi balik telah banyak dilakukan untuk mengamati tingkat konvergensi, lamanya proses pembelajaran dan keakuratan dari algoritma ini dalam mempelajari setiap pola yang dikehendaki dan untuk menghindari local minima saat proses pembelajaran (Zweiri et al.,2003). Beberapa penelitian tersebut dilakukan dengan menitikberatkan pada faktor-faktor yang dianggap dapat mempercepat proses pembelajaran yaitu laju pembelajaran (α) dan momentum ( ). Laju pembelajaran merupakan parameter jaringan dalam mengendalikan proses penyesuaian bobot. Biasanya nilai laju pembelajaran yang optimal bergantung pada kasus yang dihadapi. Momentum digunakan untuk mempercepat pelatihan jaringan. Momentum melibatkan penyesuaian bobot yang ditambah dengan faktor tertentu dari penyesuaian sebelumnya (Haykin, 2009). Agar kedua faktor dapat saling melengkapi maka diperlukan kombinasi kedua parameter ini. Zweiri et al. (2003) mengusulkan penambahan salah satu faktor yang disebut
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, penggunaan dua parameter dalam pembelajaran jaringan mengalami tingkat konvergensi yang rendah sehingga memerlukan waktu pembelajaran yang cukup lama. Oleh karena itu rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan faktor proporsional dan mengkombinasikannya dengan dua parameter lainnya agar dapat meningkatkan konvergensi pembelajaran jaringan saraf tiruan propagasi balik serta dapat mengenali pola sidik jari dengan tingkat error yang diinginkan.
1.3 Batasan Masalah
Agar penelitian ini tidak mengambang dan fokus pada hal-hal yang diinginkan, maka perlu adanya beberapa batasan yaitu:
1. Pola sidik jari berupa citra dengan format bitmap (.bmp) mode grayscale 2. Dalam penelitian ini tidak membahas dalam menentukan titik inti (core
point) sidik jari dan penentuan pola tidak berdasarkan minusi.
3. Arsitektur jaringan yang digunakan adalah 121 input neuron, 25 hidden neuron dan 5 output neuron.
1.4 Tujuan penelitian
1.5 Manfaat Penelitian
Manfaat yang diperoleh dari penelitian ini adalah:
1. Untuk mengetahui kombinasi dari ketiga faktor jaringan saraf tiruan propagasi balik dalam update bobot dan penurunan error pada pembelajaran jaringan saraf tiruan yang dapat mengenali citra sidik jari.
2. Menambah pemahaman penulis mengenai pengenalan pola khususnya sidik jari.
I.6 Metodologi Penelitian
Tahapan-tahapan yang akan dilakukan pada pelaksanaan skripsi ini adalah sebagai berikut:
1. Studi Literatur
Studi literatur dilakukan dengan mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, maupun situs-situs internet. Studi literatur yang dilakukan terkait dengan pengenalan sidik jari, pengolahan citra dan jaringan saraf tiruan.
2. Analisis Permasalahan
Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai jaringan saraf tiruan dalam menyelesaikan masalah pengenalan sidik jari.
3. Perancangan Sistem
Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data pelatihan, pemilihan lingkungan pengembangan, flowchart dan perancangan antarmuka (user interface). Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.
4. Implementasi Sistem
Pada tahap ini dilakukan proses implementasi pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih yang sesuai dengan analisis dan perancangan yang sudah dilakukan.
Pada tahap ini dilakukan proses pengujian dan percobaan terhadap kemampuan sistem sesuai dengan kebutuhan yang ditentukan sebelumnya serta memastikan program yang dibuat berjalan seperti yang diharapkan.
6. Penyusunan Laporan
Pada tahap ini dilakukan dokumentasi hasil analisis dan implementasi dari system yang telah dibangun sebagai laporan tugas akhir.
1.7 Sistematika Penulisan
Penulisan skripsi ini menggunakan sistematika penulisan yang membagi pembahasan skispi dalam lima bagian utama, yang terdiri atas:
BAB 1: PENDAHULUAN
Pada bab ini merupakan pendahuluan yang berisi latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, dan sistematika penulisan skripsi.
BAB 2: LANDASAN TEORI
Pada bab ini membahas mengenai teori-teori yang digunakan untuk memahami permasalahan yang berkaitan dengan pengenalan sidik jari yaitu pengolahan citra, ektraksi fitur serta metode jaringan saraf tiruan.
BAB 3: ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini berisikan analisis mengenai metode yang digunakan untuk menyelesaikan masalah dan perancangan dari sistem yang dibangun.
BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM
BAB 5: KESIMPULAN DAN SARAN
Prapengolahan
Ekstraksi CiriAlgoritma Pengenalan /
Klasifikasi
Citra
KlasifikasiBAB 2
LANDASAN TEORI
Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan skripsi ini. Teori-teori yang dibahas mengenai pengenalan pola, pengolahan citra, pengenalan pola sidik jari, dan jaringan saraf tiruan serta beberapa sub pokok pembahasan lainnya yang menjadi landasan dalam penulisan skripsi ini.
2.1 Pengenalan pola
Pola adalah entitas yang terdefinisi dan dapat didefinisikan melalui ciri-cirinya (feature). Ciri-ciri tersebut digunakan untuk membedakan satu pola dengan pola yang lain. Dengan kata lain pengenalan pola dapat membedakan satu objek dengan objek lain.
Struktur sistem pengenalan pola ditunjukkan pada gambar 2.1. Sistem pengenalan pola ini terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan (bergantung pada pendekatan yang dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.
Prapengolahan meliputi transformasi masukan (input) data mentah untuk membantu kemampuan komputasional dan pencarian ciri. Pada prapengolahan, citra yang ditangkap oleh sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan cirri.
Klasifikasi merupakan tahap untuk mengelompokkan data masukan pada satu atau beberapa kelas berdasarkan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri (Putra, 2009).
2.2Pengenalan Pola Sidik Jari
Pengenalan sidik jari dianggap sebagai metode yang paling tua di antara jajaran teknologi biometrik lain yang ada, tetapi tidak dapat disangkal teknologi ini merupakan yang paling populer digunakan pada saat ini. Sidik jari memiliki banyak kelebihan dalam berbagai hal yang membuat biometrik ini lebih nyaman dan aman. Kelebihan dari biometrik pengenalan sidik jari didukung dengan beberapa hal, seperti (Maltoni, 2003) :
1. Parennial nature, yaitu guratan-guratan pada sidik jari yang melekat pada kulit manusia seumur hidup
2. Immutability, yaitu sidik jari seseorang tidak pernah berubah kecuali mendapatkan kecelakaan yang serius
3. Individuality, yaitu pola sidik jari adalah unik dan berbeda untuk setiap orang.
Gambar 2.2 Sidik Jari
Ciri sidik jari dapat dibedakan menjadi tiga level yaitu (Maltoni,2003),: 1. Level 1: berada pada level global
Aliran garis bukit akan membentuk sebuah pola yang mirip dengan salah satu dari Gambar 2.3.
2. Level 2: berada pada level local
Terdapat 150 perbedaan pada karakteristik lokal. Pada level ini karakteristik dari sidik jari disebut dengan minutiae details. Dua karakteristik bukit yang paling banyak digunakan adalah ridge ending dan ridge bifurcation yang disebut dengan minutiae seperti lingkaran hitam pada Gambar 2.4.
3. Level 3: berada pada level very-fine
(a) left-loop (b) right-loop (c) whorl (d) arch (e) tented-arch
Gambar 2.3 Karakteristik Ciri Sidik Jari level 1 (Maltoni et.al, 2003)
Gambar 2.4 Karakteristik Ciri Sidik Jari Level 2 dan 3, lingkaran hitam untuk minutiae dan lingkaran kosong untuk sweat pore (Maltoni et al, 2003)
Ada beberapa kualitas dari citra sidik jari yang sangat berpengaruh terhadap ekstraksi ciri dari citra sidik jari dan yang selanjutnya akan berpengaruh pada hasil pencocokan citra sidik jari. Citra dikatakan baik, jika perbedaan lembah dan bukit terlihat jelas.
Berikut adalah beberapa gambar yang menunjukkan beberapa kualitas citra (Chikkerur et al.,2007):
(a) (b) (c) (d)
Beberapa kendala yang dihadapi peneliti dalam pencocokan citra sidik jari (Chikkerrur et al, 2007):
1. Kualitas citra yang rendah dapat memicu kesalahan pada ekstraksi ciri yang nantinya berdampak pada pencocokan.
2. Keterbatasan dalam representasi algoritma yang hanya dapat menggunakan salah satu dari informasi yang ditangkap manusia.
3. Ukuran sensor yang jauh lebih kecil dari ukuran sidik jari manusia, hal ini akan memicu ketidakarutan perekaman citra.
4. Adanya distorsi citra
5. Keterbatasan ukuran sensor yang mengakibatkan orang yang sama akan memiliki variasi yang berbeda pada tiap kali melakukan proses akuisisi
2.3 Pengolahan Citra Digital
Citra atau gambar merupakan sesuatu yang menggambarkan objek dan biasanya dalam bentuk dua dimensi. Citra merupakan suatu representasi kemiripan dari suatu objek atau benda. Citra digital didefinisikan sebagai representasi diskrit dari data spasial (tata letak) dan intensitas (warna) informasi (Solomon & Breckon, 2011).
Proses pengolahan citra adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar, transformasi gambar, melakukan pemilihan ciri citra untuk tujuan analisis dan mendapatkan kualitas citra yang lebih baik (Sutoyo, 2009). Tujuan dari pengolahan citra digital agar komputer memiliki sebuah penglihatan yang dapat melihat atau mengenali suatu objek gambar dengan jelas seperti selayaknya mata pada manusia.
Gambar 2.6 Representasi sistem koordinat citra
Berdasarkan representasi sistem koordinat citra pada gambar 2.5 citra dapat direpresentasikan dalam bentuk matriks dua dimensi dimana kolom pada matriks merepresentasikan lebar (width) pada citra, dan baris pada matriks merepresentasikan tinggi (height) pada citra.
, =
(0,0) 0,1 (0, )
(1,0) (1,1)
⋱ (1, )
( , 0) ( , 1) ( , )
(2.1)
dengan keterangan: j = height -1 i = width -1
2.3.1 Binerisasi(Thresholding)
Binerisasi digunakan untuk membedakan objek gambar dengan latar belakang pada gambar tersebut. Proses ini akan menghasilkan citra hitam putih yang bersih dari tingkat keabuan (grayscale), atau dengan kata lain metode ini mengkonversi citra gray-level ke citra bilevel (binary image). Untuk mendapatkan citra grayscale digunakan persamaan (2.2) berikut:
, = , , + , , + ( , , ) (2.2)
height
dengan keterangan: Igrayscale = citra grayscale
Icolour = citra RGB
(x,y) = koordinat citra
(x,y,c) = piksel pada kordinat (x,y), r untuk merah, b untuk biru dan g untuk hijau α, , = koefisien
Pembobotan nilai koefisien ini (α, dan ) berdasarkan nilai dari respon mata manusia, biasanya koefisien ketiga nilai yang digunakan adalah 0.333 (Solomon & Breckon, 2011).
Setelah mendapatkan citra grayscale, citra biner dibentuk dengan teknik thresholding. Jika g (x, y) adalah sebuah nilai ambang (threshold) batas dari f(x, y) dengan nilai threshold T. Nilai T digunakan untuk memisahkan antara objek dengan background-nya, hasil threshold dapat ditulis sebagai berikut (Gonzales et al, 2004):
, = 1 , ≥
0, , <
(2.3)
2.3.2 Deteksi Tepi
Biasanya operator yang digunakan untuk mendeteksi tepi adalah operator berbasis gradien yang menggunakan turunan pertama yaitu operator Robert, operator Sobel dan operator Prewitt.
Operator Sobel
Operator Sobel merupakan salah satu pengembangan dari teknik deteksi tepi sebelumnya, juga pengembangan dari operator Prewit. Operator ini berfungsi sebagai filter image. Filter ini mendeteksi keseluruhan tepi yang ada. Operator Sobel menggunakan matriks M x N dengan berordo 3 x 3, 5 x 5, 7 x 7, dan sebagainya. Matriks seperti ini digunakan untuk mempermudah mendapatkan piksel tengah sehingga menjadi titik tengah matriks (aij). Piksel tengah ini merupakan
piksel yang akan diperiksa. Cara pemanfaatan matriks ini sama seperti pemakaian sebuah grid, yaitu dengan cara memasukkan piksel-piksel disekitar yang sedang diperiksa (piksel tengah) ke dalam matriks. Cara yang demikian disebut spatial filtering.
a0 a1 a2
a7 (x,y) a3
a6 a5 a4
Gambar 2.7 Piksel bertetangga
Berdasarkan susunan piksel tetangga tersebut, besaran gradien yang dihitung menggunakan operator Sobel adalah:
= 2+ 2 atau M= |s
x|+ |sy| (2.4)
dimana M adalah besar gradien di titik tengah kernel dan turunan parsial dihitung menggunakan persamaan berikut:
Sx = (a2 + ca3 + a4) – (a0 + ca7 + a6) (2.5)
dimana c adalah konstanta yang bernilai 2. Sx dan Sy, dapat diimplementasikan
menjadi kernel berikut.
Gambar 2.8 Kernel Operator Sobel
Hasil akhir dari deteksi tepi sobel ini adalah ditemukannya beberapa piksel dengan intensitas yang lebih besar atau tajam. Maka setiap piksel kemungkinan hanya mempunyai dua warna dominan yaitu warna hitam dan putih.
2.3.3 Ekstraksi Ciri (Feature Extraction)
Feature extraction merupakan suatu metode untuk mendapatkan karateristik dari suatu citra (dalam hal ini citra tersebut merupakan sidik jari). Dengan feature extraction maka citra yang satu dengan yang lain dapat dibedakan dengan memperhatikan ciri yang terdapat pada citra itu sendiri. Pada penelitian ini, penulis menggunakan transformasi wavelet.
Prinsip kerja transformasi wavelet adalah menggunakan nilai rata-rata dari nilai input dan menyediakan semua informasi yang diperlukan agar dapat mengembalikan nilai input ke nilai semula (Putra, 2010). Pada transformasi wavelet diperlukan nilai selisih nilai input dan nilai rata-rata nilai input.
Pada pengembangan sinyal berdimensi dua misalnya citra dapat menggunakan filter bank untuk dekomposisi citra. Biasanya digunakan sebuah tapis low-pass (H) dan tapis high pass (G). Konvolusi citra dengan tapis low-pass menghasilkan citra pendekatan, sedangkan tapis high pass menghasilkan citra detil. Dekomposisi pola sidik jari ini dilakukan untuk mempresentasikan pola digit ke dalam vektor yang mengandung beberapa informasi mengenai pola tersebut. Setiap proses dekomposisi akan menghasilkan setengah ukuran dari citra sebelum dilakukan
-1 0 1
-2 0 2
-1 0 1
1 2 1
0 0 0
-1 -2 -1 Sy=
dekomposisi (Putra, 2010). Koefisien inilah yang kemudian menjadi basis input bagi jaringan saraf tiruan.
Adapun algoritma dari transformasi wavelet ini adalah:
1. Input citra yang diinginkan menjadi 4 bagian citra baru dengan ukuran 2N-1 x 2N-1
2. Citra dibagi kembali, ulangi langkah 1 untuk bagian kanan atas dari hasil citra wavelet pada langkah 1.
3. Pembagian berhenti jika nilai rata-rata citra adalah 1 piksel.
(a) (b)
(c) (d)
Pada gambar 2.9 ditampilkan transformasi wavelet pada citra. Citra semula dibagi (dekomposisi) menjadi 4 sub-image baru. Setiap sub-image ini berukuran ¼ kali dari citra asli, 3 sub-image posisi atas kanan, bawah kiri dan bawah kanan terlihat kasar sementara 1 sub-image atas kiri tampak seperti citra asli dan tampak lebih halus, yang dapat dibagi menjadi 4 sub-image baru lagi. Proses demikian dapat diulang
sesuai level transformasi (dekomposisi) yang diinginkan. Hasil dekomposisi dapat dihitung dengan menggunakan rumus
= + +1
2
(2.10)
dan
ci = si - ai (2.11)
Variabel ai merupakan koefisien pendekatan, ci merupakan koefisien detil dan si
adalah himpunan bilangan yang akan didekomposisi.
2.4 Jaringan Saraf Tiruan
Jaringan Saraf Tiruan (JST) merupakan representasi buatan dari otak manusia yang selalu mencoba mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan disini digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran (Kusumadewi, 2003).
Jaringan Saraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan saraf biologi dengan asumsi sebagai berikut (Siang, 2009):
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
2.4.1 Model Saraf (Neuron)
Sebuah neuron akan mempunyai banyak nilai masukan yang berasal dari neuron-neuron lain yang berhubungan dengan neuron tersebut dan akan menghasilkan sebuah nilai keluaran. Neuron tersebut akan berhubungan dengan neuron-neuron yang lain jika ada bobot-bobot yang menghubungkannya. Hal tersebut dapat digambarkan sebagai berikut:
Gambar 2.10 Model Neuron (Haykin, 1999)
Satu neuron terdiri dari tiga bagian dasar yaitu (Siang, 2009):
1 Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tesebut memiliki bobot/ keluaran yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Jumlah, struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan (dan juga model yang terbentuk). 2 Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang
sudah dikalikan dengan bobotnya.
3 Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukan tidak.
2.4.2 Arsitektur Jaringan Saraf Tiruan
(layer) dan jumlah neuron pada setiap lapisan. Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga, yaitu (Heaton, 2008):
1. Lapisan Masukan (input layer)
Neuron-neuron di dalam lapisan masukan disebut input neuron, yang menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah.
2. Lapisan Tersembunyi (hidden layer)
Neuron-neuron yang berada dalam lapisan tersembunyi disebut hidden neuron. Penentuan jumlah neuron pada lapisan tersembunyi merupakan bagian yang sangat penting dalam arsitektur jaringan saraf tiruan.
Penggunaan neuron yang terlalu sedikit pada lapisan tersembunyi akan menghasilkan sesuatu yang disebut “underfitting”. Underfitting terjadi ketika hanya sedikit neuron pada hidden layer yang mampu mendeteksi signal pada sejumlah data yang rumit. Sedangkan, jumlah hidden neuron yang terlalu banyak juga dapat mengakibatkan beberapa masalah. Pertama, mengakibatkan jaringan mengalami overfitting, yaitu ketika jaringan memproses terlalu banyak informasi melebihi kapasitas. Kedua, mengakibatkan waktu proses pelatihan jaringan lebih lama (Heaton, 2008).
Menurut Haykin (1999) jumlah hidden neuron berada pada interval 1 sampai 9. Sedangkan, menurut Heaton (2008), ada beberapa aturan yang dapat digunakan untuk menentukan jumlah neuron yang akan digunakan pada lapisan tersembunyi, diantaranya adalah:
a. Jumlah hidden neuron harus berada diantara ukuran input neuron dan output neuron.
b. Jumlah hidden neuron harus 2 3 dari ukuran input neuron, ditambah ukuran output neuron.
Ketiga aturan diatas hanya berupa pertimbangan dalam menentukan arsitektur jaringan saraf tiruan. Bagaimanapun, penentuan arsitektur jaringan akan kembali pada trial and error.
3. Lapisan keluaran (output layer)
Neuron-neuron pada lapisan keluaran disebut output neuron. Keluaran dari lapisan ini merupakan keluaran jaringan saraf tiruan terhadap suatu permasalahan.
Gambar 2. 11 ArsitekturJaringan Saraf Tiruan
Jaringan saraf tiruan propagasi balik menerapkan metode pelatihan untuk neuron-neuron tersembunyi tidak diberikan.
Bias
2.5 Algoritma Propagasi Balik
2.5.1 Proses Komputasi Propagasi Balik
Proses komputasi pada jaringan saraf propagasi balik dapat dibagi menjadi dua tahap yaitu komputasi maju (forward) dan komputasi mundur (backward) (Fausset,1994). Pada jaringan diberikan sekumpulan contoh pelatihan yang disebut set pelatihan. Set pelatihan terdiri dari vektor input dan vektor output target. Keluaran dari jaringan berupa sebuah vektor output aktual. Selisih antara vektor output target dan vektor output aktual merupakan kesalahan (error) yang terjadi. Kesalahan (error) ini yang dijadikan sebagai dasar dalam melakukan perubahan bobot yang ada dengan mempropagasikannya kembali (Puspitaningrum, 2006).
1. Komputasi maju (forward)
Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan.
2. Komputasi mundur (backward)
Selisih antara target yang diinginkan dengan keluaran jaringan merupakan kesalahan yang terjadi. Kesalahan yang terjadi itu dipropagasi mundur. Dimulai dari garis yang berhubungan langsung dengan neuron-neuron di lapisan keluaran.
2.5.1.1Komputasi maju (forward)
dengan nilai bobot yang menghubungkan lapisan masukan dengan lapisan tersembunyi. Nilai masukan untuk lapisan tersembunyi adalah:
= 0+
=0
(2.12)
Keterangan:
= nilai masukan pada lapisan tersembunyi
= bobot yang menghubungkan input layer dan lapisan tersembunyi
= nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi
0 = bobot dari neuron bias ke neuron pada lapisan tersembunyi.
Dengan menggunakan nilai masukan pada lapisan tersembunyi ( ) ini, maka setiap
neuron pada lapisan tersembunyi akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan suatu nilai, nilai keluaran tersebut adalah:
= ( ) (2.13)
Keterangan:
= nilai keluaran neuron ke- j pada lapisan tersembunyi
( ) = fungsi aktivasi neuron ke-j pada lapisan tersembunyi.
Demikian juga halnya untuk mencari nilai pada lapisan keluaran. Pada lapisan keluaran proes komputasi sama seperti pada lapisan tersembunyi yaitu dengan menghitung nilai masukan dari setiap neuron k pada pada lapisan keluaran yang dirumuskan sebagai berikut:
= 0+
=0
(2.14)
Keterangan:
= nilai masukan pada lapisan keluaran
= bobot yang menghubungkan input layer dan lapisan tersembunyi
= nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi
Dengan menggunakan nilai masukan pada lapisan keluaran ( ) ini, maka setiap neuron pada lapisan keluaran akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan nilai keluaran, nilai keluaran tersebut adalah:
= ( ) (2.15)
Keterangan:
= nilai keluaran neuron ke-k pada lapisan keluaran
( ) = fungsi aktivasi neuron ke-k pada lapisan keluaran.
Setelah diperoleh nilai keluaran aktual pada komputasi maju maka proses komputasi selanjutnya adalah proses komputasi mundur.
2.5.1.2Komputasi mundur (backward)
Komputasi mundur pada jaringan saraf tiruan propagasi balik bertujuan untuk mendistribusikan kesalahan di unit yk (δk) ke semua unit pada lapisan tersembunyi
yang terhubung langsung dengan yk. Hal ini juga dilakukan untuk menghitung
kesalahan di unit zj(δj) di setiap unit di lapisan tersembunyi. Demikian seterusnya
sampai semua kesalahan di lapisan tersembunyi yang berhubungan langsung dengan unit keluaran.
2.5.1.3Perbaharuan bobot
Setelah mendapatkan error, selanjutnya jaringan akan memperbaharui bobot menjadi bobot yang sesuai dari input yang dimasukkan menjadi output yang diinginkan. Untuk mencari bobot baru pada lapisan tersembunyi ke lapisan keluaran adalah:
= + ∆ (2.16)
Sementara untuk mencari bobot baru pada lapisan masukan ke lapisan tersembunyi adalah:
2.5.2 Perhitungan Error
Pada tahap pembelajaran dalam algoritma propagasi balik, diperlukan suatu kondisi untuk menghentikan proses pembelajaran dan sebagai pengukuran keakurasian jaringan dalam mengenali pola yang diberikan. Ada beberapa perhitungan error yang digunakan yaitu Mean SquaredError (MSE), Mean AbsoluteError (MAE) dan Mean Absolute PercentageError (MAPE).
1. Mean Squared Error (MSE) adalah error rata-rata kuadrat dari selisih antara output jaringan dengan output target. Tujuannya adalah memperoleh nilai error sekecil mungkin secara iteratif dengan mengganti nilai bobot yang terhubung pada semua neuron pada jaringan. Rumus perhitungan MSE adalah sebagai berikut:
� = 1
2 ( − )
2
=1
(2.18)
Keterangan:
= nilai output target = nilai output sistem
2. Mean Absolute Error (MAE) merupakan perhitungan error hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Rumus perhitungan MAE adalah sebagai berikut:
��= 1 | − |
=1
(2.19)
3. Mean Absolute Percentage Error (MAPE) yang hampir sama dengan MAE, namun hasilnya dinyatakan dalam bentuk persentase. Rumus perhitungan MAPE adalah sebagai berikut:
���= 1 − × 100%
=1
2.5.3 Optimalitas Arsitektur Jaringan Saraf Tiruan Propagasi Balik
Masalah utama yang terdapat dalam propagasi balikialah lamanya proses iterasi yang dilakukan. Propagasi balik tidak dapat memastikan berapa epoch yang harus dilalui sampai pola yang diinginkan terpenuhi. Oleh karena itu terdapat beberapa cara yang digunakan untuk mengoptimalkan proses iterasi (Siang, 2009), yaitu:
2.5.3.1 Pemilihan bobot dan bias awal
Bobot awal merupakan unsur yang terpenting dalam pembentukan jaringan yang baik, karena bobot awal mempengaruhi kecepatan iterasi jaringan dalam mengenali pola. Bobot yang menghasilkan nilai fungsi aktivasi kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil sehingga penurunan error menjadi kecil. Bobot awal standar yang biasa dipakai dalam melakukan proses komputasi dinilai memberikan waktu yang lama. Inisialisasi Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan. Inisialisasi Nguyen Widrow didefinisikan dengan persamaan:
= 0.7
Keterangan:
n = jumlah neuron pada lapisan input
p = jumlah neuron pada lapisan tersembunyi = faktor skala
(2.21)
Prosedur inisialisasi Nguyen Widrow ialah:
a. Inisialisasi bobot-bobot (vji) lama dengan bilangan acak dalam interval [-0.5,
0.5] b. Hitung
∥ ∥= 12+ 22 + + 2
(2.22)
=
∥ ∥
(2.23)
d. Bias baru yang dipakai sebagai inisialisasi vj0 = bilangan acak dalam interval
– , (2.24)
2.5.3.2 Laju Pembelajaran ( learning rate)
Penggunaan parameter learning rate memiliki pengaruh penting terhadap waktu yang dibutuhkan untuk tercapainya target error yang diinginkan. Jika nilai learning rate yang digunakan terlalu kecil maka terlalu banyak epoch yang dibutuhkan untuk mencapai nilai target yang diinginkan.
Semakin besar nilai learning rate yang digunakan maka proses pelatihan jaringan akan semakin cepat, namun jika terlalu besar justru akan mengakibatkan algoritma menjadi tidak stabil dan menyebabkan nilai error berbolak balik pada nilai tertentu, sehingga mencegah tercapai target error yang diinginkan. Oleh karena itu pemilihan nilai learning rate harus seoptimal mungkin agar didapat proses pelatihan yang cepat (Siang, 2009).
2.5.3.3 Momentum
Penambahan parameter momentum dalam tahap pengoreksian nilai bobot dapat mempercepat proses pelatihan yaitu dengan memodifikasi nilai bobot pada iterasi (t+1) yang nilainya ditentukan oleh nilai bobot pada iterasi ke-t dan (t-1). adalah konstanta yang menyatakan parameter momentum yang nilainya 0 ≤ ≤1 keluaran
(Siang, 2009):
Perubahan bobot dengan menggunakan momentum pada lapisan keluaran:
wkj + 1 = wkj + + (wkj t − wkj (t−1) (2.25)
Perubahan bobot dengan menggunakan momentum pada lapisan tersembunyi:
2.5.3.4 Faktor Proporsional
Jaringan saraf tiruan propagasi balik yang selama ini digunakan untuk berbagai macam aplikasi adalah jaringan saraf propagasi balik yang standar yang hanya menggunakan kedua faktor di atas (learning rate dan momentum).
Pada penelitian ini digunakan faktor ketiga yang disebut sebagai faktor proporsional ( ). Faktor proporsional ini pertama sekali diperkenalkan dan digunakan
pada permasalahan XOR (Zweiri et al, 2003). Modifikasi terhadap jaringan saraf propagasi balik dengan menambahkan faktor ketiga yang disebut faktor proporsional akan menyebabkan bertambahnya satu konstanta baru yang menyertainya, konstanta tersebut adalah e(w(t)). Untuk mendapatkan nilai e(w(t)) maka dapat digunakan rumus berikut ini (Zweiri et al, 2003):
e w t( ( )) ek (2.27)
dimana
= =1( − ) (2.28)
adalah selisih antara nilai target dengan output
Faktor ketiga tersebut menyebabkan perubahan bobot pada lapisan keluaran akan menjadi
wkj + 1 = + t−1 + ek (2.29)
Sedangkan perubahan bobot pada lapisan tersembunyi akan menjadi
vji + 1 = + t−1 + ek (2.30)
2.5.4 Fungsi Aktivasi
Fungsi aktivasi merupakan bagian penting dalam tahap perhitungan JST karena dipakai untuk menentukan keluaran dari suatu neuron. Peran fungsi aktivasi pada jaringan saraf tiruan adalah untuk mengaktifkan keluaran dari jaringan dan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak. Beberapa fungsi aktivasi yang dipakai dalam JST adalah:
2.5.4.1 Fungsi sigmoid biner (logsig)
Fungsi sigmoid biner memiliki range nilai [0,1]. Oleh karena itu, fungsi ini sering digunakan untuk Jaringan Saraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai:
= 1
1 + −
(2.31)
dengan ′ = (1− ) (2.32)
2.5.4.2 Fungsi sigmoid bipolar (tansig)
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai:
= 1−
−
1 + −
(2.33)
dengan ′ =1
2 1 + ( ) 1− ( )
(2.34)
2.6 K-Fold Cross Validation
Cross validation (validasi silang) merupakan metode untuk memperkirakan akurasi
yang dihasilkan yaitu S1, S2,…, Sk yang digunakan sebagai data pelatihan dan data
pengujian. Dalam metode ini, dilakukan iterasi sebanyak k kali. Setiap melakukan iterasi, salah satu subset dijadikan data uji, sedangkan subset lainnya sebagai data latih. K-fold cross validation akan mengulang pengujian sebanyak k kali, dan hasil pengukuran adalah nilai rata-rata dari k kali pengujian.
2.7 Penelitian Terdahulu
Tabel 2.1 Penelitian Terdahulu
No Pengarang Judul Keterangan
1 Kaur et.al, menghilangkan titik minusi yang dianggap salah, menemukan titik percabangan dengan menghasilkan citra thinning dengan hasil yang baik. Telah ditemukan 24 percabangan (bifurcation) dalam penelitian ini, sehingga sistem memerlukan waktu ekseskusi yang lebih singkat.
2 Kanata, 2008 Deteksi Sidik Jari Berbasis Alihragam
sidik jari yang pernah dilatihkan dan mampu menguji citra yang terdistorsi sebesar 70 %
3 Saraswat, 2010 An Efficient Automatic Attendance System Using Fingerprint Verification Technique
Pengenalan dilakukan dengan memperhatikan minusi sidik jari, menghilangkan titik minusi yang dianggap tidak perlu dan menggunakan transformasi fourier dalam perbaikan citranya. Hasil verifikasi sekitar 92 % dengan penggunaan waktu yang lebih singkat. 5 Barua et.al, 2011 Fingerprint
Identification
meliputi binerisasi dan skeletonisasi ridge, yang dibutuhkan untuk klasifikasi. Fitur yang dinilai yaitu
endpoint, percabangan
(bifurcation), dan titik inti (core point) dari sidik jari, yang kemudian dilanjutkan dengan penghapusan minusi yang dianggap salah.
6 Reavindo, 2009 Pengaruh Faktor Proporsional Pada Jaringan Saraf Propagasi Balik Untuk Pengenalan Wajah Berbasis Eigenface
Faktor pembelajaran ketiga yang
disebut faktor proporsional ( )
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Bab ini menjelaskan proses sistem jaringan saraf tiruan propagasi balik untuk pengenalan citra sidik jari dan analisis kebutuhan sistem yang akan dibangun serta perancangannya. Tindakan yang akan dilakukan pada tahap perancangan adalah mentransformasikan model analisis ke model perancangan.
3.1 Analisis Data Sistem
3.1.1 Akuisisi Citra
3.1.2 Praproses Citra
Citra yang diperoleh tidak langsung dapat diambil nilai fiturnya yang akan digunakan dalam jaringan saraf tiruan agar diklasifikasi, citra tersebut terlebih dahulu mengalami praproses citra. Citra grayscale yang diperoleh dideteksi tepi terlebih dahulu untuk mempertegas batas yang membedakan mana bukit dan lembah dalam sidik jari. Kemudian citra ini mengalami binerisasi agar diperoleh citra bilevel (binary image) dan yang terakhir adalah ekstraksi fitur yang menghasilkan nilai atau fitur yang digunakan sebagai nilai input dalam jaringan saraf tiruan.
Deteksi
Tepi Binerisasi Ekstraksi Fitur
Citra Grayscale
Nilai Fitur Citra
Gambar 3.1 Praproses Citra
3.1.2.1 Deteksi Tepi
Deteksi tepi berfungsi untuk mempertegas batas citra atau untuk meningkatkan penampakan garis batas suatu daerah atau obyek di dalam citra. Pada penelitian ini digunakan operator Sobel dengan dua buah kernel yaitu:
Pada perancangan kali ini digunakan operator Sobel karena mampu menghasilkan hasil ekstraksi paling halus
Gambar 3.2 Dua Buah Matriks Kernel Sobel
-1 0 1 1 2 1
-2 0 2 0 0 0
Tahapan deteksi tepi menggunakan operator Sobel:
1. Input Citra grayscale (m x n) piksel.
2. Lakukan konvolusi dengan menggunakan kernel Sobel 3 x 3 untuk
menghasilkan peta intensitas gradien.
3. Hitung nilai gradien.
4. Kembalikan nilai matriks menjadi nilai intensitas citra.
5. Proses selesai dan dihasilkan tepi dari sebuah citra digital.
Mulai
Ambil nilai pixel x,y
Pisahkan nilai RGB
Hitung intensitas RGB= 0.333F*(p.R +p.G+p.B)
Lakukan konvolusi nilai intensitas dengan operator
sobel 3x3
gradX= intensity * maskX gradY= intensity * maskY
Hitung nilai gradient Grad = |sx| + |sy|
Selesai Input Citra
grayscale sidik jari
Tampilkan citra hasil deteksi tepi
Operator Sobel adalah magnitudo dari gradien yang dihitung dengan persamaan:
M= 2+ 2 atauM = |sx| + |sy| (3.1)
Misalkan pada citra sidik jari grayscale dilakukan deteksi tepi dengan mengambil 1 blok citra berukuran 3 x 3 Pixel sesuai dengan operator sobel yang berukuran 3x3 .
188 188 188 -1 -2 -1 -1 0 1 158 114 159 Sx= 0 0 0 Sy= 2 0 2
148 211 135 1 2 1 -1 0 1
Gambar 3.4Matriks 3x3 Pixel dengan Dua Operator Sobel
Gx = 188(-1) + 188(-2) + 188(-1) + 148(1) + 211(2) + 135(1) = -188 -376 -188 +148 + 422 + 135
= -47
Gy = 188(-1) + 158(2) + 148(-1) + 188(1) + 159(2) + 135(1) = -188 + 316 - 148 + 188 + 318 + 135
= 621
Perhitungan nilai magnitudo (M) dengan menggunakan persamaan (3.1) adalah sebagai berikut:
M = |sx| + |sy| M = |-47| + |621|
M = 668
Citra hasil konvolusi yang diperoleh dari perhitungan deteksi tepi untuk pixel blok 3 x 3 citra sidik jari adalah 668, maka karena nilai grayscale antara 0 - 255, maka nilai piksel yang ditinjau adalah 255 seperti pada Gambar 3.7.
* * * * 255 * * * *
Dari hasil konvolusi dengan operator Sobel terhadap 9 piksel maka nilai piksel dan dimasukkan ke dalam matriks citra 3x3 piksel seperti pada Gambar 3.8. Lakukan proses yang sama untuk piksel lainnya.
188 188 188
158 255 159 148 211 135
Gambar 3.6 Matriks Hasil Deteksi Tepi
Gambar 3.7 Citra Hasil Deteksi Tepi
3.1.2.2 Binerisasi
Pada proses ini akan menghasilkan citra hitam putih yang bersih dari tingkat keabuan (grayscale), dengan kata lain metode ini mengonversi citra gray-level ke citra bilevel (binary image). Pada tahap ini, akan diambil nilai rata-rata nilai pixel RGB (Red, Green, Blue) untuk kemudian dicek, jika nilai yang dihasilkan kurang dari nilai ambang (threshold) yang dihasilkan maka nilai piksel tersebut diubah menjadi warna hitam, sebaliknya jika lebih besar dari nilai ambang (threshold) maka akan diubah menjadi warna putih.
Gambar 3.8 Citra Hasil Binerisasi
3.1.2.3 Ekstraksi Fitur (Feature Extraction)
Feature extraction merupakan proses untuk mendapatkan nilai-nilai unik dari suatu citra yang telah mengalami proses pengolahan citra sebelumnya. Setiap data yang akan diamati dan dianalisis oleh jaringan saraf tiruan harus direpresentasikan secara baik ke dalam bentuk data numerik atau data biner. Untuk itu, diperlukan suatu cara yang dapat mengekstraksi ciri dari setiap data tadi secara konsisten. Data hasil ekstraksi haruslah benar-benar dapat mewakili karakteristik atau ciri-ciri dari data yang diamati, sehingga diharapkan dari sekumpulan data dengan target yang sama akan dihasilkan suatu generalisasi atau pencirian secara umum terhadap suatu target yang sejenis. Transformasi wavelet diskrit digunakan sebagai metode ekstraksi fitur karena kemampuan menguraikan citra input menjadi citra global dan citra detil. Proses transformasi ini disebut dekomposisi wavelet, dan hasil dekomposisi ini disebut koefisien wavelet yang dapat dijadikan input pada jaringan saraf tiruan
Gambar 3.9 Citra Hasil Dekomposisi Wavelet
LL LH
Citra hasil dekomposisi yang tampak pada gambar 3.9 bagian kanan merupakan citra hasil normalisasi koefisien wavelet, agar koefisien wavelet tersebut dapat diamati secara visual. LL menunjukan bahwa subcitra tersebut merupakan hasil konvolusi low-pass filter baik pada baris maupun kolom. LH adalah hasil konvolusi low-pass filter pada baris dan high-pass filter pada kolom. HL adalah hasil konvolusi high-pass filter pada baris dan low-pass filter pada kolom. HH adalah hasil konvolusi high-pass filter baik pada baris maupun kolom. Dengan demikian, LL merupakan citra global, sedangkan LH, HL, dan HH merupakan citra detil. Citra global hasil dekomposisi wavelet didekomposisikan kembali untuk mendapatkan citra global dan citra detil pada level berikutnya.
Proses dekomposisi wavelet dapat dihitung secara konvolusi maupun dengan cara perataan dan pengurangan secara berulang, seperti ilustrasi di bawah ini. Misalkan terdapat citra dari hasil binerisasi dalam bentuk matriks di bawah ini:
= + +1
2 (3.2)
= − +1
2 (3.3)
Untuk melakukan transformasi level 1 dilakukan dekomposisi tiap kolom dahulu misal dilakukan pada kolom 1 seperti di bawah ini:
[0 0 0 0]
[0 0] a = (0 + 0) / 2 = 0 [0 0] a = (0 + 0 ) / 2 = 0 c = (0 - 0) /2 = 0 c = (0-0) /2 = 0
0 0 0 0
0 1 0 1
0 1 0 0
Proses perhitungan dilanjutkan pada kolom 2 seperti di bawah ini: [0 1 1 0]
[0 1] a = ( 0+1 ) / 2 = 0.5 [1 0] a= (1 + 0) / 2= 0.5 c = (0-1) /2 = -0.5 c= (1-0) / 2 = - 0.5
Perhitungan pada kolom ke-3 : [0 0 0 0]
[0 0] a = (0 + 0) / 2= 0 [0 0] a = (0 + 0) /2 = 0 c = (0 - 0) / 2= 0 c = (0 - 0) / 2= 0
Perhitungan pada kolom ke-4
[0 1 0 0]
[0 1] a = (0+1)/2 = 0.5 [0 0] a = (0 + 0) / 2= 0 c = (0-1) / 2= -0.5 c = (0 - 0) / 2 = 0
Proses selanjutnya, kumpulan nilai a diletakkan pada baris pertama dan kedua. Sedangkan kumpulan nilai c diletakkan pada baris ke-tiga dan ke-empat.
Gambar 3.10 Transformasi Wavelet pada kolom
Selanjutnya dilakukan proses transformasi pada baris matriks hasil kumpulan nilai a dan c di atas. Sebagai contoh diambil nilai pada baris pertama yaitu [0 0.5 0 0.5]
[0 0.5] a = (0 + 0.5) /2 = 0.25 [0 0.5] a= (0 + 0.5)/2 = 0.25 c = (0- 0.5) /2 = -0.25 c = (0 - 0.5)/ 2 = -0.25
0 0.5 0 0.5
0 -0.5 0 -0.5
0 0.5 0 0
0 -0.5 0 0
nilai a dan c c
0 0.5 0 0.5
0 0.5 0 0
0 -0.5 0 -0.5
Perhitungan baris ke-dua:
[0 0.5] a = (0 + 0.5) /2 = 0.25 [0 0] a = (0 + 0)/ 2 = 0 c = (0- 0.5) /2 = -0.25 c = (0- 0)/ 2 = 0
Perhitungan baris ke-tiga:
[0 -0.5] a = (0 + (-0.5)) /2 = -0.25 [0 -0.5] a= (0 + (-0.5)/2 =0.25 c = (0- (-0.5)) /2 = 0.25 c = (0- (-0.5)) /2 = 0.25
Perhitungan baris ke-empat:
[0 -0.5] a = (0 + (-0.5)) /2 = -0.25 [0 0] a = (0 + 0)/ 2 = 0 c = (0- (-0.5)) /2 = 0.25 c = (0- 0)/ 2 = 0
Proses selanjutnya, kumpulan nilai a diletakkan pada kolom pertama dan ke-dua. Sedangkan kumpulan nilai c diletakkan pada kolom ke-tiga dan ke-empat.
Gambar 3.11Transformasi Wavelet pada baris
Matriks di atas adalah matriks hasil transformasi wavelet level 1 yang menghasilkan 4 citra, yaitu citra pendekatan, citra detil horizontal, citra detil vertikal dan citra detil diagonal. Hasil transformasi wavelet level 1 dapat dilihat pada gambar 3.12. Citra dapat didekomposisi menjadi beberapa level sesuai kebutuhan, dan transformasi wavelet level 2 dapat dimulai dari matriks hasil transformasi wavelet level 1. Transformasi wavelet ini dapat dilanjutkan menjadi beberapa level sesuai yang diinginkan.
0.25 0.25 -0.25 -0.25 -0.25 -0.25 0.25 0.25 0.25 0 0.25 0 -0.25 0 0.25 0
nilai a dan c c
Gambar 3.12Transformasi Wavelet level 1
Koefisien wavelet yang dihasilkan melalui proses transformasi merupakan input bagi jaringan saraf tiruan propagasi balik. Koefisien tersebut perlu dinormalisasi terlebih dahulu agar nilainya berada pada range -1 hingga +1 atau pada range 0 hingga 1 sesuai dengan syarat data input pada jaringan saraf tiruan. Hal ini dilakukan agar nilai keluaran yang dihasilkan dapat terletak pada range 0 dan 1.
Normalisasi koefisien ini dapat dilakukan dengan cara membagi nilai koefisien tersebut dengan nilai maksimum yang dapat dicapai koefisien wavelet pada dekomposisi tersebut. Dengan menggunakan rumus:
|k| = (maks(M,N))2n x 255 (3.4)
M = | |, Hi ∈ > 0 (3.5)
N = | |, Hi ∈ < 0 (3.6)
Keterangan:
|k| adalah nilai maksimum yang dapat dicapai koefisien wavelet citra pada level dekomposisi n
M adalah hasil penjumlahan low pass filter bernilai positif N adalah hasil penjumlahan low pass filter bernilai negatif H adalah koefisien low-pass filter
n adalah level dekomposisi wavelet, 2n menunjukkan bahwa satu kali dekomposisi dilakukan proses fikter sebanyak dua kali yaitu baris dan kolom
Dengan demikian, normalisasi koefisien transformasi wavelet diskrit citra dilakukan dengan menggunakan persamaan:
� = �0
| | (3.7)
Keterangan:
Wn adalah nilai koefisien wavelet citra hasil normalisai yang digunakan sebagai input untuk jaringan saraf tiruan.
W0 adalah nilai koefisien wavelet citra sebelum dinormalisasi
|k| adalah nilai maksimum yang dapat dicapai koefisien wavelet citra pada level dekomposisi n
Hasil koefisien pada transformasi wavelet level 1 pada gambar 3.11 di atas kemudian dinormalisasi dengan menggunakan persamaan (3.7) sehingga menghasilkan koefisien seperti di bawah ini.
Gambar 3.14Koefisien wavelet ternormalisasi
Setiap dekomposisi wavelet sebanyak n- level akan menyebabkan tinggi dan lebar subcitra pada level tersebut menjadi 2-n dari tinggi dan lebar citra aslinya. Dengan demikian, jika ukuran citra input adalah 180 x 180, maka ukuran koefisien transformasi wavelet diskrit pada level 4 (sesuai penelitian) adalah 11x 11.
3.2 Perancangan Sistem
Model dasar sistem yang akan dibuat pada tugas akhir ini dapat digambarkan pada flowchart berikut ini (gambar 3.15 )
Mulai
Preprocessing
Menentukan Arsitektur JST dan
parameter JST
Training JST
Testing JST
Pengenalan Output
Selesai
Gambar 3.15 Flowchart Sistem
3.2.1 Perancangan Jaringan Saraf Tiruan Propagasi Balik
Jaringan saraf tiruan propagasi balik yang digunakan pada penelitian ini merupakan jaringan saraf tiruan dengan menggunakan 3 lapisan yaitu lapisan masukan (input layer), lapisan tersembunyi (hidden layer) dan lapisan keluaran (output layer). Setiap lapisan akan memiliki neuron-neuron yang jumlahnya tergantung dari permasalahan yang akan diselesaikan.
Untuk menentukan jumlah neuron pada lapisan keluaran, adalah bagaimana cara mendefinisikan target keluaran dari suatu penelitian. Dalam penelitian ini terdapat 10 pemilik sidik jari yang digunakan sebagai objek, maka terdapat 5 pola target keluaran. Dengan demikian, pendefinisian pola target keluaran pada penelitian ini adalah sebagai berikut:
Tabel 3. 1 Susunan Data Pelatihan DATA MASUKAN DATA TARGET
Pemilik-1 00001
Pemilik -2 00010
Pemilik -3 00011
Pemilik -4 00100
Pemilik -5 00101
Pemilik -6 00110
Pemilik -7 00111
Pemilik -8 01000
Pemilik -9 01001
Pemilik -10 01010
Berdasarkan pendefinisian di atas maka dapat disimpulkan bahwa lapisan keluaran pada penelitian ini memiliki neuron keluaran sebanyak 5 buah neuron.
Dalam menentukan jumlah neuron pada lapisan tersembunyi, penelitian ini menggunakan formula charytoniuk (Reavindo, 2009):
= ∗ (3.8)
Keterangan:
L = jumlah neuron pada lapisan tersembunyi N = jumlah neuron pada lapisan masukan M = jumlah neuron pada lapisan keluaran
x1
Gambar 3.16 Arsitektur jaringan saraf tiruan propagasi balik
Keterangan:
X = input neuron pada input layer Z = hidden neuron pada hidden layer Y = output neuron pada output layer
Vij,.., Vn = bobot dari input layer ke hidden layer Wij,…,Wn = bobot dari hidden layer ke output layer
Fungsi aktivasi yang akan digunakan dalam penelitian ini yaitu fungsi sigmoid biner (logsig) karena output yang diinginkan pada range [0,1], perhitungan error menggunakan MSE (Mean Square Error) dengan target error yang ingin dicapai yaitu 0.001. Menggunakan inisialisasi bobot Nguyen Widrow. Laju pembelajaran (learning rate) yang digunakan dalam range [0.1-0.9], nilai momentum yang digunakan dalam range [0.1-0.9], faktor proporsional yang digunakan pada range [0.001-0.009] sesuai penelitian yang dilakukan Reavindo(2009). Maksimum epoch yang diberikan kepada
Input layer
sistem sebesar 10000 epoch. Pada penelitian ini, diuji beberapa parameter yang mampu memberikan persentase pengenalan yang baik.
3.2.2 Pelatihan Jaringan Saraf Tiruan Propagasi Balik
Pada saat pelatihan jaringan saraf dapat dipandang sebagai suatu sistem yang belajar (Puspitaningrum, 2006). Belajar pada jaringan saraf propagasi balik adalah belajar yang terawasi, dimana terdapat pasangan masukan dan target yang harus dipenuhi sehingga dibutuhkan data masukan dan target untuk suatu pelatihan. Pelatihan diperlukan untuk mencari nilai bobot yang menghubungkan semua neuron sehingga dapat meminimalkan error yang dihasilkan oleh output jaringan.
Mulai
Load Data Pelatihan
Inisialisasi bobot, bias,input node, hidden node, output
node
Input learning rate, momentum, faktor proporsional, target error, max epoch
Epoch = 0
Avg_err = 0
C= 0
Data = 0
Train_forward
Train_backward
Update_weight
Use momentum ? Update_weight_momentum
Ya
Update_weight
Tidak
Data = data +1
A
B C
A
Data < = total_pattern
Avg_err = C / (total_pattern * 2)
Avg_err < = target_error Bobot_terbaik
Selesai
Epoch = epoch +1
Epoch < = max_epoch
Selesai
Ya
Tidak
Ya
Tidak
Ya
Tidak
B
C
Gambar 3.17 Flowchart Pelatihan
Algoritma pelatihan propagasi balik
Pelatihan dengan jaringan saraf propagasi balik yang menggunakan 3 faktor, yaitu laju pembelajaran (α), momentum ( ) dan faktor proporsional (
) dilakukanberdasarkan algoritma berikut ini:
Langkah 2: Set epoch maksimum = 10000, target error = 0.001, epoch=0
Langkah 3: Epoch = epoch + 1
Langkah 4: For p=1 to pasangan pola pelatihan do.
Langkah 4a: Setiap neuron input xi mengirimkan nilai input ke semua
neuron yang ada di lapisan atasnya (ke lapisan
tersembunyi).
Propagasi maju (forward)
Langkah 4b: Hitung nilai input pada lapisan tersembunyinya
zj = (vj0+ xivji
Langkah 4f: Hitung Kesalahan dari setiap neuron pada lapisan keluaran
( )
= ( − )
(1-)
(3.13)
Langkah 4g: Hitung kesalahan dari setiap neuron j pada lapisan
Tersembunyi
Langkah 4h: Hitung perubahan bobot-bobot lapisan tersembunyi
∆ ( ) = ∝ xi +β∆wzj(p−1)+