• Tidak ada hasil yang ditemukan

Rancang Bangun IOT Cloud Platform Berbasis Protokol Komunikasi MQTT

N/A
N/A
Protected

Academic year: 2021

Membagikan "Rancang Bangun IOT Cloud Platform Berbasis Protokol Komunikasi MQTT"

Copied!
7
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

479

Rancang Bangun IOT Cloud Platform Berbasis Protokol Komunikasi

MQTT

Moh. Wildan Habibi1, Adhitya Bhawiyuga2, Achmad Basuki3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya

Email: 1mohwildannhabibi@gmail.com, 2bhawiyuga@ub.ac.id, 3abazh@ub.ac.id

Abstrak

Internet of Things (IoT) merujuk pada suatu jaringan yang menghubungkan berbagai perangkat dalam

dunia fisik dengan berbagai protokol berbeda. Namun, terdapat keterbatasan dalam hal komputasi dan penyimpanan karena perangkat IoT hanya menggunakan komponen penyimpanan dan komputasi yang terbatas. Sedangkan cloud adalah lingkungan virtual yang umumnya memiliki kapasitas komputasi dan penyimpanan yang sangat besar. Dengan mengintegrasikan cloud dengan IoT, perangkat IoT diharuskan untuk mengalihkan proses komputasi dan penyimpanan menuju cloud, sehingga cloud dapat menyelesaikan keterbatasan pada perangkat IoT. Terdapat dua masalah utama dari integrasi tersebut, yaitu heterogenitas dan keamanan. Heterogenitas yaitu banyaknya ragam perangkat yang dapat berkomunikasi dengan cloud, sehingga perlu digunakan protokol komunikasi tertentu agar semua perangkat dapat terhubung dengan cloud. Keamanan sendiri merujuk pada validitas perangkat IoT yang mengirimkan data. Dari penjelasan sebelumnya, maka penelitian ini membuat sebuah rancang bangun IoT cloud platform menggunakan protokol komunikasi MQTT untuk menyelesaikan masalah heterogenitas. Sedangkan untuk memastikan validitas dari perangkat IoT yang mengirimkan data, dibangun sebuah mekanisme manajemen perangkat IoT, autentikasi, dan otorisasi. Hasil pengujian performa menunjukkan, sistem yang dibangun mampu menangani publisher hingga 250

publisher dalam tiap detik.

Kata kunci: IoT, cloud, platform, mqtt, authentication, authorization.

Abstract

Internet of Things (IoT) referring to a network that linking various device in the physical world with a variety of different protocols. However, there are limitations in terms of computing and storage because IoT device only use minimum computational and storage components. While cloud is a virtual environment that generally has a big capacity of computing and storage. By integrating cloud and IoT, it is necessary to divert IoT device’s computational process and storage towards cloud, so that cloud can resolve the limitations on the IoT device. There are two main issues in the integration, heterogeneity and security. Heterogeneity refers to number range of devices that can communicate with the cloud, so it is necessary to use specific communication protocol so that all devices can be connected to the cloud. Security refers to the validity of the IoT devices that can transmit data to the cloud. From the previous explanation, then this research makes an architecture of IoT cloud platform that use MQTT communication protocol to resolve the problem of heterogeneity. Whereas to ensure the validity of IoT devices that can transmit data, constructed a mechanism to manage IoT device, authentication, and authorization. The performance test results showed, built systems capable of handling the publisher up to 250 publishers in each second.

Keywords: IoT, cloud, platform, mqtt, authentication, authorization.

1. PENDAHULUAN

Internet of Things (IoT), merujuk pada

suatu jaringan yang menghubungkan berbagai perangkat dalam dunia fisik dengan berbagai protokol berbeda (Guoqiang, Yanming, Chao,

& Yanxu, 2013). Penerapan IoT menjadikan aktivitas dalam berbagai bidang dapat saling terhubung melalui Internet, serta menjadi lebih mudah dan efisien. Contohnya seperti, seorang petani dapat mengetahui suhu dan kelembapan lahannya dari tempat yang lain, karena

