INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI (Graphical User Interface)

(1)

INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI

(Graphical User Interface)

Tugas Akhir

Oleh

Rahmat Fauzi Siregar

20130120154

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

2017


(2)

INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI

(Graphical User Interface)

Tugas Akhir

Diajukan Guna Memenuhi Persyaratan untuk Memperoleh Gelar Sarjana pada Fakultas Teknik Program Studi Teknik

Elektro Universitas Muhammadiyah Yogyakarta

Oleh

Rahmat Fauzi Siregar

20130120154

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

2017


(3)

PERNYATAAN

ii

Dengan ini saya,

Nama : Rahmat Fauzi Siregar Nomor mahasiswa : 20130120154

Menyatakan bahwa skripsi ini dengan judul: “ INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI (Graphical User Interface) ” 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 dalam Daftar Pustaka. Apabila ternyata dalam skripsi ini diketahui terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain maka saya bersedia karya tersebut dibatalkan

Yogyakarta, 20 Maret 2017


(4)

iii

MOTTO

ALLAH selalu memberikan senyum dibalik kesedihan dan selalu memberikan harapan dibalik keputus-asaan.

Bila ingin mendapatkan sesuatu, belajarlah dengan memberi sesuatu.

Kesungguhan dalam hidup kita dengan berpegang teguh pada keyakinan akan membawa kita kepada kesuksesan.

Ilmu tanpa adanya agama adalah sesuatu kecacatan, dan agama tanpa ilmu merupakan kebutaan.

Keraguan bukan merupakan lawan dari keyakinan, namun keraguan adalah bagian dari keyakinan.

Untuk mencapai tujuan akhirmu, kamu harus bersabar.

Aku tidak khawatir akan jadi apa aku di masa depan nanti, apa aku akan berhasil atau gagal. Tapi yang pasti apa yang

aku lakukan sekarang akan membentukku di masa depan nanti.

Jika kau tidak bisa mengendalikan emosi dan pikiranmu, kau akan lemah.


(5)

PERSEMBAHAN

iv

Pertama-tama, penulis mengucapkan terima kasih kepada Allah swt, yang telah memberikan anugerah dan kesehatan sehingga penulis bisa menyelesaikan skripsi ini.

Terselesaikannya skripsi ini tidak terlepas dari dukungan, semangat, kritik, saran dan doa dari berbagai pihak, oleh karena itu penulis mengucapkan terimakasih kepada:

1. Dr. Ramadhoni Syaputra S.T., M.T., sebagai pembimbing I, yang telah mengarahkan penulis dalam menyusun skripsi ini;

2. M. Yusvin Mustar, S.T., M.Eng., sebagai pembimbing II, yang juga telah mengarahkan penulis dalam menyusun skripsi ini.

3. Seluruh keluarga besar Mekar dan Balakka, yang selalu memberi dorongan dan bantuan.

4. Ibu, yang selalu memberikan doa dan semangat.

5. Teman-teman terhebat Andri Pradana Siregar, Hartono Lubis, Yoga Himawan, Fachreza N.B, Adi Nugroho, teman-teman Teknik Elektro D, dan seluruh rekan-rekan seangkatan yang turut memberi masukan.

6. Seluruh Staf dan Karyawan Teknik Elektro UMY

7. Semua pihak yang tak mungkin penulis sebut satu persatu, yang telah memberikan bantuan.

Akhir kata, penulis berharap agar skripsi ini memberikan manfaat terutama bagi penulis dan pembaca.

Yogyakarta, 20 Maret 2017

Penulis


(6)

v

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ... ii

MOTTO ... iii

PERSEMBAHAN ... iv

DAFTAR ISI ... v

INTISARI ... viii

BAB I ... 1

PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 2

1.3 Tujuan Penelitian ... 2

1.4 Manfaat Penelitian ... 3

BAB II ... 4

TINJAUAN PUSTAKA DAN LANDASAN TEORI ... 4

2.1 Tinjauan Pustaka ... 4

2.2 Landasan Teori ... 6

2.2.1 Interaksi Manusia Dan Robot ... 6

2.2.2 Sisterm Kendali Robot ... 7

2.2.3 Java NetBeans IDE (Versi 8.2) ... 10

2.2.4 Arduino Mega 2560 ... 14

2.2.5 Library RxTx (Version 2.2) ... 21


(7)

vi

2.2.7 L298 Dual H-Bridge Driver ... 23

2.2.8 Komunikasi Data ... 24

2.2.9 RCTimer Radio Telemetry Kit 433MHz ... 28

2.3 Hipotesis ... 30

BAB III ... 31

METODE PENELITIAN ... 31

3.1 Bahan Penelitian ... 31

3.2 Alat Penelitian ... 31

BAB IV ... 41

HASIL DAN PEMBAHASAN ... 41

4.1 Hasil Penelitian ... 41

4.1.1 Tampilan Program ... 41

4.1.2 Tampilan Kit Robot Mobil Pintar 4WD ... 45

4.2 Pembahasan ... 46

4.2.1 Source Code Pada GUI ... 46

4.2.1.1 Penjelasan Source Code GUI ... 55

4.2.2 Source Code Pada Arduino Mega 2560 ... 66

4.2.2.1 Penjelasan source code pada Arduino IDE ... 67

4.2.3 Perancangan dan Wiring Kit Robot Mobil Pintar 4WD ... 71

4.3 Cara Kerja Alat ... 73

4.4 Pengujian ... 74

4.4.1 Prinsip Kerja GUI ... 74

4.4.2 Prinsip Kerja Tombol Koneksi ... 75

4.4.3 Prinsip Kerja Tombol Navigasi ... 78


(8)

vii

4.4.5 Judul , Nama Universitas, Logo dan Versi ... 86

4.4.6 Jarak jangkauan Transmisi ... 87

BAB V ... 88

KESIMPULAN DAN SARAN ... 88

5.1 Kesimpulan ... 88

5.2 Saran ... 89

DAFTAR PUSTAKA ... 90


(9)

(10)

(11)

INTISARI

Perkembangan teknologi interaksi pada umumnya, tidak lepas dari pesatnya perkembangan teknologi interaksi manusia dan komputer saat ini, sehingga mendukung user untuk dapat mengembangkan berbagai model interaksi, khususnya interaksi manusia dan robot. Penelitian ini mengusulkan sebuah perancangan dan pembuatan model interaksi manusia dan robot, dalam bentuk tampilan visual pengontrolan gerak robot pada komputer. Objek interaksi yang digunakan pada penelitian ini adalah kit mobil pintar 4 WD. Beberapa tools digunakan untuk membangun sebuah sistem pengontrolan robot pada saat melakukan interaksi, diantaranya Netbeans IDE dan Arduino. Algoritma kontrol diterapkan untuk membangun sebuah sistem pengontrolan yang optimal dalam memodelkan sebuah interaksi manusia dan robot. Model interaksi manusia dan robot sepenuhnya dilakukan oleh user dalam mengontrol gerak robot. Model interaksi yang diusulkan dapat diimplementasikan secara riil, dalam merancang dan membuat sebuah pemodelan interaksi manusia dan robot.


(12)

(13)

1

BAB I

PENDAHULUAN

1.1Latar Belakang

Interaksi manusia dan komputer (IMK) adalah sebuah disiplin ilmu yang mempelajari perancangan, implementasi, dan evaluasi sistem komputasi interaktif berbagai aspek terkait, dalam perkembangannya teknologi interaksi saat ini sangat begitu pesat, khususnya pada interaksi manusia dan robot, dapat dilihat dari banyaknya produsen electronics dan

software, yang menawarkan berbagai jenis tools yang dapat digunakan untuk merancang dan membuat sebuah model interaksi yang lebih praktis dan efisien. Model interaksi membantu manusia untuk mengerti apa yang terjadi diantara pengguna dan sistem, menerjemahkan tujuan, antara apa yang diinginkan user dan apa yang harus dikerjakan sistem.

Robot yang digunakan sebagai media objek interaksi manusia dan robot adalah kit robot mobil pintar 4 WD (4 wheel driverobot smart car kit). Robot kit mobil pintar memiliki fungsi gerak yang dapat bergerak maju, mundur, belok kanan, maupun belok kiri. Setiap pergerakan robot digerakkan menggunakan motor DC yang telah terpasang pada tiap-tiap roda robot, gambar 1.1 memperlihatkan kit robot mobil pintar dengan 4 buah roda penggerak.


(14)

2 Algoritma dan pengontrolan robot di buat dan diterapkan untuk

membangun sistem pengontrolan yang optimal dalam melakukan interaksi pada robot. Beberapa tools diperlukan untuk membuat sistem pengontrolan, diantaranya penggunaan software Netbeans IDE sebagai pemrosesan data pengontrolan pergerakan robot, dan pemodelan visual interaksi, sedangkan Arduino yang menggunakan mikrokontroler, berfungsi sebagai sistem pengontrol motor DC untuk menghasilkan gerakan robot. Sistem yang dibangun diharapkan mampu menghasilkan sebuah pemodelan interaksi manusia dan robot, serta dapat diimplementasikan secara riil, sehingga mampu memberikan nuansa baru dalam berinteraksi dengan robot.

1.2Perumusan Masalah

Saat ini model interaksi manusia dan robot, banyak dimodelkan dalam bentuk pengontrolan berupa tombol (button) ON/OFF dan remote control baik itu secara wireless maupun menggunakan cable, berbeda halnya dengan interaksi manusia dan robot yang dikerjakan pada penelitian ini. Interaksi manusia dan robot yang dilakukan pada penelitian ini dimodelkan dalam bentuk tampilan visual pada komputer dalam melakukan pengontrolan gerakan robot. User menjadi operator sepenuhnya dalam melakukan pengendalian interaksi, sehingga dengan adanya pemodelan interaksi ini, dapat menambahkan model interaksi manusia dan robot, yang telah ada sebelumnya. Tampilan visual dirancang dalam GUI (Grapchical User Interface) dibangun di atas software NetBeans IDE.

