BAB II
TINJAUAN PUSTAKA 2.1 Tanda Tangan
Tanda tangan atau dalam bahasa Inggris disebut signature berasal dari latin
signare yang berarti tanda atau tulisan tangan, dan biasanya diberikan gaya tulisan tertentu dari nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen sebagai sebuah bukti dari identitas. 2.2 Verifikasi Tanda Tangan
Verifikasi adalah proses membandingkan sebuah sampel biometrik terhadap
sebuah referensi dari seorang pengguna untuk memastikan identitas seseorang yang berhubungan dengan akses ke sistem.
Verifikasi tanda tangan adalah verifikasi berdasarkan pada tanda tangan
seseorang, dimana tanda tangan yang diberikan dicocokan dengan sampel tanda tangan yang telah disimpan pada data sebelumnya.
Dalam proses verifikasi tanda tangan menurut Griess (2000,p1) dapat dibagi
menjadi dua bagian, yaitu :
a. Off-line signature Verification (verifikasi tanda tangan secara offline)
b. On-line signature Verification (verifikasi tanda tangan secara online)
Verifikasi tanda tangan secara Off-line merupakan sebuah signature
verification yang mengambil sebuah image tanda tangan sebagai input yang nantinya akan digunakan sebagai proses selanjutnya. Berbeda dengan verifikasi
tanda tangan secara On-line Dimana input yang berupa tanda tangan yang akan di capture langsung dari digitizer yang dapat menghasilkan nilai-nilai dinamik, misalnya nilai koordinat dan waktu tanda tangan.
Pada gambar tanda tangan secara Off-line biasanya memiliki tingkat noise
yang cukup tinggi dibandingkan dengan gambar image yang di-capture langsung oleh
6
7
digitizer yang dipakai secara On-line, tetapi hal tersebut tergantung juga pada alat scanning dan backround kertas yang digunakan.
Verifikasi tanda tangan secara Off-line memiliki kelebihan dari segi biaya,
karena biaya yang digunakan lebih murah daripada pengenalan tanda tangan
secara on-line, selain itu pengenalan tanda tangan secara Off-line lebih diperlukan dalam bidang perbankan, atau lembaga dan sebagian besar bank di Indonesia. 2.3 Pengolahan Citra 2.3.1 Citra
Citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Citra
merupakan fungsi menerus (continue) dari itensitas cahaya pada bidang dwimatra.
Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata
pada manusia, kamera, dan scanner, sehingga bayangan objek pada citra tersebut terekam (Munir; 2004:2)
2.3.2 Digitalisasi Citra
Citra ada dua macam, yaitu citra kontinu dan citra diskrit. Citra kontinu
dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia
dan kamera analog. Citra Diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik yang dilengkapi dengan fungsi digitalisasi
sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra Diskrit disebut juga Citra Digital.
Agar citra dapat diolah menggunakan komputer digital, maka suatu citra
harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit disebut Digitalisasi. Citra yang
dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk persegi empat panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar x tinggi).
Citra digital yang berukuran N x M dinyatakan dengan matriks yang
berukuran N baris dan M kolom sebagai berikut :
8
Indeks baris (i) dan kolom (j) menyatakan suatu kordinat titik pada citra,
sedangkan f(i,j) merupakan itensitas (derajat keabuan) pada titik (i,j). Masing-
masing elemen padacitra digital disebut image elemen, picture elemen atau piksel atau pel. Jadi citra yang berukuran N x M mempunyai NM buah piksel. Sebagai contoh, misalkan sebuah citra berukuran 256 x 256 piksel dan direpresentasikan
secara numerik dengan matriks yang terdiri dari 256 baris (di-indeks dari 0 sampai 255) dan 256 buah kolom (di indeks dari 0 sampai 255) seperti contoh berikut :
Piksel pertama pada kordinat (0,0) mempunyai nilai itensitas 0 yang berarti
warna piksel tersebut hitam, piksel kedua pada koordinat (0,1) mempunyai
itensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya. (Munir, 2004).
2.4 Image Preprocessing 2.4.1 Grayscale
Proses awal yang banyak dilakukan dalam image preprocessing adalah
mengubah citra warna menjadi citra grayscale untuk menyederhanakan model citra. Citra berwarna terdiri atas 3 layer matriks, yaitu : R-layer, G-layer, B-layer.
Agar dapat mengubah citra berwarna menjadi citra keabuan kita daapat
9
melakukan konversi dengan mengambil rata-rata nilai r, g, dan b sehingga dapat dirumuskan menjadi:
2.4.2 Thresholding
Thresholding berfungsi untuk mengatur derajat keabuan pada citra sesuai
keinginan. Untuk mengatur derajat keabuan kita dapat menggunakan rumus sebagai berikut :
Keterangan : w adalah nilai derajat keabuan sebelum thresholding x adalah nilai derajat keabuan setelah thresholding
Pemilihan nilai threshold yang digunakan berpengaruh terhadap ketajaman
suatu citra. Biasanya rentangan nilai graylevel yang sering digunakan adalah antara 0-255. Pada skripsi ini, nilai threshold yang digunakan adalah 180. Proses pengubahan ini, dilakukan dengan memeriksa piksel citra. Jika piksel kurang dari
180 maka warna piksel berubah menjadi hitam, begitu juga sebaliknya jika piksel lebih dari 180 maka warna piksel akan berubah menjadi putih. 2.4.3 Thinning
Setelah melalui proses binerisasi, dalam hal ini membuat citra menjadi
berwarna hitam putih. Maka proses selanjutnya yaitu thinning atau penipisan
biasanya digunakan untuk skeletonizing yang sering digunakan dalam aplikasi
pattern recognition. Pada citra tersebut dilakukakn thinning untuk mendapatkan gambar dengan ukuran 1 piksel.
Adapun manfaat setelah mendapatkan citra 1 piksel yaitu agar kode tersebut
mempunyai ukuran piksel yang sama meskipun tebal dan tipisnya berbeda-beda. 2.4.4 Croping
Croping adalah memotong satu bagian dari citra sehingga diperoleh citra
yang berukuran lebih kecil. Operasi ini pada dasarnya adalah operasi translasi,
10
yaitu menggeser koordinat titik citra. Rumus yang digunakanuntuk operasi ini adalah :
x’ = x – xL untuk x = xL sampai xR x’ = y –yT untuk y = yT sampai yB
(xL, yT) dan (xR, yB) masing-masing adalah koordinat titik pojok kiri atas
dan pojok kanan bawah bagian citri yang akan di-crop. Berikut diagram alir untuk proses croping. 2.4.5 Scaling
Proses scaling bertujuan untuk memperbesar atau memperkecil image agar
kode yang akan dihasilkan memiliki lebar dan tinggi yang sama. 2.5 Deteksi Tepi (Edge Detection) Peningkatan
kualitas
Citra
(image
enhancement)
bertujuan
untuk
menghasilkan Citra dengan kualitas yang lebih baik dibandingkan dengan Citra
semula. Hal yang dilakukan selanjutnya dalam skripsi ini adalah analisa Citra (image analysis). Analisis Citra bertujuan untuk mengidentifikasikan parameter-
parameter yang diasoasikan dengan ciri (feature) dari objek di dalam Citra, kemudian parameter tersebut digunakan dalam menginterpretasi Citra.
Deteksi Tepi (Edge Detection) pada suatu citra adalah suatu proses yang
menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah :
Untuk menandai bagian yang menjadi detail citra
Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra
Berdasarkan prinsip-prinsip filter pada citra maka tepi suatu gambar dapat
diperoleh menggunakan High Pass Filter (HPF), yang mempunyai karakterisitk :
11
Contoh : Diketahui fungsi citra f(x.y) sebagai berikut : 1
1
1
1
1
1
1
1
0
0
1 1 1
1
1
1
1
0
0
0
0
0
0 0 0
Dengan menggunakan filter : H (x,y) = [-1 1] Maka hasil filter adalah : 0
0
0
0
1
0
0
1
0
0
0 0 1
0 1 0
0 0 0
1 0 0
0 0 0
Bila digambarkan maka proses filter diatas mempunyai masukan dan keluaran
sebagai berikut :
Gambar 2.2 Gambar Proses filter Untuk perhitungan diatas dapat pula dilakukan dengan cara manual
menggunakan perhitungan konvolusi.
Tepian Citra dapat didefenisikan sebagai perubahan nilai intensitas derajat
keabuan yang mendadak (besar) dalam jarak yang singkat. Perbedaan intensitas
inilah yang menampakkan rincian pada gambar. Ada beberapa metode deteksi tepi yang dapat digunakan, antara lain :
12
a. Metode Roberts b. Metode Prewitt c. Metode Sobel
d. Metode Canny
e. Metode Zerocross Dalam penelitian ini menggunakan metode sobel, karena kelebihan dari
metode sobel adalah memiliki kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.
Metode sobel merupakan pengembangan dari metode Robbert dengan
menggunakan filter HPF (High Pass Filter) yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF
Pendeteksi tepi Sobel menggunakan kernel konvolusi 3x3, satu mengestimasi
gradien dalam arah x (kolom) dan yang lainnya mengestimasi gradien dalam arah y (baris). Kernel konvolusi biasanya lebih kecil dari citra aktual. Hasilnya, kernel dipasangkan pada citra, melakukan proses perkalian piksel-piksel. Kernel konvolusi Sobel diperlihatkan pada Gambar berikut: -1
0
+1
+1
+2
+1
-2
0
+2
0
0
0
-1
0
+1
-1
-2
-1
Sx
Sy
Algoritma operasi piksel citra dengan kernel konvolusi 3x3 adalah: For I = 1 to M
For J = 1 to N N = 0
For K = -1 to +1
For L = -1 to +1
N = N+F(I+K,J+L)*H(K,L)
End
13
End
G(I,J) = N End
End
Dengan:
H = matriks atau kernel konvolusi
F = citra asli
G = citra hasil konvolusi
Berikut adalah contoh penggunaan operator sobel. Konvolusi pertama
dilakukan terhadap pixel yang bernilai 1 (titik pusat mask) :
Nilai 18 pada citra hasil konvolusi didapatkan dengan perhitungan : Sx = (3)(-1) + (2)(-2) + (3)(-1) + (2)(1) + (6)(2) + (7)(1) = 11 Sx = (3)(1) + (4)(2)+(2)(1)+(3)(-1)+(5)(-2) + (7)(-1) = -7 2.6 Ekstraksi Ciri
Data tanda tangan yang telah diolah pada tahap prepocessing selanjutnya
akan diproses lebih lanjut untuk mendapatkan fitur yang mencerminkan
karakteristik dari tanda tangan tersebut. Nilai dari fitur inilah yang nantinya akan dimasukan ke dalam jaringan saraf tiruan.
Gopal W. Gupta dan Rick C. Joyce menyatakan beberapa fitur – fitur yang
sering dipakai dalam sistem verifikasi tanda tangan, antara lain :
Total waktu yang dihabiskan dalam membuat tanga tangan
Nilai-nilai perubahan dari kecepatan tanda tangan berdasarkan sumbu x dan sumbu y
Lama waktu pen ditekan atau diangkat
Panjang keseluruhandari garis tanda tangan
14
Proses ekstrkasi ciri ini berfungsi untuk mengubah suatu pola menjadi bit-bit
digital sehingga dapat dimengerti oleh komputer. Misalkan dilakukan proses ekstraksi ciri terhadap citra contoh tanda tangan berikut :
Gambar 2.3 Contoh Tanda Tangan Citra pola karakter dibagi menjadi matriks berukuran m x n (m baris dan n
kolom). Pada contoh ini, matriks yang digunakan adalah 10 x 10. Pada setiap
kotak (elemen), dilakukan penelusuran. Jika ditemukan nilai 0 (piksel hitam) dalam jumlah tertentu, maka diberikan nilai 0 (warna hitam) pada kotak tersebut.
Namun, jika sebaliknya, maka diberikan nilai 1 (warna putih) untuk kotak tersebut. Dari sini, diperoleh hasil ekstraksi ciri berupa nilai barisan bit 0 dan 1 sebanyak 100 bit. (Kusumadewi, 2003, 269)
N
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0 1 1
M
1 0 0
1 0 0
1
1
1
0
0
0
0 0
0 0
1 0 0
1 1 1
0 1 1
0 0 1
0 0 1
0 1 1
0 1 0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1 0
1 0
0 0
Gambar 2.4 Proses Ekstraksi Ciri 2.7 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST) merupakan representasi buatan dari otak
manusia yang selalu mencoba mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini
0 0
0 0
0 0
15
diimplementasikan dengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran (Kusumadewi, 2003).
Jaringan saraf tiruan tidak diprogram untuk menghasilkan keluaran tertentu.
Dengan kata lain, penyelesaian masalah dengan jaringan saraf tiruan tidak memerlukan pemrograman. Semua keluaran atau kesimpulan yang ditarik oleh jaringan saraf tiruan didasarkan pada pengalaman selama mengikuti proses pembelajaran melalui contoh-contoh yang diberikan (Ririen, 2007:96). Selama
proses pembelajaran, pola-pola input disajikan bersama-sama dengan pola output yang diinginkan. Sebagai tanggapan atas pola-pola input dan output yang
disajikan tersebut, jaringan akan menyesuaikan nilai bobotnya. Jika pelatihan telah berhasil, bobot-bobot yang dihasilkan selama pelatihan jaringan akan memberikan tanggapan atau jawaban yang benar terhadap input yang diberikan.
JST terdiri dari sejumlah simpul (node) yang merupakan elemen pemroses.
Setiap simpul tersebut memodelkan sebuah sel saraf biologis (neuron). Hubungan
antar simpul dicapai melalui bobot koneksi (weight). Bobot koneksi menentukan apakah sinyal yang mengalir bersifat peredam (inhibitory connection). Bobot koneksi yang bersifat meredam dapat dinyatakan, misalnya oleh bilangan negatif,
sedangkan yang bersifat merangsang oleh bilangan positif. Selain ditentukan oleh
karakteristik bobot koneksinya, besrnya sinyal yang keluar dari sebuah simpul
juga ditentukan oleh fungsi aktifasi (activation function) yang digunakannya. Artinya, pemilihan fungsi aktifasi menentukan derajat keaktifan dari sebuah simpul (Liman, 2005).
2.8 Jaringan Learning Vector Quantitation (LVQ)
Learning Vector Quantitation (LVQ) adalah suatu metode untuk melakukan
pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif
akan secara otomatis belajar untuk mengklarifikasikan vektor-vektor input. Kelas-
kelas yang didapatkan sebagai hasil dari lapisan kopetitif ini hanya tergantung pada jarak antara vektor-vektor input. Jika dua vektor input mendekati sama,
16
maka lapisan kompetitif akan meletakan kedua vektor input tersebut kedalam kelas yang sama. (Kusumadewi, 2003)
LVQ adalah suatu metoda klasifikasi pola yang masing-masing unit keluaran
mewakili kategori atau kelas tertentu (beberapa unit keluaran seharusnya
digunakan untuk masing-masing kelas). Vektor bobot untuk suatu unit keluaran sering dinyatakan sebagai sebuah vektor referens.
Pada gambar 2.5, ditunjukan arsitektur LVQ yang digunakan pada penelitian
ini. Terdapat 50 unit neuron input dan sejumlah n output. Lapisan input diambil dari pengolahan citra tanda tangan dan lapisan output merepresentasikan target pemilik tanda tangan
INPUT
BOBOT
JARAK
OUTPUT
X1 X2 X3 X4 X5
| X – W1 |
| X – W2 |
y_in1
y_in2
F1
F2
y1
y2
X50
Dengan :
Gambar 2.5 Arsitektur LVQ
a) X1 sampai dengan Xn = nilai input
b) || x – w1 || sampai dengan || x – wn || = jarak bobot c) F1 sampai dengan Fn = lapisan output d) y1 sampai dengan yn = nilai output
Algoritma JST Learning Vector Quantization (Kusumadewi,2003) : a.
Tetapkan : Bobot (W), Maksimum Epoh (MaxEpoh), error, minimum yang
b.
Masukan :
diharapkan (Eps), learning rate (α)
a. Data input: x(m,n); dengan i=1,2,...,n dan j=1,2,...,m b. Target berupa kelas : T(1,n) dengan k=1,2,...,n
17
c.
d.
Tetapkan kondisi awal :
a. Epoh = 0; b. Err = 1,
Kerjakan selama : (epoh < MaxEpoh), nilai error minimum tercapai
atau nilai error=0 dan (α> Eps) a. Epoh = epoh+1;
b. Kerjakan untuk i=1 sampai n
e.
i.
Memilih (J) jarak sedemikian hingga || X – Wj || minimum (sebut
ii.
Perbaiki Wj dengan ketentuan;
sebagai Cj)
-Jika T = Cj maka : Wj(baru) = Wj (lama) + α (X-Wj(lama)) -Jika T
Cj maka : Wj(baru) = Wj (lama) - α (X-Wj(lama))
Kurangi nilai pengurangan α
Pengurangan α = 0,1 * α