(2)

perangkat IoT yang tersebar pada lahan tersebut saling berbagi informasi dan dapat diakses melalui Internet.

Things atau perangkat dalam IoT, merupakan perangkat fisik yang memiliki identitas, atribut, karakteristik tertentu, dan dapat berkomunikasi antara satu dengan yang lain. Namun, terdapat keterbatasan dalam hal komputasi dan penyimpanan karena hanya menggunakan komponen penyimpanan dan komputasi yang terbatas (Botta, Donato, Persico, & Pescape, 2016). Sebagai contoh, perangkat IoT tidak dapat menyimpan berbagai data yang telah dihimpun hingga bertahun-tahun, atau perangkat IoT tidak dapat

melakukan komputasi kompleks. Dengan

keterbatasan tersebut, salah satu solusi yang dapat diberikan yaitu mengalihkan proses komputasi dan penyimpanan ke sistem yang lain, contohnya cloud computing platform.

Zhang et al (2010) menyebutkan bahwa

cloud adalah kumpulan objek computing resources yang dapat dikonfigurasi secara tepat

dan diakses dari mana saja, serta resources-nya dapat ditambahkan atau dikurangi dengan cepat

dan mudah. Penelitian tersebut juga

menyebutkan karakteristik dari sebuah cloud,

diantaranya adalah cloud secara virtual

memiliki kemampuan yang tidak terbatas dalam hal penyimpanan dan komputasi. Hal itu

mengisyaratkan bahwa cloud memiliki

teknologi yang mampu menjawab tantangan pada perangkat IoT.

Jika cloud digunakan sebagai solusi terhadap tantangan IoT, maka terdapat beberapa potensi masalah yang perlu diselesaikan (Botta, Donato, Persico, & Pescape, 2016). Secara umum, terdapat dua masalah utama dari integrasi tersebut, yaitu heterogenitas dan keamanan. Heteroginitas yaitu banyaknya ragam perangkat yang dapat berkomunikasi dengan cloud, sehingga diperlukan suatu standar komunikasi sehingga semua perangkat dapat berkomunikasi dengan cloud. Keamanan sendiri merujuk pada validitas perangkat IoT yang mengirimkan data. Oleh karena itu, diperlukan suatu mekanisme kerja yang dapat

mengidentifikasi suatu perangkat dan

memeriksa valid tidaknya perangkat IoT yang mengirimkan data.

Dari pembahasan sebelumnya, maka

penelitian ini membuat sebuah rancang bangun IoT cloud platform, sebagai alternatif yang

mampu mendukung komunikasi berbagai

perangkat IoT dan menjamin validitas dari

perangkat yang mengirimkan data. Untuk menyelesaikan masalah heteroginitas pada integrasi IoT dan cloud, perangkat IoT cloud

platform ini menggunakan protokol komunikasi

MQTT. Protokol MQTT digunakan karena keandalan dalam pengiriman paket, dan penggunaan bandwidth yang kecil. Menurut OASIS (2015), MQTT memiliki karakteristik yang mendukung pada kemampuan yang dimiliki oleh perangkat IoT, yaitu dapat bekerja pada low power, dan menggunakan bandwidth yang kecil. Sedangkan untuk memastikan validitas dari perangkat IoT yang mengirimkan

data, peneliti akan membangun sebuah

mekanisme manajemen perangkat IoT,

authentication, dan authorization. 2. ARSITEKTUR KOMUNIKASI

PUBLISH/SUBSCRIBE 2.1. Pengertian

Prinsip dari model komunikasi publish /

subscribe yaitu beberapa komponen yang

menginginkan sejumlah informasi yang sesuai dengan topik mereka inginkan dengan cara mendaftarkan topik apa yang diinginkan. Proses

mendaftarkan topik ini disebut dengan

subscribe. Sedangkan kumpulan komponen

