## Pemanfaatan Android Sebagai Media Pengontrol Robot Pemindah Kubus Berbasis Arduino UNO
Muhammad Furqon Siregar, ST
Universitas Sumatera Utara Magister Teknik Informatika Medan, Indonesia muhammad.furqon.srg@gmail.com
Abstrak —  Perkembangan  teknologi  android  membuat  meningkatnya  teknologi  dunia  terlebih  sebagai pemanfaatan pemantau jarak dekat maupun jarak jauh. Android bisa dikembangkan dengan ilmu robotika, sebagai  remote  sebuah  robot.  Seperti  halnya  komunikasi  bluetooth  dari  sebuah  robot  ke  perangkat  hp android.  Motor  servo  sebagai  pergerakan  yang  dapat  berputar  dari  0 0 s/d  360 0 .  Motor  DC  merupakan penggerak  yang  mempuyai  torsi  rpm  yang  sudah  ditentukan.  Motor  Driver  sebagai  pemutus  alur  listrik serta  mengatur  kecepatan  pada  port  motor  DC.  Pada  skema  ini  motor  DC  dihubungkan  ke  motor  driver, fungsinya sebagai penggerak roda, motor servo sebagai pemutar tuas dan capitan. Semua itu dihubungkan dalam board arduino UNO dan dikendalikan dari perangkat android, menggunakan software Arduino.IDE dan basic for android .
Kata Kunci : Motor DC, Motor Driver , Motor Servo, Arduino.IDE, Basic For Android.

## I. P ENDAHULUAN
Zaman  sudah  semakin  cangggih dan teknologi  yang semakin  berkembang,  dunia  telekomunikasi  dan informasi  sudah  menjadi  bagian  tren  hidup  masyarakat yang  tidak  bisa  di  pisahkan.  Kebutuhan  informasi  yang berkembang  pesat  di  era  globalisasi  ini,  masyarakat dapat  memanfaatkan  teknologi  tersebut,  dalam  contoh kecilnya  yaitu smartphone . Smartphone adalah  suatu teknologi  yang  sangat  popular,  banyak  digunakan kalangan  masyarakat  di  seluruh  dunia,  hal  tersebut dikarenakan  teknologi smartphone mempunyai  fungsi yang  sama  halnya  seperti  komputer. Smartphone lebih praktis dalam satu genggaman, dapat melakukan banyak hal,  seperti  mengetahui  berita  ter- update ,  komunikasi video call , video editing , pengetikan berkas menggunakan  teks, excel ,  maupun  sebagai  persentase, dan  banyak  lainnya  untuk  membantu  pekerjaan  kita sehari-hari nya.
Media pengontrol ( remote ) menggunakan Operating system android , dan modul robot menggunakan Arduino Uno . Komponen utama di dalam
papan  Arduino  adalah  sebuah  mikrokontroler  8  bit dengan  merk  ATmega  yang  dibuat  oleh Atmel Corporation. Pada  papan  Arduino  menggunakan  tipe ATmega yang berbeda-beda tergantung dari spesifikasinya.  Pada  perancangan  ini,  menggunakan Arduino Uno jenis IC ATmega328. Arduino tidak hanya sekedar  sebuah  alat  pengembangan,  tetapi  kombinasi dari hardware ,  bahasa  pemrograman  dan Integrated Development  Environment (IDE)  yang  canggih.  IDE adalah  sebuah  software  yang  sangat  berperan  untuk menulis program, meng- compile menjadi kode biner dan meng- upload ke dalam memory microcontroller . Untuk  tampilan  pada smartphone Android, menggunakan  aplikasi Basic  For  Android ( B4A ). Sedangkan untuk tampilan interface program, menggunakan aplikasi khusus arduino, yaitu “ arduino.ide ”. Penggunaan aplikasi tersebut yaitu untuk komunikasi  dari  arduino  ke desktop komputer (user) . Aplikasi  tersebut  sebagai  perintah  untuk  memasukkan program  ke  arduino,melalui  komunikasi port USB. Terdapat  penelitian  sebelumnya  yang  pernah  dilakukan
oleh  :  Asep  Saefullah,  Dewi  Immaniar,  Reza  Amar Juliansah  (2014),  dengan  hasil  penelitiannya Sistem Kontrol  Robot  Pemindah  Barang  Menggunakan Aplikasi  Android  Berbasis  Arduino  Uno .  Dalam penelitiannya, arduino sebagai otak dari perangkat yang sudah  dibangun,  diletak  dalam  sistematika  robot,  dan smartphone android  yang  berfungsi  sebagai  media pengontrol.  Untuk  media  komunikasi  android  ke perangkat, mereka menggunakan Bluetooth HC-06 yang merupakan  perangkat  yang  dapat  menerima  dan mengirim  sinyal  untuk  komunikasi  antara  smartphone android dengan mikrokontroler .

