## Komunikasi Dua Arah via Bluetooth (Studi kasus: Arduino-Android)
Pada  era  sekarang  ini Internet  of  things menjadi  latar  belakang  utama  dalam  penelitian  perangkat keras  maupun  dalam  pengembangan  perangkat  lunak.  Basis  penerapannya  pun  hingga  saat  ini  sangat beragam, mulai dari lintas sistem operasi, perangkat, bahasa pemrograman dan alinsebagainya. Salah satu penyebab  yang  menjadi  tren  saat  ini  adalah  filosofi  "Smart  City"  yang  telah  menjadi  jargon  utama  di beberapa kota besar Indonesia.
Salah satu sasaran dalam konsep "Smart City" adalah kendali terpusat, dimana semua data diambil dari sentra  data  utama,  yang  mampu  untuk  diakses  pada  semua  perangkat  yang  terhubung  padanya  dan melalui beragam media komunikasi. Salah satu yang saat ini tren juga dalam mediasi komunikasi adalah perangkat BLE ( Bluetooth Low Energy ), yang populer. Pengembangan beberapa riset telah menuju pada implementasinya untuk komunikasi lintas dan antar sistem secara terpadu.
Latar  belakang  inilah  yang  mampu  menjadikan  konsep bidirectional communication dalam  artikel ini, membawa komunikasi antara perangkat Android dan Arduino sebagai upaya mengimplementasikannya, dengan hasil baik dan mampu berjalan secara realtime.
Kata kunci : bluetooth , HC-05, Arduino, Android

## A. LATAR BELAKANG
Satu  sisi  lain  dari  perkembangan  teknologi komunikasi adalah pada sistem operasi perangkat lunak yang disematkan pada perangkat  komunikasi,  yang  lebih  dikenal dengan smartphone, atau telepon cerdas, dimana tagline smartphone ,  telah  menempatkannya menjadi  perangkat  utama  yang  digunakan  oleh penggunanya untuk memenuhi kegiatan keseharianya yang tidak hanya digunakan untuk komunikasi  suara  saja,  atau  teks  saja,  bahkan sudah  dikembangkan  untuk  komunikasi  data, video,  permainan,  komunikasi  internet,  dan  lain sebagainya.
Android  menjadi  salah  satu  tren  saat  ini yang  mampu  menjembatani  kebutuhan  akan aplikasi  ataupun  perangkat  lunak  berbasis  pada perangkat  komunikasi mobile, diamana  hampir setiap  perangkat  komuniksi smartphone selalu menyematkan  dirinya  dengan  sistem  operasi Android  ini.  Kemudahan  dalam  penerapan berbagai aplikasi yang dibutuhkan penggunanya pun  menjadi  sebuah  fitur  yang  menjanjikan keberadaanya. Salah satu sasaran pada
kesempatan ini adalah upaya untuk mengimplementasikan  sebuah  sistem  kendali berbasis  sistem  operasi  Android,  yang  hingga saat  ini  masih  tren  dalam  pengembangan aplikasi mobile , untuk mengendalikan pearngkat keras lainnya yang memiliki basis mikrokontroler Arduino.

## B. PERUMUSAN MASALAH
Permasalahan yang timbul dalam merekayasa  sistem  komunikasi  antara  dua  buah sistem berbeda akan menjadi tantangan tersendiri,  terlebih  dengan  penggunaan  media komunikasi  khusus  yaitu  BLE.  Namun  dengan penulisan  ini  diharapkan  agar  para  pembaca mengetahui dan mampu menginspirasi penelitian  berikutnya  terkait  dengan  tema  yang sama.

## C. TUJUAN PENELITIAN
Adapun  tujuan  dalam  penelitian  pada kesempatan kali ini adalah :
a. Mengimplementasikan sebuah sistem komunikasi  terpadu  jarak  dekat  sebagai
Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Stikuban Email: setya.sonny@gmail.com, eddynurraharjo@gmail.com, edywin@edu.unisbank.ac.id

## Abstrak
Setyawan Wibisono, Eddy Nurraharjo dan Edy Winarno
simulasi  komunikasi  data  dua  rah  dan berjalan realtime.
b. Mengetahui  prinsip  dasar  pemrograman antarmuka komunikasi data dua arah melalui
bluetooth berbasis ADT dan Arduino.