1.3Tujuan Penelitian

Merancang dan mengimplementasikan model interaksi manusia dan robot, dalam bentuk GUI (Graphical User Interface) dalam melakukan pengontrolan gerakan robot.


(15)

3 1.4Manfaat Penelitian

Kegiatan penelitian ini diharapkan dapat memberikan manfaat sebagai berikut:

1. GUI (Grapchical User Interface) dapat dirancang sesuai dengan kebutuhan.

2. Pengontrolan robot dengan cable atau wireless yang memakai sistem remote memerlukan komponen tambahan dan biaya yang lebih mahal, sehingga dapat digantikan dengan memakai sistem visual.

3. Bagi akademisi, penelitian ini dapat dikembangkan sehingga nantinya dapat diaplikasikan pada bidang lain yang akan memberikan manfaat lebih luas.


(16)

4

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1Tinjauan Pustaka

Beberapa penelitian yang berhubungan dengan Interaksi Manusia-Robot (Human – Robot Interaction) dan Graphical User Interface (GUI) diantaranya :

Interaksi manusia-robot memungkinkan pertukaran informasi antara pengguna manusia dengan berbagai jenis mesin, komputer dan perangkat elektronik lainnya. Interaksi dengan perangkat modern ini paling sering dilakukan melalui visual, auditori atau taktil antarmuka pengguna (Jaka Sodnik dan Saso Tomazic, 2015).

Pengujian software secara umum dan Graphical User Interface (GUI) khususnya adalah salah satu tantangan utama dalam siklus hidup dari setiap sistem perangkat lunak. Pengujian GUI secara inheren lebih sulit daripada pengujian antarmuka tradisional (remote control) dan command-line. Beberapa faktor yang membuat pengujian GUI berbeda dari pengujian perangkat lunak tradisional dan secara signifikan lebih sulit adalah: sejumlah besar objek, tampilan yang berbeda dan nuansa objek, banyak parameter yang terkait dengan setiap objek, pengungkapan progresif, input yang kompleks dari berbagai sumber, dan output grafis. Teknik – teknik pengujian yang sudah ada perlu disesuaikan / ditingkatkan untuk GUI, dan teknik pengujian baru yang diinginkan bertujuan untuk menciptakan sesuatu yang lebih efesien dan efektif (Zafar Singhera, Ellis Horowitz dan Abad Shah, 2009).

Graphical User Interface (GUI) adalah bagian penting dari setiap aplikasi perangkat lunak bagi pengguna pada saat ini dan GUI juga harus memenuhi kriteria berikut : significant design, development, dan testing activities (Zafar Singhera, Ellis Horowitz dan Abad Shah, 2009).

GUI memberikan cara yang lebih mudah dalam menggunakan berbagai fungsi aplikasi dengan cara mengorganisirnya kedalam bentuk


(17)

5 hirarki pilihan dan hanya menyajikan pilihan yang masuk akal sesuai

dengan konteks. GUI mengatur tindakan standar pengguna dan paradigma bekerja ke berbagai komponen yang disajikan secara grafis untuk pengguna kedalam berbagai bentuk penggunaan dan konteks aplikasi. GUI meningkatkan kegunaan dari aplikasi secara signifikan, tetapi juga membuat pengembangan aplikasi, pengujian dan pemeliharaan yang secara signifikan lebih sulit (Zafar Singhera, Ellis Horowitz dan Abad Shah, 2009).

Dalam pengaplikasiannya GUI mempunyai beberapa sifat diantaranya : menggunakan modus asynchronous dalam pengoperasiannya, menggunakan input dan output non – tradisional, dan mempunyai struktur yang hirarkis untuk berinteraksi dengan pengguna sehingga membuat pengujiannya berbeda secara signifikan dan lebih sulit dari pengujian perangkat lunak tradisional (Zafar Singhera, Ellis Horowitz dan Abad Shah, 2009).


(18)

6 2.2Landasan Teori

2.2.1 Interaksi Manusia Dan Robot

Kehadiran robot dalam kehidpan manusia makin hari disadari makin banyak manfaatnya. Robotic tidak lagi dipandang sebagai ilmu yang berkembang hanya dalam konteks teknologi (fisik) saja, namun semakin hari semakin banyak masalah yang berkaitan dengan lingkungan hidup manusia yang perlu juga diambil perhatian (Yusvin, Santosa dan Rudy, 2014).

Tujuan mendasar dari interaksi manusia dan robot adalah untuk mengembangkan prinsip-prinsip dan algoritma pada sistem robot yang membuatnya mampu berinteraksi secara langsung dengan aman dan efektif pada manusia, interaksi manusia-robot (HRI) dapat dipandang juga sebagai proses komunikasi untuk mencapai tujuan pengguna, komunikasi dapat dilakukan dalam modalitas yang beragam termasuk dialog suara, gerak tubuh, manipulasi langsung, dan ekspresi wajah. Interaksi antara manusia dan robot didefinisikan, membutuhkan komunikasi antara robot dan manusia, komunikasi antara manusia dan robot dapat diambil dalam beberapa bentuk, tetapi bentuk-bentuk tersebut sebagian besar dipengaruhi oleh apakah manusia dan robot berada pada ruang lingkup yang berdekatan satu sama lain atau tidak (Yusvin 2014).

Interaksi antara manusia dengan robot atau mesin ( human-machine interactions) dapat dinyatakan dalam 3 tingkatan, yaitu:

 Manusia sebagai kontroler robot sepenuhnya,  Manusia sebagai manager dari operasi robot, dan  Manusia dan robot berada dalam kesetaraan.

Seperti kebanyakan artefak teknologi lainnya, robot memerlukan antarmuka pengguna untuk berinteraksi dengan orang-orang atau manusia. Pada awalnya paradigma interaksi manusia-robot hanya terdiri dari akting manusia pada mesin, dengan hanya


(19)

7 menekan tombol (button) untuk menyelesaikan sebuah tugas,

gambar 2.1 memperlihatkan paradigma tradisional sebuah interaksi manusia dengan robot atau mesin (Yusvin 2014).

Gambar 2.1. Paradigma tradisional interaksi manusia dengan robot atau mesin

2.2.2 Sisterm Kendali Robot

Sistem kendali dapat dikatakan sebagai hubungan antara komponen yang membentuk sebuah konfigurasi sistem, yang akan menghasilkan tanggapan sistem yang diharapkan. Jadi harus ada yang dikendalikan, yang merupakan suatu sistem fisis, yang biasa disebut dengan kendalian (plant).

Pada dasarnya sistem kendali terdiri atas beberapa komponen dasar, yaitu berupa masukan, proses pengendalian, dan keluaran. Masukan dan keluaran merupakan variabel atau besaran

fisis. Keluaran merupakan hal yang dihasilkan oleh kendalian, artinya yang dikendalikan. Masukan adalah yang mempengaruhi kendalian, yang mengatur keluaran. Kedua dimensi masukan dan keluaran tidak harus sama (Rinda Hedwig, 2004).

Menurut (Rinda Hedwig, 2004) Secara umum, tujuan sistem kendali adalah untuk mengendalikan keluaran dari berbagai masukan tertentu melalui unsur-unsur sistem kendali. Secara garis besar, sistem kendali dapat dibagi menjadi dua kategori yaitu sistem


(20)

8 kendali terbuka (open loop system) dan sistem kendali tertutup

(close loop system).

a. Sistem Kendali Terbuka (Open Loop System)

Sistem kendali terbuka (open loop system) adalah suatu sistem yang keluarannya tidak mempunyai pengaruh terhadap aksi kontrol. Artinya, sistem kendali terbuka keluarannya tidak dapat digunakan sebagai umpan balik dalam masukan.

Gambar 2.2. Diagram blok sistem kendali terbuka

Dari gambar 2.2 di atas dapat diketahui persamaan untuk sistem kendali terbuka :

Dalam suatu sistem kendali terbuka, keluaran tidak dapat dibandingkan dengan masukan acuan. Jadi, untuk setiap masukan acuan berhubungan dengan operasi tertentu, sebagai akibat ketetapan dari sistem tergantung kalibrasi. Dengan adanya gangguan, open loop system tidak dapat melaksanakan tugas sesuai yang diharapkan. Open loop system dapat digunakan hanya jika hubungan antara masukan dan keluaran diketahui dan tidak terdapat gangguan internal maupun eksternal.

Sistem kendali terbuka (feed-forward control) adalah suatu sistem kontrol yang keluarannya tidak diperhitungkan ulang pada kontroler.

C(s) = R(s).Gc(s).G(s)...(2.2.a)

� �


(21)

9 b. Sistem Kendali Tertutup (Close Loop System)

