• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
105
0
0

Teks penuh

(1)
(2)
(3)
(4)

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

(5)

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

(6)

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.

Pengguna tak terdaftar

Pengguna terdaftar

Laporan verifikasi

Keluaran verifikasi Proses

pendaftaran Masukan

tandatangan

acuan Masukan

tandatangan

Proses verifikasi Pengembang

sistem

Basisdata pola model

Basisdata acuan

(7)

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,

(8)

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,

(9)

Gambar 3.2(a)

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

(10)

Gambar 3.2(b)

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

(11)

3.2.2. PEMILIHAN POLA MODEL

Guna mengurangi waktu proses, maka dari 125 pola di atas dipilih

pola-pola yang memang sering muncul pada Tandatangan Latin khususnya

Tandatangan Orang Indonesia. Pemilihan pola-pola itu dilakukan dengan

menggunakan bantuan program untuk menghitung keseringan muncul

masing-masing 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)<awalX_L) or ((j+y-1)<awalY_L) then

begin

if WArrModelPattern[NM].Pattern[i-1,j-1] <> 0 then cocok := false;

end else

if WArrModelPattern[NM].Pattern[i-1,j-1] <> Gambar[i+x-1,j+y-1]

then cocok := false;

until (cocok = false) or (j = 5); until (cocok = false) or (i = 5); if (cocok = true) and (i=5) and (j=5) then inc(WArrModelPattern[NM].Freq); end;

end; end;

(12)

Setelah dieksekusi dengan mempergunakan 380 buah sampel citra

tandatangan orang Indonesia, hasil dari potongan program di atas adalah berupa

cacah keseringan muncul masing-masing pola model yang tersimpan pada

variabel freq dalam variabel WArrModelPattern. Dalam bentuk tabel, cacah

keseringan muncul dari 125 pola tersebut seperti terlihat pada Tabel 3.1.

Tabel 3.1

Frekuensi kemunculan masing-masing pola pada 380 citra biner tandatangan

No Model Freq No Model Freq No Model Freq No Model Freq No Model Freq

1 1 24065 26 26 4 51 51 6 76 68 218 101 87 0

2 2 247 27 27 1 52 52 42 77 69 0 102 88 13

3 3 434 28 28 5 53 53 2 78 69 0 103 89 3

4 4 396 29 29 1 54 54 3 79 70 0 104 90 11

5 5 108 30 30 1 55 55 1144 80 71 0 105 91 1

6 6 94 31 31 8 56 56 0 81 71 0 106 92 308

7 7 37 32 32 3 57 57 2 82 72 0 107 92 153

8 8 171 33 33 14 58 58 8871 83 73 43 108 92 321

9 9 234 34 34 118 59 59 3 84 74 0 109 93 56

10 10 84 35 35 2 60 59 0 85 74 0 110 94 58

11 11 73 36 36 0 61 59 10 86 75 0 111 94 23

12 12 66 37 37 24 62 60 0 87 76 0 112 94 69

13 13 82 38 38 3 63 61 0 88 76 0 113 95 25

14 14 16 39 39 3 64 61 0 89 77 0 114 96 39

15 15 5 40 40 36 65 61 16 90 78 14 115 97 60

16 16 1 41 41 2 66 62 3 91 78 17 116 98 100

17 17 3 42 42 1 67 63 3634 92 79 14 117 98 95

18 18 0 43 43 103 68 64 3 93 80 15 118 98 58

19 19 13 44 44 3 69 64 0 94 81 117 119 99 20

20 20 3 45 45 0 70 64 20 95 81 610 120 100 32

21 21 1 46 46 3713 71 65 0 96 82 10 121 101 244

22 22 6 47 47 8 72 66 2 97 83 78 122 101 224

23 23 0 48 48 1 73 66 0 98 84 1 123 101 102

24 24 9 49 49 2929 74 66 12 99 85 10 124 102 49

(13)

Cacah keseringan muncul dari masing-masing pola seperti yang terlihat

pada Tabel 3.1 kemudian diurut berdasarkan keseringan muncul, tetapi

sebelumnya dilakukan penjumlahan frekuensi kemunculan pola-pola dengan

model yang sama, lalu dipergunakan sebagai bahan pertimbangan untuk memilih

pola model sistem yaitu dengan menentukan batas cacah terkecil keseringan

muncul tersebut. Banyak pola model yang biasanya digunakan untuk

mengekstraksi suatu citra berkisar antara 40 sampai dengan 80 pola model,

dengan banyaknya pola dari 40 sampai dengan 100 buah pola. Kisaran ini

didasarkan pada pertimbangan waktu proses dan besarnya konstanta pemotongan

nilai eigen. Guna mendapatkan waktu proses yang minimum maka dipilih batas

terbawah dari kisaran tersebut yaitu empatpuluhan pola model. Konstanta

pemotongan nilai eigen yang relatif stabil didasarkan pada nilai-nilai eigen yang

telah terurut, menunjukkan kenyataan bahwa nilai eigen pada urutan lebih dari 10

bernilai sangat kecil bahkan mendekati nol. Kenyataan ini juga mendukung

pemilihan batas terbawah dari kisaran banyaknya pola model.

Melihat Tabel 3.1 di atas dan pertimbangan banyaknya pola model yang

digunakan yaitu sekitar 40, maka dipilih batas terkecil cacah keseringan muncul

yang dipakai adalah 20 kali sehingga dihasilkan pola-pola sebanyak 52 pola. Dari

52 pola ini dikelompokkan menjadi 42 pola model terpilih seperti terlihat pada

Gambar 3.3 dan setelah penomorannya disesuaikan maka diperoleh pola model

seperti terlihat pada Gambar 3.4. Pola-pola inilah yang dipergunakan sistem untuk

(14)

Gambar 3.3

Pola-pola terpilih sebanyak 52 pola

(15)

Gambar 3.4

Pola-pola terpilih sebanyak 52 pola yang penomorannya telah disesuaikan

(16)

3.3.

PERANCANGAN SISTEM

Perancangan sistem merupakan tahap untuk mentransformasikan berbagai

kebutuhan ke dalam bentuk data dan arsitektur program yang akan

diimplementasikan pada tahap pembuatan sistem nantinya. Perancangan tersebut

meliputi pembuatan struktur program, penjelasan dalam bentuk bagan alir proses,

serta perancangan struktur data.

3.3.1. DIAGRAM JACKSON SISTEM VERIFIKASI

Rancagan sistem verifikasi yang berupa struktur program, ditampilkan

dalam Diagram Jackson yang direpresentasikan dalam bentuk struktur diagram