yang menginginkan informasi tersebut disebut sebagai subscriber. Komponen lain membuat atau memberikan informasi terkait dengan yang

diinginkan oleh subscriber dengan cara

melakukan publish informasi. Komponen itu disebut sebagai publisher. Sedangkan entitas yang bertugas untuk memastikan bahwa suatu paket informasi dapat terkirim dari publisher menuju subscriber disebut sebagai broker.

Broker bertugas untuk mengkoordinasi keinginan akan informasi dari para subscriber, dan subscriber biasanya secara eksplisit akan melakukan kontak dengan broker untuk melakukan subscribe (Hunkeler, Truong, & Clark, 2015).

Gambar 1. Model Komunikasi Topic-Based Publish/Subscribe

2.2. MQTT (Message Queue Telemetry Transport)

(3)

Queue Telemetry Transport. Ini merupakan protokol komunikasi publish/subscribe

topic-based yang sangat sederhana dan ringan, yang

didesain untuk alat yang memiliki kemampuan terbatas, bandwidth yang rendah, latency yang tinggi atau jaringan yang kurang dapat diandalkan. Prinsip dari desain ini adalah untuk meminimalkan penggunaan bandwidth jaringan dan kebutuhan sumber daya pada perangkat serta pada waktu yang sama juga berusaha untuk memastikan keandalan dan kepastian dari pengiriman data. Prinsip yang ada ini juga memunculkan beberapa ide protokol mengenai “machine-to-machine” (M2M) atau IoT yang menginginkan perangkat di dunia untuk saling terhubung, dan untuk aplikasi mobile dimana

bandwidth dan daya baterai pada keadaan yang

cukup (MQTT, 2016).

3. REKAYASA KEBUTUHAN

Rekayasa kebutuhan untuk menganalisis beberapa kebutuhan yang diperlukan pada penelitian ini. Rekayasa kebutuhan pada penelitian ini dijelaskan sebagai berikut:

3.1. Analisis Kebutuhan Pengguna

Kebutuhan pengguna pada penelitian ini yaitu node sensor dapat melakukan pengiriman data sensor menuju broker. Pada sisi web app, akan ditampilkan data - data yang telah diterima dari node sensor dalam bentuk tabel.

3.2. Analisis Kebutuhan Sistem

Kebutuhan sistem IoT cloud platform yang dibangun pada penelitian ini dijelaskan sebagai berikut:

a. Node sensor dapat memperoleh data dari sensor yang dimiliki oleh node sensor tersebut,

b. Node sensor dapat mengirimkan data menuju broker menggunakan protokol MQTT,

c. Broker dapat menerima koneksi yang dibuat oleh publisher (node sensor) dan

subscriber, serta dapat menerima data yang

dikirim oleh node sensor. Broker

melakukan proses authentication terhadap setiap koneksi yang akan dibangun oleh

publisher dan subscriber, serta melakukan

proses authorization pada setiap data yang akan diterima oleh broker dan data yang akan diteruskan dari broker ke subscriber. Jika lolos tahap tersebut, maka data akan di teruskan ke subscriber,

d. Subscriber dapat menerima data dari broker

dan dapat mengolah data - data yang telah diperoleh sebelumnya untuk dimasukkan ke dalam database atau tidak,

e. Web app dapat menampilkan data - data yang telah dikumpulkan pada database.

Web app dapat melakukan Create, Read, Update, dan Delete pada database yang

digunakan.

4. PERANCANGAN SISTEM 4.1. Gambaran Umum Sistem

Gambar 2. Alur Komunikasi Data Sistem

Secara umum terlihat bahwa konsep komunikasi yang digunakan merupakan konsep komunikasi arsitektur umum dari publish

subscribe MQTT. Protokol MQTT memiliki broker sebagai pusat pertukaran informasi

antara publisher dan subscriber atau istilah lain

broker dikenal sebagai MQTT server. Publisher yaitu node sensor mengirimkan