Sistem kendali tertutup (Close Loop System) adalah sistem kontrol yang sinyal keluarannya mempunyai pengaruh langsung pada aksi pengontrolan, sistem kendali tertutup juga merupakan sistem kontrol berumpan balik. Sinyal kesalahan penggerak, yang merupakan selisih antara sinyal masukan dan sinyal umpan balik (yang dapat berupa sinyal keluaran atau suatu fungsi sinyal keluaran atau turunannya, diumpankan ke kontroler untuk memperkecil kesalahan dan membuat agar keluaran sistem mendekati harga yang diinginkan. Dengan kata lain, istilah “Close Loop System” berarti

menggunakan aksi umpan – balik untuk memperkecil kesalahan sistem.

Gambar 2.3. Diagram blok Sistem Kendali Tertutup

Dari gambar 2.3 di atas dapat diketahui persamaan yang digunakan dalam sistem kendali tertutup :

Pada Gambar 2.3 menunjukkan hubungan masukan dan keluaran dari sistem kendali tertutup. Jika dalam hal ini manusia bekerja sebagai operator, maka manusia ini akan menjaga sistem agar tetap pada keadaan yang diinginkan, ketika terjadi perubahan pada sistem maka manusia akan melakukan langkah – langkah awal pengaturan sehingga sistem kembali bekerja pada keadaan yang diinginkan.


(22)

10 2.2.3 Java NetBeans IDE (Versi 8.2)

a. Awal Sejarah NetBeans IDE

(NetBeans, 25-Des-2016), Netbeans dimulai pada tahun 1996 sebagai Xelfi (kata bermain pada Delphi ), Java IDE proyek mahasiswa di bawah bimbingan Fakultas Matematika dan Fisika di Charles University di Praha. Pada tahun 1997 Staněk Romawi membentuk perusahaan sekitar proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystems pada tahun 1999. Komunitas NetBeans sejak terus tumbuh, berkat individu dan perusahaan yang menggunakan dan berkontribusi dalam proyek ini.

b. Pengertian Java dan JDK (Java Development Kit)

(Oracle, 25-Des-2016), Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsysytems pada pertengahan tahun 1990. Menurut definisi Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu:

Programming-language specification

Application-programming interface

Virtual-machine specification JDK (Java Development Kit)

Java Development Kit (JDK) adalah produk dari Sun Microsystems yang ditujukan untuk pengembang Java. Sejak diperkenalkannya Java, telah jauh SDK Java yang paling banyak digunakan. Pada tanggal 17 November 2006, Sun mengumumkan bahwa akan dirilis di bawah GNU General Public License (GPL),


(23)

11 sehingga membuat perangkat lunak bebas. JRL (Java Research

License) ini dibuat khusus untuk universitas dan peneliti yang ingin menggunakan teknologi Java sebagai subyek pembelajaran dan penelitian.

c. Karakteristik Java

Bahasa pemograman java adalah pengembangan dari bahasa pemograman C/C++, sehingga dengan mereka yang sudah terbiasa dengan C/C++ tidak akan mengalami kesulitan mempelajari bahasa pemograman Java.

Java adalah bahasa pemrograman yang sederhana dan tangguh. Berikut ini adalah beberapa karakteristik dari Java sesuai dengan white paper dari SUN :

 Berorientasi Object, Java telah menerapkan konsep pemograman berorientasi object yang modern dalam implementasinya.

 Java mendorong pemograman yang bebas dengan kesalahan yang bersifat strongly typed dan memiliki

run time checking.

Portable, pemograman Java berjalan pada sistem operasi apapun yang memiliki Java Virtual Machine.  Multithreding, Java mendukung pemograman

multithreding dan terintegrasi secara langsung dalam bahasa Java.

 Dinamis, program Java dapat melakukan sesuatu tindakan yang ditentukan pada saat eksekusi program dan pada saat kompilasi.

 Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.

 Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.


(24)

12  Aman, aplikasi yang dibuat dengan bahasa Java lebih

dapat dijamin keamanannya terutama untul aplikasi internet.

 Netral secara arsitektur, Java tidak terkait pada suatu mesin atau mesin operasi tertentu.

Interpreted, aplikasi java bisa dieksekusi pada platform yang berbeda-beda karena melakukan interpretasi pada bytecode.

 Berkinerja tinggi, bytecode Java telah teroptimasi dengan baik sehingga eksekusi program dapat dilakukan dengan cepat.

d. Pengertian NetBeans IDE

NetBeans adalah Integrated Development Environment

(IDE) berbasiskan Java dari Sun Microsystems yang berjalan di atas

Swing. Swing adalah sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat bejalan di berbagai macam platforms

seperti Windows, Linux, Mac OS X dan Solaris (Heiko Bock, 2009). Suatu IDE adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi perangkat lunak yang menyediakan pembangun Graphic User Interface (GUI), suatu text atau kode

editor, suatu compiler atau interpreter dan suatu debugger. NetBeans merupakan software development yang Open Source, dengan kata lain software ini di bawah pengembangan bersama dan bebas biaya. NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk : NetBeans IDE dan Netbeans Platform (Heiko Bock, 2009).


(25)

13 NetBeans IDE adalah sebuah lingkungan pengembangan

sebuah tools untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. NetBeans IDE ditulis dalam Java, namun dapat mendukung bahasa pemrograman lain. Terdapat banyak modul untuk memperluas Netbeans IDE (Heiko Bock, 2009).

Menurut (Heiko Bock, 2009) NetBeans IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan. Tersedia juga Netbeans Platform sebuah fondasi yang modular dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang besar. Mitra ISV menyediakan plug-in bernilai tambah yang dapat dengan mudah diintegrasikan ke dalam platform dan dapat juga digunakan untuk membuat tools dan solusi sendiri. Produk ini merupakan kode terbuka (open source) dan bebas (free) untuk penggunaan komersial dan non komersial. Kode sumber tersedia untuk guna ulang dengan lisensi Common Development and Distribution License (CDDL), gambar 2.4 memperlihatkan tampilan NetBeans IDE.


(26)

14 2.2.4 Arduino Mega 2560

Arduino dikenal sebagai platform computing fisik atau

embedded, yang berarti sistem interaktif yang dapat berinteraksi dengan lingkungannya melalui penggunaan perangkat keras dan perangkat lunak. Arduino dapat merasakan lingkungan dengan menerima masukan (input) dari berbagai sensor serta dapat mempengaruhi sekitarnya dan mampu mengendalikan sebuah lampu, motor, aktuator, dan lainnya. Mikrokontroler pada papan (board) rangkaiannya dapat diprogram menggunakan bahasa pemrograman Arduino (berdasarkan Wiring) dan lingkungan pengembangan Arduino (berdasarkan Processing). Proyek Arduino dapat berdiri sendiri atau dapat berkomunikasi dengan perangkat lunak yang berjalan pada komputer. Halaman web Arduino dapa dilihat pada http://www.arduino.cc/, begitupun forum diskusi antara sesama pengguna Arduino dapat dilihat pada http://forum.arduino.cc/ (Yusvin 2014).

Untuk meng-compile, menulis dan men-download program Arduino dibutuhkan software yang bernama Arduino IDE atau biasa disebut dengan sketch, gambar 2.5 memperlihatkan tampilan dari Arduino IDE.


(27)

15 Tipe Arduino yang digunakan pada penelitian ini adalah

Arduino Mega 2560, (Arduino Genuino, 2016), Arduino Mega 2560 adalah tipe jenis Arduino yang cukup populer digunakan. Selain memiliki pin masukan dan keluaran yang banyak, Arduino jenis ini memiliki kapasitas memori yang lebih besar dibandingkan dengan beberapa jenis Arduino lainnya. Untuk ukuran dimensi perangkatnya, Arduino Mega 2560 termasuk jenis Arduino dengan ukuran board yang besar. Gambar 2.6 menunjukkan bentuk fisik Arduino Mega 2560. Adapun Spesifikasi singkat mengenai Arduino Mega 2560 adalah sebagai berikut :

 Mikrokontroler : ATmega2560

 Tegangan Operasional : 5V

 Tegangan Masukan (direkomendasi) : 7-12V

 Tegangan Masukan (batas) : 6-20V

 Pin Digital I/O : 54 ( 14 pin untuk keluaran PWM)

 Analog Input Pins : 16

 Arus DC per I/O Pin : 40 mA

 Arus DC for 3.3V Pin : 50 mA

 Memori Flash :256 KB(8 KB

digunakan untuk bootloader)

 SRAM : 8 KB

 EEPROM : 4 KB

 Clock Speed : 16 MHz


(28)

16 a. Mikrokontroler Arduino Mega 2560

Mikrokontroler yang digunakan pada Arduino Mega 2560 ini adalah Mikrokontroler ATMega 2560. Mikrokontroler ini menjadi komponen utama dari sistem minimum Arduino Mega 2560. Setiap pin mikrokontroler ATMega 2560 dipetakan sesuai dengan kebutuhan standar Arduino pada umumnya. Pemetaan pin (pin mapping) ATMega 2560 dapat dilihat pada gambar 2.7.

Gambar 2.7. Mikrokontroler Atmega 2560

b. Memori Program

Arduino Mega 2560 memiliki 250 Kbyte On-chip In-System Reprogrammable Flash Memory sebagai tempat menyimpan program. Memori flash ini dibagi kedalam dua bagian, yaitu bagian program bootloader dan aplikasi. Bootloader adalah program kecil yang dieksekusi saat setelah pertama kali sistem dinyalakan.

Bootloader ini bekerja sebagai perantara antara memori program dengan software compiler Arduino. Bootloader akan menerima file hasil kompilasi yang telah di upload ke Arduino dan akan menyimpannya ke memori program kemudian Arduino akan langsung mengeksekusi program tersebut. Peta memori program dapat dilihat pada gambar 2.8.


(29)

17 Gambar 2.8. Peta Memori Program

c. Memori Data

Memori data pada Arduino Mega 2560 terbagi atas SRAM dan EEPROM. SRAM bersifat volatile atau dengan kata lain tidak memiliki kemampuan untuk menyimpan data secara konsisten setelah catu daya dimatikan sedangkan EEPROM nonvalatile. SRAM yang dimiliki Arduino Mega 2560 berukuran 8 KB dan EEPROM berukuran 4 KB. Ukuran EEPROM yang dimiliki Arduino jenis ini adalah ukuruan EEPROM yang paling besar diantara beberapa jenis Arduino lainnya sehingga EEPROM yang dimiliki Arduino jenis ini dapat dimanfaatkan untuk kebutuhan sistem dengan memori data yang besar.

d. Pin Input / Output

Arduino Mega 2560 memiliki 54 pin digital yang dapat digunakan sebagai masukan atau keluaran menggunakan fungsi

pinMode(), dan menentukan proses penulisan atau pembacaan data

I/O menggunakan fungsi digitalWrite() dan digitalRead(). Setiap pin beroperasi pada tegangan 5 volt, mampu menerima atau menghasilkan arus maksimum sebesar 40 mA dan memiliki 20 - 50 Kohm resistor pull-up internal (diputus secara default).

Pin digital ini selain berfungsi sebagai masukan dan keluaran digital namun juga dapat berfungsi sebagai pin dengan fungsi khusus seperti untuk komunikasi UART (pin 0 sebagai RX dan pin 1 sebagai TX), komunikasi SPI, komunikasi I2C, external interrupt


(30)

18 dengan fungsi khusus, maka register yang terkait dengan fungsi

khusus tersebut harus dikonfigurasi terlebih dahulu. Konfigurasi register - register tersebut telah disediakan di pustaka (library) Arduino. Selain fitur pin digital, Arduino Mega 2560 juga memiliki 16 pin analog yaitu pin A0 sampai A15 dan setiap pin menyediakan resolusi sebesar 10 bit.

e. Catu Daya

Arduino dapat diberikan catu daya melalui koneksi USB atau catu daya dari luar non-USB seperti melalui Adaptor AC to DC dan baterai. Jangkauan tegangan yang dapat disuplai ke Arduino sebesar 4 – 20 Volt. Namun tegangan yang direkomendasikan yaitu dari 7 – 12 Volt.

f. Komunikasi Serial

Komunikasi serial merupakan metode pengiriman data berurut bit demi bit melalui sebuah saluran transmisi. Komunikasi serialmemiliki kelebihan diantaranya adalah transimisi data yang dapat dilakukan hanya dengan melalui sebuah saluran sehingga mengurangi cost yang dikeluarkan untuk kebutuhan saluran transmisi. Karena hanya membutuhkan satu saluran, maka cara komunikasi ini selalu digunakan untuk komunikasi jarak jauh. Walaupun jarak dekat, komunikasi ini juga sering digunakan dalam komunikasi jarak dekat yang tidak membutuhkan kecepatan tinggi. Namun saat ini teknologi yang digunakan pada perkembangan komunikasi serial semakin canggih sehingga masalah kecepatan transmisi sudah cukup teratasi.

Komunikasi serial dapat dilakukan dengan dua cara yaitu sinkron atau asinkron. Dikatakan sinkron ketika sisi pengirim dan sisi penerima menggunakan clock bersama. Dikatakan asinkron ketika sisi pengirim dan sisi penerima menggunakan clock


(31)

masing-19 masing (tersendiri) dan dengan frekuensi clock yang hampir sama.

Arduino menyediakan kedua jenis komunikasi serial tersebut baik sinkron ataupun asinkron. Jenis komunikasi serial asinkron yang disediakan oleh Arduino adalah UART (TTL logic) sedangkanjenis komunikasi serial sinkron salah satunya adalah SPI.

UART (Universal Asynchronous Receiver/Transmitter) merupakan perangkat komunikasi serial yang bekerja dengan metode asinkron. Pada komunikasi serial ini setiap pengiriman 1

byte data akan diawali dengan pengiriman bit pertama berupa start bit yang berlogika 0 (low) dan diakhiri dengan stop bit yang berlogika 1 (high). Sehingga setiap pengiriman 1 byte data setidaknya dibutuhkan dibutuhkan 10 bit data untuk satu kali pengiriman. Selain itu untuk penambahan fungsi pengecekan eror dengan menggunakan bit paritas (parity bit) dapat dilakukan dengan menyisipkan bit tersebut pada akhir frame sebelum stop bit. Format data UART dapat dilihat pada gambar 2.9.

Gambar 2.9. Format data UART

UART memiliki beberapa fitur yang digunakan dalam melakukan komunikasi diantaranya seperti: receive/transmit buffer, shift register,clock generator, parity generator, parity checker. Sebelum melakukan pengiriman atau penerimaan data, clock

generator akan bekerja dengan membangkitkan clock lokal milik pengirim/penerima. Setiap data yang akan dikirim akan dimuati ke


(32)

20 dikirim ke penerima. Sama seperti pada proses pengiriman data, data

yang diterima akan dimuati shift register PISO kemudian data tersebut dimuati ke receive buffer. Pengaturan format data, pengaturan baudrate serta beberapa pengaturan fitur-fitur perangkat UART lainnya diatur pada register-register khusus UART.

Pada Arduino Mega 2560 terdapat pin TX dan RX yang digunakan sebagai saluran transmit dan receive bagi perangkat komunikasi serial UART. Pada Arduino, inisialisasi komunikasi seri serial UART dilakukan dengan memanfaatkan fungsi

Serial.begin(n) dengan (n) adalah nilai baudrate. Inisialisasi ini melakukan penentuan baudrate, penentuan format datadan memampukan perangkat UART sebagai receiver atau transmitter.

Selanjutnya dengan menggunakan fungsi Serial.print(), Arduino dapat mengirimkan serangkaian karakter-karakter dengan tipe data

char (char array/string) ke komputer. Data yang diterima atau dikirim oleh Arduino dapat dimonitor menggunakan serial terminal yang telah disediakan di IDE Arduino.

Salah satu jenis komunikasi serial sinkron yang dimiliki oleh Arduino adalah SPI (Serial Peripheral Interface). Komunikasi antara dua perangkat yang menggunakan SPI berlandaskan hubungan master (induk) dan slave (budak). Master dapat berupa mikrokontroler sedangkan slave (budak) dapat berupa mikrokontroler atau perangkat selain mikrokontroler. Pin yang diperlukan dalam komunikasi SPI umumnya menggunakan empat pin yaitu pin MOSI (Master Out Serial In) atau dalam istilah lain SDO (Serial Data Out), pin MISO (Master Out Serial In) atau dalam istilah lain SDO (Serial Data Out), pin SCK (Serial Clock), SS (Slave Select). Perangkat yang dikonfigurasi sebagai master selain bertindak sebagai sumber clock bersama melalui pin SCK. juga bertindak sebagai pemilih perangkat slave melalui pin SS.


(33)

21 Konfigurasi fungsi SPI dapat dilihat pada gambar dibawah pada

gambar 2.10.

Gambar 2.10. Konfigurasi pin SPI

Pada komunikasi antara Arduino dengan komputer, digunakan chip ATMega8U2 yang telah diprogram oleh pabrikan Arduino sebagai serial to USB converter on board. Chip

ATMega8U2 ini mengantarai komunikasi Antara ATMega 2560 (main processor) dengan komputer.

2.2.5 Library RxTx (Version 2.2)

Bahasa pemrograman Java juga mendukung komunikasi serial yang melalui serial port. Untuk dapat melakukan komunikasi serial tersebut bisa menggunakan/memanfaatkan salah satu library

yaitu RxTx.

Library tersebut mendukung komunikasi serial yang diterapkan pada sebuah program berbasis Java. Library ini juga bisa digunakan dibeberapa platform seperti Linux, Solaris dan windows. Pada penelitian ini penulis menggunakan Library RxTx versi 2.2 sebagai komunikasi serial antara Arduino dengan Netbeans yang memiliki kemampuan lebih baik dari versi sebelumnya.

2.2.6 Motor DC (Dirrect Current)

(C. T. Leondes, 1972) Motor DC adalah piranti elektronik yang mengubah energi listrik menjadi energi mekanik berupa gerak rotasi. Pada motor DC terdapat jangkar dengan satu atau lebih kumparan terpisah. Tiap kumparan berujung pada cincin belah (komutator). Dengan adanya insulator antara komutator, cincin


(34)

22 belah dapat berperan sebagai saklar kutub ganda (double pole,

double throw switch). Motor DC bekerja berdasarkan prinsip gaya

Lorentz, yang menyatakan ketika sebuah konduktor beraliran arus diletakkan dalam medan magnet, maka sebuah gaya (yang dikenal dengan gaya Lorentz) akan tercipta secara ortogonal diantara arah medan magnet dan arah aliran arus. Mekanisme ini diperlihatkan pada Gambar 2.11.

Gambar 2.11. Bagan mekanisme motor DC

Motor DC yang digunakan pada robot beroda umumnya adalah motor DC dengan magnet permanen. Motor DC jenis ini memiliki dua buah magnet permanen sehingga timbul medan magnet di antara kedua magnet tersebut. Di dalam medan magnet inilah jangkar (rotor) berputar. Jangkar yang terletak di tengah motor memiliki jumlah kutub yang ganjil dan pada setiap kutubnya terdapat lilitan. Lilitan ini terhubung ke area kontak yang disebut komutator. Sikat (brushes) yang terhubung ke kutub positif dan negatif motor memberikan daya ke lilitan sedemikian rupa sehingga kutub yang satu akan ditolak oleh magnet permanen yang berada di dekatnya, sedangkan lilitan lain akan ditarik ke magnet permanen yang lain sehingga menyebabkan jangkar berputar. Ketika jangkar berputar, komutator mengubah lilitan yang mendapat pengaruh polaritas medan magnet sehingga jangkar akan terus berputar selama


(35)

23

N =

���− �� ��

...(5.1) Keterangan:

��� : Tegangan Terminal

�� : Arus Jangkar Motor

�� : Hambatan Jangkar Motor K : Konstanta Motor

� : Fluks Magnet

kutub positif dan negatif motor diberi daya. Kecepatan putar motor DC (N) dirumuskan dengan Persamaan berikut :

Pengendalian kecepatan putar motor DC dapat dilakukan dengan mengatur besar tegangan terminal motor VTM. Metode lain yang biasa digunakan untuk mengendalikan kecepatan motor DC adalah dengan teknik modulasi lebar pulsa atau Pulse Width Modulation (PWM).

2.2.7 L298 Dual H-Bridge Driver

(L298 Dual H – Bridge Driver, 25-Des-2016) IC L298

adalah IC Dual Full Bridge Driver yang beroperasi sampai tegangan 46 V dan arus DC 4 A, yang didesain untuk menerima logic level TTL standar. IC ini berfungsi untuk men-drive induksi beban seperti relai, solenoida, motor DC dan motor steper. Gambar 2.12 di bawah ini adalah blok diagram IC L298 :


(36)

24 L298 mempunyai 2 output power stage yaitu A dan B pada

gambar 4.1. Output power stage adalah sebuah konfigurasi bridge, dimana output-nya dapat men-drive sebuah induktif beban secara mode umum atau diferensial, tergantung pada input state-nya. Arus yang mengalir keluar dari rangkaian bridge keluar melalui pin output sense, dimana sense output dihubungkan dengan resistor external RsA dan RsB. Dengan adanya resistor RsA dan RsB dapat diketahui intensitas arusnya.

IC L298 sudah dikemas dalam bentuk modul. Modul ini sudah banyak di jual dipasaran, gambar 2.13 Berikut menunjukkan konfigurasi pin pada modul L298 Dual H-Bridge Driver :

Gambar 2.13. Konfigurasi pin L298 Dual H-Bridge Driver

2.2.8 Komunikasi Data

(Behrouz A. Forouzan, 2012) Komunikasi merupakan suatu kata yang dapat diartikan sebagai cara untuk menyampaikan atau menyebarluaskan data dan informasi. Komunikasi data adalah bagian dari komunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer dan piranti-piranti yang lain dalam bentuk digital yang dikirim melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital.


(37)

25 a. Komponen Komunikasi Data

Sebuah komunikasi data terdapat data, transmitter, media transmisi, receiver dan tujuan. Keterangan untuk masing-masing fungsinya Sebagaimana yang ditunjukkan Gambar 2.14 dibawah ini adalah sebagai berikut :

Gambar 2.14. Diagram blok komunikasi data

 Data / Sumber (Source) : Merupakan komponen yang bertugas mengirimkan informasi.

Transmitter : berfungsi untuk mengubah data / informasi yang akan dikirim menjadi bentuk yang sesuai dengan media transmisi.

 Media Transmisi : Merupakan jalur transmisi tunggal atau jaringan transmisi kompleks yang menghubungkan sistem sumber dengan sistem tujuan. Media transmisi dapat disebut pembawa (carrier).

Receiver : berfungsi mengubah informasi yang diterima dari pengirim melalui media transmisi.  Tujuan (Destination) : Merupakan tujuan

pengeriman data.

b. Metode Transmisi

Berdasarkan aliran datanya komunikasi data terbagi menjadi tiga kategori, yaitu sebagai berikut :

1. Metode Simplex : Merupakan salah satu jenis komunikasi data yang mengirimkan informasi hanya dalam satu arah, gambar 2.15 menunjukkan aliran data dari metode simplex.


(38)

26 Gambar 2.15. Komunikasi simplex

2. Metode Half Duplex : Pada sistem half duplex pesan dapat dikirimkan dalam dua arah. Jenis komunikasi half duplex terjadi ketika data dapat mengalir dalam dua arah, namun hanya satu arah pada satu waktu, gambar 2.16 menunjukkan aliran data dari metode half duplex.

Gambar 2.16. Komunikasi half duplex

3. Metode Full Duplex : Pada jenis komunikasi Full duplex, komunikasi dapat terjadi dalam dua arah secara bersamaan, karena jalur pengiriman dan penerimaan data berbeda, gambar 2.17 menunjukkan aliran data dari metode full duplex.

Gambar 2.17. Komunikasi full duplex

c. Universal Asynchronous Receiver Transmitter (UART)

Universal Asynchronous Receiver Transmitter atau biasa disingkat UART adalah bagian perangkat keras komputer yang


(39)

27 menerjemahkan antara bit-bit paralel data dan bit-bit serial.

UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. UART sekarang ini termasuk di dalam beberapa mikrokontroler. Keping UART biasanya terdiri dari :

 Penyangga (buffer) Transmit/Receive

 Pengendali (control) Transmit/Receive

 Penyangga Bus Data  Logika Kendali Read/Write

 Kendali Modem

Universal Asynchronous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan, seperti yang ditunjukkan pada gambar 2.18.

Gambar 2.18. Format data UART

Pada Gambar 2.18 terdapat beberapa parameter yang dapat diatur yaitu start bit, parity bit, dan stop bit. Pengaturan


(40)

28 ini harus sama antara pengirim dan penerima karena jika tidak

maka data tidak akan diterima. Data yang dikirim adalah data berukuran 8 bit atau 1 byte. Jika ditambah dengan 3 parameter diatas maka total bit data yang dikirim adalah 11 bit. Dari format data inilah setiap data yang terbaca dapat diterjemahkan menjadi bit-bit yang merepresentasikan data tertentu.

Sebenarnya tidak semua terdapat error dalam pengiriman data UART. Terjadinya error hanya terjadi ketika kita menggunakan clock mikrokontroler untuk nilai tertentu saja. Pada paket data UART, clock yang dikirimkan bergantung dari nilai baud rate. Karena protokol ini universal, maka baud rate

yang ada adalah nilai-nilai tetap yang tidak bisa diubah ubah dari kisaran nilai 110 sampai 11059200 bps (bit per second) atau lebih. Semakin cepat clock yang digunakan maka baud rate akan semakin cepat juga.

2.2.9 RCTimer Radio Telemetry Kit 433MHz

Perangkat radio telemetri ini dibuat berbasis 3DR Radio System dan 100% kompatibel. Di desain sebagai open source

telemetri sebagai pilihan lain dari Xbee. Dapat berkomunikasi dari jarak jauh sekitar 1 Mil. Sistem pada telemetri ini menggunakan komunikasi full-duplex menggunakan modul HopeRF HM - TRP

yang telah dikostumisasi dengan firmware open source. Interface

perangkat ini mengggunakan TTL serial standar 5V atau USB FTDI Serial. Untuk memperbarui dan mengatur pengaturan modul ini dapat menggunakan APM Mission Planner. Konfigurasi juga dapat dilakukan dengan 3DR Radio Configurator ataupun AT Command, gambar 2.19 menunjukkan bentuk fisik dari RCTimer Radio Telemetry Kit 433 MHz (Data Sheet RCTimer Radio Telemetry Kit 433 MHz).


(41)

29 Gambar 2.19. RCTimer Radio Telemetry Kit 433 MHz

Beberapa spesifikasi dari modul ini adalah sebagai berikut :  Menggunakan frekuensi 433 MHz

 Sensitifitas penerima sampai -121 dBm  Transmit power sampai 20dBm (100mW)  Menggunakan komunikasi serial

Air rate sampai 250 Kbps

 Paket Protokol MAVLink dan status laporan  Frequency Hopping Spread Spectrum (FHSS)  Adaptive Time Division Multiplexing (TDM)  Mendukung LBT dan AFA

 Dibuat dengan koreksi error (sampai 25% bit error)


(42)

30 2.3Hipotesis

Penelitian ini mempunyai hipotesis apakah Graphical User Interface (GUI) sesuai dengan kebutuhan user dan apakah software mampu mengontrol object yaitu kit mobil pintar 4 WD, baik itu maju, mundur, belok kiri, ataupun belok kanan.


(43)

31

BAB III

METODE PENELITIAN

3.1Bahan Penelitian

Penelitian ini menggunakan bahan – bahan berupa dokumen yang berbentuk hardcopy seperti buku, publikasi, dan jurnal, maupun dokumen yang softcopy seperti ebook atau PDF. Penelitian ini juga menggunakan perangkat lunak (software) seperti driver perangkat keras (hardware),

library yang dibutuhkan perangkat lunak atau fungsi – fungsi yang tersedia pada sistem operasi. Software yang digunakan diantaranya NetBeans IDE 8.2 dan Arduino IDE 1.6.13, untuk hardware menggunakan laptop dengan

processor core i5, RAM 4GB, sistem operasi Windows 10 64 bit dan Arduino Mega 2560, dan untuk library menggunakan RxTx.

3.2Alat Penelitian

Penelitian ini menggunakan alat – alat sebagai berikut :

1. Seperangkat laptop Sony Vaio VPCEG18FG dengan spesifikasi Intel Core I5 2410M (2.30 GHz dengan Turbo Boost Up To 2.90 GHz Sandy Bridge), HDD 500 GB (SATA III), RAM 4 GB, VGA NVIDIA Geforce 410M (512 MB Total With Shared 2.3 GB),

display 14 Inch, dengan sistem operasi Windows 10 64 bit.

2. Arduino Mega 2560 dengan spesifikasi memiliki 54 digital pin input

/ output (yang 15 dapat digunakan sebagai output PWM), 16 analog

input, 4 UART (hardware port serial), 16 MHz osilator kristal, koneksi USB, jack listrik, header ICSP, dan tombol reset.

3. Software NetBeans IDE 8.2 beserta library RxTx. 4. Software Arduino IDE 1.6.13.

5. Modul RCTimer Radio Telemetry Kit 433MHz.

6. 1 set kit robot mobil pintar dan kabel jumper male to male. 7. BateraiTurnigy Lipo 1800 mah 3S 20C.


(44)

32 3.3 Cara Penelitian

Penilitian ini dilakukan dengan beberapa tahapan seperti yang ditunjukkan oleh gambar 3.1 sebagai berikut :

Gambar 3.1. Diagram blok tahapan penelitian

1. Menelusuri informasi – informasi dari literature – literature, internet, maupun dari dosen pembimbing.

2. Melakukan instalasi – instalasi software seperti NetBeans IDE 8.2 beserta library RxTx, Arduino IDE 1.6.13, dan driver RCTimer Radio Telemetry.

3. Melakukan pemodelan tentang proses dari perangkat lunak yang akan dikembangkan. Pemodelan ini disertai dengan kebutuhan fungsi, user requirement, dan perkiraan penyelesaian dalam bentuk


(45)

33 4. Membuat diagram blok atau flowchart tentang bagaiman perangkat

lunak berjalan.

5. Melakukan penulisan bahasa pemrograman. 6. Melakukan evaluasi dan perbaikan.

Penelitian ini menggunakan metode waterfall model (model air terjun) yaitu sebuah metode yang bertujuan untuk membantu mengatasi kerumitan yang terjadi akibat proyek – proyek pengembangan perangkat lunak. Model ini memungkinkan pemecahan misi pengembangan yang rumit menjadi beberapa langkah logis (kebutuhan, spesifikasi, desain, kode, unit tes, pengujian, dan pemeliharaan) dengan beberapa langkah yang pada akhirnya akan menjadi produk akhir yang siap pakai. Untuk memastikan bahwa sistem bisa dijalankan, setiap langkah membutuhkan validasi, masukan, dan kriteria yang ada. Gambar 3.2 memperlihatkan diagram dari metode waterfall model.


(46)

34 Langkah awal pada pendekatan metode waterfall adalah

pengumpulan dan penganalisisan kebutuhan user. Ketika kebutuhan telah ditetapkan, desain dan pengembangan akan dapat dikerjakan. Model ini mengasumsikan bahwa kebutuhan sudah diketahui dan apabila sudah ditetapkan, mereka tidak akan berubah atau segala perubahan menjadi tidak berarti. Kondisi ini menjadi kasus untuk pengembangan sistem dengan arsitektur dan tujuan sistem yang secara menyeluruh telah diinvestigasi. Bagaimanapun, jika terjadi perubahan kebutuhan yang signifikan pada saat spesifikasi sistem sudah final dan produk sudah selesai dikembangkan, model tersebut bukanlah model yang terbaik untuk mengatasi masalah yang akan timbul. Untuk memenuhi kebutuhan dan kepuasan user dibuatlah sebuah model pendekatan yang menyediakan sebuah bentuk prototipe dari sebagian maupun kesuluruhan sistem. Sebuah protipe adalah bagian dari produk yang mengekspresikan logika maupun fisik antarmuka eksternal

yang ditampilkan. Gambar 3.3 menunjukkan flowchart pendekatan prototipe pada umumnya.


(47)

35 Langkah yang kedua adalah spesifikasi dari perangkat lunak yang

sesuai dengan kebutuhan user, spesifikasi ditetapkan setelah analisis kebutuhan user telah divalidasi dan sesuai dengan kriteria yang inginkan oleh user.

Langkah yang ketiga adalah desain, daalam water fall model desain ada dua, yaitu desain tingkat tinggi (High Level Design [HLD]) dan desain tingkat rendah (Low Level Design [LLD]).

a. Desain Tingkat Tinggi (High Level Design [HLD])

HLD adalah proses untuk menentukan sisi internal dan

eksternal dari perspektif sebuah komponen. Tujuannya adalah sebagai berikut :

1. Untuk mengembangkan fungsi eksternal dan antarmuka , yaitu :

 Antarmuka penggunak eksternal.

 Antarmuka program aplikasi.  Antarmuka program sistem.

 Antarmuka antarkomponen dan struktur data.

2. Desain struktur komponen internal yang mencakup antarmuka antarkomponen dan struktur data.

3. Memastikan bahwa semua kebutuhan fungsi telah terpenuhi.

4. Memastikan bahwa semua komponen sesuai dengan struktur produk dan sistem.

5. Memastikan bahwa desain komponen diselesaikan dengan sempurna.


(48)

36 b. Desain Tingkat Rendah (Low Level Design [LLD])

LLD adalah sebuah proses untuk mengubah HLD menjadi desain yang lebih terperinci dari sudut pandang per bagian (modules, macros, includes, dan seterusnya). Tujuan LLD adalah sebagai berikut :

1. Finalisasi desain komponen dan bagaian (modules, macros, includes) di dalam sistem atau produk.

2. Menyelesaikan seluruh rencana uji komponen.

3. Memberikan umpan balik tentang HLD dan verifikasi perubahan yang dilakukan pada HLD.

Langkah yang keempat adalah tahap pengodean, bagian pengodean ini menghasilkan perubahan fungsi dari LLD menjadi benar – benar terkodekan. Tugasnya adalah membuat kode untuk setiap bagian (modules, macros, includes), melakukan pengujian terhadap pengodean yang telah dilakukan, melakukan verifikasi terhadap perubahan HLD dan LLD.

Langkah yang kelima unit tes, unit tes adalah pengujian pertama dari modul yang mampu dieksekusi (executable). Tujuannya adalah sebagai berikut:

1. Memverifikasi kode terhadap desain tingkat tinggi dan desain tingkat rendah.

2. Mecoba seluruh kode, baik kode baru ataupun lama untuk memastikan bahwa fungsinya dilakukan ke seluruh sistem, pembenaran logika, dan verifikasi jalur data.

3. Melihat kembali seluruh pesan kesalahan (error), kode kembali, dan reaksi.

4. Memberikan umpan balik mengenai kode , HLD, dan LLD.


(49)

37 Langkah yang keenam uji komponen, uji komponen

mengevaluasi gabungan dari bagian perangkat lunak setelah seluruhnya diintegrasikan ke dalam sistem. Tujuannya adalah sebagai berikut :

1. Uji antarmuka dengan pengguna eksternal terhadap dokumentasi desain komponen.

2. Uji antarmuka program aplikasi dengan dokumentasi desain komponen.

3. Uji fungsi terhadap dokumentasi desain komponen. 4. Uji antarmuka antarkomponen (tingkat modul) terhadap

dokumentasi desain komponen.

5. Uji pemulihan kerusakan dan pesan terhadap dokumentasi desain komponen.

6. Verifikasi komponen sudah selesai dan bisa diterima dalam batasan kualitas.

7. Uji jalur gabungan (multitasking) dan sumber gabungan (file, lock, queues, dan seterusnya) terhadap dokumentasi desain komponen.

8. Uji fungsi yang tidak diubah terhadap dokumentasi desain komponen.

Perancangan alat harus mempunyai gambaran pembangun GUI dan objek kendali dan bagaimana alat dapat bekerja. GUI dan objek kendali mempunyai beberapa komponen sebagai pembangunnya yang digambarkan dalam bentuk blok diagram maupun flowchart. Pada penelitian ini berikut masing –masing cara kerja dan komponen – komponen pembangunnya :


(50)

38 1. Diagram Blok Pembangun GUI

Gambar 3.3. Diagram blok pembangun GUI

Pada penelitian ini komponen yang dibutuhkan untuk membangun sebuah GUI adalah laptop, modul radio 3DR telemetry transmitter dan software NetBeans 8.2. GUI dirancang di dalam software NetBeans dengan memanfaaatkan Java application berupa Jframe Form. Jframe Form merupakan tempat GUI di rancang dan desain. Agar GUI bekerja sesuai dengan peneltian yang dilakukan dibutuhkan beberapa library seperti JDK 1.8 (Default), absolute layout dan RxTxcomm. Library JDK 1.8

(Default) dan absolute layout berfungsi untuk mendesain GUI sedangkan library RxTxcomm berfungsi sebagai komunikasi serial. Gambar 3.3 di atas menunjukkan diagram blok dari pembangun GUI.


(51)

39

Receivier Transmitter

2. Diagram Blok Sistem

Gambar 3.4. Diagram blok sistem

Pada gambar 3.4 menunjukkan diagram blok sistem penerima (receiver) dan pengirim (transmitter). Sistem penerima (receiver) terdiri dari beberapa komponen. Fungsi dari tiap - tiap komponen sebagai berikut :

a. Arduino Mega 2560 berfungsi sebagai sistem kendali. b. Battery 3S, 25C, 1800mah berfungsi sebagai sumber

tegangan Arduino Mega 2560 dan Driver L298N Dual H-Bridge.

c. Driver L298N Dual H-Bridge berfungsi sebagai driver

motor DC.

d. Motor DC berfungsi sebagai penggerak tiap roda pada mobil kit pintar.

e. Radio 3DR Telemetry 433MHz Receivier berfungsi sebagai penerima data.


(52)

40 Sistem pengirim (transmitter) terdiri dari beberapa

komponen. Fungsi dari tiap - tiap komponen sebagai berikut : a. Radio 3DR Telemetry 433MHz Transmitter berfungsi

sebagai pengirim data.

b. Computer berfungsi sebagai alat pengontrolan robot melalui perancangan GUI yang berjalan berdasarkan software NetBeans 8.2.

Pada penelitian ini komunikasi Arduino Mega 2560 dengan GUI menggunakan metode simplex (satu arah). Gambar 3.4 menunjukkan diagram blok komunikasi antara Arduino Mega 2560 dengan GUI.


(53)

41

BAB IV

HASIL DAN PEMBAHASAN

4.1Hasil Penelitian

4.1.1 Tampilan Program

Sesuai dengan metode penelitian pada bab III B, penelitian ini menghasilkan 3 buah desain Graphical User Interface (GUI) seperti yang ditunjukkan oleh gambar 4.1, gambar 4.2, dan gambar 4.3.

Gambar 4.1. Desain GUI version 1.0


(54)

42 Gambar 4.3. Desain GUI version 1.2

Desain Graphical User Interface pada gambar 4.1, gambar 4.2, gambar 4.3 diatas dirancang berdasarkan metode kombinasi warna terbaik dan kombinasi warna terjelek. Kombinasi warna pada sebuah desain GUI berfungsi untuk menghindari mata dari kelelahan, terlihat lebih menarik, dan memudahkan user dalam memahami GUI. Berikut tabel kombinasi warna terbaik dan kombinasi warna terjelek dalam mendesain GUI yang ditunjukkan pada gambar 4.4 dan gambar 4.5.


(55)

43 .

Gambar 4.4. Kombinasi warna terbaik

Gambar 4.5. Kombinasi warna terjelek

Desain GUI yang digunakan pada penelitian adalah desain GUI versi 1.2. Desain ini dipilih berdasarkan hasil dari kuisioner yang dipilih oleh beberapa peserta kuisoner. Pada desain GUI versi 1.0 dua orang memilih sangat buruk, lima orang memilih buruk, dua belas orang memilih baik dan tujuh orang memilih sangat baik. Pada desain GUI versi 1.1 satu orang memilih sangat buruk, dua orang


(56)

44 memilih buruk, delapan belas orang memilih baik dan lima orang

memilih sangat baik. Pada desain GUI versi 1.2 satu orang memilih sangat buruk, empat orang memilih buruk, sebelas orang memilih baik dan sepuluh orang memilih sangat baik. Gambar 4.6 menunjukkan hasil kuisioner yang sudah dibuat.


(57)

45 4.1.2 Tampilan Kit Robot Mobil Pintar 4WD

Kit robot mobil pintar 4WD ini dirancang dengan beberapa komponen, seperti yang ditunjukkan oleh gambar 4.7 yaitu :

a. Arduino Mega 2560.

b. Driver L298N dual H-Bridge. c. 4 buah motor DC.

d. Modul Radio 3DR Telemetry 433MHz Receivier.

e. Battery 3S, 25C, 1800mah. f. 1 buah switch.

g. Beberapa kabel jumper male to male.


(58)

46

package GUI_White;

import gnu.io.CommPortIdentifier;

import gnu.io.SerialPort;

import gnu.io.SerialPortEvent;

import gnu.io.SerialPortEventListener;

import java.awt.Color;

import static java.awt.image.ImageObserver.ERROR; import java.io.IOException;

import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration;

import java.util.TooManyListenersException;

import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.ImageIcon; import javax.swing.JOptionPane; /**

*

* @author Sony-Vaio */

public class Frame_GUI extends javax.swing.JFrame

implements SerialPortEventListener {

private static final String FORWARD = "F"; private static final String REVERSE = "B"; private static final String RIGHT = "R"; private static final String LEFT = "L"; private static final String STOP = "S"; /**

* Creates new form Frame_GUI */

private OutputStream output = null; private InputStream input = null; SerialPort serialPort;

private final String PORT = "COM3";

private static final int TIMEOUT = 2000; private static final int DATA_RATE = 57600; 4.2Pembahasan

4.2.1 Source Code Pada GUI

Rancangan GUI pada penelitian ini dibuat berdasarkan

JFrame Form yang terdapat pada software NetBeans dan source code di bawah ini :


(59)

47

public Frame_GUI() { initComponents();

butwifi.setVisible(true); butoff.setVisible(true);

setTitle(" Control Systems Robot Smart Car Kit Based GUI with Java Programming. ");

}

public void inisialKoneksi() {

CommPortIdentifier portID = null; Enumeration portEnum =

CommPortIdentifier.getPortIdentifiers(); while (portEnum.hasMoreElements()) { CommPortIdentifier actualPortID = (CommPortIdentifier) portEnum.nextElement(); if

(PORT.equals(actualPortID.getName())) { portID = actualPortID; break;

} }

if (portID == null) { mostrarError("error"); System.exit(ERROR); }

try {

serialPort = (SerialPort)

portID.open(this.getClass().getName(), TIMEOUT);

serialPort.setSerialPortParams(DATA_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_NONE);

output = serialPort.getOutputStream(); } catch (Exception e) {

mostrarError(e.getMessage()); System.exit(ERROR);

} try {

input = serialPort.getInputStream(); } catch (IOException ex) {

Logger.getLogger(Frame_GUI.class.getName()).log(Lev el.SEVERE, null, ex);

} try {

serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); } catch (TooManyListenersException ex) {


(60)

48 Logger.getLogger(Frame_GUI.class.getName()).log(Lev

el.SEVERE, null, ex); }

}

@Override

public void serialEvent(SerialPortEvent spe) { if (spe.getEventType() ==

SerialPortEvent.DATA_AVAILABLE) {

byte[] readBuffer = new byte[20]; try {

int numBytes = 1;

while (input.available() >0) { numBytes =

input.read(readBuffer); }

//areasensor.append(new

String(readBuffer, 0, numBytes, "us-ascii"));

} catch (IOException e) { System.out.println(e); }

} }