## II. LANDASAN TEORI
Dalam  perancangan  robot  pemindah  kubus, terdapat  beberapa  teori  dasar  yang  meliputi  komponen utama  dan software -nya.  Yang  mana  komponen  utama sebagai  otak  programnya  adalah  Arduino  Uno  seri  R3, interface pengendali  robot  menggunakan  HP user android,  serta software arduino.ide  dan basic  for android (B4A) .
A. Android
Android adalah sistem operasi berbasis kernel Linux yang  pada  awalnya  dikembangkan  oleh  Android.  Inc, yang didukung Google.  Android  itu sendiri,  merupakan sistem  operasi  untuk  telepon  seluler  yang    berbasis Linux. Android menyediakan platform terbuka bagi para pengembang  buat  menciptakan  aplikasi  mereka  sendiri untuk  digunakan  oleh  bermacam  piranti  bergerak. Android  adalah  pendatang  baru  yang  membuat  peranti lunak  untuk  ponsel  yang  dikembangkan  oleh  Google Inc. [1]

## 1. Keunggulan Android
Operating  System  Android tersebut  mempuyai beberapa kelebihan, seperti:
a. User  Friendly, dengan  sangat  mudah  meng- operasikan smartphone hanya  dengan  belajar  dari beberapa tutorial , user langsung  faham  meng- gunakannya,  informasi,  serta  tampilan  letak  tombol yang sistematis.
b. Notifications, pengguna  dengan  sangat  mudah mendapatkan  notifikasi  (berita)  dari smartphone android  dengan  fungsi  beberapa  akun Email , SMS, Voice Dial, Update maupun Upgrade.
c. Open  Source, Operating  system ini  memang  dibuat bebas  oleh  pembuatnya,  karena  berbasis  kernel Linux.
d. Aplikasi, Untuk  aplikasi  disajikan  berbagai  pilihan yang  menarik  dari  yang  gratis  hingga  berbayar,  dan langsung  bisa  mendownloadnya  di Google  Play Store , yakni miliknya Google.
2. Kelemahan Android Dibalik  kelebihan system android  tersebut  juga terdapat sisi kelemahannya, seperti:
a. Update  System , untuk  melakukan update system , harus  menunggu  dari  masing-masing  Vendor  untuk merilis Update versi yang terbaru.
b. Batterai  Cepat  Habis, hal  ini  sering  terjadi  jika anda  menggunakan widget serta  aplikasi  yang berjalan secara berlebihan.
B. Mikrokontroller
Mikrokontroler adalah  piranti  elektronik  berupa IC ( Integrated Circuit ) yang memiliki kemampuan manipulasi  data  (informasi)  berdasarkan  suatu  urutan instruksi  (program)  yang  dibuat  oleh programmer . Mikrokontroler merupakan  sebuah  sistem  komputer fungsional dalam  sebuah chip . Di dalamnya terkandung sebuah  inti  prosesor,  RAM  ( Random  Access  Memory ), memori  program,  dan  perlengkapan  input  output.  Cara kerja mikrokontroler membaca dan menulis data. [2]
C. Arduino Arduino  merupakan  rangkaian  elektronik  yang bersifat open source , serta memiliki perangkat keras dan lunak yang mudah untuk digunakan. Memiliki port input dan port output , sebagai perantara perintah masukan dan perintah pengiriman data (keluaran program).
1. Arduino Uno
Arduino uno merupakan sebuah board mikrokontroller yang  berbasis  ATmega328.  Arduino sebagai  pengendali mikro  single-board diturunkan  dari Wiring platform , dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware nya  memiliki  prosesor  Atmel  AVR  dan software nya memiliki bahasa pemrograman sendiri. [3]
Volume 2 Nomor 2, Oktober 2017

