UNIVERSITAS BINA NUSANTARA ——————————————————————————————————— Pernyataan Kesiapan Skripsi Untuk Ujian Pendadaran Penyataan Penyusunan Skripsi Kami,
Darwin Wibisono David Hariyanto Kusdyanto
dengan ini menyatakan bahwa Skripsi yang berjudul :
ANALISIS DAN PERANCANGAN PENGENALAN SIDIK JARI DENGAN METODE BIDIRECTIONAL ASSOCIATIVE MEMORY Adalah benar hasil karya kami dan belum pernah diajukan sebagai karya ilmiah, sebagian atau seluruhnya, atas nama kami atau pihak lain
Darwin Wibisono 0400514374
David Hariyanto 0400514481
Kusdyanto 0400513081
Disetujui oleh Pembimbing Saya setuju Skripsi tersebut diajukan untuk Ujian Pendadaran
Suryadiputra Liawatimena, PgDip.App.Sci. Pembimbing iii
Jakarta, 28 Juni 2004
UNIVERSITAS BINA NUSANTARA ——————————————————————————————————— Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2004/2005 ANALISIS DAN PERANCANGAN PENGENALAN SIDIK JARI DENGAN METODE BIDIRECTIONAL ASSOCIATIVE MEMORY Darwin Wibisono David Hariyanto Kusdyanto
0400514374 0400514481 0400513081
Abstrak Komputer memiliki kelebihan dalam hal kecepatan proses perhitungan. Namun, sebuah komputer tidak dapat bernalar dan hanya dapat memproses tugas dengan data – data yang tersedia secara lengkap. Oleh karena itu, sebuah komputer tidak dapat dengan mudah mengenali suatu bentuk citra sidik jari manusia. Keterbatasan ini dapat diatasi dengan menerapkan konsep Bidirectional Associative Memory neural network. Jaringan saraf tiruan (neural network) merupakan jaringan prosesor – prosesor sederhana, di mana masing – masing prosesor memiliki memori lokal dan saling terhubung satu sama lain dengan saluran komunikasi. Prinsip neural network ini meniru cara kerja sistem saraf otak manusia. Sedangkan metode Bidirectional Associative Memory adalah salah satu bagian dari arsitektur neural network yang dapat mengenali pola baik dengan data – data yang tidak lengkap atau dengan noise. Proses kerja pada penelitian ini adalah sebelum memasuki jaringan saraf tiruan, data mentah yang berupa citra diproses dulu dengan dikonversi menjadi citra biner. Tahap selanjutnya adalah pembacaan citra, dan ekstraksi fitur. Dan tahap terakhirnya adalah sebuah data yang siap untuk dijadikan inputan bagi jaringan saraf tiruan. Akhir dari proses ini akan menghasilkan matriks weight yang nantinya dijadikan sebagai tolak ukur untuk pengujian pengenalan citra sidik jari. Identifikasi paling baik dihasilkan pada percobaan dengan menggunakan panjang inputan 600 yaitu 84,63 %. Kesimpulan yang diperoleh dari penelitian ini adalah Semakin banyak data yang dijadikan data pelatihan pada BAM maka jaringan saraf tiruan semakin bisa mempelajari input tersebut. Selain itu dengan memperbesar matriks bobot (Weight) dengan cara menambah data pelatihan yang disimpan dalam matrik weight, BAM dapat menaikkan kemampuan dalam pengenalan pola yang diuji Kata kunci : Bidirectional Associative Memory, Neural Network, sidik jari
iv
PRAKATA
Segala puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa atas karunia dan rahmat-Nya sehingga kami dapat menyelesaikan penyusunan skripsi ini dengan baik Pada kesempatan ini penulis mengucapkan banyak terima kasih atas semua bantuan yang telah kami terima berupa dukungan, saran, petunjuk, bimbingan, dan kesempatan yang diberikan selama penulisan skripsi ini dari awal sampai akhir. Tidak lupa kami juga mengucapkan terima kasih khususnya kepada : 1. Ibu Dr. Th. Widia S.,Ir.,M.M., selaku Rektor Universitas Bina Nusantara 2. Bapak Sablin Yusuf, Ir., M.Sc., M.Comp.Sc., selaku Ketua Jurusan Teknik Informatika. 3. Bapak Freddy Purnomo, S. Kom., M. Com., selaku Sekretaris Jurusan Teknik Informatika 4. Bapak Suryadiputra Liawatimena, PgDip.App.Sci., selaku dosen pembimbing skripsi yang telah banyak memberikan motivasi, pengarahan dan masukan yang membantu kami dalam menyelesaikan penulisan skripsi ini. 5. Bapak Haryono Soeparno, Ir., M.Sc., Dr., yang telah banyak memberi banyak masukan dan pengarahan tentang Bidirectional Associative Memory neural network. 6. Ibu Anny Tandyo, S.Kom., M.Sc., yang telah memberi kami banyak saran dan masukan dalam penulisan skripsi ini. 7. Bapak Wiedjaja, S.Kom., yang telah memberi banyak saran dan masukan dalam proses pengenalan sidik jari..
v
8. Januar Wahjudi, S.Kom., M.Sc., selaku kepala Lab Piranti Lunak yang telah memberi masukan pada awal penulisan skripsi ini. 9. Bapak Robby Saleh, S.Kom., yang telah memberi masukan tentang pembuatan program sehingga skripsi ini dapat diselesaikan dengan baik. 10. Para Dosen Universitas Bina Nusantara, yang telah memberikan bekal ilmu dan mendidik penulis selama belajar di Universitas Bina Nusantara. 11. Orang tua dan seluruh anggota keluarga penulis yang tercinta, yang telah memberikan dukungan baik secara moteril maupun moril dalam penulisan skripsi ini dan Selama penulis menempuh perkuliahan di Universitas Bina Nusantara ini. 12. Saudari Rina Puspita dan Andrianto Wijaya, yang telah memberi banyak masukan dalam penyusunan skripsi ini. 13. Saudari Jenny Lesmana dan teman skripsinya, yang banyak membantu kami dalam memahami pemakaian konsep umum neural network. 14. Saudara Agus selaku asisten Lab Hardware yang telah membantu memberi banyak masukan tentang penggunaan program Matlab. 15. Segenap staff ATL yang telah banyak membantu kami dalam memakai peralatan yang diperlukan untuk skripsi ini. 16. Teman – teman yang telah bersedia membantu dalam pengumpulan data yaitu yang telah bersedia untuk diminta sidik ibu jari tangan kanannya. 17. Teman – teman yang telah memberikan dukungan moril dan doa dalam penulisan skripsi ini. 18. Semua pihak yang tidak dapat kami sebutkan satu demi satu yang telah memberikan dorongan moril, materil dan sumbangan saran.
vi
Penulis menyadari bahwa mungkin masih banyak kekurangan yang dijumpai pada penulisan skripsi ini dan untuk itu penulis sangat mengharapkan sekali masukan baik berupa saran, komentar, maupun kritik dari pembaca yang akan membantu untuk menyempurnakan skripsi ini. Penulis sangat berharap agar skripsi ini dapat memberikan manfaat yang berguna bagi pembaca sekalian, terutama dapat menjadi bahan yang dapat menambah perbendaharaan wacana bagi pendidikan di Universitas Bina Nusantara
Jakarta, 21 Juni 2004
Penulis
vii
DAFTAR ISI
Halaman Judul Luar Halaman Judul Dalam Halaman Persetujuan Hardcover
iii
Abstrak
iv
Prakata
v
Daftar Isi
viii
Daftar Tabel
xii
Daftar Gambar
xiii
Daftar Persamaan
xvi
BAB 1 PENDAHULUAN 1.1
Latar Belakang
1
1.2
Ruang Lingkup
3
1.3
Tujuan dan Manfaat
3
1.4
Metodologi Penelitian
4
1.5
Sistematika Penulisan.
5
BAB 2 LANDASAN TEORI 2.1
Sidik Jari Manusia
7
2.2
Klasifikasi Sidik Jari (Fingerprint Classification)
8
2.3
Pattern Recognition (Pengenalan Pola)
9
2.4
Artificial Neural Network (Jaringan Saraf Tiruan)
11
2.4.1 Jaringan Saraf Manusia
12
2.4.2
13
Perkembangan Artificial Neural Network (ANN) viii
2.5
2.6
2.7
2.4.3 Aspek-aspek dari ANN
14
Format File Grafik
21
2.5.1
File PCX
22
Pemrosesan Citra Dijital
23
2.6.1
Citra Dijital
23
2.6.2
Citra Bitmap
23
2.6.3
Konversi Citra Abu-abu Menjadi Citra Biner (Thresholding)
24
Ekstraksi Fitur
25
2.7.1
Eigenvector dan Eigenvalue
25
2.7.1.1 Eigenvector
25
2.7.1.2 Eigenvalue
27
2.8
Principal Component Analysis (PCA)
28
2.9
Associative Memory
29
2.10
Hamming Distance
2.11
2.12
2.10.1 Effective Haming Distance
33
Bidirectional Associative Memory
34
2.11.1
BAM Connections Matrices
35
2.11.2
Stabilitas BAM
40
2.10.3
Kapasitas Memori
42
Orthogonality
42
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1
Gambaran Umum
44
3.2
Pemrosesan Citra
47
3.2.1
Konversi Citra Abu–Abu Menjadi Citra Biner (Thresholding) 47 ix
3.2.2
3.3
Konversi ke File PCX
49
3.2.3 Perancangan Layar
50
Ekstraksi Fitur
52
3.3.1
Pembacaan Citra
52
3.3.2
Mencari Principal Component Analysis
54
3.4
Validasi Data Masukan
58
3.5
Inisialisasi Keluaran Sebagai Identitas Pemilik
59
3.6
Perhitungan Matriks Bobot (Weight)
59
3.7
Prosedur Pemanggilan Data (Recall)
60
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1
Spesifikasi Minimum Sistem
62
4.1.1
Spesifikasi Perangkat Keras
62
4.1.2
Spesifikasi Piranti Lunak
62
4.2
Prosedur Operasional
62
4.3
Analisis Pemrosesan Citra Dijital
65
4.3.1
Analisis Konversi Citra Abu – Abu Menjadi Citra Biner (Thresholding)
65
4.4
Analisis Program Pemrosesan Citra
68
4.5
Analisis Program Pengenalan Citra
76
4.6
Analisis Hasil Percobaan
83
4.6.1
Data Input Dengan Panjang 120
83
4.6.2
Data Input Dengan Panjang 240
95
4.6.3
Data Input Dengan Panjang 360
105
4.6.4
Data Input Dengan Panjang 480
121
x
4.4.5
Data Input Dengan Panjang 600
4.4.6
Analisa Pengaruh Jumlah Data Terhadap Tingkat Pengenalan
143
166
BAB 5 KESIMPULAN DAN SARAN 5.1
Kesimpulan
169
5.2
Saran
171
DAFTAR PUSTAKA
172
RIWAYAT HIDUP
175
LAMPIRAN
xi
DAFTAR TABEL
Tabel 4.1
Data Input 120, Pair Orthogonal
84
Tabel 4.2
Persentase Dikenali Perorangan Dengan Data Input 120
88
Tabel 4.3
Data Input 120, Pair Orthogonal, Tanpa Thresholding
90
Tabel 4.4
Persentase Dikenali Perorangan Dengan Data Input 120, Tanpa Thresholding
94
Tabel 4.5
Data Input 240, Pair Orthogonal
96
Tabel 4.6
Persentase Dikenali Perorangan Dengan Data Input 240
104
Tabel 4.7
Data Input 360, Pair Orthogonal
106
Tabel 4.8
Persentase Dikenali Perorangan Dengan Data Input 360
120
Tabel 4.9
Data Input 480, Pair Orthogonal
122
Tabel 4.10
Persentase Dikenali Perorangan Dengan Data Input 480
142
Tabel 4.11
Data Input 600, Pair Orthogonal
144
Tabel 4.12
Persentase Dikenali Perorangan Dengan Data Input 600
164
Tabel 4.13
Pengaruh Jumlah Data Pengujian Terhadap Persentase Tingkat Pengenalan
xii
166
DAFTAR GAMBAR
Gambar 2.1
Pola Alur Garis Sidik Jari
9
Gambar 2.2
Tahapan Dalam Pengenalan Pola
10
Gambar 2.3
Sistem Saraf Otak Manusia
13
Gambar 2.4
Contoh Neuron
16
Gambar 2.5
Model Umum Unit Pemroses
17
Gambar 2.6
Fungsi Keluaran / Aktivasi
18
Gambar 2.7
Feedforward dan Feedback Network
19
Gambar 2.8
Blok Diagram Associative Memory
30
Gambar 2.9
Address-Addressable Memory
31
Gambar 2.10 Content-addressable Memory
31
Gambar 2.11 Model Dasar BAM
35
Gambar 2.12 Contoh Pattern Pair untuk BAM
37
Gambar 3.1
Diagram Proses Secara Umum
44
Gambar 3.2
Contoh Citra Sidik Jari
46
Gambar 3.3
Urutan Pemrosesan Citra
49
Gambar 3.4
Perancangan Layar Pemrosesan Citra
50
Gambar 4.1
Contoh Pola Pengambilan Sidik Jari
63
Gambar 4.2
Konversi Citra Sidik Jari “eka17” Menjadi Citra Biner Dengan Nilai Threshold 150
Gambar 4.3
66
Konversi Citra Sidik Jari “singh1” Menjadi Citra Biner Dengan Nilai Threshold 150
66
xiii
Gambar 4.4
Konversi Citra Sidik Jari “eka17” Menjadi Citra Biner Dengan Mean Value Thresholding
Gambar 4.5
67
Konversi Citra Sidik Jari “singh1” Menjadi Citra Biner Dengan Mean Value Threshold
68
Gambar 4.6
Tampilan Program Pemrosesan Citra
69
Gambar 4.7
Tampilan Program Pemrosesan Citra Langkah 1 : Memilih Input Sidik Jari di Daftar Input
Gambar 4.8
70
Tampilan Program Pemrosesan Citra Langkah 2a : Memilih Jenis Threshold Manual Dengan Threshold Value 90
Gambar 4.9
71
Tampilan Program Pemrosesan Citra Langkah 2b : Memilih Jenis Adaptive Threshold
72
Gambar 4.10 Tampilan Sub Menu Help Topic Program Pemrosesan Citra
73
Gambar 4.11 Tampilan Sub Menu About Program Pemrosesan Citra
74
Gambar 4.12 Tampilan Program Pemrosesan Citra Langkah 3 : Menyimpan Citra Sidik Jari yang Telah Di Threshold
75
Gambar 4.13 Tampilan Program Pengenalan Citra Langkah 1a : Memasukkan Citra Sidik Jari
76
Gambar 4.14 Tampilan Program Pengenalan Citra Langkah 1b : Perulangan Untuk Memasukkan Citra Sidik Jari
77
Gambar 4.15 Tampilan Program Pengenalan Citra Langkah 2 : Menghitung Principal Component Analysis
78
Gambar 4.16 Tampilan Program Pengenalan Citra Langkah 3 : Melakukan Validasi PCA Menjadi Nilai Bipolar xiv
79
Gambar 4.17 Tampilan Program Pengenalan Citra Langkah 4 : Membentuk Matriks Weight
80
Gambar 4.18 Tampilan Program Pengenalan Citra Langkah 5a : Melakukan Pengenalan Terhadap Data Uji
81
Gambar 4.19 Tampilan Program Pengenalan Citra Langkah 5b : Hasil Pengenalan Terhadap Data Uji
82
Gambar 4.20 Grafik Pengaruh Jumlah Data Pengujian Terhadap Persentase Tingkat Pengenalan
xv
167
DAFTAR PERSAMAAN
Persamaan 2.1
15
Persamaan 2.2
20
Persamaan 2.3
26
Persamaan 2.4
28
Persamaan 2.5
28
Persamaan 2.6
29
Persamaan 2.7
29
Persamaan 2.8
32
Persamaan 2.9
36
Persamaan 2.10
36
Persamaan 2.11a
36
Persamaan 2.11b
36
Persamaan 2.12
36
Persamaan 2.13
36
Persamaan 2.14a
39
Persamaan 2.14b
39
Persamaan 2.15a
40
Persamaan 2.15b
40
Persamaan 2.16
41
Persamaan 3.1
53
Persamaan 3.2
55
Persamaan 3.3
55 xvi
Persamaan 3.4
55
Persamaan 3.5
55
Persamaan 3.6
56
Persamaan 3.7
56
Persamaan 3.8
57
xvii