private void kirimData(String data) { try {

output.write(data.getBytes()); } catch (Exception e) {

mostrarError("Tidak Konek"); System.exit(ERROR);

} }

public void closeSerial(){ if(serialPort!=null){

serialPort.removeEventListener(); serialPort.close();

new Frame_GUI().setVisible(false);

JOptionPane.showMessageDialog(this, "no koneksi!\n");

} }

public void mostrarError(String mensaje) { JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);


(61)

49 @SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed"

desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

mundur = new javax.swing.JButton(); maju = new javax.swing.JButton(); kiri = new javax.swing.JButton(); kanan = new javax.swing.JButton();

butwifi = new javax.swing.JToggleButton(); txtwifi = new javax.swing.JLabel();

lblwifi = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); butoff = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);

setMaximumSize(new java.awt.Dimension(490,

430));

setMinimumSize(new java.awt.Dimension(490,

430));

setPreferredSize(new java.awt.Dimension(490, 430)); setResizable(false);

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); mundur.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/mun durx.png"))); // NOI18N

mundur.setMaximumSize(new java.awt.Dimension(50, 50));

mundur.setMinimumSize(new java.awt.Dimension(50, 50));

mundur.setPreferredSize(new java.awt.Dimension(50, 50));

mundur.addMouseListener(new java.awt.event.MouseAdapter() { public void

mousePressed(java.awt.event.MouseEvent evt) { mundurMousePressed(evt); }

});

