SISTEM PRESENSI SIDIK JARI MENGGUNAKAN METODE PROPAGASI BALIK
(S
tudi Kasus : Perkuliahan Praktikum Teknik Informatika Universitas Sanata Dharma)
SKRIPSI
Diajukan untuk memenuhi salah satu syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Mukti Sulaksono 065314094
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2011
ii
FINGERPRINT ATTENDANCE SYSTEM USING BACKPROPAGATION
(Case Study: Practical Course
Informatics Engineering Sanata Dharma University)
A THESIS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree
In Informatics Engineering
Created by : Mukti Sulaksono
065314094
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2011
iii
iv
v
HALAMAN PERSEMBAHAN
Kupersembahkan karya Kupersembahkan karya Kupersembahkan karya
Kupersembahkan karya tulis tulis tulis tulis ini untuk ini untuk ini untuk ini untuk
Allah SWT Allah SWT Allah SWT
Allah SWT yang yang yang telah memberikan Rahmat, Hidayah & yang telah memberikan Rahmat, Hidayah & telah memberikan Rahmat, Hidayah & telah memberikan Rahmat, Hidayah &
Kekuatan Kekuatan Kekuatan Kekuatan
... ...
... ...
Mama, Papa Mama, Papa Mama, Papa
Mama, Papa & Kakak & Kakak & Kakak----kakak ku & Kakak kakak ku kakak ku yang tiada henti kakak ku yang tiada henti yang tiada henti yang tiada henti mendoakanku
mendoakanku mendoakanku mendoakanku
...
...
...
...
Jesy Jesy
Jesy Jesy yang selalu mendukungku yang selalu mendukungku yang selalu mendukungku yang selalu mendukungku
vi
HALAMAN MOTTO
“ Allah mencintai orang yang cermat dalam meneliti soal-soal yang meragukan dan yang tidak
membiarkan akalnya dikuasai oleh nafsunya “
~ Nabi Muhammad SAW ~
“ Lihatlah mereka yang lebih tidak beruntung daripada dirimu sehingga kau tidak mungkin berpuas diri atas keberuntungan yang diberikkan
Allah kepadamu “
~ Nabi Muhammad SAW ~
vii
viii
ix
SISTEM PRESENSI SIDIK JARI MENGGUNAKAN METODE PROPAGASI BALIK
(Studi Kasus : Perkuliahan Praktikum Teknik Informatika Universitas Sanata Dharma)
Mukti Sulaksono ABSTRAK
Pada saat ini biometrik digunakan untuk sistem pengaman. Biometrik yang biasa digunakan adalah suara, geometri tangan, retina, wajah dan sidik jari. Pada tugas akhir ini menggunakan sistem biometrik sidik jari karena sidik jari sedang populer digunakan. Sidik jari dapat digunakan untuk presensi, juga dapat berfungsi seperti password untuk menjalankan suatu aplikasi. Tujuan tugas akhir ini adalah membuat sistem presensi mahasiswa menggunakan sidik jari dengan metode propagasi balik. Di samping penggunaan teknologi presensi menggunakan sidik jari, sistem ini juga mempelajari bagaimana mengenali suatu sidik jari menggunakan metode propagasi balik dengan cepat dan akurat. Sistem ini akan menghasilkan status presensi. Status presensi ini yang akan menentukan kehadiran mahasiswa. Setelah dilakukan ujicoba, sistem presensi ini mampu mengenali suatu sidik jari dengan tingkat keakuratan sebesar 60%. Sistem presensi ini menggunakan bahasa pemrograman Visual Basic 6.0, MySQL 5.0 sebagai database dan U.are.U 4000B Reader sebagai alat fingerprint.
x
FINGERPRINT ATTENDANCE SYSTEM USING BACKPROPAGATION
(Case Study: Practical Course
Informatics Engineering Sanata Dharma University) Mukti Sulaksono
ABSTRACT
At this time the biometric used for security system. Biometrics is commonly used with voice, hand geometry, retina, face and fingerprint. This thesis uses fingerprint biometrics system because fingerprint are popularly used.
Fingerprints can be used for Presence, it also have a function as a password to run an application. The purpose of this thesis is to make students’s Presence system using fingerprint with back propagation method. In addition using of the Presence with fingerprint technology, this system also learn how to recognize a fingerprint using back propagation method with quickly and accurately. This system will produce Presence status. The presence status which will determine the student's presence. After testing, the system is able to recognize a fingerprint with 60% accuracy rate. Presence of this system using the programming language Visual Basic 6.0, MySQL 5.0 as database and U.are.U4000B Reader as fingerprint device.
xi
KATA PENGANTAR
Puji syukur kehadirat Allah SWT atas berkah dan rahmat-Nya yang telah diberikan sehingga dapat menyelesaikan Tugas Akhir ini. Penulisan Tugas Akhir ini ditujukan untuk memenuhi salah satu syarat menyelesaikan program studi Strata-1 pada Fakultas Sains Dan Teknologi , Program Studi Teknik Informatika di Universitas Sanata Dharma, Yogyakarta.
Menyadari tanpa adanya bantuan serta dorongan dari berbagai pihak, sangatlah sulit untuk menyelesaikan Tugas Akhir ini. Oleh karena itu pada kesempatan ini, dari lubuk hati yang paling dalam hendak menyampaikan terima kasih kepada semua pihak yang turut membimbing dan membantu, baik moril maupun materil dalam penulisan Tugas Akhir ini. Ucapan terima kasih sebesar-besarnya kepada :
1. Allah SWT dan Rasululloh SAW.
2. Bapak Yosef Agung Cahyanta,.S.T,M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
3. Ibu Ridowati Gunawan, S. Kom., M.T., sebagai dosen pembimbing sekaligus Ketua Program Studi Teknik Informatika, Universitas Sanata Dharma, Yogyakarta yang telah banyak membantu dalam memberikan arahan serta bimbingannya dalam penulisan Tugas Akhir ini.
4. Dosen, karyawan dan karyawati Universitas Sanata Dharma yang telah banyak membantu selama perkuliahan.
xii
5. Dosen Penguji selaku penguji yang telah memberikan saran dan kritik yang membangun bagi penulis.
6. Kedua orang tuaku tercinta, kakakku dan kemenakanku yang tidak pernah berhenti memberikan doa dan restunya serta selalu memberikan dukungan moril serta materi sehingga penulisan skripsi ini dapat diselesaikan.
7. Jessica Karina yang selalu ada menemaniku dan memberiku banyak semangat serta dukungan. Terima kasih untuk selalu setia mendukungku dalam segala situasi. Atas dukunganmu aku dapat menyelesaikan penulisan skripsi ini.
8. Barst Mendas yang telah mengajarkan dasar tentang bahasa pemrograman Visual Basic.
9. Teman-teman Teknik Informatika angkatan 2006, senang berada diantara kalian saat aku berada di kampus. Senang mengenal kalian.
10. Semua pihak yang tidak dapat penulis sebutkan satu persatu. Terima kasih untuk dukungan, doa, dan kerjasamanya selama ini.
Penulisan tugas akhir ini masih sederhana dan masih perlu pengembangan yang lebih lanjut lagi. Untuk itu semua saran dan kritik penyempurnaan materi penulisan ini dapat disampaikan.
Semoga skripsi ini dapat berguna dan memberikan manfaat bagi yang membaca pada umunya dan kepada mahasiswa Universitas Sanata Dharma
xiii
pada khususnya. Akhir kata semoga rahmat dan karunia Allah tercurah kepada semua pihak yang membantu baik langsung ataupun tidak langsung. Amin.
Yogyakarta, Desember 2011
Penulis
xiv
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN JUDUL (INGGRIS) ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
HALAMAN MOTTO ... vi
PERNYATAAN KEASLIAN KARYA ... vii
PERNYATAAN PERSETUJUAN ... viii
ABSTRAK ... ix
ABSTRACT ... x
KATA PENGANTAR ... xi
DAFTAR ISI ... xiv
DAFTAR GAMBAR ... xvii
DAFTAR TABEL ... xxi
BAB I.PENDAHULUAN ... 1
I.1. Latar Belakang ... 1
I.2. Rumusan Masalah ... 2
I.3. Tujuan Dan Manfaat Penelitian ... 2
I.4. Batasan Masalah ... 3
I.5. Metodologi Penelitian ... 3
I.6. Sistematika Penulisan ... 4
BAB II.LANDASAN TEORI ... 6
II.1. Sidik Jari ... 6
II.2. Jaringan Saraf Tiruan ... 7
II.3. Metode Propagasi Balik ... 10
II.4. Tresholding ... 12
II.5. Thinning ………13
II.6. Minutiae ………15
xv
BAB III.ANALISIS DAN PERANCANGAN SISTEM ... 17
III.1. Analisis Sistem ... 17
III.2. Perancangan Sistem ... 19
III.2.1. Use Case Diagram ... 19
III.2.2. Perancangan Arsitektur Jaringan ... 19
III.2.3. Pengambilan Sidik Jari ... 21
III.2.4. Thinning ... 21
III.2.5. Tresholding ... 24
III.2.6. Ekstraksi Minutiae ... 25
III.2.7. Jarak Minutiae ... 25
III.2.8. Perancangan Proses Training ... 26
III.2.9. Perancangan Proses Testing ... 29
III.2.10. Perancangan Database ... 31
III.2.11. Perancangan User Interface ... 34
III.2.11.1. Form Login ... 34
III.2.11.2. Form Main ... 36
III.2.11.3. Form Ganti Password ... 38
III.2.11.4. Form Daftar Atau Edit Mata Kuliah ... 39
III.2.11.5. Form Daftar Mahasiswa ... 41
III.2.11.6. Form Edit Mahasiswa ... 43
III.2.11.7. Form Training Sidik Jari ... 45
III.2.11.8. Form Rekap Mahasiswa ... 47
III.2.11.9. Form Cari Mahasiswa ... 48
III.2.11.10. Form Presensi Mahasiswa ... 49
BAB IV.IMPLEMENTASI SISTEM ... 50
IV.1. Flowchart dan Listing Program ... 50
IV.1.1. Flowchart Form Login ... 50
IV.1.2. Flowchart Form Main ... 53
IV.1.3. Flowchart Form Ganti Password ... 54
IV.1.4. Flowchart Form Daftar dan Edit Mata Kuliah ... 57
IV.1.5. Flowchart Form Daftar Mahasiswa ... 60
xvi
IV.1.6. Flowchart Form Edit Mahasiswa ... 67
IV.1.7. Flowchart Training Sidik Jari ... 69
IV.1.8. Flowchart Form Rekap Mahasiswa ... 75
IV.1.9. Flowchart Form Cari Mahasiswa ... 76
IV.1.10. Flowchart Form Presensi Mahasiswa ... 81
IV.2. Implementasi Hasil Program ... 87
IV.2.1. Tampilan Form Login ... 87
IV.2.2. Tampilan Form Main ... 89
IV.2.2.1. Menu File ... 90
IV.2.2.1.1. Menu Database ... 90
IV.2.2.1.2. Menu Ganti Password ... 91
IV.2.2.1.3. Menu Daftar dan Edit Mata Kuliah ... 93
IV.2.2.1.4. Menu Daftar Mahasiswa ... 96
IV.2.2.1.5. Menu Edit Mahasiswa ... 100
IV.2.2.1.6. Menu Training Sidik Jari ... 102
IV.2.2.1.7. Menu Rekap Mahasiswa ... 105
IV.2.2.1.8. Menu Exit ... 106
IV.2.2.2. Menu Search ... 106
IV.2.2.3. Menu Help ... 108
IV.2.3. Tampilan Form Presensi Mahasiswa ... 108
BAB V.ANALISA HASIL PROGRAM ... 111
BAB VI.PENUTUP ... 116
VI.1. Kesimpulan ... 116
VI.2. Saran... ... 116
DAFTAR PUSTAKA ... 118
xvii
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Jaringan Saraf dengan Lapisan Tunggal 8
2.2 Jaringan Saraf dengan Banyak Lapisan 9
2.3 Jaringan Saraf Kompetitif 9
2.4 Arsitektur Jaringan Propagasi Balik 11
2.5 Bentuk Ridge pada sidik jari 16
3.1 Use Case Diagram 19
3.2 Arsiktektur Jaringan Saraf Tiruan Metode Propagasi Balik 20
3.3 ER Diagram 31
3.4 Relasi Antar Tabel 34
3.5 Rancangan Form Login 35
3.6 Rancangan Form Main 38
3.7 Rancangan Form Ganti Password 39
3.8 Rancangan Form Daftar dan Edit Mata Kuliah 41
3.9 Rancangan Form Daftar Mahasiswa 43
3.10 Rancangan Form Edit Mahasiswa 45
3.11 Rancangan Form Traning Sidik Jari 46
3.12 Rancangan Form Rekap Mahasiswa 47
3.13 Rancangan Form Cari Mahasiswa 48
3.14 Rancangan Form Presensi Mahasiswa 49
xviii
4.1 Flowchart Form Login 51
4.2 Flowchart Form Main 54
4.3 Flowchart Form Ganti Password 55
4.4 Flowchart Form Daftar dan Edit Mata Kuliah 58
4.5 Flowchart Form Daftar Mahasiswa 61
4.6 Flowchart Form Edit Mahasiswa 67
4.7 Flowchart Form Training Sidik Jari 70
4.8 Flowchart Form Rekap Mahasiswa 75
4.9 Flowchart Form Cari Mahasiswa 77
4.10 Flowchart Form Presensi Mahasiswa 81
4.11 Tampilan form login 88
4.12 Tampilan pesan jika user name dan password benar 88 4.13 Tampilan pesan jika user name dan password salah 89
4.14 Tampilan form main 89
4.15 Tampilan backup database 90
4.16 Tampilan backup database berhasil 90
4.17 Tampilan restore database 91
4.18 Tampilan restore database berhasil 91
4.19 Tampilan form change password 92
4.20 Tampilan pesan jika salah mengisi Old Password 92
4.21
Tampilan pesan password baru dan konfirmasi password berbeda
93
xix
4.22 Tampilan pesan jika pengisian password benar 93
4.23 Tampilan sub tab daftar mata kuliah 94
4.24 Tampilan sub tab edit mata kuliah 95
4.25 Tampilan pesan daftar mata kuliah berhasil 95 4.26 Tampilan pesan kesalahan daftar mata kuliah 96
4.27 Tampilan form daftar mahasiswa 97
4.28 Tampilan pesan informasi NIM mahasiswa 98
4.29 Tampilan pesan konfirmasi NIM mahasiswa sudah ada 98 4.30 Tampilan user mendaftar sidik jari mahasiswa 99 4.31 Tampilan pesan jika pendaftaran mahasiswa berhasil 99
4.32 Tampilan form edit mahasiswa 100
4.33 Tampilan pesan informasi perubahan data diri mahasiswa 101 4.34 Tampilan pesan konfirmasi edit sidik jari 101
4.35 Tampilan form training sidik jari 102
4.36 Tampilan pesan informasi proses training 103 4.37 Tampilan bobot antara layer input dan hidden 104 4.38 Tampilan bobot antara layer hidden dan output 104
4.39 Tampilan laporan rekap mahasiswa 105
4.40 Tampilan pesan konfirmasi menu keluar 106
4.41 Tampilan menu cari mahasiswa 107
4.42 Tampilan pesan informasi pencarian tidak cocok 107
4.43 Tampilan menu petunjuk user 108
xx
4.44 Tampilan form presensi mahasiswa 109
4.45
Tampilan pesan informasi sidik jari tidak terdaftar atau tidak dikenali
109
4.46 Tampilan pesan presensi berhasil 110
4.47 Tampilan pesan presensi keterlambatan 110
5.1 Grafik hubungan laju pemahaman dengan waktu 113 5.2 Grafik hubungan laju pemahaman dengan jumlah epoh 113 5.3 Grafik hubungan batas toleransi dengan waktu iterasi 114
xxi
DAFTAR TABEL
Tabel Keterangan Halaman
3.1 Tabel Gambar Piksel 1 21
3.2 Tabel Gambar Piksel 2 23
3.3 Tabel Gambar Piksel 3 24
3.4 Tabel Mahasiswa 32
3.5 Tabel Kelas 32
3.6 Tabel Admin 33
3.7 Tabel Presensi 33
3.8 Tabel Bobot1 33
3.9 Tabel Bobot2 33
5.1 Hubungan laju pemahaman dengan waktu dan jumlah epoh 112 5.2 Hubungan batas toleransi dengan waktu iterasi 114
5.3 Hasil pencocokan 115
xxii
1
BAB I
PENDAHULUAN
1. Latar Belakang
Francis Galton (1822-1916) mengatakan bahwa tidak ada dua sidik jari yang sama, artinya setiap sidik jari yang dimiliki oleh seseorang adalah unik.
Dalam kasus orang kembar identik pun ditemukan sidik jari yang berbeda.
Kemajuan teknologi seiring dengan perkembangannya sangat menunjang segala aktivitas manusia. Di antaranya adalah teknologi presensi yang menggunakan sidik jari. Di dalam dunia pekerjaan, teknologi ini memberikan kemudahan dan keakuratan bagi bagian kepegawaian dalam menyelesaikan pekerjaan kantor terutama dalam hal menilai kehadiran pegawai dan pimpinan untuk mengadakan evaluasi kerja pegawai dan kontrol manajemen.
Identifikasi presensi pegawai yang digunakan di Universitas Sanata Dharma berdasarkan penelitian yang telah dilakukan oleh Fatimah Sina mahasiswa Teknik Informatika Angkatan 2004, sudah menggunakan teknologi presensi yang menggunakan sidik jari. Mesin presensi yang digunakan adalah U.are.U 4000B Reader. Mesin presensi ini terdapat keypad untuk memasukkan id pegawai beserta dengan scanner sidik jari. Namun pegawai menemukan kesulitan jika tidak ingat id pegawainya sendiri saat melakukan presensi. Pada sistem ini mesin presensi tidak dilengkapi dengan keypad yang biasa digunakan untuk memasukkan id pegawai. Kemungkinan terjadinya kesalahan pada saat melakukan presensi akan lebih besar. Hal itu disebabkan
karena pencarian data sidik jari pegawai berdasarkan pada id.
Banyak cara untuk dapat mengenali suatu sidik jari diantaranya menggunakan metode Propagasi Balik, Fuzzy, Garbor Filter, Minutiae dan lain-lain. Dalam pembuatan tugas akhir ini metode yang digunakan untuk mengenali sidik jari adalah metode propagasi balik. Metode propagasi balik salah satu algoritma yang sering digunakan dalam menyelesaikan masalah pengenalan pola yang kompleks mulai dari pola yang sangat sederhana seperti huruf atau angka hingga pola yang cukup rumit seperti sidik jari. Oleh karena itu, pembuatan tugas akhir ini diharapkan nantinya dapat mengetahui kekurangan dan kelebihan dari pengenalan suatu sidik jari menggunakan metode propagasi balik. Bahasa pemrograman yang digunakan adalah Visual Basic 6.0 dengan seperangkat komputer untuk menjalankan aplikasi serta mesin presensi yang digunakan untuk mengambil data sidik jari.
2. Rumusan Masalah
Permasalahan dalam pembuatan sistem ini adalah bagaimana mengenali suatu sidik jari untuk sebuah sistem presensi menggunakan metode propagasi balik.
3. Tujuan dan Manfaat Penelitian
Tujuan penulisan tugas akhir adalah membuat sebuah sistem presensi sidik jari untuk mahasiswa dengan metode propagasi balik tanpa harus memasukkan id . Serta untuk mengetahui tingkat keakuratan metode propagasi
balik untuk mengenali suatu sidik jari.
Manfaat dari penulisan tugas akhir ini adalah :
a. Presensi mahasiswa menjadi lebih efisien dan menghindari kecurangan dalam pemalsuan kehadiran mahasiswa.
b. Mengembangkan sistem presensi mahasiswa menjadi lebih efektif.
4. Batasan Masalah
Supaya pembuatan sistem ini tidak keluar dari inti dan tujuannya serta menjadi kompleks atau meluas, maka diberikan batasan-batasan pada beberapa hal sebagai berikut :
a. Sistem hanya akan mengecek sidik jari yang sudah ditentukan, yaitu : sidik jari ibu kanan, sidik jari ibu kiri.
b. Sistem men-default sidik jari yang didaftar pertama kali, yaitu : sidik ibu jari kanan sebagai sidik jari yang dipakai pada saat presensi.
c. Sistem yang dibuat hanya menangani presensi terhadap mahasiswa yang telah mendaftar terlebih dahulu.
d. Sistem tidak menangani kecurangan yang dilakukan terhadap perubahan waktu komputer.
5. Metodologi Penelitian
Metodologi yang digunakan dalam pembuatan tugas akhir ini adalah sebagai berikut :
a. Studi Pustaka
Pada tahap ini dilakukan mencari literatur serta mempelajari tentang pengenalan sidik jari, Visual Basic 6.0, MySQL 5.0, Crystal Report dan metode propagasi balik.
b. Analisis Perancangan Aplikasi
Di tahap ini yang dilakukan adalah menganalisa masalah dan perancangan untuk sistem presensi sidik jari.
c. Implementasi
Pada tahapan ini merupakan implementasi sesuai dengan rancangan dan analisis yang telah dibuat.
d. Pengujian
Pada tahap ini dilakukan uji coba program dan menganalisa hasil program yang meliputi tingkat keakuratan dan keberhasilan.
6. Sistematika Penulisan
Sistematika penulisan tugas akhir ini terdiri dari 6 bab dan akan dijelaskan sebagai berikut :
BAB I PENDAHULUAN
Di dalam bab ini dikemukakan latar belakang, rumusan masalah, tujuan sistem, batasan masalah, metode penelitian dan sistematika penulisan tugas akhir yang digunakan.
BAB II LANDASAN TEORI
Di dalam bab ini dikemukakan konsep-konsep yang dijadikan landasan teori.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Di dalam bab ini dikemukakan metode penelitian yang berisi langkah- langkah yang ditempuh untuk implementasi sistem.
BAB IV IMPLEMENTASI SISTEM
Di dalam bab ini dikemukakan tentang proses implementasi sesuai dengan rancangan sistem sistem yang dibuat.
BAB V ANALISA HASIL PROGRAM
Di dalam bab ini berisi analisa dari hasil percobaan yang telah dilakukan.
BAB VI PENUTUP
Di dalam bab ini dikemukakan kesimpulan mengenai apa saja yang telah dihasilkan dan beberapa saran yang dapat disampaikan mengenai sesuatu yang belum terdapat dalam pembuatan tugas akhir ini.
6
BAB II
LANDASAN TEORI
II.1. Sidik Jari
Biometrik merupakan teknik authentikasi yang mengambil karakteristik fisik seseorang. Ada beberapa teknik yang sering digunakan dalam authentikasi biometrik, beberapa diantaranya adalah pengenalan sidik jari.
Menurut Nugroho (2008) sidik jari adalah gurat-gurat yang terdapat di kulit ujung jari. Sidik jari berfungsi untuk memberi gaya gesek lebih besar agar jaridapat memegang benda-benda lebih erat.
Parameter manusia yang dikenal dengan biometrik itu punya keunggulan sifat tidak bisa dihilangkan, dilupakan atau dipindahkan dari satu orang ke orang lain. Juga sulit ditiru atau dipalsukan.
Aplikasi teknologi biometrik bisa dicontohkan seperti ketika kita memberikan tanda masuk ke kantor atau akses ke komputer menggunakan pemindai sidik jari.
Dari uraian diatas dapat disimpulkan bahwa sidik jari merupakan suatu parameter yang dikenal dengan nama biometrik yang dimiliki manusia sebagai tanda pengenal diri yang bisa digunakan sebagai alat kunci.
Sidik jari telah terbukti sangat akurat, aman, mudah, dan nyaman untuk digunakan sebagai identifikasi jika dibandingkan dengan sistem biometrik lainnya seperti retina mata atau DNA. Adapun sifat yang dimiliki oleh sidik jari :
a. Perennial nature, yaitu guratan-guratan pada sidik jari yang melekat pada kulit manusia seumur hidup.
b. Immutability, yaitu sidik jari seseorang tidak pernah berubah, kecuali mendapatkan kecelakaan yang serius.
c. Individuality, pola sidik jari adalah unik dan berbeda untuk setiap orang.
II.2. Jaringan Saraf Tiruan
Jaringan saraf tiruan (artificial neural network), atau disingkat dengan JST, adalah suatu sistem pengolahan informasi yang cara kerjanya menirukan cara kerja jaringan saraf manusia. Dalam jaringan saraf manusia tersusun dari sel-sel saraf (neuron) yang saling terhubung dan beroperasi secara paralel. Hal tersebut merupakan cara kerja yang sama dalam elemen-elemen pemrosesan JST.
Adapun kelebihan dari jaringan saraf tiruan yaitu : a. Kemampuan melakukan proses pembelajaran b. Kemampuan beradaptasi
c. Implementasi komponen peralatan dalam bentuk paralel secara besar- besaran.
Menurut Hermawan (2006) JST dibagi ke dalam 3 macam arsitektur, yaitu :
a. Jaringan saraf dengan lapisan tunggal
Jaringan ini memiliki satu lapisan dengan bobot-bobot terhubung yang menerima input kemudian akan secara langsung mengolahnya
menjadi output
Gambar 2.1 Jaringan saraf dengan lapisan tunggal
b. Jaringan saraf dengan banyak lapisan
Jaringan ini memiliki satu atau lebih lapisan yang terletak diantara lapisan input
output tanpa harus melalui lapisan tersembunyi
Gambar 2.1 Jaringan saraf dengan lapisan tunggal
Jaringan saraf dengan banyak lapisan
Jaringan ini memiliki satu atau lebih lapisan yang terletak diantara input dan lapisan output.
Gambar 2.1 Jaringan saraf dengan lapisan tunggal
Jaringan ini memiliki satu atau lebih lapisan yang terletak diantara
c. Jaringan saraf dengan lapisan kompetitif Hubungan antar
pada diagram arsitektur.
JST mampu menyelesaikan persoalan yang tidak terstruktur dan sulit terdefinisikan, dalam hal ini adalah pola, mulai dari pola yang sangat
Gambar 2.2 Jaringan saraf dengan banyak lapisan
Jaringan saraf dengan lapisan kompetitif
Hubungan antar neuron pada lapisan kompetitif tidak diperlihatkan pada diagram arsitektur.
Gambar 2.3 Jaringan saraf dengan kompetitif
JST mampu menyelesaikan persoalan yang tidak terstruktur dan sulit terdefinisikan, dalam hal ini adalah pola, mulai dari pola yang sangat
Gambar 2.2 Jaringan saraf dengan banyak lapisan
pada lapisan kompetitif tidak diperlihatkan
gan kompetitif
JST mampu menyelesaikan persoalan yang tidak terstruktur dan sulit terdefinisikan, dalam hal ini adalah pola, mulai dari pola yang sangat
sederhana seperti huruf atau angka hingga pola yang cukup rumit seperti sidik jari. Meskipun sidik jari tersebut bergerak atau piksel dari sidik jari berubah JST masih dapat mengenali pola. Hal itu dikarenakan sidik jari memiliki noise yang tidak menentu.
II.3. Metode Propagasi Balik
Metode ini merupakan metode yang sering digunakan untuk memecahkan masalah yang kompleks. Cara kerja dari metode ini adalah menurunkan gradien error unit-unit tersembunyi dari penyiaran kembali error-error yang diasosiasikan dengan unit-unit output.
Jaringan propagasi balik terdiri atas banyak lapisan (multilayer neural networks) yaitu :
1.Lapisan input
Lapisan input terdiri dari neuron-neuron atau unit-unit input, mulai dari unit input 1 sampai unit input n.
2. Lapisan tersembunyi
Lapisan tersembunyi terdiri dari unit-unit tersembunyi mulai dari unit tersembunyi 1 sampai unit tersembunyi p.
3. Lapisan output
Lapisan output terdiri dari unit-unit output mulai dari unit output 1 sampai unit output m, n, p m masing-masing adalah bilangan integer.
Berikut merupakan topologi dari jaringan propagasi balik menurut Arief Jaringan Saraf Tiruan Teori dan Aplikasi (Hermawan, 2006)
Gambar 2.4 Arsitektur Jaringan
Keterangan :
a. yk (k = 1,2,….m) lapisan
b. zj (j = 1,2,...p) lapisan tersembunyi c. x i (i = 1,2,...n) lapisan
d. vj, i nilai bobot dari unit i ke unit j e. wk, j nilai bobot dari unit j ke unit k
secara konsep, cara kerja dari jaringan propagasi balik adalah penginisialisasian bobot awal yang dipilih secara acak, kemudian masuk ke tahap perambatan maju. Setelah tahap perambatan maju selesai dikerjakan maka jaringan akan melakukan tahap pemropagasib
perubahan dari bobot
sebagai propagasi balik, dapat dideskripsikan sebagai berikut:
diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapisan tersembunyi untuk diteruskan ke unit
Gambar 2.4 Arsitektur Jaringan Propagasi Balik
(k = 1,2,….m) lapisan output (j = 1,2,...p) lapisan tersembunyi (i = 1,2,...n) lapisan input
nilai bobot dari unit i ke unit j nilai bobot dari unit j ke unit k
secara konsep, cara kerja dari jaringan propagasi balik adalah penginisialisasian bobot awal yang dipilih secara acak, kemudian masuk ke tahap perambatan maju. Setelah tahap perambatan maju selesai dikerjakan maka jaringan akan melakukan tahap pemropagasibalikan error
perubahan dari bobot-bobot. Secara garis besar, mengapa algoritma ini disebut sebagai propagasi balik, dapat dideskripsikan sebagai berikut:
diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit pada lapisan tersembunyi untuk diteruskan ke unit
Propagasi Balik
secara konsep, cara kerja dari jaringan propagasi balik adalah penginisialisasian bobot awal yang dipilih secara acak, kemudian masuk ke tahap perambatan maju. Setelah tahap perambatan maju selesai dikerjakan error yang berisi Secara garis besar, mengapa algoritma ini disebut sebagai propagasi balik, dapat dideskripsikan sebagai berikut: ketika jaringan diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan
keluaran. Kemudian unit-unit lapisan keluaran memberikan tanggapan yang disebut sebagai keluaran jaringan. Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka keluaran akan menyebar mundur (backward) pada lapisan tersembunyi diteruskan ke unit pada lapisan masukan. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation atau propagasi balik.
Tahap training ini merupakan langkah bagaimana suatu jaringan saraf itu berlatih, yaitu dengan cara melakukan perubahan penimbang (sambungan antar lapisan yang membentuk jaringan melalui masing-masing unitnya).
Sedangkan pemecahan masalah baru akan dilakukan jika proses training tersebut selesai , fase tersebut adalah proses testing.
II.4. Tresholding
Tahapan threshold digunakan untuk memperjelas alur sidik jari. Proses ini sangat berguna jika image yang didapat, terdapat warna pixel yang tidak jelas (blok hitam).
Pada proses ini terlebih dahulu mencari filter rata-rata / mean dari gambar sidik jari, pada program ini mean yang merupakan hasil dari jumlah piksel dibagi dengan hasil perkalian scale width dengan scale height. Hasil threshold diperoleh dari hasil piksel jika lebih besar dari mean maka gambar sidik jari akan dirubah RGBnya menjadi 255, 255, 255 yang akan dipergunakan untuk masukkan pada proses training dan testing, sebaliknya jika kurang dari mean akan diubah menjadi 0, 0, 0
II.5. Thinning
Thinning adalah operasi morfologi yang digunakan untuk menghapus piksel foreground yang terpilih dari gambar biner, biasanya digunakan untuk proses mencari tulang dari sebuah objek. Objek yang dihasilkan adalah skeleton yang dianggap merepresentasika suatu objek.
Ada berbagai macam metode atau algoritma thinning, dan masing- masing memberikan hasil yang berbeda. Kebanyakan algoritma thinning bersifat iteratif. Pada sebuah iterasi, piksel-piksel edge dievaluasi berdasarkan kriteria-kriteria tertentu untuk menentukan apakah harus dibuang atau tidak.
Ada juga beberapa algoritma pada komputer-komputer yang bekerja secara sekuensial dan paralel. Pada algoritma sekuensial, untuk memproses suatu piksel pada suatu tahap digunakan hasil pemrosesan pada iterasi sebelumnya dan hasil iterasi pada tahap yang sedang berjalan. Sedangkan pada algoritma paralel, keputusan untuk membuang suatu piksel hanya bergantung pada hasil dari iterasi sebelumnya.
Algoritma thinning yang digunakan adalah algoritma yang dikemukakan oleh Zhang-Suen (A Fast Parallel Algorithm For Thinning Digital Pattern, 1984)
Algoritmanya akan dijelaskan sebagai berikut : Asumsi :
a. Piksel dengan nilai 1 adalah foreground.
b. Piksel dengan nilai 0 adalah background.
c. Piksel obyek memiliki aturan 8 tetangga.
d. Gambar yang digunakan adalah binary image.
Algoritma Thinning
Ulangi langkah 1 sampai langkah 4 hingga tidak ada perubahan :
langkah 1 : Tandai semua piksel foreground yang memenuhi kondisi 1 sampai dengan 4
langkah 2 : Rubah nilai piksel menjadi 0 (background)
langkah 3 : Tandai semua piksel foreground yang memenuhi kondisi 5 sampai dengan 8
langkah 4 : Rubah nilai piksel menjadi 0 (background)
Kondisi :
1. 2 ≤ N (P1) ≤ 6 2. S(P1) = 1
3. P2 * P4 * P6 = 0 4. P4 * P6 * P8 = 0 5. 2 ≤ N (P1) ≤ 6 6. S(P1) = 1
7. P2 * P4 * P8 = 0 8. P2 * P6 * P8 = 0
Keterangan :
• N(P1) adalah jumlah tetangga yang dimiliki oleh piksel P1 yang tidak bernilai 0 (nol).
• S(P1) adalah jumlah perpindahan nilai dari 0 (nol) ke 1 (satu) mulai dari P2, P3 sampai dengan P9 secara berurut.
• P2 * P4 * P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 (nol).
Sebagai contoh : N(P1) = 4 dan S(P1) = 3
0 0 1
1 P1 0
1 0 1
Piksel P1 dengan 8 tetangga
9 2 3
8 1 4
7 6 5
II.6. Minutiae
Ekstraksi minutiae diperoleh menggunakan matriks ketetanggaan dan filter bentuk dengan topologinya dirancang untuk mengeksploitasi dua sifat minutiae, yaitu untuk mendeteksi akhir garis alur atau titik-titik percabangan.
Citra awal berhubungan dengan arah garis-garis alur pola sidik jari yang
kemudian di sekat-sekat kedalam daerah-daerah yang terhubung yang homogen. Dari terminasi dan percabangan garis alur pola sidik jari maka diperoleh titik-titik minutiae. Peta dari titik-titik minutiae disimpan sebagai informasi unik berhubungan dengan sidik jari individual.
Pada pencocokan minutiae ini akan melakukan analisis percabangan garis (ridges bifurcations) dan akhir garis (ridges ending). Keseluruhan pola sidik jari rata-rata berisikan 100 minutiae, area pengukuran rata-rata berisikan 30-60 minutiae tergantung dari jari dan area sensor. Titik-titik minutiae disimpan berikut posisi dari titik minutiae local dalam kode pola sidik jari atau secara langsung dalam template acuan.
Gambar 2.5 Bentuk Ridge pada sidik jari
Bagian utama dari penggunaan pola sidik jari untuk sistem autentikasi adalah bagaimana mendapatkan pola sidik jari untuk disimpan sebagai template sewaktu pendaftaran ataupun sewaktu dilakukan perbandingan pola sidik jari tertentu dengan template tersebut (sewaktu identifikasi/verifikasi).
Sistem pengenalan sidik jari memanfaatkan struktur sidik jari setiap manusia yang berbeda (ada kesamaan degan presentase yang cukup kecil). Sistem ini melibatkan penentuan tingkat kesamaan.
17
BAB III
ANALISIS DAN PERANCANGAN SISTEM
III.1. Analisis Sistem
Sistem presensi mahasiswa ini menggunakan sidik jari dimana mesin presensi yang ada tidak menyediakan keypad untuk memasukkan id mahasiswa, sehingga mahasiswa hanya dapat melakukan scanning sidik jari saja. Sistem akan menyimpan sidik jari mahasiswa yang telah mendaftar ke dalam database yang akan digunakan untuk melakukan presensi.
Admin dan mahasiswa akan terlibat langsung dalam sistem ini. Admin memiliki kewenangan untuk mengganti password login admin, mendaftar dan edit mata kuliah, mendaftar dan meng-edit data mahasiswa, men-training sidik jari mahasiswa, membuat laporan presensi dan mencari data mahasiswa jika diperlukan. Sedangkan mahasiswa hanya melakukan presensi.
Admin terlebih dahulu melakukan login untuk masuk ke dalam sistem.
Apabila login berhasil, admin akan masuk ke dalam form menu. Di dalam form menu, admin dapat melakukan proses mengganti password login admin, mendaftar dan edit mata kuliah, mendaftar dan meng-edit data mahasiswa, men-training sidik jari mahasiswa, membuat laporan presensi dan mencari data mahasiswa jika diperlukan. Sebelum mahasiswa melakukan presensi, admin terlebih dahulu melakukan men-training sidik jari mahasiswa yang bermaksud untuk mengenali terlebih dahulu sidik jari mahasiswa dan menghasikan bobot-bobot baik yang digunakan untuk presensi mahasiswa.
Admin juga akan membuat laporan presensi mahasiswa yang akan diserahkan pada sekretariat.
Mahasiswa melakukan presensi ketika akan masuk kuliah. Mahasiswa akan memasukkan sidik jari saat presensi, kemudian sistem akan memprosesnya jika sidik jari yang telah dimasukkan cocok maka sistem akan mencatat waktu pada saat presensi. Apabila sidik jari yang dimasukkan tidak cocok maka sistem akan mengeluarkan pesan kesalahan. Mahasiswa hanya satu kali melakukan presensi, mahasiswa tidak bisa berbuat kecurangan pada saat melakukan presensi karena setiap mahasiswa memiliki sidik jari yang berbeda.
Untuk pencocokan sidik jari mahasiswa dengan yang ada di dalam database, sistem akan terlebih dahulu melakukan proses pembelajaran dengan menggunakan algoritma propagasi balik. Proses pembelajaran itu dikenal dengan proses training dan untuk pencocokannya dikenal dengan proses testing. Semua sidik jari mahasiswa yang ada di dalam database akan dilakukan proses training yang bertujuan melatih jaringan agar mampu mengenalinya. Pada proses training akan menghasilkan matriks bobot yang disimpan dan akan digunakan untuk proses testing. Untuk proses testing, dilakukan pada saat mahasiswa melakukan presensi dengan menggunakan matriks bobot yang dihasilkan pada proses training sebelumnya. Output pada proses testing akan dibandingkan dengan data sidik jari yang berada di dalam database apakah dapat dikenali atau tidak, jika dapat dikenali sistem akan memberikan informasi pemilik sidik jari tersebut.
III.2. Perancangan Sistem III.2.1. Use Case Diagram
Dalam kebutuhannya sistem membutuhkan aktor-aktor yang terlibat.
Berikut penjelasannya di dalam gambar 3.1 :
Gambar 3.1 Use Case Diagram
III.2.2. Perancangan Arsitektur Jaringan
Arsitektur jaringan yang digunakan pada metode propagasi balik berupa multilapis/multilayer. Lapisan tersebut dibagi menjadi 3 lapisan yaitu lapisan input yang berfungsi menerima data inputan, lapisan output yang menghasilkan keluaran dari jaringan, dan lapisan tersembunyi merupakan
lapisan yang terletak diantara lapisan input dan output, berikut adalah penjelasannya dalam gambar 3.2 :
Gambar 3.2 Arsiktektur Jaringan Saraf Tiruan Metode Propagasi Balik
1. Lapisan input
Jumlah vektor neuron yang digunakan pada lapisan ini sebanyak 60. Hal tersebut dikarenakan dari hasil ekstraksi minusi.
2. Lapisan tersembunyi
Jumlah vektor neuron pada lapisan ini berjumlah 20 neuron.
Jumlah neuron ini ditentukan sendiri karena belum adanya ketentuan yang mengatur jumlah neuron dari lapisan ini.
3. Lapisan output
Jumlah vektor neuron di lapisan ini berdasarkan dari hasil keluaran jaringan yaitu data biner sidik jari yang berjumlah 8 neuron.
III.2.3. Pengambilan Sidik Jari
Pengambilan sidik jari menggunakan alat fingerprint. Program hanya tinggal memanggil komponen / fungsi yang telah disediakan oleh driver fingerprint, kemudian gambar sidik jari akan di simpan ke dalam database beserta data diri dari pemilik sidik jari.
III.2.4. Thinning
Thinning merupakan salah satu image processing yang digunakan untuk mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.
Algoritma thinning yang digunakan adalah Zhang-Suen. Algoritma ini adalah salah satu algoritma thinning yang cukup populer dan telah digunakan sebagai suatu basis perbandingan untuk thinning. Algoritma ini cepat dan mudah di implementasikan. Berikut adalah penjelasan algoritmanya :
Tabel 3.1 Tabel Gambar Piksel 1
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
Hasil Iterasi Pertama (Langkah A dan B)
Langkah A, harus memenuhi kondisi 1 sampai dengan 4 yaitu : 1. 2 ≤ N (P1) ≤ 6
2. S(P1) = 1
3. P2 * P4 * P6 = 0 4. P4 * P6 * P8 = 0
Untuk Piksel P1 = (P1) pada table 3.1:
N(P1) = 3; TRUE S(P1) = 1; TRUE
P2 * P4 * P6 = 0; TRUE P4 * P6 * P8 = 0; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1 ditandai dan dirubah menjadi background (nol). Untuk Piksel P1 = (P2) pada table 3.1:
N(P1) = 5; TRUE S(P1) = 1; TRUE
P2 * P4 * P6 = 0; TRUE P4 * P6 * P8 = 0; FALSE
Kondisi tidak dapat bernilai TRUE semua untuk P1 = (P2), hal ini diakibatkan karena kondisi P4*P6*P8 = 0 bernilai FALSE, sehingga tidak ditandai ataupun dirubah pada langkah A dan B. Setelah melakukan cara yang sama untuk P1 = (P3), P1 = (P4), P1 = (P5), P1 = (P6), P1 = (P7), P1 = (P8), P1 = (P9) diperoleh citra seperti berikut :
Tabel 3.2 Tabel Gambar Piksel 2
0 Q1 Q2 0
Q3 Q4 Q5 0
0 0 0 0
Langkah C untuk pelaksanaan algoritma selanjutnya 5. 2 ≤ N (P1) ≤ 6
6. S(P1) = 1
7. P2 * P4 * P8 = 0 8. P2 * P6 * P8 = 0
Untuk Piksel P1 = (Q1) N(P1) = 4; TRUE S(P1) = 1; TRUE
P2 * P4 * P8 = 0; TRUE P2 * P6 * P8 = 0; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa Q1 ditandai dan dirubah menjadi background (nol).
Setelah dilakukan cara yang sama terhadap P1 = (Q2), P1 = (Q3), P1 = (Q4), P1 = (Q5) didapatkan hasil akhir seperti citra dibawah ini Gambar.3. Jika dilakukan langkah A dan B hasil yang diperoleh dari citra tersebut tidak berubah, sehingga dapat disimpulkan bahwa pengeksekusian algoritma
thinning citra sudah selesai.
Tabel 3.3 Tabel Gambar Piksel 3
0 0’ 0’ 0
0’ 0
0 0 0 0
III.2.5. Tresholding
Gambar sidik jari yang telah diambil, selanjutnya mengalami proses treshold untuk memperjelas alur sidik jari. Proses ini sangat berguna jika gambar yang didapat, terdapat warna piksel yang tidak jelas (blok hitam).
Proses treshold sering disebut dengan proses binerisasi.
Pada proses ini terlebih dahulu mencari filter rata-rata / mean dari gambar sidik jari, pada program ini mean yang merupakan hasil dari jumlah piksel dibagi dengan hasil perkalian scale width dengan scale height. Hasil threshold akan berupa angka-angka biner 0 dan 1 yang akan dipergunakan untuk masukkan pada proses training dan testing . Hasil piksel jika lebih besar dari mean maka gambar sidik jari akan dirubah menjadi angka biner 0 yang berisi piksel putih, sebaliknya jika kurang dari mean akan diubah menjadi angka 1 yang berarti berisi piksel berwarna hitam.
III.2.6. Ekstraksi Minutiae
Minusi dicari dengan mendeteksi adanya percabangan saja. Cabang hitam pada suatu citra biner merupakan ujung hitam pada citra biner inversnya. Thinning dilakukan pada object hitam dari citra biner, sehingga hasil penulangan suau citra akan berbeda dengan hasil penulangan citra inversnya. Selain itu proses tersebut dapat mengatasi kerusakan pada citra yang mengakibatkan hilangnya minusi.
Hasil penulangan adalah garis dengan ketebalan satu pixel.. Pada citra thinning adanya percabangan dideteksi dengan cara menelusuri setiap pixel hitam pada citra yang delapan titik tetangganya sesuai salah satu dari dua belas (12) matriks 3 x 3 pixel yang merupakan konfigurasi dari matriks percabangan. Minusi yang diperoleh dari penulangan citra biner awal merupakan alur cabang (ridge bifurcation), sedngkan minusi yang diperoleh dari penulangan citra biner hasil inversnya merupakan alur berhenti (ridge ending).
III.2.7. Jarak Minutiae
Pada proses ekstraksi minusi semua minusi dideteksi lalu minusi – minusi tersebut kemudian ditandai dengan diberi titik pada tiap minusi.
Sehingga hasil dari proses ekstraksi minusi adalah beberapa titik yang menandai adanya minusi baik jalur percabangan (ridge bifurcation) maupun alur perhentian (ridge ending). Kemudian tiap – tiap minusi diekstraksi untuk
mendeteksi tetanganya. Dengan memposisikan salah satu minusi (yang diekstraksi) berada di tengah, sedangkan yang disekitarnya merupakan minusi – minusi tetangga. Jarak minusi tetangga nantinya akan bervariasi ada yang dekat dan ada yang jauh. Data awal / jarak ini dijadikan sebagai inputan data yang akan diolah mengunakan metode propagasi balik.
III.2.8. Perancangan Proses Training
Proses training membutuhkan input data selain sidik jari yang di ambil dari database, seperti laju pemahaman, toleransi dan jumlah iterasi. Data sidik jari terlebih dahulu dilakukan proses treshold dan thinning serta ekstraksi ciri yang kemudian mengubah sidik jari ke dalam bentuk biner 0 dan 1.
Pada proses training terdapat 3 tahapan yaitu tahap perambatan maju, tahap pemropagasibalikan error dan tahap perubahan bobot. Berikut adalah penjelasan algoritma training :
a. Inisialisasi bobot awal secara acak
Inisialisasi bobot ditentukan secara acak (random) dengan tidak bernilai 0 karena akan mempengaruhi proses selanjutnya agar juga tidak bernilai 0. Bobot input vj, i terletak di antara lapisan input dan lapisan tersembunyi, sedangkan bobot output wk, j terletak di antara lapisan tersembunyi dan lapisan output.
b. Ulangi langkah c hingga j sampai kondisi akhir iterasi dipenuhi c. Untuk masing-masing pasangan data pelatihan (training data) lakukan langkah d hingga i
Tahap Perambatan Maju
d. Masing-masing vektor input x i (i = 1,2,...256) menerima sinyal masukan x i dan sinyal tersebut disebarkan ke unit-unit bagian berikutnya (unit-unit lapisan tersembunyi)
e. Pada tahap ini dengan mengalikan vektor input x i (i = 1,2,...256) dengan matrik bobot yang telah ditentukan. Hasil perhitungan tersebut akan digunakan pada lapisan di atasnya yaitu lapisan tersembunyi dengan fungsi aktivasi terhadap penjumlahan dari lapisan input yang berbobot dengan persamaan
dari lapisan tersembunyi kemudian akan diteruskan ke lapisan di atasnya yaitu lapisan output.
f. Masing-masing vektor output dilakukan perkalian antara bobot yang ada di antara lapisan output dan lapisan tersembunyi wk, j dengan hasil fungsi aktivasi pada lapisan tersembunyi zj . Kemudian akan menerapkan fungsi aktivasi dari setiap unit output yk dengan persamaan
Tahap Pemropagasibalikan Error
g. Pada tahap ini akan dihitung error tiap neuron pada lapisan output (selisih antara hasil output dengan target) dengan persamaan
pada perhitungan error juga akan mengoreksi bobot dan bias (∆w jk dan
∆w 0k ) yaitu
h. Masing-masing penimbang yang menghubungkan unit-unit lapisan output dengan unit-unit pada lapisan tersembunyi (zj ,j=1..,p) dikalikan delta dan dijumlahkan sebagai masukan ke unit-unit lapisan berikutnya.
dan mengoreksi bobot dan biasnya (∆vij dan ∆v0j)
∆vij = αδj xi
∆v0j = αδj
Tahap Perubahan Bobot
i. Pada tahap ini akan dilakukan looping jumlah output, hingga error yang diperoleh 0 atau sama dengan error yang telah ditentukan. Dari proses tersebut untuk menghitung perubahan-perubahan yang terjadi pada bobot dengan persamaan
III.2.2. Kondisi test stopping.
III.2.9. Perancangan Proses Testing
Pada proses ini gambar sidik jari juga dilakukan proses treshold dan thinnig agar sistem dapat mengolahnya sehingga sistem dapat mengenali sidik jari tersebut. Namun jika mahasiswa belum mendaftarkan sidik jarinya maka sistem tidak dapat mengenalinya.
Pada proses testing ini langkah – langkahnya sama seperti pada proses training tetapi yang membedakan pada proses testing hanya menggunakan tahap perambatan maju. Hasil dari proses tersebut adalah berupa nilai output yang akan dibandingkan dengan data sidik jari di database. Berikut penjelasan dari algoritma testing :
a. Memilih file yang akan dilakukan testing.
b. Iniliasisasi bobot. Bobot yang diambil berdasarkan bobot-bobot terakhir dari proses training.
Tahap Perambatan Maju.
c. Masing-masing vektor input x i (i = 1,2,...256) menerima sinyal masukan x i dan sinyal tersebut disebarkan ke unit-unit bagian berikutnya (unit-unit lapisan tersembunyi)
d. Pada tahap ini dengan mengalikan vektor input x i (i = 1,2,...256) dengan matrik bobot yang telah ditentukan. Hasil perhitungan tersebut akan digunakan pada lapisan di atasnya yaitu lapisan tersembunyi dengan fungsi aktivasi terhadap penjumlahan dari lapisan input yang berbobot dengan persamaan
dari lapisan tersembunyi kemudian akan diteruskan ke lapisan di atasnya yaitu lapisan output.
e. Masing-masing vektor output dilakukan perkalian antara bobot yang ada di antara lapisan output dan lapisan tersembunyi wk, j dengan hasil fungsi aktivasi pada lapisan tersembunyi zj . Kemudian akan menerapkan fungsi aktivasi dari setiap unit output yk dengan persamaan
III.2.11. Perancangan Database ER Diagram
Gambar 3.3 ER Diagram
Penggunaan tabel dalam pembuatan database sebanyak 6 yaitu, tabel mahasiswa, kelas, admin, presensi, bobot1 dan bobot2.
Tabel 3.4 Tabel Mahasiswa
Nama field Tipe data Ukuran
*No integer 3
*NIM_mhs varchar 10
Nama_mhs varchar 25
**Id_kelas int 5
Id_org_ke varchar 10
Jurusan varchar 25
Fakultas varchar 25
Sidik_jari_kanan1 longblob - Sidik_jari_kanan2 longblob -
Sidik_jari_kanan3 longblob - Sidik_jari_kanan4 longblob - Sidik_jari_kiri1 longblob - Sidik_jari_kiri2 longblob - Sidik_jari_kiri3 longblob - Sidik_jari_kiri4 longblob - Target_Sidik_jari_kanan varchar 10
Target_Sidik_jari_kiri varchar 10
Tabel 3.5 Tabel Kelas
Nama field Tipe data Ukuran
*Id_kelas int 5
Nama_kelas varchar 35
Dosen varchar 35
Semester varchar 10
Jam_masuk time -
Tabel 3.6 Tabel Admin
Nama field Tipe data Ukuran
*Username varchar 10
Password varchar 10
Tabel 3.7 Tabel Presensi
Nama field Tipe data Ukuran
*No integer 3
**NIM_mhs varchar 10
**Id_kelas Int 5
Tabel 3.8 Tabel Bobot1
Nama field Tipe data Ukuran
**Id_kelas int 5
Bobot1 double -
Tabel 3.9 Tabel Bobot2
Nama field Tipe data Ukuran
**Id_kelas int 5
Bobot2 double -
Relasi antar tabel
Tanggal date -
Jam_presensi time -
Status_presensi varchar 10
Gambar 3.4 Relasi Antar Tabel
III.2.11. Perancangan User Interface
Untuk mempermudah dalam penggunaan sistem maka interface yang dibuat atau yang didesain harus mudah dioperasikan dan dimengerti, guna mempermudah dalam penggunaan sehingga user merasa nyaman dan tidak jenuh dalam mengoperasikan Sistem Presensi Sidik Jari. Adapun rancangan form untuk program Sistem Presensi Sidik Jari .
III.2.11.1. Form Login
Pada saat admin ingin menggunakan Sistem Presensi Sidik Jari ini, user harus melakukan login terlebih dahulu. Hal ini dimaksudkan untuk menjaga keamanan sistem dari sesuatu yang tidak diinginkan, seperti penggunaan oleh seseorang yang tidak memiliki kewenangan atas sistem ini.
Form login terdiri dari :
a. Field User Name adalah field yang digunakan untuk mengisi nama user.
b. Field Password adalah field yang digunakan untuk mengisi password user.
c. Button Login adalah button yang berfungsi untuk mengakses ke database dengan nama user dan password yang benar, sehingga user diijinkan untuk menggunakan Sistem Presensi Sidik Jari.
d. Button Exit adalah button yang berfungsi untuk membatalkan proses masuk ke dalam Sistem Presensi Sidik Jari dan sekaligus menutup form login.
Gambar 3.5 Rancangan Form Login III.2.11.2. Form Main
Setelah admin melakukan login yang sesuai dengan data yang terdapat di database, maka akan muncul menu main dan admin dapat
menggunakan sistem ini sepenuhnya. Di dalam form menu main terdapat 3 pilihan menu yaitu :
a. Menu File memuat menu database yang memiliki sub menu backup database dan restore database, ganti password, daftar atau edit mata kuliah, daftar mahasiswa, edit mahasiswa, training sidik jari, rekap mahasiswa dan exit. Fungsi dari masing-masing menu adalah :
1. Database, menu ini memiliki sub menu yang berisi backup database dan restore database. Backup database digunakan untuk mem-backup database untuk kepentingan keamanan dan restore database digunakan untuk mengembalikan database terakhir yang telah disimpan.
2. Ganti password, menu ini digunakan apabila user ingin merubah password yang digunakan untuk mengakses Sistem Presensi Sidik Jari.
3. Daftar atau edit mata kuliah, menu ini digunakan untuk mendaftarkan mata kuliah dan mengedit mata kuliah jika ada perubahan.
4. Daftar mahasiswa, berfungsi untuk mendaftar mahasiswa baru berdasarkan mata kuliah yang diambil.
5. Edit mahasiswa, berfungsi untuk merubah data dari mahasiswa seperti NIM, nama, jurusan, fakultas serta
sidik jari.
6. Training sidik jari, digunakan untuk melatih data sidik jari mahasiswa yang berada di dalam database agar jaringan dapat mengenalinya terlebih dahulu.
7. Rekap mahasiswa, digunakan untuk melihat data presensi mahasiswa selama satu semester dan dapat sekaligus mencetak laporan tersebut.
8. Exit, berfungsi untuk menutup form menu main dan keluar dari sistem.
b. Menu Search adalah menu yang berisi cari mahasiswa.
Cari mahasiswa, menu yang berfungsi untuk mencari data mahasiswa.
c. Menu Help adalah menu yang berisi petunjuk user.
Petunjuk user menu berisi tentang panduan penggunaan dari sistem ini.
Gambar 3.6 Rancangan Form Main
III.2.11.3. Form Ganti Password
Form ini digunakan untuk merubah password yang dimiliki user pada saat melakukan login ke dalam sistem. Dengan tujuan keamanan user dapat merubah password yang dimiliki secara berkala sesuai dengan waktu yang diinginkan.
Form Ganti Password terdiri atas beberapa field dan juga button, berikut penjelasan beserta fungsi-fungsinya :
a. Field Password Lama adalah field yang digunakan untuk mengisi password lama yang dimiliki oleh admin.
b. Field Password Baru adalah field yang digunakan untuk mengisi password baru yang diinginkan oleh user.
c. Field Ulangi Password Baru adalah field yang digunakan untuk mengisi kembali password yang baru atau dengan kata lain field ini digunakan sebagai field konfirmasi, artinya pada field ini harus berisikan text yang sama dengan field Password Baru.
d. Button Confirm adalah button yang digunakan untuk menyetujui proses perubahan password dan akan menyimpan perubahan tersebut pada tabel admin di dalam database.
e. Button Back adalah button yang digunakan untuk menutup form change password dan kembali ke form menu main.
Gambar 3.7 Rancangan Form Ganti Password
III.2.11.4. Form Daftar atau Edit Mata Kuliah
Sebelum mendaftarkan mahasiswa, pertama kali user harus mendaftarkan mata kuliah terlebih dahulu. Di form ini juga admin dapat merubah mata kuliah bila terjadi kesalahan pada waktu mendaftar. Data mata kuliah ini akan disimpan di dalam tabel kelas di database.
Pada form ini terdapat dua tab yaitu daftar mata kuliah dan edit mata kuliah. Berikut penjelasan field dan button pada masing-masing tab yang memiliki fungsi yang berbeda :
Tab Daftar Mata Kuliah
a. Field Nama Mata Kuliah adalah field yang digunakan untuk mengisi mata kuliah yang akan disimpan.
b. Field Dosen Pengampu adalah field yang digunakan untuk mengisi nama dosen pengampu dari mata kuliah tersebut.
c. Field Semester adalah field yang digunakan untuk mengisi di
semester berapa mata kuliah tersebut.
d. Field Jam Masuk adalah field yang digunakan untuk mengisi jam masuk mata kuliah itu.
e. Button Save adalah button yang digunakan untuk menyimpan data mata kuliah ke dalam database.
f. Button Back adalah button yang digunakan untuk kembali ke menu utama.
Pada tab edit mata kuliah memiliki field dan button yang sama dengan tab daftar mata kuliah perbedaannya hanya pada field di tiap tab ini berfungsi untuk menampilkan data mata kuliah yang disimpan di database. Di tab ini juga terdapat field mata kuliah yang digunakan untuk memilih terlebih dahulu mata kuliah apa yang akan dirubah.
Gambar 3.8 Rancangan Form Daftar dan Edit Mata Kuliah
III.2.11.5. Form Daftar Mahasiswa
Sebelum mahasiswa melakukan presensi, mahasiswa terlebih
dahulu didaftarkan. Admin mengisikan data mahasiswa seperti NIM, nama, jurusan dan fakultas. Selain itu admin juga meng-input-kan data sidik jari mahasiswa yang nantinya akan disimpan ke dalam tabel mahasiswa di database.
Berikut adalah penjelasan dan fungsi dari form daftar mahasiswa : a. Field Mata Kuliah adalah field yang digunakan untuk
memilih mata kuliah yang mahasiswa ambil.
b. Button OK adalah button yang digunakan untuk menyetujui mata kuliah apa yang dipilih.
c. Button Back adalah button yang digunakan untuk menutup form daftar mahasiswa dan kembali ke form menu main.
d. Field NIM Mahasiswa adalah field yang digunakan untuk mengisi NIM mahasiswa yang akan didaftar sesuai data mahasiswa.
e. Field Nama Mahasiswa adalah field yang digunakan untuk mengisi nama mahasiswa yang akan didaftar sesuai data mahasiswa.
f. Field Jurusan adalah field yang digunakan untuk mengisi jurusan mahasiswa yang akan didaftar sesuai data mahasiswa.
g. Field Fakultas adalah field yang digunakan untuk mengisi fakultas mahasiswa yang akan didaftar sesuai data mahasiswa.
h. Button Save1 adalah button yang digunakan untuk
menyimpan data mahasiswa ke dalam tabel mahasiswa di database.
i. Field Image adalah field yang berfungsi untuk menangkap gambar scanning sidik jari mahasiswa.
j. Field Quality adalah field yang digunakan menampilkan kualitas dari hasil scanning sidik jari.
k. Button Start adalah button yang digunakan untuk menghubungkan alat fingerprint dengan sistem dan siap untuk melakukan scanning sidik jari.
l. Button Cancel berfungsi untuk membatalkan proses scanning sidik jari.
m. Button Save2 adalah button yang digunakan untuk menyimpan data sidik jari mahasiswa yang telah di scanning ke dalam tabel mahasiswa di database.
Gambar 3.9 Rancangan Form Daftar Mahasiswa
III.2.11.6. Form Edit Mahasiswa
Form ini digunakan untuk merubah mahasiswa jika ada perubahan baik data mahasiswa ataupun data sidik jarinya.
Berikut adalah penjelasan dan fungsi dari form editing student : a. Field Pilih Mata Kuliah adalah field yang digunakan untuk
memilih mata kuliah yang akan di edit data mahasiswanya.
b. Field Masukkan NIM adalah field yang digunakan untuk mengisi NIM mahasiswa yang akan dilakukan perubahan yang diambil dari tabel mahasiswa yang ada di database.
c. Button Load adalah button yang berfungsi untuk mengambil data mahasiswa yang diinginkan dari mahasiswa yang ada di database.
d. Button Back adalah button yang digunakan untuk menutup form editing student dan kembali ke form menu main.
e. Field NIM Mahasiswa adalah field yang digunakan untuk menampilkan NIM mahasiswa yang dipilih.
f. Field Nama Mahasiswa adalah field yang digunakan untuk menampilkan nama mahasiswa yang dipilih.
g. Field Jurusan adalah field yang digunakan untuk menampilkan jurusan mahasiswa yang dipilih.
h. Field Fakultas adalah field yang digunakan untuk menampilkan fakultas mahasiswa yang dipilih.
i. Button Save1 adalah button yang digunakan untuk