Jaringan Saraf Tiruan Propagasi Balik Tiga Faktor Dalam Pengenalan Sidik Jari
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
2013
(2)
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
MEDAN 2013
(3)
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,
Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 196108171987011001
(4)
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
FANINDIA 071402017
(5)
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.
Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda Ir.Surya Hardi, MSc dan ibunda Dra.Siswarni yang selalu sabar dalam mendidik penulis. Untuk kakak penulis Firanti dan adik penulis Fathia yang selalu memberikan dorongan dan hiburan kepada penulis. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, semangat serta bantuan , Ridha Apriani,STi, Khairunnisa STi, Adfriansyah, STi, Tika Yunita. STi, Masyita Oktaviani STi, Anandia Zelvina STi, agnes, putri serta teman-teman mahasiswa Teknologi Informasi lainnya yang sudah selesai maupun yang sedang mengerjakan skripsi yang tidak dapat penulis sebutkan satu persatu. Teman-teman yang mengajarkan dan memberi bantuan, ide dan waktu untuk berdiskusi, bang revin, bang tomi dan aron. Semoga Allah SWT membalas kebaikan kalian.
(6)
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%.
Kata kunci: pengenalan sidik jari, wavelet, jaringan saraf tiruan propagasi balik, faktor proporsional
(7)
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
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah ... 3
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 4
1.6 Metodologi Penelitian ... 4
1.7 Sistematika Penulisan ... 5
Bab 2 Landasan Teori ... 7
2.1 Pengenalan Pola ... 7
2.2 Pengenalan Pola Sidik Jari ... 8
2.3 Pengolahan Citra Digital ... 11
2.3.1 Binerisasi (Threshoding) ... 12
2.3.2 Deteksi Tepi ... 13
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
(9)
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
(10)
DAFTAR TABEL
Halaman
Tabel 2.1 Penelitian Terdahulu 29
Tabel 3.1 Susunan Data Pelatihan 45
Tabel 4.1 Hasil Pelatihan dengan Tiga Parameter Pada Jaringan Saraf Tiruan 72 Tabel 4.2 Akurasi data menggunakan 10 fold cross validation 73
(11)
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
(12)
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
(13)
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.
Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda Ir.Surya Hardi, MSc dan ibunda Dra.Siswarni yang selalu sabar dalam mendidik penulis. Untuk kakak penulis Firanti dan adik penulis Fathia yang selalu memberikan dorongan dan hiburan kepada penulis. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, semangat serta bantuan , Ridha Apriani,STi, Khairunnisa STi, Adfriansyah, STi, Tika Yunita. STi, Masyita Oktaviani STi, Anandia Zelvina STi, agnes, putri serta teman-teman mahasiswa Teknologi Informasi lainnya yang sudah selesai maupun yang sedang mengerjakan skripsi yang tidak dapat penulis sebutkan satu persatu. Teman-teman yang mengajarkan dan memberi bantuan, ide dan waktu untuk berdiskusi, bang revin, bang tomi dan aron. Semoga Allah SWT membalas kebaikan kalian.
(14)
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%.
Kata kunci: pengenalan sidik jari, wavelet, jaringan saraf tiruan propagasi balik, faktor proporsional
(15)
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.
Jaringan Saraf Tiruan (JST) merupakan bagian dari kecerdasan buatan, yaitu teknologi komputasi yang berbasis pada model saraf manusia dan mencoba mensimulasikan tingkah laku dan kerja model saraf manusia terhadap berbagai masukan (Haykin, 1999), yang saat ini semakin berkembang pesat dan mampu menyelesaikan permasalahan yang kompleks seperti pengenalan pola. Salah satu algoritma pembelajaran yang cukup representatif terhadap proses kerja jaringan saraf manusia adalah algoritma jaringan saraf propagasi balik (Puspitaningrum, 2006). Salah satu pola yang dapat dijadikan sebagai objek penelitian adalah sidik jari. Ada beberapa teknik dalam pengenalan sidik jari yaitu correlation based match, minutiae based match dan pattern (image) based match. Salah satu pendekatan yang populer adalah dengan menggunakan pencocokan pada local feature seperti minutiae matching. Minutiae adalah tipe khusus dari pola guratan sidik jari, seperti ending, bifurcation dan islands (Maltoni, 2003). Teknik ini membutuhkan praproses yang rumit karena sensitif terhadap noise, dan memerlukan citra dengan resolusi baik. Selain menggunakan tingkat lokal pada sidik jari, pengenalan sidik jari juga dapat dilakukan dengan memperhatikan tingkat global pada sidik jari, yakni pencocokan fitur yang dilakukan pada keseluruhan citra. Fitur sidik jari ini dapat diperoleh dengan metode ekstraksi fitur ataupun dengan menggunakan filtering dan operasi transformasi. Dalam penelitian ini, penulis menggunakan teknik ketiga yaitu pattern
(16)
(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
faktor proporsional ( ). Hasil penelitian membuktikan bahwa ketiga faktor ini dapat mempercepat jaringan mencapai konvergen. Dengan adanya faktor proporsional ini, diharapkan jaringan memiliki tingkat konvergensi yang tinggi agar tingkat kesalahan yang diinginkan tercapai.
(17)
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
Tujuan dari penelitian ini adalah merancang sistem pengenalan sidik jari menggunakan jaringan saraf tiruan propagasi balik dengan tiga parameter pembelajaran yaitu laju pembelajaran, momentum dan faktor proporsional.
(18)
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.
(19)
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
Pada bab ini dibahas mengenai spesifikasi kebutuhan perangkat keras (hardware) dan perangkat lunak (software) dari sistem. Kemudian terdapat cara kerja dari sistem dan menampilkan hasil dari pengujian sistem ini.
(20)
BAB 5: KESIMPULAN DAN SARAN
Pada bab ini dibuat mengenai rangkuman dari hasil analisis dan implementasi kerja sistem pada bagian sebelumnya, dan pada bagian ini terdapat saran yang diberikan untuk pengembangan sistem selanjutnya.
(21)
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.
(22)
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.
Pada sidik jari manusia bagian yang menonjol atau yang berupa guratan disebut bukit (ridge), dan bagian yang tidak menonjol yang memisahkan bagian yang menonjol satu dengan yang lain disebut dengan lembah (valley) (Maltoni, 2003). Gambar 2.2 memperlihatkan sidik jari, bukit dan lembah pada sidik jari tersebut.
(23)
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
Pada level ini dilihat ciri dari bukit seperti lebar, bentuk, kurvatur, kontur tepian dan detail. Terdapat finger sweat pore seperti ditunjukkan lingkaran kosong pada Gambar 2.4. Namun, jika ingin menggunakan ciri pada level ini hanya dimungkinkan jika citra sidik jari diambil pada resolusi 1000dpi dengan kualitas citra yang sangat baik.
(24)
(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)
Gambar 2.5 Gambar (a) citra sidik jari dengan kualitas baik (b) lembah dan bukit kurang dapat dibedakan dengan baik (c) dan (d) citra sidik jari yang kering (Chikkerur et al, 2007)
(25)
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.
Setelah diperoleh citra digital yang berupa pola bit-bit di dalam memori komputer, maka analisis dan pengolahan dapat dilakukan. Pengolahan citra selalu melibatkan satu atau bahkan lebih algoritma yang akan diimplementasikan terhadap citra.
(26)
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
width y
(27)
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
Deteksi tepi berfungsi mengidentifikasi garis batas suatu objek yang terdapat pada citra. Tepi sebuah citra merupakan daerah yang memiliki intensitas cahaya yang kuat. Hal ini merupakan indikasi untuk menuju proses pembacaan piksel selanjutnya. Mendeteksi tepi suatu citra secara signifikan akan menyaring informasi yang tidak berguna dengan tidak menghilangkan struktur penting dari citra tersebut dan mampu merepresentasikan objek-objek yang terkandung dalam citra tersebut meliputi bentuk, ukuran serta tekstur (Putra, 2009).
(28)
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)
(29)
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=
(30)
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
Gambar 2.9 Contoh transformasi wavelet pada citra (a) citra asli (b) dekomposisi level 1 (c) dekomposisi level 2 (d) dekomposisi level 3 (Sumber: Putra, 2010)
(31)
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.
4. Untuk menentukan keluaran (output), setiap neuron menggunakan fungsi aktivasi yang dikenakan pada penjumlahan masukan (input) yang diterima. Besarnya keluaran (output) ini selanjutnya dibandingkan dengan suatu batas ambang.
(32)
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
Pembagian arsitektur jaringan saraf tiruan dapat dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja jaringan saraf tiruan bisa dilihat dari jumlah lapisan
(33)
(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.
(34)
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 yang terawasi yaitu metode pelatihan yang memberikan nilai target yang diinginkan dari setiap neuron pada lapisan keluaran. Puspitaningrum (2006,
hal:1β5) menyatakan bahwa istilah “propagasi balik” atau “penyiaran kembali”
diambil dari cara kerja jaringan ini, yaitu bahwa gradien error neuron-neuron lapisan tersembunyi diturunkan dari penyiaran kembali error-error yang diasosiasikan dengan neuron-neuron lapisan keluaran. Hal ini karena nilai target untuk neuron-neuron tersembunyi tidak diberikan.
Bias
i
N
1 1
j L Bias 1 k M . . . . . . . . . . . .
Input layer Lapisan Tersembunyi Lapisan Keluaran xp1 xpi XpN M A S U K A N op1 opk opM K E L U A R A N
(35)
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)
Komputasi maju pada jaringan saraf tiruan propagasi balik dimulai dari lapisan masukan, namun neuron yang mengalami komputasi adalah neuron pada lapisan tersembunyi. Hal ini disebabkan karena neuron pada lapisan masukan hanya berfungsi meneruskan nilai masukan untuk neuron pada lapisan tersembunyi. Pencarian nilai masukan pada lapisan tersembunyi dilakukan dengan perkalian antara masukan
(36)
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
(37)
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:
(38)
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
(39)
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)
(40)
=
∥ ∥
(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:
(41)
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)
Dengan adanya faktor ketiga yang disebut faktor proporsional, maka saat ini pada jaringan saraf propagasi balik telah ada 3 faktor yang dapat diteliti untuk mendapatkan kinerja yang diinginkan.
(42)
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
kesalahan dari data berdasarkan “resampling” (Sarle, β004). K-Fold Cross Validation membagi data menjadi k subset yang ukurannya sama satu sama lainnya. Himpunan
(43)
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, 2008
Fingerprint Verification System using Minutiae Extraction Technique
Pengenalan dilakukan dengan 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 Gelombang Singkat (wavelet) dan Jaringan Saraf Tiruan(JST) Khusus Kota Mataram dan Sekitarnya
Penelitian ini menerapkan wavelet daubechies yang digunakan untuk menghasilkan ciri dari sidik jari dengan memilih koefisien yang dihasilkan yang memiliki nilai magnitude terbesar dan menggunakan backpropagation sebagai pembelajarannya . Ruang citra warna yang digunakan YIQ (skala keabuan). Pada penelitian ini mampu mengenali 100 % data
(44)
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.
4 Pokhriyal et.al, 2010
Fingerprint
Authentication using 2-D Wavelets
Pada penelitian ini menggunakan wavelet dan
pseudo Zernike Moments.
Wavelet digunakan untuk
mengurangi noise dan mengekstraksi ridge. Sedangkan pseudo Zernike
moments digunakan untuk
mengekstraksi fitur yang membawa informasi deskriptif mengenai citra sidik jari dan sebagai pencocokannya digunakan Euclidean distance 5 Barua et.al, 2011 Fingerprint
Identification
Penelitian ini menerapkan sistem identifikasi sidik jari online menggunakan minutiae based dengan melakukan beberapa tahapan yaitu deteksi tepi, thinning, ekstraksi fitur dan klasifikasi. Tahap praproses
(45)
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 ( )
digunakan pada penelitian ini untuk mengamati pengaruhnya pada pengenalan wajah berbasis eigenfaces. Pengaruh tersebut dapat diukur melalui perbandingan kinerja dari kedua jenis jaringan saraf propagasi balik tersebut. Kinerja jaringan yang digunakan sebagai acuan adalah kecepatan konvergensi jaringan, kemampuan memorisasi dan kemampuan generalisasi jaringan. Melalui pengukuran terhadap kinerja tersebut, maka penelitian ini menilai bahwa faktor proporsional akan memperburuk kinerja jaringan saraf bila digunakan pada interval [0.1 , 0.9] dan [0.01 , 0.09] sedangkan pada interval [0.001 , 0.009]
(46)
akan memberikan kinerja yang baik.
(47)
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
Data sampel citra sidik jari yang digunakan dalam penelitian ini diperoleh dari sebuah situs internet http://www.bias.csr.unibo.it/fvc2000/databases.asp. Jumlah seluruh data adalah 80 sidik jari, yang berasal dari 10 individu yang masing-masing diambil sebanyak 8 kali dengan posisi yang sama. Tidak semua data digunakan dalam penelitian ini, penulis hanya mengambil 60 citra sidik jari berasal dari 10 individu yang masing-masing diambil sebanyak 6 kali. Tiap citra berdimensi 300x300 piksel dengan format .tif, skala keabuan 8 bit (grayscale) dan diambil dengan fingerprint scanner resolusi 500dpi. Penulis menetapkan ukuran citra menjadi 180 x 180 dengan format bitmap. Ukuran citra yang digunakan seragam. Penelitian ini menggunakan data dalam bentuk pola-pola diskrit dari citra sidik jari, sehingga setiap citra sidik jari harus diubah representasinya dari keadaan kontinu ke dalam bentuk pola-pola diskrit melalui informasi graylevel dan proses ekstraksi fitur. Data tersebut kemudian dibagi menjadi 2 bagian, yaitu data pelatihan (training), dan data pengujian (testing). Sebanyak 40 buah sebagai data pelatihan dan 20 buah sebagai data pengujian.
(48)
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
(49)
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
(50)
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 * * * *
(51)
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.
Matriks biner dari citra ini dibentuk berdasarkan nilai hitam putih pada citra yang telah didapatkan (persamaan (2.2)), jika pixel citra pada koordinat (x,y) berwarna hitam maka nilai matriks biner pada baris i dan kolom j adalah 1, sebaliknya 0 (persamaan (2.3)). Matriks biner ini selanjutnya akan digunakan untuk pengolahan selanjutnya.
(52)
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
(53)
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 0 0 0 0
(54)
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
(55)
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
0.25 -0.25 0.25 -0.25 -0.25 0.25 -0.25 0.25 0.25 0.25 0 0 -0.25 0.25 0 0
(56)
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.25 -0.25 0.25 -0.25 -0.25 0.25 -0.25 0.25 0.25 0.25 0 0 -0.25 0.25 0 0
(57)
� = �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 )
1 -1 1 -1 -1 1 -1 1 1 1 0 0 -1 1 0 0
(58)
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.
Data masukan pada penelitian ini sesuai dengan dimensi citra 11 x 11 piksel yang menghasilkan nilai fitur dari hasil ekstraksi fitur sebesar 121, maka jumlah neuron pada lapisan masukan sebanyak 121.
(59)
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
Dengan demikian, pada penelitian ini menggunakan jumlah neuron pada lapisan tersembunyi sebanyak 25 neuron. Berikut akan dijelaskan mengenai arsitektur jaringan saraf tiruan propagasi balik yang akan digunakan
(60)
x1 x2 x3 x121 z1 z2 z3 z25 y1 y2 y3 y5
b1 v0,1 b2
v0,2 v03 V0,21 w0,1 w0,2 w0,3 w0,5 v1,1 v1,2 v1,3 v1,21 v2,1 v2,2 v2,3 v2,21 v3,1 v3,2 v3,3 v3,21 v125,2 V121,25 w1,1 w1,2 w1,3 w1,5 w2,1 w2,2 w2,3 w2,5 w3,1 w3,2 w3,3 w3,5 w25,1 w25,2 w25,3 w25,5 V125,1 v125,3
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
Hidden layer Output layer
(61)
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.
Pelatihan jaringan propagasi balik melibatkan tiga fase. Fase pertama adalah fase maju (forward) yang dipakai untuk mencari nilai lapisan tersembunyi dan nilai lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur (backward). Jika hasil keluaran (output jaringan) tidak sesuai dengan target, maka dilakukan propagasi balik untuk mencari nilai error yang ada di lapisan keluaran dan lapisan tersembunyi. Fase ketiga adalah memperbaharui nilai bobot yang ada di lapisan tersembunyi dan lapisan masukan untuk menurunkan error yang terjadi. Setelah itu dilakukan lagi tahap maju dan propagasi balik jika nilai keluaran tidak sesuai dengan nilai target. Proses ini dilakukan secara berulang sampai jaringan mencapai batasan error yang ditentukan atau sampai pada maksimum iterasi (epoch). Flowchart proses pelatihan akan ditampilkan pada gambar 3.17 :
(62)
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
(63)
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 (
) dilakukan berdasarkan algoritma berikut ini:(64)
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
n
i=0 )
(3.9)
Langkah 4c: Hitung nilai output lapisan tersembunyi (zpj)
zpj = 1 1 + e−zj
(3.10)
Langkah 4d: Hitung nilai input dari setiap neuron pada lapisan keluaran (yk)
yk = wk0+ zjwkj n
i=0
(3.11)
Langkah 4e: Hitung nilai output aktual dari setiap neuron pada lapisan keluaran
oyk = 1 1 + e−yk oyk = f (net yk)
(3.12)
Propagasi Mundur(backward)
Langkah 4f: Hitung Kesalahan dari setiap neuron pada lapisan keluaran
( )
= ( − )
(1-)
(3.13)
Langkah 4g: Hitung kesalahan dari setiap neuron j pada lapisan
Tersembunyi
= (1- ) =0 (3.14)
Langkah 4g: Hitung
= =1( - ) (3.15)
Langkah 4h: Hitung perubahan bobot-bobot lapisan tersembunyi
∆ ( ) = ∝ xi +β∆wzj(p−1)+
ek (3.16)(1)
111
LAMPIRAN B. SAMPEL SIDIK JARI
Data Pelatihan Pemilik 1 Pemilik 2 Pemilik 3 Pemilik 4 Pemilik 5
(2)
Pemilik 6
Pemilik 7
Pemilik 8
Pemilik 9
(3)
113
Data Pengujian
Pemilik 1
Pemilik 2
Pemilik 3
Pemilik 4
(4)
Pemilik 6
Pemilik 7
Pemilik 8
Pemilik 9
(5)
115
(6)