Aplikasi Verifikasi Tandatangan dengan Pola Model Khusus berbasis Pola Busur Terlokalisasi.

DOKUMEN KELENGKAPAN PENGAJUAN HAKI
Nomor Permohonan: C00201304231
Tanggal 14 September 2013

MANUAL BOOK
(USER GUIDE
DOKUMENTASI PERANCANGAN,
PEMBUATAN, UJICOBA & ANALISA)

PROGRAM KOMPUTER
APLIKASI VERIFIKASI TANDATANGAN
DENGAN POLA MODEL KHUSUS
BERBASIS POLA BUSUR TERLOKALISASI
ANAK AGUNG KOMPIANG OKA SUDANA
JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK UNIVERSITAS UDAYANA

BALI - 2013

1


DOKUMENTASI SISTEM
TAHAP PERANCANGAN DAN PEMBUATAN
SISTEM VERIFIKASI TANDA TANGAN

Dijelaskan tentang perancangan dan pembuatan perangkat lunak, yang
meliputi gambaran umum sistem, proses pembentukan dan pemilihan pola model
yang sesuai, serta perancangan dan pembuatan sistem verifikasi dengan
memasukkan pola model yang telah ditentukan sebelumnya.

3.1.

GAMBARAN UMUM SISTEM VERIFIKASI

Bentuk umum sistem verifikasi dapat dijelaskan melalui keterkaitan antara
masukan, proses, data dan keluaran yang mengacu pada diagram alir data sistem
(Gambar 2.7). Keterkaitan masing-masing komponen terlihat pada Gambar 3.1.
Pertama pada tahap persiapan, pengembang sistem membuat dan memilih
pola model yang akan dipakai untuk mengekstraksi ciri tandatangan sesuai dengan
batasan pada Metode Pola Busur Terlokalisasi. Pola model yang diperoleh
kemudian dimasukkan sebagai pola model tetap sistem, yang mana pola model ini

hanya dimasukkan sekali saja yaitu pada saat pertama sistem dibuat.
Masukan yang diterima adalah citra tandatangan pengguna baik yang telah
terdaftar maupun belum terdaftar. Apabila seorang pengguna sudah pernah
mendaftarkan tandatangannya ke dalam basisdata acuan maka status pengguna
adalah pengguna terdaftar. Sebaliknya bila pengguna belum mendaftarkan
tandatangannya maka status pengguna adalah pengguna tak terdaftar.
1

2
Pengembang
sistem

Proses
pembuatan
pola model

Pengguna
tak terdaftar

Masukan

tandatangan
acuan

Pengguna
terdaftar

Basisdata
pola model

Masukan
tandatangan

Proses
pendaftaran
Proses
verifikasi

Laporan
verifikasi


Basisdata
acuan
Keluaran
verifikasi

Gambar 3.1
Bentuk rancangan sistem
Kata kunci untuk pengguna dalam pendaftaran ini adalah nomor identitas
(identity number). Pengguna yang belum terdaftar harus mendaftarkan diri melalui
proses pendaftaran terlebih dahulu. Proses ini bertugas membuat basisdata acuan
yang menyimpan cacah keseringan muncul masing-masing pola model dari
beberapa tandatangan sampel pengguna. Dalam basisdata acuan juga menyimpan
nilai kritis yang akan dipergunakan sebagai harga ambang pada saat proses
pembandingan nantinya. Setelah melewati proses pendaftaran maka status
pengguna menjadi pengguna terdaftar.

2

3


Verifikasi tandatangan dilakukan oleh pengguna terdaftar dengan cara
terlebih dahulu mengaktifkan basisdata acuan pengguna bersangkutan dengan
memasukkan nomor identitas pengguna, lalu memanggil file citra tandatangan
siap uji (telah mengalami pemrosesan menjadi data biner), setelah itu baru
dilakukan proses pembandingan. Sistem akan melakukan pembandingan antara
tandatangan uji dengan tandatangan dari basisdata acuan yang telah diaktifkan.
Keluaran sistem adalah berupa penerimaan atau penolakan terhadap tandatangan
masukan, laporan mengenai nilai ketidaksamaan dan waktu pemrosesan.

3.2.

PERSIAPAN SISTEM