informasi data sensor yang telah didapat menuju broker dengan melakukan inisialisasi topik. Dimana topik digunakan sebagai alamat tujuan yang dikirimkan melalui broker dari

publisher sehingga tidak semua dapat menerima

informasi tersebut jika tidak mengetahui topik yang digunakan. Sedangkan subscriber untuk mendapatkan pesan dari publisher, subscriber harus melakukan request atau subscribe topik yang sama dengan topik yang dikirimkan

publisher jika ingin mendapatkan informasi

yang telah dipublish oleh publisher

sebelumnya. Kemudian broker membalas

informasi subscriber dengan menyesuaikan identitas topik yang sama antara publisher dan

subscriber, dan jika topik sama, maka broker

akan meneruskan data yang diperoleh dari

(4)

4.2. Alur Kerja Penanganan Publisher

Node sensor membangun koneksi

dengan broker

Broker mendeteksi koneksi baru, meneruskan ke auth server untuk check

authentication

Auth server mendeteksi permintaan check authentication, melakukan proses dan memberikan respon Publisher node sensor

publish data berupa data yang didapat dari sensor menuju broker menggunakan

topik tertentu

Respon diterima, dan diteruskan ke publisher

Broker mendeteksi permintaan publish, meneruskan ke auth server untuk check authorization

Auth server mendeteksi permintaan check authorization,

melakukan proses dan memberikan respon

Respon diterima, dan broker menerima publish data sensor sesuai topik dari

publisher

Auth server mendeteksi permintaan check authentication, melakukan proses dan memberikan respon

Gambar 3. Alur Kerja Penanganan Publisher

Pada Gambar 3 ditunjukkan bahwa proses operasi pada sistem dimulai pada dimulai dari

node sensor yang akan melakukan publish data

maka diharuskan untuk membangun koneksi terlebih dahulu. Broker mendeteksi adanya permintaan koneksi dari publisher tersebut, maka data koneksi yang dikirimkan oleh

publisiher akan diambil dan dikirim menuju auth server untuk dilakukan check authentication. Auth server menerima permintaan tersebut, kemudian memproses menggunakan data yang dikirim oleh broker, apakah publisher tersebut dapat melakukan koneksi. Hasil dari check authentication tersebut dijadikan respon oleh auth server, kemudian dikirimkan kembali menuju broker, dan broker mengirim ke publisher. Jika respon yang diterima oleh publisher yaitu mengijinkan untuk melakukan koneksi terhadap broker,

maka tahap selanjutnya publisher akan

melakukan publish data dengan topik yang telah ditentukan oleh publisher. Permintaan melakukan publish data akan dikirimkan terlebih dahulu oleh publisher menuju broker, dan broker akan mengirim data publish tersebut ke auth server untuk dilakukan check

authorization. Pada auth server melakukan check authorization dan hasil dari pemeriksaan

tersebut akan bertindak sebagai respon dari auth

server kepada broker. Broker menerima respon

dari auth server tentang check authorization, jika respon tersebut bernilai positif, maka data

publish akan disimpan sementara oleh broker

yang nantinya jika ada subscriber dengan topik yang sama melakukan subscribe, maka data tersebut akan diteruskan menuju subscriber tersebut. Jika respon tersebut bernilai negatif, maka broker tidak akan menyimpan data

publish tersbut dan tidak akan meneruskannya

menuju subscriber meskipun dengan topik yang

sama.

4.3. Alur Kerja Penanganan Subscriber

Subscriber membangun koneksi dengan broker

Broker mendeteksi koneksi baru, meneruskan ke auth server untuk check

authentication

Auth server mendeteksi permintaan check authentication, melakukan proses dan memberikan respon

Subscriber melakukan subscribe topik menuju

broker

Respon diterima, dan diteruskan ke subscriber

Broker mendeteksi permintaan subscribe, meneruskan ke auth server

untuk check authorization

Auth server mendeteksi permintaan check authorization,

melakukan proses dan memberikan respon

Respon diterima, dan broker meneruskan publish data

