Cara Penggunaan Aplikasi Kontroler Lengan Robot Pembahasan Program Komunikasi Bluetooth Aplikasi Kontroler Lengan Robot

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