dan struktur teks. Adapun struktur diagram sistem verifikasi ini adalah seperti

yang terlihat pada Gambar 3.5. Pada struktur diagram sistem verifikasi tersebut

terlihat gambaran sistem secara lebih rinci, pendefinisian kebutuhan menu-menu

pokok dan modul-modul program yang nantinya diperlukan oleh sistem verifikasi,

baik modul-modul yang dijalankan secara iterasi ataupun yang bersifat pilihan.

Sistem verifikasi dibagi menjadi dua modul utama yaitu modul

PERSIAPAN LINGKUNGAN SISTEM dan modul SISTEM UTAMA. Hal

terpenting yang perlu diperhatikan adalah persiapan lingkungan sistem berupa

memasukkan pola model ke file dan setting konstanta mutlak harus ada pada saat

sistem untuk pertama kali dijalankan sebelum melakukan pemrosesan terhadap

yang lainnya, sedangkan untuk yang kedua kali atau seterusnya file pola model

(17)

Gambar 3.5

Struktur Diagram Jackson sistem verifikasi

(18)

Struktur Diagram Jackson sistem verifikasi pada Gambar 3.5 selanjutnya

ditulis dalam bentuk struktur teks sebagai berikut :

SISTEM_VERIFIKASI seq

PERSIAPAN_LINGKUNGAN_SISTEM

PERSIAPAN_LINGKUNGAN_SISTEM sel

(MASUKAN_POLA_MODEL_KE_FILE) MASUKAN_POLA_MODEL_KE_FILE;

PERSIAPAN_LINGKUNGAN_SISTEM alt (SETTING_KONSTANTA)

SETTING_KONSTANTA;

PERSIAPAN_LINGKUNGAN_SISTEM end;

SISTEM_UTAMA itr while (UBAH_LINGKUNGAN_SISTEM or PEMBUATAN_DATA_ACUAN or VERIFIKASI) SISTEM_UTAMA sel (UBAH_LINGKUNGAN_SISTEM)

UBAH_LINGKUNGAN_SISTEM UBAH_LINGKUNGAN_SISTEM sel

(MASUKAN_POLA_MODEL_KE_FILE) MASUKAN_POLA_MODEL_KE_FILE;

UBAH_LINGKUNGAN_SISTEM alt (SETTING_KONSTANTA) SETTING_KONSTANTA;

UBAH_LINGKUNGAN_SISTEM end;

SISTEM_UTAMA sel (PEMBUATAN_DATA_ACUAN)

PEMBUATAN_DATA_ACUAN c_pendaftar  1;

PROSES_PEMBUATAN_DATA_ACUAN itr while (c_pendaftar  banyak_pendaftar)

MASUKAN_IDENTITAS_PENGGUNA; c_acuan  1;

CARI_FREKUENSI_ACUAN itr while (c_acuan  banyak_acuan)

BACA_CITRA_TANDATANGAN;

EKSTRAKSI_CIRI;

(19)

c_banding  1;

CARI_NILAI_AMBANG itr while (c_banding  banyak_banding)

BACA_CITRA_TANDATANGAN; EKSTRAKSI_CIRI;

PEMBANDINGAN; CARI_NILAI_AMBANG end:

CARI_MEDIAN_NILAI_AMBANG; TULIS_KE_FILE_ACUAN;

PROSES_PEMBUATAN_DATA_ACUAN end; PEMBUATAN_DATA_ACUAN end;

SISTEM_UTAMA alt (VERIFIKASI)

VERIFIKASI seq

AKTIFKAN_PENGGUNA;

PROSES_VERIFIKASI itr while (banyak_uji_coba)

BACA_CITRA_TANDATANGAN; EKSTRAKSI_CIRI;

PEMBANDINGAN;

PENGAMBILAN_KEPUTUSAN;

PROSES_VERIFIKASI end; BUAT_LAPORAN;

VERIFIKASI end; SISTEM_UTAMA end;

SISTEM_VERIFIKASI end.

Variabel pembantu dalam struktur teks di atas (c_pendaftar,c_acuan dan

c_banding) serta konstanta pembantu (banyak_pendaftar, banyak_acuan dan

banyak_banding) digunakan untuk menentukan berapa kali pengulangan proses

(iterasi) pada masing-masing modul, yang pada struktur diagram belum terlihat

secara jelas. Banyak_pendaftar adalah banyak partisipan yang akan didaftar,

banyak_acuan adalah banyak tandatangan acuan, banyak_banding adalah banyak

(20)

3.3.2. BAGAN ALIR PROSES

Diagram Jackson (berupa struktur diagram dan struktur teks) di atas yang

dibuat belum menjelaskan alur yang terjadi pada masing-masing modul proses

secara rinci. Untuk memperjelas proses-proses yang dilakukan, terutama pada

proses verifikasi dan tahap pendaftaran maka dibuat bagan alir (flowchart) dari

tahapan tersebut. Langkah-langkah yang dilakukan sehingga bisa menghasilkan

suatu keputusan yaitu berupa “ASLI” atau “PALSU”nya tandatangan uji, yang

mencakup tahap ekstraksi ciri, tahap pembandingan dan tahap pengambilan

keputusan terlihat pada Gambar 3.6 mengenai bagan alir proses verifikasi. Bagan

alir ini sebagai perincian dari langkah-langkah dan perhitungan yang terjadi pada

modul VERIFIKASI dalam Diagram Jackson. Sedangkan bagan alir yang

merupakan perincian dari langkah-langkah serta perhitungan pada modul

PEMBUATAN_DATA_ACUAN diperlihatkan dalam Gambar 3.7 mengenai

bagan alir tahap pendaftaran.

Proses pembandingan baik yang ada pada modul VERIFIKASI maupun

pada tahap pendaftaran (modul PEMBUATAN_DATA_ACUAN) adalah bagian

yang paling banyak memerlukan proses perhitungan (persamaannya ada pada Sub

Bab 2.2.4.5). Perhitungan-perhitungan yang dilakukan diantaranya perhitungan

untuk mendapatkan frekuensi kemunculan rata-rata (mean frequency), varians,

nilai eigen, vektor eigen dan perhitungan nilai ketidaksamaan, sehingga tahap

pembandingan dapat menghasilkan laporan tentang nilai ketidaksamaan yang

(21)

Gambar 3.6

Bagan alir proses verifikasi

Ya

Tidak Ya

Tidak

Ya

Start

Aktifkan data acuan Pid

Hitung varians (V )

Hitung nilai eigen (), vektor eigen (l) serta urutannya secaramenurun

Aktifkan citra tandatangan uji Q

Ekstraksi ciri citra tandatangan uji Q

