Anda di halaman 1dari 140

RANCANG BANGUN KENDALI ROBOT VISION

MENGGUNAKAN ISYARAT TANGAN BERBASIS


SMARTPHONE ANDROID DENGAN METODE SUPPORT
VECTOR MACHINE (SVM)

TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat
Untuk Memperoleh Gelar Sarjana Teknik Pada
Jurusan Teknik Informatika

Oleh:

Deni Tri Laksono


11351103175

FAKULTAS SAINS DAN TEKNOLOGI


UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
PEKANBARU
2017
LEMBAR PERSETUJUAN

RANCANG BANGUN KENDALI ROBOT VISION


MENGGUNAKAN ISYARAT TANGAN BERBASIS
SMARTPHONE ANDROID DENGAN METODE SUPPORT
VECTOR MACHINE (SVM)

TUGAS AKHIR

Oleh :

DENI TRI LAKSONO


11351103175

Telah diperiksa dan disetujui sebagai laporan tugas akhir

di Pekanbaru, pada tanggal 05 April 2017

Pembimbing,

Febi Yanto, M.Kom

NIP.198102062009121003

1
LEMBAR PENGESAHAN

RANCANG BANGUN KENDALI ROBOT VISION


MENGGUNAKAN ISYARAT TANGAN BERBASIS
SMARTPHONE ANDROID DENGAN METODE SUPPORT
VECTOR MACHINE (SVM)

TUGAS AKHIR

Oleh

DENI TRI LAKSONO


11351103175

Telah dipertahankan di depan sidang dewan penguji


Sebagai salah satu syarat untuk memperoleh gelar sarjana Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
di Pekanbaru, pada tanggal 05 April 2017

Pekanbaru, 07 April 2017


Mengesahkan,
Dekan Ketua Jurusan

Dr. Hartono, M.Pd Muhammad Irsyad, S.T, M.T


NIP. 19640301 199203 1 003 NIP. 19780508 200710 1 007

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.

Pekanbaru, 7 April 2017


Yang membuat pernyataan,

DENI TRI LAKSONO

5
LEMBAR PERSEMBAHAN

Karena sesungguhnya sesudah kesulitan


itu ada kemudahan .
(QS.Alam Nasyrah(5))

***
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)

Deni Tri Laksono


11351103175

Tanggal Sidang:
Periode Wisuda:

Jurusan Teknik Informatika


Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau

ABSTRAK

Teknologi robotika semakin berkembang, robot dituntut untuk mampu meyelesaikan


masalah yang kompleks seperti menyelesaikan pekerjaan manusia. Maka robot
membutuhkan sebuah teknologi vision agar dapat menentukan aksi dengan tepat. Vision
pada robot dapat digunakan untuk sistem kendali robot sehingga robot tidak lagi
dikendalikan menggunakan joystick atau remote control namun menggunakan citra
isyarat tangan yang lebih alami dan interaktif. Pengendalian dilakukan dengan cara
mengisyaratkan tangan ke robot yang diambil secara real-time menggunakan kamera
smartphone Android. Gambar yang didapat selanjutnya diproses untuk dapat dikenali
dengan menggunakan metode support vector machine (SVM). Setelah citra dikenali
perintah akan dikirim menggunakan bluetooth dan diterima oleh mikrokontroller Arduino
yang berfungsi untuk menggerakan robot sesuai dengan perintah yang diterima. Untuk
mengukur kemampuan dari robot tersebut maka dilakukanlah pengujian dengan kondisi
citra isyarat tangan yang berbeda. Nilai akurasi pengujian akhir dengan kondisi terbaik
berdasarkan skenario pengujian akhir tingkat akurasi 100% dan respons time terbaik yaitu
0.14 detik.

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

Deni Tri Laksono


11351103175

Final Exam Date:


Graduation Ceremony Period:

Information Engineering Department


Faculty of Sciences and Technology
State Islamic University of Sultan Syarif Kasim Riau

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.

Keywords: Hand Signal, control, robot vision, Android Smartphone, SVM.

8
KATA PENGANTAR

Assalammualaikum Warahmatullahi Wabarakatuh.


Alhamdulillaahi Robbilalamin, puji dan syukur yang setinggi-tinggi
penulis ucapkan ke-hadirat Allah SWT, karena atas segala limpahan rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan penelitian sekaligus penulisan
laporan tugas akhir ini. Allahumma sholliala Muhammad waala ali sayyidina
Muhammad, tidak lupa penulis haturkan juga untuk junjungan alam, kekasih
Allah, Rasul Allah, dan suri tauladan kita yakni Nabi Muhammad SAW.
Laporan tugas akhir ini merupakan salah satu syarat untuk memenuhi
persyaratan akademis untuk meraih gelar kesarjanaan di Jurusan Teknik
Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sultan
Syarif Kasim Riau (UIN SUSKA Riau). Selama menyelesaikan tugas akhir ini,
penulis telah banyak mendapatkan bantuan, bimbingan, dan petunjuk dari banyak
pihak baik secara langsung maupun tidak langsung. Dalam kesempatan ini
penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. Munzir Hitami, MA, selaku Rektor Universitas Islam
Negeri Sultan Syarif Kasim Riau.
2. Bapak Dr. Hartono, M.Pd, selaku Dekan Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau.
3. Bapak Muhammad Irsyad, ST, MT selaku Ketua Jurusan Teknik
Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan
Syarif Kasim Riau dan dosen penguji 1, terimakasih atas ilmu-ilmunya,
saran-sarannya, perbaikan-perbaikannya, dan masukan yang Bapak
berikan untuk penyempurnaan laporan ini.
4. Ibu Fadhila Syafria, ST, M.Kom dan Iis Afrianty, ST, M.Sc selaku
kordinator Tugas Akhir.
5. Bapak Febi Yanto, M.Kom selaku pembimbing Tugas Akhir, terimakasih
atas waktu, petunjuk, bimbingan dan ilmu yang telah diberikan kepada
penulis utuk dapat menyelesaikan Tugas Akhir ini.
6. Nazruddin Safaat, ST, M.T, selaku dosen penguji 2, terimakasih juga
untuk ilmu-ilmunya, saran-sarannya, perbaikan-perbaikannya, dan
masukan yang Bapak berikan untuk penyempurnaan laporan ini.

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

1.1. Latar Belakang........................................................................................l-1

1.2 Rumusan Masalah...................................................................................l-2

1.3 Batasan Masalah.....................................................................................l-2

1.4 Tujuan Penelitian....................................................................................l-3

1.5 Sistematika Penulisan.............................................................................l-3

BAB II LANDASAN TEORI.............................................................................ll-1

2.1 Robot......................................................................................................ll-1

2.1.1 Jenis Robot......................................................................................ll-1

2.1.2 Sistem Robot dan Fungsinya..........................................................ll-4

2.2 Citra Digital...........................................................................................ll-5

2.2.1 Citra Biner (Monokrom).................................................................ll-5

2.2.2 Citra Warna.....................................................................................ll-7

2.3 Computer vision.....................................................................................ll-7

11
2.4 Robot Vision...........................................................................................ll-8

2.5 Isyarat Tangan........................................................................................ll-9

2.6 Mikrokontroler Arduino Uno.................................................................ll-9

2.6.1 Hardware: Arduino Uno (ATMega328).......................................ll-10

2.6.2 Software: IDE Arduino 1.6.0........................................................ll-11

2.7 Android.................................................................................................ll-11

2.8 OpenCV................................................................................................ll-14

2.9 Support Vector Machine (SVM)...........................................................ll-15

2.9.1 Algoritma Support Vector Machine..............................................ll-15

2.9.2 Pattern Recognition Menggunakan Support Vector Machine......ll-18

2.9.3 Karakteristik Support Vector Machine (SVM)..............................ll-18

2.9.4 Kelebihan Support Vector Machine (SVM)..................................ll-19

2.9.5 Kekurangan Support Vector Machine (SVM)...............................ll-19

2.10 Unified Modelling Language (UML)..................................................ll-19

2.10.1 Konsep Dasar UML......................................................................ll-20

2.10.2 Benda (Things).............................................................................ll-20

2.10.3 Hubungan (Relationship)..............................................................ll-20

2.10.4 Jenis-jenis diagram UML.............................................................ll-21

2.11 Java......................................................................................................ll-24

2.12 Penelitian Sebelumnya.........................................................................ll-25

BAB III METODOLOGI PENELITIAN........................................................lll-1

3.1 Identifikasi Masalah..............................................................................lll-2

3.2 Pengumpulan Data dan Informasi........................................................lll-2

3.3 Analisa dan Perancangan......................................................................lll-2

3.4 Implementasi dan Pengujian.................................................................lll-3

3.5 Kesimpulan dan Saran..........................................................................lll-3

12
BAB IV ANALISA DAN PERANCANGAN..................................................lV-1

4.1 Analisa Robot Vision............................................................................lV-1

4.1.1 Analisa Komponen Robot Vision Kendali Isyarat Tangan............lV-1

4.1.2 Analisa Aplikasi Pengenalan Isyarat Tangan................................lV-3

4.1.3 Analisa Fungsional Aplikasi Pengenalan Citra.............................lV-6

4.1.4 Analisa Proses Pengendalian Robot Vision.................................lV-12

4.2 Perancangan Robot Vision Kendali Isyarat Tangan............................lV-15

4.2.1 Perancangan Robot vision...........................................................lV-15

4.2.2 Perancangan Aplikasi Kendali Robot Vision...............................lV-17

BAB V IMPLEMENTASI DAN PENGUJIAN...............................................V-1

5.1 Implementasi.........................................................................................V-1

5.1.1 Batasan Implementasi....................................................................V-1

5.1.2 Lingkungan Implementasi..............................................................V-1

5.1.3 Hasil Implementasi.........................................................................V-3

5.1.3.1 Robot..........................................................................................V-3

5.1.3.2 Program Robot............................................................................V-4

5.1.3.3 Tampilan Aplikasi Vision............................................................V-9

5.1.3.4 Program Aplikasi Vision...........................................................V-15

5.2 Pengujian.............................................................................................V-21

5.2.1 Rencana Pengujian.......................................................................V-21

5.2.2 Pengujian Kendali Robot Vision Menggunakan Isyarat Tangan


Berbasis Smartphone Android dengan Metode SVM.................................V-23

5.2.2.1 Skenario pengujian resolusi, fps dan jarak...............................V-23

5.2.2.2 Skenario pengujian kamera depan dan belakang......................V-34

5.2.2.3 Skenario pengujian latarbelakang dan intensitas cahaya..........V-36

5.2.2.4 Skenario pengujian isyarat.......................................................V-47

13
5.2.2.5 Skenario pengujian smartphone Android.................................V-50

5.2.2.6 Skenario pengujian smartphone Android terpasang pada robot


dengan kondisi berbeda......V-53

5.2.2.7 Skenario pengujian smartphone Android terpisah pada robot


dengan kondisi berbeda ....
..V-53

5.2.3 Hasil Pengujian............................................................................V-58

5.2.3.1 Akurasi Pengujian....................................................................V-58

5.2.3.2 Hasil Pengujian.........................................................................V-60

BAB VI PENUTUP...........................................................................................Vl-1

5.1 Kesimpulan..........................................................................................Vl-1

5.2 Saran.....................................................................................................Vl-1

DAFTAR PUSTAKA........................................................................................xxiii

14
DAFTAR GAMBAR

Gambar Halaman

2.1 Robot manipulator....................................................................................II-1


2.2 Robot beroda............................................................................................II-2
2.3 Robot berkaki...........................................................................................II-2
2.4 Robot ROV...............................................................................................II-3
2.5 Robot terbang...........................................................................................II-3
2.6 Mikrokontroller 328P...............................................................................II-4
2.7 Motor DC.................................................................................................II-4
2.8 Modul driver motor L298........................................................................II-5
2.9 Modul bluetooth hc-05.............................................................................II-5
2.10 Susunan pixel citra biner..........................................................................II-6
2.11 Citra Monokorom.....................................................................................II-6
2.12 Citra Warna...............................................................................................II-7
2.13 Relasi computer vision.............................................................................II-8
2.14 Isyarat bilangan........................................................................................II-9
2.15 Arduino UNO...........................................................................................II-9
2.16 Blok diagram Arduino............................................................................II-10
2.17 IDE Arduino...........................................................................................II-11
2.18 Arsitektur Platform Android..................................................................II-13
2.19 SVM mencari hyperlane terbaik memisahkan class -1 dan +1..............II-15
2.20 Pemisah 2 class data dengan margin maximum.....................................II-16
2.21 Mengubah problem yang tidak liner menjadi linier...............................II-18
3.1 Metodologi penelitian.............................................................................III-1
4.1 Sasis robot...............................................................................................IV-1
4.2 Arduino UNO..........................................................................................IV-2
4.3 Driver motor L298..................................................................................IV-2
4.4 Bluetooth hc-05.......................................................................................IV-2
4.5 Smartphone Android...............................................................................IV-3
4.6 Powerbank..............................................................................................IV-3

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

2.1 Spesifikasi Arduino UNO......................................................................II-10