## D. PERANCANGAN SISTEM
Penggambaran sistem transfer data menggunakan media bluetooth pada kesempatan penelitian  ini  dapat  dijelaskan  secara  sederhana dengan mengamati blok diagram berikut ini:
Gambar 1 Blok Diagram Sistem Perangkat Keras
Interaksi  antara  kedua  sistem  di  atas terjmebatani  dengan  adanya  oerangkat  BLE, sehingga penggunaan media ini memiliki potensi yang  senantiasa  mampu  dan  bisa  untuk dikembangkan  pada  masa  yang  akan  datang, terkait  dengan  pengimplementasiannya  untuk mendukung  kinerja  sistem.  Display  adalah penampilan data pada layar aplikasi saja.
Perangkat  lunak  yang  dirancang  dalam pembuatan aplikasi berbasis android ini memiliki  alur  yang  dapat  diamati  pada  contoh diagramalir berikut ini.
Gambar 2 Diagram Alir Sistem Perangkat Lunak Aplikasi Pada  kesempatan  penelitian  ini,  dilakukan pengamatan terhadap beberapa perangkat modul bluetooth dengan  menggunakan  modul  HC-05, berdasarkan ketentuan sebagai berikut :
1. Komunikasi  secara  serial  ( master-slave ) melalui terminal bluetooth antara Tablet dan Arduino
2. Komunikasi  data  menggunakan  model single data transfer dan multidata transfer .
3. Pengamatan dilakukan secara realtime.
Beberapa  kunci  utama  untuk  terjalinnya komunikasi  dua  arah  ini  adalah  terkait  dengan periha berikut ini:

## Inisialisasi
Inisialisasi merupakan proses untuk mempersiapkan  sistem  untuk  beroperasi,  seperti mengenali  ketersediaan  modul bluetooth pada Android  Tab,  dan  status  aplikasi  akan  keluar dalam log  system ,  apabila  perangkat  Android tidak  memiliki  modul bluetooth .  Selain  itu proses  inisialisasi  ini  ditempatkan  pengenalan komponen  antarmuka  aplikasi  bagi  pengguna, dan juga pelacakan perangkat bluetooth sekitarnya  yang  sudah  pernah  dikenali  oleh perangkat  Android  (dengan  status paired ),  serta status pengenalan awal bagi perangkat bluetooth disekitarnya tersebut. Jika sudah pernah digunakan  dan  kemudian  sebelum  keluar aplikasi  si  pengguna  menghendaki  untuk koneksi  kembali,  maka  status  perangkat  akan otomatis terkoneksi, dan siap melakukan transfer data digitalnya.

## Aktifasi Perangkat Bluetooth
Prosedur  aktifitas  pada  tiap  tombol  akan memiliki sub prosedur tersendiri, kemudian akan mengeksekusi  sub-prosedur  tersebut.  Metode openbutton,  merupakan  metode  dimana  aplikasi akan  melakukan  permintaan  ijin  penggunaan pernagkat bluetooth pada  perangkat  Andorid, kepada pengguna untuk mengaktifkannya apabila  status bluetooth yang  tersedia  belum diaktifkan,  dan    melanjutkan  ke  proses berikutnya,  terkait  dengan  status  tombol  yang aktif.  Adapun  status  tombol  aktif  dapat digambarkan dalam tabel berikut.

## Perijinan  penggunaan  perangkat  bluetooth yang ada
Perijinan  masih  termasuk  dalam  proses inisialisasi,  dan  hal  ini  terkait  dengan  file Manifest pada aplikasi Android untuk mengijinkan  aplikasi  melakukan  peminjaman terhadap  perangkat bluetooth sebagai  sarana komunikasi  antara  aplikasi  dengan  perangkat bluetooth yang ada disekitarnya. Pesan kesalahan  akan  muncul  apabila  aktifasi  atas perijinan  penggunaan bluetooth ini  tidak direkomendasi  atau  ditolak  oleh  pengguna,
sehingga  aplikasi  akan  mengkondisikan  pada permintaan ijin tersebut.

## Pencarian perangkat bluetooth di sekitar
Prosedur  ini  akan  dilakukan  sejak  sesaat setelah perangkat bluetooth diaktifkan. Perangkat bluetooth yang dicari adalah perangkat bluetooth dengan  alamat  IP  tertentu, karean dalam uji coba penelitian ini menggunakan sebuah perangkat bluetooth pengendali  yang  terhubung  pada  perangkat mikrokontroler berbasis Arduino UNO. Seandainya  aplikasi  mampu  untuk  mengenali dan    terdeteksi  alamat  IP  yang  dimaksud  maka sistem  akan  segera  melakukan  penjalinan hubungan  melalui  terminal  soket,  dan  diiringi koneksi kepadanya.