Pembuatan sistem verifikasi tandatangan dalam penelitian ini memakai
pola-pola model dari Metode Pola Busur Terlokalisasi untuk mengekstraksi ciri
tandatangan masukan. Di samping menggunakan 77 buah pola (dikelompokkan
menjadi 67 pola model) seperti yang terlihat pada Gambar 2.6, juga akan dipakai
pola model baru yang pembuatannya tetap mengacu kepada batasan yang ada
dalam Metode Pola Busur Terlokalisasi ini.


3.2.1. PEMBENTUKAN POLA MODEL
Pembentukan pola model baru yang didasarkan pada batasan-batasan
dalam Metode Pola Busur Terlokalisasi untuk tulisan Jepang dengan tujuan untuk
mengurangi banyaknya pola model yang digunakan, sehingga waktu proses sistem
bisa lebih singkat. Batasan utamanya yaitu lokalisasi permasalahan pada pola
model yang didefinisikan di dalam sebuah bujur sangkar kecil berukuran 5 x 5,
tetapi pemilihannya berbasis pada sampel Tandatangan Orang Indonesia.
3

4

Batasan dalam bujur sangkar 5 x 5 juga menghasilkan kemungkinan pola
yang sangat banyak, sehingga diperlukan untuk menggunakan aturan-aturan
lainnya dari Metode Pola Busur Terlokalisasi tersebut. Berdasarkan aturan-aturan
tersebut maka pola-pola yang dibentuk oleh titik karakteristik dalam bujur sangkar
5 x 5 menghasilkan 125 buah kemungkinan pola awal dan bisa dikelompokkan
menjadi 103 pola model awal seperti terlihat pada Gambar 3.2(a) dan 3.2(b).
Adapun aturan-aturan dari Metode Pola Busur Terlokalisasi yang
digunakan sehingga menghasilkan pola-pola seperti terlihat pada Gambar 3.2(a)
dan 3.2(b) adalah sebagai berikut:




Titik-titik karakteristik yang digunakan adalah sebanyak 1, 2, 3, dan 5,
yang mana titik-titik karakteristik ini diantaranya juga bisa berfungsi
sebagai titik akhir. Penempatan titik-titik karakteristik ini tetap
mengacu pada pola busur dalam bentuk asli, yaitu diletakkan di atas
salah satu busur yang menghubungkan titik akhir dan berjarak sama.
Titik-titik akhir tersebut diletakkan pada posisi koordinat ganjil.



Untuk menghindari redudansi pada dua atau lebih pola yang sama,
maka dipilih satu pola yang mewakili pola-pola tersebut. Contohnya
pada pola nomor 1, mewakili 25 kemungkinan pola yang dihasilkan
jika menggunakan sebuah titik karakteristik.



Beberapa pola yang sejenis dalam hal ini banyaknya titik karakteristik

pola-pola tersebut sama dan juga berada pada busur yang sama,
dikelompokkan ke dalam sebuah pola model.

4

5
No.1 Model 1

No.2 Model 2



No.3 Model 3

No.4 Model 4

No.5 Model 5




No.6 Model 6

No.7 Model 7





No.8 Model 8




No.9 Model 9

No.10 Model 10






No.11 Model 11





No.13 Model 13

No.14 Model 14






No.12 Model 12





















No.18 Model 18

No.19 Model 19

No.20 Model 20

No.21 Model 21



No.15 Model 15

No.16 Model 16









No.17 Model 17



















No.22 Model 22

No.23 Model 23















No.24 Model 24

No.25 Model 25

No.26 Model 26

No.27 Model 27













No.28 Model 28























No.29 Model 29

No.30 Model 30









No.31 Model 31

No.32 Model 32

No.33 Model 33















No.34 Model 34

No.35 Model 35



















No.36 Model 36

No.37 Model 37

No.38 Model 38

No.39 Model 39





















No.40 Model 40

No.41 Model 41

No.42 Model 42
































No.46 Model 46

No.47 Model 47

No.48 Model 48

No.49 Model 49

No.43 Model 43

No.44 Model 44

No.45 Model 45



































No.50 Model 50

No.51 Model 51

No.52 Model 52

No.53 Model 53

No.54 Model 54












No.57 Model 57
















No.55 Model 55





No.56 Model 56










No.59 Model 59

No.60 Model 59

No.61 Model 59

No.62 Model 60








No.58 Model 58



  









































Gambar 3.2(a)
Kemungkinan pola-pola dari Pola Busur Terlokalisasi untuk
tandatangan orang Indonesia (nomor urut 1 sampai 63)
5

No.63 Model 61




