i Universitas Kristen Maranatha
VERIFIKASI TANDA TANGAN DENGAN METODE JARINGAN
SYARAF TIRUAN HETEROASSOCIATIVE MEMORY
Disusun oleh :Fabiola Zita Devy C. 0722085
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl.Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,
Email : vbee_160988@yahoo.co.id
ABSTRAK
Pada Tugas Akhir ini, dibuat perancangan program verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory yang direalisasikan menggunakan Visual Basic 6. Citra tanda tangan referensi maupun uji dipindai melalui scanner dan disimpan dalam bentuk file pada komputer, selanjutnya citra referensi diolah di komputer melalui proses pemotongan, penskalaan citra, ekstraksi ciri. Nilai ekstraksi ciri yang didapat menjadi masukan Jaringan Syaraf Tiruan Heteroassociative Memory, sementara itu nilai output atau nilai target untuk citra referensi telah ditentukan sebelumnya. Dari dua nilai tersebut didapat nilai bobot pada JST yang akan digunakan untuk pengujian citra uji. Dalam pengujian, nilai bobot yang telah didapat dikalikan dengan nilai ekstraksi ciri dari citra uji sehingga didapat nilai output. Dari nilai tersebut dapat diketahui kesesuaian antara nilai output citra referensi dengan citra uji.
Dari hasil pengujian terhadap 5 orang, masing-masing 60 kali, didapat persentase FAR dan FRR untuk setiap orang. Persentase terbesar FAR adalah 60 % dan persentase terbesar FRR didapat sebesar 56.67 %.
Kata kunci : Verfikasi tanda tangan, ekstraksi ciri, dan Jaringan Syaraf Tiruan
ii Universitas Kristen Maranatha
SIGNATURE VERIFICATION WITH HETEROASSOCIATIVE
MEMORY NEURAL NETWORK METHOD
Composed by :Fabiola Zita Devy C. 0722085
Electrical Engineering, Maranatha Christian University Jl.Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,
Email : vbee_160988@yahoo.co.id
ABSTRACT
On this final project, made a verification signature software using
Heteroassociative Memory Neural Network method which implemented use Visual
Basic 6. Both reference and tested image were scanned through scanner and saved in
computer then processed on computer through image cropping, image scalling, and
feature extraction. Obtained feature extraction values become input for
Heteroassociative Memory Neural Network while output values for reference images
have been set before. From two values, weight value will be obtained and will use for
testing on tested image. In testing process, obtained weight value is multiplied by
feature extraction’s value from tested image so that output value obtained. From
output value, the compatibility between output value of reference and tested image
will be known.
From tests toward 5 peoples, each of them 60 times, percentage of FAR and
FRR for each person are obtained. The biggest FAR percentage is 60 % and the
biggest FRR percentage obtained is 56.67 %.
Keywords : Signature verification, feature extraction, and Heteroassociative Memory
v Universitas Kristen Maranatha
DAFTAR ISI
Abstrak... i
Abstract... ii
Kata Pengantar... iii
Daftar Isi ... v
Daftar Tabel... viii
Daftar Gambar... ix
Daftar Rumus... xi
Daftar Lampiran... xii
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah………... 1
1.2. Identifikasi Masalah... 2
1.3. Rumusan Masalah... 2
1.4. Tujuan………...… 2
1.5. Pembatasan Masalah………. 2
1.6. Sistematika Penulisan... 2
BAB II LANDASAN TEORI 2.1. Pengertian Tanda Tangan... 4
2.2. Pengolahan Citra... 4
2.2.1. Pemotongan Citra (Image Cropping)... 7
2.2.2. Penskalaan Citra (Image Resizing)... 7
2.3. Jaringan Syaraf Heteroassociative Memory……….. 7
2.3.1. Arsitektur …..………..……….. 8
2.3.2. Algoritma.………...………... 9
vi Universitas Kristen Maranatha
2.4.1. Komponen Visual Basic………..………..….. 11
2.4.2. Operator Visual Basic………..………... 14
2.4.3. Objek Visual pada Visual Basic………..……… 16
2.4.4. Data pada Visual Basic... 18
2.4.5. Conditional Statement... 18
2.4.6. Looping Statement... 19
2.4.7. Graphics... 20
2.4.8. Teori Penanganan File (File Handling Theory)... 21
2.5 False Acceptance Rate (FAR) dan False Rejection Rate (FRR) ... 22
BAB III PERANCANGAN DAN REALISASI 3.1. Model Jaringan Syaraf Tiruan Heteroassociative Memory yang Direalisasi.... 23
3.2. Input Scanner, Deteksi Tepi, dan Penskalaan Citra... 27
3.3. Ekstraksi Ciri Citra Tanda Tangan ………..……….... 30
3.4. Pencarian Matriks Bobot Melalui Jaringan Syaraf Tiruan Heteroassociative Memory... 34
3.4.1. Pengujian Jaringan Heteroassociative dengan Citra Uji... 36
3.5. Tampilan GUI... 43
BAB IV DATA PENGAMATAN DAN ANALISA 4.1. Data Pengamatan………... 47
4.1.1. Data Pengamatan Nilai Tanda Tangan Uji “Robert”………. 47
4.1.2. Data Pengamatan Nilai Tanda Tangan Uji “Andreas”………..………. 52
4.1.3. Data Pengamatan Nilai Tanda Tangan Uji “Dhani”…………..………. 55
4.1.4. Data Pengamatan Nilai Tanda Tangan Uji “Dearni”….………. 59
4.1.5. Data Pengamatan Nilai Tanda Tangan Uji “Olive”…………...………. 64
vii Universitas Kristen Maranatha BAB V KESIMPULAN DAN SARAN
viii Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1 Icon yang terdapat pada Jendela Project ………... 12
Tabel 2.2 Operator Aritmatika ... 15
Tabel 2.3 Operator Penggabungan... 15
Tabel 2.4 Operator Logika... 16
Tabel 2.5 Bagian-bagian syntax statement type... 18
Tabel 3.1 Tabel Nilai Threshold Citra Tanda Tangan... 36
Tabel 4.1 Tabel 4.1 Tabel Hasil Pengujian Citra Tanda Tangan Asli “Robert”... 48
Tabel 4.2 Tabel Hasil Pengujian Citra Tanda Tangan “Robert” yang Dipalsukan.... 50
Tabel 4.3 Tabel Hasil Pengujian Nilai Tanda Tangan Asli “Andreas” ... 52
Tabel 4.4 Tabel Hasil Pengujian Citra Tanda Tangan “Andreas” yang Dipalsukan.. 54
Tabel 4.5 Tabel Hasil Pengujian Citra Tanda Tangan Asli “Dhani”... 56
Tabel 4.6 Tabel Hasil Pengujian Citra Tanda Tangan “Dhani” yang Dipalsukan .... 58
Tabel 4.7 Tabel Hasil Pengujian Nilai Tanda Tangan Asli “Dearni” ... 60
Tabel 4.8 Tabel Hasil Pengujian Nilai Tanda Tangan “Dearni” yang Dipalsukan.... 62
Tabel 4.9 Tabel Hasil Pengujian Nilai Tanda Tangan Asli “Olive” ... 64
Tabel 4.10 Tabel Hasil Pengujian Nilai Tanda Tangan “Olive” yang Dipalsukan.... 66
Tabel 4.11 Tabel Tingkat Persentase False Acceptance Rate (FAR) ... 68
ix Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1 Pemotongan Citra... 7
Gambar 2.2 Jaringan Syaraf Tiruan Heteroassociative Memory... 8
Gambar 2.3 Visualisasi Pencarian Matriks Bobot dengan Perkalian Matriks... 10
Gambar 2.4 Tampilan Dasar Microsoft Visual Basic 6.0... 11
Gambar 2.5 Jendela Project... 11
Gambar 2.6 Tampilan Form... 12
Gambar 2.7 Toolbox... 13
Gambar 2.8 Jendela Properties... 13
Gambar 3.1.a Diagram Blok Pembuatan Database dari Citra Referensi... 23
Gambar 3.1.b Diagram Blok Pengujian Citra Uji pada Verifikasi Tanda Tangan... 23
Gambar 3.2 Model Jaringan Syaraf Tiruan Heteroassociative Memory yang Direalisasi... 24
Gambar 3.3 Diagram Alir Utama Program Pencarian Nilai Database Citra Referensi... 25
Gambar 3.4 Diagram Alir Utama Pengujian Program dengan Citra Uji... 26
Gambar 3.5 Diagram Alir Pengambilan Citra... 26
Gambar 3.5 Diagram Alir Pemotongan Citra... 27
Gambar 3.7 Diagram Alir Penskalaan Citra... 28
Gambar 3.8 Sel 4 x 4 pixel Beserta Nilai Pembobotan... 29
Gambar 3.9 Diagram Alir Ekstraksi Ciri Citra Tanda Tangan... 30
Gambar 3.10 Diagram Alir Pengambilan Nilai Rata-Rata Ekstraksi Ciri... 32
Gambar 3.11 Diagram Alir Pencarian Matriks Bobot... 34
Gambar 3.12 Diagram Alir Pengujian Jaringan Heteroassociative dengan Citra Uji... 37
x Universitas Kristen Maranatha
Gambar 4.1 Contoh Citra Tanda Tangan “Robert”... 46
Gambar 4.2 Contoh Citra Tanda Tangan “Andreas”... 46
Gambar 4.3 Contoh Citra Tanda Tangan “Dhani”... 46
Gambar 4.4 Contoh Citra Tanda Tangan “Dearni”... 47
Gambar 4.5 Contoh Citra Tanda Tangan “Olive”... 47
xi Universitas Kristen Maranatha
DAFTAR RUMUS
Rumus (2.1)... 7
Rumus (2.2)... 7
Rumus (2.3)... 8
Rumus (2.4)... 9
Rumus (2.5)... 9
Rumus (2.6)... 9
Rumus (2.7)... 9
Rumus (2.8)... 22
xii Universitas Kristen Maranatha
DAFTAR LAMPIRAN
LAMPIRAN A
LIST PROGRAM VISUAL BASIC... A-1 LAMPIRAN B
TAMPILAN PADA VISUAL BASIC... B-1 LAMPIRAN C
LAMPIRAN A
A-1
PROGRAM UTAMA
Dim sx, sy, h As Long
Dim xh, yh, xki, yki, xka, yka As Long Dim skalax, skalay, a, c, d, e As Long Dim s(1 To 5, 1 To 5) As Long Dim sum(1 To 41, 1 To 41) As Long
Dim f As Long, hs As Long, xah As Long, yah As Long, j As Long
Dim hasilterakhir(1 To 101) As Long, cekrow As Long, cekcol As Long, jst As Long Dim out1(1, 5) As Double, out2(1, 5) As Double, out3(1, 5) As Double, out4(1, 5) As Double, out5(1, 5) As Double
Dim rata_1(1 To 101, 1) As Double, rata_2(1 To 101, 1) As Double, rata_3(1 To 101, 1) As Double, rata_4(1 To 101, 1) As Double, rata_5(1 To 101, 1) As Double
Dim postitik, namafile
Dim bobot_1(102, 6) As Double, bobot_2(102, 6) As Double, bobot_3(102, 6) As Double, bobot_4(102, 6) As Double, bobot_5(102, 6) As Long, bobot_tot(101, 5) As Double
Dim yin1 As Double, yin2 As Double, yin3 As Double, yin4 As Double, yin5 As Double
Dim thrmin(5, 5) As Double, thrmax(5, 5) As Double
Private Sub Command3_Click() ‘membuka file citra dan ditampilkan pada picture4 CommonDialog1.ShowOpen
A-2 End Sub
Private Sub Command5_Click() Picture1.AutoRedraw = True
lebar = Picture1.Width tinggi = Picture1.Height yki = tinggi
xki = lebar yka = 0 xka = 0
For brs = 1 To tinggi For klm = 1 To lebar
wrn = Picture1.Point(klm, brs) r = wrn And RGB(255, 0, 0)
g = (wrn And RGB(0, 255, 0)) / 256
b = ((wrn And RGB(0, 0, 255)) / 256) / 256 wrn = (r + g + b) / 3
If (wrn <= 128) Then bw = 0 Else bw = 1 If bw = 0 Then
A-3 If brs < yki Then yki = brs
If klm > xka Then xka = klm If brs > yka Then yka = brs End If
' binerisasi citra
If wrn >= 128 Then wrn = 200 Else wrn = 0 Picture3.PSet (klm, brs), RGB(wrn, wrn, wrn) Next klm
Next brs
lbrttd = xka - xki tggittd = yka - yki sx = lbrttd / 40 sy = tggittd / 40 Text1.Text = sx Text2.Text = sy Text3.Text = xki Text4.Text = yki Text5.Text = xka Text6.Text = yka ' tampilkan cropping
A-4 wrn = Picture1.Point(klm, brs)
Picture3.PSet (klm, brs), wrn Next klm
Next brs yh = 1
For brs = xki To xka Step Int(sy) xh = 1
For klm = yki To yka Step Int(sx)
' cari jumlah piksel warna hitam simpan di h
h = 0
For baris = brs To (brs + Int(sy)) For kolom = klm To (klm + Int(sx)) x = Picture1.Point(baris, kolom) r = x And RGB(255, 0, 0)
g = (x And RGB(0, 255, 0)) / 256
b = ((x And RGB(0, 0, 255)) / 256) / 256 x = (r + g + b) / 3
If x <= 128 Then h = h + 1 Next kolom
Next baris
A-5
' jika h> threshold , diberi warna hitam
If h > (sx * sy) / 3 Then
Picture4.PSet (yh, xh), RGB(0, 0, 0) Else
Picture4.PSet (yh, xh), RGB(255, 255, 255) End If
Debug.Print xh xh = xh + 1 Next klm yh = yh + 1 Next brs
End Sub
Private Sub Command1_Click()
‘input nilai bobot per 4 x 4 sel (per blok)
A-6 s(3, 1) = 256
s(3, 2) = 512 s(3, 3) = 1024 s(3, 4) = 2048 s(4, 1) = 4096 s(4, 2) = 8192 s(4, 3) = 16384 s(4, 4) = 32768
‘input nilai target output
A-7 out3(0, 5) = 1
out4(0, 1) = 1 out4(0, 2) = 0 out4(0, 3) = 0 out4(0, 4) = 0 out4(0, 5) = 0 out5(0, 1) = 0 out5(0, 2) = 0 out5(0, 3) = 0 out5(0, 4) = 0 out5(0, 5) = 0
Picture4.AutoRedraw = False lebar = Picture4.Width tinggi = Picture4.Height d = tinggi
a = lebar e = 0 c = 0
For brs = 1 To tinggi For klm = 1 To lebar
A-8 g = (wrna And RGB(0, 255, 0)) / 256
b = ((wrna And RGB(0, 0, 255)) / 256) / 256 wrna = (r + g + b) / 3
If (wrna <= 128) Then bw = 0 Else bw = 1 If bw = 0 Then
If klm < a Then a = klm If brs < d Then d = brs If klm > c Then c = klm If brs > e Then e = brs End If
lbarttd = c - a tiggittd = e - d skalax = 4 skalay = 4
A-9 Next klm
Next brs hs = 1 yah = 1
For row = a To c Step Int(skalay) xah = 1
For col = d To e Step Int(skalax)
' cari jumlah piksel warna hitam simpan di i
cekrow = 1
f = 0
For rows = row To (row + Int(skalay)) cekcol = 1
For Column = col To (col + Int(skalax)) z = Picture4.Point(Column, rows) r = z And RGB(255, 0, 0)
g = (z And RGB(0, 255, 0)) / 256
b = ((z And RGB(0, 0, 255)) / 256) / 256 z = (r + g + b) / 3
If (z <= 128) Then black = 0 Else black = 1
If black = 0 Then
A-10 Else
sum(Column, rows) = 0 End If
cekcol = cekcol + 1
f = f + (sum(Column, rows) / 655.35) Next Column
cekrow = cekrow + 1 Next rows
List1.AddItem "f=" & f hasilterakhir(hs) = f hs = hs + 1
xah = xah + 1 Next col yah = yah + 1 Next row
postitik = InStr(Text13.Text, ".")
namafile = Left(Text13.Text, postitik - 1) + ".csv" ‘simpan nilai hasil ekstraksi ciri
Open namafile For Output As #1 For f = 1 To 101
A-11 Next f
Close #1
‘ambil nilai rata-rata ekstraksi ciri citra referensi
Dim ratarata_1 As String, ratarata_2 As String, ratarata_3 As String, ratarata_4 As String, ratarata_5 As String
Open "d:\TA vbee\AMBIL DATA TA VBEE\robert.csv" For Input As #1 i = 1
Do Until EOF(1)
Line Input #1, ratarata_1
List2.AddItem "rata2 =" & ratarata_1 rata_1(i, 1) = Val(ratarata_1)
i = i + 1 Loop Close #1
Open "d:\TA vbee\AMBIL DATA TA VBEE\andreas.csv" For Input As #2 i = 1
Do Until EOF(2)
Line Input #2, ratarata_2
List3.AddItem "rata2 =" & ratarata_2 rata_2(i, 1) = Val(ratarata_2)
A-12 Loop
Close #2
Open "d:\TA vbee\AMBIL DATA TA VBEE\dhani.csv" For Input As #3 i = 1
Do Until EOF(3)
Line Input #3, ratarata_3
List4.AddItem "rata2 =" & ratarata_3 rata_3(i, 1) = Val(ratarata_3)
i = i + 1 Loop Close #3
Open "d:\TA vbee\AMBIL DATA TA VBEE\dea.csv" For Input As #4 i = 1
Do Until EOF(4)
Line Input #4, ratarata_4
List5.AddItem "rata2 =" & ratarata_4 rata_4(i, 1) = Val(ratarata_4)
A-13
Open "d:\TA vbee\AMBIL DATA TA VBEE\livi.csv" For Input As #5 i = 1
Do Until EOF(5)
Line Input #5, ratarata_5
List6.AddItem "rata2 =" & ratarata_5 rata_5(i, 1) = Val(ratarata_5)
i = i + 1 Loop Close #5 End Sub
Private Sub Command6_Click() Dim strbobottot As Long, fvl As Long Dim i As Integer, j As Integer, k As Integer Dim filename, namefile
thrmin(1, 1) = 49133 ‘input nilai threshold thrmin(1, 2) = 46299
A-14 thrmin(2, 5) = 69956.1
A-15 thrmax(2, 3) = 69138.9
thrmax(2, 4) = 95085.5 thrmax(2, 5) = 144453.1 thrmax(3, 1) = 132580.1 thrmax(3, 2) = 128425.9 thrmax(3, 3) = 51454.1 thrmax(3, 4) = 80271.1 thrmax(3, 5) = 128425.9 thrmax(4, 1) = 35611.3 thrmax(4, 2) = 23486.3 thrmax(4, 3) = 10518.3 thrmax(4, 4) = 18664.5 thrmax(4, 5) = 23486.3 thrmax(5, 1) = 20367.4 thrmax(5, 2) = 17992.2 thrmax(5, 3) = 8045.6 thrmax(5, 4) = 14286 thrmax(5, 5) = 17992.2
‘pengujian terhadap citra uji
A-16 Next j
Next i
For j = 1 To 5
List7.AddItem "kolom = " & j For i = 1 To 100
bobot_1(i, j) = (rata_1(i, 1) * out1(0, j)) bobot_2(i, j) = (rata_2(i, 1) * out2(0, j)) bobot_3(i, j) = (rata_3(i, 1) * out3(0, j)) bobot_4(i, j) = (rata_4(i, 1) * out4(0, j)) bobot_5(i, j) = (rata_5(i, 1) * out5(0, j))
bobot_tot(i, j) = bobot_5(i, j) + bobot_4(i, j) + bobot_3(i, j) + bobot_2(i, j) + bobot_1(i, j)
strbobottot = bobot_tot(i, j)
List7.AddItem "bobot total=" & strbobottot Next i
A-17 For i = 1 To 100
yin1 = yin1 + (bobot_tot(i, 1) * hasilterakhir(i)) yin2 = yin2 + (bobot_tot(i, 2) * hasilterakhir(i)) yin3 = yin3 + (bobot_tot(i, 3) * hasilterakhir(i)) yin4 = yin4 + (bobot_tot(i, 4) * hasilterakhir(i)) yin5 = yin5 + (bobot_tot(i, 5) * hasilterakhir(i)) Next i
List8.AddItem yin1 List8.AddItem yin2 List8.AddItem yin3 List8.AddItem yin4 List8.AddItem yin5
filename = Mid(Text13.Text, 31, 5) Text15.Text = filename
‘penentuan range nilai threshold masing-masing citra tanda tangan
If Text15.Text = "robet" Then
A-18
If fvl1 = 1 And fvl2 = 1 And fvl3 = 0 And fvl4 = 1 And fvl5 = 1 Then Text14.Text = "Robert" Else: Text14.Text = "unknown"
End If
If Text15.Text = "andre" Then
If thrmin(2, 1) <= yin1 And yin1 <= thrmax(2, 1) Then fvl1 = 1 Else fvl1 = 0 If thrmin(2, 2) <= yin2 And yin2 <= thrmax(2, 2) Then fvl2 = 1 Else fvl2 = 0 If thrmin(2, 3) <= yin3 And yin3 <= thrmax(2, 3) Then fvl3 = 1 Else fvl3 = 0 If thrmin(2, 4) <= yin4 And yin4 <= thrmax(2, 4) Then fvl4 = 1 Else fvl4 = 0 If thrmin(2, 5) <= yin5 And yin5 <= thrmax(2, 5) Then fvl5 = 1 Else fvl5 = 0 If fvl1 = 1 And fvl2 = 1 And fvl3 = 1 And fvl4 = 1 And fvl5 = 1 Then Text14.Text = "Andreas" Else: Text14.Text = "unknown"
End If
If Text15.Text = "dhani" Then
If thrmin(3, 1) <= yin1 And yin1 <= thrmax(3, 1) Then fvl1 = 1 Else fvl1 = 0 If thrmin(3, 2) <= yin2 And yin2 <= thrmax(3, 2) Then fvl2 = 1 Else fvl2 = 0 If thrmin(3, 3) <= yin3 And yin3 <= thrmax(3, 3) Then fvl3 = 0 Else fvl3 = 1 If thrmin(3, 4) <= yin4 And yin4 <= thrmax(3, 4) Then fvl4 = 0 Else fvl4 = 1 If thrmin(3, 5) <= yin5 And yin5 <= thrmax(3, 5) Then fvl5 = 1 Else fvl5 = 0 If fvl1 = 1 And fvl2 = 1 And fvl3 = 0 And fvl4 = 0 And fvl5 = 1 Then Text14.Text = "Dhani" Else: Text14.Text = "unknown"
A-19 If Text15.Text = "dearn" Then
If thrmin(4, 1) <= yin1 And yin1 <= thrmax(4, 1) Then fvl1 = 1 Else fvl1 = 0 If thrmin(4, 2) <= yin2 And yin2 <= thrmax(4, 2) Then fvl2 = 0 Else fvl2 = 1 If thrmin(4, 3) <= yin3 And yin3 <= thrmax(4, 3) Then fvl3 = 0 Else fvl3 = 1 If thrmin(4, 4) <= yin4 And yin4 <= thrmax(4, 4) Then fvl4 = 0 Else fvl4 = 1 If thrmin(4, 5) <= yin5 And yin5 <= thrmax(4, 5) Then fvl5 = 0 Else fvl5 = 1 If fvl1 = 1 And fvl2 = 0 And fvl3 = 0 And fvl4 = 0 And fvl5 = 0 Then Text14.Text = "Dearni" Else: Text14.Text = "unknown"
End If
If Text15.Text = "olive" Then
If thrmin(5, 1) <= yin1 And yin1 <= thrmax(5, 1) Then fvl1 = 0 Else fvl1 = 1 If thrmin(5, 2) <= yin2 And yin2 <= thrmax(5, 2) Then fvl2 = 0 Else fvl2 = 1 If thrmin(5, 3) <= yin3 And yin3 <= thrmax(5, 3) Then fvl3 = 0 Else fvl3 = 1 If thrmin(5, 4) <= yin4 And yin4 <= thrmax(5, 4) Then fvl4 = 0 Else fvl4 = 1 If thrmin(5, 5) <= yin5 And yin5 <= thrmax(5, 5) Then fvl5 = 0 Else fvl5 = 1 If fvl1 = 0 And fvl2 = 0 And fvl3 = 0 And fvl4 = 0 And fvl5 = 0 Then Text14.Text = "Olive" Else: Text14.Text = "unknown"
End If
A-20 End Sub
Private Sub Command2_Click()
List1.Clear List2.Clear List3.Clear List4.Clear List5.Clear List6.Clear List7.Clear List8.Clear List9.Clear Text14.Text = "" Text15.Text = "" End Sub
Private Sub Command4_Click() ‘akhiri jalannya program End
LAMPIRAN B
B-1
Gambar B.1. Tampilan Awal Program
B-2
Gambar B.3. Tampilan Cropping Citra dan Resize Citra
B-3
Gambar B.5. Tampilan Hasil Pengujian Citra Uji “Robert”
B-4
Gambar B.7. Tampilan Hasil Pengujian Citra Uji “Dhani”
B-5
LAMPIRAN C
C-1 NILAI RATA-RATA EKSTRAKSI CIRI
C-2
Andreas
C-4
dearni
C-7
22 0
47
15
72
0
97
0
23 10
48
0
73
0
98
0
24 0
49
0
74
0
99
0
25 8.8
50
0
75
0
100
0
VERIFIKASI TANDA TANGAN
Seluruh data yang diambil : (Ket: “sesuai” untuk file no 6-35 = terverifikasi asli;
“tidak sesuai” untuk file no 6-35 = tidak terverifikasi asli; “sesuai” untuk file no 36
-65 = tidak terverifikasi palsu; “tidak sesuai” untuk file no 36-65 = terverifikasi palsu)
Nama file Gambar asli Resized Image Target Hasil Ket
Robet6
1 1 0 1 1
1 1 0 1 1
sesuai
Robet7 1
1 0 1 1
1 1 0 1 1
C-8 Robet8
1 1 0 1 1
1 1 0 1 1
sesuai
Robet9 1
1 0 1 1
1 1 1 1 1
Tidak sesuai
Robet10 1
1 0 1 1
0 0 1 1 0
Tidak sesuai
Robet11
1 1 0 1 1
1 1 0 1 1
C-9
Robet12 1
1 0 1 1
1 1 0 1 1
sesuai
Robet13 1
1 0 1 1
1 1 0 1 1
sesuai
Robet14 1
1 0 1 1
1 1 0 1 1
sesuai
Robet15
1 1 0 1 1
1 1 1 1 1
tidak sesuai
Robet16
1 1 0 1 1
1 1 0 1 1
C-10 Robet17
1
sesuai
Robet18
1 sesuai
Robet19
1
sesuai
Robet20
1
sesuai
Robet21
1
C-11 Robet22
1 sesuai
Robet23
1 sesuai
robet24
1
sesuai
robet25
1
sesuai
robet26
C-12 robet27
1 sesuai
robet28
1
sesuai
robet29
1
sesuai
robet30
1
sesuai
robet31
C-13 robet32
1 sesuai
robet33
1
sesuai
robet34
1
sesuai
robet35
1
sesuai
robet36
C-14 robet37
1
robet38
1
robet39
1
robet40
1
robet41
1
C-15 robet42
1
robet43
1
robet44
1
robet45
1
sesuai
robet46
C-16 robet47
1
robet48
1
robet49
1
robet50
1
robet51
1
C-17 robet52
1
robet53
1
robet54
1
sesuai
robet55
1
sesuai
robet56
C-18 robet57
1
robet58
1
robet59
1
robet60
1
robet61
C-19 robet62
1
robet63
1
robet64
1
robet65
1
Andre6
1
C-20
Andre7 1
1 1 1 1
1 1 1 1 1
sesuai
Andre8 1
1 1 1 1
1 1 1 1 1
sesuai
Andre9 1
1 1 1 1
1 1 1 1 1
sesuai
Andre10 1
1 1 1 1
1 1 1 1 1
C-21
Andre11 1
1 1 1 1
1 1 1 1 1
sesuai
Andre12
1 1 1 1 1
1 1 1 1 1
sesuai
andre13
1 1 1 1 1
1 1 1 1 1
sesuai
andre14
1 1 1 1 1
1 1 1 1 1
C-22 andre15
1
sesuai
andre16
1
sesuai
andre17
1
sesuai
andre18
1
sesuai
andre19
1
sesuai
andre20
1
C-23 andre21
1
sesuai
andre22
1
sesuai
andre23
1
sesuai
andre24
1
sesuai
andre25
1
sesuai
andre26
1
C-24 andre27
1
sesuai
andre28
1
sesuai
andre29
1
sesuai
andre30
1
sesuai
andre31
1
C-25 andre32
1 sesuai
andre33
1
sesuai
andre34
1
sesuai
andre35
1
sesuai
andre36
1
andre37
C-26 andre38
1
andre39
1
andre40
1
andre41
1
sesuai
andre42
1
sesuai
andre43
C-27 andre44
1
andre45
1
andre46
1
sesuai
andre47
1 sesuai
andre48
1
sesuai
andre49
C-28 andre50
1
andre51
1
andre52
1
andre53
1
andre54
1
C-29 andre55
1 sesuai
andre56
1
sesuai
andre57
1
andre58
1
andre59
1
andre60
1
C-30 andre61
1
andre62
1
andre63
1
andre64
1
sesuai
andre65
1 sesuai
Dhani6
1
C-31 Dhani7
1 1 0 0 1
1 1 0 0 1
sesuai
Dhani8
1 1 0 0 1
1 1 0 0 1
sesuai
Dhani9
1 1 0 0 1
1 1 0 0 1
C-32
Dhani10 1
1 0 0 1
1 1 0 0 1
sesuai
Dhani11
1 1 0 0 1
1 1 0 0 1
sesuai
Dhani12
1 1 0 0 1
1 1 0 0 1
sesuai
Dhani13
1 1 0 0 1
1 1 0 0 1
C-33 Dhani14
1
sesuai
Dhani15
1
sesuai
Dhani16
1
sesuai
Dhani17
1
sesuai
Dhani18
1
sesuai
Dhani19
1
C-34 Dhani20
1
sesuai
Dhani21
1 sesuai
Dhani22
1
sesuai
Dhani23
1
Dhani24
1
Dhani25
C-35 Dhani26
1
sesuai
Dhani27
1 sesuai
Dhani28
1
sesuai
Dhani29
1
sesuai
Dhani30
1
C-36 Dhani31
1
sesuai
Dhani32
1
sesuai
Dhani33
1
sesuai
Dhani34
1
Dhani35
1
Dhani36
C-37 Dhani37
1
Dhani38
1
sesuai
Dhani39
1
sesuai
Dhani40
1
sesuai
Dhani41
1 sesuai
Dhani42
1
C-38 Dhani43
1
sesuai
Dhani44
1
sesuai
Dhani45
1
sesuai
Dhani46
1 sesuai
Dhani47
1
sesuai
Dhani48
1
C-39 Dhani49
1
sesuai
Dhani50
1 sesuai
Dhani51
1
sesuai
Dhani52
1 sesuai
Dhani53
1
sesuai
Dhani54
1
C-40 Dhani55
1
sesuai
Dhani56
1
sesuai
Dhani57
1
Dhani58
1
Dhani59
1
Dhani60
C-41 Dhani61
1
Dhani62
1
sesuai
Dhani63
1
sesuai
Dhani64
1
Dhani65
1
Dearn6
C-42
Dearn7 1
0 0 0 0
0 1 1 1 1
Tidak sesuai
Dearn8 1
0 0 0 0
1 0 0 0 0
sesuai
Dearn9 1
0 0 0 0
1 0 0 0 0
sesuai
Dearn10 1
C-43
Dearn11 1
0 0 0 0
1 0 0 0 0
sesuai
Dearn12 1
0 0 0 0
1 0 0 0 0
sesuai
Dearn13
1 0 0 0 0
1 0 0 0 0
sesuai
Dearn14
1 0 0 0 0
1 1 0 0 1
C-44 Dearn15
1 sesuai
Dearn16
1
sesuai
Dearn17
1
Dearn18
1
Dearn19
1
sesuai
Dearn20
C-45 Dearn21
1
sesuai
Dearn22
1 sesuai
Dearn23
1
Dearn24
1
Dearn25
1
Dearn26
C-46 Dearn27
1
Dearn28
1
Dearn29
1
Dearn30
1
sesuai
Dearn31
1
sesuai
Dearn32
1
C-47 Dearn33
1
sesuai
Dearn34
1
Dearn35
1
Dearn36
1
Dearn37
1
sesuai
Dearn38
C-48 Dearn39
1
Dearn40
1
Dearn41
1
Dearn42
1
Dearn43
1
Dearn44
C-49 Dearn45
1
Dearn46
1
Dearn47
1
Dearn48
1
Dearn49
1 sesuai
Dearn50
C-50 Dearn51
1
sesuai
Dearn52
1 sesuai
Dearn53
1
sesuai
Dearn54
1 sesuai
Dearn55
1
sesuai
Dearn56
C-51 Dearn57
1
sesuai
Dearn58
1
sesuai
Dearn59
1
Dearn60
1
Dearn61
1
Dearn62
C-52 Dearn63
1
Dearn64
1
Dearn65
1
Olive6
0
sesuai
Olive7
C-53 Olive8
0 0 0 0 0
1 1 1 0 1
Tidak sesuai
Olive9
0 0 0 0 0
1 1 1 1 1
Tidak sesuai
Olive10
0 0 0 0 0
0 0 0 0 0
sesuai
Olive11
0 0 0 0 0
0 0 0 0 0
C-54 Olive12
0
sesuai
Olive13
0
sesuai
Olive14
0
sesuai
Olive15
0
sesuai
Olive16
0
C-55 Olive17
0
sesuai
Olive18
0
sesuai
Olive19
0
sesuai
Olive20
0
sesuai
Olive21
0
C-56 Olive22
0
sesuai
Olive23
0
sesuai
Olive24
0 sesuai
Olive25
0 sesuai
Olive26
0
C-57 Olive27
0 sesuai
Olive28
0
sesuai
Olive29
0
sesuai
Olive30
0
Olive31
C-58 Olive32
0 sesuai
Olive33
0
sesuai
Olive34
0
Olive35
0
Olive36
0
C-59 Olive37
0
Olive38
0
Olive39
0
Olive40
0
Olive41
C-60 Olive42
0
Olive43
0
Olive44
0
sesuai
Olive45
0
sesuai
Olive46
C-61 Olive47
0
sesuai
Olive48
0
sesuai
Olive49
0
Olive50
0
Olive51
C-62 Olive52
0 sesuai
Olive53
0
Olive54
0
Olive55
0
sesuai
Olive56
0
C-63 Olive57
0 sesuai
Olive58
0
sesuai
Olive59
0
sesuai
Olive60
0
Olive61
C-64 Olive62
0 0 0 0 0
1 1 1 1 1
tidak sesuai
Olive63
0 0 0 0 0
0 0 1 1 1
tidak sesuai
Olive64
0 0 0 0 0
0 0 0 0 0
tidak sesuai
Olive65
0 0 0 0 0
1 1 0 0 1
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
Pada bab ini akan dibahas mengenai latar belakang, identifikasi masalah, perumusan masalah, tujuan, pembatasan masalah, metodologi, dan sistematika penulisan.
1.1 Latar Belakang Masalah
Tanda tangan merupakan tulisan tangan, kadang-kadang diberi gaya tulisan tertentu dari nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen sebagai sebuah bukti dari identitas dan kemauan. Seringnya terjadi pemalsuan tanda tangan dapat disebabkan oleh sistem verifikasi yang kurang baik. Sebagian besar verifikasi tanda tangan dilakukan dengan cara manual, yaitu dengan membandingkan secara langsung menggunakan mata manusia yang memiliki banyak kelemahan terutama jika melakukan cukup banyak verifikasi. Hal tersebut menyebabkan ketelitian dan ketepatan hasil yang diinginkan seringkali kurang memuaskan.
Telah banyak dikembangkan metode verifikasi tanda tangan, antara lain menggunakan metode pola busur terlokasi, fuzzy logic, dan lain-lain. Salah satu metode yang digunakan untuk proses verifikasi tanda tangan adalah metode
Artificial Neural Network (ANN). Dalam bahasa Indonesia, Artificial Neural
Network dikenal dengan Jaringan Syaraf Tiruan (JST). Jaringan Syaraf Tiruan
adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. JST digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data.
Pada Tugas Akhir ini dirancang sistem verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory secara offline.
1.2 Identifikasi Masalah
2
Universitas Kristen Maranatha metode Jaringan Syaraf Tiruan Heteroassociative Memory menggunakan Visual
Basic 6.0.
1.3 Perumusan Masalah
Permasalahan yang akan dibahas dalam Tugas Akhir ini meliputi : 1. Bagaimana merancang sistem verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory menggunakan Visual
Basic 6.0?
2. Berapa persen tingkat keberhasilan proses verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory?
1.4 Tujuan
Tujuan yang ingin dicapai dari Tugas Akhir ini bagi mahasiswa adalah : 1. Merancang sistem verifikasi tanda tangan dengan menggunakan metode Jaringan Syaraf Tiruan Heteroassociative Memory.
2. Mengetahui tingkat keberhasilan proses verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory.
1.5 Pembatasan Masalah
1. Proses scan tanda tangan dilakukan dengan menggunakan sebuah scanner. 2. Citra tanda tangan yang menjadi masukan untuk Jaringan Syaraf Tiruan Heteroassociative Memory adalah 40 x 40 pixel.
3. Citra tanda tangan (baik referensi maupun uji) tidak diujikan dengan berbagai kemiringan dan ukuran.
1.6 Sistematika Penulisan
Penyusunan laporan tugas akhir terdiri dari lima bab sebagai berikut :
BAB I. PENDAHULUAN
3
Universitas Kristen Maranatha BAB II. LANDASAN TEORI
Pada bab ini akan dibahas teori-teori yang akan digunakan untuk merancang program verifikasi tanda tangan dengan metoda Artificial
Neural Network (ANN), antara lain pengertian tanda tangan, pengolahan
citra, pemotongan citra (image cropping), penskalaan citra (image
resizing), Jaringan Syaraf Heteroassociative Memory, dan Visual Basic
6.0.
BAB III. PERANCANGAN DAN REALISASI
Pada bab ini dijelaskan mengenai diagram blok pembuatan database dari citra referensi, diagram blok pengujian citra uji pada verifikasi tanda tangan, dan cara kerja sistem untuk merancang program verifikasi tanda tangan dengan metoda Jaringan Syaraf Tiruan Heteroassociative Memory yang meliputi input citra dari scanner, pemotongan citra, penskalaan citra, ekstraksi ciri tanda tangan, penghitungan nilai bobot, dan pengujian JST
Heteroassociative Memory dengan citra uji.
BAB IV. DATA PENGAMATAN DAN ANALISA
Pada bab ini berisi tentang data pengamatan hasil pengujian program, tabel
hasil pengujian nilai tanda tangan uji “Robert”, tabel hasil pengujian nilai
tanda tangan uji “Andreas”, tabel hasil pengujian nilai tanda tangan uji “Dhani”, tabel hasil pengujian nilai tanda tangan uji “Dearni”, tabel hasil pengujian nilai tanda tangan uji “Olive”, perhitungan tingkat keberhasilan metoda yang digunakan, dan analisa data hasil pengujian program.
BAB V. KESIMPULAN DAN SARAN
70 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
Bab ini merupakan bab penutup yang berisi kesimpulan dari hasil penelitian dan analisis dari Tugas Akhir ini serta saran bagi pihak yang terkait
berkenaan dengan pembuatan “Verifikasi Tanda Tangan dengan Metode Jaringan
Syaraf Tiruan Heteroassociative Memory”. 5.1 Kesimpulan
1. Pembuatan program verifikasi tanda tangan dengan metode Jaringan Syaraf Tiruan Heteroassociative Memory berhasil diimplementasikan dengan
Visual Basic 6.0.
2. Dari hasil pengujian program terhadap 5 orang, masing-masing 60 kali pengujian (30 kali pengujian tanda tangan asli dan 30 kali pengujian tanda tangan palsu) didapat persentase FAR dan FRR untuk masing-masing orang. Nilai paling besar untuk persentase FAR adalah 60 % untuk tanda tangan Dearni dan FRR sebesar 56,67 % untuk tanda tangan Dhani. 3. Faktor-faktor yang mempengaruhi kegagalan proses verifikasi (baik asli
maupun palsu) adalah perbedaan panjang tanda tangan, ketebalan tanda tangan, dan kesamaan kerapatan tanda tangan sehingga mempengaruhi perhitungan nilai input yang akan diolah dalam Jaringan Syaraf Tiruan
Heteroassociative Memory.
5.2 Saran
1. Program tanda tangan yang direalisasi dapat dikembangkan secara online. 2. Perlu dibandingkan Jaringan Syaraf Heteroassociative Memory dengan
metode lainnya agar dapat diketahui metode mana yang lebih baik untuk proses verifikasi tanda tangan.
Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Signature http://en.wikipedia.org/wiki/Signature 6 Maret 2012
2. Munir, Rinaldi. 2007. Pengolahan Citra Digital. Bandung : Indonesia 3. http://digilib.mdp.ac.id/files/disk1/1/---idhawatihe-47-1-pengolah-a.pdf
17 Maret 2012
4. Kristanto, Andri. 2004. Jaringan Syaraf Tiruan (Konsep Dasar, Algoritma, dan
Aplikasi). Yogyakarta : Gava Media
5. Ramadhan, Arief. 2004. Seri Penuntun Praktis : Microsoft Visual Basic. Jakarta : Elex Media
6. http://id.wikipedia.org/wiki/Visual_Basic 20 Februari 2012
7. How to read simple text files
http://www.vb6.us/tutorials/how-read-simple-text-files 17 Maret 2012
8. Visual Basic for Applications Reference http://msdn.microsoft.com/en-us/library/aa243392(v=vs.60).aspx 17 Maret 2012