## Pengiriman Data
Pada  kesempatan  ini    pengiriman  data berupa string, Pengiriman data dilakukan seiring dengan  implementasi  tombol  pengiriman  (send button) pada aplikasi, dimana pengguna diminta untuk  memasukkan  karakter  angka  dari  0-6. Kondisi  0-6  ini  akan  dieksekusi  oleh  Arduino untuk  melakukan  beberapa  aksi  respon  dari pengiriman  data,  yang  diterimanya  dari  aplikasi melalui perangkat bluetooth.
Prosedur  ini  dapat  dijalankan  dengan mengaktifkan  terlebih  dari  perangkat bluetooth melalui  pengaturan  pada  perangkat mobile secara manual. Data berbagai perangkat bluetooth sekitranya yang sudah pernah dikenali dan  sudah  pernah  dilakukan  hubungan  dengan pearngkat bluetooth pada perangkat mobile/gadget ini  akan  didaftar  oleh  sistem operasi Android.
Daftar  perangkat  ini  akan  diambil  oleh aplikasi  sistem  perangkat  lunak  ini,  untuk kemduian  dideteksi  dan  dikomparasi  terpilih terhadap  alamat  IP  spesifik  yang  telah ditentukan oleh aplikasi sebagai perangkat yang akan  dikendalikan  oleh  aplikasi  berbasis Android ini.
Sesaat setelah terkenali dan terjadi hubungan saling terikat ( binding ) ini maka akan dibuka socket ,  dan  membuka  terminasi  transfer data,  dimana  data  ini  berupa  data  string  dengan angka  mulai  angka  0  -  6  saja.  Sistem  perangkat
keras  berasis  Arduino  akan  mengenali  data tersebut  sebagai  instruksi  lanjut  untuk  proses penampilan  respon  dari  pengiriman  data tersebut.

## E. Analisa Hasil
Pengamatan analisa program aplikasi berbasis  Android ini  mengacu  pada  struktur life cycle dalam  perancangan  aplikasi mobile. Program  diawali  dengan  metode  OnCreate(), menyediakan OnPause(), OnResume(), Beberapa  pembuktian  atas  beberapa  pengujian transfer  data  melalui  aplikasi  Android  dan  efek atau  respon  pada  perangkat  kendali  berbasis Arduino.  Lingkup  proses  yang  dijalankan  untuk komunikasi  melalui  mdia bluetooth ini  mampu didasari dengan perihal:
a. Ketersediaan perangkat bluetooth pada kedua sistem
b. Penguncian alamat IP pada klien
c. Transfer  data  sesuai  komando  instruksi  pada perangkat Android
d. Proses realtime terjadi  pada  saat  transfer data dari dan ke antar kedua perangkat, mulia dari  pengiriman  data  dan  penerimaan datanya.

## F. Kesimpulan
Adapun beberapa kesimpulan yang berhasil diperoleh  dalam  penelitian  ini  diantaranya adalah sebagai berikut :
a. Sistem mampu mengendalikan mikrokontroler  berbasis  Arduino  dengan mengirimkan
sebuah string melalui perangkat bluetooth dan  mampu  dikenali dengan  baik  penerimaan  data  string  tersebut oleh  perangkat  kendali  Arduino,  serta mengirimkan  data  tersebut  secara  serial melalui serial port().
b. Pengaturan identitas dasar perangkat bluetooth dilakukan dengan intruksi penguncian  alamat  IP  melalui  instruksi  pada AT command.

## G. DAFTAR PUSTAKA
E.  Nurraharjo,  T.  Ariyanto,  S.  Munawaroh, 2014,  Penelitian  " Rekayasa  Antarmuka
Sistem  Kendali  Distance  Logger  Berbasis Matlab ", Universitas Stikubank Semarang
E.  Nurraharjo,  Sunardi,  M  Sukur,  2015, Penelitian " Rancang Bangun Sistem Pencacah berbasis Frekuensi Radio Menggunakan Arduino ", Universitas Stikubank Semarang
E.  Nurraharjo,  S.  Wibisono,  E.  Winarno,  2017,
Penelitian  " Rancang  Bangun  Antarmuka Visualisasi  Transfer  Data  Digital  via
Bluetooth berbasis Arduino-Android ",
Universitas Stikubank Semarang
Z.  Budiarso,  E.  Nurraharjo,  W.  Hadikurniawati, T.  Ariyanto,  2016,  Penelitian    " Rancang Bangun  Sistem  Kendali  Berbasis  Gyro- Accelerometer ", Universitas Stikubank Semarang
Z.  Budiarso,  E.  Nurraharjo,  T.  Ariyanto,  2016,
Penelitian  " Rancang  Bangun  Antarmuka
"SiTaDaRaJaKa” (Sistem Transceiver
Data Radio Jarak Dekat) Untuk Pelacakan Identitas  Kepemilikan  Kendaraan  berbasis Arduino-Android ",  Universitas  Stikubank Semarang
Z.  Budiarso,  E.  Nurraharjo,  J.  Sasongko  W,  M Sukur,,  2017,  Penelitian  " Rancang  Bangun Antarmuka  Simulator  Komunikasi  Data Searah  Otomatis  Antara  Dual-Bluetooth berbasis  Arduino ",  Universitas  Stikubank Semarang