Pengembangan Perangkat Lunak IoT Cloud Platform Berbasis Protokol

dokumen-dokumen yang mirip
Rancang Bangun IOT Cloud Platform Berbasis Protokol Komunikasi MQTT

Network Access/Interface Layer Internet Layer Host-to-Host Transport Layer Application Layer

Implementasi Access Control List Berbasis Protokol MQTT pada Perangkat NodeMCU

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Jurnal Ilmiah INOVASI, Vol.14 No.2 Hal , Mei-Agustus 2014, ISSN

APIs for everyone. Consumes APIs to create Apps faster, reliable. Create APIs to foster ideas and expands your apps.

PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan

Firewall & WEB SERVICE

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui

SISTEM OTOMATISASI RUMAH UNTUK MENGATUR DAN MEMANTAU PERANGKAT LISTRIK DENGAN MEMANFAATKAN SENSOR ARUS

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

Teknik Informatika S1

RANCANG BANGUN WEB SERVICE UNTUK TRANSAKSI DATA PADA APLIKASI SAHABAT JASA DENGAN METODE REST

Gambar Notifikasi via

MEMBANGUN SERVER CLOUD COMPUTING BERBASIS WEB MENGGUNAKAN RASPBERRY PI 3 TUGAS AKHIR FACHRIZA AGUNG

APLIKASI PELAPORAN KERUSAKAN JALAN TOL MENGGUNAKAN LAYANAN WEB SERVICE BERBASIS ANDROID

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ABSTRAK. Kata Kunci: Konfigurasi, FreeRADIUS, Modul, Web.

KONSEP CAPTIVE PORTAL UNTUK AUTHENTIKASI PENGGUNA LAYANAN INTERNET (STUDI KASUS : LABORATORIUM KOMPUTASI DI JURUSAN MATEMATIKA)

Pencarian Buku Perpustakaan. Melalui SMS Menggunakan Java

Implementasi Web Service pada Aplikasi Mobile untuk Mendukung Sistem Informasi di Bandung N-Max Community

Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016

PENERAPAN KONSEP SAAS (SOFTWARE AS A SERVICE) PADA APLIKASI PENGGAJIAN

DAFTAR ISI BAB II TINJAUAN PUSTAKA 8

BAB I PENDAHULUAN. Koleksi Skripsi Mahasiswa STMIK AKAKOM YOGYAKARTA sudah

ANALISIS AVAILABILITAS LOAD BALANCING PADA WEB SERVER LOKAL

PERANCANGAN APLIKASI PENDETEKSI DENYUT NADI KORBAN BENCANA ALAM MENGGUNAKAN PERANGKAT ANDROID BERBASIS INTERNET OF THING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. 1.2 Rumusan Masalah

Gambar 5 Kerangka penelitian

Bab I Pendahuluan. I.1 Latar Belakang

Implementasi REST API pada Aplikasi Panduan Kepaskibraan Berbasis Android

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

TUGAS 3 MID MANAJEMEN JARINGAN BRAMANTIO RIZKI NUGROHO NIM

TAKARIR. Perangkat lunak atau seperangkat indtruksi yang diprogram pada perangkat keras

BAB II TINJAUAN PUSTAKA

PENERAPAN SOA SEBAGAI ALTERNATIF PENGINTEGRASIAN MULTI SISTEM INFORMASI

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB III LANDASAN TEORI

Manajemen Kunci Pada Mekanisme Akses Kontrol Sistem Ujian Online Program Penerimaan Mahasiswa Baru Menggunakan Untrusted Public Cloud

BAB II. KAJIAN PUSTAKA

Analisis Implementasi Penanganan Distributed Heterogenous Database pada Arsitektur Cloud

ABSTRAK. Kata Kunci: Layanan Pertukaran Data, Google Drive, API, REST API Google Drive, Cloud Storage.

Distributed System. Number One Introduction. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom

Pengembangan Mekanisme Otentikasi dan Otorisasi Pada Manajemen Konfigurasi Untuk Kasus User Web Hosting Berbasis Kontainer

ARUBA VIRTUAL BRANCH NETWORKING Saat ini, akses ke pusat data bisnis enterprise sangat

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

BAB I PENDAHULUAN 1.1 Latar Belakang

Perancangan dan Analisis Kinerja Jaringan MPLS (Multiprotocol Label Switching) pada Teknologi IPv6 untuk Teleconference