mundur.addActionListener(new java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { mundurActionPerformed(evt);

} });


(62)

50 getContentPane().add(mundur, new

org.netbeans.lib.awtextra.AbsoluteConstraints(340,

190, 80, 80));

maju.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/maj ux.png"))); // NOI18N

maju.addMouseListener(new java.awt.event.MouseAdapter() { public void

mousePressed(java.awt.event.MouseEvent evt) { majuMousePressed(evt);

} });

maju.addActionListener(new java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { majuActionPerformed(evt);

} });

getContentPane().add(maju, new

org.netbeans.lib.awtextra.AbsoluteConstraints(340,

90, 80, 80));

kiri.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/kir ix.png"))); // NOI18N

kiri.addMouseListener(new java.awt.event.MouseAdapter() { public void

mousePressed(java.awt.event.MouseEvent evt) { kiriMousePressed(evt);

} });

kiri.addActionListener(new java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { kiriActionPerformed(evt);

} });

getContentPane().add(kiri, new

org.netbeans.lib.awtextra.AbsoluteConstraints(60,

140, 100, 70));

kanan.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/kan anx.png"))); // NOI18N

kanan.addMouseListener(new java.awt.event.MouseAdapter() { public void

mousePressed(java.awt.event.MouseEvent evt) { kananMousePressed(evt);

} });


