TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat
Untuk Memperoleh Gelar Sarjana Teknik Pada
Jurusan Teknik Informatika
Oleh:
TUGAS AKHIR
Oleh :
Pembimbing,
NIP.198102062009121003
1
LEMBAR PENGESAHAN
TUGAS AKHIR
Oleh
DEWAN PENGUJI
Ketua : Febi Yanto, M.Kom
Sekretaris : Febi Yanto, M.Kom
Penguji I : Muhammad Irsyad, S.T, M.T
2
Penguji II : Nazruddin Safaat, ST.,M.T
3
LEMBAR HAK ATAS KEKAYAAN
INTELEKTUAL
Tugas Akhir yang tidak diterbitkan ini terdaftar dan tersedia di Perpustakaan
Universitas Islam Negeri Sultan Syarif Kasim Riau adalah terbuka untuk umum
dengan ketentuan bahwa hak cipta pada penulis. Referensi kepustakaan
diperkenankan dicatat, tetapi pengutipan atau ringkasan hanya dapat dilakukan
seizin penulis dan harus disertai dengan kebiasaan ilmiah untuk menyebutkan
sumbernya.
Penggandaan atau penerbitan sebagian atau seluruh Tugas Akhir ini harus
memperoleh izin dari Dekan Fakultas Sains dan Teknologi Universitas Islam
Negeri Sultan Syarif Kasim Riau. Perpustakaan yang meminjamkan Tugas Akhir
ini untuk anggotanya diharapkan untuk mengisi nama, tanda peminjaman dan
tanggal pinjam.
4
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa dalam Tugas Akhir ini tidak terdapat
karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu
Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan didalam daftar pustaka.
5
LEMBAR PERSEMBAHAN
***
Hasil Tugas Akhir ini penulis persembahkan untuk
Ayah dan ibu penulis yang selalu memberikan doa dan dukungan
yang tak pernah putus.
Kemudian, untuk keluarga besar penulis.
Untuk pacar dan teman-teman penulis
Serta terima kasih untuk keluarga besar TIFE 13 dan semua
orang yang selalu memberi semangat.
***
6
RANCANG BANGUN KENDALI ROBOT VISION
MENGGUNAKAN ISYARAT TANGAN BERBASIS
SMARTPHONE ANDROID DENGAN METODE SUPPORT
VECTOR MACHINE (SVM)
Tanggal Sidang:
Periode Wisuda:
ABSTRAK
Kata kunci : Isyarat Tangan, Kendali, Robot vision, Smartphone Android, SVM.
7
DESIGN AND BUILD CONTROL ROBOT VISION USING
HAND SIGNAL BASED ON SMARTPHONE ANDROID WITH
SUPPORT VERCTOR MACHINE (SVM) METHOD
ABSTRACT
Robotics technology is growing, robots are required to settle the complex problems such
as completing humans work. Then robots requires vision technology in order to
determine the appropriate action. Vision on robots can be used for robots control system
so robots are no longer controlled using a joystick or remote control, but using human
hands gestures and interactive. Control is done by giving hand gestures to robot in real
time using android smartphones camera. The captured image is then processed using
support vector machine (SVM). After image of the command recognized, image will be
sent using bluetooth and received by Arduinos microcontroller which serves to move the
robot according to received orders. To measure the ability of the robot, we conducted tests
with the condition of the image of different hand signals. Rated accuracy of final testing
with the best conditions by the end of test scenarios 100% accurate and the best response
time is 0.14 seconds.
8
KATA PENGANTAR
9
7. Ayahanda Mayor Harioyono dan Ibunda Tsakilawati tercinta, serta saudara
penulis Reni Nola Sari dan Kurnia Andi Wibowo yang telah mendoakan,
memberika dukungan dan semangatnya sehingga penulis dapat
menyelesaikan Tugas Akhir ini.
8. Om Tri Winarto dan Tante Yenni Maskharita, serta Adik Rahmanita Windy
dan Hadi Bastiyen Abdullah yang selalu mendukung penulis dalam
menyelesaikan Tugas Akhir ini.
9. Nia Lady Agustin, pacar yang lucu dan selalu mengingatkan penulis agar
menyelesaikan Tugas Akhirnya.
10. Seluruh keluarga besar TIFE13, Eko Waluyo, Dirgahayu Putra, Yusuf
Abdillah Putra, Kosjep dan teman-teman seperjuangan Teknik
Informatika angkatan 2013. Terima kasih atas doa dan semangatnya.
11. Sahabat-sahabat SMKN 2 Surabaya jurusan AV angkatan 2010 yang selalu
mendukung penulis untuk menyelesaikan Tugas Akhir ini.
12. Dan terakhir, terimakasih pula penulis ucapkan untuk Almamater Teknik
Informatika, Fakultas Sains dan Teknologi, UIN Sultan Syarif Kasim Riau
serta semua pihak yang terlibat langsung maupun tidak langsung dalam
penelitian dan penulisan Laporan Tugas Akhir ini yang tidak dapat penulis
sebutkan satu persatu. Terimakasih banyak atas bantuan dan dukungannya
yang berharga.
Penulis menyadari dalam penulisan laporan ini masih terdapat
kekurangan. Oleh karena itu, saran dan kritik sangat penulis harapkan
untuk kemajuan penulis menuju ke arah yang lebih baik lagi. Terimakasih.
Wassalamualaikum Warahmatullahi Wabarakatuh
.
Pekanbaru, 7 April 2017
Penulis
DAFTAR ISI
LEMBAR PERSETUJUAN...................................................................................i
LEMBAR PENGESAHAN...................................................................................ii
10
LEMBAR HAK ATAS KEKAYAAN INTELEKTUAL....................................iii
LEMBAR PERNYATAAN...................................................................................iv
LEMBAR PERSEMBAHAN................................................................................v
ABSTRAK.............................................................................................................vi
ABSTRACT..........................................................................................................vii
KATA PENGANTAR..........................................................................................viii
DAFTAR ISI...........................................................................................................x
DAFTAR GAMBAR...........................................................................................xiv
DAFTAR TABEL..............................................................................................xviii
DAFTAR ALGORITMA................xx
DAFTAR PROGRAM.........................................................................................xx
DAFTAR SIMBOL.............................................................................................xxi
BAB I PENDAHULUAN....................................................................................l-1
2.1 Robot......................................................................................................ll-1
11
2.4 Robot Vision...........................................................................................ll-8
2.7 Android.................................................................................................ll-11
2.8 OpenCV................................................................................................ll-14
2.11 Java......................................................................................................ll-24
12
BAB IV ANALISA DAN PERANCANGAN..................................................lV-1
5.1 Implementasi.........................................................................................V-1
5.1.3.1 Robot..........................................................................................V-3
5.2 Pengujian.............................................................................................V-21
13
5.2.2.5 Skenario pengujian smartphone Android.................................V-50
BAB VI PENUTUP...........................................................................................Vl-1
5.1 Kesimpulan..........................................................................................Vl-1
5.2 Saran.....................................................................................................Vl-1
DAFTAR PUSTAKA........................................................................................xxiii
14
DAFTAR GAMBAR
Gambar Halaman
15
4.7 Perintah Isyarat Tangan...........................................................................IV-4
4.8 Proses Pelatihan......................................................................................IV-4
4.9 Proses pengujian.....................................................................................IV-5
4.10 Usecase diagram.....................................................................................IV-6
4.11 Activity diagram pelatiahan.....................................................................IV-8
4.12 Activity diagram pelatiahan.....................................................................IV-9
4.13 Sequence diagram pelatihan..................................................................IV-10
4.14 Sequence diagram pengujian.................................................................IV-10
4.15 Class diagram........................................................................................IV-11
4.16 Deploy diagram.....................................................................................IV-11
4.17 Pengendalian robot vision.....................................................................IV-12
4.18 Flowchart prosess pengendalian...........................................................IV-12
4.19 Rangkaian robot....................................................................................IV-15
4.20 Disain robot depan................................................................................IV-16
4.21 Disain robot samping............................................................................IV-17
4.22 Disain robot atas....................................................................................IV-17
4.23 Menu size..............................................................................................IV-18
4.24 Deteksi background..............................................................................IV-18
4.25 Deteksi tangan.......................................................................................IV-18
4.26 Segmentasi............................................................................................IV-19
4.27 Ekstrasi fitur dan pelatihan...................................................................IV-19
4.28 Ekstrasi fitur dan pengujian..................................................................IV-19
5.1 Robot tampak depan.................................................................................V-3
5.2 Robot tampak samping.............................................................................V-4
5.3 Tampilan menu slidebar...........................................................................V-9
5.4 Tampilan menu resolusi............................................................................V-9
5.5 Tampilan input citra latarbelakang.........................................................V-10
5.6 Tampilan input citra tangan....................................................................V-10
5.7 Segmentasi citra ke biner........................................................................V-11
5.8 Ekstrasi fitur SVM..................................................................................V-11
5.9 Tambah data latih...................................................................................V-12
5.10 Konfirmasi menambahkan data latih......................................................V-12
16
5.11 Data model SVM....................................................................................V-12
5.12 Lihat data latih........................................................................................V-13
5.13 Resolusi 176 x 144 jarak 15cm..............................................................V-25
5.14 Resolusi 176 x 144 jarak 30cm..............................................................V-25
5.15 Resolusi 176 x 144 jarak 60cm..............................................................V-26
5.16 Resolusi 176 x 144 jarak 90cm..............................................................V-26
5.17 Resolusi 352 x 328 jarak 15cm..............................................................V-27
5.18 Resolusi 352 x 328 jarak 30 cm.............................................................V-28
5.19 Resolusi 352 x 328 jarak 60cm..............................................................V-28
5.20 Resolusi 352 x 328 jarak 90cm..............................................................V-29
5.21 Resolusi 480 x 368 jarak 15cm..............................................................V-30
5.22 Resolusi 480 x 368 jarak 30cm..............................................................V-30
5.23 Resolusi 480 x 368 jarak 60cm..............................................................V-31
5.24 Resolusi 480 x 368 jarak 60cm..............................................................V-31
5.25 Resolusi 720 x 480 jarak 15cm..............................................................V-32
5.26 Resolusi 720 x 480 jarak 30cm..............................................................V-33
5.27 Resolusi 720 x 480 jarak 60cm..............................................................V-33
5.28 Resolusi 720 x 480 jarak 60cm..............................................................V-34
5.29 Latarbelakang coklat cahaya terang.......................................................V-39
5.30 Latarbelakang coklat cahaya sedang......................................................V-40
5.31 Latarbelakang coklat cahaya sedang......................................................V-40
5.32 Latarbelakang abu-abu cahaya terang....................................................V-41
5.33 Latarbelakang abu-abu cahaya sedang...................................................V-42
5.34 Latarbelakang abu-abu cahaya sedang...................................................V-42
5.35 Latarbelakang optional cahaya terang....................................................V-43
5.36 Latarbelakang optional cahaya sedang...................................................V-44
5.37 Latarbelakang optional cahaya gelap.....................................................V-44
5.38 Latarbelakang optional cahaya terang....................................................V-46
5.39 Latarbelakang optional cahaya sedang...................................................V-46
5.40 Latarbelakang optional cahaya gelap.....................................................V-47
5.43 Isyarat SIBI.............................................................................................V-49
5.44 Isyarat biasa............................................................................................V-49
17
5.45 Kamera depan.........................................................................................V-35
5.46 Kamera belakang....................................................................................V-36
5.47 Hasil vision OPPO Neo 3.......................................................................V-51
5.48 Hasil vision Asus Zenfone 5...................................................................V-51
5.49 Smartphone Android terpasang pada robot............................................V-57
5.50 Smartphone Android terpisah pada robot...............................................V-57
18
DAFTAR TABEL
Tabel Halaman
19
DAFTAR ALGORITMA
Algoritma
Halaman
2.1 Persamaan hyperplane...........................................................................II-15
2.2 Persamaan hyperplane W.......................................................................II-16
2.3 Hyperplane pemisah maksimum............................................................II-16
2.4 Titik di bawah hyperplane pemisah.......................................................II-16
2.5 Dua persamaan hyperplane....................................................................II-17
2.6 Lagrangian formulation..........................................................................II-17
2.7 Fungsi optimasi SVM............................................................................II-17
2.8 Margin pembatas....................................................................................II-17
20
DAFTAR PROGRAM
Program Halaman
21
DAFTAR SIMBOL
Activity Diagram
22
Flowchart
Sequence Diagram
23
Boundary : Simbol yang digunakan untuk menggambarkan
form.
24
BAB
PENDAHULUAN
1.1.Latar Belakang
Teknologi robotika berkembang sangat cepat, pada tahun 2015 sampai
2035 diprediksi perkembangan service robot semakin meningkat. Diprediksi pada
tahun 2035, 50% pekerjaan rumah tangga dikerjakan oleh service robot. Semakin
kompleks permasalahan robot maka diperlukan teknologi seperti computer vision
pada robot (Lechevalier, 2014).
Computer vision merupakan bidang pengetahuan yang fokus pada sistem
kecerdasan buatan dan pengelolahan citra. Salah satu bidang riset computer vision
adalah robot vision. Robot membutuhkan informasi vision untuk memutuskan
sebuah aksi.Vision pada robot sangat penting karena informasi yang diberikan
lebih detail dan tepat dibanding menggunakan sensor jarak, sensor inframerah dan
limit sensor (Budiharto, 2014).
Vision pada robot dapat digunakan untuk mengendaliakan robot
menggunakan citra isyarat tangan. Isyarat tangan merupakan salah satu cara
berkomunikasi tanpa berbicara mengutamakan komunikasi visual. Isyarat tangan
menggunakan orientasi bentuk dan gerakan tangan untuk menyampaikan
informasi (Branson, 1996). Kendali robot menggunakan citra isyarat tangan lebih
alami dan interaktif dibandingkan kontrol robot manual menggunakan remote
console atau joystick karena robot dapat diperintah secara langsung (Kaura, 2013).
Penelitian yang telah dilakukan sebelumnya (Kaura, 2013) Gesture
Controlled Robot using Image Processing. Hasil penelitian tersebut robot dapat
dikendalikan menggunakan pengenalan isyarat tangan dengan baik. Namun sistem
robot dengan perangkat pengenalan isyarat tangan dirancang secara terpisah,
sehingga robot memliki jarak jelajah yang terbatas dan respon robot menjadi tidak
baik, maka dibutuhkan perangkat pengenalan isyarat tangan berbasis mobile yang
dapat include langsung pada robot tersebut.
Hasil survei yang dilakukan oleh (Hasan, 2013) Vision based hand gesture
recognition for human computer interaction: a survey. Diketahui bahwa tangan
adalah media pengenalan yang banyak dipilih untuk mengendalikan robot berbasis
l-1
vision. Pengenalan pola tangan statik atau tidak bergerak, mayoritas menggunakan
metode support vector machine (SVM).
Selanjutnya penelitian yang dilakukan (Nasser, 2011) Real-Time Hand
Gesture Detection and Recognition Using Bag-of-Features and Support Vector
Machine Techniques membuktikan bahwa metode SVM dapat mengenali pola
isyarat tangan dengan akurasi yang baik.
Bedasarkan permasalahan tersebut pada penelitian ini akan merancang
kendali robot vision menggunakan isyarat tangan berbasis smartphone Android
dengan metode Support Vector Machine (SVM). Citra isyarat tangan diambil
secara real-time oleh kamera android, lalu dilakukan proses pengenalan pola
isyarat tangan menggunakan aplikasi berbasis OpenCV dengan metode support
vector machine (SVM). Aplikasi tersebut dijalankan pada smartphone Android.
Setelah pola isyarat tangan dikenali maka perintah akan dikirim ke Arduino UNO
yang berfungsi sebagai penggerak robot untuk maju, mundur, kanan, kiri, putar
kanan dan putar kiri sesuai dengan isyarat tangan.
1.2 Rumusan Masalah
Rumusan masalah pada penelitian ini yaitu bagaimana merancang kendali
robot vision menggunakan isyarat tangan berbasis smartphone Android dengan
metode Support Vector Machine (SVM) ?.
1.3 Batasan Masalah
Terdapat 4 poin batasan masalah pada penelitian rancang bangun kendali robot
vision menggunakan isyarat tangan berbasis smartphone Android dengan metode
support vector machine (SVM) yaitu:
1. Berjumlah 7 Isyarat tangan yang digunakan untuk mengendalikan 7 gerak
robot yaitu maju, mundur, kanan, kiri, putar kanan, putar kiri dan diam.
2. Mengunakan mikrokontroler Arduino UNO.
3. Menggunakan bahasa pemograman Java, XML dan C Arduino.
4. Menggunakan kinematik robot beroda dua.
1.4Tujuan Penelitian
Tujuan penelitian ini adalah untuk dirancang serta dibangun kendali robot
vision menggunakan isyarat tangan berbasis smartphone Android dengan metode
Support Vector Machine (SVM).
1.5 Sistematika Penulisan
l-2
Berikut merupakan rencana susunan sistematika penulisan laporan tugas
akhir yang akan dibuat:
BAB I PENDAHULUAN
Berisi tentang deskripsi umum tugas akhir yang meliputi latar
belakang masalah, perumusan masalah, batasan penelitian, tujuan
penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Berisi tentang pengetahuan dasar yang berhubungan dengan
penelitian yang penulis lakukan. Yaitu mengenai robot, citra digital,
computer vision, robot vision, isyarat tangan, Arduino, Android,
OpenCV, support vector machine, unified modelling language, JAVA
dan penelitian sebelumnya.
BAB III METODOLOGI PENELITIAN
Berisi penjelasan mengenai tahapan dalam proses penelitian tugas
akhir yang penulis lakukan. Dimulai dari identifikasi masalah,
pengumpulan data dan informasi, analisa dan perancangan,
implementasi dan pengujian, serta kesimpulan dan saran.
BAB IV ANALISA DAN PERANCANGAN
Berisi penjelasan tentang analisa robot vision yaitu menganalisa
segala kebutuhan untuk memudahkan dalam implementasi dan
perancangan robot vision kendali isyarat tangan yang meliputi
rancangan aplikasi dan rancangan robot.
BAB V IMPLEMENTASI DAN PENGUJIAN
Berisi penjelasan tentang implementasi yang meliputi batasan
implementasi, lingkungan implementasi serta hasil implementasi dan
penjelasan tentang pengujian yang meliputi rencana pengujian,
pengujian robot vision menggunakan isyarat tangan berbasis
smartphone Android dengan metode support vector machine serta
hasil pengujian.
BAB VI PENUTUP
Berisikan tentang kesimpulan bedasarkan pengujian yang telah
dilakukan dan saran-saran untuk pengembangan penelitian ini.
l-3
BAB
LANDASAN TEORI
2.1 Robot
Kata robot berasal dari bahasa Czech, robota yang berarti bekerja. Kata
robot diperkenalkan oleh Karel Capek saat mementaskan RUR (Rossums
Universal Robots) pada tahun 1921. Islam sendiri telah lama menggunakan dan
mengembangkan teknologi robot. Pada Zaman Nabi Muhammad SAW, telah
menciptakan mesin perang yang telah diberi roda dan dapat melontarkan bom.
Lalu Al-Jajari (1136-1206) seorang ilmuan islam pada dinasti Artuqid yang
pertama kali menciptakan robot humanoid berbentuk band musik dan jam gajah.
Kosep robotika Al-Jazari masih gunakan pada masa modern ini (Budiharto, 2014).
1. Robot manipulator
Robot manipulator banyak digunakan untuk kebutuhan industri,
manipulator merupakan sebuah rangkaian mekanik robot yang terdiri dari
sendi (joint) yang terhubung dengan lengan (link). Sendi tersebut adalah
akuator yang menggerakan lengan robot untuk mengerjakan tugas seperti
manusia.
ll-1
2. Robot mobil (mobile robot)
Mobile robot adalah robot yang dapat bergerak dan berjalan bebas
dibedakan bedasarkan media jelajah sebagai berikut:
a. Robot daratan (ground robot)
i. Robot beroda
Robot beroda adalah robot yang paling sering dijumpai.
Roda adalah teknik paling lama digunakan, mudah, dan
efisien untuk menggerakkan robot. Roda juga mudah
diperoleh, digunakan dan juga mudah untuk memasangnya
pada robot. Roda yang digunakan pada robot bermacam-
macam ada yang roda dua, roda empat, roda enam, atau
roda caterpillar dan dipilih sesuai medan yang dilintasi
robot.
ll-2
b. Robot air (submarine robot)
ROV (Remotely Operated Vehicles) adalah salah satu jenis robot
submarine. Robot ini kedap air dan biasa digunakan untuk
melakukan pencarian didalam air contohnya pencarian pesawat
yang jatuh dilautan yang luas. Dengan menggunakan robot ini
pencarian lebih mudah karena memiliki sensor, kamera dan lengan
(arm). Kontrol robot ROV berada dipermukaan laut dan data yang
didapat akan ditampilkan pada monitor.
ll-3
2.1.2 Sistem Robot dan Fungsinya
Sistem pada robot terdiri dari beberapa bagian dan memiliki fungsi
yang berbeda-beda, sistem robot tersebut terdiri dari:
1. Controller
Controller adalah rangkaian elektronik yang terdiri dari sistem minimum
processor, memori, dan antarmuka input dan output. Controller digunakan untuk
menyelesaikan permasalahan elektronika yang sederhana seperti menghidupkan
LED sampai permasalahan yang kompleks seperti pengendalian robot (Kadir,
2012). Contoh controller dapat dilihat pada gambar 2.6.
2. Akuator
Adalah bagian yang berfungsi untuk penggerak robot dari perintah yang
diberikan oleh input. Piranti akuator menggunakan elektronik dan mekanik
yang menghasilkan daya gerak. Motor DC adalah jenis dari akuator
mekanik dan terdiri dari 2 bagian utama, yaitu rotor dengan stator
(Budiharto, 2014). Contoh akuator dapat dilihat pada gambar 2.7.
3. Driver motor
Adalah komponen penguat arus untuk mengendaliakan motor listrik
seperti motor DC dan servo. Driver motor dapat juga dihubungkan pada
controller untuk pengendalian gerak robot (Kadir, 2012). Contoh driver
motor dapat dilihat pada gambar 2.8.
ll-4
Gambar 2.8 Modul driver motor L298
4. Komunikasi
Komunikasi pada robot ada 2 jenis menggunakan kabel atau wireless.
Contoh perangkat wireless seperti RF (radio frekuensi), bluetooth, wifi dan
alat komunikasi lainya. Bluetooth merupakan perangkat yang mudah
digunakan serta support dengan smartphone Android (Budiharto, 2014).
Contoh modul bluetooth dapat dilihat pada gambar 2.9.
ll-5
keberadaannya karena memiliki beberapa keuntungan. Adapun keuntungan dari
citra biner adalah:
1 Tidak menghabiskan banyak memori karena memori yang dibutuhkan
hanya 1 bit.
2 Waktu yang dibutuhkan untuk melakukan pemrosesan lebih singkat
daripada citra hitam-putih karena pada citra biner operasi yang dilakukan
berupa operasi logika (and, or, not) daripada operasi aritmatika bilangan
bulat.
Susunan pixel citra biner (monokrom) dapat dilihat pada gambar berikut:
= 0 1 1 1 1
= 0 1 0 0 0
= 0 1 1 1 1
= 0 1 0 0 0
= 0 1 0 0 0
ll-6
2.2.2 Citra Warna
Setiap pixel pada citra yang terdiri dari tiga warna dasar yakni Red, Green,
Blue (RGB). Kedalaman pixel citra yang digunakan mempengaruhi banyaknya
warna yang digunakan. Setiap warna dasar menggunakan penyimpanan sebanyak
8 bit = 1 byte, yang mempunyai kombinasi warna yang sangat banyak. Jadi satu
pixel pada citra warna terdiri dari 3 byte. Citra warna dapat dilihat pada gambar
berikut.
1. Pengolahan Citra
Pengolahan Citra (Image Processing) merupakan bidang yang
berhubungan dengan proses perubahan pada citra agar mendapatkan
kualitas citra yang lebih baik.
2. Pengenalan Pola
Pengenalan Pola (Pattern Recognition) merupakan bidang yang
berhubungan dengan proses identifikasi objek pada citra, yang bertujuan
untuk mendapatkan informasi yang disampaikan oleh citra.
ll-7
Gambar ini menampilkan relasi antara computer vision dengan bidang
riset lainya:
ll-8
2.5 Isyarat Tangan
Isyarat tangan digunakan untuk berkomunikasi tanpa berbicara hanya
mengandalkan gerakan dan bentuk jari tangan (Branson, 1996). Isyarat yang
digunakan pada penelitian ini adalah isyarat tangan kiri dan menggunakan pola
isyarat bilangan yang biasa digunakan sehari-hari seperti 1, 2, 3, 4, 5, 6, 7 . contoh
isyarat tangan bilangan dapat dilihat dibawah ini.
ll-9
2.6.1 Hardware: Arduino Uno (ATMega328)
Robot vision yang dijadikan sebagai media penelitian ini menggunakan
papan mikrokontroler Arduino Uno yang berbasis ATMega328. Berikut spesifikasi
dari Arduino Uno (Kadir, 2012):
2 kb 32 RAM
RAM (progra
(memor m)
1 kb
i kerja) CPU
EEPRO
M
Port input/output
Gambar 2.16 Blok diagram Arduino
ll-10
2.6.2 Software: IDE Arduino 1.6.0
IDE Arduino terdiri dari editor program, compiler, dan uploader. Editor
program berfungsi sebagai tempat bagi pengguna untuk menulis dan mengedit
program karena mikrokontroler hanya memahami kode biner, maka diperlukan
compiler untuk mengubah kode program menjadi kode biner.
2.7 Android
Android adalah sebuah sistem operasi pada handphone yang bersifat
terbuka dan berbasis pada sistem operasi Linux (Safaat H, 2012). Pada awalnya
Android dikembangkan oleh sebuah perusahaan startup yang bernama Android,
Inc. Pada tahun 2005 Android diakusisi oleh Google. Dan Google ingin Android
untuk terbuka dan gratis (opensource). Oleh karena itu, setiap orang dapat
menggunakan dan mengembangkan Android dengan mengunduh source code
Android secara lengkap.
Beberapa versi Android sampai saat ini dapat dilihat pada Tabel 2.2 berikut:
ll-11
2.2 Froyo 8 0.1%
2.3.3 - 2.3.7 Gingerbread 10 1.7%
4.0.3 - 4.0.4 Ice Cream Sandwich 15 1.6%
4.1.x Jelly Bean 16 6.0%
4.2.x Jelly Bean 17 8.3%
4.3 Jelly Bean 18 2.4%
4.4 KitKat 19 29.2%
5.0 Lollipop 21 14.1%
5.1 Lollipop 22 21.4%
6.0 Marshmallow 23 15.2%
Sumber : https://developer.android.com/about/dashboards/versi-platform
ll-12
Gambar 2.18 Arsitektur Platform Android
Sumber : https://developer.android.com/guide/arsitektur-platform
1. Linux Kernel. Fondasi platform Android adalah kernel Linux. Pada layer
ini mengandung driver untuk komponen hardware seperti kamera,
bluetooth, wifi dan audio dari perangkat smartphone Android.
ll-13
2. Hardware Abstraction Layer (HAL) merupakan modul hardware. Ketika
API berkeja mengakses kamera , maka sistem android akan memuat
modul untuk hardware tersebut.
3. Android runtime pada layer yang sama dengan libraries, Android runtime
menyediakan sekumpulan library inti yang memungkinkan para
pengembang untuk menulis atau membuat aplikasi Android menggunakan
bahasa pemrograman Java. Android runtime juga berisi 24 Dalvik virtual
machine, yang memungkinkan setiap aplikasi Android untuk berjalan
dalam prosesnya sendiri. Dalvik adalah mesin Android dan dioptimasikan
untuk perangkat mobile bertenaga baterai dengan keterbatasan memory
dan CPU.
4. Native C/C++ Libraries pada layer ini mengandung seluruh source code
yang merupakan fitur utama sistem OS Android. Contoh WebKit library
yang menyediakan fungsi untuk web browsing. SQLite library
menyediakan layanan database sehingga aplikasi dapat menyimpanan data.
5. Java API Framework membuka berbagai kemampuan dari sistem operasi
Android untuk para pengembang sehingga mereka dapat menggunakannya
dalam aplikasi mereka.
6. System Apps Pada layer atas ini, kita dapat menemukan aplikasi umum
pada perangkat Android yaitu seperti Phone, Contacts, Browser dan juga
aplikasi yang telah diunduh dan dipasang dari Playstore.
2.8 OpenCV
Opensouce Computer Vision (OpenCV) pada penelitan ini sebagai
pengenalan isyarat tangan menggunaka metode Support Vector Machine (SVM).
Library OpenCV telah memiliki lebih dari 2500 algoritma yang sudah teroptimasi.
Algoritma ini bisa digunakan untuk mendeteksi dan mengenal wajah,
mengidentifikasi objek, mengklasifikasi tindakan manusia, melacak pergerakan
objek, mengekstraksi model 3D dari objek, memproduksi poin 3D dari stereo
camera, mencari gambar yang sama dari database gambar, mengikuti pergerakan
mata, dan pengenalan pola isyarat tangan.
ll-14
2.9 Support Vector Machine (SVM)
Vapnik pada tahun 1992 pertama kali dikenalkan sebagai gabungan
konsep-konsep unggulan dalam metode pattren recognition. SVM merupakan
metode pattren recognition yang masih baru. Namun, kemampuanya dalam
berbagai aplikasinya menempatkan pilihan yang pertama dalam pattren
recognition.
SVM adalah metode machine learning yang bekerja atas prinsip Structural
Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbaik yang
memisahkan dua buah class pada input space. Untuk mengetahui didalam citra
tersebut terdapat manusia atau tidak, digunakan SVM classifier untuk
memisahkan human dan nonhuman. Pada SVM classifier dan algoritma
klasifikasi yang berusaha memisahkan sebuah hyperlane optimal (Shawe-Taylor
& Cristianini, 2000).
W . X +b=0
ll-15
(Nuswantoro, 2013). Jika berdasarkan pada atribut A1, A2 dengan permisalan
tupel pelatihan X = (x1, x2), x1 dan x2 merupakan nilai dari atribut A1 dan A2,
dan jika b dianggap sebagai suatu bobot tambahan w 0, maka persamaan suatu
hyperplane pemisah dapat ditulis ulang sebagai berikut.
w 0+ w1 x1 + w2 x 2
w 0+w1 x1 + w2 x 2 >0
w 0+w1 x1 + w2 x 2 <0
H 1 : w0 +w 1 x 1+ w2 x 2 1untuk y i =+ 1
ll-16
H 2 : w0 +w 1 x 1+ w2 x 2 1 untuk y i=1
1
d ( X T )= y i i X i X T + b0
i=1
1n
1
min W 2+C 1
2 i=1
x i w +b +1 1 untuk y i=+1
x i w +b 1+ 1 untuk y i=+1
ll-17
Algoritma 2.8 Margin pembatas
Garis solid pada gambar 1-b menunjukkan hyperplane yang terbaik, yaitu
yang terletak tepat pada tengah-tengah kedua class, sedangkan titik merah dan
kuning yang berada dalam lingkaran hitam adalah support vector. Usaha untuk
mencari lokasi hyperplane ini merupakan inti dari proses pembelajaran pada
SVM.
ll-18
solusi pattern recognition pada umumnya, yang melakukan optimisasi
parameter pada ruang hasil transformasi yang berdimensi lebih rendah
daripada dimensi input space.
3. Menerapkan strategi Structural Risk Minimization (SRM).
4. Prinsip kerja SVM pada dasarnya hanya mampu menangani klasifikasi dua
kelas.
1. Sulit dipakai problem berskala besar. Dalam hal ini dimaksudkan dengan
jumlah sampel yang diolah.
2. SVM secara teoritik dikembangkan untuk problem klasifikasi dengan dua
kelas. Dewasa ini SVM telah dimodifikasi agar dapat menyelesaikan
masalah dengan lebih dari dua kelas.
ll-19
Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan
bahwa Unified Modelling Language (UML) adalah sebuah bahasa yang
berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan,
membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat
lunak berbasis Objek (Object Oriented programming).
ll-20
3. Generalizations, hubungan khusus dalam objek anak yang
menggantikan objek induk dan memberikan pengaruhnya dalam hal
struktur dan tingkah lakunya kepada objek induk
4. Realizations, hubungan semantik antar pengelompokkan yang
menjamin adanya ikatan diantaranya yang diwujudkan diantara
interface dan kelas atau elements, serta antara use cases dan
collaborations.
ll-21
Package diagram utamanya digunakan untuk mengelompokkan elemen
diagram UML yang berlainan secara bersama-sama ke dalam tingkat
pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket
pada dasarnya adalah diagram kelas yang hanya menampilkan paket,
disamping kelas, dan hubungan ketergantungan, disamping hubungan khas
yang ditampilkan pada diagram kelas.
4. Statechart Diagram
Statechart diagram digunakan untuk memodelkan perilaku dinamis satu
kelas atau objek. Statechart diagram memperlihatkan urutan keadaan
sesaat (state) yang dilalui sebuah objek, kejadian yang menyebabkan
sebuah transisi dari suatu state atau aktivitas kepada yang lainnya.
Statechart diagram khusus digunakan untuk memodelkan tahap-tahap
diskrit dari sebuah siklus hidup objek, sedangkan Activity diagram paling
cocok untuk memodelkan urutan aktifitas dalam suatu proses.
5. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan
urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap
demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai
dengan use case diagram.
6. Class diagram
Diagram kelas, memberikan pandangan secara luas dari suatu sistem
dengan menunjukan kelaskelasnya dan hubungan mereka. Diagram Class
mempunyai 3 macam relationalships (hubungan), sebagai berikut:
A. Association, suatu hubungan antara bagian dari dua kelas yang terjadi
jika salah satu bagian dari kelas mengetahui kelas yang lain dalam
melakukan suatu kegiatan..
B. Aggregation, hubungan association dimana salah satu kelasnya
merupakan bagian dari suatu kumpulan dan memiliki titik pusat yang
mencakup keseluruhan bagian.
C. Generalization, hubungan turunan dengan mengasumsikan satu kelas
merupakan suatu kelas super dari kelas yang lain.
7. Collaboration Diagram
ll-22
Collaboration diagram menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekankan pada peran masing-masing
objek. Setiap message memiliki sequence number, dimana message dari
level tertinggi memiliki Nomor 1. Diagram membawa informasi yang
sama dengan diagram Sequence, tetapi lebih memusatkan atau
memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
8. Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur
internal classifier, termasuk poin interaksinya ke bagian lain dari system.
Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-
sama melakukan perilaku classifier. Diagram struktur komposit merupakan
jenis diagram struktur yang statis dalam UML, yang menggambarkan
struktur internal kelas dan kolaborasi.
Struktur komposit dapat digunakan untuk menjelaskan:
A. Struktur dari bagian-bagian yang saling berkaitan;
B. Run-time struktur yang saling berhubungan.
9. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam
sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-
perintah dari pada class, object diagram lebih sering disebut
sebagai sebuah diagram perintah.
10. Timing Diagram
Timing Diagram adalah bentuk lain dari interaction diagram, dimana focus
utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam
menunjukkan factor pembatas waktu diantara perubahan state pada objek
yang berbeda.
11. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat
digunakan untuk menggambarkan distribusi fisik dari modul perangkat
lunak melalui jaringan. Misalnya, ketika merancang sistem client-server,
hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan
berada pada node klien dan mana yang akan berada di server.
ll-23
Diagram komponen juga dapat berguna dalam merancang dan
mengembangkan sistem berbasis komponen. Karena berfokus pada
analisis sistem berorientasi objek dan desain.
12. Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di
deploy dalam infrastruktur system, dimana komponen akan terletak (pada
mesin, server atau piranti keras), bagaimana kemampuan jaringan pada
lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.
13. Interaction Overview Diagram
Interaction Overview Diagram adalah penggabungan antara activity
diagram dengan sequence diagram. Interaction Overview Diagram dapat
dianggap sebagai activity diagram dimana semua aktivitas diganti dengan
sedikit sequence diagram, atau bisa juga dianggap sebagai sequence
diagram yang dirincikan dengan notasi activity diagram yang digunakan
untuk menunjukkan aliran pengawasan.
2.11 Java
Java merupakan bahasa pemrograman berorientasi objek yang bersifat
open source dan bisa dijalankan di berbagai platform. Java mengadopsi sintaks
dari bahasa C dan C++. Setiap program yang ditulis dengan bahasa Java awalnya
dikompilasi menjadi sebuah kode objek yang disebut bytecode. Hasil dari
bytecode adalah file berekstensi *.class, selanjutnya file *.class tersebut akan
diterjemahkan baris demi baris (interpreter).
Dalam terminologi Java terdapat istilah write once, run anywhere. Ini
berarti bahwa sekali menulis program Java dan melakukan kompilasi terhadap
program Java tersebut, maka bytecodenya bisa dijalankan di dalam platform
manapun selama platform tersebut terdapat Java Virtual Machine (JVM) (Kadir,
2012).
ll-24
2.12 Penelitian Sebelumnya
Terdapat beberapa penetian sebelumnya yang melakukan penelitian
tentang robot vision dan pengenalan pola tangan (hand recognition) adalah
(Kaura, 2013) Gesture Controlled Robot using Image Processing, pada penelitian
tersebut dirancang robot pelayan (service robot) yang dikendalikan menggunakan
penggenalan pola isyarat tangan, agar interaksi lebih alami dan mudah. Robot
yang dirancang diberi kamera dan modul wifi untuk mengirim gambar ke PC
setelah diproses perintah akan dikirim kembali ke robot agar robot bergerak sesuai
dengan perintah. Hasil dari penelitian tersebut robot dapat mengenali isyarat
tangan, namun karna pengiriman tersebut dikirim secara real-time pengiriman
gambar sering tergangu dan terkadang terjadi overload.
Penelitian selanjutnya dilakukan oleh (Nasser, 2011) Real-Time Hand
Gesture Detection and Recognition Using Bag-of-Features and Support Vector
Machine (SVM) Techniques. Penelitian tersebut melakukan pengenalan pola
isyarat tangan secara real-time dengan metode pengenalan SVM. Penelitian
tersebut membandingkan akurasi dan kecatan dengan input citra dan ukuran yang
berbeda. Didapatkan hasil akurasi 96,23% dengan ukuran input data latih 50x50
pixel yang berisi data isyarat tangan saja dengan backgorund tembok berwarna
putih.
Penelitian lainya dilaukan oleh (Sayyid, 2015) Kontrol Mobil Robot
Menggunakan Hand Gesture Recognition Dengan Metode Adaptive Neuro-Fuzzy
Interference System (ANFIS). Robot dikontrol dengan pengenalan isyarat tangan
angka satu untuk maju, dua untuk mundur, tiga umtuk belok kiri, empat untuk
belok kanan dan lima stop. Hasil penelitian tersebut robot berhasil dikontrol
dengan pengenalan isyarat tangan dengan rata-rata error 13,3%.
Selanjutnya penelitian survei yang dilakukan oleh (Hasan, 2013) Vision
based hand gesture recognition for human computer interaction: a survey.
Diketahui bahwa tangan adalah media pengenalan yang banyak dipilih pada
penelitian sebelumnya, dibandingkan bagian tubuh lainya dan juga pengenalan
tangan statik atau tidak bergerak mayoritas menggunakan SVM sebagai metode
pengenalan citranya.
ll-25
Penelitian sebelumnya dalam bidang robotik pada jurusan Teknik
Informatika UIN SUSKA Riau dilakukan oleh (Musridho, 2014) dengan judul
analisa performa algoritma line maze solving pada jalur lengkung dan zig-zag.
ll-26
BAB
METODOLOGI PENELITIAN
Metodologi penelitian menjelaskan bagaimana langkah-langkah yang akan
dilakukan pada penelitian agar penelitian dapat berjalan sesuai prosedur dan dapat
mencapai tujuan dengan hasil yang baik. Adapun tahapan-tahapan dari penelitian
ini dapat dilihat pada gambar di bawah ini:
-1
3.1 Identifikasi Masalah
Pada tahap identifikasi masalah penulis mencari dan memahami masalah
tentang robot vision. Pada tahap awal ini sebelum melakukan penelitian penulis
harus mengetahui permasalahan pada penelitian sebelumnya dan dalam ke
hidupan sehari-hari. Pada penelitian sebelumnya vision pada robot untuk
mengendalikan robot dengan pengenalan tangan, terdapat beberapa metode dalam
implementasinya seperti SVM dan Neuro-Fuzzy. Menurut survey dan penelitian
metode SVM merupakan pilihan yang tepat untuk mengenali citra tangan karna
memiliki nilai akurasi yang tinggi 96,23% dibandingkan Neuro-Fuzzy 86,7%.
Penetian sebelumnya juga memisahkan antara vision, robot dan media pengenalan
citra. Sehingga komunikasi antar komponen sering tergangu dan memiliki jarak
yang terbatas. Penulis ingin membuktikan metode tersebut dengan sistem robot
yang lebih baik apakah dapat mengenali isyarat tangan dengan kondisi yang
berbeda-beda. Maka penulis merumuskan untuk melakukan penelitian dengan
judul Rancang Bangun Kendali Robot Vision Menggunakan Isyarat Tangan
Berbasis Smartphone Android Dengan Metode Support Vector Machine
(SVM).
-2
3.4 Implementasi dan Pengujian
Pada tahap ini dilakukan implementasi pembuatan robot sesuai dengan
rancangan robot. komponen dirakit mulai dari perancangan mekanik, rangkaian
elektronik hingga power supply robot dan aplikasi dibuat sesuai perancangan
untuk kendali robot menggunakan bahasa isyarat diprogram menggunakan
OpenCV Android dengan metode algoritma Support Vector Machine (SVM).
-3
BAB
1. Sasis robot
Komponen sasis robot terdiri dari bodi yang berfungsi sebagai base robot.
Bodi tersebut berbahan dasar acrylic yang kuat dan mudah dibentuk dan
akuator robot menggunakan dua roda motor gearbox berfungsi sebagai
penggerak robot dan 1 roda pembantu serta holder smartphone.
-1
Gambar 4.24 Arduino UNO
3. Modul driver motor L298
Berfungi sebagai penguat daya gerak motor gearbox. Modul ini dapat
mengatur kecepatan dan gerak motor. Fungsi pin-pin yang digunakan pada
modul driver motor L298 adalah sebagai berikut:
1. Input ina1 dan ina2 untuk mengatur kecepatan motor.
2. Input in1, in2, in3, in4 untuk mengatur gerak motor gearbox
3. Power 12v (+), ground (-), 5v (+).
Output 2 dan output 3 terhubung ke motor gearbox
-2
Berfungsi untuk menjalankan aplikasi pengenalan citra yang didukung
perangkat smartphone tersebut seperti kamera VGA, prosesor dual core
1.30 GHz , RAM 1GB, memori internal 4GB, bluetooth 2.0 dan batrai
1.900mAh. kamera digunakan untuk mengambil gambar secara real-time,
memori digunakan untuk menyimpan data latih dan bluetooth yang
digunakan untuk mengirim data ke robot.
-3
Gambar 4.29 Perintah Isyarat Tangan
1. Proses pelatihan
Flowchart diagram proses pelatihan dapat dilihat pada gambar 4.8.
-4
Proses pelatihan dimulai dengan menginputkan citra background dengan citra
tangan selanjutnya disegmentasi memisahkan cita tangan dan background untuk
hand tracking dan croping. Selanjutnya dilakukan pelatihan bedasarkan model
SVM, citra isyarat diinputkan dan disimpan bersamaan dengan data pelatihan dan
data model SVM.
2. Proses pengujian
Flowchart diagram proses pengujian dapat dilihat pada gambar 4.9.
-5
4.1.3 Analisa Fungsional Aplikasi Pengenalan Citra
Sub bab ini menjelaskan tentang perancangan aplikasi pengenalan citra isyarat
tangan yang akan dibuat menggunakan UML (Unified Modelling Language) yang
meliputi Use Case Diagram, Sequence Diagram, Activity Diagram dan Sequence
Diagram.
1. Usecase diagram
Usecase diagram aplikasi pengenalan citra isyarat tangan dapat dilihat
pada gambar 4.10.
Use case diagram rancang bangun aplikasi pengenalan isyarat tangan pada
gambar diatas terdiri dari satu aktor yaitu pengguna. Pengguna dapat
mengakses modul pelatihan dan pengujian.
2. Usecase spesification
Pada tabel berikut menjelaskan tentang usecase pelatihan.
-6
6. Pengguna menginputkan isyarat yang dinginkan dengan
memilih button tambah isyarat.
7. Aplikasi akan menampilkan pesan konfirmasi
penambahan data latih dimulai dari data atau isyarat 1.
8. Aplikasi menampilkan pesan data berhasil disimpan
9. Pengguna memilih tombol latih untuk membuat model
SVM bedasarkan data latih yang telah diinputkan.
10. Pengguna dapat melihat data latih dengan memilih menu
lihat data latih.
Alternative -
scenario
-7
3. Activity diagram : Pelatihan
Diagram aktivitas (activity diagram) merupakan aliran fungsional sebuah
proses dalam kendali robot vision. Berikut ini akan dijelaskan activity
diagram proses-proses yang ada pada kendali robot vision menggunakan
isyarat tangan.
-8
Gambar 4.34 Activity diagram pelatiahan
-9
Gambar 4.35 Sequence diagram pelatihan
-10
7. Class diagram
Pada gambar berikut menjelaskan class diagram.
Keterangan dari class diagram dapat dilihat pada tabel beikut di bawah ini.
8. Deploy diagram
Pada gambar berikut menjelaskan deploy diagram.
-11
Gambar 4.39 Pengendalian robot vision
-12
1
IF (Bluetooth == 1){
Diam
Void diam( );
2
IF (Bluetooth == 2){
Maju
Void maju( );
3
IF (Bluetooth == 3){
Mundur
Void mundur( );
4
IF (Bluetooth == 4){
Kanan
Void kanan( );
5
IF (Bluetooth == 5){
Kiri
Void kiri( );
6
IF (Bluetooth == 6){
Putar
kanan Void putarkanan( );}
-13
7
IF (Bluetooth == 7){
Putar
kiri Void putarkiri( );
-14
Ketika user menambahkan data citra isyarat tangan, maka data isyarat
yang diperoleh dari ektrasi fitur akan disimpan pada train.txt data tersebut
merupakan data mentah train set, yang selanjutnya dilatih menjadi data model
SVM dan disimpan pada model.txt, data tersebut adalah hasil dari klasifikasi yang
dapat melakukan prediksi. Ketika user melakukan pengujian maka aplikasi akan
melakukan prediksi hasil ekstrasi fitur dengan data latih model.txt jika berhasil
mengenali maka akan didapatkan hasil label isyarat tangan yang diujikan.
-15
Batrai yang digambarkan sama seperti komponen powerbank dengan
voltase 5v. Pin-pin Arduino UNO yang digunakan adalah:
1. Pin digital 2,3,4,5 dan digital pwm 11,6 sebagai output terhubung ke pin
driver motor IN1, IN2, IN3, IN4 dan EN1, EN2 yang digunakan untuk
mengendalikan motor.
2. Pin 9,10 terhubung ke modul bluetooth sebagai reciver penerima data dari
smartphone Android.
3. Pin 5v (+), 3v (+) dan ground (-) sebagai power modul yang terhubung
4. Pin driver motor OUT1 dan OUT2 terhubung ke motor gearbox.
5. Pin bluetooth tx ke pin 10 Arduino dan rx ke pin 9 Arduino
6. Pin driver motor 12v(+) dan (-) terhubung ke powerbank.
Pada disain tampak depan akan terlihat posisi dari smartphone Android
yang menempel pada holder dan terdapat 1 roda pembantu dibagian
depan.
-16
2. Disain robot tampak samping
Berikut ini merupakan rancangan disain robot tampak dari samping:
Pada disain tampak samping akan terlihat jarak posisi antar komponen
yang digunakan dan tebal dari bodi yang didalamya dapat disisipkan
powerbank sebagai power supply robot.
Pada disain robot tampak atas akan terlihat seluruh komponen yang
digunakan terdapat motor driver berwarna merah, bluetooth berwarna biru
dan Arduino.
-17
tampilan menu-menu yang mudah dimengerti. Berikut ini akan dijelaskan
interface proses utama dalam rancang bangun aplikasi pengenalan isyarat tangan.
2. Deteksi background
Rancangan tampilan deteksi latar belakang yang merupakan tangkapan
hasil kamera yang ditampilkan dan terdapat kotak sample sebagai
pendekteksi sempel warna background.
3. Deteksi tangan
Rancangan tampilan dekteksi tangan sama dengan sebelumnya yang
menampilkan tangkapan kamera namun kotak lebih kecil karna untuk
mendeteksi warna kulit yang ditangkap kamera sesuai dengan kotak
sample.
-18
4. Segmentasi
Rancangan tampilan segmentasi yang memisahkan citra background
dengan isyarat tangan.
-19
BAB V
1. Spesifikasi PC
Tabel 5.1 menjelaskan spesifikasi hardware pada personal computer (PC)
yang digunakan.
Tabel 5.7 Spesifikasi hardware PC
V-1
OS Windows 10 Pro 64-bit
3. Spesifikasi Software
Tabel 5.3 menjelaskan software yang digunakan dalam penelitian ini.
Tabel 5.9 Spesifikasi Software
Aplikasi yang Android Studio 2.2.2 dan Arduino IDE 1.8.0 5.1.3
digunakan
Hasil
Bahasa Java dan C Arduino
Pemograman
Implementasi
Tahapan ini adalah hasil implementasi bedasarkan analisa dan
perancangan pada bab sebelumnya. Hasil implementasi tersebut adalah robot
berserta program dan aplikasi vision Android yang telah dibangun.
5.1.3.1 Robot
Robot diimplementasikan atau dibagun bedasarkan perancangan
rangkaian dan disain. Pada tabel berikut dijelaskan spesifikasi robot yang
berhasil dibangun.
V-2
Tabel 5.10 Spesifikasi hasil implementasi robot.
Dimensi a. Panjang 23 cm
b. Lebar 15cm
c. Tinggi 14 cm
Berat 795 gram
Live time +/- 45 menit
Jenis Robot Beroda 2
Mikrokontroller Arduino UNO
Komunikasi Bluetooth
Perangkat
V-3
Gambar 5.0.52 Robot tampak samping
V-4
//9=TX, 10=RX
SoftwareSerial bluetooth (9, 10);
String data;
// Driver motor roda A
int enA = 11;
int in1 = 2;
int in2 = 3;
//Driver motor roda B
int enB = 6;
int in3 = 4;
int in4 = 5;
int kecepatan = 255;
Pin 10 untuk menerima bluetooth data dan pin 9 untuk mengirim data
namun pin ini tidak digunakan karena tidak ada data yang dikirim oleh
Arduino. Variabel kecepatan terhubung pad pin enA dan enB. Range
variabel kecepatan robot adalah 0-255, kecepatan pada robot juga
tergantung pada voltase dan kemampuan motor yang digunakan.
V-5
Pin in1 dan in2 untuk mengendalikan motor A. Pin in3 dan in4 untuk
mengendalikan motor B. Fungsi begin adalah membaca data perintah yang
dikirim dari smartphone android dapat dibaca oleh Arduino UNO.
V-6
void kanan( ){
digitalWrite(in1, LOW); // motor A
digitalWrite(in2, LOW);
analogWrite(enA, kecepatan);
digitalWrite(in3, HIGH); // motor B
digitalWrite(in4, LOW);
analogWrite(enB, kecepatan); }
void diam( ){
digitalWrite(in1, LOW); // motor A
digitalWrite(in2, LOW);
analogWrite(enA, kecepatan);
digitalWrite(in3, LOW); // motor B
digitalWrite(in4, LOW);
analogWrite(enB, kecepatan); }
void putkiri( ){
digitalWrite(in1, HIGH); // motor A
digitalWrite(in2, LOW);
analogWrite(enA, kecepatan);
digitalWrite(in3, LOW);// motor B
digitalWrite(in4, HIGH);
analogWrite(enB, kecepatan);}
void putkanan( ){
digitalWrite(in1, LOW); // motor A
digitalWrite(in2, HIGH);
analogWrite(enA, kecepatan);
digitalWrite(in3, HIGH); // motor B
digitalWrite(in4, LOW);
analogWrite(enB, kecepatan);}
Class tersebut dapat dipanggil sesuai dengan kebutuhan, terdiri dari maju,
mundur, kanan, kiri, putar kanan, putar kiri dan diam. Pada class tersebut
terdapat perintah untuk mejalankan pin untuk menggerkan roda A dan roda
V-7
B serta mengatur PWM kecepatan. Berikut kelanjutan program class
gerakan robot.
V-8
Void loop digunakan untuk menjalankan program atau algoritma.
Data dari bluetooth yang diterima selanjunya diproses untuk
menggerakan robot.
V-9
Setelah memilih ukuran resolusi gambar maka selanjutnya
menginputkan citra background terdapat 7 kotak berwarna biru yang akan
mendeteksi dan menngambil sample warna dari background yang
diinputkan.
V-10
Gambar 5.0.57 Segmentasi citra ke biner
6. Ekstrasi fitur SVM
Garis hijau adalah hand tracking yang menentukan posisi tangan,
Garis merah merupakan bentuk dari tangan, bulatan kuning menentukan
telapak tangan dengan pusat titik berwarna hitam dan garis hijau tua
adalah vektor jari tangan yang dilabel dengan urutan angka.
Pada dasarnya vektorlah yang bekerja namun fungsi tambahan
untuk menentukan cropping yang sudah didapatkan saat segmentasi vektor
didekteksi bedasarkan tingkat kedalaman yang tidak terdeteksi selanjutnya
akan dieleminasi sesuai dengan jari yang terdeteksi.
V-11
Gambar 5.0.59 Tambah data latih
V-12
9. Lihat data latih
Dengan menekan tombol lihat data latih pada menu slidebar maka
akan muncul seluruh data latih yang telah diinputkan. Dapat dilihat pada
gambar berikut.
V-13
2 Maju
3 Mundur
4 Kanan
5 Kiri
6 Putar Kanan
7 Putar Kiri
V-14
1. Input background. Menampilkan 7 kotak pada image, kotak tersebut
merupakan area deteksi untuk mengambil sample warna pada background.
void deteksiback(Mat img){
squareLen = rows/20;
samplePoints[0][0].x = cols/6;
samplePoints[0][0].y = rows/3;
samplePoints[1][0].x = cols/6;
samplePoints[1][0].y = rows*2/3;
samplePoints[2][0].x = cols/2;
samplePoints[2][0].y = rows/6;
samplePoints[3][0].x = cols/2;
samplePoints[3][0].y = rows/2;
samplePoints[4][0].x = cols/2;
samplePoints[4][0].y = rows*5/6;
samplePoints[5][0].x = cols*5/6;
samplePoints[5][0].y = rows/3;
samplePoints[6][0].x = cols*5/6;
samplePoints[6][0].y = rows*2/3;
samplePoints[i][1].x = samplePoints[i][0].x+squareLen;
samplePoints[i][1].y = samplePoints[i][0].y+squareLen;}
V-15
void deteksitangan(Mat img){
squareLen = rows/20;
samplePoints[0][0].x = cols/2;
samplePoints[0][0].y = rows/4;
samplePoints[1][0].x = cols*5/12;
samplePoints[1][0].y = rows*5/12;
samplePoints[2][0].x = cols*7/12;
samplePoints[2][0].y = rows*5/12;
samplePoints[3][0].x = cols/2;
samplePoints[3][0].y = rows*7/12;
samplePoints[4][0].x = cols/1.5;
samplePoints[4][0].y = rows*7/12;
samplePoints[5][0].x = cols*4/9;
samplePoints[5][0].y = rows*3/4;
samplePoints[6][0].x = cols*5/9;
samplePoints[6][0].y = rows*3/4;
samplePoints[i][1].x = samplePoints[i][0].x+squareLen;
samplePoints[i][1].y = samplePoints[i][0].y+squareLen;}
avgColor[i][j] = (interMat.get((int)(samplePoints[i]
[0].y+squareLen/2), (int)(samplePoints[i]
[0].x+squareLen/2)))[j];}
V-16
3. Segmentasi. Pada langkah ini citra dibinerkan untuk mempermudah
deteksi tangan. Warna cita tangan menjadi putih dan cita background
menjadi hitam.
void segmentasibin(Mat imgIn, Mat imgOut){
int boxExtension = 0;
boundariesCorrection();
binTmpMat.copyTo(tmpMat);
binTmpMat.copyTo(imgOut);
adjustBoundingBox(roiRect, binTmpMat);
if (roiRect!=null) {
imgOut.setTo(Scalar.all(0));
roi1.copyTo(roi3);
Mat element =
Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size(3,
3));
V-17
4. Ekstrasi fitur. Citra tangan yang telah disegmentasi selanjutnya dideteksi
untuk melakukan pelabelan pola pada jari tangan.
Void ekstrasifitur(){
hg.contours.clear();
hg.findBiggestContour();
hg.approxContour.fromList(hg.contours.get(hg.cMaxId).toList());
hg.contours.get(hg.cMaxId).fromList(hg.approxContour.toList());
hg.findInscribedCircle(rgbaMat);
hg.boundingRect = Imgproc.boundingRect(hg.contours.get(hg.cMaxId));
hg.hullP.clear();
hg.hullP.add(new MatOfPoint());
lp.add(contourPts[cId[i]]);}
hg.hullP.get(hg.cMaxId).fromList(lp);
lp.clear();
hg.fingerTips.clear();
hg.defectPoints.clear();
hg.defectPointsOrdered.clear();
hg.fingerTipsOrdered.clear();
hg.defectIdAfter.clear();
if ((contourPts.length >= 5)
Imgproc.convexityDefects(hg.contours.get(hg.cMaxId),
hg.hullI, hg.defects);
V-18
for (int i = 0; i < dList.size(); i++){
int id = i % 4;
Point curPoint;
if (id == 2) {
curPoint = contourPts[dList.get(i)];
&&(!isClosedToBoundary(curPoint1, rgbaMat))){
hg.defectIdAfter.add((i));
curPoint0.y-hg.inCircle.y);
curPoint1.y - hg.inCircle.y);
if (hg.fingerTipsOrdered.size() == 0) {
hg.fingerTipsOrdered.put(finAngle0, curPoint0);
hg.fingerTipsOrdered.put(finAngle1, curPoint1);
} else {
hg.fingerTipsOrdered.put(finAngle0, curPoint0);
hg.fingerTipsOrdered.put(finAngle1, curPoint1);
}}}}}}
if (hg.detectIsHand(rgbaMat)) {
V-19
5. Tambah isyarat, data latih dan data model SVM. Berfungsi menambahkan
data latih dalam format gambar .jpg, data ekstrasi fitur txt dan model
SVM.
private void train() {
int kernelType = 2;
int cost = 4;
int isProb = 0;
modelFileLoc) == -1) {
finish();}
int maxLabel = 0;
if (dotId > 0) {
if (extName.equals("jpg")) {
maxLabel = curName;}}}
curLabel = maxLabel;
curMaxLabel = curLabel;
Program 5.11 Tambah isyarat, data latih dan data model SVM
V-20
6. Berikut ini adalah program kendali robot yang dijalankan saat pengujian
isyarat tangan telah terdeteksi, selanjutnya akan ditampilkan hasil pada
layar dan juga perintah dikirim ke robot menggunakan bluetooth.
if (mode == TEST_MODE) {
if (returnedLabel[0] == 1 ){
sendData("1");}
if (returnedLabel[0] == 2 ){
sendData("2");}
if (returnedLabel[0] == 3 ){
sendData("3");}
if (returnedLabel[0] == 4 ){
sendData("4");}
if (returnedLabel[0] == 5 ){
sendData("5");}
if (returnedLabel[0] == 6 ){
sendData("6");}
if (returnedLabel[0] == 7 ){
sendData("7");}}
5.2 Pengujian
Setelah dilakukan proses implementasi maka dilanjutkan dengan
proses pengujian dari implementasi yang telah dibuat. Pada tahap ini akan
dilihat sejauh mana kendali robot vision dapat berjalan sesuai dengan
analisa dan perancangan yang diinginkan.
V-21
1. Skenario pengujian 1 : Resolusi, FPS dan jarak.
Kendali robot vision dengan isyarat tangan kiri diuji menggunakan
resolusi ,fps dan juga megukur jarak antara isyarat tangan dengan kamera.
2. Skenario pengujian 2 : Kamera depan dan belakang.
Kendali robot vision dengan menggunakan isyarat tangan kiri, resolusi
kamera 176 x 144, jarak tangan dengan kamera 15-30cm dan diuji
menggunakan kamera depan dan belakang smartphone Android.
3. Skenario pengujian 3 : Latarbelakang dan intensitas.
Kendali robot vision dengan menggunakan isyarat tangan kiri, kamera
depan, resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm
dan diuji menggunakan latarbelakang dan intensitas cahaya yang berbeda.
4. Skenario pengujian 4 : Isyarat Tangan.
Kendali robot vision dengan menggunakan isyarat tangan kiri, kamera
depan, resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm,
latarbelakang dinding, insensitas cahaya terang-gelap 10.000-201 lux dan
diuji menggunakan isyarat tangan yang berbeda.
5. Skenario pengujian 5 : Smartphone Android.
Kendali robot vision dengan menggunakan isyarat tangan kiri, kamera
depan, resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm,
latarbelakang dinding, insensitas cahaya terang-gelap 10.000-201 lux,
isyarat lainya dan diuji menggunakan smartphone Android yang berbeda
spesifikasi.
6. Skenario pengujian 6 : Kondisi smartphone Android terpasang pada robot.
Kendali robot vision dengan menggunakan isyarat tangan kiri, kamera
depan, resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm,
latarbelakang dinding, insensitas cahaya terang-gelap 10.000-201 lux,
isyarat lain dan diuji dengan kondisi smartphone Android terpasang pada
robot.
7. Skenario pengujian 7 : Kondisi Smartphone Android terpisah pada robot.
Kendali robot vision dengan menggunakan isyarat tangan kiri, kamera
depan, resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm,
latarbelakang dinding, insensitas cahaya terang-gelap 10.000-201 lux,
isyarat lain dan diuji dengan kondisi smartphone Android terpisah pada
robot.
8. Sekenario pengujian akhir. Robot diuji bedasarkan hasil terbaik dari
skenario pengujian 1 sampai 7 dan diukur untuk mendapatkan nilai
V-22
akurasi. Akurasi diukur menggunakan rumus (Junker, 2002) untuk
menghitung presentase akurasi:
V-23
Gambar 5.63 Mengukur respons time
1. Pengujian-1 resolusi 176 x 144, 10fps dengan jarak berbeda
Pengujian dilakukan dengan menggunakan isyarat tangan kiri dan kamera depan
dengan resolusi 176 x 144 10fps lalu diuji dengan jarak yang berbeda.
Hasil pengujian 1 yang telah dilakukan menggunakan resolusi 176 x 144 dan
10fps adalah sebagai berikut:
V-24
Gambar 5.64 Resolusi 176 x 144 jarak 15cm
V-25
Gambar 5.66 Resolusi 176 x 144 jarak 60cm
V-26
CM e time Akurasi
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
15 3 detik 100%
l l l l l l l
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
30 3 detik 100%
l l l l l l l
Berhasi Berhasi Gagal Berhasi Berhasi Gagal Gagal
60 3.6 detik 57.1%
l l l l
Berhasi Gagal Gagal Gagal Gagal Gagal Gagal
90 4 detik
l 14.3%
Hasil pengujian 2 yang telah dilakukan menggunakan resolusi 352 x 328
dan 5fps adalah sebagai berikut:
V-27
Gambar 5.69 Resolusi 352 x 328 jarak 30 cm
V-28
Gambar 5.71 Resolusi 352 x 328 jarak 90cm
V-29
Gambar 5.72 Resolusi 480 x 368 jarak 15cm
V-30
Gambar 5.74 Resolusi 480 x 368 jarak 60cm
D. Jarak isyarat tangan dengan vision atau kamera 60cm.
Jumlah citra latih = 7
Berhasil = 2
Gagal = 5
Response time = 6 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 2
x 100 = x 100 =28.6
total citra latih 7
V-31
Berhasi Berhasi Gagal Berhasi Berhasi Berhasi Berhasi
60 10 detik 71.4%
l l l l l l
Berhasi Berhasi Gagal Gagal Gagal Gagal Berhasi
90 10 detik
l l l 28.6%
Hasil pengujian 4 yang telah dilakukan menggunakan resolusi 720 x 480 dan 1fps
adalah sebagai berikut:
V-32
Gambar 5.77 Resolusi 720 x 480 jarak 30cm
V-33
5. Kesimpulan skenario pengujian resolusi, fps dan jarak
Bedasarkan pengujian yang telah dilakukan pada skenario pengujian resolusi,
fps dan jarak didapatkan hasil sebagai berikut ini:
V-34
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Kamera belakang 100%
Hasil pengujian 1 yang telah dilakukan menggunakan kamera depan dan
kamera belakang adalah sebagai berikut:
V-35
A. Kamera depan dan kamera belakang sama-sama memiliki hasil akurasi
yang baik.
B. Kelebihan dari kamera depan lebih mudah saat mengakses smartphone
ketika melakukan pelatihan.
V-36
Berikut ini contoh pengujian menggunakan sensor photoresistor
yang berfungsi sebagai lux meter pada insensitas cahaya terang 1001-10000
lux.
V-37
Gambar 5.85 Lux meter insensitas cahaya gelap
Hasil pengujian dapat dilihat pada tabel pengujian, citra akan diuji sesuai
dengan urutan pengendalian 1 diam, 2 maju, 3 mundur, 4 kiri, 5 kanan, 6 putar
kiri dan 5 putar kanan. Setelah mendapatkan hasil selajutnya akan diukur akurasi
dari pengujian yang dilakukan.
V-38
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 0
x 100 = x 100 =0
total citra latih 7
V-39
isyarat yang berhasil dikenali 0
x 100 = x 100 =0
total citra latih 7
V-40
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7
V-41
Contoh citra background atau latarbelakang abu-abu dengan intensitas
cahaya gelap = 0-200 lux.
V-42
Contoh citra background atau latarbelakang objek dengan intensitas
cahaya terang = 1001-10000 lux.
V-43
Gambar 5.94 Latarbelakang optional cahaya gelap
V-44
Contoh citra background atau latarbelakang bewarna abu-abu serta
sarung tangan bewarna gelap dengan intensitas cahaya terang = 1001-
10000 lux.
V-45
isyarat yang berhasil dikenali 1
x 100 = x 100 =14.3
total citra latih 7
V-46
201 lux diuji menggunakan isyarat yang berbeda dikarenakan isyarat sibi yang
digunakan tidak dapat dideteksi dengan maksimal.
Hasil pengujian dapat dilihat pada tabel pengujian, citra akan diuji sesuai
dengan urutan pengendalian 1 diam, 2 maju, 3 mundur, 4 kiri, 5 kanan, 6 putar
kiri dan 5 putar kanan. Setelah mendapatkan hasil selajutnya akan diukur akurasi
dari pengujian yang dilakukan.
V-47
Gambar 5.98 Isyarat SIBI
V-48
A. Isyarat SIBI angka 3 untuk gerak robot mundur tidak dideteksi dengan
maksimal pada jarak dan kondisi tertentu.
B. Isyarat lain yang diusulkan dapat mendeteksi dengan maksimal.
V-49
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7
Citra menggunakan smartphone OPPO neo 3
V-50
belakang
Kamera depan 2 MP 2 MP
Bluetooth v2.1 v4.0
CPU Dual-core 1.3 GHz Dual-core 2.0 GHz
Baterai Removable Li-Ion Non-removable Li-
1900 mAh Po 2110 mAh battery
OS Android OS, v4.2.1 Android OS, v4.3
(Jelly Bean) (Jelly Bean)
V-51
Gambar 5.102 Smartphone terpasang pada robot
Hasil pengujian dapat dilihat pada tabel pengujian, citra akan diuji sesuai
dengan urutan pengendalian 1 diam, 2 maju, 3 mundur, 4 kiri, 5 kanan, 6 putar
kiri dan 5 putar kanan. Setelah mendapatkan hasil selajutnya akan diukur akurasi
dari pengujian yang dilakukan.
V-52
isyarat yang berhasil dikenali 4
x 100 = x 100 =100
total citra latih 7
V-53
2. Kesimpulan skenario pengujian smartphone Android terpasang pada
robot dengan kondisi berbeda
Bedasarkan pengujian yang telah dilakukan pada skenario pengujian kondisi
smartphone Android didapatkan hasil sebagai berikut:
V-54
Hasil pengujian dapat dilihat pada tabel pengujian, citra akan diuji sesuai
dengan urutan pengendalian 1 diam, 2 maju, 3 mundur, 4 kiri, 5 kanan, 6 putar
kiri dan 5 putar kanan. Setelah mendapatkan hasil selajutnya akan diukur akurasi
dari pengujian yang dilakukan.
V-55
Gambar 5.106 Smartphone terpisah dengan didalam ruangan
V-56
Bedasarkan kesimpulan tersebut maka pengendalian robot vision
menggunakan isyarat tangan yang diusulkan pada sekenario pengujian kondisi
smartphone Android adalah dengan kondisi terpisah dengan robot karena
latarbelakang dan intensitas cahaya tidak tergantung dari posisi robot dan akan
lebih mudah jika menggunakan tripod.
V-57
Gambar 5.108 Mendeteksi telapak tangan
Citra uji : 7 x 3 = 21
Berhasil : 21
Gagal : 0
V-58
isyarat yang berhasil dikenali 21
x 100 = x 100 =100
total citra latih 21
V-59
7. Pada skenario pengujian 7 smartphone Android terpisah pada
robot dengan kondisi berbeda. kondisi didalam dan diluar
ruangan dapat dilakukan karena cahaya dan latarbelakang dapat
diatur sesuai kondisi dan sekenario ini lebih disarankan karena
latarbelakang dan intensitas cahaya tidak tergantung dari posisi
robot saat bergerak dan akan lebih mudah jika menggunakan
tripod.
V-60
BAB
Penutup
5.1 Kesimpulan
Kesimpulan rancang bangun kendali robot vision berbasis
smartphone Android menggunakan isyarat tangan dengan metode SVM,
berhasil dibagun dan berhasil melakukan pengendalian robot dengan baik
dan poin kesimpulan lainya sebagai berikut:
5.2 Saran
Berikut ini beberapa saran yang bisa diberikan berkaitan dengan
laporan dan penelitian ini adalah:
Vl-1
2. Kendali isyarat tangan ini dapat digunakan untuk mengendali rumah
cerdas, pengganti kendali consol game dan dapat juga digunakan untuk
kendali robot terbang atau drone.
Vl-2
DAFTAR PUSTAKA
Branson, J., 1996. Everyone here speaks sign language. Washington: Gallaudet
University Press.
Budiharto, W., 2015. Robot Vision Teknik Membangun Robot Cerdas Masa
Depan. Yogyakarta: ANDI.
Hasan, H., 2013. Human Computer Interaction Using Vision Based Hand Gesture
Recognition Systems Survey. Neural Computer & Application.
Kaura, H. K., 2013. Gesture Controlled Robot using Image Processing. (IJARAI)
International Journal of Advanced Research in Artificial Intelligence,
Volume 2.
Musridho, R. J., 2014. Analisa Performa Algoritma Line Maze Solving Pada Jalur
Lengkung dan Zig-zag.
Nasser, D., 2011. Real-Time Hand Gesture Detection and Recognition Using Bag-
of-Features and Support Vector Machine Techniques. IEEE, Volume 60, p.
11.
xxiii
Nugroho, A. S., 2003. Support Vector Machine Teori dan Aplikasinya dalam
Bioinformatika. s.l.:ilmukomputer.com.
Shawe-Taylor, J. & Cristianini, N., 2000. Support Vector Machines and other
kernel-based learning methods. Cambridge: Cambridge University.
xxiii