HTTP Protocol Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Network-based Applications

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB IV HASIL DAN PEMBAHASAN

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

Badiyanto, S.Kom., M.Kom. Refrensi : William Stallings Data and Computer Communications

Rancang Bangun Prototype REST Web Service Untuk Menghubungkan Sistem Pembayaran UDINUS Dengan Sistem Perbankan

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-issn: X

Implementasi SMS Gateway Sebagai Sistem Monitoring Kinerja Jaringan Komputer

PERANCANGAN SISTEM INFORMASI MANAJEMEN PERPUSTAKAAN MENGGUNAKAN POLA MODEL-VIEW- CONTROLLER (MVC)

Enterprise Java Beans (EJB)

Manajemen Kunci Pada Mekanisme Akses Kontrol Komunikasi Grup Pada Untrusted Public Cloud

BAB I PENDAHULUAN. Universitas Kristen Maranatha

ABSTRAK. Kata Kunci : Website Media Pembelajaran, SMK Teknik Komputer dan Jaringan, Use Case, Flowchart, ERD, AJAX, PHP, MySQL.

Rancang Bangun Penyimpanan pada Jaringan Menggunakan FreeNAS (Development of Network Storage Using FreeNAS)

BAB I PENDAHULUAN. tersebut dengan cara mempublikasikan hasil karyanya melalui website sehingga

ABSTRAKSI. Universitas Kristen Maranatha

IMPLEMENTASI AZURE MEDIA SERVICES UNTUK VIDEO STREAMING

Gambar 3.28 Informasi Profil dan Konfigurasi Jaringan Radius UNY Gambar 3.29 Informasi Profil dan Konfigurasi Jaringan Radius UGM...

TUMPUKAN PROTOKOL INTERNET DAN JARINGAN WORKBENCH

BAB 3 LANDASAN TEORI

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI METODE LOAD BALANCING DALAM MENDUKUNG SISTEM KLUSTER SERVER

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

Kelompok 1. Anggota : BOBBY KURNIAWAN NIA FITRIANA ARI FEBRYANSYAH DIAN ULUMIA ORIN HARITSA YASSER

SKRIPSI IMPLEMENTASI DAN PERBANDINGAN KINERJA SINKRONISASI DATA PADA ARSITEKTUR MOBILE CLOUD

TEKNOLOGI WEB SERVICE DENGAN METODE SOAP PADA APLIKASI PENGGUNAAN OBAT APOTIK DI KANTOR PERWAKILAN BANK INDONESIA WILAYAH I

BAB I Pendahuluan 1.1. Latar Belakang

PENGEMBANGAN SISTEM INFORMASI GEOGRAFIS BERBASIS NODE

Making Provisions for Applications and Services

DATA CENTER: PENDAHULUAN

FILE SERVICE DAN NAME SERVICE

TJ TUGAS AKHIR I - 3 SKS

Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware

Bab 4 Hasil dan Pembahasan

DATA CENTER: PENDAHULUAN


BAB II LANDASAN TEORI

Uji Performansi Server proxy Squid dan Microsoft ISA

KATA PENGANTAR. Semoga Proyek Akhir ini dapat bermanfaat untuk seluruh pihak dan dapat digunakan secara maksimal. Bandung, 9 September 2013 Penulis

PENJURIAN ONLINE BERBASIS WEB SERVICE

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGGUNAAN CLOUD COMPUTING DI DUNIA PENDIDIKAN MENENGAH DALAM PENDEKATAN TEORITIS. Maria Christina

Gambar 1. Skema Hotspot

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces

Desain E-Health: Sistem Keamanan Aplikasi E-health Berbasis Cloud Computing Menggunakan Metode Single Sign On. Erika Ramadhani

ABSTRAK. Kata kunci: Perpustakaan, Trigger, Web Service, Mobile, Basis Data Terdistribusi, Load Testing

BAB III METODE PENELITIAN. ini, diantaranya adalah dengan langkah-langkah sebagai berikut :

Implementasi Framework Twitter Bootstrap Dalam Perancangan Aplikasi Penerimaan Mahasiswa Baru Berbasis Web