2.2 Versi Android.........................................................................................II-12
4.1 Usecase pelatihan....................................................................................IV-6
4.2 Usecase pengujian...................................................................................IV-7
4.3 Keterangan class diagram.....................................................................IV-11
4.4 Pengendalian gerak robot vision...........................................................IV-13
5.1 Spesifikasi hardware PC..........................................................................V-1
5.2 Spesifikasi smartphone Android..............................................................V-2
5.3 Spesifikasi software..................................................................................V-2
5.4 Spesifikasi hasil implementasi robot........................................................V-3
5.5 Kendalikan robot vision..........................................................................V-13
5.6 Hasil skenario pengujian 1 resolusi fps dan jarak..................................V-24
5.7 Hasil skenario pengujian 2 resolusi fps dan jarak..................................V-27
5.8 Hasil skenario pengujian 3 resolusi fps dan jarak..................................V-29
5.9 Hasil skenario pengujian 4 resolusi fps dan jarak..................................V-32
5.10 Hasil skenario pengujian 1 latarbelakang dan intensitas........................V-39
5.11 Hasil skenario pengujian 2 latarbelakang dan intensitas........................V-41
5.12 Hasil skenario pengujian 3 latarbelakang dan intensitas........................V-43
5.13 Hasil skenario pengujian 4 latarbelakang dan intensitas........................V-45
5.14 Hasil skenario pengujian isyarat yang berbeda......................................V-48
5.15 Hasil skenario pengujian kamera depan dan belakang...........................V-35
5.16 Hasil skenario pengujian smartphone Android......................................V-50
5.17 Perbandingan spesifikasi........................................................................V-52
5.18 Hasil skenario pengujian kondisi smartphone Android.........................V-56

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

5.1 Import library bluetooth.........................................................................V-4


5.2 Deklarasi variabel dan pin yang digunakan...........................................V-5
5.3 Pengaturan pin input dan output............................................................V-5
5.4 Class gerakan robot................................................................................V-6
5.5 Kelanjutan class gerakan robot..............................................................V-7
5.6 Void loop................................................................................................V-8
5.7 Input citra background.........................................................................V-15
5.8 Input citra tangan.................................................................................V-16
5.9 Segmentasi...........................................................................................V-17
5.10 Ekstrasi fitur.........................................................................................V-19
5.11 Tambah isyarat, data latih dan data model SVM.................................V-20
5.12 Program tampil hasil dan kirim............................................................V-21

21
DAFTAR SIMBOL

Use Case Diagram

Aktor : Simbol orang atau stakeholder yang


berinteraksi
dengan sistem.

Use Case : Simbol pekerjaan dalam sistem.

Relationship : Simbol yang menghubungkan aktor dan use


case.

Activity Diagram

State Awal : Simbol yang merupakan tanda alur kerja


dimulai.

State Akhir : Simbol yang merupakan tanda alur kerja selesai.

Aktivitas : Simbol yang merupakan kegiatan.

Transisi : Simbol yang merupakan penunjuk kegiatan


selanjutnya.

Decision : Simbol yang digunakan untuk memutuskan


apakah valid atau tidak validnya suatu
kejadian.

22
Flowchart

Terminator : Simbol terminator (Mulai/Selesai)


merupakan tanda bahwa sistem akan dijalankan
atau berakhir.

Proses : Simbol yang digunakan untuk melakukan


pemrosesan data baik oleh user maupun
komputer (sistem).

Verifikasi : Simbol yang digunakan untuk


memutuskan
apakah valid atau tidak validnya suatu kejadian.

Laporan : Simbol yang digunakan untuk


menggambarkan
laporan.

Sequence Diagram

Aktor : Simbol orang atau stakeholder yang berinteraksi


dengan sistem.

Entiti : Simbol yang menggambarkan tabel


.

23
Boundary : Simbol yang digunakan untuk menggambarkan
form.

Control : Simbol yang digunakan menghubungkan


boundary dengan tabel.

Lifeline : Simbol yang merupakan tanda mulai dan


selesainya sebuah pesan

Message : Simbol yang digunakan untuk mengirimkan


pesan.

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

2.1.1 Jenis Robot


Robot dibuat dan didisain sesuai kebutuhan pengguna. Menurut
(Budiharto, 2014) robot hingga saat ini, secara umum dibagi menjadi beberapa
jenis sebagai berikut:

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.

Gambar 2.1 Robot manipulator


Sumber : http://www.kuka-robotics.com/NR/rdonlyres/PR_KR1000.jpg

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.

Gambar 2.2 Robot beroda

ii. Robot berkaki


Robot berkaki adalah robot yang meniru prilaku makhluk
hidup seperti berjalan, berlari, menaiki tangga. Contoh
robot soccer humanoid dalam lomba kontes robot
indonesia.

Gambar 2.3 Robot berkaki

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.

Gambar 2.4 Robot ROV


Sumber : http://oceanservice.noaa.gov/facts/roveastbankgps.jpg
c. Robot terbang (aerial robot)
Drone quadcopter merupakan salah satu jenis robot terbang. Robot
ini dapat dikendalikan jarak jauh dan digunakan untuk kebutuhan
fotografi pegambilan gambar diketinggian, mempermudah
pencarian objek dan untuk pengiriman barang. Robot drone
quadcopter ini populer karena stabil menggunakan 4 motor
brushless serta mudah dalam pengoprasianya.

Gambar 2.5 Robot terbang

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.

Gambar 2.6 Mikrokontroller 328P

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.

Gambar 2.7 Motor DC

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.

Gambar 2.9 Modul bluetooth hc-05

2.2 Citra Digital


Citra digital adalah suatu matriks yang terdiri dari baris dan kolom dimana
setiap pasang indeks baris dan kolom menyatakan suatu titik pada citra. Nilai dari
setiap matriks menyatakan nilai kecerahan titik tersebut. Titik-titik tersebut
dinamakan sebagai elemen citra atau piksel. Citra digital dapat didefinisikan
sebagai fungsi fungsi dua variabel f (x,y) dimana x,y adalah koordinat spasial dan
nilai f (x,y) merupakan intensitas citra pada koordinat tersebut. Masing-masing
citra digital memiliki ciri-ciri tersendiri misalnya, ukuran citra, resolusi, dan
format citra lainnya (Mulyanto, 2009).

2.2.1 Citra Biner (Monokrom)


Citra biner terdiri dari dua buah warna yakni hitam putih. Dimana hitam
bernilai 1 dan putih bernilai 0. Untuk menyimpan kedua warna ini dibutuhkan 1
bit di memori. Meskipun pada saat ini komputer dapat mengolah citra hitam putih
maupun citra berwarna, tetapi citra biner masih tetap dipertahankan

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

Gambar 2.10 Susunan pixel citra biner

Citra monokrom dapat dilihat pada gambar berikut:

Gambar 2.11 Citra Monokorom

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.

Gambar 2.12 Citra Warna


2.3 Computer Vision
Adalah salah satu cabang ilmu pengetahuan yang bertujuan untuk
membuat suatu keputusan yang berguna mengenai objek fisik nyata dan keadaan
berdasarkan sebuah gambar atau citra. Computer vision merupakan kombinasi
antara (Shapiro & Stockman, 2000):

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:

Gambar 2.13 Relasi computer vision


Sumber : (Shapiro & Stockman, 2000)

2.4 Robot Vision


Robot vision merupakan teknologi penerapan computer vision pada robot.
Robot membutuhkan informasi vision (kamera) untuk memutuskan sebuah aksi.
Vision pada robot menjadi sangat penting karena informasi yang diberikan lebih
detail dibanding jika hanya menggunakan sensor jarak, sensor inframerah dan
limit sensor. Penerapan vision pada robot antara lain sebagai alat bantu navigasi,
mencari objek yang diinginkan, inspeksi lingkungan, dan pengenalan pola visual
contohnya pengenalan citra isyarat tangan (Budiharto, 2014).

Pada umumnya sebuah robot berbasis vision memiliki karakteristik (Budiharto,


2015):

1. Sensing, robot harus dapat mendeteksi lingkungan sekitar seperti


halangan, panas, suara, dan citra.
2. Mampu bergerak, robot pada umumnya bergerak menggunakan roda,kaki,
terbang atau berenang.
3. Cerdas, robot memiliki kecerdasan buatan untuk memutuskan aksi secara
tepat dan akurat.
4. Membutuhkan energi yang memadai, robot membutuhkan power supply
yang memadai agar unit pengotrolan dan akuator dapat menjalankan
fungsinya dengan baik.

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.

Gambar 2.14 Isyarat bilangan


Sumber : (Hasan, 2013).

2.6 Mikrokontroler Arduino UNO


Arduino terbagi menjadi dua, yaitu hardware dan software. Hardware
merupakan papan input dan output (I/O) dan software meliputi penulis program
berupa Integrated Development Environment (IDE), papan Arduino diprogram
dengan cara menyambungkan kabel serial ke PC yang terkoneksi dengan
software IDE. Menggunakan bahasa program C Arduino yang mengadopsi bahasa
C AVR. Arduino merupakan perangkat opensource (Kadir, 2012).

Gambar 2.15 Arduino UNO

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):

Tabel 2.1 Spesifikasi Arduino UNO


Mikrokontroller ATMEGA 328
Input Voltage 7-12V
Digital I/O pins 14 (6 PWM output)
Analog I/O pins 6
Flash Memory 32 KB (Atmega 328) 0.5 KB (boot loader)
EEPROM 1 KB
Clock Speed 16 Mhz

(Kadir, 2012) Menggambarkan diagram blok sederhana mikrokontroler


Arduino UNO :

UART (Antar Muka


Serial)

2 kb 32 RAM
RAM (progra
(memor m)
1 kb
i kerja) CPU
EEPRO
M
Port input/output
Gambar 2.16 Blok diagram Arduino

1. Memory kerja 2 KB RAM yang digunakan oleh variable-variabel dalam


program, bersifat volatile (hilang saat daya diputuskan).
2. Flash memory 32 KB RAM yang bersifat non-volatile untuk menyimpan
program yang di-upload dari komputer dan juga bootloader, yaitu program
yang dijalankan CPU saat daya dinyalakan.
3. EEPROM 1KB untuk menyimpan data yang tidak boleh hilang saat daya
diputuskan. Bersifat non-volatile.
4. CPU untuk menjalankan setiap instruksi program.
5. Port input dan output untuk menerima dan mengeluarkan data digital atau
analog melalui pin-pin yang ada.

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.

Agar kode biner bisa dimuat ke dalam mikrokontroler, maka dibutuhkan


sebuah modul yang bernama boothloader. Kode program sering juga disebut
dengan istilah sketch (Kadir, 2012).

Gambar 2.17 IDE Arduino

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:

Tabel 2.2 Versi Android


Version Codename API Distribution

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

Kelebihan dari android adalah:

1. Bersifat opensource dapat digunakan dan dikembangkan secara gratis.


2. Sudah memiliki fitur yang lengkap seperti camera, penyimpanan SQLite,
konektivitas bluetooth, GPS, proximity sensor, accelerometer sensor,
digital compass dan fitru lainya.
3. Menyediakan dukungan pengembangan aplikasi dengan membuat
software Android Studio yang digunakan untuk membangun aplikasi
Android secara mudah.

Arsitektur Android terdiri dari beberapa layer yang membentuk sistem


operasi Android (Safaat H, 2012), dapat dilihat pada gambar:

ll-12
Gambar 2.18 Arsitektur Platform Android
Sumber : https://developer.android.com/guide/arsitektur-platform

Pada gambar diatas menjelaskan bahwa sistem operasi Android secara


kasar dibagi menjadi lima bagian dalam empat layer utama (Safaat H, 2012):

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.

Kelebihan OpenCV yaitu opensource dapat digunakan muti bahasa


pemograman yaitu C++, C, Python dan Java dan mendukung mulit platform yaitu
Windows, Linux, Android, dan Mac OS (Shapiro & Stockman, 2000).

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

Gambar 2.19 SVM mencari hyperlane terbaik memisahkan class -1 dan +1


Sumber : (Shawe-Taylor & Cristianini, 2000)

2.9.1 Algoritma Support Vector Machine


Langkah awal suatu algoritma SVM adalah pendefinisian persamaan suatu
hyperplane pemisah yang dituliskan dengan.

W . X +b=0

Algoritma 2.1 Persamaan hyperplane


W adalah suatu bobot vektor, yaitu W = {W1, W2,,Wn}; n adalah
jumlah atribut dan b merupakan suatu skalar yang disebut dengan bias

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

Algoritma 2.2 Persamaan hyperplane W

Setelah persamaan dapat didefinisikan, nilai x1 dan x2 dapat dimasukkan


ke dalam persamaan untuk mencari bobot w1, w2, dan w0 atau b.

Gambar 2.20 Pemisah 2 class data dengan margin maximum

Pada gambar diatas SVM menemukan hyperplane pemisah maksimum, yaitu


hyperplane yang mempunyai jarak maksimum antara tupel pelatihan terdekat. Support
vector ditunjukkan dengan batasan tebal pada titik tupel. Dengan demikian, setiap titik
yang terletak di atas hyperplane pemisah memenuhi rumus.

w 0+w1 x1 + w2 x 2 >0

Algoritma 2.3 Hyperplane pemisah maksimum


Sedangkan, titik yang terletak di bawah hyperplane pemisah memenuhi
rumus.

