Mengirim Data ke Microcontroller

{ pintua=sensorpintu1; ifpintua{putchart;} ifpintua{putchars;} } ifsensorpintu2=pintub { pintub=sensorpintu2; ifpintub{putcharv;} ifpintub{putcharu;} } ifsensorpagar=pagar { pagar=sensorpagar; ifpagar{putcharx;} ifpagar{putcharw;} } }

3.3.3 Mengirim Data ke Microcontroller

Dalam melakukan pengiriman data ke microcontroller dibuat flowchart sebagai berikut. STIKOM SURABAYA Start Input Suara If hasil == la pu depa hidup Mencari di Database Server If hasil == la pu depa ati If hasil == la pu te gah hidup If hasil == la pu te gah ati If hasil == la pu elaka g hidup If hasil == la pu elaka g ati Lampu depan on Lampu depan off Lampu tengah on Lampu tengah off Lampu belakang on Lampu belakang off Y T T T T Y Y Y T Y Y T B A C STIKOM SURABAYA If hasil == pi tu elaka g tutup If hasil == paga uka If hasil == pi tu elaka g uka If hasil == pi tu depa tutup If hasil == paga tutup If hasil == pi tu depa uka Pintu depan buka Pintu depan tutup Pintu belakang buka Pintu belakang tutup Pagar buka Pagar tutup T T Y Y Y Y Y Y T T T Stop A B C T Gambar 3.10 Flowchart Kirim Data Android STIKOM SURABAYA Aplikasi menunggu inputan suara dari user. Setelah mendapatkan inputan, maka aplikasi melakukan pencarian ke database servernya. Setelah itu aplikasi akan menyimpan beberapa kemungkinan dari hasil pencarian kedalam satu variabel . Hasil dari variabel tersebut disortir sesuai dengan inputan dari user. Setelah mendapat data yang cocok maka aplikasi mengirimkan data tersebut ke microcontroller melalui WiFi. Daftar perintah dari voice input dapat dilihat pada Tabel 3.6. Tabel 3.6 Perintah hasil voice input Hasil Aksi “lampu depan hidup” kirim char „a‟ “lampu depan mati” kirim char „b‟ “lampu tengah hidup” kirim char „c‟ “lampu tengah mati” kirim char „d‟ “lampu belakang hidup” kirim char „e‟ “lampu belakang mati” kirim char „f‟ “pintu depan buka” kirim char „g‟ “pintu depan tutup” kirim char „h‟ “pintu belakang buka” kirim char „i‟ “pintu belakang tutup” kirim char „j‟ “pagar buka” kirim char „k‟ “pagar tutup” kirim char „l‟ protected void onActivityResultint requestCode, int resultCode, Intent data { if requestCode == REQUEST_CODE resultCode == RESULT_OK { ArrayListString matches = data.getStringArrayListExtra RecognizerIntent.EXTRA_RESULTS; String result=; String a=; boolean found = false; forint i=0;imatches.size found;i++{ result=matches.geti.toString; a=a+result+\n; ifresult.equalsIgnoreCaselampu depan hidup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; STIKOM SURABAYA kirim.writeBytesa; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCaselampu depan mati { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesb; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCaselampu tengah hidup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesc; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCaselampu tengah mati { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesd; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCaselampu belakang hidup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytese; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } STIKOM SURABAYA else if result.equalsIgnoreCaselampu belakang mati { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesf; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepintu depan buka { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesg; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepintu depan tutup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesh; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepintu belakang buka { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesi; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepintu belakang tutup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesj; STIKOM SURABAYA } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepagar buka { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesk; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } else if result.equalsIgnoreCasepagar tutup { found = true; DataOutputStream kirim; try { kirim = new DataOutputStreamkoneksi.getOutputStream; kirim.writeBytesl; } catch IOException e { TODO Auto-generated catch block e.printStackTrace; } } } if found{ Toast.makeTextgetApplicationContext, Perintah tidak dikenali, 50000.show; } } super.onActivityResultrequestCode, resultCode, data; }

3.3.4 Menerima Data dari Microcontroller