## Gambar 1 Tampilan Board Arduino Uno
Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output. Untuk 6  pin analog sendiri  bisa  juga  difungsikan  sebagai output  digital jika  diperlukan output  digital tambahan selain 14 pin yang sudah tersedia.
2. Input dan Output
Setiap  14  pin  digital  pada  arduino  dapat  digunakan sebagai input atau output ,  menggunakan  fungsi pinMode (), digitalWrite (), dan digitalRead (). Input/output dioperasikan  pada  5  volt.  Setiap  pin  dapat menghasilkan  atau  menerima maximum 40  mA  dan memiliki internal  pull-up resistor  ( disconnected oleh default ) 20-50K Ohm.
Beberapa pin memiliki fungsi sebagai berikut :
1. Serial :  0  (RX)  dan  1  (TX).  Digunakan  untuk menerima  (RX)  dan  mengirim  (TX)  TTL  data serial.
2. Interupt eksternal  :  2  dan  3.  Pin  tersebut  dapat dikonfigurasikan  untuk trigger sebuah interupt pada low  value,  rising atau falling  edge ,  dan perubahan nilai.
3. PWM  :  3,  5,  6,  9,  10,  dan  11.  Mendukung  8  bit output PWM sebagai fungsi analogWrite ().
4. SPI  :  10 (SS),  11  (MOSI),  12  (MISO),  13  (SCK). Men support komunikasi  SPI,  yang  mana  masih mendukung hardware , tidak termasuk pada bahasa arduino.
5. LED : 13. Dibuat untuk koneksi LED ke digital pin 13.  Ketika  pin  bernilai HIGH ,  LED  hidup,  ketika pin LOW , LED mati. [4]
3. Komunikasi Arduino  Uno  memiliki IC ATmega328  yang  mana menyediakan UART TTL (5V) komunikasi serial, yang
tersedia pada pin digital 0 (RX) dan  1 (TX). Firmware Arduino  menggunakan  USB driver standar  COM,  dan tidak ada driver eksternal yang dibutuhkan. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui  chip  USB-to-serial  dan  koneksi  USB  ke komputer.
D. Software Arduino
Pada  ATMega328  di  Arduino  terdapat bootloader yang  memungkinkan  Anda  untuk  meng- upload kode baru  untuk  data  tanpa  menggunakan programmer hardware eksternal .
1. Arduino IDE
IDE  Arduino  adalah software yang  sangat  canggih ditulis  dengan  menggunakan Java .  IDE  Arduino  terdiri dari:
1. Editor program,  window  yang  menyediakan tampilan  untuk  pengguna  menulis  dan  meng edit program dalam bahasa Processing .
2. Compiler ,  sebuah  modul  yang  mengubah  kode program (bahasa Processing) menjadi kode biner.
3. Uploader , sebuah  modul  yang  memuat kode biner dari  komputer  ke  dalam memory didalam  papan Arduino.
2. Bahasa C
Bahasa  C  merupakan  bahasa  yang  dapat  dijalankan di  beberapa  sistem  operasi  yang  berbeda.  Bahasa  C merupakan  bahasa  yang  sangat  populer  dan  banyak digunakan oleh programer berpengalaman, dikarenakan library pemrograman  banyak  disediakan  dan  dapat diperoleh dengan mudah.
Bahasa  C  merupakan  bahasa  tingkat  menengah ( middle  level  language )  sehingga  mudah  untuk melakukan interface (pembuatan  program  antar  muka) ke  perangkat  keras.  Struktur  penulisan  program  dalam bahasa  C  harus  memiliki  fungsi  utama,  yang  bernama mai n (). Dalam bahasa C, file header standar yang untuk proses input/output adalah < stdio.h >.
III. ANALISIS DAN PERANCANGAN SISTEM Analisis sistem merupakan penguraian suatu masalah kedalam  bagian  dari  komponen-komponen  yang bertujuan  untuk  mengidentifikasi  dan  mengevalluasi permasalahan-permasalahan tersebut.
Volume 2 Nomor 2, Oktober 2017