w 0+w1 x1 + w2 x 2 <0

Algoritma 2.4 Titik di bawah hyperplane pemisah


Melihat dua kondisi di atas, maka didapatkan dua persamaan hyperplane
yaitu.

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

Algoritma 2.5 Dua persamaan hyperplane


Perumusan model SVM menggunakan trik matematika yaitu formula
Lagrangian. Berdasarkan Lagrangian formulation, Maksimal Margin Hyperplane
(MMH) dapat ditulis ulang sebagai suatu batas keputusan (decision boundary)
yaitu.

1
d ( X T )= y i i X i X T + b0
i=1

Algoritma 2.6 Lagrangian formulation


yi adalah label kelas dari support vector Xi. XT merupakan suatu tupel
test. i dan b0 adalah parameter numerik yang ditentukan secara otomatis oleh
optimalisasi algoritma SVM dan l adalah jumlah vector support.

Adanya hyperplane yang maksimum mampu memberikan akurasi yang


lebih baik pada data yang dapat dipisahkan secara linier, namun hal tersebut tidak
berlaku bagi data yang tidak dapat dipisahkan secara linier. Model pembelajaran
SVM memperkenalkan istilah penalti untuk klasifikasi kesalahan dalam fungsi
objektif dengan menggunakan parameter biaya. Dengan adanya parameter biaya
terhadap kesalahan, maka fungsi optimasi SVM menjadi.

1n
1
min W 2+C 1
2 i=1

Algoritma 2.7 Fungsi optimasi SVM


i 0,1 m l merupakan variabel slack untuk memungkinkan kesalahan
beberapa klasifikasi dan C yang disebut sebagai parameter biaya untuk
mengontrol keseimbangan antara margin dan kesalahan klasifikasi. Dengan
demikian pembatas pada dua kelas diberi suatu tambahan berupa variable slack i
sehingga margin pembatas menjadi:

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

Gambar 2.21 Mengubah problem yang tidak liner menjadi linier

2.9.2 Pattern Recognition Menggunakan Support Vector Machine


Menurut (Nugroho, 2003) Konsep SVM dijelaskan secara sederhana
adalah usaha mencari hyperline terbaik yang berfungsi untuk pemisah dari dua
buah class pada input space. Gambar (a) memperlihatkan beberapa pattern yang
merupakan anggota dari dua buah class : +1 dan -1. Pattern yang tergabung pada
class -1 disimbolkan dengan warna merah (kotak), sedangkan pattern pada class
+1, disimbolkan dengan warna kuning (lingkaran). Klasifikasi adalah usaha
menemukan garis (hyperplane) yang memisahkan antara kedua kelompok
tersebut. Berbagai alternatif garis pemisah (discrimination boundaries)
ditunjukkan pada gambar (a). Untuk mencari Hyperplane pemisah terbaik antara
kedua class dicari dengan mengukur margin dengan titik maksimalnya. margin
adalah jarak antara hyperplane dengan pattern terdekat dari masing-masing class.
Pattern yang paling dekat ini disebut sebagai support vector.

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.

2.9.3 Karakteristik Support Vector Machine (SVM)


Menurut (Nugroho, 2003), karakteristik support vector machine adalah
sebagai berikut:

1. Prinsipnya SVM merupakan liniear classifier.


2. Pattern recognition dilakukan dengan mentransformasikan data pada input
space ke ruang yang berdimensi lebih tinggi, dan optimisasi dilakukan
pada ruang vector yang baru tersebut. Hal ini membedakan SVM dari

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.

2.9.4 Kelebihan Support Vector Machine (SVM)


Adapun beberapa kelebihan dari metode SVM menurut (Nugroho, 2003)
adalah sebagai berikut:

1. Generalisasi didefinisikan sebagai kemampuan suatu metode untuk


mengklasifikasikan suatu pattern, yang tidak termasuk data yang dipakai
dalam fase pembelajaran metode itu.
2. Curse of dimensionality didefinisikan sebagai masalah yang dihadapi
suatu metode pettern recognition dalam mengestimasikan parameter
dikarenakan jumlah sampael data yang relative lebih sedikit dibandingkan
dengan dimensional ruang vektor data tersebut.
3. Feasibility SVM dapat diimplementasikan relative mudah, karena proses
penentuan support vector dapat dirumuskan dalam QP problem.

2.9.5 Kekurangan Support Vector Machine (SVM)


Adapun beberapa kekurangan dari metode SVM menurut (Nugroho, 2003)
adalah sebagai berikut:

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.

2.10 Unified Modelling Language (UML)


UML adalah bahasa pemodelan untuk sistem atau perangkat lunak yang
berorientasi objek. Pemodelan (modeling) digunakan untuk penyederhanaan
permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih
mudah dipelajari dan dipahami (Fowler, 2005).

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

2.10.1Konsep Dasar UML


Untuk dapat mememahami UML diperlukan pemahaman entang konsep
bahasa pemodelan dan tiga eleman utama UML. Konsep utama UML yaitu benda
(things) dan hubungan (relation).
1. Benda (Things)
Benda atau Objek merupakan bagian paling statik dari sebuah model, yang
menjelaskan elemen-elemen lainnya dari sebuah konsep. Bentuk dari
beberapa objek:
1. Classes, sekelompok dari object yang mempunyai atribute, operasi, dan
hubungan yang semantik.
2. Interfaces, antar-muka yang menghubungkan dan melayani antar kelas
dan atau elemen dan mendefinisikan sebuah kelompok dari spesifikasi
pengoperasian.
3. Collaboration, interaksi dari sebuah kumpulan kelas-kelas atau elemen-
elemen yang bekerja secara bersama-sama.
4. Use cases, pembentuk tingkah laku objek dalam sebuah model serta
direalisasikan oleh sebuah collaborations.
5. Nodes, bentuk fisik dari elemen-elemen yang ada pada saat
dijalankannya sebuah system
2. Hubungan (Relationship)
Ada 4 macam hubungan dalam penggunaan UML, yaitu:
1. Dependency, hubungan semantik antara dua objek yang mana sebuah
objek berubah mengakibatkan objek satunya akan berubah pula.
2. Association, hubungan antar benda secara struktural yang terhubung
diantara objek dalam kesatuan objek.

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.

2.10.4Jenis-jenis diagram UML


Fungsi diagram-diagram dalam UML adalah untuk menggambarkan
permasalahan maupun solusi dari permasalahan suatu model. Diagram tersebut
dibagi menjadi 13 diagram, adalah sebagai berikut:
1. Usecase Diagram
Usecase adalah abstraksi dari interaksi antara system dan actor. Use case
bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah
system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah
system dipakai.
Diagram Use Case berguna dalam tiga hal:
A. Menjelaskan fasilitas yang ada (requirement)
B. Komunikasi dengan klien
C. Membuat test dari kasus-kasus secara umum
2. Activity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk
memodelkan proses dalam suatu sistem informasi. Activity diagram dapat
digunakan untuk alur kerja model, use case individual, atau logika
keputusan yang terkandung dalam metode individual. Activity diagram
juga menyediakan pendekatan untuk proses pemodelan paralel.
Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran
data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide
proses pemodelan dengan teknik yang berbeda termasuk model acara,
statecharts, dan Petri Nets.
3. Package Diagram

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:

Gambar 3.22 Metodologi penelitian

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

3.2 Pengumpulan Data dan Informasi


Pada tahap ini penulis mengumpulkan data dan informasi dari studi
pustaka. Dengan memahami buku, jurnal dan penelitian terkait robot vision
dengan metode yang digunakan pada penelitian tersebut. Informasi pada
penelitian ini dikutip dari Jurnal IEEE, IJARAI, Researchgate, IJECSE, IJERGS,
Oaktrust Library, Springer.

3.3 Analisa dan Perancangan


Pada tahap ini dilaukan analisa komponen dan disain robot , menjelaskan
komponen yang digunakan beserta fungsinya dan analisa bagaimana algoritma
SVM pada android dan algoritma kendali robot pada Arduino bekerja. Setelah itu
dilakukan perancangan aplikasi dan robot.

-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.5 Kesimpulan dan Saran


Dalam tahap ini dirumuskan kesimpulan-kesimpulan mengenai hasil dari
pengujian yang telah dilakukan yaitu rancang bangun kendali robot vision
menggunakan isyarat tangan berbasis smartphone android dengan metode SVM.
Selain kesimpulan, juga diberikan saran untuk penyempurnaan dan
pengembangan hasil penelitian ini untuk penelitian selanjutnya.

-3
BAB

ANALISA DAN PERANCANGAN


4.1 Analisa Robot Vision
Pada sub-bab ini akan dilakukan analisa kendali robot vision
menggunakan isyarat tangan berbasis smartphone android yaitu meliputi analisa
komponen robot, analisa aplikasi pengenalan isyarat tangan dan analisa proses
pengendalian robot terkait dengan penelitian.

4.1.1 Analisa Komponen Robot Vision Kendali Isyarat Tangan


Komponen robot vision yang digunakan pada penilitian ini sebagai berikut:

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.

Gambar 4.23 Sasis robot

2. Arduino UNO atmega 328p


Arduino UNO berfungsi sebagai kendali gerak robot. Arduino UNO akan
menerima data intruksi dari smartphone Android lalu intruksi tersebut
diproses untuk menggerakan robot. Terdapat 2 modul yang terhubung
yaitu modul bluetooth hc-05 dan driver motor L298. Arduino UNO dapat
dilihat pada gambar 4.2.

-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

Gambar 4.25 Driver motor L298

4. Modul bluetooth hc-05


Berfungsi untuk menerima data yang dikirm dari bluetooth smartphone
Android. Fungsi pin-pin yang digunakan bluetooth hc-05:
1. Pin TX (tranciver) dan RX (reciver) berfungsi menerima dan
mengirim data namun pada penelitian ini hanya menggunakan pin RX.
2. Pin power 5v (+) dan ground (-)

Gambar 4.26 Bluetooth hc-05

5. Smartphone Android Oppo Neo 3

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

Gambar 4.27 Smartphone Android

6. Power supply powerbank HI-RICE 13000mAh


Powerbank berfungsi sebagai power supply robot. Powerbank tersebut
memiliki 2 port usb output dengan voltase 5v. arus ampere output 1 adalah
1A dan output 2 adalah 1.5A.

Gambar 4.28 Powerbank

4.1.2 Analisa Aplikasi Pengenalan Isyarat Tangan


Bedasarkan penelitian (Nasser, 2011) tingkat akurasi pengenalan isyarat
tangan dipengaruhi oleh frame persecond (fps) kamera, cahaya, kontras warna dan
warna latarbelakang. Isyarat tangan yang digunakan pada penelitian ini adalah
isyarat tangan kiri yang diambil menggunakan kamera depan. Isyarat tangan kiri
dapat dilihat pada gambar 4.7.

-3
Gambar 4.29 Perintah Isyarat Tangan

7 citra isyarat tangan tersebut selanjutnya dilakukan pengenalan citra untuk


mengendalikan robot, agar robot dapat memahami perintah yang diberikan
manusia secara langsung. Terdapat 2 proses pengenalan citra yaitu pelatihan dan
pengujian. Adapun flowchart proses pengenalan citra isyarat pada aplikasi
smartphone android adalah sebagai berikut:

1. Proses pelatihan
Flowchart diagram proses pelatihan dapat dilihat pada gambar 4.8.

Gambar 4.30 Proses Pelatihan

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

Gambar 4.31 Proses pengujian

Proses pengujian juga dimulai dengan menginputkan citra background dengan


citra tangan selanjutnya disegmentasi memisahkan cita tangan dan background
untuk hand tracking dan croping. Selanjutnya dapat mengendalikan robot
bedasarkan isyarat tangan dengan melaukan prediksi pada citra latih
menggunakan SVM. Setelah perintah isyarat tangan akan ditampilkan dan dikirim
melalui bluetooth ke Arduino.

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

Gambar 4.32 Usecase diagram

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.

Tabel 4.3 Usecase pelatihan


Usecase : Pelatihan
Aktor utama Pengguna
Kondisi awal Pengguna sudah mengakses aplikasi
Kondisi akhir Data citra latih berhasil disimpan
Main success 1. Usecase dimulai ketika pengguna ingin menambahkan
scenario data citra latih.
2. Pengguna menginputkan citra latar belakang.
3. Pengguna menginputkan citra isyarat tangan
4. Aplikasi menampilkan hasil segmentasi citra biner.
5. Aplikasi akan mengekstrasi fitur SVM pada citra isyarat
tangan yang dideteksi

-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

Pada tabel berikut menjelaskan tentang usecase pengujian


Tabel 4.4 Usecase pengujian
Usecase : Pengujian
Aktor utama Pengguna
Kondisi awal Citra latih berhasil disimpan dan robot sudah dihidupkan.
Kondisi akhir Citra uji dapat mengirim perintah ke robot
Main success 1. Usecase dimulai ketika pengguna ingin mengendalikan atau
scenario menguji kendali robot vision.
2. Bluetooth akan terhubung secara otomatis ke robot saat
aplikasi dijalankan
3. Pengguna menginputkan citra latar belakang.
4. Pengguna menginputkan citra isyarat tangan
5. Aplikasi menampilkan hasil segmentasi citra biner.
Aplikasi akan ekstrasi fitur svm pada citra isyarat tangan yang
dideteksi
6. Pengguna mengendalikan atau menguji dengan memilih
tombol kendalikan.
7. Aplikasi akan megirim dan menampilkan perintah yang sudah
terdeteksi.
8. Robot bergerak sesuai dengan perintah isyarat yang diinputkan.
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.