Hitung ketidaksamaan D(Pid,Q)

Uji lagi ?

Stop

D(Pid,Q) 

Ccid x Cd

Hasil uji Q

“PALSU”

Hasil uji Q

“ASLI”

Aktifkan data acuan dengan

Idbaru ? Laporan

- daftarhasil

- daftar D(Pid,Q) - waktu proses

Tidak

Tidak Ya

Masukkan Nomor Id

Id sudah terdaftar ?

(22)

Gambar 3.7

Bagan alir tahap pendaftaran

Tidak

nilaiambang (Ccid)

Tulis Pid

ke file basis data

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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.

Gambar 3.8

Tampilan Form Utama sistem verifikasi

1a Grup 1

1b 1c

Grup 2 2a

2b

2c

4a

2e Grup 4 Grup 3

Grup 5

2d

3a

3b

3c

(30)

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

(31)

AssignFile(FileReference,FReferName); {$I-}

Reset(FileReference); {$I+}

if IOResult <> 0 then

begin

ShowMessage('Database Reference File Not Exist'); See1 := false; EigenSort(PrVariance, PrEigenVector, PrEigenValue,

PrSort);

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

(32)

 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 <= Cd * Person.Critical then ST_Status.Caption := 'GENUINE' else ST_Status.Caption := 'FALSE';

(33)

Grup 3

Grup 3 adalah panel untuk tempat memilih tandatangan yang akan

diverifikasi , baik nama file, filter, drive, maupun directory citra tandatangan.

 Nomor 3a adalah filter combo box, yang digunakan untuk menyaring file-file yang ditampilkan yaitu file-file-file-file citra yang penamaannya disesuaikan

khusus untuk citra tandatangan pada penelitian ini, filter tersebut adalah :

 All Image Signature, adalah filter dari semua nama file citra tandatangan.

 Skilled Forger (pt*.bmp), adalah filter khusus untuk nama file citra tandatangan dari pemalsu terlatih.

 Simple Forger (ps*.bmp), adalah filter khusus untuk nama file citra tandatangan dari pemalsu sederhana.

 Genuine(uj*.bmp), adalah filter khusus untuk nama file citra tandatangan uji yang asli dari partisipan.

 Reference(rf*.bmp), adalah filter khusus untuk nama file citra tandatangan referensi (acuan dan pembanding).

 All Bitmap File (*.bmp), adalah filter untuk semua nama file citra bitmap.

 Nomor 3b adalah file list box yang digunakan untuk tempat menampilkan nama-nama file citra yang telah disaring menurut filter yang telah dipilih,

dari nama-nama file ini dipilih tandatangan mana saja yang akan diverifikasi.

 Nomor 3c adalah drive combo box yang digunakan untuk memilih drive.

 Nomor 3d adalah directory list box yang digunakan sebagai tempat untuk memilih direktori.

(34)

Grup 4 List of Selected Files

Grup 4 adalah panel untuk tempat menampilkan daftar tandatangan yang

telah dipilih dan akan diverifikasi, beserta tombol-tombol untuk mengurangi

pilihan dan melihat hasil verifikasi.

 Nomor 4a adalah obyek list box, yang digunakan untuk menampung

nama-nama file citra tandatangan terpilih yang akan diverifikasi.

 Tombol Verify List digunakan untuk menjalankan proses verifikasi

terhadap file-file citra tandatangan yang ada dalam daftar dan selanjutnya

menampilkan hasilnya dalam form FRptGroup.frm. Adapun program yang

dijalankan adalah sebagai berikut :

procedure TFUtama.SBVerifyListClick(Sender: TObject);

var i,j : byte;

S, SJam : string; Beda : real;

WaktuMulai, WaktuSelesai : TDateTime;

JamMulai, JamSelesai, Menit, Detik, MDetik : word; MDetikMulai, MDetikSelesai, TotalWaktu : double;

begin

FGauge.Gauge1.Progress := 0; FGauge.Gauge2.Progress := 0;

FGauge.Label4.Caption := IntToStr(CounterList); FGauge.Show;

FGauge.Refresh;

for i := 0 to PrevCounterList-1 do

for j := 0 to 3 do

FRptGroup.StringGrid1.Cells[j,i] := '';

WaktuMulai := Time;

for i := 1 to CounterList do

begin

Image1.Picture.LoadFromFile(ListBox2.Items[i-1]); Beda := Verify;

FRptGroup.StringGrid1.Cells[0,i-1] := IntToStr(i);

FRptGroup.StringGrid1.Cells[1,i-1] := ListBox1.Items[i-1]; Str(Beda,S);

FRptGroup.StringGrid1.Cells[2,i-1] := S; if Beda <= Cd * Person.Critical then

(35)

WaktuSelesai := Time; FGauge.Close;

PrevCounterList := CounterList;

//Hitung waktu proses

DecodeTime(WaktuMulai,JamMulai,Menit,Detik,MDetik);

MDetikMulai := ((JamMulai*60+ Menit)*60+Detik)*1000 + MDetik; DecodeTime(WaktuSelesai,JamSelesai,Menit,Detik,MDetik);

if JamSelesai >= JamMulai then

MDetikSelesai := ((JamSelesai * 60 + Menit)*60 + Detik)*1000 + MDetik else //antisipasi melewati jam 12

MDetikSelesai :=(((JamSelesai+12)*60+Menit)*60 + Detik)*1000+MDetik;

TotalWaktu := MDetikSelesai - MDetikMulai;

FRptGroup.STVer.Caption := ' ' + IntToStr(CounterList); FRptGroup.STTime.Caption := ' ' + FloatToStr(TotalWaktu)

+ ' Milli Second'; SBResult.Enabled := True;

FRptGroup.Position := poScreenCenter; FRptGroup.ShowModal;

end;

 Tombol New List digunakan untuk mengosongkan daftar nama file yang

ada pada obyek list boxnomor 4a.

 Tombol Unselect digunakan untuk membuang nama file citra tandatangan

yang ditunjuk pada obyek list box nomor 4a.

 Tombol Result digunakan untuk melihat kembali daftar hasil verifikasi

yang telah dilakukan sebelumnya dengan memanggil form FRptGroup.frm.

Grup 5

Grup 5 merupakan panel tempat tombol-tombol perintah umum yang

digunakan dalam sistem verifikasi ini. Adapun tombol-tombolnya adalah :

 Tombol About digunakan untuk memanggil form FSignAbout.frm yang

berisi informasi tentang sistem verifikasi.

 Tombol Setting digunakan untuk memanggil form FSetEnv.frm yang berisi