## A. Perancangan flowchart
Pembuatan  flowchart  bertujuan  untuk  memudahkan dalam konsep kerja robot.

## Gambar 2 Flowchart sistem remote
B. Perancangan Diagram Blok Sistem
Diagram blok sistem merupakan gambaran sistematis  proses  kerja  mengenai  sebuah  perancangan alat,  yang  memiliki  peran  yang  sangat  penting,  yaitu untuk  mempermudah  dalam  perancangan  alat  dan pemasangan komponen.

## Gambar 3 Diagram Blok Sistem
Penjelasan  dan  fungsi  dari  masing-masing  blok  pada sketsa blok diagram sistem adalah sebagai berikut : a. Bluetooth Android : Merupakan sebuah koneksi dari
HP User , yaitu Handphone versi android.
b. Basic  For Android  :  Aplikasi  yang  sudah  ter install dalam Hp User
c. Connect  Bluetooth Arduino  :  Sebagai  media komunikasi Bluetooth antara Hp User dengan modul Arduino. Bluetooth tersebut harus dipasangkan.
d. Arduino  Uno  R3  :  Berfungsi  sebagai  modul  atau sebagai  otak  pengendali  pada  robot  yang  telah dirancang.
e. Motor  Servo  :  Berfungsi  sebagai  penggerak  arah putar  balik  180 0 .  Digunakan  sebagai  pemegang  tuas pengangkat benda, sebagai pemutar tuas, dan sebagai penjepit benda.
f. Driver L298 : Berfungsi sebagai pengatur kecepatan sekaligus  pemutus  hubungan  kontak  antara  motor DC dengan Arduino.
g. Motor  DC  :  Motor  yang  mempunyai  batasan kecepatan  perputaran,  yang  berfungsi  sebagai penggerak ban dari robot yang telah dirancang.
C. Perancangan Remote
Dalam  perancangan remote ini,  harus  menyamakan interface pada  laptop  dan interface pada  android. Dengan  kata  lain,  program  pada  laptop  harus  sejalan aplikasi basic for android nya. kita harus terlebih dahulu men download di playstore aplikasi  B4A.  Aplikasi  ini terbagi  2  yaitu  B4A Bridge dan  B4A Designer ,  B4A Bridge berfungsi  sebagai  koneksi bluetooth, B4A Designer berfungsi  sebagai desktop tampilan  tata  letak pengaturan design remote .
Volume 2 Nomor 2, Oktober 2017

## IV. P ENGUJIAN A LAT
Pengujian  dilakukan  untuk  menguji  coba  dan mengetahui  apakah  alat  bekerja  sesuai  dengan perencanaan  yang  telah  direncanakan  sebelumnya. Sinkron-kan program arduino dan program b4a.
1. Pengujian Rangkaian Arduino Dengan