(63)

51 kanan.addActionListener(new

java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { kananActionPerformed(evt);

} });

getContentPane().add(kanan, new

org.netbeans.lib.awtextra.AbsoluteConstraints(170,

140, 100, 70));

butwifi.setBackground(new java.awt.Color(71, 71, 71));

butwifi.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/ON. png"))); // NOI18N

butwifi.setBorder(javax.swing.BorderFactory.create EmptyBorder(1, 1, 1, 1));

butwifi.addActionListener(new java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { butwifiActionPerformed(evt); }

});

getContentPane().add(butwifi, new

org.netbeans.lib.awtextra.AbsoluteConstraints(20,

20, 30, 30));

txtwifi.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/wif i-empty-xxl.png"))); // NOI18N

getContentPane().add(txtwifi, new

org.netbeans.lib.awtextra.AbsoluteConstraints(420,

20, 50, 30));

lblwifi.setFont(new java.awt.Font("Vani",

1, 14)); // NOI18N

lblwifi.setText("Press to Connection"); getContentPane().add(lblwifi, new

org.netbeans.lib.awtextra.AbsoluteConstraints(60,

20, 150, 30));

jLabel1.setFont(new java.awt.Font("Times New Roman", 3, 24)); // NOI18N

jLabel1.setText("Muhammadiyah Yogyakarta");