(36)

 Tombol Enrollment digunakan untuk memanggil form FEnrollGroup.frm

yang merupakan tempat pendaftaran partisipan baru.

 Tombol Browse digunakan untuk memanggil form FBrowse.frm yang

berisi nama-nama partisipan yang telah terdaftar pada basisdata acuan.

 Tombol New Model digunakan untuk memasukkan pola model baru ke file

referensi melalui pemanggilan form FModel.frm.

 Tombol Show Model digunakan untuk menampilkan pola model referensi

yang telah ada melalui pemanggilan form FModel.frm.

 Tombol Exit digunakan untuk keluar dari sistem verifikasi.

Selain fungsi dan prosedur yang telah dipaparkan di atas, juga ada

beberapa fungsi dan prosedur penting lainnya dalam unit Sign1.pas ini. Fungsi

dan prosedur tersebut diantaranya :

Rutin untuk menghitung nilai eigen serta vektor eigen

procedure ROTATE(s, tau : real; var ATemp : TVariance; i,j,k,l : integer);

var g, h : real;

begin

g := ATemp[i,j]; h := ATemp[k,l];

ATemp[i,j] := g-s*(h+g*tau); ATemp[k,l] := h+s*(g-h*tau);

end;

procedure Jakobi(A :TVariance;var V : TVariance;

var D:TMeanFrequency);

var B,Z : array[1..DimVector67] of real; ip,iq, i, j : integer;

sm,tresh,theta,t,c,s,tau,g,h : double;

begin

for ip := 1 to DimVector do

begin

(37)

B[ip] := A[ip,ip];

ShowMessage('error : terlalu banyak iterasi');

(38)