Pada gambar berikut menjelaskan diagram aktivitas (activity diagram)


pelatihan.

Gambar 4.33 Activity diagram pelatiahan


Activity diagram pelatihan dimulai dengan menjalakan aplikasi selajutnya
pengguna akan menginputkan citra latarbelakang dan tangan secara real-
time lalu aplikasi akan menampilkan hasil segmentasi citra biner.
Selanjutnya citra tangan yang didekteksi akan diekstrasi fitur dengan
model SVM.

Pengguna dapat menginputkan data latih dengan memilih button tambah


isyarat dan selanjutnya memilih tombol latih untuk membuat data model
SVM. Pengguna dapat juga melihat data latih dengan memilih menu lihat
data latih.

4. Activity diagram : Pengujian


Pada gambar berikut menjelaskan activity diagram pengujian.

-8
Gambar 4.34 Activity diagram pelatiahan

Activity diagram pengujian imulai dengan menghidupkan robot lalu


mejalankan aplikasi, bluetooth akan otomatis terhubung ke robot
selanjutnya pengguna akan menginputkan citra latarbelakang dan tangan
secara real-time lalu aplikasi akan menampilkan hasil segmentasi citra
biner.

Selanjutnya citra tangan yang didekteksi akan diekstrasi fitur dengan


model SVM selanjutnya pengguna dapat memilih button kendali, aplikasi
akan mengirim dan menampilkan perintah robot akan bergerak bedasarkan
isyarat tangan yang dideteksi.

5. Sequence diagram : Pelatihan


Pada gambar berikut menjelaskan sequence diagram pelatihan.

-9
Gambar 4.35 Sequence diagram pelatihan

Pada gambar squance diagram pelatihaan tersebut dijelaskan bagaimana


cara mengginputkan datalatih. Data gambar yang disimpan bedasarkan
urutan angka dimulai dari 1 sampai 7, karna hanya menggunakan 7 isyarat
tangan, lalu pada saat yang bersamaan biner hasil ekstrasi fitur isyarat
tangan tersebut disimpan pada data_latih.txt dan setelah menginputkan
seluruh data latih dengan memilih button latih akan terbuild model SVM.

6. Sequence diagram : Pengujian


Pada gambar berikut menjelaskan sequence diagram pengujian.

Gambar 4.36 Sequence diagram pengujian

Pada gambar squance diagram pengujian tersebut dijelaskan bagaimana


cara mengendalikan robot menggunakan isyarat tangan. Dimulai dengan
menginputkan citra latarbelakang hingga mengendalikan robot dengan
prediksi SVM dengan membandingkan citra latih mana yang mirip dengan
citra uji.

-10
7. Class diagram
Pada gambar berikut menjelaskan class diagram.

Gambar 4.37 Class diagram

Keterangan dari class diagram dapat dilihat pada tabel beikut di bawah ini.

Tabel 4.5 Keterangan class diagram


Primary Foreign
No Nama Deskripsi Atribut
Key Key
1 Data Menyimpan data uji - Citra Uji - -
1 Uji
2 Data Menyimpan data - Citra latih Id -
- Id
2 Latih latih
- Data latih
- Model svm

8. Deploy diagram
Pada gambar berikut menjelaskan deploy diagram.

Gambar 4.38 Deploy diagram

Pada gambar tersebut dijelaskan sturktur hardware yang digunakan untuk


dan software yang berjalan pada masing-masing hardware.

4.1.4 Analisa Proses Pengendalian Robot Vision


Pengendalian robot vision dilakukan dengan cara mengarahkan isyarat
tangan yang diperintahkan ke kamera robot vision, contoh pengendalian robot
vision menggunakan isyarat tangan dapat dilihat pada gambar berikut.

-11
Gambar 4.39 Pengendalian robot vision

Analisa proses pengendalian gerakan robot dapat digambarkan


menggunakan flowchart sebagai berikut:

Gambar 4.40 Flowchart prosess pengendalian


Proses pengendalian gerakan robot, perintah yang dikirim dari
aplikasi berupa data string akan diperoses pada robot jika 1 maka robot diam, 2
maju, 3 mundur, 4 kanan, 5 kiri, 6 putarkanan dan 7 putar kiri.
Pada tabel berikut adalah tabel pengendalian gerak robot sesuai dengan
citra isyarat tangan yang diinputkan dan logika program arduino UNO
mengendalikan robot.

Tabel 4.6 Pengendalian gerak robot vision


No Isyarat Tangan Gerak Gerak Robot Logika Program

-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( );}

No Isyarat Tangan Gerak Gerak Robot Logika Program

-13
7
IF (Bluetooth == 7){
Putar
kiri Void putarkiri( );

4.1.5 Analisa Support Vector Machine


Support vector machine (SVM) merupakan metode pengenalan citra yang
digunakan untuk melakukan pelatihan (train) dan prediksi (predict). Metode SVM
terbukti baik dalam bidang pattren recognition dalam penelitian (Nasser, 2011)
Real-Time Hand Gesture Detection and Recognition Using Bag-of-Features and
Support Vector Machine (SVM) Techniques, pada penelitian tersebut nilai akurasi
pengujian adalah 96,23% dan bedasarkan jurnal survei (Hasan, 2013) Vision
based hand gesture recognition for human computer interaction: a survey, metode
SVM sering digunakan dalam bidang pengelolahan citra tangan.
Berikut ini adalah analisa penggunaan metode SVM dalam aplikasi
kendali robot isyarat tangan:

Gambar 4.19 Penggunaan metode SVM

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

4.2 Perancangan Robot Vision Kendali Isyarat Tangan


Pada sub-bab ini akan dilakukan perancangan robot yaitu meliputi analisa
komponen robot, analisa pengenalan isyarat tangan dan analisa proses
pengendalian robot terkait dengan penelitian.

4.2.1 Perancangan Robot vision


Dirancang rangkaian robot bedasarkan analisa komponen robot yang telah
dipilih. digambarkan sebagai berikut:

Gambar 4.41 Rangkaian robot

Pin-pin yang terhubung antar komponen merupakan hasil analisa


komponen robot.

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

Berikut merupakan rancangan disain robot yang akan diimplementasikan


menggunakan software SketchUp 2017:

1. Disain robot tampak depan


Berikut ini merupakan rancangan disain robot tampak depan:

Gambar 4.42 Disain robot depan

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:

Gambar 4.43 Disain robot 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.

3. Disain robot tampak atas


Berikut ini merupakan rancangan disain robot tampak dari atas:

Gambar 4.44 Disain robot atas

Pada disain robot tampak atas akan terlihat seluruh komponen yang
digunakan terdapat motor driver berwarna merah, bluetooth berwarna biru
dan Arduino.

4.2.2 Perancangan Aplikasi Kendali Robot Vision


Perancangan interface aplikasi adalah sarana komunikasi antara aplikasi
dan pengguna yang bertujuan agar penggunaan aplikasi menjadi lebih mudah dan
efisien. Pembuatan interface meliputi tampilan yang baik, mudah dipahami dan

-17
tampilan menu-menu yang mudah dimengerti. Berikut ini akan dijelaskan
interface proses utama dalam rancang bangun aplikasi pengenalan isyarat tangan.

1. Perancangan menu input size


Rancangan tampilan menu pengaturan ukuran kamera yang akan
digunakan untuk melakukan pengenalan citra isyarat tangan.

Gambar 4.45 Menu size

2. Deteksi background
Rancangan tampilan deteksi latar belakang yang merupakan tangkapan
hasil kamera yang ditampilkan dan terdapat kotak sample sebagai
pendekteksi sempel warna background.

Gambar 4.46 Deteksi 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.

Gambar 4.47 Deteksi tangan

-18
4. Segmentasi
Rancangan tampilan segmentasi yang memisahkan citra background
dengan isyarat tangan.

Gambar 4.48 Segmentasi

5. Ekstrasi fitur SVM dan pelatihan


Rancangan tampilan ekstrasi fitur SVM dan terdapat tombol tambah
isyarat, latih dan kendali.

Gambar 4.49 Ekstrasi fitur dan pelatihan

6. Ekstrasi fitur SVM dan pengujian


Rancangan tampilan ekstrasi fitur SVM dan pengujian terdapat tombol
tambah, latih dan kendali serta menampilkan label hasil berupa angka dari
pengenalan isyarat tangan.

Gambar 4.50 Ekstrasi fitur dan pengujian

-19
BAB V

IMPLEMENTASI DAN PENGUJIAN


5.1 Implementasi
Pada bab ini akan diuraikan langkah-langkah implementasi dan pengujian
robot vision kendali isyarat tangan bedasarkan analisa dan perancangan pada bab
sebelumnya.

5.1.1 Batasan Implementasi


Batasan implementasi pada penelitian ini adalah sebagai berikut:

1. Robot dikendalikan dengan tangan kiri.


2. Aplikasi menggunakan 7 data latih citra isyarat tangan untuk
mengendalikan 7 gerakan robot.
3. Robot menggunakan komponen sesuai dengan analisa komponen
robot yaitu Arduino UNO, modul bluetooth hc-05, modul driver
motor l293, 2 Roda motor gearbox dan powerbank 5v.
4. Menggunakan bahasa pemograman java dan C Arduino
5. Menggunakan software Android Studio 2.2.2 dan Arduino IDE
1.8.0.

5.1.2 Lingkungan Implementasi


Lingkungan implementasi perangkat keras (hardware) dan perangkat
lunak (software) yang digunakan pada penelitian ini adalah sebagai berikut:

1. Spesifikasi PC
Tabel 5.1 menjelaskan spesifikasi hardware pada personal computer (PC)
yang digunakan.
Tabel 5.7 Spesifikasi hardware PC

Seri Asus X450CC


Processor Intel Core i3-3217U CPU @ 1.80GHz (4 CPUs),
~1.8GHz
Memory RAM 4096 MB
VGA NVIDIA GeForce GT720M 2GB
Layar 14

V-1
OS Windows 10 Pro 64-bit

2. Spesifikasi Smartphone Android


Tabel 5.2 menjelaskan spesifikasi hardware pada smartphone android
yang digunakan dipenelitian ini.
Tabel 5.8 Spesifikasi Smartphone Android
Seri Oppo Neo 3
Dimensi 132 x 65.8 x 9.2 mm
Ukuran layar 4.5 inches , 480 x 854 pixels
dan resolusi
Kamera 5 MP
belakang
Kamera depan 2 MP
Bluetooth v2.1
CPU Dual-core 1.3 GHz
Baterai Removable Li-Ion 1900 mAh
OS Android OS, v4.2.1 (Jelly Bean)

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

Pada gambar berikut merupakan hasil implementasi robot vision


yang letak komponen dan bentuknya sesuai dengan perancangan disain
robot.

Gambar 5.51 Robot tampak depan

Selanjutnya pada gambar di bawah ini merupakan hasil


implementasi robot vision tampak samping dan posisi dari smartphone
android optional, dapat include pada robot, serta dapat juga terpisah
dengan robot. Hal ini dapat mempermudah dalam prosess pengujian.

V-3
Gambar 5.0.52 Robot tampak samping

5.1.3.2 Program Robot


Pada tahap ini robot yang telah dibangun selanjutnya diprogram
menggunakan software IDE Arduino 1.8.0 bahasa pemograman yang
digunakan adalah C Arduino. Program tersebut diupload ke board Arduino
UNO untuk mengendalikan seluruh komponen robot agar robot bergerak
sesuai dengan perintah isyarat tangan. Berikut ini penjelasan program
robot yang berhasil diimplementasikan pada robot vision.

1. Import library bluetooth.


#include <SoftwareSerial.h>

Program 5.1 Import library bluetooth

Library tersebut berfungsi untuk menghubungkan board Ardunio UNO


dengan modul bluetooth hc-05. Fungsi dari bluetooth tersebut sebagai
komunikasi data dengan smartphone Android. Data perintah berupa string
dikirim ke modul bluetooth agar selanjutnya dapat diproses oleh Arduino
UNO.

2. Selanjutnya deklarasi variabel dan pin yang digunakan.

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;

Program 5.2 Deklarasi variabel dan pin yang digunakan

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.

3. Selanjutnya pengaturan pin input dan output.


void setup( ) {
bluetooh.begin(9600);
Serial.begin(9600);
//Pengaturan pin output ke driver motor
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}

Program 5.3 Pengaturan pin input dan output

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.

4. Selanjutnya membuat class gerak robot.


void maju( ){
digitalWrite(in1, HIGH); // motor A
digitalWrite(in2, LOW);
analogWrite(enA, kecepatan);
digitalWrite(in3, HIGH); // motor B
digitalWrite(in4, LOW);
analogWrite(enB, kecepatan);
}
void mundur( ){
digitalWrite(in1, LOW); // motor A
digitalWrite(in2, HIGH);
analogWrite(enA, kecepatan);
digitalWrite(in3, LOW); // motor B
digitalWrite(in4, HIGH);
analogWrite(enB, kecepatan);
}
void kiri( ){
digitalWrite(in1, HIGH); // motor A
digitalWrite(in2, LOW);
analogWrite(enA, kecepatan);
digitalWrite(in3, LOW);// motor B
digitalWrite(in4, LOW);
analogWrite(enB, kecepatan);
}

Program 5.4 Class gerakan robot

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);}