sensor sesuai topik dari publisher kepada subscriber

Auth server mendeteksi permintaan check authentication, melakukan proses dan memberikan respon

Data sensor diterima subscriber, dan dimasukkan

ke dalam database

Gambar 4. Alur Kerja Penanganan Subscriber

Pada Gambar 4 ditunjukkan bahwa proses operasi pada sistem dimulai pada dimulai dari

subscriber yang akan melakukan susbscribe

pada topik tertentu maka diharuskan untuk membangun koneksi terlebih dahulu. Broker mendeteksi adanya permintaan koneksi dari

subscriber tersebut, maka data koneksi yang

dikirimkan oleh subscriber akan diambil dan dikirim menuju auth server untuk dilakukan

check authentication. Auth server menerima

permintaan tersebut, kemudian memproses menggunakan data yang dikirim oleh broker, apakah subscriber tersebut dapat melakukan koneksi. Hasil dari check authentication tersebut dijadikan respon oleh auth server, kemudian dikirimkan kembali menuju broker, dan broker mengirim ke publisher. Jika respon

yang diterima oleh subscriber yaitu

mengijinkan untuk melakukan koneksi terhadap

broker, maka tahap selanjutnya subscriber akan

melakukan subscriber pada topik yang telah

ditentukan oleh subscriber. Permintaan

melakukan subscribe pada topik tertentu akan dikirimkan terlebih dahulu oleh subscriber menuju broker.

4.4. Perancangan Skema Database

Pada perancangan skema database ini akan digambarkan skema database yang akan digunakan. Database menggunakan MongoDB, yang merupakan sistem basis data berbasis

document-oriented, dimana data direpresentasikan dalam dokumen-dokumen BSON (Binary JSON).

(5)

_id: <ObjectId1> username: <string> password: <string> email: <string> firstname: <string> is_admin: <int> _id: <ObjectId2> user: <ObjectId1> label: <string> secretkeyl: <string> subsperday: <int> subsperdayremain: <int> is_public: <int> _id: <ObjectId3> Label: <string> _id: <ObjectId4> node: <ObjectId2> sensor: <ObjectId3> data: <int> timestamp: <ISODate>

Gambar 5. Skema Database MongoDB yang Digunakan

Pada Gambar 5, terdapat 3 koleksi atau dapat dianggap seperti tabel jika pada database relasional. Koleksi tersebut terdiri dari User, Nodes, dan Subscriptions. Setiap koleksi memiliki field yang menjadi acuan dalam mengisi koleksi tersbut. Isi dari sebuah koleksi adalah dokumen atau dapat dianggap seperti

record jika pada database relasional. Koleksi

User berguna untuk menyimpan data yang berhubungan dengan user atau pengguna yang memiliki hak untuk berkontribusi pada sistem. Koleksi Nodes berguna untuk menyimpan data yang berhubungan dengan mikrokontroler yang digunakan sebagai node sensor. Koleksi Sensors sedikit berbeda dengan koleksi yang lain, karena koleksi ini berada didalam sebuah koleksi, yaitu koleksi Nodes. Koleksi Sensors

berguna untuk menyimpan data yang

berhubungan dengan sensor yang yang dimiliki atau digunakan oleh mikrokontroler. Koleksi Subscriptions berguna untuk menyimpan data - data yang telah dikirimkan oleh node sensor. Keseluruhan koleksi tersebut akan saling berhubungan antara satu dengan yang lain melalui field _id yang digunakan oleh koleksi yang lain.

4.5. Perancangan Auth Server

Auth Server bertugas untuk melakukan

pemeriksaan mengenai koneksi yang akan dilakukan pada broker. Pemeriksaan tersebut

meliputi authentication, superuser, dan

authorization. Start Menunggu check request dari broker Ada check request dari broker Tidak Check authentication Check superuser Check authorization Ya Tidak Tidak Melakukan check authentication pada database Melakukan check user superuser pada database Melakukan check authorization pada database Ya Ya Ya Aplikasi berhenti Memberikan respond ke broker Tidak End Ya

