4.2.2 Cara Penggunaan Aplikasi Kontroler Lengan Robot
Cara untuk menggunakan Aplikasi Kontroler Lengan adalah sebagai berikut: 1. Tekan icon pada Home Screen Android.
2. Tunggu sampai Aplikasi Kontroler Lengan Robot terbuka dan menampilkan splash activity
lalu menuju main activity. 3. Setelah main activity terbuka, proses pengaktifan Bluetooth baru bisa
dinyalakan. 4. Proses pengaktifan dan penyambungan komunikasi Bluetooth harus
dilakukan secara sekuensial sesuai dengan protokol Bluetooth. 5. Tekan Enable Scan Paired Masukan password
“115114046” Connect
. 6. Setelah proses pada nomer 5 di atas berhasil, geser seekbar untuk
menggerakkan lengan robot.
4.2.3 Pembahasan Program Komunikasi Bluetooth Aplikasi Kontroler Lengan Robot
Dalam membuat aplikasi kontroler lengan robot dalam sistem operasi Android menggunakan komunikasi Bluetooth, berbagai kelas digunakan terutama kelas untuk
komunikasi Bluetooth. Dalam sub bab ini akan dibahas mengenai penggunaan kelas Bluetooth yang digunakan.
Kelas yang pertama adalah kelas BluetoothAdapter. Kelas ini merupakan kelas yang diinisialisasikan pertama kali. BluetoothAdapter digunakan untuk melakukan
pengecekan apakah perangkat smartphone yang akan digunakan telah memiliki komunikasi Bluetooth atau tidak.
Listing 3 program di atas akan mengaktifkan dan mematikan Bluetooth pada
smartphone yang memiliki komunikasi Bluetooth yang sesuai dengan kebutuhan
Listing 3 private BluetoothAdapter btAdapter;
import android.bluetooth.BluetoothAdapter; if
btAdapter .isEnabled {
btAdapter .disable;
statusOff; }
else if
btAdapter .isEnabled {
Intent openBT = new
IntentBluetoothAdapter. ACTION_REQUEST_ENABLE
; startActivityForResultopenBT,
OPEN_BLUETOOTH ;
} else
if btAdapter
== null
{ showToast
Tidak support Bluetooth ;
aplikasi kontroler lengan robot. Jika smartphone tidak memiliki komunikasi Bluetooth atau versi Bluetooth tidak sesuai yang dibutuhkan aplikasi maka akan muncul
peringatan bahwa smartphone tidak didukung dengan komunikasi Bluetooth. BluetoothAdapter juga dapat mendeteksi apakah Bluetooth sedang dalam kondisi aktif
atau tidak. Setelah menangani pengaktifan Bluetooth, BluetoothAdapter melakukan proses
scanning dan pairing. Listing program untuk proses scanning dan pairing adalah
sebagai berikut.
Bluetooth akan dapat melakukan proses pairing ketika perangkat dengan alamat
20:14:11:28:24:28
terdeteksi ketika proses scanning. Dalam program ini dibatasi hanya
perangkat Bluetooth
SPP Serial
Port Profile
dengan alamat
20:14:11:28:24:28
yang dapat berkomunikasi dengan aplikasi kontroler lengan robot. Alamat tersebut merupakan alamat modul Bluetooth HC-05 yang terhubung dengan
Arduino. Kelas yang kedua adalah kelas BluetoothDevice. Kelas ini menampung
informasi mengenai nama dan alamat perangkat Bluetooth yang terdeteksi dan yang dapat berkomunikasi dengan smartphone. Selain itu, BluetoothDevice dapat mendeteksi
apakah perangkat yang terdeteksi sedang dalam proses pairing, sudah ter-paired atau belum ter-paired. Listing program untuk penggunaan kelas BluetoothDevice adalah
sebagai berikut.
Listing 5 scanBT
.setOnClickListener new
OnClickListener {
public void
onClickView arg0 { btAdapter
.startDiscovery; }
pairedBT .setOnClickListener
new OnClickListener {
private
String address
= 20:14:11:28:24:28
; BluetoothDevice
prosesPairing =
btAdapter .getRemoteDevice
address ;
public void
onClickView arg0 {
if prosesPairing
.getBondState == BluetoothDevice. BOND_BONDED
{ unpairDevice
prosesPairing ;
USD_1146 =
prosesPairing ;
} else
{ pairDevice
prosesPairing ;
} }
};
Kelas ketiga yang digunakan adalah BluetoothSocket. BluetoothSocket berperan dalam membuka jalur yang akan digunakan untuk melakukan komunikasi antara
smartphone dengan perangkat Bluetooth yang sudah ter-paired. Listing program untuk
penggunaan kelas BluetoothSocket adalah sebagai berikut.
UUID adalah Universally Unique Identifier yaitu merupakan kode standar untuk komunikasi Serial Port Profile SPP. Jalan komunikasi tidak akan terbuka jika UUID
yang digunakan tidak sesuai dengan yang dibutuhkan. BluetoothSocket juga mengatur pengiriman dan penerimaan data. Dalam
Aplikasi Kontroler Lengan Robot yang dibuat, aplikasi hanya dapat mengirimkan data saja. Untuk setiap proses pengiriman komunikasi, Android mewajibkan pengembang
untuk menggunakan IOException. Berikut listing program pengiriman data Aplikasi Kontroler Lengan Robot.
Listing 6 if
state == BluetoothDevice. BOND_BONDED
prevState == BluetoothDevice. BOND_BONDING
{ showToast
Paired ;
statusPaired .setText
to USD_115114046 ;
pairedBT .setText
Unpair ;
connectBT .setEnabled
true ;
} else
if state == BluetoothDevice.
BOND_NONE prevState
== BluetoothDevice. BOND_BONDED
{ showToast Unpaired
; pairedBT
.setText Pair
; statusPaired
.setText Belum paired
; }
}}};
Listing 7 private BluetoothSocket mmSocket;
void closeBT
throws
IOException { UUID uuid = UUID.fromString
00001101-0000-1000-8000-00805f9b34fb ;
mmSocket =
USD_1146 .createRfcommSocketToServiceRecorduuid;
mmSocket .close;
}
void openBT
throws IOException {
UUID uuid = UUID.fromString 00001101-0000-1000-8000-00805f9b34fb
; mmSocket
= USD_1146
.createRfcommSocketToServiceRecorduuid; mmSocket
.connect; mmOutputStream
= mmSocket
.getOutputStream; statusConnect
.setText Bluetooth Opened
+ \n
; }
mmOutputStream merupakan objek yang dibentuk untuk dapat mengirimkan
data. Semua program yang digunakan untuk membuka, menutup, mengirimkan dan menerima data pasti dijalankan dengan method
throws
IOException
sesuai dengan aturan Android Application Programming Interface yang terdapat di website
developer.android.com Kelas terakhir yang digunakan adalah kelas Intent dan BroadcastReceiver. Intent
digunakan untuk menyimpan dan melanjutkan nilai dari sebuah activity ke activity yang lain. Untuk menghemat pemrosesan activity, maka digunakan BroadcastReceiver yang
akan menginformasikan perangkat ketika ada perubahan data. Berikut listing program penggunaan Intent dan BroadcastReceiver.
Intent Filter digunakan untuk membuat daftar kejadian yang akan menjadi fokus utama BroadcastReceiver dalam menangkap perubahan data. Kejadian yang dapat
ditangkap dan diinformasikan oleh BroadcastReceiver ke seluruh sistem antara lain : 1. Perubahan kondisi Bluetooth aktif atau non aktif.
2. Ketika terdeteksi perangkat Bluetooth yang aktif. 3. Ketika terjadi perubahan status pairing dalam perangkat Bluetooth.
4. Ketika proses scanning dimulai dan berakhir. Listing
program untuk penggunaan kelas BroadcasReceiver adalah sebagai berikut.
Listing 8 private OutputStream mmOutputStream;
void sendDataString msg0
throws IOException {
msg0 += \n
; mmOutputStream
.writemsg0.getBytes; statusConnect
.setText Data Sent
; }
IntentFilter filter = new
IntentFilter;Listing 9 filter.addActionBluetoothAdapter.
ACTION_DISCOVERY_STARTED ;
filter.addActionBluetoothAdapter. ACTION_DISCOVERY_FINISHED
; filter.addActionBluetoothDevice.
ACTION_FOUND ;
filter.addActionBluetoothAdapter. ACTION_STATE_CHANGED
; filter.addActionBluetoothDevice.
ACTION_BOND_STATE_CHANGED ;
4.2.4 Hasil Komunikasi Aplikasi Kontroler Lengan Robot