Program 5.5 Kelanjutan class gerakan robot

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.

5. Selanjunya void loop adalah inti dari program.


void loop( ){
while (bluetooh.available( )){ //Cek data yang diterima
delay(10); //delay untuk menjaga agar stabil
char c = bluetooh.read( ); //Conduct a serial read
data += c; //build the string- "maju", "mundur", "kiri" and
"kanan"
}
if (data.length( ) > 0) {
Serial.println(data);
if(data == "2") {
maju( ); }
else if(data == "3") {
mundur( ); }
else if (data == "4"){
kanan( ); }
else if ( data == "5"){
kiri( ); }
else if ( data == "6"){
putkanan( ); }
else if ( data == "7"){
putkiri( ); }
else if (data == "1"){
diam( ); }
else{
diam( ); }
data="";
}
}

Program 5.6 Void loop

V-8
Void loop digunakan untuk menjalankan program atau algoritma.
Data dari bluetooth yang diterima selanjunya diproses untuk
menggerakan robot.

5.1.3.3 Tampilan Aplikasi Vision


1. Tampilan awal
Tampilan awal aplikasi adalah menu slidebar untuk mengatur
resolusi gambar, menyimpan gambar dan melihat data latih.

Gambar 5.0.53 Tampilan menu slidebar

2. Tampilan pengaturan resolusi kamera


Menampilkan ukuran gambar yang dapat ditangkap oleh kamera
smartphone Android ukuran tersebut dimulai dari yang terkecil 176x144
sampai 1920 x 1080.

Gambar 5.0.54 Tampilan menu resolusi

Setiap ukuran resolusi memiliki frame persecond (fps) yang berbeda-beda.


Fps adalah kecepatan kamera melakukan pengambilan gambar contoh
20fps kamera dapat mengambil gambar 20 frame per 1 detik. semakin
kecil ukuran resolusi kamera maka fps yang dihasilkan akan semakin besar
dan sebaliknya jika ukuran resolusi kamera besar maka fps semakin kecil.

3. Input citra latarbelakang secara realtime

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.

Gambar 5.0.55 Tampilan input citra latarbelakang

4. Input citra tangan secara realtime


Setelah menginputkan citra background selanjutnya menginputkan
citra tangan. Kotak biru akan mengambil sample warna dan ukuran dari
tangan yang diinputkan.

Gambar 5.0.56 Tampilan input citra tangan

5. Segmentasi citra ke biner


Selanjutnya citra latarbelakang dan citra tangan disegmentasi
mejadi citra biner. Citra isyarat tangan berwarna putih sedangkan citra
background yang berwarna hitam prosess segmentasi bertujuan untuk
mempermudah mendeteksi posisi tangan pada ekstrasi fitur SVM.

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.

Gambar 5.0.58 Ekstrasi fitur SVM

7. Tambah data latih


Penambahan data latih dilakukan secara real-time dengan cara
menambahakan isyarat, isyarat yang ditambah diurutkan secara otomatis
dimulai dari 1, 2, 3, 4, 5, 6 dan 7. Data tersebut tersimpan berupa file
gambar dan data label angka yang tersimpan dalam data_latih.txt yang
diperoleh dari vector tiap masing-masing jari tangan. Pada gambar
dibawah vector ini yang melabeli jari-jari tangan disimbolkan dengan garis
bewarna hijau tua.

V-11
Gambar 5.0.59 Tambah data latih

Ketika menekan tombol tambah isyarat maka akan muncul pesan


konfirmasi untuk menambahkan data latih atau tidak.

Gambar 5.0.60 Konfirmasi menambahkan data latih

8. Data model SVM


Setelah selesai menambahkan seluruh data latih isyarat yang
diperlukan selanjutnya dengan menekan tombol latih maka akan akan
terbuild secara otomatis data model SVM.

Gambar 5.0.61 Data model SVM

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.

Gambar 5.0.62 Lihat data latih

10. Kendalikan robot vision


Setelah melakukan pelatiahan selanjutnya sudah dapat melakukan
pengendalian robot dengan menekan tombol kendali. Sesuai dengan
analisa dan perancangan kendali robot hasil implementasinya dapat
dijelaskan pada tabel berikut.

Tabel 5.11 Kendalikan robot vision


NO Isyarat Gerak Gerak Robot
1 Diam

NO Isyarat Gerak Gerak Robot

V-13
2 Maju

3 Mundur

4 Kanan

5 Kiri

6 Putar Kanan

7 Putar Kiri

5.1.3.4 Program Aplikasi Vision


