Fakultas Ilmu Komputer
Universitas Brawijaya
2338
Sistem Biometrik Gerakan Tanda Tangan Menggunakan Sensor MPU6050
dengan Metode Backpropagation
Muhamad Delta Rudi Priyanto 1, Eko Setiawan 2,
Hurriyatul Fitriyah
3Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: [email protected], [email protected], [email protected]
Abstrak
Tanda tangan merupakan identitas unik dari seseorang yang digunakan pada sistem presensi sebagai
bukti hadir dan persetujuan dokumen resmi. Selain yang tertulis pada kertas, tanda tangan juga
terekam secara digital. Untuk mengenali tanda tangan dalam ranah teknologi disebut biometrik sedangkan metode yang sering digunakan adalah backpropagation. Tanda tangan termasuk dalam kategori biometrik perilaku dengan salah satu karakteristik dinamis pengukurannya dilakukan dengan memperhitungkan durasi penulisan dan perubahan gerakan penulisan. Salah satu teknologi perekam gerakan adalah sensor MPU6050. Sensor ini digunakan untuk mendapatkan fitur durasi penulisan melalui banyak set data yang direkam ketika tanda tangan, lalu perubahan gerakan vertikal melalui gx dan perubahan gerakan horisontal melalui gy. Fitur tersebut diekstrak untuk dilakukan perhitungan dengan metode backpropagation pada tensorflow dan membutuhkan data latih dan data uji. Data latih penelitian ini menggunakan tanda tangan dari lima orang yang berbeda dengan lima kali tanda tangan untuk setiap orang. Pengujian dilakukan dengan cara memprediksi lima tanda tangan dari lima orang yang telah direkam pola tanda tangannya. Dari pengujian sensor MPU6050 didapatkan MAPE 17%. Pada pengenalan tanda tangan menggunakan backpropagation didapatkan MAPE 33%. Pada prediksi tanda tangan menunjukkan akurasi sebesar 80%. Dan pada waktu komputasi membutuhkan kurang lebih 54.63s.Kata kunci: biometrik, gerakan tanda tangan, tanda tangan dinamis, MPU6050, backpropagation
Abstract
Signature is a someone unique identity used in presence system as attendance proof and official documents approval. Besides written on paper, signatures are also recorded digitally. To recognize signatures in the realm of technology is called biometrics while the method often used is backpropagation. Signatures are included in the biometric behavioral category with one of the dynamic characteristics of measurement carried out by calculating duration of writing and changes in writing movements. One of the motion recorder technologies is MPU6050 sensor. This sensor is used to get the writing duration feature through many data sets recorded when signature, then changes in vertical movement through gx and changes in horizontal movement through gy. This feature is extracted to be calculated by backpropagation method in tensorflow and requires training data and test data. The training data of this study uses signatures of five different people with five signatures for each person. Testing is done by predicting the five signatures of five people whose signature patterns have been recorded. From the MPU6050 sensor testing, MAPE 17% is obtained. On signature recognition using backpropagation, MAPE was 33%. On prediction signature shows an accuracy of 80%. And at the time of computing requires approximately 54.63s.
1. PENDAHULUAN
Tanda tangan merupakan tanda sebagai penanda pribadi atau lambang nama yang dituliskan dengan tangan oleh orang itu sendiri (KBBI Daring, 2016). Dalam penerapannya tanda tangan sering digunakan pada sistem presensi yang menggunakan tanda tangan sebagai bukti hadir dan persetujuan dokumen resmi. Selain tanda tangan yang tertulis pada kertas, di era yang semakin canggih ini tanda tangan juga terekam secara elektronik atau digital (Kompas.com, 2017). Sehingga kecocokan atau autentikasi antara tanda tangan yang tertulis dikertas juga harus sesuai dengan yang terekam secara digital. Untuk mengenali bahwa tanda tangan sesuai maka diperlukan suatu identifikasi tanda tangan. Pengidentifikasian ini dalam ranah teknologi disebut sebagai biometrik (Biometrics Institute, 2019). Jenis biometrik tanda tangan termasuk dalam kategori biometrik perilaku dengan karakteristik pengukuran dibedakan menjadi dua yaitu statis dan dinamis.
Karakteristik statis berarti pengukuran tanda tangan dilakukan berdasarkan citra hasil tulisan melalui image scanner. Sedangkan untuk metode pengenalan juga sudah dilakukan penelitian. Metode pengenalan bekerja dengan melatih data yang identik sehingga membentuk suatu pola. Kemudian pola ini digunakan untuk melakukan identifikasi terhadap data baru. Terdapat beberapa penelitian dimana metode pengenalan digunakan untuk identifikasi. Antara lain yaitu identifikasi tanda tangan dengan melatih data dari citra tanda tangan (Hidayatno, 2008) dan (Kumalasanti, 2015) dengan metode pengenalan backpropagation. Akan tetapi pada tanda tangan karakteristik statis masih memiliki kerentanan ketika hasil tulisan tanda tangan digandakan atau ditiru sehingga perlu adanya penelitian pada pengukuran lain.
Sedangkan pada karakteristik dinamis
pengukuran dilakukan dengan
memperhitungkan cara penulisan. Jenis ini menawarkan tingkat akurasi yang lebih tinggi karena karakteristik dinamis lebih sulit ditiru akan tetapi membutuhkan perangkat keras yang komplek. Sistem alatnya sendiri adalah dengan menggunakan alat tulis khusus beserta komputer sebagai pemrosesnya yang digunakan untuk memindai goresan tanda tangan (Kekre, 2010). Pada penelitian lain dijelaskan beberapa
fitur yang dapat digunakan pada biometrik tanda tangan dinamis antara lain adalah durasi penulisan dan jumlah perubahan gerak tulisan berdasarkan sumbu x dan y (Guru & Prakash, 2009).
Di sisi lain teknologi perekam gerakan sudah banyak dilakukan penelitian. Terdapat beberapa contoh gerakan dimana sensor gerak digunakan sebagai pemindainya. Antara lain untuk mendeteksi gerakan jatuh, naik tangga dan gerakan sembahyang (Jefiza, 2017), kemudian gerakan berlari dan berjalan (Sanjaya, 2019), dan gerakan tangan (Halim, 2019). Sensor gerak yang digunakan pada pemindaian gerak ini menggunakan sensor MPU6050. Dari penjelasan pada paragraf ini dapat disimpulkan bahwa terdapat teknologi perekam gerakan yakni sensor MPU6050.
Kemudian dari semua uraian pada paragraf sebelumnya didapatkanlah ide untuk merancang sebuah sistem tanda tangan dinamis dengan perangkat yang lebih sederhana. Pada sistem akan dirancang sebuah alat menggunakan sensor MPU6050 untuk memindai gerakan tanda tangan. Sedangkan untuk mengenali suatu tanda tangan sistem alat akan menggunakan
backpropagation karena memiliki karakteristik
yang dapat melakukan pengenalan pada tanda tangan. Penelitian ini berjudul “Sistem Biometrik Gerakan Tanda Tangan Menggunakan Sensor MPU6050 dengan Metode Backpropagation”. Dan dengan adanya penelitian ini diharapkan suatu tanda tangan dapat dikenali berdasarkan gerakan tanda tangan.
2. METODE PENELITIAN 2.2. Perancangan perangkat keras
Sensor MPU6050 Push Button INPUT PROSES Raspberry Pi OUTPUT LCD Oled
Gambar 1. Blok interaksi perangkat keras Gambar 1 merupakan blok interaksi perangkat keras. Pada blok dijelaskan hubungan antar komponen pada sistem yang terdiri dari bagian input, proses dan output. Bagian input terdiri dari sensor MPU6050 yang digunakan untuk membaca gerakan dan push button yang digunakan untuk mengaktifkan pembacaan sensor MPU6050. Bagian proses terdiri dari Raspberry Pi yang digunakan sebagai pengolah data dari input ke output. Dan bagian output
yang terdiri dari LCD Oled yang digunakan untuk menampilkan informasi data gerakan tanda tangan. Push Button SDA SCL VCC GND LCD Oled VCC GND SCL SDA Sensor MPU6050 SDA SCL5V GND GPIO17 Raspberry Pi Zero W Hubungan antar komponen
Penempatan Sensor MPU6050 pada pena Atas
Depan
Orientasi Sensor MPU6050
A B
Gambar 2. Desain perancangan perangkat keras Gambar 2 merupakan desain perancangan perangkat keras dimana terdapat peletakan dan orientasi sensor MPU6050 sejajar ketika pensil tegak. Kemudian Raspberry Pi Zero (W) sebagai penghubung antar komponen. Desain ini merupakan rancangan bagaimana komponen alat nantinya akan dihubungkan. Adapun hubungan pin yang akan disambung pada Raspberry Pi dengan perangkat keras lainnya. Pin 5v merupakan pin sumber tegangan positif dihubungkan ke V pada sensor MPU6050 dan LCD Oled serta kaki A pada push button. Pin Ground atau GND merupakan pin sumber tegangan negatif dihubungkan ke GND pada sensor MPU6050 dan LCD Oled. Pin GPIO03 atau SCL merupakan pin serial clock dihubungkan ke SCL pada sensor MPU6050 dan LCD Oled. Pin GPIO02 atau SDA merupakan pin serial data dihubungkan ke SDA pada sensor MPU6050 dan LCD Oled. Pin GPIO17 merupakan pin input yang dihubungkan pada kaki B push button.
2.3. Perancangan perangkat lunak
Mulai Pembacaan Data Ekstraksi Fitur Pelatihan Data Pangujian Data Penampilan Data Selesai
Gambar 3. Diagram alir kerja sistem
Gambar 3 merupakan diagram alir kerja sistem. Sistem dimulai dari pembacaan data, ektraksi fitur, pelatihan data, pengujian data dan penampilan data. Penjelasan lebih lengkap dari proses kerja sistem ini adalah sebagai berikut:
Pada pembacaan data, sensor MPU6050 membaca gerakan hanya ketika push button ditekan. Tanda tangan ditulis pada sebuah kertas dengan tempat ukuran yang sama. Kemudian data disimpan dalam file dengan format csv.
Ekstraksi fitur dirancang untuk mendapatkan fitur-fitur serta label dan akan disimpan dalam
datasheet. Dimulai dengan membaca file csv
yang merupakan data gerakan tanda tangan. Kemudian menentukan fitur durasi gerakan penulisan tanda tangan, fitur perubahan gerakan vertikal, jumlah perubahan gerakan horisontal dan label dari gerakan tanda tangan. Lalu fitur-fitur disimpan ke datasheet.
Fitur durasi penulisan tanda tangan digunakan karena pada suatu gerakan tanda tangan membutuhkan durasi tertentu untuk menulis suatu tanda tangan dan durasi tanda tangan berbanding lurus dengan jumlah set data yang dibaca. Sebagai contoh ketika tanda tangan ditulis membutuhkan waktu 3 detik data yang dibaca berjumlah 30 set. Kemudian pada waktu 5 detik berjumlah 50 set data. Dan seterusnya. Jumlah set data kemudian dibagi 100. Jumlah set data yang dibagi dimaksudkan agar hasil dari fitur ini bernilai diantara 0 dan 1. Pembagai 100 dipilih berdasarkan jumlah aman maksimal data yang dapat dihitung yang berarti 10 detik pada waktu penulisan tanda tangan. Hal ini dikarenakan kita tidak bisa membatasi secara pasti berapa maksimal waktu yang dibutuhkan seseorang untuk melakukan suatu tanda tangan. Dari sini kemudian didapat fitur durasi penulisan dari jumlah set data pada suatu gerakan tanda tangan menggunakan sensor MPU6050.
Fitur perubahan gerakan vertikal pada sumbu gx merupakan fitur yang didapat dari jumlah perubahan nilai dari positif ke negatif dan sebaliknya. Nilai positif berarti goresan pena bergerak ke atas pada media tulis, sedangkan negatif berarti goresan pena bergerak ke bawah pada media tulis atau. Dari sini Kemudian didapat perubahan gerakan vertikal pada goresan tanda tangan.
Fitur perubahan gerakan horisontal pada sumbu gy merupakan jumlah perubahan nilai dari positif ke negatif dan sebaliknya. Nilai positif berarti goresan pena bergerak ke kiri
sedangkan negatif berarti goresan pena bergerak ke kanan. Dari sini kemudian didapat perubahan gerakan horisontal pada goresan tanda tangan.
Pada jumlah perubahan sumbu gx dan gy kemudian dibagi 50 agar nilai hasil ektraksi pada kedua fitur ini bernilai diantara 0 dan 1. Pembagi 50 dipilih karena merupakan titik aman maksimal pada perubahan arah gerak pada suatu tanda tangan.
Sedangkan label merupakan suatu identitas dari suatu tanda tangan untuk membedakan dengan tanda tangan lainnya. Label juga merupakan suatu output yang diinginkan pada mesin pembelajaran. Nilai pada setiap label ditentukan dari 0 sampai 1. Misalnya tanda tangan seseorang memiliki nilai label 0.1. Kemudian tanda tangan seseorang lainnya bernilai 0.2 dan seterusnya.
x1 x2 h1 h2 h3 y_out x3 h4 m11.1 m12.1 m13.1 m14.1 m11.2 m12.2 m13.2 m12.4 m11.3 m12.3 m13.3 m14.3
Lapisan Input Lapisan Tersembunyi Lapisan Output
b1 b2 b11.0 b12.0 b13.0 b14.0 b21.0 m21.1 m21.2 m21.3 m21.4
Gambar 4. Desain arsitektur JST
Gambar 4 merupakan desain arsitektur jaringan syaraf tiruan atau model yang akan yang akan diterapkan pada proses pelatihan data. Terdapat tiga lapisan atau layer yang akan digunakan, yaitu lapisan input, lapisan tersembunyi, dan lapisan output. Lapisan input atau input layer terdiri dari tiga unit atau node yaitu x1, x2 dan x3. Unit-unit ini merupakan
jumlah fitur yang diambil dari suatu data gerakan tanda tangan seperti yang sudah dijelaskan di perancangan ekstraksi fitur. Kemudian satu lapisan tersembunyi atau hidden
layer yang terdiri dari 4 unit atau node h1, h2, h3
dan h4. Empat unit pada layer tersembunyi
ditentukan dengan mempelajari model jaringan yang umum digunakan dan pada suatu contoh ditentukan berdasarkan jumlah unit dari lapisan
input kemudian ditambah 1 (Stack Overflow,
2017). Model hidden layer ini kemudian diujicobakan untuk melakukan proses. Lapisan tersembunyi dimaksudkan untuk mempermudah sistem untuk mendekati/mencapai nilai output yang dinginkan pada backpropagation. Dan lapisan output atau output layer yang terdiri dari 1 unit saja yaitu y_out. Jumlah unit ini
merupakan jumlah output yang akan dicari/dikehendaki yaitu sebuah nilai label dari suatu tanda tangan. Lapisan input dan lapisan tersembunyi dihubungkan oleh bobot-bobot m1. Sedangkan Lapisan tersembunyi dan lapisan
output dihubungkan oleh bobot-bobot m2. Dan
juga terdapat bias b1 pada lapisan tersembunyi dan bias b2 pada lapisan output. Nilai bobot-bobot akan terus diperbarui ketika sistem dijalankan pada proses pelatihan data
backpropagation (TensorFlow, 2020).
Pada sistem ini juga akan ditentukan fungsi aktifasi, learning rate dan epochs. Fungsi aktifasi yang akan digunakan adalah sigmoid
biner. Sedangkan learning rate atau α adalah
1.0. Nilai epoch merupakan jumlah perulangan atau pembelajaran pada jaringan syaraf mesin pembelajaran. Nilai ini ditentukan dengan melakukan percobaan pada sistem dan didapatkan sebesar 500. Hasil dari proses pelatihan data pada sistem ini adalah bobot dan bias pada setiap layer pada pembelajaran mesin (Stack Overflow, 2017). Pada tahap ini ditentukan jumlah data latih dari 5 orang dengan 5 kali tanda tangan setiap orangnya sehingga mendapatkan 25 data latih pada suatu
datasheet. Setiap data akan diberi nama untuk
membedakan data satu dengan data yang lainnya misalnya am1 berarti data memiliki nama label “am” dan merupakan data ke-1 (am1, am2, …, ra1, ra2, … dan seterusnya).
Terdapat beberapa tahap untuk melakukan
backpropagation. Antara lain sebagai berikut:
Menentukan nilai bobot-bobot m1, m2, b1, b2 secara acak, nilai bobot dapat ditentukan dari bilangan pecahan 0-1.
Feedforward:
Unit-unit input (x) menerima nilai dari fitur-fitur (x1= durasi penulisan, x2= perubahan
gerakan vertikal, x3= perubahan gerakan
horisontal).
Menyimpan nilai label atau nilai yang dikehendaki sebagai y0 untuk mengetahui
error.
Unit-unit hidden (h1, h2, h3, h4) menerima
nilai terbobot m1 dari unit-unit input ditambah bias b1, nilai ini didapatkan untuk mendapatkan nilai input di unit-unit hidden.
Melakukan aktifasi pada nilai input di unit-unit hidden dengan fungsi aktifasi sigmoid
biner untuk mendapatkan nilai output di
unit-unit hidden.
Unit output (y_out) menerima nilai terbobot
m2 dari unit-unit hidden ditambah bias b2, nilai ini dapat dicari berdasarkan persamaan 2.3 untuk mendapatkan nilai input di y_out.
Melakukan aktifasi pada nilai input di unit-unit output dengan fungsi aktifasi sigmoid
biner untuk mendapatkan nilai output di
y_out.
Backpropagation:
Menghitung nilai error -> error = y0 - y_out
Menghitung informasi error y_out
-> informasi error y_out = error * y_out * (1 -
y_out)
Menghitung koreksi bobot-bobot m2 dan b2 -> koreksi bobot m21.1 = learning rate *
informasi error y_out * h1
-> dst (koreksi bobot m21.2, bobot m21.3, bobot
m21.4).
-> koreksi bobot b21.0 = learning rate *
informasi error
Menghitung error di unit-unit hidden -> error h1 = informasi error y_out* m21.1
-> dst (error h2, error h3, error h4).
Menghitung informasi error di unit-unit
hidden
-> informasi error h1 = error h1 * h1 * (1 - h1)
-> dst (informasi error h2, informasi error h3,
informasi error h4).
Menghitung koreksi bobot-bobot m1 dan b1 -> koreksi bobot m11.1 = learning rate *
informasi error h1* x1
-> koreksi bobot m11.2 = learning rate *
informasi error h1* x2
-> koreksi bobot m11.3 = learning rate *
informasi error h1* x3
-> koreksi bobot b11.0 = learning rate *
informasi error h1
-> dst (m12.1, m12.2, m12.3, b12.0, m13.1, m13.2,
m13.3, b13.0, m14.1, m14.2, m14.3, b14.0).
Memperbarui nilai bobot-bobot (m2, m1) dan bias (b2, b1),
-> bobot baru = bobot lama + koreksi bobot. Pengujian data merupakan suatu sistem pengujian berdasarkan model jaringan syaraf mesin pembelajaran yang telah dibuat pada proses pelatihan data. Untuk melakukan proses pengujian data maka diperlukan suatu data dari proses ekstraksi fitur. Kemudian data proses menggunakan model jaringan syaraf pada
proses pelatihan data yang telah diketahui bobot-bobotnya. Selanjutnya adalah melakukan
feedforward untuk memprediksi suatu gerakan
tanda tangan. Hasil dari proses ini adalah nilai
output yang merupakan prediksi dari suatu
gerakan tanda tangan. Pada tahap ini ditentukan jumlah data uji yakni sebuah data tanda tangan baru dari setiap orang pada data latih. Sehingga data uji pada sistem ini berjumlah 5.
Penampilan data merupakan proses akhir dari sistem alat. Ketika semua proses telah selesai dikerjakan dan nilai dari hasil pengujian data telah didapatkan. Maka hasil tersebut dibandingkan dengan setiap nilai label yang mengidentifikasikan penanda tangan. Dari hasil perbandingan akan didapatkan berapa perbedaan antara kedua nilai. Setelah dibandingkan kemudian menentukan atau memilih label yang memiliki nilai selisih terkecil dengan nilai output. Selanjutnya label ditampilkan sebagai informasi data gerakan tanda tangan.
2.4. Implementasi perangkat keras
Gambar 5. Hasil implementasi perangkat keras Gambar 5 merupakan hasil implementasi dari perancangan perangkat keras. Sensor MPU6050 dipasang sedemikian rupa agar dapat diaplikasikan pada alat tulis atau pena. Push
button juga dipasang sedemikian rupa agar
dapat ditekan sesuai fungsi ketika pengoperasian alat. LCD Oled dipasang pada Raspberry Pi agar dapat menampilkan informasi data. Seluruh pin yang digunakan
dihubungkan sesuai tabel perancangan agar sistem alat berfungsi sesuai dengan yang diinginkan.
2.5. Implementasi perangkat lunak
Implementasi perangkat lunak dari penelitian ini berupa program kode sumber menggunakan python.
Gambar 6. Data gerakan tanda tangan Gambar 6 merupakan data gerakan tanda tangan dengan penanda tangan berlabel am. Terdapat 5 data yang akan digunakan untuk pelatihan (am1, am2, am3, am4, am5) dan 2 data yang bisa dipilih salah satu untuk pengujian (am6 atau am7). Dalam suatu data terdapat variabel yang didapat meliputi jumlah data(n), akselerometer (ax, ay, az) dan giroskop (gx, gy, gz).
Gambar 7. Hasil proses ekstraksi
Gambar 7 merupakan hasil proses ekstraksi dari 5 tanda tangan yang dikumpulan menjadi suatu datasheet untuk pelatihan (train.csv). Dalam suatu datasheet terdapat 5 jenis tanda tangan dengan nama data (as), nilai label (op) yang telah ditentukan berdasarkan perancangan. Dan setiap data tanda tangan terdapat 3 fitur yang telah diekstrak (ft0 durasi penulisan, ft1 perubahan gerakan vertikal, ft3 perubahan gerakan horisontal).
Gambar 8. Hasil proses pelatihan
Gambar 8 merupakan hasil proses pelatihan dari perhitungan sistem. Terdapat nilai bobot dari lapisan input ke lapisan tersembunyi yaitu m1 ditambah bias b1. Kemudian nilai bobot dari lapisan tersembunyi ke lapisan output yaitu m2 dan bias b2.
Gambar 9. Hasil proses pengujian
Gambar 9 merupakan hasil proses pengujian dari suatu data uji. Pada data uji terdapat alias yang merupakan nama data dari tanda tangan. Desire merupakan nilai yang dikehendaki sedangkan obtained merupakan nilai yang didapat. Sedangkan diff merupakan selisih dari desire dan obtained. Diff disini disebut juga sebagai error. Pada data uji mengunakan am6, desire sengaja diberi nilai label 0.0 yang berarti seakan-akan belum diketahui labelnya dan akan diprediksi.
Gambar 10. Hasil prediksi sistem
Gambar 10 merupakan hasil prediksi sistem dimana nilai label yang didapat dibandingkan dengan nilai label dari masing-masing tanda tangan (nilai get dibandingkan dengan value dengan hasil pada diff). Hasil perbandingan kemudian diketahui dan nilai terkecil merupakan prediksi. Hasil prediksi (predict) merupakan label yang ditampilkan di LCD Oled.
Gambar 11. Tampilan informasi dari LCD Oled Gambar 11 merupakan tampilan informasi dari LCD Oled dimana terlihat bahwa pada
LCD Oled tertampil tulisan “am” yang merupakan prediksi dari sistem alat.
3. PENGUJIAN
3.1. Pengujian sensor MPU6050
Tujuan dari pengujian sensor MPU6050 adalah untuk mengetahui tingkat kesalahan pembacaan sensor. Pada pengujian ini sensor MPU6050 akan dibandingkan dengan sensor pada smartphone. Hal ini dimaksudkan karena pada sistem terdapat kebutuhan fungsional dari sistem alat yaitu pada pembacaan data.
Tabel 1. Tingkat kesalahan pembacaan sensor MPU6050 Sensor MPU6050 Smartphone Absolute Percent Errors gx (deg/s) gy (deg/s) gx (deg/s) gy (deg/s) gx gy 76 42 88.80 52.71 14% 20% 250 76 230.31 81.35 9% 7% -197 -21 -159.27 - 25.21 24% 17% -23 -181 - 26.35 - 171.87 13% 5% -32 143 - 43.54 174.16 27% 18% 40 8 43.54 6.30 8% 27% -52 6 - 64.74 8.02 20% 25% 34 -62 28.07 -63.59 21% 3% -11 132 - 14.32 175.88 23% 25% -46 -34 - 52.13 - 25.78 12% 32%
MAPE tiap sumbu 17% 18%
MAPE keseluruhan 17%
Tabel 1 merupakan tingkat kesalahan pembacaan sensor MPU6050 yang dibandingkan dengan pembacaan sensor pada smartphone. Pada pengujian sensor MPU6050 ini yang diuji adalah sumbu gx dan gy. Nilai yang didapat dari pembacaan sensor MPU6050 adalah dalam satuan deg/s sedangkan pada
smartphone yang terbaca sebelumnya adalah
dalam satuan rad/s. Sehingga harus dilakukan penyamaan satuan yang dalam kasus ini nilai dari pembacaan sensor smartphone rad/s diubah ke dalam satuan deg/s.
1 rad/s = 57.29 deg/s
Nilai errors merupakan tingkat kesalahan yang diperoleh dengan rumus berikut:
Berdasarkan hasil pengujian sensor MPU6050 ini penulis berhasil mendapatkan tingkat kesalahan atau errors pada setiap pembacaan. Untuk melakukan perbandingan maka satuan dari kedua sensor harus disamakan. Terdapat beberapa tingkat kesalahan dari yang terkecil sampai yang terbesar. Dari hasil tersebut didapatkanlah MAPE atau rata-rata tingkat kesalahan sebesar 17%.
3.2. Pengujian metode Backpropagation
Tujuan dari pengujian metode
backpropagation ini adalah untuk mengetahui
tingkat kesalahan metode dalam mengidentifikasi tanda tangan. Hal ini dimaksudkan karena pada sistem terdapat kebutuhan fungsional meliputi ekstraksi fitur dan pelatihan data.
Tabel 2. Tingkat kesalahan pelatihan data Nam a data latih Nilai yang dikehendaki atau nilai label Nilai yang didapat Selisih nilai atau error Absolut e Percent Errors [am1] 0.1 0.16580 8 0.06580 8 66% [am2] 0.1 0.06800 7 0.03199 3 32% [am3] 0.1 0.11609 4 0.01609 4 16% [am4] 0.1 0.12375 0 0.02375 0 24% [am5] 0.1 0.07804 9 0.02195 1 22% [ra1] 0.2 0.37409 4 0.17409 4 87% [ra2] 0.2 0.37582 0 0.17582 0 88% [ra3] 0.2 0.25666 1 0.05666 1 28% [ra4] 0.2 0.28571 1 0.08571 1 43% [ra5] 0.2 0.40512 2 0.20512 2 103% [al1] 0.3 0.46842 5 0.16842 5 56% [al2] 0.3 0.39143 4 0.09143 4 30% [al3] 0.3 0.34868 7 0.04868 7 16% [al4] 0.3 0.36511 2 0.06511 2 22% [al5] 0.3 0.43022 4 0.13022 4 43% [he1] 0.4 0.47934 1 0.07934 1 20%
[he2] 0.4 0.53528 1 0.13528 1 34% [he3] 0.4 0.40046 7 0.00046 7 0% [he4] 0.4 0.43439 4 0.03439 4 9% [he5] 0.4 0.51421 7 0.11421 7 29% [ni1] 0.5 0.58538 7 0.08538 7 17% [ni2] 0.5 0.56492 8 0.06492 8 13% [ni3] 0.5 0.57323 2 0.07323 2 15% [ni4] 0.5 0.56202 3 0.06202 3 12% [ni5] 0.5 0.53694 8 0.03694 8 7% MAPE 33%
Tabel 2 merupakan tingkat kesalahan pelatihan data untuk mengetahui tingkat kesalahan setiap tanda tangan yang dimasukkan ke pelatihan data. Nama data latih merupakan nama data yang dilatih yang telah ditentukan sesusai dengan bab perancangan. Nilai yang dikehendaki atau nilai label dari data yang dilatih merupakan nilai y0. Nilai yang didapat
atau nilai output merupakan yout dari proses
pelatihan. Selisih nilai merupakan selisih dari nilai yang dikehendaki dengan nilai yang didapat atau disebut juga sebagai error. Dan diperoleh MAPE atau rata-rata tingkat kesalahan keseluruhan sebesar 33%.
3.3. Pengujian prediksi pengenalan tanda tangan
Tujuan dari pengujian prediksi pengenalan tanda tangan ini adalah untuk mengetahui tingkat kesalahan sistem dalam memprediksi setiap tanda tangan orang pada data latih. Serta untuk menguji prediksi yang ditampilkan pada LCD Oled sebagai informasi tanda tangan. Hal ini dimaksudkan karena pada sistem terdapat kebutuhan fungsional meliputi pengujian data dan penampilan data.
Data uji diambil dari data tanda tangan am6, ra7, al7, he7 dan ni6. Data ini dipilih dari masing-masing pemilik tanda tangan untuk memprediksi apakah label yang diprediksi sesuai dengan pemilik tanda tangan berdasarkan tingkat kesalahan minimum atau terkecil.
Tabel 3. Tingkat kesalahan pengujian data am6
Label Nilai label Nilai yang didapat Selisih nilai Absolute Percent Errors am 0.1 0.095148 0.00485187 5% ra 0.2 0.095148 0.104852 52% al 0.3 0.095148 0.204852 68% he 0.4 0.095148 0.304852 76% ni 0.5 0.095148 0.404852 81%
Tabel 3 merupakan tingkat kesalahan pengujian data am6. Nilai yang didapat atau yout
dari pengujian data ini adalah 0.095148. Nilai ini kemudian dibandingkan dengan setiap nilai label. Terdapat nilai selisih antara kedua data dan dicari persentase kesalahannya. Kemudian didapat selisih terkecil pada label am dengan tingkat kesalahan 5%. Hal ini berarti data am6 diprediksi bahwa data tersebut dituliskan oleh am.
Tabel 4. Tingkat kesalahan pengujian data ra7
Label Nilai label Nilai yang didapat Selisih nilai Absolute Percent Errors am 0.1 0.226049 0.126049 126% ra 0.2 0.226049 0.026049 13% al 0.3 0.226049 0.073951 25% he 0.4 0.226049 0.173951 43% ni 0.5 0.226049 0.273951 55%
Tabel 4 merupakan tingkat kesalahan pengujian data ra7. Nilai yang didapat atau yout
dari pengujian data ini adalah 0.226049. Nilai ini kemudian dibandingkan dengan setiap nilai label. Terdapat nilai selisih antara kedua data dan dicari persentase kesalahannya. Kemudian didapat selisih terkecil pada label ra dengan tingkat kesalahan 13%. Hal ini berarti data ra7 diprediksi bahwa data tersebut dituliskan oleh ra.
Tabel 5. Tingkat kesalahan pengujian data al7
Label Nilai label Nilai yang didapat Selisih nilai Absolute Percent Errors am 0.1 0.354737 0.254737 255% ra 0.2 0.354737 0.154737 77% al 0.3 0.354737 0.054737 18% he 0.4 0.354737 0.045263 11% ni 0.5 0.354737 0.145263 29%
Tabel 5 merupakan tingkat kesalahan pengujian data al7. Nilai yang didapat atau yout
dari pengujian data ini adalah 0.354737. Nilai ini kemudian dibandingkan dengan setiap nilai
label. Terdapat nilai selisih antara kedua data dan dicari persentase kesalahannya. Kemudian didapat selisih terkecil pada label he dengan tingkat kesalahan 11%. Hal ini berarti data al7 diprediksi bahwa data tersebut dituliskan oleh he.
Tabel 6. Tingkat kesalahan pengujian data he7
Label Nilai label Nilai yang didapat Selisih nilai Absolute Percent Errors am 0.1 0.422759 0.322759 323% ra 0.2 0.422759 0.222759 111% al 0.3 0.422759 0.122759 41% he 0.4 0.422759 0.022759 6% ni 0.5 0.422759 0.077241 15%
Tabel 6 merupakan tingkat kesalahan pengujian data he7. Nilai yang didapat atau yout
dari pengujian data ini adalah 0.422759. Nilai ini kemudian dibandingkan dengan setiap nilai label. Terdapat nilai selisih antara kedua data dan dicari persentase kesalahannya. Kemudian didapat selisih terkecil pada label he dengan tingkat kesalahan 6%. Hal ini berarti data he7 diprediksi bahwa data tersebut dituliskan oleh he.
Tabel 7. Tingkat kesalahan pengujian data ni6
Label Nilai label Nilai yang didapat Selisih nilai Absolute Percent Errors am 0.1 0.560707 0.460707 461% ra 0.2 0.560707 0.360707 180% al 0.3 0.560707 0.260707 87% he 0.4 0.560707 0.160707 40% ni 0.5 0.560707 0.060707 12%
Tabel 7 merupakan tingkat kesalahan pengujian data ni6. Nilai yang didapat atau yout
dari pengujian data ini adalah 0.560707. Nilai ini kemudian dibandingkan dengan setiap nilai label. Terdapat nilai selisih antara kedua data dan dicari persentase kesalahannya. Kemudian didapat selisih terkecil pada label ni dengan tingkat kesalahan 12%. Hal ini berarti data ni6 diprediksi bahwa data tersebut dituliskan oleh ni.
Selanjutnya adalah melihat hasil prediksi dari setiap tanda tangan yang diuji. Hasil prediksi dari sistem merupakan nama label yang diprediksi dan ditampilkan pada LCD Oled sebagai informasi tanda tangan.
Tabel 8. Hasil kebenaran prediksi dari sistem
Pengujian Label yang dike-hendaki Prediksi dari sistem Benar atau Salah Persentase am6 am am Benar 100% ra7 ra ra Benar 100% al7 al he Salah 0% he7 he he Benar 100% ni6 ni ni Benar 100% Rata-rata 80%
Tabel 8 merupakan hasil kebenaran prediksi dari sistem dimana Benar atau Salah ditentukan dari label yang dikehendaki dan prediksi dari sistem, yaitu jika sama maka “Benar” dan jika tidak sama maka “Salah”. Hasil pengujian ini akan mengarahkan kepada kebenaran penanda tangan dengan tanda tangannya dengan memilih tingkat kesalahan yang terkecil. Misalnya pada data uji am6 (yang merupakan data uji milik am) didapatkan tingkat kesalahan terkecil pada label am sebesar 5%. Hal ini berarti data uji am6 sebagai sebuah data tanda tangan mengarahkan prediksi kepada tanda tangan am. Dan ini merupakan kebenaran bahwa data uji am6 benar milik am. Kemudian hasil prediksi ini akan ditampilkan pada LCD Oled sebagai informasi tanda tangan. Dari keseluruhan pengujian pada sistem ini didapatkan nilai Benar sebanyak 4 dari 5 pengujian atau akurasi sebesar 80%.
3.4. Pengujian waktu komputasi
Tabel 9. Waktu komputasi Percobaan Waktu komputasi ekstrak.py (s) Waktu komputasi learning.py (s) Total waktu komputasi (s) 1 10.31 43.82 53.85 2 10.15 43.34 53.49 3 10.21 43.99 54.20 4 10.35 45.19 55.54 5 10.51 45.56 56.07 Rata-rata 54.63
Tabel 9 merupakan waktu komputasi pada program ekstrak.py dan learning .py dengan 5 kali percobaan. Berdasarkan hasil pengujian ini dapat dianalisis bahwa untuk melakukan suatu
prediksi, sistem pada penelitian ini masih membutuhkan waktu yang begitu lama yaitu kurang lebih 54.63s.
4. PENUTUP
Berdasarkan penelitian yang telah dikerjakan maka didapat kesimpulan bahwa sensor MPU6050 dapat membaca gerakan pada tanda tangan pada sumbu gx dan gy. Pengujian sensor MPU6050 didapatkan tingkat kesalahan pembacaan sensor pada gx dan gy dengan nilai tingkat kesalahan sebesar 17%. Sensor MPU6050 masih membutuhkan pengembangan desain untuk mendapatkan tingkat kesalahan yang lebih kecil.
Metode Backpropagation pada pengenalan tanda tangan menggunakan tensorflow didapatkan hasil pengujian berupa tingkat kesalahan dari data latih dengan rata-rata sebesar 33%. Masing-masing data memiliki tingkat kesalahan bervariasi dari yang terendah yaitu 0% dan tingkat kesalahan yang tertinggi yaitu 103%. Metode pengenalan pada gerakan tanda tangan ini masih membutuhkan pengembangan untuk mendapatkan tingkat kesalahan yang lebih kecil.
Prediksi pengenalan tanda tangan pada data uji mendapatkan hasil prediksi yang benar sebanyak 4 dari 5 data yang diuji atau 80%. Hasil prediksi ini akan ditampilkan pada LCD Oled sebagai informasi tanda tanda tangan. Dari pengujian ini membuktikan bahwa sistem secara dominan memberikan hasil yang dikehendaki atau dapat memprediksi dengan benar.
Waktu komputasi sistem untuk memprediksi membutuhkan kurang lebih 54.63s. Waktu yang cukup lama ini digunakan untuk membangun struktur atau model sistem dan untuk perhitungan data. Sehingga masih membutuhkan pengembangan yang dapat mempercepat prediksi.
Dalam penelitian ini penulis juga mengusulkan beberapa saran. Pertama penulis mengusulkan saran memperbaiki atau menambah fitur-fitur yang dapat digunakan untuk memprediksi gerakan tanda tangan agar mendapatkan hasil yang lebih diinginkan. Kemudian mengembangkan desain alat, baik perangkat keras maupun perangkat lunak yang lebih mudah digunakan dari sisi pemakaian untuk melakukan proses pengambilan data dan mempercepat prediksi.
5. DAFTAR PUSTAKA
Biometrics Institute, 2019. Types of Biometrics. [Online] Tersedia melalui: https://www.biometricsinstitute.org/what-is-biometrics/types-of-biometrics/ [Diakses pada 26 Agustus 2019].
Diponegoro University | Institutional Repository (UNDIP-IR), 2017.
Backpropagation dan Aplikasinya - Diponegoro University | Institutional Repository (UNDIP-IR). [Online] Tersedia
melalui: http://eprints.undip.ac.id/53466/ [Diakses pada 30 Maret 2020].
Guru, D. & Prakash, H., 2009. Online Signature Verification and Recognition: An Approach Based on Symbolic Representation. IEEE Transactions on
Pattern Analysis and Machine Intelligence,
31(6), pp. 1059 - 1073.
Halim, A. R., 2019. Sistem Pengaturan Nyala Lampu Berbasis Gerakan Tangan Melalui Wearable Device dengan Metode K-Nearest Neighbor. Jurnal Pengembangan
Teknologi Informasi dan Ilmu Komputer,
Volume 3, pp. 7657-7665.
Hidayatno, A., 2008. Identifikasi Tanda Tangan Menggunakan Jaringan Saraf Tiruan Perambatan Balik (Backpropagation).
Jurnal Teknolog, Volume Volume. 1
Nomor 2, pp. 100 - 106.
Jefiza, A., 2017. Sistem Pendeteksi Jatuh Berbasis Sensor Gyroscope Dan Sensor
Accelerometer Menggunakan
Backpropagation. Thesis - Institut Teknologi Sepuluh Nopember Repository,
pp. 1-111.
KBBI Daring, 2016. Hasil Pencarian - KBBI
Daring. [Online] Tersedia melalui: https://kbbi.kemdikbud.go.id/entri/tanda% 20tangan [Diakses pada 26 Agustus 2019]. Kekre, H. B., 2010. Gabor Filter Based Feature
Vector for Dynamic Signature Recognition. International Journal of
Computer Applications, Volume 2, p. 0975
– 8887.
Kompas.com, 2017. "Fintech" dan Tanda
Tangan Elektronik Halaman all - Kompas.com. [Online] Tersedia melalui:
https://money.kompas.com/read/2017/02/2 2/073000626/.fintech.dan.tanda.tangan.ele ktronik?page=all [Diakses pada 25 Juli 2020].
Kumalasanti, R. A., 2015. Identifikasi Tanda Tangan Statik Menggunakan Jaringan
Syaraf Tiruan Backpropagation Dan Wavelet Haar. Simposium Nasional RAPI, Volume XIV.
Sanjaya, A. B., 2019. Rancang Bangun Sistem Pembeda Gerakan Berlari dan Berjalan Untuk Atlet Lari Menggunakan MPU6050 dan Metode Klasifikasi K-Nearest Neighbor. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer,
Volume 3, pp. 6456-6463 .
Stack Overflow, 2017. How do backpropagation works in tensorflow - Stack Overflow. [Online] Tersedia melalui:
https://stackoverflow.com/questions/44210 561/how-do-backpropagation-works-in-tensorflow [Diakses pada 1 Desember 2019].
TensorFlow, 2020. TensorFlow. [Online]
Tersedia melalui:
https://www.tensorflow.org/ [Diakses pada 30 Maret 2020].