Upload
nesia-darmiati
View
141
Download
2
Embed Size (px)
Citation preview
APLIKASI PENGENALAN POLA TANDA TANGAN DINAMIS
UNTUK VALIDASI ABSENSI MAHASISWA “UPI-YPTK” PADANG
Nesia Darmiati
1), Silfia Andini, S.Kom, M.Kom
2), Abulwafa Muhammad, S.Kom, M.Kom
3)
1)Teknik Informatika, Univers i ta s Pu t ra Indonesia “YPTK” Padang, Padang
emai l :[email protected] 2)Teknik Informatika, Univers i ta s Pu t ra Indonesia “YPTK” Padang, Padang
email: [email protected]
3)Teknik Informatika, Univers i ta s Pu t ra Indonesia “YPTK” Padang, Padang
email: [email protected]
Abstrak – Pengenalan tanda tangan merupakan salah satu bidang pengenalan pola yang cukup berkembang pada
masa sekarang ini. Dimana aplikasinya dapat diterapkan dalam berbagai bidang, salah satu adalah untuk absensi.
Dalam tugas akhir ini, penulis membuat aplikasi pengenalan tanda tangan dinamis yang digunakan untuk
menentukan validasi absensi mahasiswa “UPI-YPTK” Padang. Menggunakan beberapa metode yaitu, R2 yang
berasal dari SLR (Simple Linear Regression) untuk mengukur dua urutan satu dimensi, kemudian memperluas R2
menjadi ER2 sebagai pencocokan dua dimensi, sedangkan untuk keselarasan optimal menggunakan Dynamic
Time Warping yang digabung dengan ER2 untuk meningkatkan ketahanan verifikasi tanda tangan.
Aplikasi ini juga dibuat dengan menggunakan bahasa pemrogramam Netbeans 7.3 dan MySql, txt sebagai
basis datanya. Untuk menginputkan tanda tangan digunakan perangkat keras yaitu digitizer. Suatu tanda tangan
dinyatakan mirip, juga tergantung dari nilai threshold. Tanda tangan akan diterima jika nilai kemiripannya besar
sama dengan nilai threshold yang telah ditentukan, untuk aplikasi ini nilai threshold dapat diatur dalam rentang
80-100 %.
Kata Kunci : Sinature Recognation, Simple Linear Regression, R2, ER
2, Dynamic Time Warping
1. PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan zaman yang serba otomatisasi
mengantarkan kita kepada era digital, dimana kegiatan
yang semula dilakukan secara manual berangsung-
angsur berganti dan dilakukan secara otomatis dengan
bantuan komputer. Pengenalan tanda tangan
merupakan salah satu bidang pengenalan pola (pettern
recognation) yang cukup berkembang pada masa
sekarang ini. Dimana aplikasinya dapat diterapkan
dalam berbagai bidang misalnya bidang keamanan,
validasi data dll.
Universitas Putra Indonesia “YPTK” Padang
adalah sebuah instansi pendidikan yang mempunyai
banyak sekali mahasiswa. Untuk memperlancar
kegiatan akademik, maka diberlakukanlah sistem
absen. Sistem absen ini bertujuan untuk mengetahui
tingkat keaktifan mahasiswa dalam menghadiri dan
mengikuti kegiatan belajar mengajar. Sistem absen ini
memberikan kesempatan mahasiswa untuk tidak
mengikuti proses perkulihan selama empat kali
pertemuan untuk setiap mata kuliah untuk semua
kategori alasan, baik sakit, izin maupun alfa.
Namun sebagian mahasiswa masih mengangap
kurang, apalagi dengan sistem absen yang masih
manual sangat memungkinkan untuk melakukan
tindak kecurangan. Tidak jarang mahasiswa yang
tidak hadir, dianggap hadir. Hal ini juga dikarenakan
solidaritas antar mahasiswa yang cukup tinggi, atau
rasa kasihan terhadap teman, sudah menjadi hal yang
biasa di kalangan mahasiswa tidak hanya di
Universitas Putra Indonesia “YPTK” Padang saja,
tetapi juga terjadi di universitas lainnya. Istilah titip
absen sudah menjadi tren dikalangan mahasiswa,
padahal sesuai dengan prinsip Universitas Putra
Indonesia “YPTK” Padang yaitu berlaku jujur dan
menegakkan kebenaran, harusnya mahasiswa bisa
memegang dan mengamalkannya dalam kehidupan
sehari-hari termasuk dalam hal absensi hadir.
Agar tidak terjadi lagi kebohongan/prilaku tidak
jujur di kalangan mahasiswa khususnya dalam hal
absensi hadir, maka diperlukan sistem yang smart,
yang mampu mengenali tanda tangan mahasiswa
tersebut apakah asli atau palsu.
Untuk membandingkan dua buah tanda tangan
asli atau palsu, tanda tangan tersebut harus memiliki
nilai yang masuk akal 0-100 %. Misalnya dua buah
tanda tangan memiliki persentase kemiripan 90 %
sehingga kedua tanda tangan tersebut secara sabjektif
dapat dikatan asli.
Jarak Euclidean, Dinamic Time Warping atau
pengukuran jarak lainnya tidak dapat memberikan
informasi apapun tentang kesamaan tampa
membandingkannya dengan jarak lainnya.
Berdasarkan beberapa pengamatan R2 adalah kesaman
ukuran yang baik dengan arti yang intuitif. Mengingat
dua urutan, R2 menjawab kesamaan dengan nilai
antara 0%-100%. Jenis ukuran kemiripan sangat
berguna untuk verifikasi tanda tangan, terutama
memperhatikan bahwa hanya sedikit tanda tangan asli
yang tersedia dalam praktek.
R2 berasal dari SLR (Simple Linear Regression)
yang secara tradisional mengukur dua urutan satu
dimensi. Pada penelitian ini kami memperluas R2
untuk ER2 sebagai pencocokan multidemensi, juga
keselarasan optimal menggunakan Dynamic Time
Warping yang digabung ke ER2 untuk meningkatkan
ketahanan verifikasi tanda tangan.
1.2 Perumusan Masalah
Dari latar belakang di atas maka penulis
merumuskan masalah sebagai berikut:
1. Apakah aplikasi pengenalan pola tanda
tangan dinamis ini dapat menentukan validasi
absensi mahasiswa Universitas Putra
Indonesia “YPTK” Padang ?
2. Apakah aplikasi pengenalan pola tanda
tangan dinamis ini memberikan hasil yang
akurat ?
3. Apakah aplikasi pengenalan pola tanda
tangan dinamis ini dapat menentukan layak
tidaknya seorang mahasiwa untuk mengikuti
ujian ?
1.3 Tujuan
Tujuan ingin dicapai dalam penelitian Tugas
Akhir ini adalah :
1. Membuat perangkat pengenalan pola tanda
tangan dinamis untuk mengetahui validasi
absensi mahasiswa “UPI-YPTK” Padang.
2. Mengimplementasi metode verifikasi tanda
tangan dinamis dengan R2 yang berasal dari
SLR (Simple Linear Regression) untuk
mengukur dua urutan satu dimensi dan
memperluas R2 menjadi ER
2 sebagai
pencocokan multidemensi, juga keselarasan
optimal menggunakan Dynamic Time
Warping yang digabung ke ER2 untuk
meningkatkan ketahanan verifikasi tanda
tangan.
2 LANDASAN TEORI
2.1 Pengenaan Pola
Pengenalan pola atau pattern recognation adalah
disiplin ilmu yang bertujuan untuk mengklasifikasi
objek menjadi beberapa kategori atau kelas [11].
Tujuan dari pengenalan pola ini adalah
mengklasifikasi dan mendeskripsikan pola atau objek
kompleks melalui pengetahuan sifat-sifat atau ciri-ciri
objek tersebut. Pola merupakan suatu entitas yang
terdefinisi dan dapat diidentifikasi dan diberi nama
[2].
2.2 Biometrik
Biometrik merupakan metode otomatisasi untuk
mengenal sesorang berdasarkan karakteristik fisik
seperti iris mata, sidik jari atau kebiasaan seperti tanda
tangan atau suara [4].
Pada penelitian ini, karakteristik yang dibahas
adalah adalah pola tanda tangan. Hal ini disebabkan
karena tanda tangan memiliki tingkat akurasi untuk
identifikasi yang cukup tinggi. Perbandingan tingkat
akurasi teknologi biometrik dengan mengacu
perbandingan antara kesalahan proses identifikasi
dengan ketepatan proses identifikasi dalam kondisi
acak dapat dilihat pada tabel 1.1
Tabel 1.1 Perbandingan Keakuratan Teknologi
Biometrik
Biometrik Tingkat Akurasi
Pemayaran Retina 1:10.000.000
Pemayaran Iris 1:131.000
Pola Sidik Jari 1:500
Geometri Tangan 1:500
DinamikaTanda
Tangan
1:50
Dinamika Suara 1:50
Tanda tangan adalah proses menulis seseorang
yang bersifat khusus sebagai substansi simbolik [3].
Tanda tangan merupakan bentuk yang paling banyak
digunakan untuk identifikasi seseorang. Tanda tangan
adalah behavioral biometric, tidak menggunakan
karakteristik fisik seperti sidik jari atau karakteristik
wajah, tetapi menggunakan kebiasaan. Tanda tangan
seseorang mungkin dapat berbeda kapan saja, dan
tidak seunik atau sesulit dipalsukan seperti sidik jari
atau iris mata, tetapi tanda tangan telah diterima oleh
masyarakat luas sebagai sesuatu yang umum,
membuat tanda tangan menjadi cocok untuk
digunakan dalam aplikasi yang memerlukan tingkat
autentifikasi yang lebih umum.
2.3 Verifikasi Tanda Tangan
Dalam verifikasi, yang ditentukan adalah
mengkonfirmasikan ataupun menolak sesorang yang
mengklaim identitas tertentu.
Berdasarkan karakteristik data yang diambil,
verifikasi tanda tangan secara umum dapat dibagi
menjadi dua yaitu:
1. Verifikasi tanda tangan dinamis
Metode verifikasi tanda tangan (signature)
dengan akuisisi data secara dinamis disebut
juga metode online. Dalam metode ini proses
akusisi data dilakukan bersamaan dengan
proses penulisan. Data yang diambil pada
umumnya bermacam-macam, tidak hanya
berupa koordinat posisi titik-titik penulisan,
tetapi juga informasi dinamis lain seperti
tekanan, kecepatan, gaya penekanan tangan
pada pena dan lain sebagainya. Jenis data
yang dapat diambil sangat bergantung pada
kemampuan peralatan masukan yang
digunakan. Peralatan masukan yang sering
digunakan untuk mengakuisisi data secara
dinamis ini disebut digitizer.
2. Verifikasi tanda tangan statis
Metode verifikasi dengan akuisisi data secara
statis disebut juga dengan metode offline.
Berbalikan dengan metode dinamis, metode
statis melakukan akuisisi data setelah proses
penulisan selesai dilakukan atau bahkan
kemungkinan lama setelah proses penulisan
dilakukan. Seseorang menuliskan tanda
tangannya pada kertas, yang kemudian
diubah menjadi citra digital dengan
menggunakan scanner. Dari citra inilah
selanjutnya diproses untuk menentukan
otentik atau tidaknya tanda tangan tersebut
[9].
2.4 Simple Linear Regression
Mengingat dua urutan/sekuens X = (x1, x2, ..., xn),
Y = (y1, y2, ..., yn), analisa regresi linier statistik
distribusikan dari titik (x1, y1), (x2, y2), ..., (xn, yn)
dalam ruang XY. Jika X dan Y memiliki hubungan
linear yang kuat, yaitu, Y = β0 + β1X, kita bisa
mengharapkan distribusi titik-titik adalah sepanjang
garis, yang disebut garis regresi. Gambar 2.1
menunjukkan contoh.
Gambar 2.1 Dua pasang urutan, R2 (X1, X2)
= 91% dan R2 (X3, X4) = 31%.
Untuk regressi Y pada X, pertama-tama kita
membentuk model : Y = β0 + β1X + u, dimana u
adalah error term. Perhatikan bahwa u = (u1, u2 ...,
un). Kemudian perkirakan parameter β0 dan β1 dalam
arti minimum jumlah dari kuadrat error, yaitu, i = 1 Σn
ui2 = i = 1 Σ
n (yi - (β0 + β1xi))
2 diminimalkan. Dari titik
geometrik, kita dapat memperkirakan garis regresi
yang ditentukan oleh β0 dan β1 sehingga garis sesuai
titik-titik dalam ruang XY sedekat mungkin. Misalkan
Q (β0, β1)= i=1Σn ui
2. Perhatikan bahwa Q adalah
fungsi dari β0 dan β1. Untuk meminimalkan Q (β0, β1),
kita memiliki δQ/δβ0 = 0 dan δQ/δβ1 = 0. Dari hal ini,
kita dapat memperoleh hasil sebagai berikut.
β0 = Y '- β1X'
dan
i =1Σn (xi - X ') (yi - Y')
β1 = ---------------------------------------
i=1Σn (xi - X ')
2
dimana X '= 1 / n i = 1Σn xi, Y' = 1 / n i = 1Σ
n yi.
Dengan β0 dan β1 seperti di atas, garis regresi dapat
ditentukan.
Sebagai ukuran kecocokan yang paling baik, R2
didefinisikan sebagai:
i = 1 Σ n ui
2
R2 = 1 − -------------------------------
i=1 Σ n (yi - Y ')
2
R2 juga disebut koefisien determinasi. Hal ini dapat
diartikan sebagai fraksi dari variasi dalam Y yang
dijelaskan oleh X. R2 dapat diturunkan sebagai:
[1Σn (xi - X ') (yi - Y')]
2
R2 = ------------------------------------------------
1Σn (xi - X ')
2 1Σn (yi - Y')
2
R2 memiliki sifat sebagai berikut :
1. Refleksivitas, yaitu, R2 (X, X) = 1.
2. Simetri, yaitu, R2 (X, Y) = R
2 (Y, X).
Menurut persamaan, tidak peduli Y regresi
pada X atau X regresi pada Y, R2 adalah sama.
3. R2 ε [0, 1].
Semakin mendekati nilai 1, semakin banyak
titik cenderung turun sepanjang garis regresi,
dengan demikian, hubungan linear yang lebih
kuat memiliki dua sekuens. R2=1, berarti dua
sekuens memiliki hubungan linear sempurna,
sedangkan R2=0 berarti tidak ada hubungan
linear sama sekali.
Berdasarkan sifat-sifat R2 seperti di atas, R
2
didefinisikan sebagai hubungan Relinear. Juga, R2
adalah ukuran yang baik untuk persamaan. Gambar
2.1 menunjukkan contoh yang tinggi (rendah) nilai R2
berarti tinggi (rendah) persamaan. Threshold
berdasarkan R2 jauh lebih intuitif dari beberapa
toleransi jarak ε, seperti jarak Euclidean atau jarak
Dynamic Time Warping. Mengingat dua sekuens R2
langsung memberitahu kesamaan mereka.
2.5 Memperluas R2 Menjadi ER
2
Secara tradisional, Simple Linear Regression
hanya diterapkan untuk urutan 1 dimensi. Namun,
banyak juga jenis urutan yang multidimensional.
Sebagai contoh, urutan tanda tangan online bersifat
multidimensi, termasuk koordinat (x dan y), tekanan,
kemiringan, dll. Untuk mencocokkan urutan
multidimensional , kita mendefinisikan ER2
((Extended R-squared)) sebagai :
j=1ΣM
(i=1Σn (xji – X’j) (yji – Y’j))]
2
ER2 = ---------------------------------------------------------
j=1ΣM
i=1Σn (xi – X’)
2 j=1Σ
M i=1Σ
n (yi – Y’)
2
Dimana X'j (Y'j) adalah rata-rata dari j dimensi urutan
X (Y). ER2 memiliki sifat yang sama seperti R
2, yaitu,
refleksivitas, simetri dan ER2 ε [0, 1]. Satu-satunya
perbedaan adalah bahwa ER2 dapat mengukur urutan
multidimensi. Sama seperti R2, ER
2 langsung
memberitahu kemiripan mereka.
Sebaliknya, Dynamic Time Warping atau
Euclidean norm hanya bisa memberikan jarak dengan
arti relatif. Gambar 2.2 menunjukkan contoh ER2
yang masuk akal. Tanda tangan (a) dan (b) merupakan
tanda tangan asli. Tanda tangan (c) dan (d) adalah
palsu, meskipun mereka dibuat oleh orang yang sama.
Kita bisa melihat bahwa tanda tangan (a) memiliki
kesamaan yang tinggi dengan tanda (b). ER2 antara
mereka adalah setinggi 96,7%, seperti gambar 2.2
Gambar 2.2. Empat Tanda Tangan Dan Kesamaan
Mereka Satu Sama Lain Ditentukan
Oleh ER2
Perbedaan utama dalam tanda tangan (c) adalah
bahwa "@" diganti dengan "a". Jadi, kesamaan antara
(c) dan yang asli turun menjadi 68,4% atau 70,5%.
Tanda tangan (d) terdiri dari dua Karakter Cina.
Karakter pertama adalah sama dengan tanda tangan
lain, yang kedua sangat berbeda dari "@ anaknya".
Oleh karena itu, kesamaan dengan tanda tangan lain
semua di bawah 50%. Contoh ini juga menunjukkan
bahwa ER2 adalah ukuran bahasa independen.
2.6 Menggabungkan Dinamic Time Warping dan
ER2
ER2 memiliki kekurangan, hanya memungkinkan
salah satu pencocokan antara dua sekuens, seperti
Euclidean norm. Jika dua urutan/sekuens yang tidak
selaras dengan baik atau mereka memiliki panjang
yang berbeda, ER2 tidak dapat diterapkan secara
langsung. Biasanya, urutan tanda tangan yang baik
dari panjang yang sama atau selaras, bahkan oleh
orang yang sama. Hal ini juga diketahui bahwa
Dynamic Time Warping dapat menentukan
keselarasan optimal antara dua sekuens dengan
panjang yang berbeda. Oleh karena itu, Dynamic Time
Warping dikombinasikan dengan ER2 untuk
menyatukan keuntungan mereka.
2.7 Dynamic Time Warping
2.7.1 Pengertian Dynamic Time Warping
Dynamic Time Warping adalah teknik yang
menemukan keselarasan yang optimal antara dua time
series jika salah satu time series mungkin melengkung
nonlinear dengan meregang atau menyusut bersama
waktu porosnya [10].
Dynamic Time Warping merupakan algoritma
yang telah dikenal luas, diperkenalkan sekitar tahun
60an, dan baru pada tahun 70an secara luas
digunakan untuk aplikasi pengenalan suara (speech
recognition), pengenalan tulisan tangan dan tanda
tangan, data mining, pengklusteran, pengolahan
isyarat, musik dan banyak lagi.
Algoritma DTW disebut juga sebagai non-linear
sequence alignment, sehingga algoritma ini lebih
realistis untuk digunakan dalam mengukur kemiripan
suatu pola (pattern/template matching). Data yang
diolah selalu berada dalam kawasan waktu, sehingga
rentan data yang kita punya dianggap bervariasi
terhadap waktu.
Algoritma Dynamic Time Warping kerap
digunakan sebagai pengukur kemiripan pola, dan
mengukur kemiripan dari dua buah data. Data ini
biasanya merupakan feature atau ciri dari data asli
yang ukuran yang lebih besar.
Algoritma ini terkenal sangat efisien dalam
mengukur jarak kemiripan antar dua data yang
meminimalkan pengaruh pergerakan dan distorsi
dalam waktu sehingga walaupun berbeda fase, masih
bisa dideteksi.
Sebuah contoh Dynamic Time Warping
bagaimana satu time series adalah warped atas yang
lain seperti gambar 2.3 di bawah ini.
Gambar 2.3 Dynamic Time Warping
Dalam gambar, masing-masing garis vertikal
menghubungkan titik dalam satu time series untuk
sejalannya titik yang sama dalam time series lainnya.
Garis sebenarnya mempunyai nilai yang sama pada
sumbu y tetapi telah dipisahkan sehingga garis vertikal
antara mereka dapat dilihat dengan lebih mudah. Jika
kedua time series pada gambar identik, semua garis
akan menjadi garis lurus vertikal karena tidak ada
warp yang akan diperlukan untuk baris atas pada dua
time series. Jarak warp path adalah mengukur dari
perbedaan antara dua time series setelah mereka
menjadi lengkung bersama-sama, yang diukur dengan
jumlah jarak antara setiap pasangan titik yang
terhubung oleh garis vertikal pada gambar. Dengan
demikian, dua time series yang identik kecuali untuk
lokal peregangan dari sumbu waktu akan memiliki
Dynamic Time Warping jarak nol.
2.7.2 Gambaran Dynamic Time Warping
Sebuah pengukuran jarak antara time series
diperlukan untuk menentukan kesamaan antara time
series dan untuk klasifikasi time series. Jarak
Euclidean adalah pengukuran jarak yang efisien. Jarak
Euclidean antara dua time series hanyalah jumlah
jarak kuadrat dari setiap titik n dalam satu kali seri ke
titik n lainnya.
Kerugian utama menggunakan jarak Euclidean
untuk data time series adalah bahwa hasilnya sangat
unintuitive. Jika dua time series adalah sama, tapi satu
sedikit digeser di sepanjang sumbu waktu, maka jarak
Euclidean dapat membuat mereka sangat berbeda satu
sama lainnya. Dynamic Time Warping diperkenalkan
[6] untuk mengatasi keterbatasan ini dan memberikan
pengukuran jarak intuitif antara time series dengan
mengabaikan baik pergeseran global dan lokal dalam
dimensi waktu.
Masalah Dynamic Time Warping dinyatakan
sebagai berikut, mengingat dua time series X, dan Y,
dengan panjang |X | dan | Y |,
X = x1, x2, .. , Xi, .. , X | X |
Y = y1, y2, .. , Yj, .. , Y | Y |
Membangun jalur W warp
W = w1, w2, .., wk max (| X |, | Y |) <= K <= | X | + |
Y |
di mana K adalah panjang dari jalur warp dan elemen
k dari jalur warp adalah
wk = (i, j)
dimana i adalah indeks dari time series X, dan j adalah
indeks dari time series Y.
warp path harus dimulai pada awal setiap time series
di w1 = (1, 1) dan selesai pada akhir kedua time series
di wk = (| X |, | Y |).
Hal ini memastikan bahwa setiap indeks dari kedua
time series digunakan di warp path. Ada juga kendala
pada warp path yang memaksa i dan j menjadi
monoton meningkat di warp path, yang meyebabkan
mengapa garis mewakili warp path, gambar 2.3
adalah tidak saling tumpang tindih. Setiap indeks dari
setiap time series harus digunakan.
wk = (i, j), wk +1 = (i ', j')
i <= i '<= i +1, j <= j' <= j +1
Jalan warp optimal adalah jarak minimum warp path,
dimana jarak dari warp path
W adalah
Dist (W) = k=1Σk = K Dist (wki, Wkj)
Dist (W) adalah jarak (biasanya jarak Euclidean) dari
jalur W warp, dan Dist (w ki, Wkj) adalah jarak antara
dua titik data indeks (satu dari X dan satu dari Y)
dalam elemen k dari warp path.
2.7.3 Algoritma Dynamic Time Warping
Sebuah pendekatan pemrograman dinamis yang
digunakan untuk menemukan jarak minimal warp
path. Alih-alih berusaha memecahkan seluruh masalah
sekaligus, solusi untuk submasalah ditemukan, dan
digunakan berulang kali untuk mencari solusi dari
masalah yang sedikit lebih besar sampai solusi
ditemukan untuk seluruh time series. Dua dimensi | X
| oleh | Y | matriks D, dibangun di mana nilai pada D
(i, j) adalah jarak minimum warp path yang dapat
dibangun dari dua time series X '= x1, .. xi dan Y '=
y1,... yi. Nilai pada D (| X |, | Y |) akan berisi jarak
minimum warp path antara time series X dan Y. Kedua
sumbu D merupakan waktu. Sumbu x adalah time
series X, dan sumbu y adalah time series Y.
Gambar 2.4 D menunjukkan contoh dari matriks dan
jarak mimimum warp path ditelusuri dari D (1, 1) ke
D (| X |, | Y).
Gambar 2.4 Sebuah Perhitungan Matriks Dengan
Jarak Mimimum Warp Path Ditelusuri
Melalui D(1, 1) Ke D(|X|, |Y)
Perhitungan matriks dan warp path adalah
Gambar 2.4 adalah sama dua time series ditunjukkan
pada gambar 2.3.
Warp path adalah W = {(1, 1), (2, 1), (3, 1), (4, 2), (5,
3), (6, 4), (7, 5), (8, 6), (9, 7), (9, 8),(9, 9), (9, 10), (10,
11), (10, 12), (11, 13), (12, 14), (13, 15), (14, 15), (15,
15), (16, 16)}.
Jika warp path melewati sel D (i, j) dalam
perhitungan matriks, itu berarti bahwa titik i dalam
time series X adalah melengkung ke titik j dalam time
series Y. Perhatikan bahwa ada bagian vertikal dari
warp path, satu titik dalam time series X melengkung
ke beberapa titik dalam time series Y, dan sebaliknya
juga benar di mana warp path adalah garis horizontal.
Karena satu titik dapat memetakan ke beberapa titik
dalam time series lainnya, time series tidak perlu
menjadi panjang yang sama. Jika X dan Y adalah time
series yang sama, warp path melalui matriks akan
menjadi garis diagonal lurus.
Untuk menemukan jarak minimum warp path,
sebelumnya sel dari matriks harus diisi. Alasan dibalik
menggunakan pendekatan pemrograman dinamis
untuk masalah ini adalah karena nilai pada D (i, j)
adalah warp path minimal pada dua time series dari
panjang i dan j, jika warp path minimal sudah dikenal
untuk semua bagian yang sedikit lebih kecil dari time
series yang merupakan titik data tunggal yang jauh
dari panjang i dan j, maka nilai di D (i, j) adalah jarak
minimum dari semua jalur yang mungkin untuk warp
time series yang merupakan salah satu titik data lebih
kecil dari i dan j, ditambah jarak antara dua titik xi dan
yj. Karena warp path yang baik akan bertambah satu
atau tetap sama sepanjang sumbu i dan j, jarak dari
warp path optimal satu titik data lebih kecil dari
panjang i dan j yang terkandung dalam matriks pada D
(i-1, j), D (i, j-1) dan D (i-1, j-1), sehingga nilai sel
dalam matriks
D (i, j) = cost (xi, yj) + min {D (i-1, j), D (i-1, j-1),
D (i, j-1)}
Setelah seluruh matriks diisi, warp path harus
ditemukan dari D (1, 1) ke D (| X |, | Y|). Warp
sebenarnya dihitung dalam urutan terbalik mulai dari
D (| X |, | Y |). Sebuah pencarian greedy dilakukan
untuk mengevaluasi sel ke kiri, bawah dan diagonal ke
kiri bawah. Manapun dari ketiga sel yang
bersebelahan memiliki nilai terkecil ditambahkan ke
awal warp path yang ditemukan sejauh ini, dan
pencarian terus berlanjut dari sel itu. Pencarian akan
berhenti bila D (1, 1).
2.8 ER2 Disertai Optimal Alighment
Pertama kali menggunakan Dynamic Time
Warping untuk menentukan keselarasan optimal
antara dua sekuens. Kemudian, kita meregangkan dua
sekuens untuk memiliki panjang yang sama. Jika
dilakukan seperti ini : jika titik xi di urutan X sejalan
dengan k (k> 1) titik dalam urutan Y, kita
meregangkan X dengan menduplikasin xi k-1 kali.
Untuk urutan Y, kita meregangkan dengan cara yang
sama.
Sebagai contoh, pada gambar 2.5, kita
meregangkan X menjadi (x1, x2, .., xn-1, xn-1, xn-1, xn)
dan Y untuk menjadi (y1, y2, y2, .., yn-2, yn-1, yn).
Setelah peregangan, dua time series memiliki panjang
yang sama. Kemudian, kita dapat menerapkan
disepanjang persaman regresi untuk menghitung
kesamaan, seperti gambar 2.5
Gambar 2.5 Jalur Ditentukan Oleh Dynamic Time
Warping I Matriks N X M Memiliki
Perhitungan Kumulatif Minimum.
Daerah yang ditandai adalah batas jalan yang
tidak bisa dilalui. Jalan menunjukkan keselarasan
yang optimal : (x1, y1), (x2, y2), (x3, y3), ..., (xn-1, ym-3),
(xn-1, ym-2), (xn-1, ym-1), (xn, ym).
2.9 Rekayasa Perangkat Lunak
Perangkat lunak adalah (1) perintah (program
komputer) yang bila dieksekusi memberikan fungsi
dan unjuk kerja seperti yang diinginkan. (2) struktur
data yang memungkinkan program memanipulasi
informasi secara profesional. (3) dokumen yang
menggambarkan operasi dan kegunaan program [8].
2.10 UML (Unified Modelling Language)
Unified Modeling Language (UML) adalah
keluarga notasi grafis yang didukung oleh meta model
tunggal, yang membantu pendeskripsian dan desain
sistem perangkat lunak, khususnya sistem yang
dibangun menggunakan pemrograman berorientasi
objek (OOP) [5]
UML (Unified Modeling Language) adalah
sebuah bahasa yang berdasarkan grafik/gambar untuk
memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan
software berbasis OO (Object-Oriented) [7].
2.10.1 Konsep Dasar UML UML mempunyai sejumlah elemen grafis yang
bisa dikombinasikan menjadi diagram. Karena ini
merupakan sebuah bahasa, UML mempunyai
sejumlah aturan untuk menggabungkan atau
mengkombinasikan elemen-elemen tersebut [7].
2.10.1.1 Use Case Diagram
Use case adalah teknik untuk merekam
persyaratan fungsional sebuah sistem. Use case
mendeskripsikan interaksi tipikal antara para
pengguna sistem dengan sistem itu sendiri, dengan
memberi sebuah narasi tentang bagaimana sistem
tersebut digunakan [5].
2.10.1.2 Class Diagram
Class diagram mendeskripsikan jenis-jenis objek
dalam sistem dan berbagai macam hubungan statis
yang terdapat diantara mereka. Class diagram juga
menunjukkan properti dan operasi sebuah class dan
batasan-batasan yang terdapat dalam hubungan objek-
objek tersebut [5].
2.10.1.3 Statechart Diagram
Statechart diagram adalah teknik yang umum
digunakan untuk menggambarkan behavior sebuah
sistem. Berbagai bentuk statechart diagram yang telah
ada sejak tahun 1960-an dan teknik berorientasi objek
yang paling awal mengadopsinya untuk menampilkan
behavior
.
2.10.1.4 Activity Diagram
Activity diagram adalah teknik untuk
menggambarkan logika prosedural, proses bisnis, dan
jalur kerja [5].
2.10.1.5 Sequence Diagram
Sequence diagram menggambarkan interaksi
antar objek di dalam dan di sekitar sistem (termasuk
pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu.
2.10.1.6 Collaboration Diagram
Collabration diagram menunjukan physical view
dari suatu sistem yang akan dibangun. Collaboration
diagram menekankan pada urutan message/pesan
antar objek sistem.
2.10.1.7 Deployment Diagram
Deployment diagram menunjukan susunan fisik
sebuah sistem menunjukkan bagian perangkat lunak
mana yang berjalan pada kelas mana [5].
3. HASIL DAN PEMBAHASAN
3.1 Diagram UML (Unified Modeling Language)
Didalam perancangan Aplikasi Pengenalan Pola
Tanda Tangan Dinamis Untuk Validasi Absensi
Mahasiswa “UPI-YPTK” Padang ini, menggunakan
UML (Unified Modelling Language).
3.1.1 Use Case Diagram
Use case diagram digunakan untuk memodelkan
berdasarkan perspektif pengguna sistem yang terdapat
actor yang mengoperasikan aplikasi.
Berikut ini adalah use case diagram pada sistem
Aplikasi Pengenalan Pola Tanda Tangan Dinamis
Untuk Validasi Absensi Mahasiswa yang akan
diterapkan pada Universitas Putra Indonesia “YPTK
Padang”, yang dapat dilihat pada gambar 3.1
Use Case Aplikasi Pengenalan Pola Tanda Tangan Untuk Validasi Absensi
Mahasiswa Universitas Putra Indonesia “YPTK” Padang
Mahasiswa
Dosen
Admin
Login
Input
Data Dosen
Input
Mata Kuliah
Input Jadwal
Input
Mahasiswa
Traning Tanda
Tangan
Setting
Testing Tanda
Tangan
Laporan
Cetak
Input Tanda
Tangan
Verifikasi Tanda
Tangan Untuk Absen
Lihat Absen
<<extends>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Input Recana
Studi
<<include>>
Edit Absensi
Lihat Absen
<<include>>
<<include>>
Gambar 3.1 Use Case Diagram Pada Aplikasi
Pengenalan Pola Tanda Tangan
Dinamis Untuk Validasi Absensi
Mahasiswa “UPI-YPTK” Padang
3.1.2 Class Diagram
Class diagram digunakan mendeskripsikan
jenis-jenis objek dalam sistem dan berbagai macam
hubungan statis yang terdapat diantara sistem. Class
diagram pada Aplikasi Pengenalan Pola Tanda
Tangan Dinamis Untuk Validasi Absensi Mahasiswa
Pada “UPI-YPTK” Padang dapat dilihat pada gambar
3.2
+save()
+edit()
+delete()
+view data()
-nidn
-password
-nm_dosen
-jk
-agama
-nohp
-alamat
-ket
dosen
+save()
+edit()
+delete()
+view data()
-kd_matkul
-nm_matkul
-prog_studi
-jns_matkul
-sks
-sesi
matkul
+save()
+edit()
+delete()
+view data()
-kode_jadwal
-program_studi
-kode_ta
-hari
-jam_awal
-jam_akhir
-kode_matkul
-nm_matkul
-kelas
-ruang
-nidn
-nm_dosen
jadwal
+save()
+edit()
+delete()
+view data()
-nobp
-pass
-nm_mhs
-tmpt_lhr
-tgl_lhr
-jk
-agama
-alamat
-fakultas
-program_studi
-kelas
-gambar
mahasiswa
+save()
+edit()
-id_absen
-kode_ta
-kode_jadwal
-nobp
-P1
-P2
-P3
-P4
-P5
-P6
-P7
-P8
-P9
-P10
-P11
-P12
-P13
-P14
-P15
-P16
Absensi
-username
-password
admin
1
n
1
n
n
n
1
n
+add()
+delete()
-id_krs
-kode_ta
-kode_jadwal
-nobp
krs
n
1
-kode_ta
-ta
tahun_akademik
n
1
n
1
1
n
Gambar 3.2 Class Diagram Pada Aplikasi
Pengenalan Pola Tanda Tangan
Dinamis Untuk Validasi Absensi
Mahasiswa UPI “YPTK” Padang
3.1.3 Data FLow Models
Dalam model aliran data, transformasi fungsional
memproses input dan menghasilkan output. Data
mengalir dari satu ke yang lain dan berubah sesuai
urutan. Masing-masing langkah pengolahan
diimplementasikan sebagai transformasi. Input data ini
mengalir melalui transformasi sampai dikonversi ke
output. Transformasi dapat dieksekusi secara
berurutan. Data flow models untuk verifikasi tanda
tangan dapat dilihat pada gambar 3.3
Gambar 3.3 Data Flow Models Untuk Sistem
Verifikasi Tanda Tangan
3.2 Implementasi User Interface
Berikut ini adalah hasil printscreen dari program
Aplikasi Pengenalan Pola Tanda Tangan Dinamis
Untuk Validasi Absensi Mahasiswa “UPI-YPTK”
Padang, diantaranya:
1. Halama utama ini akan tampil pertama kali jika
program dibuka, halaman utama tidak
membutuhkan login, sehingga user dapat
langsung mengakses. Pada halaman utama
terdapat beberapa menu yaitu :
a. Menu Admin, yang berhak mengakses hanya
admin.
b. Menu Dosen, yang berhak mengakses hanya
dosen.
c. Menu Mahasiswa, yang berhak mengakses
adalah mahasiswa.
d. File – Exit, untuk admin keluar dari sistem.
e. About, untuk menampilkan informasi tentang
program
seperti yang terlihat pada gambar 3.4
Gambar 3.4 Halaman Utama
2. Halaman Admin
Jika user login sebagai admin maka akan dibawa
masuk pada halaman admin, pada halaman
admin terdapat beberapa menu : Home, Logout,
Input Data Dosen, Input Data Matakuliah, Input
Data Mahasiswa, Input Jadwal, Input Rencana
Studi, Training Tanda Tangan, Testing Tanda
Tangan, Setting, dan Laporan, seperti gambar 3.5
Gambar 3.5 Halaman Admin
3. Form Setting Untuk melakukan pengenalan tanda tangan,maka admin harus mengeset nilai treshold dari tanda tangan tersebut, seberapa tingkat kemiripan tanda tangan asli dengan tanda tangan yang akan diverifikasi/dites, seperti gambar 3.6
Gambar 3.6 Setting Nilai Treshold Tanda Tangan
4. Form Training Tanda Tangan
Agar nantinya tanda tangan dari mahasiswa bisa
diverifikasi maka melalui admin mahasiswa
harus melakukan training tanda tangan dengan
menginputkan nobp dan tanda tangannya
sebanyak dua buah pada form training, seperti
gambar 3.7
Gambar 3.7 Form Training Tanda Tangan
5. Form Testing
Supaya mahasiswa mengetahui apakah tanda
tangan yang telah di-traing tadi dapat
diverifikasi, maka melalui admin, mahasiswa
dapat mengetes dengan melakukan testing tanda
tangan pada form testing tanda tangan, seperti
gambar 3.8
Gambar 3.8 Form Testing Tanda Tangan
6. Form Input Absen
Untuk melakukan absensi maka mahasiswa harus
login terlebih dahulu kemudian akan tampil form
absensi tanda tangan, mahasiswa akan disuruh
menginputkan tahun akademik, kemudian akan
muncul matakuliah apa saja yang diambil oleh
mahasiswa tersebut. Saat mahasiswa mengklik
salah satu mata kuliahnya, maka mahasiswa
harus memilih absensi dipertemuan mana yang
akan dia absen, kemudian mahasiswa
memasukkan tanda tangannya untuk diverifikasi
(sebelum memasukkan tanda tangan harus
menekan tombol accept terlebih dahulu), dengan
menekan tombol verifikasi maka sistem akan
mulai memverifikasi tanda tangan mahasiswa
tersebut, jika tanda tangannya cocok, maka
sistem akan menyatakan H (Hadir) dan jika tidak
cocok maka sistem akan menyatakan A (Alfa),
seperti gambar 3.9
Gambar 3.9 Input Absensi Dengan Verifikasi
Tanda Tangan
Setelah menekan tombol save maka akan muncul
jendela data absensi untuk melihat apakah absen
sudah masuk ke dalam sistem, seperti gambar 3.10
Gambar 3.10 Form Lihat Absensi
Untuk laporan absensi dapat dilihat pada gambar
3.11
Gambar 3.11 Laporan Absensi Mahasiswa
3.3 Hasil Pengenalan Tanda Tangan
Pengujian dilakukan terhadap data tanda-tangan
yang telah dilatihkan sebelumnya. Hasil pengenalan
terhadap tanda-tangan yang telah dilatihkan, dengan
threshold sebesar 80% dapat dilihat pada tabel 3.1
Tabel 3.1 Tingkat Keberhasilan Tiap Responden
No NOBP Perhitungan Tingkat
Keber-
hasilan
1 091011526
30077
100 %
2 091011526
30108
100 %
3 091011526
30278
100 %
4 091011526
30282
100 %
5 091011526
30286
60 %
6 091011526
30299
80 %
7 091011526
30307
100 %
8 091011526
30311
80 %
9 091011526
30316
100 %
10 091011526
30077
80 %
Jumlah
Data
90 %
Berdasarkan table 3.1 terlihat bahwa sistem
memiliki tingkat keberhasilan sebesar 90% untuk
mengenali tanda-tangan seseorang yang telah
dilatihkan.
4. KESIMPULAN
Dari analisa dan pembahasan yang telah dilakukan
maka dapat diambil kesimpulan sebagai berikut :
1. Aplikasi pengenalan pola tanda tangan
dinamis ini dapat mempermudah Universitas
Putra Indonesia “YPTK” Padang dalam
menentukan validasi tanda tangan
mahasiswanya.
2. Aplikasi pengenalan pola tanda tangan dinamis
ini memberikan hasil yang akurat, tergantung
dari nilai threshold, kemiripan tanda tangan,
dan kehandalan mahasiswa/user dalam
menggunakan digitizer.
3. Aplikasi pengenalan pola tanda tangan dinamis
ini dapat menentukan layak tidaknya seorang
mahasiwa untuk mengikuti ujian, dapat dilihat
dari data dan laporan absensi pada aplikasi ini.
DAFTAR REFERENSI
[1] Ajay R, Keshav Kumar HK and Sac
hin S: Discriminative Verification of Handwritten
Sinatures Dep. Of Computer Science & Engineering,
Vidyavardhaka Collage of Engineering, Belgaum,
Mysore-570002.
[2] Arymurthy, Aniati Murni, dan Setiawan, Suryana,
1992. Pengantar Pengolahan Citra. Jakarta : PT Elex
Media Komputindo.
[3] Djunaidy, A. 2000. Verifikasi Tanda Tangan
Berdasarkan Interpretasi Struktural Dari Arah Gerak
Dan Tekanan, hlm. D202-D209. Seminar Ilmiah
Nasional Komputer Dan Sistem Intelejen. Universitas
Gunadarma, Jakarta.
[4] Foka, R. 2003. Biometrics Access Control System.
ITEA 0003 Ambience Project Technology Seminar
on Ambient Intelligence. Oulu,Finlandia.
[5] Fowler, Martin. 2005. UML Distilled Edisi 3.
Yogyakarta : Andi Yogyakarta.
[6] Kruskall, J & M Liberman: The Symmetric Time
Warping Problem: From Continuous to Discrete. In
Time Warps, String Edits and Macromolecules: The
Theory and Practice of Sequence Comparison, pp.
125-161, Addison-Wesley Publishing Co., Reading,
Massachusetts, 1983
[7] Munawar. Pemodelan Visual Dengan UML. Graha
Ilmu. Yogyakarta.2005.
[8] Pressman, Roger S. 2002. Rekayasa Perangkat
Lunak Pendekatan Praktisi (Buku Satu). Yogyakarta:
Penerbit Andi.
[9] Putra, Darma. 2009. Sistem Biometrika Konsep
Dasar, Teknik Analisis Citra, dan Tahapan
Membangun Aplikasi Sistem Biometrika. Yogyakarta:
Andi.
[10] Stan Salvador and Philip Chan: FastDTW:
Toward Accurate Dynamic Time Warping in
Linear Time and Space, Dept. of Computer Science,
Florida Institute of Technology,Melbourne, FL 3290.
[11] Theodoridis, S., Koutroumbas, K. 2003. Pattern
Recognition Third Edition. China: Machine Press. Pp
495.