42
BAB IV IMPLEMENTASI DAN PENGUJIAN
1.1
Implementasi.
Pada bagian ini akan dijelaskan mengenai implementasi program, implementasi konektifitas Bluetooth dan pergerakan robot mobil pada sistem. Proses implementasi ini dilakukan berdasarkan hasil pada tahap perancangan yang sudah dijelaskan pada bab sebelumnya. Selain
itu,
pada
bagian
ini
juga
dibahas
mengenai
skenario
pengujian,lingkungan pengujian yang terdiri dari perangkat keras (hardware) dan lingkungan pengujian perangkat lunak (software).
1.2
Implementasi dan Pengujian Program.
Aplikasi ini dibuat dengan bahasa pemprograman Java yang kemudian dijalankan dengan menginstall Eclipse. Implementasi program dilakukan setelah melakukan perancangan yang terdapat pada Bab III. Dengan hasil pengujian program pada smartphone sebagai berikut :
Gambar 4.1 Menu-menu pada Smartphone sebagai penggerak mobil robot
42
43
Dari menu-menu yang dihasilkan diatas dapat digambarkan perintah pergerakan panah maju, mundur, kanan, kiri, dan stop untuk menghentikan perintah berhenti pada mobil robot. Pada implementasi pengujian aplikasi tersebut, aktifitas panah dibuat untuk melakukan pergerakan robot mobil, panah maju untuk pergerakan maju, panah mundur untuk pergerakan mundir, panah kanan untuk melakukan perintah belok kanan, panah kiri untuk melakukan perintah belok kiri, dan tombol tengah “stop” melakukan perintah berhenti. Pengujian yang dilakukan pada aplikasi pengendalian robot dengan Bluetooth berbasis android menggunakan tipe android Jelly Bean 2.3. sedangkan hasil uji coba pada tipe android Froyo 2.2.1 tidak berjalan sempurna.
1.2.1
Implementasi Sistem pada Java Pada pemograman java membuat package dengan nama androitremote
dengan public class yang dibutuhkan dan BtInterface sebagai function Bluetooth penghubung dengan mikrokontroler. Dengan hasil potongan program yang terdapat pada pemograman Java berikut :
Gambar 4.2 Potongan pemograman java untuk nama Package Android Remote
Pada gambar 4.2 adalah potongan program java untuk nama package yang dibuat, yaitu “androidremote”.
44
Gambar 4.3 Potongan pemograman java untuk Bluetooth pada class di java
Pada gambar 4.3 merupakan potongan program pada class BtInterface.java untuk melakukan kegiatan Bluetooth yang dikirim dari androidremote.java.
Setelah melakukan pendeklarasian function diatas, maka berikut adalah langkah yang merupakan fungsi memanggil activity yang pertama kali dibuat :
45
Gambar 4.4 Memanggil Activity pada Program Java
Untuk gambar 4.4 adalah memanggil Activity pada program java, untuk mendeklarasikan panah maju, mundur, kanan, kiri, stop, serta tombol sedang menghubungkan dan putus koneksi.
46
Pada class AndroidRemote untuk function pada gambar 4.5 berfungsi mengirimkan data serial berupa karakter ke mikrokontroler pada robot mobil.
Gambar 4.5 Potongan program java untuk mengirim data berupa karakter.
Pada pemograman java diatas berfungsi sebagai pengirim data berupa karakter dengan melakukan inisialisasi karakter “F” melakukan perintah robot menjadi maju, karakter “B” melakukan perintah mundur, karakter “R” melakukan perintah belok kanan, karakter “L” melakukan perintah belok kiri, dan karakter “S” melakukan perintah berhenti.
1.2.2 Implementasi konektifitas Bluetooth Konektifitas Bluetooth ini merupakan teknologi komunikasi data nirkabel (tanpa kabel) yang bertujuan untuk menggantikan penggunaan kabel. Pada dasarnya, Bluetooth dapat digunakan untuk menghubungkan hamper semua perangkat satu dengan lainnya. Untuk implementasi konektifitas Bluetooth pada
47
pemograman java untuk melakukan konektifitas Bluetooth tersebut sebagai berikut :
Gambar 4.6 Potongan program java pada deklarasi Bluetooth di Androidremote
Pada gambar 4.6 diatas merupakan deklarasi program java untuk melakukan koneksi Bluetooth pada smartphone akan muncul message “Tersambung” jika konektifitas ditemukan (pairing) dengan robot alat, dan jika tidak tersambung dengan jaringan maka akan mengeluarkan message “Terputus”. Pada gambar 4.7 merupakan deklarasi function yang diarahkan ke BtInterface sebagai BufferredReader dari Bluetooth, dengan hasil potongan program berikut :
48
Gambar 4.7 Potongan program pada BtInterface di Java.
Langkah selanjutnya pada implementasi melakukan koneksi Bluetooth jika user melakukan reset ketika mengubah layar smartphone yaitu melakukan pengecekan terhadap perangkat tersebut mempunyai Bluetooth, jika perangkat tersebut tidak mempunyai koneksi Bluetooth maka akan mengeluarkan message “Device does not support Bluetooth”, dan jika perangkat tersebut mempunyai koneksi Bluetooth maka akan melakukan deklarasi program dengan mengaktifkan koneksi Bluetooth pada smartphone. Aktifitas selanjutnya jika Bluetooth tersebut sudah aktif
maka memulai objek BtInterface untuk menangani komukasi
Bluetooth. Berikut kode 4.1 dan kode 4.2 untuk listng potongan program yang terdapat pada java pada AndroidRemote dan BtInterface :
49
Kode 4.1 Potongan kode pada Androidremote. @Override public void onResume() { super.onResume();
//pertama-tama, kita memeriksa apakah ada bluetooth di smartphone mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) {
// Perangkat tidak mendukung Bluetooth Log.v(TAG, "Device does not support Bluetooth"); } else{
//Perangkat mendukung Bluetooth if (!mBluetoothAdapter.isEnabled()){
//jika Bluetooth tidak diaktifkan, maka memintanya Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } else{
//BT diaktifkan, maka memulai objek BtInterface untuk menangani semua komunikasi BT bt = new BtInterface(handlerStatus, handler); } } }
//disebut hanya jika BT belum diaktifkan, untuk mengaktifkannya protected void onActivityResult(int requestCode, int resultCode, Intent moreData){ if (requestCode == REQUEST_ENABLE_BT){ if (resultCode == Activity.RESULT_OK){
//BT diaktifkan, maka memulai objek BtInterface untuk menangani semua komunikasi BT bt = new BtInterface(handlerStatus, handler); } else if (resultCode == Activity.RESULT_CANCELED) Log.v(TAG, "BT not activated"); else Log.v(TAG, "result code not known"); } else{ Log.v(TAG, "request code not known"); } }
50
Kode 4.2 Potongan kode pada BtInterface. //Mematikan pesan saat koneksi ditutup private ReceiverThread receiverThread; //Function ini merespon main activity Handler handlerStatus, handlerMessage; public static int CONNECTED = 1; public static int DISCONNECTED = 2; static final String TAG = "Chihuahua"; public BtInterface(Handler hstatus, Handler h) { mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); handlerStatus = hstatus; handlerMessage = h; }
//saat dipanggil dari main activity, maka terkoneksi dengan mobil robot public void connect() { Set
setpairedDevices = mBluetoothAdapter.getBondedDevices(); BluetoothDevice[] pairedDevices = (BluetoothDevice[]) setpairedDevices.toArray(new BluetoothDevice[setpairedDevices.size()]); boolean foundChihuahua = false; for(int i=0;i<pairedDevices.length;i++) {
Untuk konektifitas pada Bluetooth dengan menggunakan tipe Bluetooth HC-06 dapat dideklasikan pada potongan kode 4.3 dengan menggunakan standart serial number UUID “00001101-0000-1000-8000-00805F9B34FB” tipe tersebut :
51
Kode 4.3 Potongan kode pada BtInterface untuk standart UUID serial number //saat dipanggil dari main activity, maka terkoneksi dengan mobil robot public void connect() { Set setpairedDevices = mBluetoothAdapter.getBondedDevices(); BluetoothDevice[] pairedDevices = (BluetoothDevice[]) setpairedDevices.toArray(new BluetoothDevice[setpairedDevices.size()]); boolean foundChihuahua = false; for(int i=0;i<pairedDevices.length;i++) { if(pairedDevices[i].getName().contains("HC-06")) { device = pairedDevices[i]; try { //String "00001101-0000-1000-8000-00805F9B34FB" adalah standar untuk koneksi Serial bluetooth untuk HC06 socket=device.createRfcommSocketToServiceRecord(UUID.from String("00001101-0000-1000-8000-00805F9B34FB")); receiveStream = socket.getInputStream(); receiveReader = new BufferedReader(new InputStreamReader(receiveStream)); sendStream = socket.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } foundChihuahua = true; break; } } if(foundChihuahua == false){ Log.v(TAG, "You have not turned on your Chihuahua"); }
52
1.2.3
Pengujian Menjalankan Sistem Setelah sistem dibuat, hal yang harus dilakukan adalah uji coba sistem.
Pertama pada gambar 4.8, Koneksi perangkat android ke laptop melalui media USB (Universal Serial Bus). Setelah dipastikan terkoneksi lakukan kompilasi sistem, dengan melakukan klik kanan pada project sistem, lakukan Run As Android Application. Gambar 4.9. Menunjukan cara kompilasi sistem.
Gambar 4.8. Koneksi perangkat android ke laptop melalui media USB (Universal Serial Bus)
Gambar 4.9. Menunjukan cara kompilasi sistem.
53
Ketika sistem dikompilasi pada konsol Eclipse akan keluar pesan jika sistem telah masuk ke perangkat Android. Adapun pesan pada konsol tersebut ditunjukkan pada gambar 4.10.
Gambar 4.10 Starting Activity pada konsol Eclipse.
Pada gambar 4.11 adalah gambar sistem telah masuk ke perangkat lunak Android dan siap untuk dijalankan.
Gambar 4.11 Sistem Masuk ke Perangkat Android.
Berikut table hasil pengujian pada Sistem Android untuk pengendalian robot dengan Bluetooth.
54
Tabel 4.1 Hasil Pengujian Sistem pada Android No
Keterangan
Hasil Pengujian pada Sistem Android
1 2 3 4 5 6 7 8
Instalasi Sistem pada Android Menghubungkan Bluetooth pada Robot Sistem melakukan perintah gerak maju Sistem melakukan perintah gerak mundur Sistem melakukan perintah gerak belok kanan Sistem melakukan perintah gerak belok kiri Sistem melakukan perintah berhenti Putus koneksi Bluetooth
OK OK OK OK OK OK OK OK