procedure Eigensort(A : TVariance; var V : TVariance;

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

(39)

for x := (awalX_L-4) to (akhirX_L - 4) do

FGauge.Gauge1.Progress := CountPattern; end;

end;

Rutin untuk menghitung matriks varians

function CountMeanFrequency(sampel: TPersonSign) : TmeanFrequency; CountMeanFrequency[i] := bantu / number; end;

end;

function CountFreqMinMean(Mean : TMeanFrequency; Pr : TPersonSign) : TFreqMinMean;

(40)

function CountVariance(Mean : TMeanFrequency;

Pr : TpersonSign): TVariance;

var Bantu : TVariance; i,j,k : integer; temp : real;

vector : TFreqMinMean;

begin

Vector := CountFreqMinMean(Mean,Pr); for i := 1 to DimVector do

CountVariance := Bantu;

end;

Rutin untuk menghitung nilai ketidaksamaan

function CountZ1(L : TVariance; k : integer; X : TFrequency; Urut : TSort) : real;

bantu := bantu + L[i,Urut[k]]*X[Urut[i]]; CountZ1 := bantu;

end;

function CountZ2(L : TVariance; k : integer;

X : TMeanFrequency; Urut : TSort) : real;

var bantu : real; i : integer;

begin

bantu := 0;

for i := 1 to DimVector do

bantu := bantu + L[i,Urut[k]]*X[Urut[i]]; CountZ2 := bantu;

end;

function CountDissimilarity (L : TVariance; Lamda, XMean : TMeanFrequency; X : TFrequency; Urut : TSort) : real;

(41)

else begin

if error <> 2 then Error := 1; exit;

end; end; dis2 := 0;

for k := qi+1 to DimVector do

dis2 := dis2 +

(SQR(CountZ1(L,k,X,Urut)-countZ2(L,k,XMean,Urut))/Lamda[Urut[qi]]); CountDissimilarity := dis1 + dis2;

end;

Rutin verifikasi

function BacaGambar (CodePanggil : boolean) : TGambar;

var i,j : byte;

Gambar : TGambar;

begin

for i := 1 to SignHeigh do

for j := 1 to SignWidth do

Gambar[i,j] := 0;

for i := 0 to SignHeigh-1 do

for j := 0 to SignWidth-1 do

begin

if FUtama.Image1.Canvas.Pixels[j,i] = clWhite then

Gambar[i+1,j+1] := 0 else Gambar[i+1,j+1] := 1; end;

BacaGambar := Gambar;

end;

function Verify : real;

var FreqCounterSign : TFrequency; Gambar : TGambar;

begin

Gambar := BacaGambar(True);

CountFrequency(FreqCounterSign,Gambar); Verify := CountDissimilarity(PrEigenVector,

PrEigenValue,PrMeanFreq,FreqCounterSign,PrSort);

end;

3.4.2.3. Form Pendaftaran

Form pendaftaran diberi nama FEnrollGroup.frm (terlihat pada

Gambar 3.9) dengan unit programnya bernama UEnrollGroup.pas. Form ini

(42)

dimasukkan ke dalam file basisdata acuan. Dalam sekali pemanggilannya bisa

digunakan untuk mendaftarkan lebih dari seorang partisipan baru. Selain itu form

ini juga digunakan untuk menampilkan citra tandatangan partisipan aktif jika

dipanggil dari tombol Show Image pada panel Grup 1 di form utama, akan

tetapi judulnya diganti menjadi “REFERENCE IMAGE OF CURRENT PERSON”

dan beberapa komponennya disembunyikan, seperti tombol proses dan tempat

untuk menampilkan waktu proses. Setelah form ini ditutup, maka

komponen-komponen yang disembunyikan tadi diperlihatkan kembali untuk difungsikan

nanti pada saat dipanggil lagi sebagai form pendaftaran.

Gambar 3.9

Tampilan Form Pendaftaran

1 2

3 4 5

(43)

 Nomor 1 adalah tempat untuk menampilkan nomor identitas partisipan pada saat form difungsikan sebagai tampilan citra tandatangan partisipan aktif,

sedangkan saat sebagai form pendaftaran nomor 1 ini adalah tempat untuk

memasukkan nomor identitas partisipan baru yang akan didaftarkan.

 Nomor 2 adalah tempat memasukkan atau menampilkan nama partisipan.

 Nomor 3 adalah tempat untuk menampilkan waktu proses.

 Nomor 4 merupakan obyek open dialog picture, yang dipakai pada saat

membuka file citra tandatangan acuan.

 Nomor 5 adalah tempat menampilkan citra tandatangan acuan dari partisipan

baru. Dalam sebuah file bitmap ini berisi 9 buah tandatangan yaitu yang pada

posisi R1, R2, R3, R4, R5 dan R6 adalah tandatangan acuan, sedangkan pada

posisi C1, C2 dan C3 adalah tandatangan pembanding.

 Nomor 6 adalah tempat menampilkan nilai beda antara tandatangan acuan

dengan tandatangan pembanding C1.

 Nomor 7 adalah tempat menampilkan nilai beda antara tandatangan acuan

dengan tandatangan pembanding C2.

 Nomor 8 adalah tempat menampilkan nilai beda antara tandatangan acuan

dengan tandatangan pembanding C3.

 Tombol Open yang memanfaatkan fasilitas open picture dialog digunakan

untuk memilih file citra tandatangan acuan dari partisipan baru yang nomor

identitas dan namanya sudah dimasukkan sebelumnya. Setelah file citranya

dipilih, lalu ditampilkan pada lokasi yang telah tersedia (nomor 5).

(44)

 Tombol Process digunakan untuk menjalankan program yang melakukan

proses pendaftaran partisipan baru. Nilai-nilai yang dihasilkan selain

ditampilkan di layar juga disimpan selengkapnya pada file basisdata acuan.

Adapun program yang dijalankan adalah sebagai berikut :

procedure TFEnrollGroup.BBProcessClick(Sender: TObject);

var Mi,Ms : byte;

i,j, Code : integer; TempPerson : TPersonSign; Freq : TFrequency;

EGMeanFreq, EGEigenValue: TMeanFrequency; TempFreq :array[1..DimVector67,1..3] of real; EGVariance,EGEigenVector : TVariance;

EGSort : TSort;

Temp : array[1..3] of real; S : string;

Dissimilarity, Selisih, selisih2, bantu : real; Gambar : TGambar;

WaktuMulai, WaktuSelesai : TDateTime;

IDNumber,JamMulai, JamSelesai, Menit, Detik, MDetik : word; MDetikMulai, MDetikSelesai, TotalWaktu : double;

begin

BBProcess.Enabled := False; Error := 0;

FGauge.Show;

FGauge.Label4.Caption := '9'; FGauge.Refresh;

FGauge.Gauge1.Progress := 0; FGauge.Gauge2.Progress := 0; WaktuMulai := Time;

Val(EdIDNumber.Text,IDNumber,Code); TempPerson.IDNumber := IDNumber; TempPerson.Name := EdName.Text;

(45)

CountFrequency(Freq, Gambar); for i := 1 to DimVector do

TempPerson.freq[i,Mi] := Freq[i]; FGauge.Gauge2.Progress := 10*Mi; end;

EGMeanFreq := CountMeanFrequency(TempPerson);

EGVariance := CountVariance(EGMeanFreq, TempPerson);

EigenSort(EGVariance, EGEigenVector, EGEigenValue, EGSort); FGauge.Gauge2.Progress := 70;

for Ms := 1 to 3 do

begin

AwalX := PosGambar[Ms+Number].AwalX; AkhirX := PosGambar[Ms+Number].AkhirX; AwalY := PosGambar[Ms+Number].AwalY; AkhirY := PosGambar[Ms+Number].AkhirY; for i := 1 to SignHeigh do

CountFrequency(Freq, Gambar);

Dissimilarity := CountDissimilarity(EGEigenVector, EGEigenValue,EGMeanFreq,Freq,EGSort);

if Error = 1 then

ShowMessage('Divided by zero, next or be smaller Qi !')

else begin

(46)

WaktuSelesai := Time; FGauge.Close;

//Hitung waktu proses

DecodeTime(WaktuMulai,JamMulai,Menit,Detik,MDetik);

MDetikMulai := ((JamMulai*60+Menit)*60+Detik)*1000 + MDetik; DecodeTime(WaktuSelesai,JamSelesai,Menit,Detik,MDetik); if JamSelesai >= JamMulai then MDetikSelesai :=

((JamSelesai*60 + Menit)*60 + Detik)*1000 + MDetik else //antisipasi melewati jam 12

MDetikSelesai := (((JamSelesai+12)*60 + Menit)*60 + Detik)*1000 + MDetik;

TotalWaktu := MDetikSelesai - MDetikMulai;

STTime.Caption := FloatToStr(TotalWaktu) + ' MSecond'; EdIDNumber.SetFocus;

end;

3.4.2.4. Form-Form Pendukung

Form-form pendukung sistem adalah form-form tambahan yang digunakan

oleh sistem verifikasi untuk menampilkan informasi atau mengerjakan

bagian-bagian yang tidak bisa dikerjakan pada form utama karena keterbatasan tempat.

Adapun form-form tersebut adalah sebagai berikut :

Gambar 3.10

(47)

Form Daftar Partisipan

Form daftar partisipan dinamakan FBrowse.frm seperti yang terlihat pada

Gambar 3.10 dengan unit UBrowse.pas digunakan sebagai tempat untuk

menampilkan data partisipan yang telah terdaftar pada file basisdata acuan.

Data-data tersebut diantaranya nomor identitas partisipan, nama partisipan dan nilai

ambang tandatangan pembanding partisipan tersebut.

Form Lingkungan Sistem

Form lingkungan sistem dinamakan FSetEnv.frm seperti yang terlihat

pada Gambar 3.11 dengan unit USetEnv.pas digunakan sebagai tempat untuk

mengubah variabel-variabel lingkungan sistem, seperti memilih pola model yang

digunakan (memakai obyek radio button) , nomor pemotongan nilai eigen (Q)

dan koefisien pengali nilai kritis (Cd). Setelah dilakukan perubahan nilai salah

satu variabel, maka sistem akan secara otomatis mengaktifkan file-file yang sesuai

dengan variabel itu, baik file basisdata acuan maupun file pola model.

Gambar 3.11

(48)

Form Pola Model

Form pola model dinamakan FModel.frm seperti yang terlihat pada

Gambar 3.12 dengan unit UModel.pas digunakan sebagai tempat untuk

menampilkan pola model yang sedang aktif dan memasukkan pola model baru

yang akan digunakan dalam sistem verifikasi. Form pola model akan

menampilkan sebuah pola dalam tabel berukuran 5 x5 kotak beserta nomor urut

dan nomor modelnya. Form ini juga menyediakan fasilitas untuk menyimpan

pola model (melalui tombol Save), untuk melihat pola nomor urut sebelumnya

(menggunakan tombol Back), serta pola nomor urut sesudahnya (menggunakan

tombol Next).

Form Indikator Proses

Form indikator proses dinamakan FGauge.frm seperti yang terlihat pada

Gambar 3.13 dengan unit UTtdGauge.pas digunakan sebagai tempat indikator

proses verifikasi sedang berlangsung, baik verifikasi untuk sebuah tandatangan

maupun verifikasi tandatangan secara berkelompok. Indikator ini memanfaatkan

fasilitas obyek gauge.

Form Informasi Sistem

Form informasi sistem dinamakan FSignAbout.frm seperti yang terlihat

pada Gambar 3.14 dengan unit USignAbout.pas digunakan sebagai tempat

untuk menampilkan informasi tentang sistem verifikasi. Informasi ini berupa judul

sistem, Lambang Universitas Udayana, nama pengembang sistem, serta nama

(49)

Gambar 3.12

Tampilan Form Pola Model

Gambar 3.13

(50)

Gambar 3.14

(51)

DOKUMENTASI SISTEM

TAHAP PENGUJIAN DAN ANALISIS HASIL

Pada bab pengujian dan analisis hasil ini akan dibahas mengenai pengujian

sistem dan analisis dari hasil pengujian tersebut. Sebelum itu terlebih dahulu

dijelaskan faktor-faktor yang berpengaruh terhadap proses pengujian. Kemudian

dibahas mengenai hasil pengujian beserta analisis hasilnya. Selain itu juga

dilengkapi dengan analisis terhadap kompleksitas waktu eksekusi dan ruang

penyimpanan yang diperlukan oleh sistem verifikasi.

4.1.

PENGUJIAN

Tujuan pengujian sistem adalah untuk mengetahui sejauh mana efektifitas

dan unjuk kerja sistem yang dibuat. Dengan melakukan pengujian ini nantinya

dapat disimpulkan sejauh mana efektifitas metode yang ditawarkan mampu

menyelesaikan permasalahan yang ada.

Pengujian suatu sistem bukanlah suatu proses yang mudah dilakukan,

karena banyak hal yang mempengaruhi proses pengujian tersebut. Hasil pengujian

sistem tidak hanya ditentukan oleh kebenaran metode dan kebenaran dalam proses

pembuatan program, tetapi juga menyangkut masalah non teknis. Pada umumnya

justru masalah non teknis inilah yang sulit untuk ditanggulangi, karena

kemunculan dan terjadinya relatif sulit diketahui. Adapun beberapa hal yang

(52)

i. Faktor psikologis partisipan/pengguna.

Penulisan tandatangan dilakukan oleh otot-otot yang berhubungan

dengan gerak, yang diaktifkan oleh jaringan saraf dan dikontrol oleh

saraf pusat (model ballistic, Gambar 2.3). Oleh karena penulisan

tandatangan ini berhubungan dengan saraf manusia, maka keadaan

psikologis akan sangat mempengaruhi penulisan tandatangan,

terutama konsistensi penulisan tandatangan satu dengan lainnya oleh

orang yang sama. Jika sampel tandatangan satu dengan yang lainnya

berbeda terlalu jauh maka nilai ambang yang dihasilkan akan tinggi,

sehingga rata-rata kesalahan penerimaan menjadi tinggi.

ii. Jumlah sampel.

Untuk mendapatkan hasil pengujian yang benar, jumlah sampel

harus cukup banyak. Jika jumlah sampel sedikit, maka kesalahan

kecil yang dilakukan sistem membawa pengaruh yang besar terhadap

rata-rata kesalahan. Akan tetapi dengan jumlah sampel yang banyak

atau cukup memadai, rata-rata kesalahan menjadi relatif lebih stabil.

iii. Komposisi sampel.

Pada Sub Bab 2.2.5.3 telah dijelaskan tentang tiga tipe pemalsu.

Ketiga tipe pemalsu itu mewakili kemungkinan pemalsuan yang

terjadi pada kondisi praktis. Tetapi berapa jumlah masing-masing

tipe pemalsu untuk mendapatkan komposisi terbaik yang digunakan

dalam pengujian, merupakan masalah tersendiri. Komposisi sampel

(53)

4.1.1. PENENTUAN KONSTANTA

Efektifitas dan unjuk kerja metode verifikasi yang digunakan dipengaruhi

oleh nilai-nilai konstanta yang ditetapkan. Konstanta ini sebelum dipergunakan

oleh sistem secara permanen, harus dilakukan pengujian terlebih dahulu dengan

beberapa variasi yang disesuaikan dengan anjuran dari pustaka. Konstanta yang

mempengaruhi sistem verifikasi tandatangan dengan menggunakan Metode Pola

Busur Terlokalisasiada dua yakni :

i. Konstanta nomor pemotongan nilai eigen (q).

Pada perhitungan nilai ketidaksamaan (Persamaan 2.44) terdapat sebuah

konstanta yang nilainya ditentukan menurut hasil pengujian. Konstanta

ini adalah konstanta nomor pemotongan nilai eigen (q), yang mana

q adalah bilangan integer positif yang kurang dari dimensi vektor

kolom (p). Pada saat pembuatan basisdata acuan, nilai q yang dicoba

adalah mulai dari 4 sampai nantinya dihentikan pada nilai q yang

memberikan pesan kesalahan bahwa telah terjadi proses pembagian

dengan bilangan nol. Hal ini mengingat nilai eigen yang dihasilkan

dengan urutan menurun pada nomor urut besar cenderung menghasilkan

bilangan yang sangat kecil atau bahkan nol. Hal ini tentunya akan

menyebabkan kesalahan sistem akan besar. Dari hasil pengujian

terhadap variasi nilai q akan dipilih satu nilai yang mengakibatkan

sistem mengalami kesalahan terkecil, dan seterusnya dipergunakan

sebagai konstanta nomor pemotongan nilai eigen yang permanen dalam

(54)

ii. Konstanta pengali nilai ambang (Cd).

Konstanta Cd merupakan koefisien pengali dari median nilai

ketidaksamaan yang didapat pada saat verifikasi tiga tandatangan

pembanding dengan tandatangan acuan yang didaftar (C), untuk

menghasilkan nilai ambang atau nilai kritis (Cc). Pengujian terhadap Cd

dilakukan pada nilai 1,5; 2,0; 2,5 dan 3,0. Nilai ini dipakai agar nilai

ambang yang dihasilkan tidak terlalu jauh menyimpang dari nilai C

yang didapatkan. Jika Cd kurang dari 1,5 maka batas penerimaan akan

sangat sempit sehingga prosentase kesalahan tidak diterimanya

tandatangan asli akan besar. Sebaliknya jika Cd lebih besar dari 3,0

maka batas penerimaan akan terlalu lebar sehingga menyebabkan

kesalahan penerimaan terhadap tandatangan palsu atau yang sangat

tidak konsisten akan besar. Dari hasil pengujian sistem, nilai Cd yang

memberikan prosentase kesalahan terkecil akan ditetapkan seterusnya

sebagai konstanta pengali nilai ambang sistem verifikasi.

4.1.2. TAHAP PENGUJIAN

Tahap-tahap pengujian sistem dilakukan sebagai berikut :

i. Pengumpulan tandatangan acuan.

Setiap partisipan diminta menulis 9 buah tandatangannya pada kertas

formulir berwarna putih dan telah diberi pembatas ruang penulisan.

Pena yang digunakan berwarna hitam berukuran 0.2 mm. Tandatangan

ini nantinya akan digunakan sebagai acuan sebanyak 6 buah serta

(55)

ii. Pengumpulan tandatangan uji.

Partisipan yang telah menuliskan 9 buah tandatangannya sebagai

acuan, beberapa hari kemudian yaitu 5 sampai dengan 10 hari sekali

diminta kembali untuk menandatangani formulir tandatangan uji

masing-masing sebanyak 2 buah, sampai partisipan tersebut memiliki

tandatangan uji sebanyak 12 buah. Akan tetapi pada penelitian ini ada

satu orang partisipan yang hanya menuliskan tandatangan ujinya

sebanyak 10 buah dan seorang lainnya menuliskan tandatangan ujinya

sebanyak 14 buah. Pada saat partisipan memberi tandatangan uji ini,

partisipan tersebut tidak diperbolehkan melihat tandatangannya

semula yang telah dijadikan acuan.

iii. Pengumpulan tandatangan palsu.

Seorang partisipan pemalsu akan diminta sebagai pemalsu sederhana

dan pemalsu terlatih. Sebagai pemalsu sederhana, partisipan ini akan

diminta langsung meniru tandatangan acuan yang ada pada form

tandatangan palsu sebanyak dua kali penulisan tanpa belajar. Setelah

itu pada saat partisipan pemalsu ini sebagai pemalsu terlatih, dia

diminta belajar menirukan tandatangan acuan terlebih dahulu sampai

benar-benar siap untuk memalsukannya, baru kemudian

menandatangani sebanyak dua kali pada form tandatangan pemalsu

terlatih (disatukan dengan form tandatangan acuan). Setiap partisipan

tandatangan acuan, dicarikan pemalsu tandatangannya sebanyak

(56)

iv. Ujicoba antarmuka sistem.

Sebelum dilakukan pengujian ke tahapan berikutnya, terlebih dahulu

dilakukan dulu uji coba terhadap keseluruhan antarmuka sistem yang

telah dibuat. Tujuannya adalah untuk mengetahui kesiapan

komponen-komponen antarmuka sistem tersebut untuk mendukung pengujian

sistem verifikasi selanjutnya.

v. Pendaftaran partisipan

Masing-masing partisipan yang tandatangannya telah dikumpulkan

sebagai tandatangan acuan selanjutnya didaftarkan sebagai pengguna

terdaftar melalui proses pendaftaran, yang pada intinya data masing-masing partisipan ini dimasukkan ke dalam file basisdata acuan.

Setiap nilai konstanta pemotongan nilai eigen (q) terhubung dengan

sebuah file basisdata acuan, baik yang menggunakan pola model

tandatangan Jepang maupun pola model tandatangan Indonesia.

vi. Verifikasi tandatangan uji asli dan tandatangan palsu.

Setelah keseluruhan file basisdata acuan selesai dibuat barulah

dilakukan verifikasi terhadap tandatangan yang telah terkumpul baik

tandatangan uji asli maupun tandatangan palsu.

4.1.3. HASIL PENGUJIAN

Adapun hasil pengujian yang dilakukan terhadap sistem verifikasi

tandatangan dalam penelitian ini, sesuai dengan tahap-tahap yang telah

(57)

4.1.3.1. Ujicoba Antarmuka Sistem

Gambar-gambar berikut ini adalah beberapa contoh tampilan antarmuka

sistem verifikasi tandatangan, yang mana kegunaan serta rancangannya sesuai

dengan apa yang telah dipaparkan sebelumnya pada Bab Perancangan dan

Pembuatan Sistem Verifikasi sub bab Pemrograman.

Gambar 4.1

(58)

Gambar 4.2

Contoh tampilan saat partisipan nomor Id 17 diaktifkan

Gambar 4.3

(59)

Gambar 4.4

Contoh tampilan form pendaftaran partisipan baru

4.1.3.2. Pendaftaran Partisipan

Pada tahap pendaftaran yang bertujuan untuk mendaftarkan

masing-masing partisipan pada file basisdata acuan, dari dua jenis pola model yang

digunakan yaitu pola model tandatangan Jepang dan pola model tandatangan

Indonesia, masing-masing memiliki file basisdata acuan sendiri-sendiri untuk

setiap konstanta pemotongan nilai eigen (q) yang dicobakan. Hasil pengujian

berupa waktu proses, nilai beda 3 buah tandatangan uji beserta nilai beda yang

(60)

Tabel 4.1.

Nilai beda acuan dengan q = 4, pola model Tandatangan Indonesia

No Id D(P,Q1) D(P,Q2) D(P,Q3) C t (mdt) 1 1 5,8947 25,1562 69,0059 C2 5940 2 2 14,2791 32,3332 50,9579 C2 6050 3 3 14,2921 18,0489 12,7983 C1 5940 4 4 16,2859 33,5378 13,3452 C1 6210 5 5 30,6293 30,2653 30,9957 C1 5870 6 6 77,2963 8,6777 12,4735 C3 5870 7 7 12,0280 19,1175 3,9893 C1 6040 8 8 29,6195 43,4567 23,4180 C1 6100 9 9 16,9302 26,0216 24,9570 C3 6160 10 10 5,6469 9,2838 41,3435 C2 6040 11 11 38,3495 9,0720 16,1905 C3 6320 12 12 10,5595 10,3307 20,4830 C1 6040 13 13 47,9656 19,7959 14,4084 C2 6210 14 14 21,2937 19,1556 74,1678 C1 5550 15 15 6,0463 18,4686 5,3738 C1 5930 16 16 45,9358 27,2632 22,3933 C2 5940 17 17 3,3126 15,8259 13,4896 C3 5930 18 18 12,0883 9,8631 14,8382 C1 5990 19 19 31,1373 14,8399 128,7306 C1 5970 20 20 24,5968 15,4393 24,9961 C1 6100 21 21 82,9895 7,7925 37,6547 C3 6100 22 22 53,3649 32,1475 41,2477 C3 6100 23 23 5,4377 15,3463 7,8842 C3 6150 24 24 26,4079 17,4135 17,3651 C2 6150 25 25 49,1463 74,1495 45,8162 C1 6100 26 26 34,2931 48,1401 11,3736 C1 6090

(61)

Tabel 4.2.

Nilai beda acuan dengan q = 5, pola model Tandatangan Indonesia

(62)

Tabel 4.3.

Nilai beda acuan dengan q = 6, pola model Tandatangan Indonesia

No Id D(P,Q1) x 1012

D(P,Q2) x 1012

D(P,Q3)

x 1012 C t (mdt)

1 1 2,7076 9,3635 27,5290 C2 5880

2 2 4,5485 9,6376 9,9203 C2 5990

3 3 2,2885 2,4635 2,2756 C1 5990

4 4 3,9955 7,5785 2,9416 C1 6100

5 5 22,5959 21,4934 22,8596 C1 6150 6 6 52,3734 8,8463 12,4516 C3 5820

7 7 3,2751 4,2263 1,1317 C1 5930

8 8 8,0155 10,5464 5,1707 C1 6040

9 9 3,8020 5,4758 5,7750 C2 6150

(63)

Tabel 4.4.

Nilai beda acuan dengan q = 7, pola model Tandatangan Indonesia

No Id D(P,Q1) x 1013

D(P,Q2) x 1013

D(P,Q3)

x 1013 C t (mdt)

1 1 1,1096 3,9097 11,4594 C2 5830

2 2 1,1546 2,4436 2,5020 C2 5990

3 3 1,3679 1,4661 1,3569 C1 5930

4 4 1,7801 3,2634 1,2672 C1 6090

5 5 4,2433 4,0494 4,3040 C1 6200

6 6 12,7317 2,1501 3,0199 C3 5820

7 7 1,2969 1,5765 0,4452 C1 5990

8 8 1,0262 1,3502 0,6619 C1 6100

9 9 2,1422 3,0899 3,3435 C2 6150

(64)

Tabel 4.5.

Nilai beda acuan dengan q = 8, pola model Tandatangan Indonesia

No Id D(P,Q1) x 1013

D(P,Q2) x 1013

D(P,Q3)

x 1013 C t (mdt) 1 1 5,2454 19,5602 57,3553 C2 6200

2 2 1,2962 2,7430 2,8076 C2 6050

3 3 2,7731 2,8058 2,6043 C1 5930

4 4 2,9086 5,2911 2,0221 C1 6100

5 5 4,6695 4,4515 4,7333 C1 6150

6 6 24,0408 4,1093 5,5024 C3 5820

7 7 3,2665 3,9500 1,0841 C1 5990

8 8 2,0422 2,6947 1,3205 C1 6100

9 9 2,5731 3,8151 4,1137 C2 6150

(65)

Tabel 4.6.

Nilai beda acuan dengan q = 9, pola model Tandatangan Indonesia

No Id D(P,Q1) x 1013

D(P,Q2) x 1013

D(P,Q3)

x 1013 C t (mdt) 1 1 9,8445 37,0672 108,4696 C2 5500 2 2 6,6286 13,8160 14,2973 C2 6040

3 3 6,6280 6,3173 5,7142 C2 5940

4 4 6,0751 10,8487 4,1459 C1 6090

5 5 11,0460 10,2942 11,1594 C1 6150 6 6 87,4780 15,7697 20,3823 C3 5820

7 7 4,6086 5,5321 1,5212 C1 5980

8 8 3,7773 4,8914 2,3833 C1 6100

9 9 3,5678 6,1306 6,5704 C2 6150

10 10 8,1266 13,2763 40,4788 C2 5930 11 11 11,0196 2,5168 4,9541 C3 6260 12 12 7,4022 6,7885 14,7742 C1 5930 13 13 20,1494 11,6765 8,5589 C2 6260 14 14 18,3008 28,9271 70,7473 C2 5550

15 15 ERROR

16 16 25,7823 12,8567 10,6016 C2 5930 17 17 6,5917 34,4685 28,3508 C3 5930 18 18 0,6558 0,7628 0,9772 C2 5990 19 19 3,5222 1,8610 11,1246 C1 6040 20 20 8,2760 3,9612 11,6612 C1 6100 21 21 35,1035 2,7689 10,9164 C3 6100 22 22 4,6821 3,9816 4,9950 C1 6100 23 23 2,2598 3,1461 3,3793 C2 6040 24 24 5,3230 4,7355 4,1993 C2 6100 25 25 8,2017 12,7531 7,0916 C1 6040 26 26 4,8982 4,8968 1,7906 C2 6040

Rata-rata waktu proses adalah 150110 / 25 = 6004,4 mili detik

Dalam Tabel 4.6 di atas terlihat sudah terjadi kesalahan proses pembagian

dengan bilangan nol pada partisipan dengan nomor identitas 15, sehingga

pendaftaran dengan konstanta pemotongan nilai eigen (q) yang lebih besar dari 9

(66)

Tabel 4.7.

Nilai beda acuan dengan q = 4, pola model tandatangan Jepang

(67)

Tabel 4.8.

Nilai beda acuan dengan q = 5, pola model Tandatangan Jepang

Gambar

Gambar : TGambar);
Gambar 3.9
Gambar 3.10
Gambar 3.11
+7

