46 Instance dari classDevice tidak dapat langsung didaftarkan pada
ClassBoard . Hanya instance dari class yang meng-extends classDevice yang
dapat didaftarkan pada classBoard. Anak class dari classDevice dapat berupa perangkat yang lebih spesifik seperti LED, lampu, remote AC dan sebagainya.
3.5.6 SensorClass
SensorClassmerupakanclass yang memodelkan perangkat sensor yang terhubung ke WemosD1. Class ini memungkin proses pembacaan dapat dilakukan
dengan lebih mudah. Class ini juga mempermudah mengaitkan sebuah sensor dengan sebuah perangkat, sehingga perangkat tersebut dapat mempunyai perilaku
berdasarkan pada pembacaan sensor. Class
Sensor meng-extends class SensorContract dimana pada class tersebut terdapat empat fungsi virtual yang harus diimplementasikan oleh class
Sensor. Fungsi tersebut antara lain: fungsi initialize, merupakan fungsi yang bertanggung jawab untuk melakukan inisialisasi sensor; fungsi
readMeasurementValue, merupakan fungsi yang bertanggung jawab untuk mendapatkan nilai pembacaan sensor; fungsi setLogger, merupakan fungsi yang
berguna untuk men-set object sensor yang digunakan; fungsi getLogger, merupakan fungsi yang berguna untuk mendapatkan Logger yang sedang
digunakan. Class SensorContract untuk lebih jelasnya dapat dilihat pada Gambar 3.20.
Universitas Sumatera Utara
47
1 c l as s
Sens or Cont r ac t 2 {
3 publ i c
: 4
v i r t ual v oi d
i ni t i al i z e = ;
5 v i r t ual
doubl e r eadMeas ur ement Val ue =
; 6
v i r t ual v oi d
s et Logger Logger Cont r ac t l ogger = ;
7 v i r t ual
Logger Cont r ac t get Logger = ;
8 } ;
Gambar 3.20 Kode program class SensorContract
3.5.7 LoggerClass
LoggerClass merupakan sebuah class yang bertanggung jawab untuk
mengumpulkan notifikasi perangkat dan pembacaan sensor yang terhubung ke Wemos
D1. ClassLogger meng-extends classLoggerContract yang berisi fungsi virtual
yang harus diimplementasikan oleh classLogger. ClassLoggerContract dapat dilihat pada Gambar 3.21.
1 c l as s
Logger Cont r ac t 2 {
3 publ i c
: 4
v i r t ual v oi d
addNot i f i c at i on i nt
c ode, St r i ng
mes s age = ;
5 v i r t ual
v oi d addSens or Meas ur ement
St r i ng s ens or Name,
St r i ng __________
meas ur ement Val ue = ;
6 v i r t ual
St r i ng get LogMes s age =
; 7
v i r t ual v oi d
pr i nt ToSer i al = ;
8 } ;
Gambar 3.21 Kode program classLoggerContract Implementasi dari classLoggerContract yang dituliskan pada classLogger
pada dasarnya akan mengambil notifikasi pada setiap perangkat dan pembacaan pada setiap sensor dan menyatukan semua data tersebut menjadi sebuah teks
dalam format JSON. Kemudian ClassGateway akan mengambil teks tersebut dan menggabungkannya dengan teks alamat server, publish key, subscribe key dan
beberapa teks informasi uri lainnya menjadi sebuah alamat resources locator.
Universitas Sumatera Utara
48 Setelah itu classGateway akan melakukan http get ke server menggunakan uri
tersebut.
3.5.8 GatewayClass