Fakultas Ilmu Komputer
Universitas Brawijaya 4671
Implementasi Constrained Application Protocol (CoAP) Pada Semantic IoT Web Service
Made Rezananda Putra1, Eko Sakti Pramukantoro2, Fariz Andri Bakhtiar3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Keberagaman protokol komunikasi dalam internet of things mengakibatkan permasalahan interoperabilitas, khususnya syntactical interoperability. Pada penelitian sebelumnya telah dikembangkan semantic IoT web service yang mampu menerima data dari node sensor melalui HTTP.
Namun penggunaan HTTP saja tidak cukup untuk menerima data dari node sensor dengan protokol komunikasi yang beragam. Permasalahan tersebut juga ditambah dengan adanya node sensor yang memiliki keterbatasan atau resource-constrained. Salah satu solusi dari permasalahan tersebut adalah penambahan protokol komunikasi pada semantic IoT web service agar dapat terhubung dengan node sensor yang resource-constrained. Constrained Application Protocol (CoAP) merupakan protokol komunikasi yang mampu menangani permasalahan resource-constrained. CoAP dirancang untuk menggunakan sumber daya yang minim, sehingga cocok diimplementasikan pada lingkungan IoT yang memiliki keterbatasan. Oleh sebab itu, dalam penelitian ini akan ditambahkan CoAP sebagai protokol komunikasi pada semantic IoT web service. Hasil pengujian dari segi fungsional menunjukkan semantic IoT web service mampu menerima data berbentuk JSON, gambar dan video melalui protokol komunikasi CoAP. Penambahan CoAP pada semantic IoT web service juga mampu menangani permasalahan interoperabilitas, khususnya syntactical interoperability dengan menyediakan protokol komunikasi melalui CoAP dan HTTP.
Kata kunci: Syntactical Interoperability, Resource Constrained, Semantic IoT Web Service, Constrained Application Protocol (CoAP)
Abstract
Heterogeneous communication protocols in internet of things lead to problems of interoperability, in particular the syntactical interoperability. In previous research has developed semantic IoT web service that can receive data from the sensors node via HTTP. However, the use of HTTP is not enough to receive data from the sensors node with diverse communication protocols. These problems are also compounded by the existence of a sensor node has limited or resource-constrained. One of the solutions of these problems is the addition of communication protocol on semantic IoT web service to connect with a resource-constrained sensor node. Constrained Application Protocol (CoAP) is a communications protocol that is capable of handling the problems of resource-constrained. CoAP designed to use minimal resources, making it suitable to be implemented on the environment the IoT has limitations. Therefore, in this study will be added CoAP as the protocol communications on semantic IoT web service. In terms of functional test results indicate semantic IoT web service is able to accept JSON-shaped data, images and video via communication protocols CoAP. The addition of the CoAP on semantic IoT web service is also capable of handling the problems of interoperability, in particular the syntactical interoperability by providing communication protocol via HTTP and CoAP.
Keywords: Syntactical Interoperability, Resource Constrained, Semantic IoT Web Service, Constrained Application Protocol (CoAP)
1. PENDAHULUAN
Internet of things merupakan suatu jaringan
yang dapat menghubungkan berbagai perangkat dalam dunia fisik menggunakan protokol yang tersedia (Guoqiang, et al., 2013). Secara umum, IoT terdiri dari tiga komponen yaitu things,
middleware dan cloud. Masing-masing komponen tersebut memiliki keberagaman sebagai contoh pada protokol komunikasi yang digunakan seperti CoAP, MQTT, HTTP, XMPP, dsb (Chander, et al., 2017). Keberagaman protokol komunikasi dalam IoT menyebabkan permasalahan interoperabilitas, khususnya syntactical interoperability. Permasalahan tersebut dapat mengakibatkan keterbatasan interaksi antar komponen dalam IoT karena protokol komunikasi yang beragam.
Pada penelitian sebelumnya telah dikembangkan semantic IoT web service yang mampu menerima data dari node sensor melalui protokol komunikasi HTTP (Pramukantoro, et al., 2019). Namun penggunaan HTTP saja tidak cukup untuk menangani pengiriman data dari node sensor dengan protokol komunikasi yang beragam. Permasalahan tersebut juga ditambah dengan adanya node sensor yang memiliki keterbatasan atau resource-constrained.
Berbagai penelitian telah dilakukan dengan merumuskan solusi dari permasalahan diatas.
(Dalipi, et al., 2016) dan (Ruta, et al., 2017) dalam penelitiannya mengusulkan sebuah framework untuk perangkat IoT yang resource- constrained yaitu dengan menerapkan Constrained Application Protocol (CoAP) dalam komunikasi client-server. Penggunaan CoAP didasarkan pada penggunaan sumber daya yang minim, sehingga cocok diimplementasikan pada lingkungan IoT yang memiliki keterbatasan (Wiryawan, et al., 2018).
Berdasarkan pembahasan serta solusi diatas, dalam penelitian ini akan ditambahkan Constrained Application Protocol (CoAP) pada semantic IoT web service yang telah dikembangkan sebelumnya (Pramukantoro, et al., 2019). Penambahan CoAP pada semantic IoT web service dalam bentuk Application Programming Intrface (API) menggunakan library CoAPthon (Tanganelli, et al., 2015).
Harapan dari penelitian ini adalah semantic IoT web service yang mampu mengatasi permasalahan interoperabilitas, khususnya syntactical interoperability dengan menyediakan protokol komunikasi melalui HTTP dan CoAP.
2. LANDASAN KEPUSTAKAAN
(Pramukantoro, et al., 2019) dalam penelitiannya telah mengembangkan semantic IoT web service yang dapat menentukan data storage (MongoDB atau GridFS) melalui
identifikasi struktur, tipe maupun topik dari data yang dikirim oleh node sensor. Metode penentuan data storage tersebut dinamakan semantic filtering. Selain itu, dalam semantic IoT web service tersebut juga memiliki metode otentikasi dan otorisasi menggunakan JSON Web Token (JWT). Dalam penelitian kali ini semantic IoT web service tersebut akan ditambah dengan protokol komunikasi CoAP.
(Tanganelli, et al., 2015) dalam penelitiannya telah melakukan implementasi CoAP dalam bentuk library dengan bahasa pemrograman python yang bernama CoAPthon.
Implementasi dari CoAPthon bertujuan untuk mempermudah pengembangan aplikasi IoT dengan protokol komunikasi CoAP. Dalam penelitian kali ini CoAPthon akan digunakan sebagai implementasi dari protokol komunikasi CoAP.
(Rezaei, et al., 2014) dalam penelitiannya telah menguraikan berbagai metode pengujian interoperabilitas. Salah satunya yaitu interoperability assessment methodology.
Dalam penelitian kali ini akan digunakan parameter Protocol, Intepretation dan Information Untilization dari metode tersebut dalam pengujian interoperabilitas.
(Kurniawan, et al., 2018) dalam penelitiannya membandingkan kinerja dari IoT data storage yaitu Apache Cassandra dengan MongoDB dengan parameter kinerja berupa memory usage, CPU usage, runtime dan throughput. Dalam penelitian kali ini akan digunakan parameter tersebut dalam menguji kinerja dari semantic IoT web service yang telah ditambah CoAP..
3. ANALISIS KEBUTUHAN DAN PERANCANGAN
Gambar 1. Deskripsi Umum Sistem
Gambar 1 menunjukkan deskripsi umum sistem yang terdiri dari penelitian terdahulu dengan penelitian yang saat ini akan dilakukan.
Pada penelitian terdahulu, telah dikembangkan semantic IoT web service yang mampu
menerima data dari node sensor melalui protokol komunikasi HTTP (Pramukantoro, et al., 2019).
Sedangkan dalam penelitian kali ini, akan ditambahkan protokol komunikasi CoAP pada semantic IoT web service. Semantic IoT web service nantinya akan memiliki dua protokol komunikasi untuk terhubung dengan node sensor yaitu HTTP dan CoAP. Implementasi dari CoAP akan berbentuk Application Programming Interface (API) menggunakan library CoAPthon. API tersebut terbagi menjadi API CoAP di sisi client untuk mengirim data, serta API CoAP di sisi server untuk menerima data dan meneruskannya kepada semantic IoT web service.
3.1 Analisis Kebutuhan
Analisis kebutuhan terbagi menjadi dua bagian yaitu kebutuhan fungsional dan kebutuhan non-fungsional.
3.1.1 Kebutuhan Fungsional
Adapun kebutuhan fungsional dari sistem yang saat akan ini dibangun dapat dilihat pada tabel 1.
Tabel 1. Kebutuhan Fungsional No Kebuthan Fungsional
1 API semantic IoT web service dapat menerima data berbentuk JSON melalui protokol komunikasi CoAP
2 API semantic IoT web service dapat menerima data berbentuk gambar melalui protokol komunikasi CoAP
3 API semantic IoT web service dapat menerima data berbentuk video melalui protokol komunikasi CoAP
4 API semantic IoT web service yang telah ditambah protokol komununikasi CoAP dapat melakukan proses semantic filtering.
5 API semantic IoT web service yang telah ditambah protokol komunikasi CoAP dapat melakukan otentikasi dan otorisasi menggunakan JSON Web Token (JWT).
3.1.2 Kebutuhan Non-Fungsional
Adapun kebutuhan non-fungsional dari sistem yang saat ini akan dibangun dapat dilihat pada tabel 2.
Tabel 2. Kebutuhan Non-Fungsional No Kebutuhan
Non-Fungsional Deskripsi Kebutuhan 1 Kinerja Semantic IoT web service
yang telah ditambah CoAP dapat bekerja berdasarkan parameter kinerja penggunaan memori, penggunaan CPU, runtime dan throughput.
3.2 Lingkungan Sistem
Lingkungan sistem yang digunakan terbagi menjadi dua yaitu perangkat lunak dan perangkat keras.
3.2.1 Perangkat Lunak
Tabel 3 menunjukkan seluruh perangkat lunak yang digunakan dalam implementasi serta pengujian dari sistem.
Tabel 3. Perangkat Lunak
No Perangkat Lunak
1 CoAPthon (Tanganelli, et al., 2015) 2 Putty
3 Tcpdump 4 Wireshark 5 Studio 3T
3.2.2 Perangkat Keras
Tabel 4 menunjukkan perangkat keras yang digunakan dalam implementasi dan pengujian sistem.
Tabel 4. Perangkat Keras No Perangkat Keras
1 Virtual Private Server (VPS)
3.3 Perancangan Topologi Jaringan
Gambar 2. Perancangan Topologi Jaringan
Gambar 2 merupakan perancangan topologi jaringan sistem yang saat ini akan diimplementasikan. Dalam gambar tersebut terdapat CoAP client, Access Point dan Cloud.
CoAP Client menggunakan private IP untuk sedangkan cloud menggunakan public IP.
Access point digunakan untuk menghubungkan CoAP client dengan jaringan internet. Port 5683 merupakan port dari protokol komunikasi CoAP.
3.4 Perancangan Penambahan CoAP Pada Semantic IoT Web Service
Perancangan penambahan CoAP pada semantic IoT web service terbagi menjadi API CoAP client untuk mengirimkan data dan API CoAP server untuk menerima data dan terhubung dengan fungsi-fungsi pada semantic IoT web service.
3.4.1 Perancangan Semantic Filtering Semantic filtering merupakan salah satu metode atau fungsi pada semantic IoT web service. Metode tersebut digunakan untuk menentukan data storage (MongoDB atau GridFS) melalui proses seleksi dan identifikasi terhadap data yang diterima dari node sensor.
Proses seleksi dan identifikasi yang dilakukan yaitu pertama akan dilakukan validasi terhadap topik yang dikirimkan. Jika valid dilanjutkan dengan proses penyimpanan data. Data dengan format JSON dan terstruktur akan disimpan pada MongoDB. Data dengan format file yang dikenali sistem dan tidak terstruktur akan disimpan ke pada GridFS. Sedangkan data dengan format raw, tidak terstruktur dan memiliki ukuran lebih dari 100 KB akan disimpan ke dalam GridFS. Selain dari proses tersebut itu akan disimpan ke dalam MongoDB.
Apabila terjadi kesalahan dalam proses semantic filtering, maka fungsi ini akan mengirimkan respon dengan status error kepada CoAP client melalui CoAP server.
3.4.2 Perancangan Otentikasi dan Otorisasi Menggunakan JSON Web Token (JWT)
JSON Web Token merupakan salah satu metode atau fungsi pada semantic IoT web service. Metode ini digunakan untuk proses otentikasi serta otorisasi pada sistem. Sebelum CoAP client dapat melakukan proses pengiriman data, maka dilakukan proses otentikasi terlebih.
Proses otentikasi menggunakan token key dan secret key yang didapat dari proses pendaftaran device pada IoT application semantic IoT web service. Token key dan secret key akan dikirimkan terlebih dahulu oleh CoAP client kepada fungsi hasil implementasi dari metode otentikasi menggunakan JWT melalui CoAP
server. Apabila token key dan secret key valid maka fungsi tersebut akan merespon dengan mengembalikan JWT token kepada CoAP client.
JWT token tersebut nantinya digunakan sebagai komponen proses otorisasi dalam menggunakan fungsi untuk melakukan proses semantic filtering.
3.4.3 Perancangan API CoAP Server Seperti yang telah dijelaskan sebelumnya, API CoAP server akan terhubung atau terintegerasi dengan semantic IoT web service pada fungsi semantic filtering serta fungsi otentikasi dan otorisasi menggunakan JWT. API CoAP server akan berada pada cloud.
Masing-masing proses dalam API CoAP server diimplementasikan dalam bentuk kelas yaitu kelas Login untuk proses otentikasi dan kelas PostData untuk proses penyimpanan data. Pada masing-masing kelas tersebut kemudian akan dipanggil fungsi-fungsi yang terkait.
3.4.3.1 API CoAP Server Kelas Login
Gambar 3. Alur proses API CoAP server kelas Login
Gambar 3 menunjukkan alur dari proses API CoAP server kelas Login. Kelas Login merupakan kelas yang digunakan untuk memproses otentikasi. Dalam kelas tersebut akan dipanggil fungsi hasil implementasi dari metode otentikasi dan otorisasi menggunakan JSON Web Token (JWT). Jika proses otentikasi berhasil, maka kelas Login akan mengirimkan JWT token kepada CoAP client. Namun jika gagal maka akan mengirimkan pesan error.
3.4.3.2 API CoAP Server Kelas PostData
Gambar 4. Alur proses API CoAP server kelas PostData
Gambar 4 menunjukkan alur proses dari API CoAP server kelas PostData. Dalam kelas tersebut akan dipanggil fungsi hasil dari implementasi metode semantic filtering. Dalam kelas PostData jika terjadi kegagalan dalam proses semantic filtering, kelas tersebut akan mengirimkan pesan error kepada CoAP client.
Sedangkan jika tidak terjadi kegagalan, kelas tersebut dapat menyimpan data ke dalam data storage dan akan mengirimkan pesan success.
3.4.4 Perancangan API CoAP Client
Gambar 5. Alur proses API CoAP client
API CoAP client berada di sisi client yang akan melakukan pengiriman data kepada
CoAP server. Gambar 5 menunjukkan alur proses dari API CoAP client. Sebelum API CoAP client dapat melakukan pengiriman data, maka dilakukan proses otentikasi terlebih dahulu. Proses otentikasi sendiri telah dijelaskan dalam perancangan metode otentikasi dan otorisasi menggunakan JSON Web Token.
Setelah seluruh proses pada CoAP server selesai, client akan menerima respon.
3.5 Perancangan Pengujian
Proses pengujian yang akan dilakukan pada penambahan CoAP pada semantic IoT web service yaitu pengujian fungsional, pengujian interoperabilitas dan pengujian kinerja yang terdiri dari penggunaan memori, CPU, throughput dan runtime.
3.5.1 Perancangan Pengujian Fungsional Pengujian fungsional akan menguji kebutuhan dari sistem apakah telah berjalan sesuai dengan fungsinya. Pengujian dilakukan berdasarkan skenario pengujian yang diberikan.
Apabila seluruh kebutuhan sesuai dengan fungsinya, maka kebutuhan tersebut dinyatakan valid.
3.5.2 Perancangan Pengujian Interoperabilitas
Tabel 5. Skenario pengujian interoperabilitas Kode Parameter Keterangan
PI_001 Pengiriman data
Melakukan proses pengiriman data melalui protokol komunikasi CoAP dan HTTP secara bersama- sama kepada semantic IoT web service serta melakukan pengiriman data secara independen melalui masing-
masing protokol
komunikasi CoAP serta HTTP kepada semantic IoT web service.
PI_002
Monitoring pengiriman data
Selama proses pengiriman data akan dilakukan monitoring menggunakan tcpdump untuk kemudian dianalisis pada wireshark.
PI_003
Pengecekan model data yang dikirim dengan yang diterima
Melakukan validasi model data yang dikirim oleh client dengan model data yang diterima pada semantic IoT web service. Akan terdapat dua model data yaitu model data yang dikirim melalui CoAP dan dikirim melalui HTTP.
PI_004
Data yang telah diterima dapat diproses dengan benar
Melakukan verifikasi terhadap data yang diterima pada semantic IoT web service apakah telah tersimpan dalam data storage dan dapat ditampilkan dalam IoT applications.
Tabel 5 merupakan skenario pengujian interoperabilitas yang dilakukan. Pengujian tersebut terbagi menjadi dua proses utama yaitu pengujian nomor PI_001 dan PI_002 yang difokuskan untuk monitoring pengiriman data serta PI_003 dan PI_004 yang difokuskan untuk menguji integritas data.
3.5.3 Perancangan Pengujian Kinerja Pengujian kinerja akan menguji parameter penggunaan memori, CPU, throughput dan runtime dari semantic IoT web service yang telah ditambah CoAP. Pengujian yang dilakukan dengan melakukan pengiriman data berbentuk JSON secara bersama-sama melalui CoAP dan HTTP. Masing-masing parameter pengujian akan diuji berdasarkan skenario pengujian yaitu pengiriman data sejumlah 50, 100, 150, 200 dan 250.
4. IMPLEMENTASI
Implementasi dilakukan berdasarkan pada perancangan penambahan CoAP pada semantic IoT web service. Implementasi meliputi implementasi topologi jaringan, semantic filtering, metode otentikasi dan otorisasi menggunakan JSON Web Token, API CoAP server serta API CoAP client.
4.1 Implementasi Topologi Jaringan Sesuai dengan perancangan topologi jaringan yang sebelumnya telah dibahas, terdapat tiga buah komponen yaitu CoAP client, access point dan cloud. CoAP client menggunakan private IP dan cloud menggunakan public IP. Port 5683 merupakan port dari CoAP yang akan menghubungkan CoAP client dengan cloud. Gambar 6 menunjukkan API CoAP server yang telah dijalankan dan siap untuk menerima data dari CoAP client..
Gambar 6. Menjalankan API CoAP server
4.2 Implementasi Otentikasi dan Otorisasi Menggunakan JSON Web Token
Gambar 7. Pseudocode JSON Web Token (JWT)
Gambar 7 menunjukkan pseudocode implementasi metode otentikasi menggunakan JSON Web Token (JWT). Metode tersebut diimplementasikan dalam fungsi login. Dalam pseudocode tersebut terdapat baris untuk melakukan validasi terhadap token key dan secret key yang dikirimkan. Apabila valid, maka fungsi tersebut akan mengirimkan respon berupa JWT token. Namun jika tidak valid akan mengirimkan pesan error kepada CoAP client.
4.3 Implementasi Metode Semantic Filtering
Gambar 8. Pseudocode Metode Semantic Filtering
Gambar 8 menunjukkan pseudocode dari metode semantic filtering yang diimplementasikan dalam fungsi store. Dalam pseudocode tersebut terdapat baris yang digunakan untuk validasi topik, lalu selanjutnya dilakukan proses penyimpanan data berdasarkan fomat dan struktur dari data. Apabila dalam proses semantic filtering terjadi kegagalan, maka fungsi tersebut akan mengembalikan pesan dengan status error kepada CoAP client.
4.4 Implementasi API CoAP Server
Gambar 9. Pseudocode API CoAP Server Kelas Login.
Gambar 10. Pseudocode API CoAP Server Kelas PostData
API CoAP server bertugas untuk menerima data dan meneruskannya kepada fungsi-fungsi dari semantic IoT web service. Gambar pseudocode 9 dan 10 merupakan implementasi dari kelas-kelas yang ada pada API CoAP server. Gambar 9 merupakan kelas Login yang akan terintegerasi dengan fungsi login untuk proses otentikasi. Sedangkan gambar 9 merupakan kelas PostData yang akan terintegerasi dengan fungsi store untuk proses semantic filtering.
4.5 Implementasi API CoAP Client
Gambar 11. Pseudocode API CoAP Client Fungsi POST data
API CoAP client bertugas untuk melakukan pengiriman data kepada API CoAP server.
Sebelum melakukan pengiriman data, API ini akan melakukan proses otentikasi terlebih dahulu pada semantic IoT web service untuk mendapatkan JWT token. Gambar 11 merupakan pseudocode hasil implementasi dari API CoAP client.
5. PENGUJIAN DAN ANALISIS HASIL PENGUJIAN
Sesuai dengan yang telah dijelaskan dalam perancangan pengujian, pengujian yang dilakukan yaitu pengujian fungsional, pengujian interoperabilitas dan kinerja.
5.1 Pengujian Fungsional
Hasil dari pengujian fungsional dapat dilihat pada tabel 6.
Tabel 6. Tabel Pengujian Fungsional No Kebuthan Fungsional Status
1 API semantic IoT web service dapat menerima data berbentuk JSON melalui protokol komunikasi CoAP
Valid
2 API semantic IoT web service dapat menerima data berbentuk gambar melalui protokol komunikasi CoAP
Valid
3 API semantic IoT web service dapat menerima data berbentuk video melalui protokol komunikasi CoAP
Valid
4 API semantic IoT web service yang telah ditambah protokol komununikasi CoAP dapat
Valid
melakukan proses semantic filtering.
5 API semantic IoT web service yang telah ditambah protokol komunikasi CoAP dapat melakukan otentikasi dan otorisasi menggunakan JSON Web Token (JWT).
Valid
Tabel 6 merupakan hasil dari pengujian fungsional yang menunjukkan seluruh kebutuhan telah berjalan sesuai dengan fungsinya atau valid
5.2 Pengujian Interoperabilitas
Hasil pengujian interoperabilitas yang dilakukan menunjukkan protokol komunikasi CoAP dan HTTP mampu mengirimkan data secara independen maupun secara bersama-sama kepada semantic IoT web service. Sedangkan dari sisi integritas data, data yang dikirim dari masing-masing client yaitu JSON, gambar dan video memiliki nilai yang tetap atau sama dengan data yang disimpan pada data storage maupun yang ditampilkan pada IoT application.
Hal tersebut membukitikan bahwa semantic IoT web service yang ditambah CoAP mampu menangani permasalahan interoperabilitas, khususnya syntactical interoperability.
5.3 Pengujian Kinerja
Gambar 12 Penggunaan Memori
Hasil dari pengujian kinerja dengan parameter penggunaan memori menunjukkan tingkat penggunaan memori berbanding lurus dengan banyaknya data yang dikirim (berdasarkan skenario pengujian). Penggunaan memori tertinggi pada pengiriman data sejumlah 250 yaitu 685701120 bytes. Sedangkan penggunaan memori terendah pada pengiriman data sejumlah 50 yaitu 677339136 bytes.
Gambar 13 Penggunaan CPU
Hasil dari pengujian kinerja dengan parameter penggunaan CPU secara umum menunjukkan tingkat penggunaan CPU berbanding lurus dengan banyaknya data yang dikirim (berdasarkan skenario pengujian). Pada pengiriman data sejumlah 200 terjadi peningkatan penggunaan CPU yang signifikan yaitu sebesar 33%. Sedangkan penggunaan CPU terendah pada pengiriman data sejumlah 50 dan 100 yaitu 1%.
Gambar 14 Runtime
Hasil dari pengujian kinerja dengan parameter runtime menunjukkan lamanya runtime berbanding lurus dengan besarnya banyaknya data yang dikirim (berdasarkan skenario pengujian). Runtime terlama pada pengiriman data sejumlah 250 yaitu 80,79981 seconds, sedangkan runtime tercepat pada pengiriman data sejumlah 50 yaitu 16,51749 seconds.
Gambar 15 Throughput
Hasil dari pengujian kinerja dengan parameter throughput menunjukkan nilai throughput yang didapat beragam. Throughput terendah pada pengiriman data sejumlah 100 yaitu 3,661289 ops/sec, sedangkan throughput terendah pada pengiriman data sejumlah 50 yaitu 3,298163713 ops/sec.
6. KESIMPULAN DAN SARAN
Penambahan protokol komunikasi CoAP pada semantic IoT web service berhasil diimplementasikan. Semantic IoT web service mampu menerima data berbentuk JSON, file gambar dan file video melalui CoAP. Semantic IoT web service yang saat ini telah ditambah CoAP juga mampu menangani permasalahan interoperabilitas khususnya syntactical interoperability dengan menyediakan protokol komunikasi melalui CoAP dan HTTP kepada client atau node sensor. CoAP dan HTTP dapat bekerja secara independen maupun bersama- sama dalam proses pengiriman data kepada semantic IoT web service.
Saran yang dapat diberikan terhadap penelitian ini adalah perlu ditambahkan kembali protokol komunikasi pada semantic IoT web service sehingga mampu menerima data dari node sensor melalui banyak protokol komunikasi. Selain itu juga perlu dilakukan enkripsi terhadap data yang dikirim oleh CoAP client kepada semantic IoT web service.
7. DAFTAR PUSTAKA
Anwari, H., Pramukantoro, E. S. & Hanafi, M.
H., 2017. Pengembangan Iot MiddlewareBerbasis Event-Based dengan Protokol Komunikasi CoAP, MQTTdanWebsocket. JPTIK, Volume I, pp.
1560-1567.
Chander, R. V., Mukherjee, S. & Elias, S., 2017.
An applications interoperability model for heterogeneous internet of things
environments. ScienceDirect, pp. 1-10.
Dalipi, E. et al., 2016. EC-IoT: An Easy Configuration Framework for Constrained IoT Devices. IEEE, pp. 159-164.
Desai, P., Sheth, A. & Anantharam, P., 2015.
Semantic Gateway as a Service architecture for IoT Interoperability. IEEE, pp. 313-319.
Faathin, A. R. A., Pramukantoro, E. S. &
Bakhtiar, F. A., 2019. Pengembangan Personal Data Analitik Menggunakan PHP- ML dan Apache Spark pada IoT Cloud Apps.
JPTIIK, Volume III, pp. 3911-3921.
Guoqiang, S., Yanming, C., Chao, Z. & Yanxu, Z., 2013. Design and Implementation of a Smart IoT Gateway. IEEE.
Kurniawan, A. K., Pramukantoro, E. S. &
Trisnawan, P. H., 2018. Perbandingan Kinerja Cassandra dan MongoDB Sebagai Backend IoT Data Storage. JPTIIK, Volume III, pp. 364-371.
Pramukantoro, E. S., Bakhtiar, F. A. &
Bhawiyuga, A., 2019. A Semantic RESTful API for Heterogeneous IoT Data Storage. pp.
1-2.
Rezaei, R., Chiew, T. K., Lee, S. P. & Aliee, Z.
S., 2014. Interoperability evaluation models:
A systematic review. ScienceDirect, pp. 1- 23.
Ruta, M. et al., 2017. A CoAP-based framework for collaborative sensing in the Semantic Web of Things. ScienceDirect, pp. 1047- 1052.
Tanganelli, G., Vallati, C. & Mingozzi, E., 2015.
CoAPthon: Easy Development of CoAP- based IoT. IEEE.
Wiryawan, Y. F., Kartikasari, P. D. & Data, M., 2018. Implementasi Constrained Application Protocol(CoAP) pada Sistem Pengamatan Kelembaban Tanah. JPTIK, Volume II, pp.
2480-2487.