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). Masingmasing 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 parameterparameter 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 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 Dengan menggunakan filter : H (x,y) = [-1 1] Maka hasil filter adalah : 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 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) M N 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 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
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. Kelaskelas 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 X W1 y_in1 F1 y1 X3 X4 X5 X W2 y_in2 F2 y2 X50 Gambar 2.5 Arsitektur LVQ Dengan : 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 diharapkan (Eps), learning rate (α) b. Masukan : 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. Tetapkan kondisi awal : a. Epoh = 0; b. Err = 1, d. 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 i. Memilih (J) jarak sedemikian hingga X Wj minimum (sebut sebagai Cj) ii. Perbaiki Wj dengan ketentuan; -Jika T = Cj maka : Wj(baru) = Wj (lama) + α (X-Wj(lama)) -Jika T Cj maka : Wj(baru) = Wj (lama) - α (X-Wj(lama)) e. Kurangi nilai pengurangan α Pengurangan α = 0,1 * α