Gambar 6. Alur Kerja Auth Server

Pada Gambar 6, menggambarkan

flowchart algoritma dari Auth Server. Jika Auth

Server berjalan, maka akan selalu dalam

kondisi siap digunakan jika tidak ada check

request dari broker. Jika terdapat request, maka

tindak lanjut dari setiap permintaan akan berbeda di dalam prosesnya, namun semua akan berakhir dengan memberikan respon ke broker.

4.6. Perancangan Broker

Broker bertugas untuk menerima publish

data dari publisher dengan topik tertentu,

kemudian meneruskan publish data ke

subscriber yang melakukan subscribe dengan

topik yang sama.

Start Menunggu permintaan koneksi Koneksi dengan Publisher Koneksi dengan Subscriber Tidak Ya Ya Menerima publish data dari publisher sesuai dengan topik yang digunakan

Meneruskan publish data sesuai dengan topik yang di subscribe Publisher publish

data Koneksi terbangun

Koneksi tetap berjalan Ya

Koneksi terbangun

Ada publish data terbaru

Koneksi tetap berjalan Ya Tidak Ya Tidak Tidak Tidak End Ya A B A B

Gambar 7. Alur Kerja Broker

Pada Gambar 7, menggambarkan

flowchart algoritma dari broker sebagai MQTT

Server. Diawali dengan menjalankan fungsi

MQTT Broker, kemudian jika ada publish data terbaru dari publisher, maka akan diterima dan disimpan oleh broker. Ketika subscriber melakukan subscribe pada topik yang sama dengan publisher, maka data publish yang telah diterima oleh broker akan diteruskan ke

subscriber.

4.7. Perancangan Subscriber

Subscriber bertugas untuk menerima

seluruh publish data yang sudah diperiksa oleh

broker, serta memasukkannya ke database.

Pada Gambar 8, menggambarkan flowchart algoritma dari subscriber. Diawali dengan koneksi dengan broker. Broker akan melakukan pemeriksaan dari setiap koneksi yang akan dibangun. Setelah terkoneksi, maka subscriber akan siap untuk menerima publish data. Jika terdapat publish data yang diterima, maka

subscriber akan memeriksa data payload

apakah sudah memenuhi parameter yang sudah ada pada perancangan publisher.

(6)

Start Membangun koneksi dengan broker Berhasil terkoneksi dengan broker Subscribe topic yang digunakan Menerima data terbaru dari topik yang

disubscribe Koneksi terputus Aplikasi berhenti End Tidak Tidak Tidak Ya Ya Ya Ya Tidak Mendapatkan data payload terbaru Memeriksa kesamaan data payload dengan skema database Data payload Sesuai dengan skema

database Data payload dimasukkan ke database Data payload tidak dimasukkan ke database Ya Tidak A A

Gambar 8. Alur Kerja Subscriber

Jika sudah sesuai, maka subscriber akan

mencocokkan dengan database yang

digunakan. Jika sesuai, maka publish data tersebut akan disimpan pada database.

5. HASIL PENGUJIAN PERFORMA

Pengujian performa pertama yaitu

pengujian delay yang terjadi saat pengiriman data oleh publisher hingga diterima subscriber

tanpa melakukan input pada database.

Pengujian dilakukan dengan menggunakan variasi publisher sebanyak 100, 250, dan 500

publisher yang mengakses dalam waktu yang

sama. Hasil pengujian dapat dilihat pada Tabel 1 berikut:

Tabel 1. Hasil Pengujian Waktu Delay

Dari hasil pengujian pada Tabel 1, waktu

delay yang terjadi juga berbanding lurus dengan

jumlah publisher yang melakukan publish data. Waktu delay yang terjadi saat pengiriman data oleh publisher sebanyak 100 dan 250 publisher, memiliki waktu delay di bawah 1000 ms. Sedangkan pada pengujian dengan jumlah

