• Tidak ada hasil yang ditemukan

Sistem Biometrik Gerakan Tanda Tangan Menggunakan Sensor MPU6050 dengan Metode Backpropagation

N/A
N/A
Protected

Academic year: 2021

Membagikan "Sistem Biometrik Gerakan Tanda Tangan Menggunakan Sensor MPU6050 dengan Metode Backpropagation"

Copied!
11
0
0

Teks penuh

(1)

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

3

Program 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.

(2)

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

(3)

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

(4)

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.

(5)

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

(6)

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

(7)

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%

(8)

[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

(9)

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

(10)

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

(11)

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].

Gambar

Gambar 2. Desain perancangan perangkat keras
Gambar 4. Desain arsitektur JST
Gambar 5. Hasil implementasi perangkat keras

Referensi

Dokumen terkait

[r]

Dari berbagai macam permasalahan yang dialami oleh orang tua yang memiliki anak Autism Spectrum Disorder (ASD) dalam penyesuaian diri pada orang tua yang memiliki

Dengan mengolah data pendidikan (data pokok) yang terdiri dari data pokok Sekolah Menengah Atas (SMA) dan data pokok Sekolah Menengah Kejuruan (SMK) dapat dibuat

Pada skripsi ini peneliti membahas lima judul puisi yaitu ‘Nyanyian Akar Rumput’, ‘Kuburan Purwoloyo’, ‘Ayolah Warsini’, ‘Bunga dan Tembok’, serta

Aplikasi inventaris laboratorium teknik elektro UMS dengan menggunakan Macromedia Dreamweaver dengan ASP sebagai bahasa script dan Microsoft Access sebagai penyimpan

Untuk model AHP matrik perbandingan berpasangan dapat diterima jika nilai rasio inkonsistensi  0,1 jika tidak, berarti penilaian yang telah dibuat

While actual interactions with programs is becoming possible in real time when the user is connected over the Internet – television becoming almost indistinguishable from games,

The game design and simulation environment is intended to be used throughout the entire game development process: general game design, game world and character modeling,