getContentPane().add(jLabel1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(120,

310, 410, 40));


(64)

52 jLabel4.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Logo _of_Muhammadiyah_University_of_Yogyakarta.png")));

// NOI18N

getContentPane().add(jLabel4, new

org.netbeans.lib.awtextra.AbsoluteConstraints(20,

300, 80, 80));

jLabel5.setFont(new java.awt.Font("Times New Roman", 3, 24)); // NOI18N

jLabel5.setText("University"); getContentPane().add(jLabel5, new

org.netbeans.lib.awtextra.AbsoluteConstraints(210,

350, 140, -1));

jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

jLabel6.setText("Version 1.2"); getContentPane().add(jLabel6, new

org.netbeans.lib.awtextra.AbsoluteConstraints(410,

370, 80, 30));

butoff.setBackground(new java.awt.Color(71,

71, 71));

butoff.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/OFF. png"))); // NOI18N

butoff.setBorder(null);

butoff.addActionListener(new java.awt.event.ActionListener() { public void

actionPerformed(java.awt.event.ActionEvent evt) { butoffActionPerformed(evt);

} });

getContentPane().add(butoff, new

org.netbeans.lib.awtextra.AbsoluteConstraints(20,

20, 30, 30));

jLabel2.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/FX4. jpg"))); // NOI18N

