!
"# ! $ !
%
& ! ! '
!( # & #!(
#) ! "# !
# #
*+,-./*0/
1
1
2
3
4
4
ii
1
6
4
6
6 ' 7 7 6#
"# ! 7 ) ) ! $ '%
3
1 " ! #" 8 !
# 9 )
"# ! 7 ) )
6
9'
# #
*+,-./*0/
1
1
6
1 6
4
1 6
6
63
4
3
2
4
4
4
v
3
3
vi
3
:
9
!!
; :
ix
!
"# ! $ ! %
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 6.0, 5.0 sebagai
x
! !
" #$% & &
' & ( ( ) * $+
! " # # # $
% & # " !
$ ' ( &
! ' )
& ! # ! *
' ! + ' $
! & $ ! !
, # *
! - . &
- # /
xi
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
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
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
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
xiv
PERNYATAAN KEASLIAN KARYA ... vii
PERNYATAAN PERSETUJUAN ... viii
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. $ ... 12
II.5. $ ………13
xv
BAB III.ANALISIS DAN PERANCANGAN SISTEM ... 17
xvi
IV.2. Implementasi Hasil Program ... 87
IV.2.1. Tampilan % ... 87
BAB V.ANALISA HASIL PROGRAM ... 111
BAB VI.PENUTUP ... 116
VI.1. Kesimpulan ... 116
VI.2. Saran... ... 116
xvii
1
!9 ) 3 !
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 pada sidik jari 16
3.1 0 1 19
3.2 Arsiktektur Jaringan Saraf Tiruan Metode Propagasi Balik 20
3.3 3 1 31
xviii
Tampilan pesan password baru dan konfirmasi password
berbeda
xix
4.22 Tampilan pesan jika pengisian ! 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 daftar mahasiswa 97
4.28 Tampilan pesan informasi NIM mahasiswa 98
4.29 Tampilan pesan konfirmasi NIM mahasiswa sudah ada 98
4.30 Tampilan mendaftar sidik jari mahasiswa 99
4.31 Tampilan pesan jika pendaftaran mahasiswa berhasil 99
4.32 Tampilan mahasiswa 100
4.33 Tampilan pesan informasi perubahan data diri mahasiswa 101
4.34 Tampilan pesan konfirmasi sidik jari 101
4.35 Tampilan sidik jari 102
4.36 Tampilan pesan informasi proses 103
4.37 Tampilan bobot antara dan 104
4.38 Tampilan bobot antara dan 104
4.39 Tampilan laporan rekap mahasiswa 105
4.40 Tampilan pesan konfirmasi keluar 106
4.41 Tampilan cari mahasiswa 107
4.42 Tampilan pesan informasi pencarian tidak cocok 107
xx
4.44 Tampilan 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
xxi
1
9 ) 3 !
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
1
3
.< )
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
. Mesin presensi ini terdapat ' untuk
memasukkan pegawai beserta dengan sidik jari. Namun pegawai
menemukan kesulitan jika tidak ingat pegawainya sendiri saat melakukan
presensi. Pada sistem ini mesin presensi tidak dilengkapi dengan ' yang
biasa digunakan untuk memasukkan pegawai. Kemungkinan terjadinya
karena pencarian data sidik jari pegawai berdasarkan pada .
Banyak cara untuk dapat mengenali suatu sidik jari diantaranya
menggunakan metode Propagasi Balik, % ** , 5 % , 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
6.0 dengan seperangkat komputer untuk menjalankan aplikasi serta
mesin presensi yang digunakan untuk mengambil data sidik jari.
5< !
Permasalahan dalam pembuatan sistem ini adalah bagaimana mengenali
suatu sidik jari untuk sebuah sistem presensi menggunakan metode propagasi
balik.
-< & "
Tujuan penulisan tugas akhir adalah membuat sebuah sistem presensi
sidik jari untuk mahasiswa dengan metode propagasi balik tanpa harus
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.
/<
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- 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.
,< # # #)
Metodologi yang digunakan dalam pembuatan tugas akhir ini adalah
a. Studi Pustaka
Pada tahap ini dilakukan mencari literatur serta mempelajari tentang
pengenalan sidik jari, 6.0, 5.0, 0 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.
+< !
Sistematika penulisan tugas akhir ini terdiri dari 6 bab dan akan
dijelaskan sebagai berikut :
3
Di dalam bab ini dikemukakan latar belakang, rumusan masalah, tujuan
sistem, batasan masalah, metode penelitian dan sistematika penulisan tugas
Di dalam bab ini dikemukakan konsep-konsep yang dijadikan landasan
teori.
6
Di dalam bab ini dikemukakan metode penelitian yang berisi
langkah-langkah yang ditempuh untuk implementasi sistem.
2
Di dalam bab ini dikemukakan tentang proses implementasi sesuai
dengan rancangan sistem sistem yang dibuat.
2 3
Di dalam bab ini berisi analisa dari hasil percobaan yang telah
dilakukan.
2
Di dalam bab ini dikemukakan kesimpulan mengenai apa saja yang telah
dihasilkan dan beberapa saran yang dapat disampaikan mengenai sesuatu yang
6 <.<
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 16 . Adapun sifat yang dimiliki oleh sidik
a. & , yaitu guratan-guratan pada sidik jari yang melekat
pada kulit manusia seumur hidup.
b. ) , yaitu sidik jari seseorang tidak pernah berubah, kecuali
mendapatkan kecelakaan yang serius.
c. ) " , pola sidik jari adalah unik dan berbeda untuk setiap orang.
<5< ) "
Jaringan saraf tiruan ( ! '), 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 ( ) 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
menjadi
Ga
b. Jaringan saraf d
Jaringan
lapisan
tanpa harus melalui lapisan tersembunyi
Gambar 2.1 Jaringan saraf dengan lapisan tungg
saraf dengan banyak lapisan
ringan ini memiliki satu atau lebih lapisan yang ter
dan lapisan .
tunggal
c. Jaringan saraf d
Hubung
pada diagram
JST mampu
terdefinisikan, dala
Gambar 2.2 Jaringan saraf dengan banyak lap
saraf dengan lapisan kompetitif
ubungan antar pada lapisan kompetitif tidak
agram arsitektur.
Gambar 2.3 Jaringan saraf dengan kompetitif
ampu menyelesaikan persoalan yang tidak terstru
, dalam hal ini adalah pola, mulai dari pola yak lapisan
if tidak diperlihatkan
petitif
terstruktur dan sulit
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
yang tidak menentu.
<-< # #( )
Metode ini merupakan metode yang sering digunakan untuk
memecahkan masalah yang kompleks. Cara kerja dari metode ini adalah
menurunkan gradien unit-unit tersembunyi dari penyiaran kembali
- yang diasosiasikan dengan unit-unit .
Jaringan propagasi balik terdiri atas banyak lapisan (
! ' ) yaitu :
1.Lapisan
Lapisan input terdiri dari neuron-neuron atau unit-unit , mulai
dari unit 1 sampai unit n.
2. Lapisan tersembunyi
Lapisan tersembunyi terdiri dari unit-unit tersembunyi mulai dari
unit tersembunyi 1 sampai unit tersembunyi p.
3. Lapisan
Lapisan terdiri dari unit-unit mulai dari unit 1
sampai unit m, n, p m masing-masing adalah bilangan .
Berikut merupakan topologi dari jaringan propagasi balik menurut Arief
Ga
batan maju. Setelah tahap perambatan maju sele
n akan melakukan tahap pemropagasibalikan
ri bobot-bobot. Secara garis besar, mengapa algori
agasi balik, dapat dideskripsikan sebagai berikut:
la masukan sebagai pola pelatihan maka pola terse
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 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
tersebut selesai , fase tersebut adalah proses .
</< ) # (
diperoleh dari hasil piksel jika lebih besar dari maka gambar
sidik jari akan dirubah RGBnya menjadi 255, 255, 255 yang akan
dipergunakan untuk masukkan pada proses dan , sebaliknya
<,< ) (
$ adalah operasi morfologi yang digunakan untuk menghapus
piksel 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 , dan
masing-masing memberikan hasil yang berbeda. Kebanyakan algoritma
bersifat iteratif. Pada sebuah iterasi, piksel-piksel 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 ( % & % $ 1 & #
1984)
Algoritmanya akan dijelaskan sebagai berikut
Asumsi
a. Piksel dengan nilai 1 adalah foreground.
b. Piksel dengan nilai 0 adalah background.
d. Gambar yang digunakan adalah
Algoritma $
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)
# %
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
)
• N(P1) adalah jumlah tetangga yang dimiliki oleh piksel P1 yang
• 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
<+<
Ekstraksi 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.
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 disimpan sebagai
informasi unik berhubungan dengan sidik jari individual.
Pada pencocokan ini akan melakukan analisis percabangan
garis ( ) dan akhir garis ( ). Keseluruhan pola
sidik jari rata-rata berisikan 100 , area pengukuran rata-rata berisikan
30-60 minutiae tergantung dari jari dan area sensor. Titik-titik minutiae
disimpan berikut posisi dari titik local dalam kode pola sidik jari atau
secara langsung dalam template acuan.
Gambar 2.5 Bentuk 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
17
6
<.< !
Sistem presensi mahasiswa ini menggunakan sidik jari dimana mesin
presensi yang ada tidak menyediakan ' untuk memasukkan
mahasiswa, sehingga mahasiswa hanya dapat melakukan sidik jari
saja. Sistem akan menyimpan sidik jari mahasiswa yang telah mendaftar ke
dalam yang akan digunakan untuk melakukan presensi.
Admin dan mahasiswa akan terlibat langsung dalam sistem ini. Admin
memiliki kewenangan untuk mengganti ! admin, mendaftar dan
mata kuliah, mendaftar dan meng- data mahasiswa, men- sidik
jari mahasiswa, membuat laporan presensi dan mencari data mahasiswa jika
diperlukan. Sedangkan mahasiswa hanya melakukan presensi.
Admin terlebih dahulu melakukan untuk masuk ke dalam sistem.
Apabila login berhasil, admin akan masuk ke dalam . Di dalam
, admin dapat melakukan proses mengganti ! admin,
mendaftar dan mata kuliah, mendaftar dan meng- data mahasiswa,
men- sidik jari mahasiswa, membuat laporan presensi dan mencari
data mahasiswa jika diperlukan. Sebelum mahasiswa melakukan presensi,
admin terlebih dahulu melakukan men- sidik jari mahasiswa yang
bermaksud untuk mengenali terlebih dahulu sidik jari mahasiswa dan
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
, sistem akan terlebih dahulu melakukan proses pembelajaran dengan
menggunakan algoritma propagasi balik. Proses pembelajaran itu dikenal
dengan proses dan untuk pencocokannya dikenal dengan proses
. Semua sidik jari mahasiswa yang ada di dalam akan
dilakukan proses yang bertujuan melatih jaringan agar mampu
mengenalinya. Pada proses akan menghasilkan matriks bobot yang
disimpan dan akan digunakan untuk proses . Untuk proses ,
dilakukan pada saat mahasiswa melakukan presensi dengan menggunakan
matriks bobot yang dihasilkan pada proses sebelumnya. Output pada
proses akan dibandingkan dengan data sidik jari yang berada di dalam
apakah dapat dikenali atau tidak, jika dapat dikenali sistem akan
<5< 7 ) !
<5<.< ) !
Dalam kebutuhannya sistem membutuhkan aktor-aktor yang terlibat.
Berikut penjelasannya di dalam gambar 3.1 :
Gambar 3.1 Use Case Diagram
<5<5< 7 ) )
Arsitektur jaringan yang digunakan pada metode propagasi balik berupa
multilapis/ . Lapisan tersebut dibagi menjadi 3 lapisan yaitu lapisan
yang berfungsi menerima data inputan, lapisan yang
lapisan yang terletak diantara lapisan dan , berikut adalah
penjelasannya dalam gambar 3.2 :
Gambar 3.2 Arsiktektur Jaringan Saraf Tiruan Metode Propagasi Balik
1. Lapisan
Jumlah vektor yang digunakan pada lapisan ini sebanyak
60. Hal tersebut dikarenakan dari hasil ekstraksi minusi.
2. Lapisan tersembunyi
Jumlah vektor pada lapisan ini berjumlah 20 .
Jumlah ini ditentukan sendiri karena belum adanya ketentuan
yang mengatur jumlah dari lapisan ini.
3. Lapisan
Jumlah vektor di lapisan ini berdasarkan dari hasil keluaran
<5<-< ) !9
Pengambilan sidik jari menggunakan alat . Program hanya
tinggal memanggil komponen / fungsi yang telah disediakan oleh "
, kemudian gambar sidik jari akan di simpan ke dalam
beserta data diri dari pemilik sidik jari.
<5</< ) (
$ merupakan salah satu yang digunakan untuk
mengurangi ukuran dari suatu ( * ) dengan tetap
mempertahankan informasi dan karakteristik penting dari tersebut. Hal
ini diimplementasikan dengan mengubah awal dengan pola
menjadi representasi kerangka ( ' ) tersebut.
Algoritma yang digunakan adalah 9 : . Algoritma ini
adalah salah satu algoritma yang cukup populer dan telah digunakan
sebagai suatu basis perbandingan untuk . Algoritma ini cepat dan
mudah di implementasikan. Berikut adalah penjelasan algoritmanya :
Hasil Iterasi Pertama (Langkah A dan B)
Langkah A, harus memenuhi kondisi 1 sampai dengan 4 yaitu :
1. 2 ≤ N (P1) ≤ 6
disimpulkan bahwa P1 ditandai dan dirubah menjadi ' (nol). Untuk
Piksel P1 = (P2) pada table 3.1
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),
Tabel 3.2 Tabel Gambar Piksel 2
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; $ 3
S(P1) = 1; $ 3
P2 * P4 * P8 = 0; $ 3
P2 * P6 * P8 = 0; $ 3
Kondisi dapat terpenuhi semua dengan nilai $ 3 sehingga dapat
disimpulkan bahwa Q1 ditandai dan dirubah menjadi ' (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
thinning citra sudah selesai.
Tabel 3.3 Tabel Gambar Piksel 3
<5<,< ) # (
Gambar sidik jari yang telah diambil, selanjutnya mengalami proses
untuk memperjelas alur sidik jari. Proses ini sangat berguna jika
gambar yang didapat, terdapat warna piksel yang tidak jelas (blok hitam).
Proses sering disebut dengan proses binerisasi.
Pada proses ini terlebih dahulu mencari filter rata-rata / dari
gambar sidik jari, pada program ini yang merupakan hasil dari jumlah
piksel dibagi dengan hasil perkalian ! dengan . Hasil
akan berupa angka-angka biner 0 dan 1 yang akan dipergunakan
untuk masukkan pada proses dan . Hasil piksel jika lebih besar
dari maka gambar sidik jari akan dirubah menjadi angka biner 0 yang
berisi piksel putih, sebaliknya jika kurang dari akan diubah menjadi
<5<+<
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).
<5<=<
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
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.
<5<>< 7 ) # (
Proses membutuhkan data selain sidik jari yang di ambil
dari , seperti laju pemahaman, toleransi dan jumlah iterasi. Data sidik
jari terlebih dahulu dilakukan proses dan 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 dan tahap perubahan bobot. Berikut adalah
penjelasan algoritma :
a. Inisialisasi bobot awal secara acak
Inisialisasi bobot ditentukan secara acak ( ) dengan tidak
bernilai 0 karena akan mempengaruhi proses selanjutnya agar juga tidak
bernilai 0. Bobot vj, i terletak di antara lapisan dan lapisan
tersembunyi, sedangkan bobot wk, j terletak di antara lapisan
tersembunyi dan lapisan .
b. Ulangi langkah c hingga j sampai kondisi akhir iterasi dipenuhi
c. Untuk masing-masing pasangan data pelatihan ( data)
Tahap Perambatan Maju
d. Masing-masing vektor 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 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 .
f. Masing-masing vektor dilakukan perkalian antara bobot yang
ada di antara lapisan dan lapisan tersembunyi wk, j dengan hasil
fungsi aktivasi pada lapisan tersembunyi zj . Kemudian akan menerapkan
Tahap Pemropagasibalikan 3
g. Pada tahap ini akan dihitung tiap pada lapisan
(selisih antara hasil dengan target) dengan persamaan
pada perhitungan juga akan mengoreksi bobot dan bias (∆w jk dan
∆w 0k ) yaitu
h. Masing-masing penimbang yang menghubungkan unit-unit lapisan
dengan unit-unit pada lapisan tersembunyi (zj ,j=1..,p) dikalikan
dan mengoreksi bobot dan biasnya (∆vij dan ∆v0j)
∆vij = αδj xi
∆v0j = αδj
Tahap Perubahan Bobot
i. Pada tahap ini akan dilakukan jumlah , hingga
yang diperoleh 0 atau sama dengan yang telah ditentukan. Dari
proses tersebut untuk menghitung perubahan-perubahan yang terjadi
pada bobot dengan persamaan
III.2.2. Kondisi test .
Pada proses ini gambar sidik jari juga dilakukan proses dan
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 ini langkah – langkahnya sama seperti pada proses
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 . Berikut penjelasan
dari algoritma :
a. Memilih file yang akan dilakukan .
b. Iniliasisasi bobot. Bobot yang diambil berdasarkan bobot-bobot
terakhir dari proses .
Tahap Perambatan Maju.
c. Masing-masing vektor 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 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 yang
dari lapisan tersembunyi kemudian akan diteruskan ke lapisan di atasnya
yaitu lapisan .
e. Masing-masing vektor dilakukan perkalian antara bobot yang
ada di antara lapisan dan lapisan tersembunyi wk, j dengan hasil
fungsi aktivasi pada lapisan tersembunyi zj . Kemudian akan menerapkan
fungsi aktivasi dari setiap unit yk dengan persamaan
<5<..< 7 ) ,
Gambar 3.3 3 1
Penggunaan tabel dalam pembuatan sebanyak 6 yaitu, tabel
mahasiswa, kelas, admin, presensi, bobot1 dan bobot2.
Tabel 3.4 Tabel Mahasiswa
! " (
* # integer 3
* ?! 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 -
Tabel 3.8 Tabel Bobot1
! " (
**Id_kelas int 5
Bobot1 double -
Tabel 3.9 Tabel Bobot2
! " (
**Id_kelas int 5
Bobot2 double -
Relasi antar tabel
Tanggal date -
Jam_presensi time -
Gambar 3.4 Relasi Antar Tabel
<5<..< 7 ) ' &
Untuk mempermudah dalam penggunaan sistem maka yang
dibuat atau yang didesain harus mudah dioperasikan dan dimengerti, guna
mempermudah dalam penggunaan sehingga merasa nyaman dan tidak
jenuh dalam mengoperasikan Sistem Presensi Sidik Jari. Adapun rancangan
untuk program Sistem Presensi Sidik Jari .
<5<..<.< - (
Pada saat admin ingin menggunakan Sistem Presensi Sidik Jari ini,
harus melakukan terlebih dahulu. Hal ini dimaksudkan untuk
menjaga keamanan sistem dari sesuatu yang tidak diinginkan, seperti
penggunaan oleh seseorang yang tidak memiliki kewenangan atas sistem
% terdiri dari :
a. % 6 adalah yang digunakan untuk mengisi
nama .
b. % & ! adalah yang digunakan untuk mengisi
! .
c. adalah yang berfungsi untuk mengakses
ke dengan nama dan ! yang benar,
sehingga diijinkan untuk menggunakan Sistem Presensi
Sidik Jari.
d. 38 adalah yang berfungsi untuk membatalkan
proses masuk ke dalam Sistem Presensi Sidik Jari dan
sekaligus menutup .
Gambar 3.5 Rancangan %
<5<..<5<
Setelah admin melakukan yang sesuai dengan data yang
menggunakan sistem ini sepenuhnya. Di dalam terdapat
kepentingan keamanan dan digunakan
untuk mengembalikan terakhir yang telah
disimpan.
2. Ganti ! , ini digunakan apabila ingin
merubah ! yang digunakan untuk mengakses
Sistem Presensi Sidik Jari.
3. Daftar atau 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. 3 mahasiswa, berfungsi untuk merubah data dari
sidik jari.
6. $ sidik jari, digunakan untuk melatih data sidik
jari mahasiswa yang berada di dalam 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. 38 , berfungsi untuk menutup dan
keluar dari sistem.
b. adalah yang berisi ! .
Cari mahasiswa# yang berfungsi untuk mencari data
mahasiswa.
c. 2 adalah yang berisi petunjuk user.
Petunjuk menu berisi tentang panduan penggunaan dari
sistem ini.
<5<..<-< . #
% ini digunakan untuk merubah ! yang dimiliki
pada saat melakukan ke dalam sistem. Dengan tujuan keamanan
dapat merubah ! yang dimiliki secara berkala sesuai
dengan waktu yang diinginkan.
% Ganti & ! terdiri atas beberapa dan juga ,
berikut penjelasan beserta fungsi-fungsinya :
a. % & ! Lama adalah yang digunakan untuk
mengisi ! lama yang dimiliki oleh admin.
b. % & ! Baru adalah yang digunakan untuk
mengisi ! baru yang diinginkan oleh .
c. % Ulangi & ! Baru adalah yang digunakan
untuk mengisi kembali ! yang baru atau dengan kata
lain ini digunakan sebagai konfirmasi, artinya pada
ini harus berisikan 8 yang sama dengan
& ! Baru.
d. 0 adalah yang digunakan untuk
menyetujui proses perubahan ! dan akan menyimpan
perubahan tersebut pada tabel admin di dalam .
e. ' adalah yang digunakan untuk menutup
Gambar 3.7 Rancangan % Ganti Password
<5<..</< "
Sebelum mendaftarkan mahasiswa, pertama kali user harus
mendaftarkan mata kuliah terlebih dahulu. Di ini juga admin dapat
merubah mata kuliah bila terjadi kesalahan pada waktu mendaftar. Data
mata kuliah ini akan disimpan di dalam tabel kelas di .
Pada ini terdapat dua tab yaitu daftar mata kuliah dan edit
mata kuliah. Berikut penjelasan dan pada masing-masing
yang memiliki fungsi yang berbeda :
$ Daftar Mata Kuliah
a. % Nama Mata Kuliah adalah yang digunakan untuk
mengisi mata kuliah yang akan disimpan.
b. % Dosen Pengampu adalah yang digunakan untuk
mengisi nama dosen pengampu dari mata kuliah tersebut.
semester berapa mata kuliah tersebut.
d. % Jam Masuk adalah yang digunakan untuk mengisi
jam masuk mata kuliah itu.
e. " adalah yang digunakan untuk menyimpan
data mata kuliah ke dalam .
f. ' adalah yang digunakan untuk kembali ke
utama.
Pada mata kuliah memiliki dan yang sama
dengan daftar mata kuliah perbedaannya hanya pada di tiap
ini berfungsi untuk menampilkan data mata kuliah yang disimpan di
. Di ini juga terdapat mata kuliah yang digunakan
untuk memilih terlebih dahulu mata kuliah apa yang akan dirubah.
Gambar 3.8 Rancangan % Daftar dan 3 Mata Kuliah
<5<..<,< " @
dahulu didaftarkan. Admin mengisikan data mahasiswa seperti NIM,
nama, jurusan dan fakultas. Selain itu admin juga meng- :kan data
sidik jari mahasiswa yang nantinya akan disimpan ke dalam tabel
mahasiswa di .
Berikut adalah penjelasan dan fungsi dari daftar mahasiswa :
a. % Mata Kuliah adalah yang digunakan untuk
memilih mata kuliah yang mahasiswa ambil.
b. OK adalah yang digunakan untuk menyetujui
jurusan mahasiswa yang akan didaftar sesuai data mahasiswa.
g. % Fakultas adalah yang digunakan untuk mengisi
fakultas mahasiswa yang akan didaftar sesuai data
mahasiswa.
menyimpan data mahasiswa ke dalam tabel mahasiswa di
.
i. % ) adalah yang berfungsi untuk menangkap
gambar sidik jari mahasiswa.
j. % adalah yang digunakan menampilkan
kualitas dari hasil sidik jari.
k. adalah yang digunakan untuk
menghubungkan alat dengan sistem dan siap
untuk melakukan sidik jari.
l. 0 berfungsi untuk membatalkan proses
sidik jari.
m. " < adalah yang digunakan untuk
menyimpan data sidik jari mahasiswa yang telah di
ke dalam tabel mahasiswa di .
<5<..<+< # @
% ini digunakan untuk merubah mahasiswa jika ada perubahan
baik data mahasiswa ataupun data sidik jarinya.
Berikut adalah penjelasan dan fungsi dari :
a. % Pilih Mata Kuliah adalah yang digunakan untuk
memilih mata kuliah yang akan di data mahasiswanya.
b. % Masukkan NIM adalah yang digunakan untuk
mengisi NIM mahasiswa yang akan dilakukan perubahan
yang diambil dari tabel mahasiswa yang ada di .
c. adalah yang berfungsi untuk mengambil
data mahasiswa yang diinginkan dari mahasiswa yang ada di
menyimpan perubahan dari data mahasiswa ke dalam tabel
mahasiswa di .
j. % ) adalah yang berfungsi untuk menangkap
gambar sidik jari mahasiswa.
k. % adalah yang digunakan menampilkan
kualitas dari hasil sidik jari.
l. adalah yang digunakan untuk
menghubungkan alat dengan sistem dan siap
untuk melakukan sidik jari.
m. 0 berfungsi untuk membatalkan proses
sidik jari.
n. " < adalah yang digunakan untuk meyimpan
data sidik jari mahasiswa yang baru atau yang telah dirubah
ke dalam tabel mahasiswa di .
<5<..<=< (
% ini adalah inti dari Sistem Presensi Sidik Jari karena sebelum
sidik jari dilakukan pengenalan terlebih dahulu sidik jari yang telah
terdaftar dilatih oleh JST untuk menghasilkan bobot-bobot yang baik.
Bobot-bobot tersebut yang akan digunakan pada proses presensi atau
pencocokan sidik jari. Untuk pelatihan JST diperlukan laju pemahaman,
toleransi, iterasi dan kondisi dimana maksimal ditentukan.
Berikut adalah penjelasan dan fungsi-fungsi dari
sidik jari :
a. % mata kuliah adalah yang digunakan untuk memilih
mata kuliah yang akan di sidik jari mahasiswanya.
b. % laju pemahaman adalah yang digunakan untuk
mengisi laju pemahaman yang dibutuhkan dalam proses
pelatihan JST.
c. % toleransi adalah yang digunakan untuk mengisi
maksimal untuk menghasilkan bobot-bobot yang baik.
d. % iterasi adalah yang digunakan untuk mengisi
jumlah iterasi yang dibutuhkan dalam proses pelatihan JST.
e. $ adalah yang digunakan untuk
melakukan proses pelatihan JST dengan mengirimkan
parameter-parameter yang telah ditentukan oleh .
f. ' adalah yang digunakan untuk menutup
g. % 8 3 adalah yang digunakan untuk
menampilkan maksimal pada proses pelatihan JST.
Gambar 3.11 Rancangan % Traning Sidik Jari
<5<..<>< ( @
Dalam ini admin dapat melihat sekaligus mencetak presensi
mahasiswa per semester. Laporan tersebut berisi berapa kali mahasiswa
hadir atau telat dalam satu semester yang akan diserahkan kepada
sekretariat.
Berikut adalah penjelasan dan fungsi-fungsi dari rekap
mahasiswa :
a. % 0 ; adalah yang digunakan untuk
memilih jenis laporan dari sistem, sebagai data
presensi yang ada.
b. 4 adalah yang digunakan untuk membuka
c. ' adalah yang digunakan untuk menutup
dan kembali ke .
d. % Tabel Laporan adalah yang berfungsi untuk
menampilkan seluruh yang telah ditentukan.
Gambar 3.12 Rancangan % Rekap Mahasiswa
<5<..<0< 6 @
% ini digunakan admin untuk mencari data mahasiswa yang
ada di database jika admin memerlukan untuk kepentingan sistem.
Berikut adalah penjelasan dan fungsi-fungsi dari :
a. % mata kuliah adalah yang digunakan untuk memilih
mata kuliah yang akan dicari data mahasiswanya.
b. % adalah yang digunakan untuk memilih
pencarian berdasarkan NIM, nama, jurusan, atau fakultas.
c. % = ! adalah yang digunakan untuk mengisi
parameter apa yang akan dicari.
d. adalah yang digunakan untuk mencari
e. ' adalah yang digunakan untuk menutup
cari mahasiswa dan kembali ke .
f. % adalah yang berfungsi
menampilkan seluruh yang telah ditentukan.
Gambar 3.13 Rancangan % Cari Mahasiswa
<5<..<.*< @
% ini digunakan untuk melakukan presensi terhadap
mahasiswa. Mahasiswa langsung sidik jarinya menggunakan
sidik jari yang telah ditentukan oleh sistem. Data tersebut akan langsung
disimpan ke dalam tabel presensi di apabila presensi berhasil,
jika tidak mahasiswa boleh mengulanginya lagi menggunakan sidik jari
lain yang telah ditentukan oleh sistem.
Berikut adalah penjelasan dan fungsi-fungsi dari presensi
mahasiswa :
g. % mata kuliah adalah yang digunakan untuk memilih
mata kuliah ketika mahasiswa hendak melakukan presensi.
gambar sidik jari mahasiswa.
c. % adalah yang menampilkan waktu
komputer pada saat mahasiswa melakukan presensi.
51
2
2<.< .&) - ( #) !
2<.<.< .&) - (
Sistem akan menampilkan layar saat pertama kali menjalankan
Sistem Presensi Sidik Jari. Admin harus mengisi dan !
yang dimiliki agar dapat masuk ke dalam Sistem Presensi Sidik Jari. Hanya
admin yang sudah terdaftar yang dapat melakukan jika tidak sistem akan
menampilkan pesan kesalahan. Proses diuraikan seperti Gambar 4.1
Gambar 4.1 % ! %
Berikut adalah programnya :
Screen.MousePointer = vbHourglass On Error GoTo errH
MsgBox "Username atau password tidak boleh kosong", vbExclamation + vbOKOnly, msgHeader
txtuser.SetFocus
ElseIf (Len(Trim(Me.txtuser.Text))) <= 0 Then
MsgBox "Username tidak boleh kosong", vbExclamation + vbOKOnly, msgHeader
txtuser.SetFocus
ElseIf (Len(Trim(Me.txtpass.Text))) <= 0 Then
MsgBox "Password tidak boleh kosong", vbExclamation + vbOKOnly, msgHeader password='" & txtpass.Text & "'", Conn, adOpenKeyset, adLockOptimistic
vbOKOnly, msgHeader txtuser.Text = "" txtpass.Text = "" txtuser.SetFocus End If
End If errH:
If Err.number <> 0 And Err.number <> 53 Then
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
Screen.MousePointer = vbDefault
2<.<5< .&)
Setelah proses telah berhasil, maka sistem akan menampilkan
. % merupakan aliran data yang berupa dari sistem, seperti
Gambar 4.2 % ! %
2<.<-< .&) . #
Form ganti password merupakan form yang berfungsi untuk mengubah
password user yang digunakan saat login. Prosesnya dapat dilihat pada
Gambar 4.3 % ! % Ganti& !
Berikut adalah programnya :
On Error GoTo errHand
If Len(txtOldPassChange.Text) = 0 And Len(txtNewPassChange.Text) = 0 And Len(txtConfNewPassChange.Text) = 0 Then
MsgBox "Masukkan password terlebih dahulu", vbExclamation + vbOKOnly, msgHeader
txtOldPassChange.SetFocus Exit Sub
ElseIf Len(txtOldPassChange.Text) = 0 Then
txtOldPassChange.SetFocus Exit Sub
ElseIf Len(txtNewPassChange.Text) = 0 Then
MsgBox "Password baru tidak boleh kosong", vbExclamation + vbOKOnly, msgHeader
txtOldPassChange.SetFocus Exit Sub
ElseIf Len(txtConfNewPassChange.Text) = 0 Then
MsgBox "Konfirmasi password baru tidak boleh kosong", vbExclamation +
ElseIf txtConfNewPassChange.Text <> txtNewPassChange.Text Then
Exit Sub
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
Berikut adalah function yang digunakan untuk mengubah password :
Public Function gantiPassword(ByVal userID, ByVal newPassword) As Boolean On Error GoTo errHandler
User mendaftarkan mata kuliah dahulu sebelum mendaftar mahasiswa,
user juga dapat sekaligus mengedit mata kuliah pada form ini. Data yang
masuk ketika kuliah tersebut dimulai. Berikut prosesnya diuraikan dalam
Gambar 4.4 :
Gambar 4.4 % ! % Daftar dan Edit Mata Kuliah
Berikut adalah programnya sub tab daftar mata kuliah :
On Error GoTo errH jammasuk = Hour(dtjam) menitmasuk = Minute(dtjam) detikmasuk = Second(dtjam)
jam_masuk = Trim$(Str$(jammasuk)) + ":" + Trim$(Str$(menitmasuk)) + ":" + Trim$(Str$(detikmasuk))
If (Len(Trim(Me.txtkelas.Text))) <= 0 And (Len(Trim(Me.txtdosen.Text))) <= 0 And (Len(Trim(Me.txtsmstr.Text))) <= 0 Then
txtkelas.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtkelas.Text))) <= 0 Then
MsgBox "Nama Mata Kuliah Tidak Boleh Kosong", vbExclamation + vbOKOnly, msgHeader
txtkelas.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtdosen.Text))) <= 0 Then
MsgBox "Dosen Pengampu Tidak Boleh Kosong", vbExclamation + vbOKOnly, msgHeader
txtkelas.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtsmstr.Text))) <= 0 Then
MsgBox "Semester Tidak Boleh Kosong", vbExclamation + vbOKOnly,
Conn.Execute "insert into kelas(nama_kelas,dosen,semester,jam_masuk) " & _
" values ( '" & txtkelas & "','" & txtdosen & "','" & txtsmstr.Text & "','" & jam_masuk & "' ) "
MsgBox "Daftar mata kuliah berhasil", vbInformation + vbOKOnly, msgHeader txtkelas.Text = ""
txtdosen.Text = "" txtsmstr.Text = ""
errH:
If Err.number <> 0 And Err.number <> 53 Then
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
MsgBox "Nama Mata Kuliah Tidak Boleh Kosong", vbExclamation + vbOKOnly, msgHeader
txtkelas.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtdosen1.Text))) <= 0 Then
MsgBox "Dosen Pengampu Tidak Boleh Kosong", vbExclamation + vbOKOnly, msgHeader
txtkelas.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtsmstr1.Text))) <= 0 Then
MsgBox "Semester Tidak Boleh Kosong", vbExclamation + vbOKOnly, txtdosen1 & "',semester = '" & txtsmstr.Text & "' ,jam_masuk = '" & jam_masuk & "'"
MsgBox "Edit mata kuliah berhasil", vbInformation + vbOKOnly, msgHeader txtkelas.Text = ""
txtdosen.Text = "" txtsmstr.Text = ""
cmbKelas.Text = "--Pilih Mata Kuliah--" errH:
If Err.number <> 0 And Err.number <> 53 Then
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
2<.<,< .&) " @
Mahasiswa sebelum melakukan presensi harus terlebih dahulu
didaftarkan oleh user. User mengisi data mahasiswa seperti NIM, nama,
jurusan, fakultas dan sidik jari yang nantinya akan digunakan dalam presensi.
Gambar 4.5 % ! % Daftar Mahasiswa
User terlebih dahulu mengisikan data mahasiswa yang kemudian
dilanjutkan dengan mendaftar data sidik jari mahasiswa. Berikut adalah listing
program untuk mendaftar data mahasiswa :
On Error GoTo errH
(Len(Trim(Me.txtjurusan.Text))) <= 0 And (Len(Trim(Me.txtfakultas.Text))) <= 0
queryid = " SELECT id_kelas from kelas where nama_kelas ='" & cmbKuliah & "' " rskls.Open queryid, Conn
ID_kel = rskls!id_kelas
oRs.CursorLocation = adUseClient oRis.CursorLocation = adUseClient
oRis.Open "select * from mahasiswa where id_kelas = " & ID_kel & " ", Conn, adOpenKeyset, adLockOptimistic
If oRs.RecordCount > 0 Then
If MsgBox("Mahasiswa dengan NIM '" & txtnim.Text & "' sudah ada, apakah anda ingin tetap menyimpan ?", vbYesNo, msgHeader) = vbNo Then
txtnim.Text = "" txtnim.SetFocus oRs.Close Else
Conn.Execute "Delete from mahasiswa WHERE Nim_mhs = '" & txtnim.Text & "' and id_kelas=" & ID_kel & ""
oRs.AddNew
oRs.Fields("Nim_mhs").Value = txtnim.Text oRs.Fields("Nama_mhs").Value = txtnama.Text oRs.Fields("id_kelas").Value = ID_kel
oRs.Fields("id_orang_ke").Value = oRis.RecordCount + 1 oRs.Fields("Jurusan").Value = txtjurusan.Text
oRs.Fields("Fakultas").Value = txtfakultas.Text oRs.Update
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
Setelah data mahasiswa berhasil disimpan, user melanjutkan dengan
mendaftar data sidik jari mahasiswa dengan menjalankan prosedur Run
terlebih dahulu untuk menghubungkan sistem dengan alat fingerprint yaitu
Private Sub cmdRun1_Click(Index As Integer)
If op Is Nothing Then Set op = New FPRegisterTemplate 'FPGetSample Dim i As Integer
Alat fingerprint telah siap digunakan, kemudian mahasiswa meletakkan
sidik jarinya diatas sensor alat fingerprint. Mahasiswa melakukan
sidik jari ibu kanan terlebih dahulu sesuai dengan urutan yang telah ditentukan
oleh sistem. Mahasiswa melakukan scanning sidik jari sebanyak 4 kali untuk
mendapatkan kualitas yang terbaik. Sebelum disimpan ke dalam database,
sidik jari dikenakan proses tresholding dan thinning yang kemudian disimpan
ke dalam matriks sidik jari yang akan digunakan dalam proses training dan
testing di dalam method propagasi balik. Berikut adalah listing program untuk
On Error GoTo errH
oRs.CursorLocation = adUseClient
oRs.Open "SELECT * FROM mahasiswa WHERE Nim_mhs = '" & txtnim.Text & "' and id_kelas = " & ID_kel & "", Conn, adOpenKeyset, adLockOptimistic
ImgProc1.Picture = pctbox1(3).Picture ImgProc1.colnorm3 200
ImgProc1.colnorm3 180
ImgProc1.thin
pctbox1(3).Picture = ImgProc1.Picture
SavePictureToDB pctbox1(3), oRs, "Sidik_Jari2"
oRs.Update
oRs.Close
Call imageTomatriks(txtnim.Text, ID_kel)
MsgBox "Data mahasiswa berhasil disimpan", vbInformation + vbOKOnly,
2<.<+< .&) @
User dapat mengedit data mahasiswa yang telah disimpan di dalam
database bila terjadi perubahan atau kesalahan pada saat mendaftar. Data
mahasiswa meliputi data diri maupun data sidik jari mahasiswa. Selanjutnya
akan diuraikan pada Gambar 4.6 di bawah :
Ketika user melakukan perubahan terhadap data mahasiswa, proses yang
terjadi sama seperti mendaftar mahasiswa perbedaannya hanya user terlebih
dahulu mengambil data mahasiswa yang bersangkutan untuk dirubah datanya
baik data diri maupun data sidik jari. Berikut adalah programnya :
On Error GoTo errH
If (Len(Trim(Me.txtnimload.Text))) <= 0 And cmbKuliah.Text = "-- Pilih Mata Kuliah --" Then
MsgBox "Pilih mata kuliah dan masukkan NIM terlebih dahulu", vbExclamation + vbOKOnly, msgHeader
' txtnimload.SetFocus Exit Sub
ElseIf (Trim(Me.cmbKuliah.Text)) = "-- Mata Kuliah --" Then
MsgBox "Pilih mata kuliah terlebih dahulu", vbExclamation + vbOKOnly, msgHeader
cmbKuliah.SetFocus Exit Sub
ElseIf (Len(Trim(Me.txtnimload.Text))) <= 0 Then
MsgBox "Masukkan NIM terlebih dahulu", vbExclamation + vbOKOnly,
queryid = " SELECT id_kelas from kelas where nama_kelas ='" & cmbKuliah & "' "
rskl.Open queryid, Conn ID_kel = rskl!id_kelas
If RS.State <> 0 Then RS.Close RS.CursorLocation = adUseClient
RS.Open " select * from mahasiswa where Nim_mhs = '" & txtnimload & "' and id_kelas = " & ID_kel & "", Conn, adOpenKeyset, adLockOptimistic
txtnim = txtnimload
MsgBox Err.number & " - " & Err.Description, vbCritical, " Error Aplikasi " End If
2<.<=< .&) (
Tujuan utama dilakukan proses training adalah melatih jaringan agar
dapat mengenali sidik jari ke dalam jaringan. Hal ini dilakukan sebelum
mahasiswa melakukan presensi. Atribut yang dibutuhkan dalam proses
adalah bobot awal, laju pemahaman, toleransi dan iterasi. Berikut
Gambar 4.7 % ! % $ Sidik Jari
Dalam melatih jaringan diperlukan bobot awal diperoleh dengan acak,
bobot ini yang akan menjadi inputan pertama dalam jaringan. Untuk target
dalam jaringan telah ditentukan secara default tiap sidik jari dengan jumlah 8
biner yang sesuai dengan jumlah yang ada pada layer ,
jaringan yang nantinya akan mengubah nilai bobot sehingga menghasilkan
bobot dengan nilai yang baik. Untuk mencapai nilai maksimal yang
terpaku dari nilai toleransi yang dimasukkan diperlukan perambatan balik, jika
yang dihasilkan kurang dari toleransi maka iterasi dilanjutkan dan seterusnya
untuk mendapatkan bobot dengan nilai yang baik. Berikut adalah listing
Wjk(i, j) = dblRand Next j
Next i End Function
Nilai bobot awal yang diperoleh dengan acak berkisar antar -0.5 sampai
0.5 agar bobot mempunyai nilai kecil namun tidak boleh bernilai 0. Di bawah
merupakan dari algoritma propagasi balik :
Public Function Train(learRate As Double, tol As Double, inputd As Variant, output