• Tidak ada hasil yang ditemukan

INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI (Graphical User Interface)

N/A
N/A
Protected

Academic year: 2017

Membagikan "INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI (Graphical User Interface)"

Copied!
104
0
0

Teks penuh

(1)

INTERAKSI MANUSIA DAN ROBOT BERBASIS GUI

(Graphical User Interface)

Tugas Akhir

Oleh

Rahmat Fauzi Siregar

20130120154

FAKULTAS TEKNIK

(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

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

(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 drive robot 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

(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

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

(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

(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

(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

(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

(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

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

(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 diplug-integrasikan 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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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 433 MHz.

6. 1 set kit robot mobil pintar dan kabel jumper male to male.

(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

(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

(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

(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

(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

(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

(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

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

Rancangan GUI pada penelitian ini dibuat berdasarkan

JFrame Form yang terdapat pada software NetBeans dan source

(59)

47 Kit Based GUI with Java Programming. ");

} (CommPortIdentifier) portEnum.nextElement();

if

serialPort.setSerialPortParams(DATA_RATE,

SerialPort.DATABITS_8, SerialPort.STOPBITS_2,

SerialPort.PARITY_NONE);

(60)

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

el.SEVERE, null, ex); "ERROR", JOptionPane.ERROR_MESSAGE);

(61)

49 @SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed"

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

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

org.netbeans.lib.awtextra.AbsoluteLayout());

mundur.setIcon(new

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

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

mundurMousePressed(evt);

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

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

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

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

310, 410, 40));

Gambar

gambar 2.10.
Gambar 2.13. Konfigurasi pin L298 Dual H-Bridge Driver
Gambar 2.16. Komunikasi half duplex
Gambar 2.19. RCTimer Radio Telemetry Kit 433 MHz
+7

Referensi

Dokumen terkait

Penggunaan GUI pada persoalan dinamika gerak sistem katrol akan lebih efektif jika disertakan gambaran visual mengenai gerak sistem yang sesuai dengan input yang

Aplikasi fuzzy decision making untuk pemilihan obyek wisata di Yogyakarta dengan Metode Tahani telah dapat dirancang sekaligus diimplementasikan dengan GUI dan

Dengan sistem penjendelaan seorang pengguna dapat menampilkan sejumlah informasi yang berbeda pada masing-masing jendela sehingga pada saat yang bersamaan ia

Dalam perancangan perangkat lunak, terdapat tiga program yang mengacu pada aliran data dan alamat dari node menuju gateway, membedakan alamat atau data node satu dengan

pembelajaran didasari data instrumen angket media dan materi pembelajaran yang sebelumnya diujicobakan di lingkup kelas kecil yang terbagi kedalam beberapa aspek. Uji

 Swing adalah API (Application Programming Interface) untuk membuat GUI (Graphical User Interface) untuk aplikasi yang dibuat dengan Java... JFrame : Class yang dapat

Pada bab ini akan dijelaskan mengenai definisi grup kristalografi dan grup yang termasuk didalamnya, langkah-langkah pembentukan motif batik dengan grup kristalografi, dan

Mulai Import dan plotting data eksperimen Output : Sudut TIR dan sudut SPR beserta reflektansinya Input : Indeks bias n, ketebalan d dan interval sudut datang theta Output : Sudut