Transkripsi:

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-issn: 2548-964X Vol. 2, No. 9, September 2018, hlm. 3013-3020 http://j-ptiik.ub.ac.id Pengembangan Perangkat Lunak IoT Cloud Platform Berbasis Protokol Komunikasi HTTP Ocki Bagus Pratama 1, Adhitya Bhawiyuga 2, Kasyful Amron 3 Program Studi Teknik Informatika, Email: 1 ocki.bagus.p@gmail.com, 2 bhawiyuga@ub.ac.id, 3 kasyful@ub.ac.id Abstrak Internet of Things (IoT) bertujuan untuk memperluas manfaat dari konektivitas internet dengan menjadikan suatu perangkat dapat dikontrol, mengumpulkan dan mengirimkan data. Tetapi, perangkat dalam IoT seringkali memiliki keterbatasan dalam hal kapasitas penyimpanan dan kemampuan komputasi. Hal tersebut menjadikan perangkat IoT memerlukan integrasi dengan sistem yang memiliki kemampuan komputasi yang lebih baik. Salah satunya adalah sistem komputasi berbasis cloud. Namun, integrasi antara perangkat IoT dan cloud memiliki tantangan dalam hal jaringan komunikasi, keamanan dan manajemen perangkat. Jaringan komunikasi yaitu banyaknya teknologi jaringan yang digunakan, sehingga pemilihan protokol komunikasi harus mempertimbangkan dukungan oleh banyak perangkat. Keamanan terjadi karena banyaknya perangkat IoT yang dapat dengan mudah terhubung ke cloud, sehingga peran autentikasi dan otorisasi diperlukan untuk mengidentifikasi dan memvalidasi perangkat yang mengirimkan data. Manajemen perangkat diperlukan karena dengan banyaknya perangkat IoT yang digunakan membutuhkan mekanisme untuk memanajemen perangkat. Berdasarkan penjelasan sebelumnya, diusulkan sebuah rancang bangun IoT cloud platform menggunakan protokol komunikasi HTTP untuk menyelesaikan kendala jaringan komunikasi dan RESTful untuk manajemen perangkat. Sedangkan untuk mengidentifikasi dan memvalidasi perangkat yang mengirimkan data, digunakan mekanisme autentikasi dan otorisasi menggunakan JSON Web Token. Hasil pengujian performa sistem menunjukan, sistem yang dibangun mampu menangani hingga 100 pengguna secara bersamaan. Kata kunci: IoT, CloudIoT, cloud platform, RESTful web service, HTTP, authentication, authorization. Abstract The primary aim of Internet of Things (IoT) is to expand the benefits of Internet connectivity by connecting objects around us to the internet, thus enabling remote control and accessibility. IoT devices often have limitations in terms of storage capacity and computing capabilities. This requires the IoT device to be integrated with systems that have better computing capabilities One of them is cloud-based computing system. However, the integration between IoT and cloud devices has challenges in terms of network communication, security, and device management. Network communication is the number of network technologies being used, thus the selection of communication protocols should consider its support for a variety of devices. Security and privacy are a concern because of the large number of IoT devices that can be easily connect to the cloud, requiring authentication and authorization that is required to identify and validate devices that transmit the data. Device management is required due to the large number of IoT devices that will be used, it requires a device management mechanism. Based on those problems, a solution was proposed on IoT cloud platform design using HTTP communication protocol to solve network communication and RESTful for device management constraints. As for identifying and validating devices that transmit data, an authentication and authorization mechanism using JSON Web Token is utilized. The result of system performance testing, is that the built systems are capable of handling up to 100 users simultaneously. Keywords: IoT, CloudIoT, cloud platform, RESTful web service, HTTP, authentication, authorization. Fakultas Ilmu Komputer Universitas Brawijaya 3013

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3014 1. PENDAHULUAN Internet of Things (IoT) merujuk pada suatu jaringan yang menghubungkan perangkat fisik di berbagai jaringan menggunakan berbagai protokol berbeda (Guoqiang et. al., 2013). IoT bertujuan untuk memperluas manfaat dari konektivitas internet dengan menjadikan bendabenda disekitar kita dapat terhubung ke internet, sehingga dapat dikontrol mengumpulkan dan mengirimkan data dari jarak jauh. Namun, perangkat dalam IoT seringkali merupakan perangkat kecil yang didistribusikan secara luas dan memiliki keterbatasan dalam hal kapasitas penyimpanan dan kemampuan komputasi. Hal tersebut menciptakan kekhawatiran dalam hal keandalan, kinerja, keamanan, dan privasi pada layanan yang akan dibangun (Botta, et. al., 2016). Untuk mengatasi kekhawatiran tersebut, perangkat IoT dapat diintegrasikan dengan sistem lain yang menawarkan kapasitas penyimpanan dan kemampuan komputasi yang lebih baik. Salah satunya adalah sistem komputasi berbasis cloud. Menurut Zhang, et., all (2010) cloud computing merupakan model komputasi baru di mana sumber daya komputasi dapat dikonfigurasi sesuai kebutuhan pengguna dengan mudah melalui internet. Integrasi antara IoT dan cloud computing menciptakan paradigma teknologi baru yang disebut CloudIoT untuk internet dimasa depan (Botta, et. al., 2016). Salah satu contoh penerapan CloudIoT digunakan dalam sistem untuk mengambil data sensor dari perangkat di lapangan. Pada sistem tersebut, data sensor sering kali diambil secara terus menerus sehingga menghasilkan data dalam ukuran yang besar. Keterbatasan pada perangkat IoT membuat penyimpanan dan pengolahan data yang besar perlu dialihkan ke cloud. Dengan mengirimkan data sensor ke cloud membuat data sensor dapat diakses secara luas tanpa harus berada di tempat tersebut (Botta, et. al., 2016). Diantara berbagai keuntungan dari integrasi antara IoT dan cloud computing, masih terdapat tantangan seperti yang dibahas dalam penelitian Botta, et. al. (2016). Tantangan tersebut meliputi masalah jaringan komunikasi dan keamanan. Masalah jaringan komunikasi terjadi karena CloudIoT melibatkan banyak teknologi jaringan, sehingga pemilihan protokol komunikasi harus mempertimbangkan dukungan oleh banyak perangkat. Sedangkan masalah keamanan terjadi karena banyaknya perangkat di luar sana yang dapat dengan mudah terhubung dengan CloudIoT, sehingga peran autentikasi dan otorisasi diperlukan untuk mengidentifikasi dan memvalidasi perangkat yang mengirimkan data. Tantangan lainnya adalah dengan banyaknya perangkat IoT yang digunakan, dibutuhkan mekanisme untuk memanajemen perangkat. Sebagai salah satu solusi dari permasalahan dalam mengintegrasikan IoT dan cloud computing diatas, penelitian ini membuat rancang bangun IoT cloud platform yang memungkinkan perangkat IoT yang tervalidasi terhubung dan berinteraksi dengan aplikasi cloud. IoT cloud platform merupakan aplikasi yang menawarkan layanan untuk manajemen keamanan, manajemen perangkat, manajemen policy, dan lain-lain (Singh dan Viniotis, 2016). Untuk menyelesaikan masalah jaringan komunikasi, pada IoT cloud platform ini digunakan protokol komunikasi HTTP. Protokol HTTP dipilih karena merupakan protokol sederhana yang telah banyak digunakan, sehingga didukung oleh banyak perangkat. Sedangkan untuk menyelesaikan masalah keamanan, digunakan mekanisme autentikasi dan otorisasi menggunakan JWT (JSON Web Token). Sistem ini secara garis besar dapat dibagi ke dalam 4 komponen, yaitu: komponen komunikasi, komponen security, komponen manajemen data dan komponen web console. Komponen komunikasi merupakan RESTful web service yang menangani komunikasi dari perangkat IoT melalui protokol HTTP. Komponen security merupakan bagian yang menangani manajemen perangkat, autentikasi dan otorisasi yang berbasis JSON Web Token. Komponen manajemen data menangani mekanisme penyimpanan data dan mekanisme mengakses data sensor melalui RESTful web service. Sedangakan komponen web console merupakan single-page application yang menyediakan antarmuka pengguna untuk melihat data sensor dan memanajemen perangkat. 2. ANALISIS KEBUTUHAN Analisis kebutuhan mengumpulkan informasi mengenai layanan, fitur, atau proses apa saja yang harus dipenuhi oleh sistem. Kebutuhan sistem pada IoT cloud platform, dibagi berdasarkan penyelesaian dari masalah yang diangkat adalah sebagai berikut:

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3015 Masalah jaringan komunikasi a. Sistem dapat menyediakan layanan bagi perangkat IoT untuk mengirimkan data sensor melalui protokol HTTP, b. Sistem dapat menyediakan layanan bagi pengguna untuk mengakses data sensor melalui protokol HTTP, Masalah keamanan a. Sistem dapat menyediakan layanan bagi perangkat IoT dan web client untuk mendapatkan token akses JWT, b. Sistem dapat menyediakan layanan untuk melakukan registrasi pengguna, c. Sistem dapat menerapkan autentikasi menggunakan token akses JWT, d. Sistem dapat menerapkan otorisasi menggunakan token akses JWT, Masalah manajemen perangkat a. Sistem dapat menyediakan layanan bagi pengguna untuk memanajemen perangkat IoT. 3. PERANCANGAN 3.1. Deskripsi Umum Sistem Pada penelitian ini dikembangkan perangkat lunak IoT cloud platform yang menyediakan fitur untuk menerima data sensor, mengakses data sensor dan memanajemen perangkat melalui protokol HTTP. Terdapat dua entitas yang berkomunikasi dengan perangkat lunak ini, yaitu perangkat IoT dan web client. Perangkat IoT merupakan microcontroller atau komputer papan tunggal dengan modul sensor tertentu yang mengirimkan data sensor. Sedangkan web client adalah perangkat lunak yang menjembatani request dari pengguna ke IoT cloud platform ketika mengakses data sensor dan memanajemen perangkat. Untuk dapat menggunakan perangkat lunak IoT cloud platform, pengguna diharuskan melakukan registrasi terlebih dahulu. Setiap pengguna dapat memiliki lebih dari satu perangkat IoT dan setiap perangkat IoT dapat memiliki lebih dari satu sensor. Pengguna dapat mengelola perangkat IoT miliknya melalui operasi CRUD (create, read, update, dan delete). Melalui manajemen perangkat juga dapat diatur pembatasan pengiriman dan visibilitas perangkat terhadap pengguna yang lain. Fitur pembatasan pengiriman membuat perangkat IoT dapat dibatasi dalam jumlah tertentu untuk mengirimkan data sensor per harinya. Sedangkan fitur visibilitas perangkat memberikan policy dalam mengakses data perangkat dengan mengatur label visibilitas menjadi public atau private. Pengguna dapat melihat data sensor dari perangkat IoT miliknya dan dari perangkat pengguna lain yang memiliki label visibilitas public. IoT cloud platform yang dikembangkan menerapkan fitur security seperti autentikasi dan otorisasi menggunakan token akses JWT. Dua entitas yang berinteraksi dengan IoT cloud platform akan memiliki token akses yang berbeda. Token perangkat IoT digunakan untuk pengiriman data sensor sedangkan token web client digunakan untuk mengakses data sensor dan memanajemen perangkat. Penggunaan token harus sesuai, misalnya token web client tidak dapat digunakan untuk mengirimkan data sensor begitu juga sebaliknya token perangkat IoT tidak dapat digunakan untuk memanajemen perangkat. 3.2. Perancangan Komponen Komunikasi Perancangan komponen komunikasi menggambarkan alur komunikasi antara tiga entitas yaitu perangkat IoT, perangkat lunak IoT cloud platform, dan aplikasi pengguna. Alur komunikasi antar entitas dibagi menjadi dua yakni pengiriman data dari perangkat IoT ke IoT cloud platform dan aplikasi pengguna kepada IoT cloud platform dalam mengakses data sensor dan memanajemen perangkat. Kedua alur komunikasi pada sistem yang dikembangkan dapat dilihat pada Gambar 1Error! Reference source not found.. Gambar 1. Alur Komunikasi Antar Entitas 3.3. Perancangan Komponen Manajemen Data a) Perancangan Data Model Pada perancangan data model digambarkan mengenai skema basis data untuk menyimpan informasi mengenai pengguna, data sensor, dan perangkat IoT. Perancangan disesuaikan dengan sistem basis data MongoDB yang berorientasi dokumen. Pada tahap ini diidentifikasi dokumen, field beserta tipe data disetiap dokumen. Untuk menekan redudansi data, diidentifikasi juga

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3016 hubungan antar dokumen menggunakan reference dari satu dokumen ke dokumen lainnya. Skema basis data yang memuat field dan relasi antar dokumen dapat dilihat pada Gambar 2, dengan detail penjelasan sebagai berikut: 1. Dokumen Users memiliki hubungan satuke-banyak ke dokumen Nodes karena satu pengguna dapat memiliki beberapa perangkat IoT, 2. Dokumen Nodes memiliki hubungan satuke-banyak ke dokumen Sensors karena dalam satu perangkat IoT dapat memiliki beberapa sensor, 3. Dokumen Sensors merupakan EmbeddedDocument bertipe data Array. Secara default, EmbeddedDocument tidak memiliki field id yang di-generate secara otomatis, 4. Dokumen Sensordatas memiliki hubungan satu-ke-banyak ke dokumen Nodes dan dokumen Sensors sehingga dapat diketahui dari perangkat mana data sensor tersebut diambil. Gambar 2. Skema Basis Data b) Perancangan Data Access Perancangan data access digunakan untuk mendefinisikan aturan dalam mengirimkan HTTP request ketika mengakses data sensor. Dalam IoT cloud platform yang dikembangkan ini, peneliti menyediakan API berupa web service untuk mengakses data sensor yang ada di cloud. Aturan dalam mengirimkan HTTP request untuk mengakses data sensor ada pada Tabel 1. Tabel 1. Aturan HTTP Request Mengakses Data Sensor Deskripsi Method URL Mengakses data sensor berdasarkan pengguna. Mengakses data sensor berdasar- GET GET /sensordatas /sensordatas/node/ :nodeid kan perangkat IoT. Mengakses data sensor berdasarkan sensor. PUT /sensordatas/node/ :nodeid/sensor/ :sensorid 3.4. Perancangan Komponen Security Perancangan komponen security dibagi menjadi dua yakni perancangan autentikasi dan otorisasi; dan perancangan manajemen perangkat. a) Perancangan Autentikasi dan Otorisasi Perancangan autentikasi dan otorisasi mendefinisikan aturan ketika mengirimkan HTTP request dalam mendapatkan token akses JWT, registrasi pengguna dan menerima data sensor yang dikirimkan perangkat IoT. Aturan dalam mengirimkan request HTTP yang berkaitan dengan otorisasi dan autentikasi yang dimaksud ada pada Tabel 2. b) Perancangan Manajemen Perangkat Perancangan manajemen perangkat mendefinisikan aturan bagi pengguna ketika mengirimkan HTTP request dalam memanajemen perangkat. Aturan dalam mengirimkan HTTP request untuk memanajemen perangkat IoT ada pada Tabel 3. Tabel 2. Aturan Request HTTP Autentikasi dan Otorisasi Deskripsi Method URL Mendapatkan token akses JWT untuk perangkat IoT. Mendapatkan token akses JWT untuk web client. Registrasi pengguna. POST POST POST /node-auth /user-auth /users Tabel 3 Aturan HTTP Request Manajemen Perangkat Deskripsi Method URL Membuat perangkat IoT. Mengakses daftar perangkat IoT. Mengakses daftar perangkat IoT berdasarkan id. POST GET GET /nodes /nodes /nodes/:nodeid

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3017 Mengubah data perangkat IoT Menghapus perangkat IoT PUT DELETE /nodes/:nodeid /nodes/:nodeid 3.5. Perancangan Komponen Web Console Perancangan komponen web console menjelaskan mengenai rancangan antarmuka pengguna untuk memanajemen perangkat dan melihat data sensor. Rancangan antarmuka tersebut dapat dilihat pada Gambar 3, Gambar 4, Gambar 5, Gambar 6 dan Gambar 7. Gambar 5. Perancangan Web Console: Buat Perangkat IoT Gambar 3. Perancangan Web Console: Lihat Semua Perangkat IoT Gambar 6. Perancangan Web Console: Ubah Perangkat IoT Gambar 4. Perancangan Web Console: Lihat Perangkat IoT Gambar 7. Perancangan Web Console: Lihat Data Sensor 4. HASIL PENGUJIAN PERFORMA Pengujian performa dilakukan untuk mengetahui kinerja dari IoT cloud platform yang diajukan. Pengujian dilakukan dengan mengamati proses komunikasi antar entitas menggunakan beberapa nilai parameter yang

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3018 ditentukan seperti skalabilitas, latency dan error rate. Fitur yang dilakukan pengujian performa merupakan fitur utama dari IoT cloud platform yang diajukan, yakni: fitur mengakses data sensor dan fitur mengirimkan data sensor. a) Pengujian Performa Fitur Mengakses Data Sensor Pengujian fitur mengakses data sensor menggunakan tiga kriteria berbeda, yaitu kriteria: berdasarkan pengguna, berdasarkan perangkat IoT dan berdasarkan sensor. Sehingga, pada fitur ini dilakukan pengujian sebanyak tiga kali berdasarkan tiga kriteria tersebut. Hasil pengujian ini ditampilkan pada Tabel 4, Tabel 5 dan Tabel 6. Mengacu pada hasil di atas, didapati bahwa ketika request dikirimkan secara bersamaan (dapat dianalogikan satu request sama dengan satu pengguna) berjumlah 50 dan 100, sistem menangani permintaan tersebut dengan keberhasilan 100%. Disisi lain, ketika request yang dikirimkan berjumlah 150, terdapat 2.08% dan 1.78% request yang tidak tertangani untuk kriteria berdasarkan pengguna dan berdasarkan sensor. Tabel 4. Hasil Pengujian Performa Kriteria Berdasarkan Pengguna Tabel 5. Hasil Pengujian Performa Kriteria Berdasarkan Perangkat IoT Tabel 6. Hasil Pengujian Performa Kriteria Berdasarkan Sensor Gambar 8. Grafik Perbandingan Nilai Skalabilitas Pada Fitur Mengakses Data Sensor Gambar 9. Grafik Perbandingan Nilai Latency Pada Fitur Mengakses Data Sensor Berdasarkan grafik hasil pengujian nilai skalabilitas pada Gambar 8, terlihat bahwa mengakses data sensor dengan kriteria berdasarkan sensor menghasilkan skalabilitas terendah dan kriteria berdasarkan perangkat IoT menghasilkan skalabilitas tertinggi. Hal ini berkaitan dengan jumlah dan kompleksitas kueri yang diperlukan untuk mendapatkan data sensor yang sesuai. Pada kriteria berdasarkan sensor, diperlukan dua kueri kompleks yaitu kueri untuk mendapatkan list sensor milik perangkat IoT yang dimaksud dan kueri untuk melakukan filter data sensor berdasarkan list sensor yang dimiliki perangkat. Sedangkan untuk kriteria berdasarkan perangkat IoT hanya diperlukan satu kueri standar, yaitu melakukan filter data sensor berdasarkan id perangkat. Hal tersebut menjadikan eksekusi kueri untuk kriteria berdasarkan perangkat IoT menjadi jauh lebih cepat. Tabel 7. Hasil Pengujian Performa Dalam Mengirim Data Sensor

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3019 Gambar 10. Grafik Perbandingan Nilai Skalabilitas Pada Fitur Mengirim Data Sensor Gambar 11 Grafik Perbandingan Nilai Latency Pada Fitur Mengirim Data Sensor Latency merupakan nilai jeda yang dibutuhkan untuk mengirimkan pesan dari pengirim ke penerima dalam jaringan komputer. Latency berbanding terbalik dengan skalabilitas, semakin tinggi nilai latency nya semakin rendah nilai skalabilitas nya. Perbandingan nilai latency dapat dilihat pada Gambar 9. Berdasarkan gambar tersebut didapati bahwa ketika request yang dikirimkan berjumlah 50 secara bersamaan, latency yang didapat adalah 1777.75/ms untuk kriteria berdasarkan pengguna, 668.28/ms untuk kriteria berdasarkan perangkat IoT, dan 1025.78/ms untuk kriteria berdasarkan sensor. Ketika request yang dikirimkan berjumlah 100 secara bersamaan, latency yang didapat meningkat menjadi 1800.44/ms, 786.87/ms dan 1210,92/ms. Sedangkan untuk request secara bersamaan dengan jumlah 150, nilai latency meningkat cukup signifikan menjadi 1861.10/ms, 910.79/ms dan 1754.48/ms. b) Pengujian Performa Fitur Mengirimkan Data Sensor Pengujian berikutnya yakni pengujian terhadap fitur mengirimkan data sensor, hasil dari pengujian ini ditampilakan pada Tabel 7. Berdasarkan hasil tersebut didapati bahwa ketika request dikirimkan secara bersamaan sejumlah 50, 100 dan 150, sistem dapat menangani permintaan tersebut dengan keberhasilan 100%. Perbandingan nilai skalabilitas dari fitur mengirim data sensor dapat dilihat pada Gambar 10Error! Reference source not found.. Perbandingan tersebut dapat memberitahu berapa banyak pengguna yang dapat ditangani sistem setiap detiknya. Berdasarkan gambar tersebut, didapati bahwa ketika request yang dikirimkan oleh 50 perangkat IoT secara bersamaan, nilai skalabilitas yang didapat adalah 26.28/detik. Ketika perangkat IoT berjumlah 100, skalabilitas menurun menjadi 25.98/detik karena jumlah request yang dikirimkan lebih besar dari sebelumnya. Begitu juga hasil yang didapat dari jumlah perangkat IoT sebanyak 150, nilai skalabilitas juga turun menjadi 22.94/detik. Pada skenario ini latency yang dihitung adalah jeda waktu ketika memberikan request berisi data sensor yang ingin disimpan. Perbandingan nilai latency dapat dilihat pada Gambar 11Error! Reference source not found.. Berdasarkan gambar tersebut didapati bahwa ketika request yang dikirimkan berjumlah 50 secara bersamaan, latency yang didapat adalah 1194.26/ms. Ketika request yang dikirimkan berjumlah 100 secara bersamaan, skalabilitas yang didapat meningkat menjadi 1270.37/ms. Hal ini dikarenakan semakin banyak request yang dikirimkan semakin lama pula jeda waktu yang dibutuhkan. Seperti halnya pada perbandingan skalabilitas, ketika jumlah request secara bersamaan berjumlah 150, nilai latency naik cukup signifikan menjadi 1737.88/ms. 5. KESIMPULAN 1. Pengiriman data antara perangkat IoT dan aplikasi pengguna terhadap IoT cloud platform harus melalui RESTful web service yang menyediakan aturan baku untuk menjalankan fitur-fitur yang disediakan. 2. Mekanisme manajemen perangkat, mengirimkan dan mengakses data sensor dapat dilakukan dengan menyediakan RESTful web service sebagai antarmuka standar untuk berkomunikasi. Dalam hal ini terdapat dua entitas yang berkomunikasi dengan web service, yaitu perangkat IoT yang mengirimkan data sensor dan web client yang digunakan pengguna untuk mengakses data sensor dan memanajemen perangkat.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3020 3. Hasil pengujian performa sistem menunjukan, sistem yang dibangun mampu menangani hingga 100 pengguna secara bersamaan. DAFTAR PUSTAKA Al-Fuqaha, A., Guizani, M., Mohammadi, M., Aledhari, M., & Ayyash, M. (2015). Internet of things: A survey on enabling technologies, protocols, and applications. IEEE Communications Surveys & Tutorials Vol. 17(4), 2347-2376. Botta, A., De Donato, W., Persico, V., & Pescapé, A. (2016). Integration of Cloud computing and Internet of Things: A survey. Future Generation Computer Systems, 684 700. Douzis, K., Sotiriadis, S., Petrakis, E. G., & Amza, C. (2016). Modular and generic IoT management on the cloud. Future Generation Computer Systems. Guoqiang, S., Yanming, C., Chao, Z., & Yanxu, Z. (2013). Design and implementation of a smart IoT gateway. Green Computing and Communications (GreenCom), 2013 IEEE and Internet of Things (ithings/cpscom), IEEE International Conference on and IEEE Cyber, Physical and Social Computing. IETF. (1999). Hypertext Transfer Protocol-- HTTP/1.1. Diakses 26 April 2017 dari Internet Engineering Task Force: https://www.ietf.org/rfc/rfc2616.txt Kurose, J. F. (2013). Computer Network: A Top- Down Approach Featuring the Internet, 6/E. Pearson Education India. Richardson, Leonard, Mike, A., & Sam, R. (O'Reilly Media, Inc). RESTful Web APIs: Services for a Changing World. 2013. Sandoval, J. (2009). Restful java web services: Master core rest concepts and create restful web services in Java. Packt Publishing Ltd. Singh, Anand, & Yannis, V. (2016). An SLAbased resource allocation for IoT applications in cloud environments. Cloudification of the Internet of Things (CIoT) (pp. 1-6). Zhang, Q., Lu, C., & Raouf, B. (2010). Cloud computing: state-of-the-art and research challenges. Journal of internet services and applications 1.1, 7-18