## Bluetooth
Pengujian  ini  dilakukan  untuk  mengetahui  apakah arduino sudah terkoneksi atau belum. Untuk mengetahui apakah  arduino  ini  berjalan  dengan  baik,  maka  harus menjalankan  program  Arduino  IDE  terlebih  dahulu. Yang harus dilakukan sebelum proses running program adalah  meng- upload program  pada  arduino  dan Basic For Android .
Gambar 5 program arduino.ide aktif bluetooth
Setelah  itu,  berikut  program  b4a  untuk  pengaktifan bluetooth:
Gambar 6 List program b4a pengaktifan bluetooth
2. Pengujian Motor DC Terhadap Arduino dan Remote
Terdapat 4 motor DC beserta roda,  dan diatur untuk dapat  bergerak  maju,  bergerak  mundur,  serta  berbelok ke kanan dan  berbelok ke kiri. Pengujian  Motor DC  ini dengan  menyambungkan  kabel  ke driver motor L_298, dengan  tempat  yang  telah  disediakan.  2  bagian  Motor
DC  sebelah  kiri  ke  kaki  port ENA  dan  2  bagian  Motor DC  sebelah  kanan  ke  kaki  Port  ENB.  Lalu  dari  kabel driver motor terdapat  keluaran  ENA,  ENB,  EN1,  EN2, EN3, EN4.

## A. Percobaan untuk Bergerak Maju
Percobaan  pertama  untuk  bergerak  maju  yang  mana program arduino.ide dan b4a nya adalah:

## Gambar 7 List program arduino.ide untuk maju
Selanjutnya  untuk  memprogram  remote  agar  robot bergerak maju:
Gambar 8 List b4a untuk maju
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 9 Robot bergerak maju

## B. Percobaan untuk Bergerak Mundur
Percobaan  kedua  untuk  bergerak  maju  yang  mana program arduino.ide dan b4a nya adalah:
Gambar 10 program arduino.ide untuk mundur
Selanjutnya  untuk  memprogram  remote  agar  robot bergerak mundur:

## Gambar 11 List program b4a untuk mundur
Dari memprogram tersebut terdapat hasilnya adalah:

## Gambar 12 Robot bergerak mundur

## C. Percobaan untuk Belok Ke Kiri
Percobaan  ketiga  yaitu  bergerak  belok  ke  kiri  yang mana program arduino.ide dan b4A nya adalah:
Gambar 13 List program arduino.ide belok kiri
Selanjutnya  untuk  memprogram  remote  agar  robot berbelok ke kiri:

## Gambar 14 List program b4a belok kiri
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 15 Robot berbelok ke kiri
D. Percobaan untuk Belok Ke Kanan
Percobaan  keempat  yaitu  bergerak  belok  ke  kanan yang mana program arduino.ide dan b4a nya adalah:

## Gambar 16 List program arduino.ide belok kanan
Selanjutnya  untuk  memprogram  remote  agar  robot berbelok ke kanan:

## Gambar 17 List program b4a belok kanan
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 18 Robot berbelok ke kanan

## 3. PENGUJIAN  MOTOR  SERVO  TERHADAP  ARDUINO  DAN REMOTE
Terdapat  4  buah  motor  servo,  2  buah  motor  servo besar  sebagai  pemegang  tuas,  dan  2  buah  mini  servo sebagai pemegang benda. Semuanya itu dihubungkan ke kaki data, vcc, dan ground.
Volume 2 Nomor 2, Oktober 2017

## A. Percobaan untuk Jepit Barang
Percobaan  pertama  yaitu  robot  menjepit  benda yang mana program arduino.ide dan b4a nya:

## Gambar 19 List program arduino.ide jepit benda
Selanjutnya  untuk  memprogram  remote  agar  robot menjepit benda:

## Gambar 20 List program b4a jepit benda
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 21 Robot menjepit benda
B. Percobaan untuk Ambil Barang
Percobaan kedua yaitu robot mengambil benda yang mana program arduino.ide dan b4a nya:
Gambar 22 Program arduino.ide ambil barang
Selanjutnya  untuk  memprogram  remote  agar  robot menjepit benda:

## Gambar 23 program b4a ambil benda
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 24 Robot membuka capitan
C. Percobaan untuk Angkat Tuas Barang Percobaan ketiga yaitu robot mengangkat tuas benda yang mana program arduino.ide dan b4a nya:

## Gambar 25 List Program arduino.ide angkat tuas
Selanjutnya  untuk  memprogram  remote  agar  robot mengangkat tuas benda:
Dari memprogram diatas terdapat hasilnya adalah:

## Gambar 27 Robot mengangkat tuas benda
D. Percobaan untuk Turunkan Tuas Barang
Percobaan  keempat  yaitu  robot  menurunkan  tuas yang mana program arduino.ide dan b4a nya:
Gambar 28 List program menurunkan tuas

## Gambar 29 List program b4a menurunkan tuas
Selanjutnya  untuk  memprogram  remote  agar  robot menjepit benda:
Dari memprogram diatas terdapat hasilnya adalah:
Gambar 30 Robot menurunkan tuas benda
E. Percobaan untuk Memutar Tuas ke Kanan
Percobaan kelima yaitu robot menurunkan tuas yang mana program arduino.ide dan b4a nya:
Gambar 31 Program arduino.ide untuk putar tuas ke arah kanan
Selanjutnya  untuk  memprogram  remote  agar  robot menjepit benda ke arah kanan:

## Gambar 32 Program b4a putar kanan tuas
Dari memprogram diatas terdapat hasilnya adalah:
Gambar 33 Tuas berbelok ke kanan
F. Percobaan untuk Memutar Tuas ke Kiri
Percobaan  keenam  yaitu  robot  menurunkan  tuas yang mana program arduino.ide dan b4a nya:
Gambar 34 Program arduino.ide memutar tuas ke arah kiri

## Gambar 35 Program b4a putar tuas ke kiri
Selanjutnya  untuk  memprogram  remote  agar  robot menjepit benda:
Dari Program terdapat hasilnya adalah:
Gambar 36 Tuas berbelok ke arah kiri

## V. K ESIMPULAN
Beberapa hal yang dapat dijadikan kesimpulan mengenai robot pemindah kubus yaitu :
1. Dengan kemajuan teknologi, pengguna smartphone jenis  OS  Android  dapat  memanfaatkan gadget sebagai  media remote jarak  dekat  maupun  jarak jauh.
2. Motor servo dapat diubah perputaran derajat sesuai dengan  keinginan  mengangkat  tuas,  menjepit benda, serta perputan dari 0 0 hingga 180 0 .
3. Untuk  memprogram perputaran roda robot dengan menggunakan  motor DC ,  lebih  mudah  dengan
motor driver , dikarenakan hanya perlu mendeklarasi  dari  setiap  kaki  yang  digunakan. Setelah  itu,  hanya  memanggil  variabel  nama  yang di  deklarasi  untuk  motor DC tersebut.  Dari penggunaan kaki A ke kaki B.
4. Untuk  menstabilkan  kekencangan  perputaran motor DC dan  motor  servo,  harus  diperhatikan kondisi battery , pastikan tidak Low Battery

## REFERENSI
[1] H.,  Safaat,  2011,  Pemrograman  Aplikasi  Mobile  Smartphone dan  Tablet  PC  Berbasis  Android,  Bandung:  Penerbit Informatika.
[2] Kadir, Abdul, 2015, From Zero to a Pro, Panduan Mempelajari Aneka Proyek Berbasis Mikrokontroller, Jakarta: Penerbit Andi
[3] Kadir,  Abdul,  2015,  Buku  Pintar  Pemrograman  Arduino, Yogyakarta, Penerbit MediaKom.
[4] Djuandi, Feri, 2011. Pengenalan Arduino, E-book, www.tobuku, diakses pada tanggal 2 Juli 2016.