Referensi

Dokumen terkait

Program inisiatif yang termasuk dalam kategori hijau mengindikasikan bahwa performa program inisiatif tersebut sudah mencapai target yang telah ditetapkan oleh

 Pemantauan Pemantauan secara terus menerus secara terus menerus terhadap status n terhadap status neutologis, nad eutologis, nadi, tekanan i, tekanan darah,

Pengaruh Stress Kerja Dan Semangat Kerja Terhadap Kinerja Karyawan Bagian Produksi (Studi Kasus Pada CV. Aneka Ilmu Semarang).. Pengaruh Motivasi Kerja Terhadap Kinerja Karyawan PT

Tingkat pengetahuan ibu yang kurang tentang pemberian ASI mengakibatkan bayi lebih sering diberi susu botol dari pada disusui ibunya, dan sikap ibu yang salah

pada nilai belajar yang dimiliki oleh setiap siswa jika tanggung jawab siswa pada. dirinya bagus maka nilai belajar yang didapatkan siswa juga bagus

Namun, terbukanya ekspor buah manggis ke pasar Australia merupakan suatu bentuk keberhasilan diplomasi perdagangan Indonesia, sebab Australia merupakan negara yang

Salah satu upaya peningkatan produktivitas perairan umum misalnya danau adalah kegiatan introduksi ikan, yaitu memindahkan atau menebarkan ikan dari suatu perairan ke perairan

Berkenaan dengan bahasa Cirebon dijelaskan dalam Perda Nomor 5 Tahun 2003 tentang Pemeliharaan Bahasa, Sastra, dan Aksara Daerah, Bab I, Pasal 1, dijelaskan