Rancang Bangun Sistem Pervasive Pada Rumah Cerdas Berbasis Protokol Message Queue Telemetry Transport dan Webservice
Vol. 2, No. 8, Agustus 2018, hlm. 2400-2405 http://j-ptiik.ub.ac.id
Rancang Bangun Sistem Pervasive Pada Rumah Cerdas Berbasis Protokol
Message Queue Telemetry Transport dan Webservice
1 23 Arnandha Hadi Pranata , Sabriansyah Rizqika Akbar , Widhi Yahya
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 3 Email: ahpinside@gmail.com widhi.yahya@ub.ac.id
Abstrak
Rumah cerdas merupakan sistem pada sebuah gedung atau bangunan yang memberikan segala kenyamanan, keselamatan, keamanan, dan penghematan energi. Permasalahan utama dari smarthome terletak pada proses identifikasi peralatan rumah secara manual. Maka dibutuhkan sebuah sistem
smarthome yang secara pervasive dapat mengidentifikasi perangkat rumah cerdas. Dengan begitu
pemilik smarthome tidak perlu memasukkan data perangkat secara manual. Penelitian ini, mengimplementasikan metode publish subscribe sebagai protokol komunikasi data antara perangkat
smarthome dengan pengguna smarthome. Pada metode publish subscribe, peneliti menggunakan
protokol MQTT yang mana publisher sebagai pengirim pesan yaitu peralatan smarthome, broker MQTT sebagai server pengatur komunikasi data, dan subscriber sebagai penerima pesan. Sedangkan
webservice , dibutuhkan proses POST and Get data pada subscriber berupa android dan ditampilkan
pada laman web. Dari hasil pengujian, publish subscribe telah berhasil diimplementasikan pada aplikasi smarthome berbasis android . Dari hasil pengujian yang telah dilakukan 20x terhadap delay diambil rata-rata sebagai berikut : publisher
- – broker = 3.6 ms , broker – subscriber = 195 ms , subscriber
- – webservice = 1004.7 ms. Dari hasil tersebut dapat disimpulkan, bahwa sistem telah
berhasil mengenali perangkat secara pervasive dan sistem berkerja secara efisien. Proses pengiriman data terjadi sangat cepat dan hasil delay dalam hitungan miliseconds.
Kata kunci : Smarthome, Pervasive, Publish Subscribe, Webservice, MQTT
Abstract
Smarthome is a system at the building or house who give a comfortable, safety, secure, and energy
savings. The main problem of smarthome occurs about the identification system work in manually. So,
it need some smarthome system that pervasively recognizes smarthome devices. Then the owner of
smarthome isn’t input the information of equipment in manually. This research implementing method
of publish subscribe as data communication protocol between smarthome device with smarthome
owner and supported by webservice technology to facilitate smarthome owner in monitoring and
controlling smarthome furnishings by using owner's smartphone. In publish subscribe method,
researcher use MQTT protocol which publisher as message sender that is smarthome furnishings,
MQTT broker as server and data communication, and subscriber as recipient of message. From the
testing results that have been done 5x to delay is taken on average as follows: publisher - broker = 3.6
ms, broker - subscriber = 195 ms, subscriber - webservice = 1004.7 ms. From these results it can be
concluded that the system has successfully identify pervasive devices and that systems work efficiently.
The process of sending data occurs very quickly and delay results obtained in a miliseconds.Keywords : Smarthome, Pervasive, Publish Subscribe, Webservice, MQTT
saja, tetapi benda-benda yang kita gunakan 1. pada kehidupan sehari-hari, misalnya mobil,
PENDAHULUAN
motor , rumah cerdas (smarthome). Banyak Semakin berkembang pesatnya teknologi bidang yang terdapat permasalahan dalam informasi, perkembangan internet of things pengembangan IoT, yaitu bidang keamanan,
(IoT) juga semakin pesat. Perangkat yang
bidang olahraga, bidang pendidikan, teknologi- terhubung ke internet pun juga bervariasi teknologi yang diusulkan juga mampu jenisnya. Tidak hanya smartphone dan tablets
Fakultas Ilmu Komputer Universitas Brawijaya
2400 mendukung di dalam berbagai domain seperti logistik, kesehatan, permainan, dan sistem cerdas pada rumah cerdas (Brad Brech, 2013).
Rumah Cerdas atau Smarthome merupakan hasil inovasi dari Internet of things dengan peralatan-peralatan yang ada pada rumah. Sehingga diharapkan peralatan yang ada pada rumah dapat terkoneksi dengan internet dan terhubung antara satu dengan yang lainnya. Permasalahan utama dari smarthome terletak pada sistem distribusi peralatan tersebut, peralatan rumah tersebut dimasukkan kedalam sistem secara manual sehingga menyusahkan pemilik smarthome, apalagi pemilik smarthome tidak begitu paham tentang teknologi-teknologi yang ada pada smarthome. Maka dibutuhkan sebuah sistem smarthome yang secara pervasive dapat mengenali perangkat-perangkat
protokol publish subscribe untuk mewujudkan sistem pengenalan perangkat yang pervasive. Protokol MQTT memiliki konsep berlangganan pesan dengan topik tertentu, dengan topik tersebut nantinya dapat dikenali informasi- informasi mengenai perangkat rumah cerdas. Pada MQTT juga terdapat broker, fungsi broker sebagai server pada sistem perpesanan MQTT.
berjudul “The Interconnecting of Everything” menyatakan Internet of things merupakan internet dimasa depan, menggerakkan , memproses jutaan perangkat industri dan global (Brad Brech, 2013) .
control, dan sebagainya . Dalam sebuah jurnal
revolusi teknologi komputasi dan komunikasi di masa yang akan datang didasarkan pada konsep kapan dan dimana saja dapat saling terhubung, berisi beberapa perangkat pintar yang saling terhubung dalam internet. Sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung (Ashton, 2009) secara terus-menerus dan dapat mengubah dunia seperti pernah dilakukan oleh internet, bahkan mungkin lebih baik (Ashton, 2009) adapun kemampuan seperti data , remote
2.1. Internet of Things Internet of Things (IoT) adalah sebuah
2. LANDASAN KEPUSTAKAAN
bagus tersebut, pengiriman data masih dapat berjalan mesikpun berdampak pada delay yang dihasilkan. Format data yang digunakan dalam pengiriman adalah JSON.
bandwith . Sehingga pada jaringan yang kurang
dapat mengenali dan menambahkan secara otomatis jikalau ada perangkat yang baru terpasang atau terkoneksi. Selain itu protokol MQTT dipilih karena keunggulannya dalam proses pengiriman data pada jaringan low
Broker dapat berisi sebuah database agar sistem
Sistem Pervasive pada Rumah Cerdas Berbasis Protokol Message Queue Telemetry Transport dan Webservice”. MQTT atau Message Queue Telemetry Transport digunakan sebagai
smarthome antara peralatan satu sama yang lain
penelitian yang berjudul “Rancang Bangun
pervasive , maka penulis mengusulkan
Dari penjelasan yang telah penulis uraikan di atas mengenai Rumah Cerdas dan sistem
Sistem terdistribusi pervasive merupakan bagian dari sistem terdistribusi yang dapat diakses kapan saja, di mana saja, dan oleh siapa saja (Egia Rosi Subhiyakto, 2016). Secara harfiah, bahasa pervasive juga diartikan sebagai menyerap atau penyerapan. Sebagai contoh seperti pengukuran performa atlet dan keterampilan psikomotorik atlet (Fogtman, dkk., 2011). Jadi urgensi dari sistem pervasive terletak pada kemudahan dalam pengenalan sebuah perangkat pada sistem komunikasi terdistribusi.
(GPIO). Berbagai vendor peralatan yang berada pada rumah cerdas dapat ditemukan dan dikenali oleh perangkat smartphone android secara pervasive (Sabriansyah Rizqika Akbar, 2015).
pervasive dengan menggunakan protokol Universal Plug and Play (UPnP) dan Raspberry pi General Purpose Input/Output
komunikasi antara data untuk saling berinteraksi, dengan demikian seorang penghuni rumah tersebut dapat mengkontrol perangkat yang ada di rumah pada jarak tertentu ataupun menggunakan perangkat. Sedangkan pada penelitian purwarupa rumah cerdas, kelompok dosen Fakultas Ilmu Komputer Universitas Brawijaya telah menyelesaikan penelitiannya berupa purwarupa sistem
smarthome . Rumah Cerdas memiliki sistem
dan secara pervasive dikenali oleh pemilik
IoT merupakan paradigma komunikasi terkini yang membayangkan teknologi internet di masa yang akan datang, dimana benda-benda di kehidupan sehari-hari akan dilengkapi dengan mikrokontroler, pemancar sinyal, untuk komunikasi digital yang mana akan membuat mereka bisa berkomunikasi satu sama lain, baik antara perangkat ke perangkat maupun manusia ke perangkat (Ovidiu Vermesan, 2014). Dengan perkembangan IoT yang sangat cepat, banyak pengembang perangkat menggunakan teknologi IoT untuk mempromosikan teknologi modern pada target usaha mereka. Contohnya pada bisnis kendaraan, mereka berlomba-lomba membuat teknologi yang modern dan di implementasikan pada produk mereka, begitu juga tentang rumah cerdas dan kota cerdas yang berbasis teknologi IoT.
IoT dapat dikolaborasikan dengan berbagai perangkat dan protocol. Message Queue Telemetry Transport (MQTT) merupakan konsep pengiriman data yang ringan dan mudah, dikolaborasikan dengan konsep IoT dapat membuat teknologi baru dan menarik perhatian masyarakat dengan daya tarik kecanggihan dan ide-ide terobosan dari IoT. Tantangan bisnis pada IoT terdiri dari 6 faktor yang harus dihadapi, yakni skalabilitas (Scalability),ketersediaan (Availability),pengelolaan (Manageability),pengelolaan data (Managing data), keamanan (Security), and kegunaan (usability).
2.2. Message Queuing Telemetry Transport (MQTT) Message Queue Telemetry Transport
(MQTT) adalah sebuah protokol layer aplikasi perangkat sumber daya terbatas ( MQTT.org. 2013). Menggunakan topik berbasis
publish/subscribe arsitektur. Ini berarti ketika
klien publish sebuah pesan M untuk topik T tertentu. Lalu semua klient subscribe ke topik T dan menerima pesan M. Seperti hyper text
transfer protocol (HTTP), MQTT bergantung
pada Transmission Control Protocol (TCP) dan
IP sebagai lapisan layer. Namun dibandingkan dengan HTTP, MQTT dirancang untuk memiliki lebih rendah overhead protocol. MQTT memiliki 3 level QoS : yaitu QoS level 0,1 dan 2.
2.3. Rumah Cerdas Smarthome atau yang dikenal oleh
sebagian besar masyarakat Indonesia dengan sebutan rumah cerdas dan ada juga yang menyebut rumah pintar. Namun sebutan tersebut hanyalah sebagai sebutan bagi masyarakat umum yang mana merasakan sensasinya berada di dalam rumah cerdas tersebut.Rumah atau gedung bangunan yang dibangun dan dilengkapi oleh teknologi internet of things yang mana perangkat keras memungkinkan untuk saling berinteraksi dan berkomunikasi satu sama yang lain menggunakan pengembangan sistem otomasi berbasis DNS Service (Ting Zhang, 2015). Selain menggunakan DNS Service, terdapat penelitian Sistem otomasi rumah cerdas yang melalui social media berbasis Embedded System (Setiawan, dkk., 2012).Rumah Cerdas dalam beroperasi didukung oleh komputer untuk memberikan akses pertukaran data, maupun komputer berupa komputer kecil ataupun komputer berupa server. Dengan melalui dukungan komputer tersebut, Rumah Cerdas dapat mengendalikan atau mengkontrol keadaan rumah menggunakan alat kontrol (Sabriansyah Rizqika Akbar, 2015). Alat kontrol dapat berupa smartphone pemilik rumah ataupun berupa remote control. Keuntungan yang ditawarkan oleh para pengembang rumah cerdas biasanya berupa kenyamanan, keselamatan, keamanan, pengaturan suhu dan penghemat energi yang berlangsung secara otomatis maupun melalui kontrol. Dalam hal Pengontrolan rumah cerdas, dapat dilakukan pada jaringan local dan dapat juga melalui jaringan luar yang dapat di akses dengan jarak jauh melalui bantuan smartphone pengguna.
2.4. Sistem Pervasive
Sistem komunikasi pervasive atau pervasive dapat diartikan sebagai suatu pemaksaan atau meresap, yakni komunikasi yang sifatnya bisa membuat perangkat atau sistem dapat merasakan dan merasapi suatu keadaan yang dihadapi pada waktu itu sehingga dapat teringat secara terus menerus karena komunikasi yang didapat sudah menempel dan meresap pada sistem tersebut (Egia Rosi Subhiyakto, 2016).
Pada dasarnya sistem pervasive dalam teknologi melibatkan manusia dengan perangkat dalam kehidupan manusia sehingga memberikan kenyamanan pengguna teknologi dalam pekerjaan manusia. Sama halnya dengan proses pengenalan perangkat pada sebuah purwarupa rumah cerdas yang mampu dikenali satu sama lain secara pervasive dan dilakukan pengontrolan melalui smartphone pengguna (Sabriansyah Rizqika Akbar, 2015). Interaksi manusia terhadap komputer menghasilkan komputasi yang terintegrasi, dengan tujuan manusia dapat berinteraksi dengan komputer secara alami, begitu juga sistem pengenalan antara perangkat perangkat secara alami layaknya manusia. Dari gambar 1 dapat dilihat bahwa data 3.
PENGUJIAN
perangkat satu telah dikirim menuju broker Pengujian dalam penelitian ini terdiri dari sebanyak 5x. dua bagian inti yang dijabarkan menjadi dua macam pengujian diantaranya pengujian fungsionalitas dan pengujian performansi.
Pengujian fungsionalitas adalah pengujian yang dilakukan untuk melihat apakah kebutuhan fungsional dari sistem sudah terpenuhi dan dapat berjalan dengan baik. Pengujian ini dilakukan disesuaikan dengan hal-hal yang telah didefinisikan dalam kebutuhan fungsional. Hasil dari pengujian ini merupakan proses-
Gambar 2. Broker menerima data dari publisher
proses yang harus dijalankan dan dipenuhi oleh sistem.
Dari gambar 2 dapat dilihat bahwa broker Pengujian performansi adalah pencatatan dapat menerima data dari publisher berdasarkan waktu yang dilakukan pada tiga komponen topik dan ditampilkan pula delay yang MQTT yaitu publisher, broker dan subscriber. dihasilkan beserta informasi perangkat baru
Pada publisher dilakukan pencatatan delay atau sudah terdaftar. yang dihasilkan ketika data yang dikirim dari
publisher menuju broker . Pengujian
diimplementasikan di dalam source code program sehingga delay otomatis didapatkan ketika data telah sampai pada broker. Pada
broker dilakukan pencatatan delay yang
dihasilkan ketika data yang dikirim dari broker menuju subscriber . Pengujian diimplementasikan di dalam source code program sehingga delay otomatis didapatkan ketika data telah sampai pada subscriber. Pada
subscriber dilakukan pencatatan delay yang dihasilkan ketika data direspons oleh user.
Pengujian diimplementasikan di dalam source
code program sehingga delay otomatis
didapatkan ketika user melakukan remote dan perintah untuk mematikan dan merubah volume perangkat rumah cerdas.
4. HASIL DAN PEMBAHASAN
4.1. Pengujian Fungsionalitas
Gambar 3. Tampilan pada Android
Pengujian fungsionalitas merupakan pengujian yang dilakukan untuk melihat apakah Dari gambar 3 dapat dilihat bahwa data yang kebutuhan fungsional dari sistem sudah dapat berada pada database sistem telah berhasil berjalan dengan baik. ditampilkan pada tampilan Android user.
Gambar 1. Publisher mengirimkan data menuju broker
Delay Pengiriman 20 Pesan dari Broker menuju Subscriber 1000 s) m
500 ( u kt a W
1
3
5
7 9 11 13 15 17 19 Jumlah Pengiriman Pesan
Gambar 6. Grafik delay broker-subscriber
Dari grafik hasil delay publisher
- – broker merupakan grafik delay yang dihasilkan dari publisher menuju broker. Pada grafik terdapat waktu tertinggi yaitu pada titik 850.0 ms, naik turun waktu sangat berpengaruh pada kestabilan jaringan yang terkoneksi.
Delay Pengiriman 20 Pesan dari Broker menuju Subscriber 1000
Gambar 4. Notifikasi pada Android s) m
500 (
Dari gambar 4 dapat dilihat bahwa android
u kt
telah berhasil menerima dan memberikan
a
informasi berupa notifikasi terhadap user W sehingga user dapat mengetahui perangkat yang
1
3
5
7 9 11 13 15 17 19 Jumlah Pengiriman Pesan baru terkoneksi dengan sistem.
Gambar 7. Grafik delay subscriber - webservice
4.2. Pengujian Performansi
Dari grafik hasil delay publisher
- – broker Pengujian performansi merupakan merupakan grafik delay yang dihasilkan dari pengujian yang dilakukan untuk melihat kinerja publisher menuju broker. Pada grafik terdapat dari sistem, berapa lama waktu yang waktu tertinggi yaitu pada titik 2826.0 ms, naik dibutuhkan oleh sistem dalam proses turun waktu sangat berpengaruh pada kestabilan pengiriman data.
jaringan yang terkoneksi.
Delay Pengiriman 20 Pesan dari 5. Publisher menuju Broker KESIMPULAN
6 Sistem yang terdiri dari publisher
s)
4 m
(perangkat), broker (server
( u
) dan subscriber (android) telah berhasil
kt
2 a
berjalan pada perangkat dengan rumah cerdas
W
secara pervasive dengan menggunakan protokol MQTT sebagai komunikasi data. Sistem telah
1
3
5
7
9
11
13
15
17
19
berhasil mengenali perangkat secara pervasive
Jumlah Pengiriman Pesan
dengan menggunakan keunggulan dari protokol
Gambar 5. Grafik delay publisher - broker
MQTT dan format data JSON. Perangkat
publisher membuat koneksi dengan broker
Dari grafik hasil delay publisher
- – broker melalui alamat IP dan Topik broker yang sudah merupakan grafik delay yang dihasilkan dari ditentukan, pihak broker membuat jalinan publisher menuju broker. Pada grafik terdapat koneksi dengan publisher berdasarkan topik waktu tertinggi yaitu pada titik 5ms, naik turun yang telah di subscribe. Setelah koneksi terjalin waktu sangat berpengaruh pada kestabilan antara publisher dengan broker, perangkat jaringan yang terkoneksi.
sebagai publisher mengirimkan data JSON menuju broker dengan berdasarkan topik yang telah di subscribe sebelumnya oleh broker. Sehingga data yang diterima oleh broker merupakan data yang valid berdasarkan topik yang telah di subscribe.
Ketika user melakukan remote terhadap perangkat, telah berhasil dicatat delay dan perubahan status terhadap perangkat. Sehingga sistem telah berhasil dijalankan secara efektif.
Ovidiu Vermesan, P. F. (2014). Internet of
1.1 . Dipetik September 9, 2016, dari
Python Software Foundation. (2005). paho-mqtt
TCP/IP Tutorial and Technical Overview. New York: IBM Press.
publisher. Parziale, L., Britt, D. T., Davis, C., Forrester, J., Liu, W., Matthews, C., et al. (2006).
things - From research and Innovation to market deployment. Denmark: River
DAFTAR PUSTAKA
Literatur Sistematis. Jurnal Buana Informatika, 7 (2), 83-94. M. Beazley, D. (2010). Python Network
Collins, C., Galpin, M. D., & Kaeppler, M.
Dipetik Mei 6, 2016, dari http://learning-0mq-with- pyzmq.readthedocs.io/en/latest/pyzmq/ patterns/pubsub.html
ZeroMQ. (2010). Publisher Subscriber Pattern.
Teknologi Informasi dan Ilmu Komputer (JTIIK), 2 (2), 116-124.
INPUT/OUTPUT (GPIO). Jurnal
UNIVERSAL PLUG AND PLAY (UPnP) DAN RASPBERRY PI GENERAL PURPOSE
PERVASIVE BERBASIS PROTOKOL
IMPLEMENTASI PURWARUPA PERANGKAT RUMAH CERDAS
https://pypi.python.org/pypi/paho- mqtt/1.1 Sabriansyah Rizqika Akbar, B. H. (2015).
Ashton, K. (2009). That 'Internet of things' Thing. RFID Journal, 1-1(1), 49-86. Brad Brech, J. J. (2013). The Interconnecting of
Everything. New York: IBM Academy of Technology.
(2011). Android in Practice. New York: Manning Publications. Eclipse. (2005). Eclipse Paho Java Client.
Programming. Python Network Programming , 124. Mednieks, Z., Dornin, L., Meike, G. B., &
Dipetik September 9, 2016, dari https://eclipse.org/paho/clients/java/ Egia Rosi Subhiyakto, D. W. (2016). Teknologi dan Teknik Sistem Terdistribusi
Pervasive dalam Bidang Logistik: Studi
Developing Applications on the Publish-Subscribe Model: https://docs.oracle.com/cd/B28359_01/ appdev.111/b28424/adfns_publish.htm
Android Developer. (2012). AsyncTask. Dipetik November 15, 2016, dari https://developer.android.com/reference /android/os/AsyncTask.html
Oracle. (2016, February 2). Oracle
dari http://my.ilstu.edu/~jabraun/students/m athis/latandlong.htm Oracle. (2016). MySLQ Connector/Python. Dipetik Desember 25, 2016, dari https://dev.mysql.com/downloads/conn ector/python/2.1.html
Latitude . Dipetik November 20, 2016,
Microsoft. (2005). Lines of Longitude and
Android (1st ed.). Sebastopol: O'Reilly Media, Inc.
Nakamura, M. (2011). Programming
Documentation . Diambil kembali dari