getContentPane().add(jLabel2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0,

480, 400));

setBounds(0, 0, 496, 437);


(65)

53

private void

majuActionPerformed(java.awt.event.ActionEvent evt)

{//GEN-FIRST:event_majuActionPerformed

kirimData(STOP); maju.setIcon(new ImageIcon("src/majux.png"));

}//GEN-LAST:event_majuActionPerformed

private void

majuMousePressed(java.awt.event.MouseEvent evt)

{//GEN-FIRST:event_majuMousePressed

kirimData(FORWARD); maju.setIcon(new ImageIcon("src/majuon.png"));

}//GEN-LAST:event_majuMousePressed

private void

mundurActionPerformed(java.awt.event.ActionEvent

evt) {//GEN-FIRST:event_mundurActionPerformed

kirimData(STOP); mundur.setIcon(new ImageIcon("src/mundurx.png"));

}//GEN-LAST:event_mundurActionPerformed

private void

mundurMousePressed(java.awt.event.MouseEvent evt)

{//GEN-FIRST:event_mundurMousePressed

kirimData(REVERSE); mundur.setIcon(new ImageIcon("src/munduron.png"));

}//GEN-LAST:event_mundurMousePressed

private void

kananActionPerformed(java.awt.event.ActionEvent

evt) {//GEN-FIRST:event_kananActionPerformed

kirimData(STOP); kanan.setIcon(new ImageIcon("src/kananx.png"));

}//GEN-LAST:event_kananActionPerformed

private void

kananMousePressed(java.awt.event.MouseEvent evt)

{//GEN-FIRST:event_kananMousePressed

kirimData(RIGHT); kanan.setIcon(new ImageIcon("src/kananon.png"));

}//GEN-LAST:event_kananMousePressed

private void

kiriActionPerformed(java.awt.event.ActionEvent evt)

{//GEN-FIRST:event_kiriActionPerformed

kirimData(STOP); kiri.setIcon(new ImageIcon("src/kirix.png"));


(1)

87 Gambar 4.47. Tampilan judul, nama universitas, logo dan

versi

4.4.6 Jarak jangkauan Transmisi

Pengukuran jarak jangkuan transmisi antara GUI dengan robot dilakukan di Stadion Maguwoharjo. Jarak yang dapat dijangkau sekitar 960 meter.

Setelah pengujian dilakukan dan GUI berjalan dengan baik, selanjutnya merubah GUI menjadi sebuah software yang dapat berjalan di atas sistem operasi Windows dan Macintosh. Agar dapat berjalan di atas sistem operasi Windows dan Macintosh, GUI dibuat mejadi sebuah installer

menggunakan software Advanced Installer 13.5. Software ini bernama JavaDuino V1.2.


(2)

88

BAB V

KESIMPULAN DAN SARAN

5.1Kesimpulan

Berdasarkan penelitian ini, dapat diambil kesimpulan sebagai berikut :

1. Dalam merancang GUI memerlukan beberapa prototipe yang nantinya dapat menjadi dasar sebagai rancangan GUI.

2. GUI dapat diimplementasikan sebagai model interaksi manusia dan robot dalam melakukan pengontrolan gerakan robot.

3. Dalam merancang GUI kebutuhan user adalah sesuatu yang sangat penting untuk dipertimbangkan sebagai dasar rancangan GUI.

4. Dengan menggunakan pendekatan pada metode air terjun (water fall), dapat dijadikan sebagai dasar untuk merancang sebuah software.

5. Dalam merancang GUI ada beberapa faktor – faktor yang perlu dipertimbangkan, yaitu pemilihan warna yang berdampak bagi kesehatan mata, estetika yang berdampak pada ketertarikan user dan

fleksibilitas software.

6. Software NetBeans memiliki keterbatasan dalam merancang sebuah

software yang ditujukan untuk Arduino, seperti belum adanya plug-in

yang ditujukan khusus untuk Arduino dan dukungan library yang kurang untuk Arduino.


(3)

89 5.2Saran

Dengan keterbatasan kemampuan dan sumber daya yang dimiliki, penulis menyadari bahwa terdapat banyak kekurangan dalam software dan dokumen yang dibuat. Sehubungan dengan itu ada beberapa saran yang mungkin dapat dilakukan demi kemajuan penelitian ini :

1. Seiring dengan perkembangan bahasa pemrograman java, penulis ingin kedepannya aplikasi ini dapat dirancang dengan menggunakan javaFX yang memiliki kemampuan lebih seperti lebih muda dibaca dan diperbaiki.

2. Untuk kedepannya, tampilan pembacaan sensor pada GUI dapat direalisasikan.

3. Dalam hal kompabilitas, software hanya dapat berjalan di atas sistem operasi Windows dan Machintos. Untuk itu penulis ingin kedepannya software dapat berjalan di semua sistem operasi.

4. Pembaharuan software diperlukan guna memenuhi kebutuhan dan kepuasan user, serta memaksimalkan kinerja dari software sesuai dengan sistem operasi yang terus berkembang.


(4)

90

DAFTAR PUSTAKA

[1] Mustar, M.Y., Santosa, P.I., dan Hartanto, Rudy. “ Perancangan Model Interaksi Manusia dan Robot Dalam Bentuk Tampilan Visual Pada Komputer ”. Yogyakarta: STMIK AMIKOM, 2014.

[2] Sodnik, Jaka., dan Tomazic, Saso. “ Spatial Auditory Human-Computer

Interfaces “. Springer. 1-2, 2015.

[3] Singhera, Zafar., Horowitz, Ellis., dan Shah, Abad. “ A Graphical User

Interface (GUI) Testing Methodology “. Chapter: 7.24, 1-3, 2009.

[4] Hedwig, Rinda. “ Teori Sistem “. Jakarta: Universitas Bina Nusantara,

1-12, 2004.

[5] Yusvin Mustar M. Media Interaksi Manusia-Robot Berbasis Sensor Accelerometer dan Flex (Khusus Gerak Tangan dan Lengan). M.Eng Thesis. Yogyakarta: Universitas Gadjah Mada; 2014.

[6] NetBeans. “ A Brief History Of NetBeans “, 25-Des-2016. [Online].

Available: https://netbeans.org/about/history.html. [Accessed: 25-Des-2016].

[7] “Java SE – Documentaion “, 25-Des-2016. [Online]. Available:http://www.oracle.com/technetwork/java/javase/documentation/ index.html. [Accessed: 25-Des-2016].

[8] Bock, Heiko. “ The Definitive Guide to NetBeans Platfotm “. Academic

PRESS. 1-14, 2009.

[9] “ Arduino Mega 2560 and Genuino Mega 2560 “ 25-Des-2016. [Online].

Available: https://www.arduino.cc/en/Main/ArduinoBoardMega2560. [Accessed: 25-Des-206].

[10] Leondes, C. T. “ Control and Dynamic Systems “. Academic PRESS, Inc. 39 (6), 1 – 34, 1972.

[11] “ Data Sheet L298 Dual Full – Bridge Driver “ 25-Des-2016. [Online]. Available: https://arduino-info.wikispaces.com/L298N-DataSheet. [Accessed: 25-Des-2016].


(5)

91 [12] Forouzan, Behrouz A. “ Data Communication and Networking “. Kansas:

The University of Kansas, (1), 6 – 17, 2009.

[13] “ Data Sheet RCTimer Radio Telemetry Kit 433 MHz “ 25-Des-2016. [Online]. Available: http://rctimer.com/product-834.html. [Accessed: 25-Des-2016].


(6)

92

LAMPIRAN

Human And Robot Interaction Based GUI (Graphical User Interface)

Tutorial penggunaan software Human And Robot Interaction Based GUI (Graphical User Interface)

1. Double klik pada icon Tutorial penggunaan software Human And Robot

Interaction Based GUI (Graphical User Interface).

2. Nyalakan robot dengan menekan saklar ke posisi ON.

3. Klik tombol koneksi untuk menghubungkan robot dengan software. 4. Klik tombol maju untuk menggerakkan robot ke depan.

5. Klik tombol mundur untuk menggerakkan robot ke belakang. 6. Klik tombol kanan untuk menggerakkan robot berputar ke kanan. 7. Klik tombol kiri untuk menggerakkan robot berputar ke kiri.

8. Klik tombol pemutus koneksi untuk memutuskan koneksi robot dengan

software.