62 Gambar 4.8 Tampilan halaman dashBoard
4.1.2.5 Halaman Console
Halaman Console merupakan halaman yang dapat menampilkan aktivitas dari sistem Home Automation. Halaman ini diakses memalui route
‘managedashBoardconsole’ serta dikendalikan oleh classConsoleController. Tampilan dari halaman ini seperti yang ditunjukkan pada Gambar 4.9.
Gambar 4.9 Tampilan halaman console yang menampilkan notifikasi dari perangkat
4.1.3 Integrasi Kontroler Dengan Aplikasi Web
Tahap pertama yang harus dilakukan sebelum melakukan integrasi antara kontroler dan aplikasi web adalah memastikan kontroler sudah bisa melakukan
request ke server. Untuk melakukan pengecekan tersebut sebuah kode seperti
yang ada pada Gambar 4.10 dibuat untuk melakukan ping dari kontroler ke server.
Universitas Sumatera Utara
63
1 c ons t
c har s s i d =
Fugue2 ;
2 c ons t
c har pas s wor d =
f ugue123 ;
3 4
c l as s Pi ngTes t
: publ i c
v i r t ual Bas eCont r ol l er
5 { 6
publ i c :
7 i nt
pi ngCount = 15
; 8
c har hos t =
www. wahy unugr aha. c om ;
9 v oi d
s et up 10 {
11 i f
env : : wi f i : : obt ai nI pAddr es s Aut omat i c al l y { 12 Wi Fi . c onf i g env : : wi f i : : i p, env : : wi f i : : gat eway ,
env : : wi f i : : s ubnet , env : : wi f i : : dns 1, env : : wi f i : : dns 2 ;
13 } 14 Wi Fi . begi n s s i d, pas s wor d ;
15 16
whi l e Wi Fi . s t at us = WL_CONNECTED {
17 del ay 100
; 18 Ser i al . pr i nt
. ;
19 } 20
21 Sc hedul er : : ev er y 1000
, [ =] { 22
i f Pi ng. pi ng hos t {
23 Ser i al . pr i nt Pi ng. av er ageTi me ; 24 Ser i al . pr i nt l n
ms ;
25 } el s e
{ 26 Ser i al . pr i nt l n
t i meout ;
27 } 28 } , pi ngCount ;
29 } 30
31
v oi d l oop
32 { 33 Sc hedul er : : handl eEv ent s ;
34 } 35 } ;
Gambar 4.10 Kode program kontroler untuk melakukan ping ke server Keluaran jika kode diatas dijalankan adalah nilai delay ping dari kontroler
ke server dan kembali ke kontroler. Nilai delay yang didapat dari kode ping diatas adalah seperti yang ditunjukkan pada Gambar 4.11. Rata – rata delay yang didpat
adalah 99.6 ms. Hasil yang didapat menunjukkan bahwa kontroler sudah bisa berkomunikasi dengan server.
Universitas Sumatera Utara
64 Gambar 4.11 Hasil uji ping dari kontroler ke server
Integrasi antara program kontroler dan aplikasi web dilakukan oleh class HttpClient pada program kontroler dan classPublishController pada program
aplikasi web. Class HttpClient setiap saatnya mengambil pesan yang dikumpulkan oleh classLogger. Pesan tersebut berisi informasi tentang keadaan perangkat –
perangkat dan pembacaan sensor. Kemudian class HttpClient melakukan request dengan pesan requestnya berisi pesan yang diterima dari classLogger. Pada
bagian server, request tersebut ditangani oleh classPublishController. Class PublishControler menyimpan data yang ada pada pesan request untuk dapat
ditampilkan pada halaman DashBoard. Setelah itu classPublishController mengirimkan pesan respon yang berisi perintah dari user ke kontroler. Kontroler
kemudian mengeksekusi perintah tersebut dan kembali mengirimkan request ke server
dengan pesan yang didapat dari classLogger. Kode dari class HttpClient dapat dilihat pada Lampiran 1.5 dan Lampiran 1.6, kode dari classLogger dapat
Universitas Sumatera Utara
65 dilihat pada Lampiran 1.14, dan kode untuk classPublishController dapat dilihat
pada Lampiran 2.9.
4.2 Analis Pengaruh Penggunaan Persistent dan Non-persistent HTTP
HTTP bisa menggunakan koneksi persistent dan nonpersistent. Namun, koneksi persistent adalah mode default dari HTTP. Klien dan server HTTP juga
bisa di konfigurasi untuk menggunakan koneksi non-persistent. Pada koneksi non-persistent, klien HTTP menginisialisasi sebuah koneksi
TCP ke server pada port default HTTP nomor 80. Kemudian klien HTTP mendirim sebuah pesan HTTP request ke server. Pesan request juga terdiri dari
nama path. Server HTTP memproses pesan request tersebut dan mengembalikan respon yang sesuai ke klien. Proses server HTTP kemudian memerintahkan TCP
untuk menutup koneksi TCP. Namun, koneksi tidak benar-benar terputus sampai TCP yakin bahwa klien telah menerima pesan respon. Setelah klien HTTP
menerima pesan respon dari server barulah koneksi TCP diakhiri. Pesan yang diterima dari server adalah sebuah file HTML. Klien kemudian akan mengekstrak
isi pesan tersebut dan melakukan melakukan eksekusi yang khusus untuk object yang diekstrak dari pesan tersebut.
Jika klien menggunakan web browser, maka aplikasi web browser akan menampilkan halaman berdasarkan pesan respon yang diterima. HTTP tidak
memiliki tanggung jawab atas bagaimana halaman web diinterpretasikan oleh klien, HTTP hanya bertanggung jawab atas komunikasi antara program HTTP
klien dan program HTTP server.
Universitas Sumatera Utara