6
No.64 Model 61

No.65 Model 61



No.67 Model 63

No.68 Model 64



  

 

No.73 Model 66

No.74 Model 66

No.75 Model 67

No.66 Model 62











No.70 Model 64







No.71 Model 65

No.69 Model 64





No.72 Model 66














No.76 Model 68





No.77 Model 69









 














No.78 Model 69

 



No.79 Model 70
















No.81 Model 71

No.82 Model 72













No.83 Model 73

No.84 Model 74
















No.85 Model 74

No.86 Model 75






























No.80 Model 71





























No.87 Model 76

No.88 Model 76

No.89 Model 77












No.90 Model 78

No.91 Model 78












 

No.96 Model 82

No.97 Model 83
















No.92 Model 79

No.93 Model 80

No.94 Model 81





No.95 Model 81







  

 









 

 





 

No.99 Model 85

No.100 Model 86

No.101 Model 87

No.102 Model 88

No.103 Model 89

No.104 Model 90

 

 

 

 

No.106 Model 92

No.107 Model 92

 

 




 
No.108 Model 92

No.109 Model 93

 






















No.119 Model 99









No.123 Model 101

No.124 Model 102





















No.122 Model 101

No.112 Model 94



 




 



No.118 Model 98






No.111 Model 94








No.121 Model 101





No.110 Model 94




No.117 Model 98

No.115 Model 97

No.120 Model 100








No.114 Model 96






No.116 Model 98

No.113 Model 95

 

No.105 Model 91

 





 



 



 






 












No.98 Model 84



 





 
 



No.125 Model 103

















Gambar 3.2(b)
Kemungkinan pola-pola dari Pola Busur Terlokalisasi untuk
tandatangan orang Indonesia (nomor urut 64 sampai 125)
6





7

3.2.2. PEMILIHAN POLA MODEL
Guna mengurangi waktu proses, maka dari 125 pola di atas dipilih polapola yang memang sering muncul pada Tandatangan Latin khususnya
Tandatangan Orang Indonesia. Pemilihan pola-pola itu dilakukan dengan
menggunakan bantuan program untuk menghitung keseringan muncul masingmasing pola tersebut pada sejumlah citra biner tandatangan. Dalam penelitian ini
dipergunakan 380 buah tandatangan sampel dari orang yang berbeda-beda.
Adapun potongan program yang dipergunakan adalah sebagai berikut:

begin
for NM := 1 to 125 do WArrModelPattern[NM].Freq := 0;
for NSign := 1 to TotalSampelSign do
begin
Image1.Picture.LoadFromFile(ListBox2.Items[NSign-1]);
Gambar := BacaGambar;
for NM := 1 to 125 do
begin
for x := (awalX_L-4) to (akhirX_L - 4) do
for y := (awalY_L-4) to (akhirY_L - 4) do
begin
i := 0;
cocok := true;
repeat
inc(i);
j := 0;
repeat
inc(j);
if ((i+x-1)3
Ya

Ekstraksi ciri
tandatangan ke-t+6

Cari median dari
D(Pid,Qt) sebagai
nilai ambang (Ccid)

Hitung nilai
ketidaksamaan D(Pid,Qt)

Tulis Pid
ke file
basis data

acuan
Ya

Mendaftarkan
partisipan baru
lagi ?

Tidak

Gambar 3.7
Bagan alir tahap pendaftaran
18

Stop

19

3.3.3. STRUKTUR DATA
Melihat rancangan sistem yang ada maka selanjutnya disiapkan struktur
data dari rancangan sistem verifikasi yang nantinya akan dipergunakan pada saat
implementasi ke dalam bentuk program berbasis Borland Delphi. Adapun struktur
data utama dari program sistem verifikasi ini adalah sebagai berikut :
TModelPattern = record
Nomor : byte; //nomor pola
Model : byte; //nomor model
Pattern : array[0..4,0..4] of byte;
//pola model 5x5
end;
TArrModelPattern = array [1..DimVector] of TModelPattern;

Struktur “TModelPattern” dipakai sebagai struktur record dari file
pola model dan disimpan dalam struktur array “TArrModelPattern”.
Besarnya array yang dialokasikan untuk struktur “TArrModelPattern“
adalah sebanyak jumlah maksimum pola model yang ada, dalam hal ini
diwakili oleh konstanta “DimVector”.
TPersonSign = record
IdNumber : word;
Name : string[35];
Freq :array[1.. DimVector,1..6] of word;
RefFileName : string[70];
ADis : array[1..3] of real;
Critical : real;
end;
Person

: TPersonSign;

FileReference : file of TpersonSign;

Struktur “TPersonSign” dipakai sebagai struktur record dari variabel
“Person“ yang berisi data-data masing-masing partisipan, selanjutnya nanti
juga akan dipergunakan sebagai struktur record dari variabel file basisdata
19

20

acuan. Struktur “TPersonSign” ini berisi nomor identitas, nama partisipan,
frekuensi kemunculan pola model dari 6 tandatangan acuan, nama file beserta
directory dari lokasi penyimpan file citra acuan, nilai ketidaksamaan yang
dihasilkan dari 3 tandatangan pembanding yang dipakai untuk mencari nilai
ambang, serta nilai ambang terpilih yang dicari dari median ketiga nilai
ketidaksamaan tandatangan partisipan tersebut.
TPosGambar = record
AwalX, AkhirX, AwalY, AkhirY : integer;
end;

Struktur “TPosGambar” merupakan struktur variabel dari posisi koordinat
pojok masing-masing citra tandatangan.
Struktur data pendukung yang diperlukan dalam proses-proses perhitungan
maupun penyimpanan data adalah sebagai berikut:
TFrequency = array[1.. DimVector] of word;

Struktur “TFrequency” merupakan struktur variabel penyimpan frekuensi
kemunculan masing-masing pola model dari hasil ekstraksi ciri tandatangan.
TMeanFrequency = array[1.. DimVector] of real;

Struktur “TMeanFrequency” merupakan struktur variabel penyimpan nilai
rata-rata kemunculan setiap pola model dari ekstraksi ciri beberapa
tandatangan acuan.
TFreqMinMean = array[1.. DimVector,1..Number] of real;

Struktur “TFreqMinMean” merupakan struktur variabel penyimpan nilai
frekuensi kemunculan masing-masing pola model dari setiap tandatangan
20

21

acuan yang telah dikurangi dengan frekuensi rata-rata yang bersesuaian, juga
merupakan struktur dari variabel yang menyimpan perhitungan nilai eigen.
TVariance = array[1.. DimVector,1.. DimVector] of real;

Struktur “TVariance” merupakan struktur dari variabel penyimpan hasil
perhitungan varians dan vektor eigen.
TGambar = array[1..SignHeigh,1..SignWidth] of byte;

Struktur “TGambar” merupakan struktur variabel penyimpan nilai pola biner
dari setiap piksel citra tandatangan, yang dalam hal ini bernilai 0 untuk piksel
berwarna putih dan bernilai 1 untuk piksel berwarna hitam. Konstanta
“SignHeigh” dan “SignWidth” adalah ukuran ruang pembatas penulisan
tandatangan, yang dalam hal ini nilai konstanta tersebut masing-masingnya
adalah 85 piksel dan 165 piksel.
TSort = array[1.. DimVector] of byte;

Struktur “TSort” merupakan struktur variabel penyimpan hasil pengurutan
dari frekuensi kemunculan pola model.

3.4.

PEMBUATAN SISTEM

Pembuatan sistem merupakan tahap pengembangan dan implementasi dari
rancangan sistem yang telah dibuat sebelumnya menjadi suatu sistem verifikasi
dalam bentuk program komputer. Tahapan ini meliputi penentuan kebutuhan
sistem dan pemrograman yang di dalamnya termasuk juga form-form tampilan
sistem beserta kegunaan masing-masing tombol yang dibuat.
21

22

3.4.1. KEBUTUHAN SISTEM
Pembuatan sistem verifikasi yang intinya pengembangan rancangan sistem
sebelumnya melalui pemrograman komputer, memerlukan perangkat-perangkat
pendukung berupa perangkat keras (hardware) dan perangkat lunak (software)
yang dibutuhkan agar sistem dapat bekerja dengan baik. Kebutuhan-kebutuhan
tersebut dijelaskan sebagai berikut.

3.4.1.1. Kebutuhan Perangkat Keras
Perangkat keras yang digunakan sebagai peralatan masukan adalah
scanner HP ScanJet II cx. Scanner ini adalah scanner berwarna, akan tetapi pada
saat pengambilan gambar, konfigurasinya ditentukan agar mengambil gambar
hitam-putih kualitas photo, dan resolusinya 100 dpi. Sebelum dilakukan proses
masukan ini juga diperlukan peralatan pada saat pengumpulan sampel tandatangan
yaitu berupa formulir di atas kertas HVS warna putih yang telah digaris sesuai
dengan batasan ruang penulisan tandatangan yang diijinkan yakni 2 x 4 cm, serta
pena bertinta hitam 0,2 mm sebagai alat tulisnya. Spesifikasi komputer yang
digunakan untuk mengembangkan maupun pengujian sistem verifikasi ini adalah
prosesor Intel Celeron 2400 di atas motherboard ASUS P4VP, dengan memori
DDRAM 256 MB dan kapasitas harddisk 30 GB.

3.4.1.2. Kebutuhan Perangkat Lunak
Sistem verifikasi ini dikembangkan dalam lingkungan sistem operasi
Microsoft Windows Xp. Pemilihan sistem operasi tersebut didasarkan atas
pertimbangan bahwa sistem verifikasi tandatangan secara baik hanya dapat
22

23

diimplementasikan dalam modus grafik. Dan Microsoft Windows Xp merupakan
suatu sistem operasi berbasis grafik yang banyak menjadi pilihan saat ini. Dalam
lingkungan Windows, pembuatan antar muka grafis dapat dilakukan dengan lebih
mudah. Di samping itu Windows Xp juga merupakan persyaratan dari bahasa
pemrograman yang dipakai untuk mengimplementasikan rancangan dari sistem
verifikasi tandatangan ini, yaitu Borland Delphi 7.0.
Perangkat lunak lain yang diperlukan adalah program paket pengolahan
citra, dan dipergunakan pada tahapan prapemrosesan. Dalam pengerjaan
penelitian ini perangkat lunak paket pengolahan citra yang dipergunakan adalah
Paint Shop Pro 6.0.

3.4.2. PEMROGRAMAN
Aspek pemrograman yang dibuat dalam sistem verifikasi tandatangan ini
meliputi implementasi struktur program yang telah dirancang ke dalam kode-kode
bahasa pemrograman. Implementasi pemrogramannya menggunakan perangkat
lunak Borland Delphi 7.0, yaitu perangkat lunak pemrograman visual yang
dijalankan di bawah sistem operasi Windows, dengan bahasa pemrograman
berbasis Pascal.

3.4.2.1.

Konstanta dan Variabel Global

Konstanta-konstanta beserta nilainya yang digunakan pada keseluruhan
program dari sistem verifikasi ini adalah sebagai berikut :
DimVector42 = 42;//banyak pola model dari ttn Indonesia
DimVector67 = 67;//banyak pola model dari ttn Jepang
23

24
JumModel42 = 52;//banyak keseluruhan pola ttn Indonesia
JumModel67 = 77;//banyak keseluruhan pola ttn Jepang
Number = 6;//banyak tandatangan acuan
DefaultQi = 6;//default pemotongan nilai eigen
DefaultReferName = 'Rfr426.Dat';//nama file data acuan
PatternName67 = 'Model67.Dat';//nama file pola Jepang
PatternName42 = 'Model42.Dat';//nama file pola Indonesia
DefaultCd = 2.5;//default pengali nilai kritis
SignWidth = 165;//lebar citra tandatangan dalam piksel
SignHeigh = 85;//tinggi citra tandatangan dalam piksel

Variabel global merupakan variabel yang dideklarasikan di luar semua
fungsi dan prosedur yang ada, sehingga ia dapat diakses (dibaca, ditulisi atau
diubah) oleh fungsi dan prosedur apapun yang ada dalam program itu. Adapun
variabel-variabel global yang dipakai dalam sistem verifikasi ini adalah :
FileReference : file of TPersonSign;
Person

: TPersonSign;

ArrModelPattern : TArrModelPattern;
Cd : real; //konstanta pengali nilai kritis
Qi : integer; //konstanta pemotongan nilai eigen
FReferName, FpatternName, DefDirectory : string;
FilePattern : file of TModelPattern;
CountPattern, CounterList, PrevCounterList, Error: byte;
PosGambar : array[1..9] of TPosGambar;
awalX,awalY,akhirX,akhirY : integer;
EnrollLoad, Berubah : boolean;
PrMeanFreq, PrEigenValue: TMeanFrequency;
PrVariance,PrEigenVector : TVariance;
PrSort : TSort;
JumPattern : byte; //banyaknya keseluruhan pola
DimVector : byte; //banyaknya model

24

25

3.4.2.2.

Form Utama

Window Form adalah tempat di mana semua komponen visual dan
komponen non visual diletakkan untuk membentuk sebuah aplikasi. Bagian yang
tak terpisahkan dari form adalah unit yang berhubungan langsung dengan form
tersebut. Dalam unit berisi deklarasi tipe data, fungsi dan prosedur. Rancangan
form utama dari sistem verifikasi ini diberi nama FUtama.frm adalah seperti
terlihat pada Gambar 3.8 dengan unit bernama Sign1.pas. Dalam form utama
ini berisi menu dalam bentuk tombol-tombol (push button menu) yang diperlukan
oleh pengguna dalam menjalankan sistem verifikasi serta memanggil form-form
lainnya, juga sebagai tempat berlangsungnya sebagian besar proses.
Grup 1

2a

Grup 2

2b
1a
1b

1c
2c
2d

Grup 4

Grup 3

2e

3c

4a
3a
3b

3d

Gambar 3.8
Tampilan Form Utama sistem verifikasi
25

Grup 5

26

Selanjutnya diuraikan mengenai keterangan masing-masing nomor dan
tombol-tombol pada tampilan Gambar 3.8 beserta beberapa baris penting dari
fungsi atau prosedur pendukungnya.
Grup 1 Current Person
Grup 1 merupakan panel yang digunakan untuk tempat mengaktifkan data
seorang partisipan dari file basisdata acuan, juga untuk menampilkan citra
tandatangan serta menghapus data partisipan yang sedang aktif.
 Nomor 1a adalah tempat menampilkan nomor identitas partisipan aktif.
 Nomor 1b adalah tempat menampilkan nama partisipan aktif.
 Nomor 1c adalah tempat menampilkan nilai ambang (Ccid x Cd) tandatangan
partisipan aktif.
 Tombol Delete adalah untuk menghapus data partisipan yang sedang aktif
dari file basisdata acuan.
 Tombol Load adalah untuk mengatifkan data seorang partisipan baru dari
file basis data acuan. Adapun program yang dijalankan adalah :
procedure TFUtama.SBLoadClick(Sender: TObject);
var
IDNumber : word;
InputString,S : string;
Code : integer;
See, See1 : boolean;
Sementara : TPersonSign;
begin
InputString := InputBox('Input', 'Input ID Number (Max 4
digits) !', '');
Val(InputString, IDNumber, Code);
Sementara := Person;
if (Code 0) or (length(InputString) > 4) then
begin
ShowMessage('Wrong ID Number, try again!');
end else
begin
See1 := True;

26

27
AssignFile(FileReference,FReferName);
{$I-}
Reset(FileReference);
{$I+}
if IOResult 0 then
begin
ShowMessage('Database Reference File Not Exist');
See1 := false;
end
else begin
See := False;
while (EOF(FileReference)= false) and (see = false) do
begin
Read(FileReference, Person);
if Person.IDNumber = IDNumber then
begin
See := True;
Str(Person.IDNumber,S);
ST_IDNumber.Caption := ' ' + S;
ST_Name.Caption := ' ' + Person.Name;
Str((Person.Critical*Cd),S);
ST_Threshold.Caption := S;
SBShowReff.Enabled := True;
Panel3.Visible := True;
Panel8.Visible := True;
SBNewListClick(SBNewList);
SBDelete.Enabled := True;
{Cari Varians, EigenVektor, EigenValue dan MeanFrek}
PrMeanFreq := CountMeanFrequency(Person);
PrVariance := CountVariance(PrMeanFreq,Person);
EigenSort(PrVariance, PrEigenVector, PrEigenValue,
PrSort);
end;
end;
if See = False then
begin
Person := Sementara;
ShowMessage('Unregistered ID Number, Try Again!');
end;
end;
if See1 = True then CloseFile(FileReference);
end;
end;

Dalam program terlihat bahwa setelah partisipan dengan nomor identitas yang
dimasukkan ditemukan dalam file basis data acuan, maka nilai varians, nilai
eigen, vektor eigen dan frekuensi kemunculan rata-rata langsung dihitung, hal
ini bertujuan agar tidak terjadi pengulangan proses jika ingin melakukan
pengujian lebih dari sekali, karena perhitungan dasar yang dilakukan sama.
27

28

 Tombol Show Image digunakan memanggil form FEnrollGroup.frm
yang merupakan tempat menampilkan citra tandatangan acuan dan
tandatangan pembanding partisipan aktif.

Grup 2
Grup 2 merupakan panel yang digunakan untuk melakukan proses
verifikasi sebuah tandatangan uji serta menampilkan hasilnya, juga menampilkan
citra tandatangan yang sedang aktif.
 Nomor 2a adalah panel yang digunakan untuk menampilkan nama file citra
tandatangan aktif.
 Nomor 2b adalah tempat menampilkan citra tandatangan aktif.
 Nomor 2c adalah tempat menampilkan hasil verifikasi, yaitu “GENUINE”
untuk hasil verifikasi tandatangan yang “diterima” sedangkan “FALSE”
untuk hasil verifikasi tandatangan yang “ditolak”
 Nomor 2d adalah tempat untuk menampilkan nilai beda dari hasil verifikasi.
 Nomor 2e adalah tempat menampilkan waktu proses.
 Tombol Verify digunakan untuk menjalankan proses verifikasi terhadap
tandatangan aktif. Adapun program yang dijalankan adalah :
procedure TFUtama.SBVerifyClick(Sender: TObject);
var Beda : real;
S : string;
begin
Beda := Verify;
Str(Beda,S);
ST_Dissimilarity.Caption := S;
if Beda 4) and ((abs(d[ip])+g) = abs(d[ip]))
and ((abs(d[iq])+g) = abs(d[iq])))
then A[ip,iq] := 0
else if abs(A[ip,iq]) > tresh then
begin
h := d[iq]-d[ip];
if ((abs(h)+g) = abs(h)) then
t := A[ip,iq]/h
else begin
theta := 0.5*h/A[ip,iq];
t := 1/(abs(theta)+sqrt(1+theta*theta));
if theta < 0 then t := -t;
end;
c := 1/sqrt(1+t*t);
s := t*c;
tau := s/(1+c);
h := t*A[ip,iq];
Z[ip] := Z[ip] - h;
Z[iq] := Z[iq] + h;
D[ip] := D[ip] - h;
D[iq] := D[iq] + h;
A[ip,iq] := 0;
for j := 1 to ip-1 do ROTATE(s,tau,A,j,ip,j,iq);
for j := ip+1 to iq-1 do ROTATE(s,tau,A,ip,j,j,iq);
for j := iq+1 to DimVector do
ROTATE(s,tau,A,ip,j,iq,j);
for j := 1 to DimVector do ROTATE(s,tau,V,j,ip,j,iq);
end;
end;
end;
for ip := 1 to DimVector do
begin
b[ip] := b[ip] + z[ip];
d[ip] := b[ip];
z[ip] := 0;
end;
end;
ShowMessage('error : terlalu banyak iterasi');
end;