Pada tahap ini dijabarkan program yang telah dibangun pada
aplikasi vision untuk melakukan pengenalan isyarat tangan bedasarkan
analisa dan perancangan.

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){

int cols = img.cols();

int rows = img.rows();

squareLen = rows/20;

Scalar color = mColorsRGB[2]; //garis biru

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;

for (int i = 0; i < SAMPLE_NUM; i++){

samplePoints[i][1].x = samplePoints[i][0].x+squareLen;

samplePoints[i][1].y = samplePoints[i][0].y+squareLen;}

for (int i = 0; i < SAMPLE_NUM; i++){

Core.rectangle(img, samplePoints[i][0], samplePoints[i][1], color, 1);}

for (int i = 0; i < SAMPLE_NUM; i++){

for (int j = 0; j < 3; j++){avgBackColor[i][j] = (interMat.get((int)


(samplePoints[i][0].y+squareLen/2), (int)(samplePoints[i]
[0].x+squareLen/2)))[j];}}

Program 5.7 Input citra background


2. Input tangan. Menampilkan 7 kotak pada image, kotak tersebut merupakan
area deteksi untuk mengambil sample warna pada tangan.

V-15
void deteksitangan(Mat img){

int cols = img.cols();

int rows = img.rows();

squareLen = rows/20;

Scalar color = mColorsRGB[2]; //garis biru

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;

for (int i = 0; i < SAMPLE_NUM; i++){

samplePoints[i][1].x = samplePoints[i][0].x+squareLen;

samplePoints[i][1].y = samplePoints[i][0].y+squareLen;}

for (int i = 0; i < SAMPLE_NUM; i++){

Core.rectangle(img, samplePoints[i][0], samplePoints[i][1], color, 1);}

for (int i = 0; i < SAMPLE_NUM; i++){

for (int j = 0; j < 3; j++){

avgColor[i][j] = (interMat.get((int)(samplePoints[i]
[0].y+squareLen/2), (int)(samplePoints[i]
[0].x+squareLen/2)))[j];}

Program 5.8 Input citra tangan

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 colNum = imgIn.cols();

int rowNum = imgIn.rows();

int boxExtension = 0;

boundariesCorrection();

produceBinHandImg(imgIn, binTmpMat); //biner citra tangan

produceBinBackImg(imgIn, binTmpMat2); //biner citra background

Core.bitwise_and(binTmpMat, binTmpMat2, binTmpMat);

binTmpMat.copyTo(tmpMat);

binTmpMat.copyTo(imgOut);

Rect roiRect = makeBoundingBox(tmpMat);

adjustBoundingBox(roiRect, binTmpMat);

if (roiRect!=null) {

roiRect.x = Math.max(0, roiRect.x - boxExtension);

roiRect.y = Math.max(0, roiRect.y - boxExtension);

roiRect.width = Math.min(roiRect.width+boxExtension, colNum);

roiRect.height = Math.min(roiRect.height+boxExtension, rowNum);

Mat roi1 = new Mat(binTmpMat, roiRect);

Mat roi3 = new Mat(imgOut, roiRect);

imgOut.setTo(Scalar.all(0));

roi1.copyTo(roi3);

Mat element =
Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size(3,
3));

Imgproc.dilate(roi3, roi3, element, new Point(-1, -1), 2);

Imgproc.erode(roi3, roi3, element, new Point(-1, -1), 2);

Program 5.9 Segmentasi

V-17
4. Ekstrasi fitur. Citra tangan yang telah disegmentasi selanjutnya dideteksi
untuk melakukan pelabelan pola pada jari tangan.
Void ekstrasifitur(){

hg.contours.clear();

Imgproc.findContours(binMat, hg.contours, hg.hie, Imgproc.RETR_EXTERNAL,


Imgproc.CHAIN_APPROX_NONE);

hg.findBiggestContour();

if (hg.cMaxId > -1) {

hg.approxContour.fromList(hg.contours.get(hg.cMaxId).toList());

Imgproc.approxPolyDP(hg.approxContour, hg.approxContour, 2, true);

hg.contours.get(hg.cMaxId).fromList(hg.approxContour.toList());

Imgproc.drawContours(rgbaMat, hg.contours, hg.cMaxId, mColorsRGB[0], 1);

hg.findInscribedCircle(rgbaMat);

hg.boundingRect = Imgproc.boundingRect(hg.contours.get(hg.cMaxId));

Imgproc.convexHull(hg.contours.get(hg.cMaxId), hg.hullI, false);

hg.hullP.clear();

for (int i = 0; i < hg.contours.size(); i++)

hg.hullP.add(new MatOfPoint());

int[] cId = hg.hullI.toArray();

List<Point> lp = new ArrayList<Point>();

Point[] contourPts = hg.contours.get(hg.cMaxId).toArray();

for (int i = 0; i < cId.length; i++){

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)

&& hg.detectIsHand(rgbaMat) && (cId.length >=5)){

Imgproc.convexityDefects(hg.contours.get(hg.cMaxId),
hg.hullI, hg.defects);

List<Integer> dList = hg.defects.toList();

Point prevPoint = null;

V-18
for (int i = 0; i < dList.size(); i++){

int id = i % 4;

Point curPoint;

if (id == 2) {

double depth = (double)dList.get(i+1)/256.0;

curPoint = contourPts[dList.get(i)];

Point curPoint0 = contourPts[dList.get(i-2)];

Point curPoint1 = contourPts[dList.get(i-1)];

Point vec0 = new Point(curPoint0.x - curPoint.x, curPoint0.y - curPoint.y);

Point vec1 = new Point(curPoint1.x - curPoint.x, curPoint1.y - curPoint.y);

double dot = vec0.x*vec1.x + vec0.y*vec1.y;

double lenth0 = Math.sqrt(vec0.x*vec0.x + vec0.y*vec0.y);

double lenth1 = Math.sqrt(vec1.x*vec1.x + vec1.y*vec1.y);

double cosTheta = dot/(lenth0*lenth1);

if ((depth > hg.inCircleRadius*0.7)&&(cosTheta>=-0.7)

&& (!isClosedToBoundary(curPoint0, rgbaMat))

&&(!isClosedToBoundary(curPoint1, rgbaMat))){

hg.defectIdAfter.add((i));

Point finVec0 = new Point(curPoint0.x-hg.inCircle.x,

curPoint0.y-hg.inCircle.y);

double finAngle0 = Math.atan2(finVec0.y, finVec0.x);

Point finVec1 = new Point(curPoint1.x-hg.inCircle.x,

curPoint1.y - hg.inCircle.y);

double finAngle1 = Math.atan2(finVec1.y, finVec1.x);

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)) {

Core.rectangle(rgbaMat, hg.boundingRect.tl(), hg.boundingRect.br(),


mColorsRGB[1], 2);

Imgproc.drawContours(rgbaMat, hg.hullP, hg.cMaxId, mColorsRGB[2]);}}

Program 5.10 Ekstrasi fitur

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;

float gamma = 0.001f;

String trainingFileLoc = storeFolderName+DATASET_NAME;

String modelFileLoc = storeFolderName+"/model";

Log.i("Store Path", modelFileLoc);

if (trainClassifierNative(trainingFileLoc, kernelType, cost, gamma, isProb,

modelFileLoc) == -1) {

Log.d(TAG, "training err");

finish();}

Toast.makeText(this, "Pelatihan Selesai", 2000).show();}

public void initLabel() {

File file[] = storeFolder.listFiles();

int maxLabel = 0;

for (int i=0; i < file.length; i++){

String fullName = file[i].getName();

final int dotId = fullName.lastIndexOf('.');

if (dotId > 0) {

String name = fullName.substring(0, dotId);

String extName = fullName.substring(dotId+1);

if (extName.equals("jpg")) {

int curName = Integer.valueOf(name);

if (curName > maxLabel)

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) {

Core.putText(rgbaMat, Integer.toString(returnedLabel[0]), new Point(15,15),


Core.FONT_HERSHEY_SIMPLEX, 0.6, mColorsRGB[0]);

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");}}

Program 5.12 Program tampil hasil dan kirim

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.

5.2.1 Rencana Pengujian


Pengujian yang akan dilakukan pada rancang bangun kendali robot vision
menggunakan isyarat tangan berbasis smartphone Android dengan metode SVM
yang telah dibangun adalah sebagai berikut:

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:

isyarat yang berhasil dikenali


Presentasi kecocokan= x 100
total citrauji

5.2.2 Pengujian kendali robot vision menggunakan isyarat tangan


berbasis smartphone Android dengan metode SVM
Pengujian ini bertujuan untuk mengukur kemampuan kendali robot
vision menggunakan isyarat tangan berbasis smartphone Android dengan
metode SVM dan hasilnya digunakan sebagai acuan agar pengendalian
robot vision dapat dilakukan secara maksimal dan benar.

5.2.2.1 Skenario pengujian resolusi, fps dan jarak


Pada skenario pengujian ini kendali robot vision menggunakan isyarat
tangan kiri dan kamera depan lalu akan diuji menggunakan resolusi dan fps yang
berbeda dan juga megukur jarak antara isyarat tangan kiri dengan kamera. Hasil
pengujian dapat dilihat pada tabel pengujian, citra diuji sesuai dengan urutan
pengendalian 1 diam, 2 maju, 3 mundur, 4 kiri, 5 kanan, 6 putar kiri dan 5 putar
kanan.
Setelah didapatkan hasil pengujian maka selanjutnya dihitung akurasi
menggunkan rumus (Junker, 2002) dan juga diukur respon time menggunakan
stopwatch mulai saat aplikasi vision mendeteksi perintah isyarat tangan sampai
robot bergerak sesuai dengan perintah. Pengukuran dilakukan oleh dua orang
operator, operator 1 mengoprasikan stopwatch dan operator 2 mengendalikan
robot menggunakan isyarat tangan.

Berikut merupakan gambar saat melakukan pengukuran respon time.

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.

Tabel 5.12 Hasil skenario pengujian 1 resolusi fps dan jarak.


Resolusi 176 x 144 @10fps
Jarak Citra Uji Isyarat Tangan Respons Hasil
1 2 3 4 5 6 7
CM e time Akurasi
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
15 0.14 100%
l l l l l l l
detik
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
30 0.14 100%
l l l l l l l
detik
Berhasi Gagal Gagal Berhasi Berhasi Gagal Gagal
60 0.6 detik 42.8%
l l l
Berhasi Gagal Gagal Gagal Gagal Gagal Gagal
90 1.3 detik
l 14.3%

Hasil pengujian 1 yang telah dilakukan menggunakan resolusi 176 x 144 dan
10fps adalah sebagai berikut:

A. Jarak isyarat tangan dengan vision atau kamera 15cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 0.14 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 176 x 144 dengan jarak 15cm

V-24
Gambar 5.64 Resolusi 176 x 144 jarak 15cm

B. Jarak isyarat tangan dengan vision atau kamera 30cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 0.14 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 176 x 144 dengan jarak 30cm

Gambar 5.65 Resolusi 176 x 144 jarak 30cm

C. Jarak isyarat tangan dengan vision atau kamera 60cm.


Jumlah citra latih = 7
Berhasil = 3
Gagal = 4
Response time = 0.6 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 3
x 100 = x 100 =42.8
total citra latih 7

Contoh citra resolusi 176 x 144 dengan jarak 60cm

V-25
Gambar 5.66 Resolusi 176 x 144 jarak 60cm

D. Jarak isyarat tangan dengan vision atau kamera 90cm.


Jumlah citra latih = 7
Berhasil = 1
Gagal = 6
Response time = 1.3 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 2
x 100 = x 100 =14.3
total citra latih 7

Contoh citra resolusi 176 x 144 dengan jarak 90cm.

Gambar 5.67 Resolusi 176 x 144 jarak 90cm

2. Pengujian-2 resolusi 352 x 328 5fps dengan jarak berbeda


Pengujian dilakukan dengan menggunakan isyarat tangan kiri dan kamera
depan dengan resolusi 352 x 328 5fps lalu diuji dengan jarak yang berbeda.

Tabel 5.13 Hasil skenario pengujian 2 resolusi fps dan jarak.


Resolusi 352 x 328 @5fps
Jarak Citra Uji Isyarat Tangan Respons Hasil
1 2 3 4 5 6 7

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:

A. Jarak isyarat tangan dengan vision atau kamera 15cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 3 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 352 x 328 dengan jarak 15cm.

Gambar 5.68 Resolusi 352 x 328 jarak 15cm

B. Jarak isyarat tangan dengan vision atau kamera 30 cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 3 detik

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 352 x 328 dengan jarak 30 cm.

V-27
Gambar 5.69 Resolusi 352 x 328 jarak 30 cm

C. Jarak isyarat tangan dengan vision atau kamera 60cm.


Jumlah citra latih = 7
Berhasil = 4
Gagal = 3
Response time = 3.6 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 4
x 100 = x 100 =57.1
total citra latih 7

Contoh citra resolusi 352 x 328 dengan jarak 60cm

Gambar 5.70 Resolusi 352 x 328 jarak 60cm

D. Jarak isyarat tangan dengan vision atau kamera 90cm.


Jumlah citra latih = 7
Berhasil = 1
Gagal = 6
Response time = 4 detik

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 1
x 100 = x 100 =14.3
total citra latih 7

Contoh citra resolusi 352 x 328 dengan jarak 90cm

V-28
Gambar 5.71 Resolusi 352 x 328 jarak 90cm

3. Pengujian-3 resolusi 480 x 368 3fps dengan jarak yang berbeda


Pengujian dilakukan dengan menggunakan isyarat tangan kiri dan kamera
depan dengan resolusi 480 x 368 3fps lalu diuji dengan jarak yang berbeda.

Tabel 5.14 Hasil skenario pengujian 3 resolusi fps dan jarak.


Resolusi 480 x 368 @3fps
Jarak Citra Uji Isyarat Tangan Respons Hasil
1 2 3 4 5 6 7
CM e time Akurasi
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
15 5 detik 100%
l l l l l l l
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
30 5 detik 100%
l l l l l l l
Berhasi Berhasi Gagal Berhasi Berhasi Berhasi Gagal
60 5.5 detik 71.4%
l l l l l
Berhasi Berhasi Gagal Gagal Gagal Gagal Gagal
90 6 detik
l l 28.6%
Hasil pengujian 3 yang telah dilakukan menggunakan resolusi 480 x 368
dan 3fps adalah sebagai berikut:

A. Jarak isyarat tangan dengan vision atau kamera 15cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 5 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 480 x 368 dengan jarak 15cm

V-29
Gambar 5.72 Resolusi 480 x 368 jarak 15cm

B. Jarak isyarat tangan dengan vision atau kamera 30 cm.


Citra = 7
Berhasil = 7
Gagal = 0
Response time = 5 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 480 x 368 dengan jarak 30cm

Gambar 5.73 Resolusi 480 x 368 jarak 30cm

C. Jarak isyarat tangan dengan vision atau kamera 60cm.


Jumlah citra latih = 7
Berhasil = 5
Gagal = 2
Response time = 5.5 detik

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 7
x 100 = x 100 =71.4
total citra latih 7

Contoh citra resolusi 480 x 368 dengan jarak 60cm

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

Contoh citra resolusi 480 x 368 dengan jarak 60cm

Gambar 5.75 Resolusi 480 x 368 jarak 60cm


4. Pengujian-4 resolusi 720 x 480 1fps dengan jarak berbeda
Pengujian dilakukan dengan menggunakan isyarat tangan kiri dan kamera
depan dengan resolusi 720 x 480 1fps lalu diuji dengan jarak yang berbeda.

Tabel 5.15 Hasil skenario pengujian 4 resolusi fps dan jarak.


Resolusi 720 x 480 @1fps
Jarak Citra Uji Isyarat Tangan Respons Hasil
1 2 3 4 5 6 7
CM e time Akurasi
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
15 9 detik 100%
l l l l l l l
Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi Berhasi
30 10 detik 100%
l l l l l l l

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:

A. Jarak isyarat tangan dengan vision atau kamera 15cm.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Response time = 9 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 720 x 480 dengan jarak 15cm

Gambar 5.76 Resolusi 720 x 480 jarak 15cm

B. Jarak isyarat tangan dengan vision atau kamera 30cm.


Citra uji = 7
Berhasil = 7
Gagal = 0
Response time = 10 detik

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra resolusi 720 x 480 dengan jarak 30cm

V-32
Gambar 5.77 Resolusi 720 x 480 jarak 30cm

C. Jarak isyarat tangan dengan vision atau kamera 60cm.


Jumlah citra latih = 7
Berhasil = 5
Gagal = 2
Response time = 10 detik
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 5
x 100 = x 100 =57.1
total citra latih 7

Contoh citra resolusi 720 x 480 dengan jarak 60cm

Gambar 5.78 Resolusi 720 x 480 jarak 60cm


D. Jarak isyarat tangan dengan vision atau kamera 60cm.
Jumlah citra latih = 7
Berhasil = 3
Gagal = 5
Response time = 10 detik

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 3
x 100 = x 100 =42.8
total citra latih 7

Contoh citra resolusi 720 x 480 dengan jarak 60cm

Gambar 5.79 Resolusi 720 x 480 jarak 60cm

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:

A. Jarak maksimal tangan dapat menggendalikan robot adalah 60cm.


B. Response time tergantung pada fps semakin tinggi fps maka response time
semakin baik karena pengendalian robot vision dilakukan secara real-time.
C. Akurasi tergantung pada resolusi kamera semakin tinggi resolusi maka
semakin baik akurasi yang didapatkan.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian
resolusi, fps dan jarak adalah dengan menggunakan resolusi kamera 176 x 144
dan 9fps dan jarak antara 15-30cm, karena resolusi,fps dan jarak tersebut
memiliki response time dan akurasi yang baik. Robot vision membutuhkan
keakuratan untuk mengenali isyarat tangan dan juga harus memiliki respon
time yang baik dalam menerima perintah.

5.2.2.2 Skenario pengujian kamera depan dan belakang


Pada skenario pengujian ini kendali robot vision menggunakan isyarat
tangan kiri dengan resolusi 176 x 144 10fps, jarak antara 15-30cm diuji
menggunakan kamera depan dan kamera belakang.
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.

1. Pengujian kamera depan dan belakang


Pada skenario pengujian ini kendali robot vision menggunakan isyarat tangan
kiri dengan resolusi 176 x 144 10fps, jarak antara 15-30cm lalu diuji dengan
menggunakan kamera depan dan kamera belakang.

Tabel 5.16 Hasil skenario pengujian kamera depan dan belakang.


Kamera depan dan belakang
Kamera Citra Uji Isyarat Tangan Hasil
Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Kamera depan 100%

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:

A. Menggunakan kamera depan


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7
Citra isyarat menggunakan kamera depan.

Gambar 5.80 Kamera depan


B. Menggunakan kamera belakang
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:

isyarat yang berhasil dikenali 7


x 100 = x 100 =100
total citra latih 7

Citra isyarat menggunakan kamera belakang.

Gambar 5.81 Kamera belakang


2. Kesimpulan skenario pengujian menggunakan kamera depan dan
belakang
Bedasarkan pengujian yang telah dilakukan pada skenario pengujian
menggunakan kamera depan dan belakang didapatkan hasil 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.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian
kamera depan dan belakang adalah dengan menggunakan kamera depan
karena lebih mudah dalam mengakses smartphone ketika melakukan
pelatihan namun hasil akurasi kamera depan dan belakang sama-sama
baiknya.

5.2.2.3 Skenario pengujian latarbelakang dan intensitas cahaya


Pada skenario pengujian ini kendali robot vision 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. Insensitas cahaya diukur dengan lux meter menggunakan sensor
photoresistor.
Photoresistor merupakan sensor yang digunakan untuk mengukur cahaya
pada kamera digital (Schmitt, 1970). Sensor photoresistor dapat diukur
menggunakan Arduino UNO untuk mendapatkan hasil insensitas cahaya saat
pengujian. Berikut merupakan gambar lux meter menggunakan sensor
photoresistor.

Gambar 5.82 Lux meter menggunakan sensor photoresistor


Insensitas cahaya dihitung menggunakan sensor photoresistor dan diukur
menggunakan Arduino UNO, semakin terang cahaya maka semakin tinggi nilai
lux yang didapat.

V-36
Berikut ini contoh pengujian menggunakan sensor photoresistor
yang berfungsi sebagai lux meter pada insensitas cahaya terang 1001-10000
lux.

Gambar 5.83 Lux meter insensitas cahaya terang

Berikut ini contoh pengujian menggunakan sensor photoresistor


yang berfungsi sebagai lux meter pada insensitas cahaya sedang 201-1000
lux.

Gambar 5.84 Lux meter insensitas cahaya sedang


Berikut ini contoh pengujian menggunakan sensor photoresistor
yang berfungsi sebagai lux meter pada insensitas cahaya gelap 0-200 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.

1. Pengujian-1 latarbelakang bewarna coklat dengan intensitas cahaya


berbeda
Pengujian dilakukan dengan menggunakan isyarat tangan kiri, kamera depan,
resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm lalu diuji
menggunakan latarbelakang bewarna coklat dengan intensitas cahaya yang
berbeda.

Tabel 5.17 Hasil skenario pengujian 1 latarbelakang dan intensitas.


Latarbelakang bewarna coklat dengan resolusi 176 x 144 10fps
Intensitas Citra Uji Isyarat Tangan Hasil
Cahaya
Akurasi
1 2 3 4 5 6 7
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
1001-10000 lux 0%
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
201-1000 lux 0%
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
0-200 lux 0%
Hasil pengujian 1 yang telah dilakukan menggunakan latarbelakang bewarna
coklat dan dengan intensitas cahaya terang = 1001-10000 lux, sedang = 201-1000
lux dan gelap = 0-200 lux adalah sebagai berikut.

A. Latarbelakang coklat dengan intensitas cahaya terang = 1001-10000 lux.


Jumlah citra latih = 7
Berhasil = 0
Gagal = 7

V-38
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 0
x 100 = x 100 =0
total citra latih 7

Contoh citra background atau latarbelakang coklat dengan intensitas


cahaya terang = 1001-10000 lux.

Gambar 5.86 Latarbelakang coklat cahaya terang

B. Latarbelakang coklat dengan intensitas cahaya sedang = 201-1000 lux.


Jumlah citra latih = 7
Berhasil = 0
Gagal = 7

Hasil akurasi didapatkan dengan rumus:


isyarat yang berhasil dikenali 0
x 100 = x 100 =0
total citra latih 7

Contoh citra background atau latarbelakang coklat dengan intensitas


cahaya sedang = 201-1000 lux.

Gambar 5.87 Latarbelakang coklat cahaya sedang

C. Latarbelakang coklat dengan intensitas cahaya gelap = 0-200 lux.


Jumlah citra latih = 7
Berhasil = 0
Gagal = 7
Hasil akurasi didapatkan dengan rumus:

V-39
isyarat yang berhasil dikenali 0
x 100 = x 100 =0
total citra latih 7

Contoh citra background atau latarbelakang coklat dengan intensitas


cahaya gelap = 0-200 lux.

Gambar 5.88 Latarbelakang coklat cahaya sedang

2. Pengujian-2 latarbelakang bewarna abu-abu dengan intensitas cahaya


berbeda.
Pengujian dilakukan dengan menggunakan isyarat tangan kiri, kamera depan,
resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm lalu diuji
menggunakan latarbelakang bewarna abu-abu dengan intensitas cahaya yang
berbeda.

Tabel 5.18 Hasil skenario pengujian 2 latarbelakang dan intensitas.


Latar belakang bewarna abu-abu dengan resolusi 176 x 144 10fps
Intensitas Citra Uji Isyarat Tangan Hasil
Cahaya
Akurasi
1 2 3 4 5 6 7
1001-10000 lux Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
100%
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
201-1000 lux 100%
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
0-200 lux 0%

Hasil pengujian 2 yang telah dilakukan menggunakan latarbelakang bewarna


abu-abu dan dengan intensitas cahaya terang = 1001-10000 lux, sedang = 201-
1000 lux dan gelap = 0-200 lux adalah sebagai berikut:

A. Latarbelakang bewarna abu-abu dengan intensitas cahaya terang =


1001-10000 lux.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:

V-40
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra background atau latarbelakang abu-abu dengan intensitas


cahaya terang = 1001-10000 lux.

Gambar 5.89 Latarbelakang abu-abu cahaya terang

B. Latarbelakang bewarna abu-abu dengan intensitas cahaya sedang =


201-1000 lux.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra background atau latarbelakang abu-abu dengan intensitas


cahaya sedang = 201-1000 lux.

Gambar 5.90 Latarbelakang abu-abu cahaya sedang

C. Latarbelakang bewarna abu-abu dengan intensitas cahaya gelap = 0-


200 lux.
Jumlah citra latih = 7
Berhasil = 0
Gagal = 7
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =0
total citra latih 7

V-41
Contoh citra background atau latarbelakang abu-abu dengan intensitas
cahaya gelap = 0-200 lux.

Gambar 5.91 Latarbelakang abu-abu cahaya sedang

3. Pengujian-3 latarbelakang objek lemari dengan intensitas cahaya


berbeda
Pengujian dilakukan dengan menggunakan isyarat tangan kiri, kamera depan,
resolusi kamera 176 x 144, jarak tangan dengan kamera 15-30cm lalu diuji
menggunakan latarbelakang objek lemari dan manusia dengan intensitas
cahaya yang berbeda.

Tabel 5.19 Hasil skenario pengujian 3 latarbelakang dan intensitas.


Latar belakang objek lemari dan manusia dengan resolusi 176 x 144 10fps
Intensitas Citra Uji Isyarat Tangan Hasil
Cahaya
Akurasi
1 2 3 4 5 6 7
1001-10000 lux Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
100%
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
201-1000 lux 100%
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
0-200 lux 0%
Hasil pengujian 3 yang telah dilakukan menggunakan latarbelakang objek
benda dan dengan intensitas cahaya terang = 1001-10000 lux, sedang = 201-
1000 lux dan gelap = 0-200 lux adalah sebagai berikut:

A. Latarbelakang objek benda dengan intensitas cahaya terang = 1001-


10000 lux.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

V-42
Contoh citra background atau latarbelakang objek dengan intensitas
cahaya terang = 1001-10000 lux.

Gambar 5.92 Latarbelakang optional cahaya terang

B. Latarbelakang objek benda dengan intensitas cahaya sedang = 201-


1000 lux.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra background atau latarbelakang objek dengan intensitas


cahaya sedang = 201-1000 lux.

Gambar 5.93 Latarbelakang optional cahaya sedang

C. Latarbelakang objek benda dengan intensitas cahaya gelap = 0-200


lux.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Contoh citra background atau latarbelakang objek dengan intensitas


cahaya gelap = 0-200 lux.

V-43
Gambar 5.94 Latarbelakang optional cahaya gelap

4. Pengujian-4 latarbelakang abu-abu dengan sarung tangan dan intensitas


cahaya yang berbeda
Pengujian dilakukan dengan menggunakan isyarat tangan kiri dan kamera
depan dengan resolusi 176 x 144 10fps lalu diuji menggunakan latarbelakang
bewarna abu-abu serta sarung tangan bewarna hijau gelap dan manusia
dengan intensitas cahaya yang berbeda.

Tabel 5.20 Hasil skenario pengujian 4 latarbelakang dan intensitas.


Menggunakan sarung tangan dengan resolusi 176 x 144 10fps
Intensitas Citra Uji Isyarat Tangan Hasil
Cahaya
Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
1001-10000 lux 100%
Berhasil Gagal Gagal Gagal Berhasil Gagal Gagal
201-1000 lux 28.5%
Gagal Gagal Gagal Gagal Berhasil Gagal Gagal
0-200 lux 14.3%
Hasil pengujian 1 yang telah dilakukan menggunakan latarbelakang bewarna
abu-abu serta sarung tangan bewarna hitam dan dengan intensitas cahaya
terang = 1001-10000 lux, sedang = 201-1000 lux dan gelap = 0-200 lux adalah
sebagai berikut:

A. Latarbelakang bewarna abu-abu serta sarung tangan bewarna gelap dan


dengan Intensitas cahaya terang = 1001-10000 lux.
Jumlah citra latih = 7
Berhasil = 0
Gagal = 7
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 100
x 100 = x 100 =100
total citra latih 7

V-44
Contoh citra background atau latarbelakang bewarna abu-abu serta
sarung tangan bewarna gelap dengan intensitas cahaya terang = 1001-
10000 lux.

Gambar 5.95 Latarbelakang optional cahaya terang

B. Latarbelakang bewarna abu-abu serta sarung tangan bewarna gelap dan


dengan Intensitas cahaya sedang = 1001-10000 lux.
Jumlah citra latih = 7
Berhasil = 6
Gagal = 1
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 2
x 100 = x 100 =28.5
total citra latih 7

Contoh citra background atau latarbelakang bewarna abu-abu serta


sarung tangan bewarna gelap dengan intensitas cahaya sedang = 201-
1000 lux.

Gambar 5.96 Latarbelakang optional cahaya sedang

C. Latarbelakang bewarna abu-abu serta sarung tangan bewarna


gelap dan dengan Intensitas cahaya gelap = 0-200 lux.
Jumlah citra latih = 7
Berhasil = 6
Gagal = 1
Hasil akurasi didapatkan dengan rumus:

V-45
isyarat yang berhasil dikenali 1
x 100 = x 100 =14.3
total citra latih 7

Contoh citra background atau latarbelakang bewarna abu-abu


serta sarung tangan bewarna gelap dengan intensitas cahaya gelap
= 0-200 lux.

Gambar 5.97 Latarbelakang optional cahaya gelap

5. Kesimpulan skenario pengujian latarbelakang dan intensitas cahaya


Bedasarkan pengujian yang telah dilakukan pada skenario pengujian
latarbelakang dan intensitas cahaya didapatkan hasil sebagai berikut ini:

A. Pengendalian robot vision akan maksimal jika background atau


latarbelakang yang digunakan tidak memiliki warna yang hampir sama
dengan tangan contohnya coklat dan hitam.
B. Penggunaan sarung tangan tidak dianjurkan karena kamera akan sulit
mendeksi kontur dari tangan.
C. Pengendalian robot vision hanya dapat dilakukan dengan intensitas cahaya
antara terang = 1001-10000 lux dan sedang = 201-1000 lux.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian
latarbelakang dan intensitas cahaya adalah dengan menggunakan
latarbelakang berwarna putih atau warna lainnya kecuali warna hitam dan
cokelat dan dengan intensitas cahaya terang = 1001-10000 lux dan sedang =
201-1000 lux..

5.2.2.4 Skenario pengujian isyarat


Pada skenario pengujian ini kendali robot vision 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-

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.

1. Pengujian isyarat SIBI dengan isyarat biasa


Pengujian dilakukan 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 lalu diuji
dengan membandingkan isyarat SIBI dan isyarat yang berbeda.

Tabel 5.21 Hasil skenario pengujian isyarat yang berbeda.


Membandingkan isyarat SIBI dan isyarat yang berbeda
Isyarat yang Citra Uji Isyarat Tangan Hasil
digunakan Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Gagal Berhasil Berhasil Berhasil Berhasil
SIBI 85.7%
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Isyarat lain 100%
Hasil pengujian yang telah dilakukan dengan menggunakan isyarat yang
berbeda adalah sebagai berikut:

A. Menggunakan isyarat SIBI.


Jumlah citra latih = 7
Berhasil = 6
Gagal = 1
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 6
x 100 = x 100 =85.7
total citra latih 7

Data latih isyarat SIBI yang digunakan dalam pengujian.

V-47
Gambar 5.98 Isyarat SIBI

B. Menggunakan isyarat lain.


Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 7
x 100 = x 100 =100
total citra latih 7

Data latih isyarat lain yang digunakan dalam pengujian.

Gambar 5.99 Isyarat biasa

2. Kesimpulan skenario pengujian isyarat yang berbeda


Bedasarkan pengujian yang telah dilakukan pada skenario pengujian isyarat
yang berbeda didapatkan hasil sebagai berikut ini:

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.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian
isyarat yang berbeda adalah dengan menggunakan isyarat lain yang
diusulkan, dapat memaksimalkan pengendalian robot vision.

5.2.2.5 Skenario pengujian smartphone Android


Pada skenario pengujian ini kendali robot vision 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 diuji menggunakan smartphone yang berbeda spesifikasi.
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.

1. Pengujian smartphone Android


Pengujian dilakukan 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 lalu diuji dengan membandingkan smartphone Android yang berbeda
spesifikasi.

Tabel 5.22 Hasil skenario pengujian smartphone Android


Smartphone Android berbeda spesifikasi
Merk Citra Uji Isyarat Tangan Hasil
Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
OPPO Neo 3 100%
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Asus Zenfone 5 100%
Hasil pengujian yang telah dilakukan menggunakan smartphone yang berbeda
spesifikasi adalah sebagai berikut:

A. Menggunakan smartphone OPPO Neo 3


Jumlah citra latih = 7

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

Gambar 5.100 Hasil vision OPPO Neo 3


B. Menggunakan smartphone Asus Zenfone 5
Jumlah citra latih = 7
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 Asus Zenfone 5

Gambar 5.101 Hasil vision Asus Zenfone 5


Perbandingan spesifikasi antara kedua merk smartphone tersebut:

Tabel 5.23 Perbandingan spesifikasi


Seri Oppo Neo 3 Asus Zenfone 5
Dimensi 132 x 65.8 x 9.2 mm 148.2 x 72.8 x 10.3
mm
Ukuran layar 4.5 inches , 480 x 5.0 inches, 720 x
dan resolusi 854 pixels 1280 pixels
Kamera 5 MP 8 MP

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)

2. Kesimpulan skenario pengujian smartphone yang berbeda merk


Bedasarkan pengujian yang telah dilakukan pada skenario pengujian
smartphone yang berbeda merk didapatkan hasil sebagai berikut:

A. Smartphone Android yang berbeda dan dengan merk yang berbeda


namun dengan spesifikasi yang hampir sama tidak mengurangi akurasi
pengujian.
B. Dengan menggunakan kamera depan memudahkan pengguna untuk
melakukan pengaturan pada aplikasi.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian
smartphone yang berbeda merk adalah dengan menggunakan Oppo Neo 3
dan Asus Zenfone 5, hasil akurasi yang didapatkan kedua merk tersebut sama
baiknya bedasarkan akurasi pengujian.

5.2.2.6 Skenario pengujian smartphone Android terpasang pada robot dengan


kondisi berbeda
Pengujian dilakukan 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
diuji dengan smartphone Android terpasang pada robot dengan kondisi didalam
dan diluar ruangan. Berikut merupakan gambar kondisi smartphone Android
terpasang pada robot.

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.

1. Pengujian smartphone Android terpasang pada robot dengan kondisi


didalam dan diluar ruangan
Pengujian dilakukan dengan 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 lalu diuji dengan
smartphone Android terpasang pada robot dengan kondisi didalam ruangan dan
diluar ruangan.

Tabel 5.24 Hasil skenario pengujian smartphone Android terpasang di robot


Smartphone Android
Kondisi Citra Uji Isyarat Tangan Hasil
Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Berhasil Berhasil Berhasil Gagal Gagal
Didalam ruangan 71.4%
Gagal Gagal Gagal Gagal Gagal Gagal Gagal
Diluar rungan 0%

Hasil pengujian yang telah dilakukan dengan smartphone Android


terpasang pada robot dengan kondisi didalam dan diluar ruangan adalah
sebagai berikut:

A. Pengujian smartphone Android terpasang pada robot dengan kondisi


didalam ruangan.
Jumlah citra latih = 7
Berhasil = 2
Gagal = 5
Hasil akurasi didapatkan dengan rumus:

V-52
isyarat yang berhasil dikenali 4
x 100 = x 100 =100
total citra latih 7

Gambar pengujian dengan kamera smartphone Android terpasang


dengan robot dengan kondisi didalam ruangan.

Gambar 5.103 Smartphone android terpasang pada robot

B. Penggujian smartphone yang terpasang pada robot dengan kondisi


diluar ruangan.
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:

isyarat yang berhasil dikenali 0


x 100 = x 100 =0
total citra latih 7

Gambar pengujian dengan kamera smartphone Android terpasang


pada robot dengan kondisi diluar ruangan.

Gambar 5.104 Smartphone terpasang diluar ruangan

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:

A. Kondisi smartphone Android yang terpasang pada robot menyebabkan


kamera sulit mendeteksi isyarat yang diberikan karena latarbelakang dan
intensitas cahaya akan berubah sesuai dengan posisi robot.
B. Pengujian dengan kondisi smartphone terpasang akan lebih mudah jika
menggunakan holder.

Bedasarkan kesimpulan tersebut maka pengendalian robot vision


menggunakan isyarat tangan yang diusulkan pada sekenario pengujian kondisi
smartphone Android adalah dengan kondisi terpasang dengan robot karena
latarbelakang dan intensitas cahaya tidak tergantung dari posisi robot dan akan
lebih mudah jika menggunakan holder.

5.2.2.7 Skenario pengujian smartphone Android terpisah pada robot dengan


kondisi berbeda
Pengujian dilakukan dengan menggunakan isyarat 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
diuji dengan kondisi smartphone Android terpisah pada robot.

Berikut merupakan gambar kondisi smartphone Android terpisah pada


robot.

Gambar 5.105 Smartphone terpisah pada robot

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.

1. Pengujian smartphone Android terpisah dengan kondisi didalam dan


diluar ruangan
Pengujian dilakukan dengan menggunakan isyarat 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 lalu diuji dengan smartphone Android terpisah pada robot dengan kondisi
didalam dan diluar ruangan.

Tabel 5.25 Hasil skenario pengujian kondisi smartphone Android


Smartphone Android
Kondisi Citra Uji Isyarat Tangan Hasil
Akurasi
1 2 3 4 5 6 7
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Didalam ruangan 28.6%
Berhasil Berhasil Berhasil Berhasil Berhasil Gagal Gagal
Diluar rungan 100%

Hasil pengujian yang telah dilakukan dengan smartphone yang


terpisah dengan robot dengan kondisi berbeda adalah sebagai berikut:

A. Pengujian smatphone Android terpisah pada robot dengan kondisi


didalam ruangan.
Jumlah citra latih = 7
Berhasil = 2
Gagal = 5
Hasil akurasi didapatkan dengan rumus:
isyarat yang berhasil dikenali 2
x 100 = x 100 =28.6
total citra latih 7

Gambar pengujian kamera smartphone Android terpisah dengan robot


dengan kondisi didalam ruangan.

V-55
Gambar 5.106 Smartphone terpisah dengan didalam ruangan

B. Penggujian smartphone Android terpisah pada robot dengan kondisi


diluar ruangan
Jumlah citra latih = 7
Berhasil = 7
Gagal = 0
Hasil akurasi didapatkan dengan rumus:

isyarat yang berhasil dikenali 7


x 100 = x 100 =100
total citra latih 7

Gambar pengujian dengan kamera smartphone Android terpisah


dengan robot dengan kondisi diluar ruangan.

Gambar 5.107 Smartphone terpisah dengan didalam ruangan

2. Kesimpulan pengujian smartphone Android terpisah pada robot dengan


kondisi berbeda
Bedasarkan pengujian yang telah dilakukan pada skenario pengujian kondisi
smartphone Android didapatkan hasil sebagai berikut:

A. Pengujian smartphone terpisah pada robot dengan kondisi didalam dan


diluar ruangan dapat dilakukan karena cahaya dan latarbelakang dapat
diatur sesuai kondisi.
B. Pengujian dengan kondisi smartphone terpisah akan lebih mudah jika
menggunakan tripod.

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.

5.2.3 Hasil Pengujian


5.2.3.1 Sekenario Pengujian Akhir
Pada sekanario pengujian akhir akan dihitung tingkat persentasi
keakurasian pada penelitian rancang bangun kendali robot vision
menggunakan isyarat tangan berbasis smartphone Android dengan metode
support vector machine (SVM). Robot diuji dengan menggunakan hasil
terbaik pada sekenario 1 sampai 7. Berikut ini merupakan kondisi
sekenario pengujian akhir yang dilakukan.

1. Resolusi yang digunakan adalah 176 x 144 @10fps dan


jarak tangan dengan kamera 15-30cm.
2. Menggunakan kamera depan.
3. Menggunakan latarbelakang dinding bewarna putih dengan
insensitas cahaya terang-sedang 10.000-201 lux.
4. Isyarat tangan yang digunakan adalah isyarat lain.
5. Menggunakan smartphone Android OPPO Neo 3.
6. Smartphone terpisah pada robot dengan kondisi didalam
ruangan.

Pengujian kendali isyarat tangan 1 sampai 7 diujikan sebanyak 3


kali dengan kondisi mendeteksi telapak tangan, mendeteksi dengan latar
belakang wajah, mendeteksi punggung tangan. Berikut merupakan sample
gambar pengujian akhir:

1. Mendeteksi tangan bagian telapak tangan.

V-57
Gambar 5.108 Mendeteksi telapak tangan

2. Mendeteksi tangan bagian dalam dengan latarbelakang wajah.

Gambar 5.109 Mendeteksi dengan latarbelakang wajah

3. Mendeteksi tangan bagian punggung tangan.

Gambar 5.110 Mendeteksi punggung tangan

Didapatkan hasil pengujian akhir sebagai berikut.

Citra uji : 7 x 3 = 21

Berhasil : 21

Gagal : 0

Hasil akurasi didapatkan dengan rumus (Junker, 2002):

V-58
isyarat yang berhasil dikenali 21
x 100 = x 100 =100
total citra latih 21

5.2.3.2 Hasil Pengujian


Bedasarkan hasil dan kesimpulan dari beberapa skenario pengujian
yang telah dilakukan didapatkan hasil sebagai berikut:

1. Pada skenario pengujian 1 resolusi kamera, fps dan jarak yang


tepat untuk mengendalikan robot vision adalah dengan resolusi
176 x 144 dan 10fps dan jarak 15-30cm.
2. Pada skenario pengujian 2 latarbelakang dan insensitas cahaya
yang tepat untuk mengendalikan robot vision adalah dengan
latarbelakang berwarna putih atau warna lainnya kecuali warna
hitam dan cokelat selanjutnya intensitas cahaya antara terang =
1001-10000 lux dan sedang = 201-1000 lux.
3. Pada skenario pengujian 4 isyarat tangan yang baik antara SIBI
dengan isyarat lainya adalah dengan menggunakan isyarat
lainya karena SIBI pada isyarat 3 memilki kecenderungan
kemiripan dengan isyarat 4.
4. Pada skenario pengujian 5 kamera yang tepat untuk
mengendalikan robot vision adalah kamera depan dengan
menggunakan kamera depan pengguna lebih mudah dalam
menginput data latih dan juga akurasi kamera depan sama
baiknya dengan kamera belakang.
5. Pada skenario pengujian 6 smartphone Android dengan
spesifikasi yang berbeda spesifikasi tidak mempengaruhi hasil
akurasi. Namun minimal versi Android yang dapat terinstall
library OpenCV adalah Android 2.2 (API 8).
6. Pada skenario pengujian 6 smartphone Android terpasang pada
robot dengan kondisi berbeda. Kondisi didalam ruangan adalah
hasil terbaik karena latarbelakang dan insensitas cahaya tidak
terlalu menggangu namun sekenario ini tidak dianjurkan karna
intensitas cahaya dan latarbelakang dapat berubah sesuai posisi
robot saat bergerak.

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.

Hasil pengujian tersebut tersebut merupakan sekenario terbaik


yang diperoleh bedasarkan skenario pengujian yang telah dilakukan dan
hasil kesimpulan pengujian tersebut dijadikan acuan agar pengendalian
robot vision menggunakan isyarat tangan berbasis smartphone Android
dengan metode SVM dapat dikendalikan secara maksimal dan benar.

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:

1. Frame persecond (FPS) sangat berpengaruh dalam pengendalian robot


dikarenakan, robot dikendalikan secara realtime maka jika citra isyarat
tangan cepat dikenali oleh aplikasi, robot juga akan cepat dalam
menerima perintah yang diberikan.
2. Nilai akurasi sangat berpengaruh dengan jarak, resolusi, intensitas
cahaya dan latarbelakang. Jarak terbaik antar isyarat tangan dengan
kendali robot vision adalah 15-60cm, resolusi terbaik adalalah ukuran
176 x 144 karena ukuran tersebut memiliki fps yang tinggi, intensitas
cahaya terbaik adalah antara terang = 1001-10000 lux dan sedang = 201-
1000 lux. Terakhir latarbelakang terbaik adalah seluruh warna kecuali
hitam dan coklat karena warna tersebut mirip dengan warna isyarat
tangan yang dapat menggangu.
3. Kondisi terbaik tataletak smartphone Android adalah terpisah dengan
robot sebab intensitas cahaya dan latarbelakang dapat diatur tidak
tergantung dari posisi robot.

5.2 Saran
Berikut ini beberapa saran yang bisa diberikan berkaitan dengan
laporan dan penelitian ini adalah:

1. Untuk penelitian selanjutnya dapat dikembangkan perangkat


komunikasi disarankan menggunakan wifi agar jarak jelajah dan
jangkauan robot lebih jauh.

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., 2014. Robotika Modern. Yogyakarta: ANDI.

Budiharto, W., 2015. Robot Vision Teknik Membangun Robot Cerdas Masa
Depan. Yogyakarta: ANDI.

Fowler, M., 2005. UML Distilled. 3 ed. Yogyakarta: ANDI.

Hasan, H., 2013. Human Computer Interaction Using Vision Based Hand Gesture
Recognition Systems Survey. Neural Computer & Application.

Junker, M., 2002. On The Evaluation Of Document Analysis Components by


Recall, Precision, and Accuracy. Kaiserslautern: IEEE.

Kadir, A., 2012. Algoritma & Pemrograman Menggunakan Java. Yogyakarta:


Andi.

Kadir, A., 2012. Mempelajari Aplikasi dan Pemograman Mikrokontroler Arduino.


Yogyakarta: ANDI.

Kaura, H. K., 2013. Gesture Controlled Robot using Image Processing. (IJARAI)
International Journal of Advanced Research in Artificial Intelligence,
Volume 2.

Lechevalier, S., 2014. Diversity In Patterns of Industry Evolution: How an


Intrapreneurial Regime Contributed to The Emergence of The Service Robot
Industry. elsevier.

Mulyanto, E., 2009. Teori Pengolahan Citra Digital. Yogyakarta: ANDI.

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.

Nuswantoro, D., 2013. Optimasi Algoritma Support Vector Machine (SVM).


Jurnal Teknologi Informasi, Volume 9, pp. 40-41.

Safaat H, N., 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC


Berbasis Android. Bandung: Informatika.

Sayyid, A. R., 2015. Kontrol Mobil Robot Menggunakan Hand Gesture


Recognition Dengan Metode Adaptive Neuro-Fuzzy Interference System
(ANFIS). ALHAZEN.

Schmitt, H., 1970. Photoresistor Circuit For Light Measuring Arrangements.


Washington DC: U.S Patent.

Shapiro, L. & Stockman, G., 2000. Computer Vision. s.l.:s.n.

Shawe-Taylor, J. & Cristianini, N., 2000. Support Vector Machines and other
kernel-based learning methods. Cambridge: Cambridge University.

xxiii

Anda mungkin juga menyukai