publisher sebanyak 500, menunjukkan waktu

delay di atas 1000ms, sehingga hasil tersebut dapat dikatakan lebih buruk jika dibandingkan

dengan hasil dengan jumlah publisher di bawah 500 publisher. Dari penjelasan tesebut dapat disimpulkan, sistem dapat menangani jumlah

publisher sebanyak < 500 publisher dalam satu

waktu.

Berikutnya yaitu pengujian jumlah

publisher yang dapat ditangani tiap detik.

Pengujian dilakukan dengan menggunakan variasi publisher sebanyak 100, 250, dan 500

publisher yang mengakses dalam waktu yang

sama. Hasil pengujian dapat dilihat pada Tabel 2 berikut:

Tabel 2. Hasil Pengujian Tingkat Skalabilitas

Dari Tabel 2, dapat dilihat hasil pengujian yang telah dilakukan, menunjukkan bahwa sistem mampu untuk menangani jumlah

publisher hingga sebanyak 500 publisher,

dengan tingkat kesuksesan sebesar 99%.

Disamping itu, dari hasil pengujian

menunjukkan, dengan pengujian sebanyak 500

publisher, rata-rata jumlah publisher yang

tertangani di bawah 1 detik berjumlah 187

publisher.

6. KESIMPULAN

Berdasarkan hasil perancangan,

implementasi, dan pengujian yang telah

dilakukan sebelumnya, maka penulis

mendapatkan kesimpulan sebagai berikut: 1. Mekanisme manajemen perangkat IoT,

authentication, dan authorization dapat

dilakukan dengan membangun sebuah auth

server berbasis protokol HTTP. Auth Server

merupakan komponen yang bertugas untuk memeriksa koneksi yang akan dilakukan ke

broker dan data yang akan melewatinya.

Pemeriksaan tersebut meliputi

authentication, superuser, dan

authorization. Authentication bertujuan

Publisher Average Delay (ms) Publisher Average Delay (ms) Publisher Average Delay (ms) 100 56,73 250 173,38 500 450,37 100 91,81 250 1021,92 500 5786,104 100 112,7 250 810,332 500 3495,172 100 87,08 250 668,544 500 3243,882 Delay

Publisher Responded Success rate % Responded < 1 s

100 100 100% 100 100 100 100% 100 100 100 100% 100 100 100 100% 100 250 250 100% 250 250 250 100% 156 250 250 100% 167 250 250 100% 191 500 500 100% 451 500 493 99% 1 500 495 99% 109 500 496 99% 187 Scalability

(7)

untuk memastikan validitas dari perangkat IoT yang mengirimkan data. Superuser bertujuan untuk memastikan validitas dari

subscriber. Sedangkan authorization

bertujuan untuk memastikan validitas dari topik yang digunakan oleh perangkat IoT saat mengirimkan data.

2. IoT cloud platform dibangun menggunakan protokol MQTT yang berpola

publish-subscribe dengan arsitektur end-to-cloud.

Dalam hal ini, end yang dimaksud merupakan perangkat IoT (node sensor) yang berada pada lapangan, bertindak sebagai publisher yang mengirimkan data yang telah diperoleh. Pada sisi lain, cloud yang dimaksud merupakan sistem IoT

cloud platform yang terdiri dari subscriber, database, broker, serta auth server. Cloud

bertindak sebagai storage dan juga

penerima data yang dikirim oleh node sensor. Script publisher dan subscriber

dikembangkan menggunakan Python

dengan bantuan modul paho-mqtt.

3. Proses pengolahan data dimulai dari proses pengiriman data yang telah berhasil melalui proses authentication dan authorization. Setelah tahap tersebut, maka data akan diterima pada sisi subscriber. Subscriber memeriksa skema payload data tersebut, dan jika sesuai dengan skema database, maka data akan dimasukkan ke database berbasis MongoDB.

4. Dari hasil pengujian performa, didapatkan beberapa kesimpulan yaitu:

a. Delay yang terjadi saat pengiriman

berbanding lurus dengan jumlah

publisher yang melakukan koneksi.

Sehingga dengan lebih sedikitnya jumlah publisher yang melakukan

publish data dalam satu waktu, maka

waktu delay akan semakin kecil. b. Sistem dapat berperforma lebih baik

pada tingkat jumlah publisher hingga 250 publisher, karena dengan hasil pengujian delay, menunjukkan rata-rata waktu delay yang terjadi memiliki hasil di bawah 1000 ms dibandingkan dengan tingkat jumlah publisher 500

publisher yang memiliki rata-rata

waktu delay di atas 1000ms.

c. Tingkat skalabilitas yang dimiliki oleh

sistem untuk menangani jumlah

publisher dalam satu detik, rata-rata publisher yang tertangani dalam waktu

satu detik mencapai 191 publisher pada variasi jumlah publisher sebanyak 250

publisher dengan tingkat kesuksesan

100%, dan 187 publisher pada variasi

jumlah publisher sebanyak 500

publisher dengan tingkat kesuksesan

99%.

d. Dari kesimpulan poin a dan b, dapat ditarik kesimpulan baru, bahwa sistem dapat menangani publisher dengan rentang jumlah publisher sebanyak 0 hingga 250.

7. DAFTAR PUSTAKA

Botta, A., Donato, W. d., Persico, V., & Pescape, A. (2016). Integration of Cloud Computing and Internet of Things: A Survey. Future Generation Computer Systems, 684-700.

Guoqiang, S., Yanming, C., Chao, Z., & Yanxu, Z. (2013). Design and Implementation of a Smart IoT Gateway. 2013 IEEE International Confrence on Green Computing and Communications and IEEE Cyber, Physical and Social Computing, 720-723.

Hunkeler, U., Truong, H. L., & Clark, A. S. (2015). A Publish/Subscribe Protocol For Wireless Sensor Network. IEEE. MQTT. (2016). Frequently Asked Question.

Diakses 8 Oktober, 2016, dari

http://www.mqtt.org/faq

Zhang, Q., Cheng, L., & Boutaba, R. (2010). Cloud computing: state-of-the-art and research challenges. J Internet Serv Appl, I, 7-18.

Gambar

Gambar 2. Alur Komunikasi Data Sistem  Secara  umum  terlihat  bahwa  konsep  komunikasi yang digunakan merupakan konsep  komunikasi  arsitektur  umum  dari  publish  subscribe  MQTT
Gambar 7. Alur Kerja Broker
Gambar 8. Alur Kerja Subscriber

Referensi

Dokumen terkait

Dengan metode klasifikasi ABC, dapat diketahui bahwa produk- produk sabun dan shampoo yang termasuk dalam 50% dari demand merupakan produk-produk sabun dan shampoo yang

Untuk menjadi orang yang rohani harus dimulai dari dalam yaitu setelah kita menerima baptisan air, baptisan Roh Kudus dan masuk dalam penggembalaan yang kuat, yang tahbisan hamba

Selain itu, ada pula yang memahami bentuk kolom pada bangunan John Wax Building berasal dari analogi jamur dengan bagian atas yang melebar dan tangkai

Hasil simulasi pengendalian sistem dengan waktu tunda menggunakan Fuzzy Neural Network (FNN) controller menunjukkan bahwa, meskipun dengan menggunakan rule base yang terbatas pada

Sehingga dapat disimpulkan bahwa tidak terdapat perbedaan pemahaman konsep matematika yang signifikan antara siswa yang belajar dengan gaya belajar auditorial

Syftet med den empiriska studien är att få veta vilka modaliteter lärare använder och kombinerar i sin matematikundervisning och vilka de önskar använda i det

[r]

Inilah salah satu kunci Abu Hurairah untuk membuka khazanah ilmu Rasulullah shallallahu ‘alaihi wasallam, maka bukanlah suatu hal yang aneh apabila beliau meriwayatkan