33

34
procedure Eigensort(A : TVariance; var V : TVariance;
var D : TMeanFrequency; var Urut : TSort);
var i,j,k,temp : integer;
pe : real;
TD : TMeanFrequency;
begin
for i:= 1 to DimVector do
begin
D[i] := 0;
Urut[i] := i;
end;
Jakobi(A,V,D);
TD := D;
for i := 1 to DimVector do
begin
pe := TD[i];
k := i;
for j := i+1 to DimVector do
if TD[j] >= pe then
begin
pe := TD[j];
k := j;
end;
if k i then
begin
TD[k] := TD[i];
TD[i] := pe;
temp := Urut[i];
Urut[i] := Urut[k];
Urut[k] := temp;
end;
end;
end;

Prosedur untuk menghitung frekuensi kemunculan pola model
procedure CountFrequency(var Freq:TFrequency;
Gambar : TGambar);
var i,j,x,y : integer;
CountPattern : byte;
cocok : boolean;
awalX_L, awalY_L,akhirX_L, akhirY_L : byte;
begin
awalX_L := 1;
akhirX_L := SignHeigh;
awalY_L := 1;
akhirY_L := SignWidth;
for i := 1 to DimVector do
freq[i] := 0;
for CountPattern := 1 to JumPattern do
begin
ModelPattern := ArrMOdelPattern[CountPattern];

34

35
for x := (awalX_L-4) to (akhirX_L - 4) do
for y := (awalY_L-4) to (akhirY_L - 4) do
begin
i := 0;
cocok := true;
repeat
inc(i);
j := 0;
repeat
inc(j);
if ((i+x-1)