Implementasi Protokol Websocket Pada Perangkat Non IP Berbasis NRF24L01 (Studi Kasus: Sistem Monitoring Suhu dan Kontroling Lampu LED)

  Vol. 2, No. 6, Juni 2018, hlm. 2058-2066 http://j-ptiik.ub.ac.id

  

Implementasi Protokol Websocket Pada Perangkat Non IP Berbasis

NRF24L01

(Studi Kasus: Sistem Monitoring Suhu dan Kontroling Lampu LED)

1 2

  3 Labib Imam Hidayat , Adhitya Bhawiyuga , Reza Andria Siregar

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: labib.imam.hidayat15@gmail.com, bhawiyuga@ub.ac.id, reza@ub.ac.id

  

Abstrak

  Pada era teknologi saat ini, perkembangan arsitektur IOT (Internet of things) berkembang sangat pesat. Dengan banyaknya perangkat IOT, terjadi perbedaan antara protokol layer aplikasi perangkat

  IOT tersebut. Sehingga, setiap perangkat memiliki aplikasi tersendiri atau disebut dengan istilah “one

  device one app

  ”. Untuk menyelesaikan permasalahan tesebut, penggunaan protokol web untuk mengatur seluruh protokol layer aplikasi atau yang disebut dengan WOT (Web of things) merupakan solusi yang baik dikarenakan protokol web yang bersifat universal. Konsep yang sebelumnya “one

  device one app

  ” diubah menjadi “many device one app” yaitu banyak perangkat dikendalikan oleh satu aplikasi. Permasalahan yang muncul berikutnya adalah banyak perangkat IOT yang membutuhkan koneksi real time dan menggunakan komunikasi radio sebagai metode pengiriman dan penerimaan datanya. Salah satu protokol web yang mendukung komunikasi real time ini adalah websocket. Pada komunikasi radio, banyak perangkat yang digunakan sebagai pilihan modul komunikasi radio. Salah satu modul komunikasi radio yang banyak digunakan adalah NRF24L01. Dengan menghubungkan protokol IP dengan perangkat radio yang bersifat non IP maka dibutuhkan sebuah perangkat bridging yang menjembatani perbedaan tersebut agar data dapat ditransmisikan dengan baik. Karena itu penulis melakukan penelitian untuk implementasi protokol websocket sebagai protokol web pada perangkat radio atau non IP dengan studi kasus sistem kontroling dan monitoring. Hasil pengujian sistem ini adalah rata-rata waktu untuk pengiriman data kurang dari satu detik.

  

Kata kunci: Web Of Things, Websocket, NRF24L01, Internt Of Things, Radio Communications, Full duplex,

Real time Communications , Non IP Device

  

Abstract

In the current era of technology, the development of IOT (Internet of Things) Architecture has been

growing very rapidly. With the increasing number of IOT devices, there are differences between the

application layer protocol of the IOT devices. Which causes each devices to have their own

application or can be called with the term “one device one app”. To resolve this problem, the use of

web protocol to configure the entire application layer protocol or so-called WOT (Web of Things) is a

great solution because of the characteristic of the web protocol which is universal. The previous

concept of “one device one app” can be changed into “many device one app” which means many

devices can be controlled by one application. The problem that arise next is some IOT devices that

require real time connections and use radio communications as a method of sending and receiving

data. One of the web protocols that supports real time communication is websocket. In radio

communications, many devices are used as a choice of radio communication modules. One of the most

widely used radio communication module is NRF24L01. By connecting IP protocols with non-IP radio

devices, it takes a bridging device that bridges the difference so that data can be transmitted properly.

Therefore, the authors conduct research for the implementation of websocket protocol as a web

protocol on radio or non-IP devices with case studies of controlling and monitoring systems. The

testing result of the sistem is the average time for data transmission of less than one second.

  

Keywords: Web Of Things, Websocket, NRF24L01, Internt Of Things, Radio Communications, Full duplex,

Real time Communications , Non IP Device Fakultas Ilmu Komputer Universitas Brawijaya

  

2058

  Fakultas Ilmu Komputer Universitas Brawijaya 2059 1.

  2.1 Websocket

  Gambar 1 Perbandingan Life Cycle HTTP dan Websocket [Sumber : Deantama,2016]

  client ataupun server. (Pimentel & Nickerson, 2012).

  mendukung komunikasi bidirectional antara server dan client sampai koneksi tersebut diputus oleh

  client . single TCP connection tersebutlah yang

  terbuka antara server dan client. Proses yang pertama dilakukan adalah client mengirimkan handshake kepada server kemudian server membalas handshake tersebut lalu terciptalah sebuah single TCP connection antara server dan

  handshaking untuk membuat sebuah koneksi yang

  Dimana websocket menggunakan metode

  connection maka websocket dapat membangun satu buah jalur koneksi antara server dan client.

  Websocket adalah salah satu protokol yang berjalan pada layer aplikasi atau pada layer 7 di dalam osi layer . websocket mendukung komunikasi full duplex dimana komunikasi terjadi dua arah antara client dan server berbeda dengan protokol yang kita kenal saat ini yaitu HTTP. HTTP adalah sebuah protokol yang berjalan pada port 80 dan bekerja dengan konsep request dan respone tau yang biasa disebut dengan half duplex. Dengan menggunakan mekanisme single TCP

  Berdasarkan latar belakang yang telah penulis jelaskan, muncul sebuah kesimpulan tentang sistem yaitu penerapan konsep IOT terhubung dengan aplikasi website. Dimana website tersebut menggunakan websocket dan terhubung dengan perangkat non IP berbasis NRF24l01. Diharapkan tema yang penulis akan teliti ini dapat memberikan solusi untuk perkembangan konsep web of things kedepannya 2.

   PENDAHULUAN

  Pada komunikasi transmisi data dengan radio, salah satu contoh metode komunikasi dengan menerapkan sinyal radio yaitu menggunakan modul NRF24L01. NRF24L01 memanfaatkan sinyal radio yang mempunyai frekuensi 2.4GHz ,tergolong mempunyai kekuatan transmisi yang besar dan mempunyai rata rata pengiriman data yang tinggi serta mempunyai mekanisme pendeteksi error saat pengiriman berlangsung (Yao-Lin, et al., 2011). Dengan menghubungkan protokol ip dengan perangkat non ip maka dibutuhkan sebuah perangkat bridging yang menjembatani perbedaan tersebut agar data dapat ditransmisikan dengan baik.

  dengan protokol HTTP dimana protokol HTTP membutuhkan request dan response setiap kali proses komunikasi terjadi. Websocket mendukung koneksi secara full duplex dimana komunikasi antara server dan client hanya membutuhkan satu kali proses request dan response saja. (Pimentel & Nickerson, 2012).

  real time adalah websocket. Websocket berbeda

  Pada perangkat IOT, ada beberapa perangkat yang membutuhkan konkesi secara real time untuk berjalan dengan optimal dan menggunakan media radio sebagai media komunikasi transmisi data. Salah satu protokol web yang mendukung koneksi

  menjadi “many device one app”.

  “one device one app”

  menyelesaikan permasalahan ini, digagaskan sebuah konsep web of things atau yang di sebut dengan WOT. Konsep ini menggunakan protokol web yang bersifat universal dan menjadi sebuah protokol layer aplikasi pada IOT sehingga bermacam-macam perangkat tersebut dapat dikendalikan dengan satu aplikasi website saja. Konsep ini merubah

  “one device one app”. Untuk

  IOT, menyebabkan terciptanya berbagai macam protokol layer aplikasi yang digunakan pada IOT. Banyaknya protokol tersebut menyebabkan aplikasi yang digunakan pada IOT berbeda-beda, hal ini disebut dengan

  Pada perkembangan era teknologi saat ini, dibutuhkan perangkat yang dapat membantu menyelasikan permasalahan dan mendukung mobilitas yang tinggi. Salah satu teknologi yang berkembang saat ini adalah internet of things atau yang disingkat dengan IOT. IOT adalah sebuah sebuah konsep dimana perangkat IOT tersebut digunakan untuk mengambil data dari sensor atau memberikan perintah kepada aktuator melalu jaringan komputer. Dengan tingginya perkembangan teknologi

DASAR TEORI

  2.2 Javascript

  2.4 Socket.io

  2.7 Raspberry PI

  Gambar 3 Arduino Nano [ Sumber : arduino.cc ]

  Arduino nano adalah mikrokontroler yang dapat digunakan untuk memasukan sebuah perintah didalamnya. Arduino nano terdiri dari sebuah papan rangkaian elektronik yang menggunakan ATmega328. Arduino nano juga mempunyai 14 digital input dan output pin yang digunakan sebagai media untuk memasukan perintah atau menangkap sinyal dari sensor, serta memiliki 8 buah input analog. Arduino nano mempunyai beberapa kelebihan diantaranya merupakan sebuah mikrokontroler yang siap pakai dikarenakan menerapkan sistem plug and play, berukuran kecil dan lebih ekonomis dibandingkan arduino uno. (Durfee, 2011)

  2.6 Arduino Nano

  Expressjs adalah salah satu library yang digunakan dalam node.js dimana expressjs mengatur backbone server serta mengatur request dan response antara client dan server serta penerapan routing (hasibuan,2015)

  2.5 Express.js

  Gambar 2 Socket.io listen port 3000 (Sumber : npmjs.com/package/socket.io)

  time . Socket.io menggunakan websocket sebagai mekanisme layer aplikasinya.

  Socket.io adalah salah satu library yang digunakan dalam node.js. Socket.io digunakan untuk membuat sebuah sistem yang bersifat real

  mengembangkan sistem dengan skala yang besar didalam node.js.

  Javascript adalah salah satu bahasa pemrograman yang digunakan untuk dunia

  nonbloking maka tidak ada proses yang menjadi deadlock . Maka user dapat dengan mudah

  penyelesaian dalam permasalahan deadlock proses dimana setiap proses yang dilakukan tanpa thread akan terjadi deadlock namun threading programing relatif tidak efisien dan sulit untuk diimplementasikan. Dikarenakan node.js bersifat

  framework . Salah satu kelebihan node.js adalah

  event dari input user serta node.js dapat sangat cepat dan ringan dalam mengatur I/O model dikarenakan node.js menggunakan javascript sebagai bahasa pemrogramannya sehingga bersifat

  framework bahasa pemrograman yang mengatur

  Node.js adalah salah satu framework dari javascript yang banyak digunakan untuk melakukan pemrograman server atau pemrograman jaringan. Node.js dibangun diatas Chrome’s V8 Javascript Engine. Chrome’s V8 Javascript Engine adalah open source high performence javascript engine yang ditulis dalam bahasa C++. Nodejs dapat digunakan sebagai

  2.3 Node.js

  dimana bahasa pemrograman ini tergolong handal dan cepat dalam memproses perintah dikarenakan sifat yang non -blok. Javascript juga mudah dalam bentuk bahasanya dikarenakan bahasa yang digunakan sangat mirip dengan bahasa inggris. Javascript banyak digunakan untuk pemrograman client side dan juga digunakan sebagai program widgets , tapi pengembangan javascript sangatlah pesat bahkan saat ini javascript telah dapat digunakan untuk pemrograman server side dimana pemrograman tersebut berjalan pada sisi server dan javascript pun digunakan untuk pemrograman network seperti framework javascript Node.js.

  networking

  Raspberry PI adalah sebuah mikrokompter yang berjalan pada sebuah papan elektronika. Ukuran dari komputer ini sangatlah kecil yaitu 85.60 mm x 53.96 mm x 17 mm. Ukuran yang hanya sebesar kartu kredit tersebut tidak dapat dibandingkan dengan performa tinggi yang dihasilkan. Raspberry pi mempunyai beberapa komponen yang menyusun papan elektroniknya yaitu sebuah prosesor dengan 32bit dan 700Mhz yang dibangun dengan arsitektur ARM11. Kemudian SD card slot , raspberry pi tidak memiliki sebuah harddisk seperti kebanyakan komputer miliki maka dari itu semua penyimpanan yang dilakukan oleh raspberry disimpan didalam sebuah sd card. Raspberry juga memiliki USB

  port , ethernet port, dan HDMI port dimana

  3.1 Perancangan

  Perancangan dibagi menjadi dua bagian yaitu perancangan sistem kontroling led dan sistem monitoring suhu dan kelembapan. Perancangan ini terdiri dari perancangan perangkat keras, perancangan perangkat lunak , dan perancangan integrasi antara client, server dan sensor. Berikut ini adalah salah satu contoh perancangan yang dilakukan yaitu perancangan pada perangkat lunak pada mikrokontroler untuk kontroling lampu led

  kepada sistem untuk melakukan kontroling ataupun monitoring, perintah tersebut dikirim kepada server kemudian diteruskan kepada bridge. Didalam bridge, perintah tersebut diubah menjadi data yang siap dikirimkan via radio NRF24L01. Setelah dikirimkan via radio tersebut, perintah diterima oleh mikrokontroler dan diproses untuk menjalankan sensor ataupun aktuator.

  client adalah komponen yang memberikan perintah

  Gambar 6 menjelaskan keseluruhan arsitektur sistem yang akan dirancang. Terdapat beberapa komponen yang menyusun arsitektur sistem ini yaitu client , server, brigde , NRF24L01, mikrokontroler, aktuator dan sensor. User atau

  Gambar 6 Gambaran Umum Arsitektur Sistem

  Berikut ini adalah rancangan arsitektur sistem secara umum yang digambarkan dalam diagram.

  50˚C dan jangkauan penguruan kelembapan udara 20-95% RH. Sensor ini terbilang low comsumption power sehingga mudah diimplementasikan pada mikrokontroler sebagai sensor. DHT 11 cukup ekonomis dan memadai untuk aplikasi monitoring suhu dan kelembapan (arduino.org) 3.

  keseluruhan port tersebut mempunyai masing- masing kegunaan.(P, M Kramer, 2016) Raspberrry pi juga memiliki lampu LED yang digunakan untuk indikator hardware, port audio analog 3.5mm, Pin GPIO, pin konektor DSI, pin konektor CSI, dan pin header broadcom chip

  Sensor DHT 11 adalah sensor suhu dan kelembapan udara yang memiliki pengukuran suhu antara 0-

  2.9 Sensor DHT11

PERANCANGAN DAN IMPLEMENTASI

  Gambar 5 Modul NRF24L01 [statics3.seedstudio.com]

  tersebut sebagai pengalamatan. (Chen,2012)

  channel yang mengatur channel dari gelombang

  Modul NRF24L01 adalah sebuah media komunikasi jarak jauh menggunakan gelombang radio dengan pita gelombang berfrekuensi 2.4Ghz. Didalam NRF24L01 terdapat beberapa komponen yang telah terinstall yaitu sintesis frekuensi , penguat tegangan, crystal oscillator , dan modulator. Berbeda dengan protokol 802.11 yang menggunakan ip sebagai pengalamatan, NRF24L01 menggunakan enhanced shockbrust

  Gambar 4 Raspberry PI 3 [Sumber : raspberrypi.org]

2.8 Modul NRF24L01

  3.2 Implementasi

  Implementasi ini menjabarkan bagian sistem kontroling lampu led yang telah dilakukan dalam perancangan untuk mewujudkan hasil yang nyata. Implementasi ini melibatkan implementasi perangkat keras pada sisi sensor, implementasi perangkat keras bridge dan server, serta implementasi perangkat lunak baik pada client , server, dan perangkat aktuator. Berikut ini adalah contoh implementasi pada perangkat keras pada sistem ini.

  Gambar 8 Implementasi Arduino, NRF24L01, lampu LED

  Pada gambar 8 tersebut arduino nano dihubungkan dengan NRF24L01 dengan menggunakan kabel jumper dan arduino nano dengan lampu LED juga dihubungkan dengan kabel jumper. Untuk arduino nano dengan nrf24l0, pin yang digunakan oleh NRF24L01 adalah GND, VCC, CE, CSN, SCK, MOSI, MISO. Untuk pin yang digunakan untuk led dan arduino nano adalah pin D-4 dan GND.

  Gambar 7 Alur Mikrokontroler Memproses Perintah Kontroling Lampu LED

  Pada gambar tersebut dijelaskan tentang skema alur pemrosesan pesan sejak pesan diterima arduino hingga arduino mengembalikan nilai pesan kepada server. Saat pesan diterima arduino pesan akan di proses oleh arduino hingga menjadi pesan yang dapat terbaca oleh arduino. Setelah itu pesan akan dicek pada kondisi jika pesan tersebut untuk monitroing suhu atau kontroling led. Jika pesan untuk led maka arduino akan melakukan koneksi

  Gambar 9 Implementasi Arduino, NRF24L01, lampu

  ke pin led dan membaca pesan, apakah pesan

  LED

  tersebut untuk menyalakan atau mematikan lampu led. Setelah itu, lampu akan dieksekusi sesuai Pada gambar 9 tersebut Raspberry pi 3 dengan pesan dan mengirimkan pesan kembali

  dihubungkan dengan NRF24L01 dengan

  kepada server jika lampu LED berhasil dieksekusi menggunakan kabel jumper. Sama seperti arduino nano dengan NRF24L01 pin yang digunakan oleh

  NRF24L01adalah GND, VCC, CE, CSN, SCK, MOSI, MISO.

  Gambar 10 Implementasi Arduino, NRF24L01, lampu LED

  Pada gambar 10 tersebut arduino nano dihubungkan dengan NRF24L01 dengan menggunakan kabel jumper dan arduino nano dengan DHT-11 juga dihubungkan dengan kabel jumper. Untuk arduino nano dengan nrf24l0, pin yang digunakan oleh NRF24L01 adalah GND,VCC,CE,CSN,SCK,MOSI,MISO. Untuk pin yang digunakan pada DHT-11 adalah pin VCC, DATA, DAN GND. Pin tersebut dihubungkan dengan pin 5V5, D2, dan GND pada arduino nano.

4. PENGUJIAN DAN ANALISIS

  Pada penelitian ini dilakukan beberapa pengujian yaitu pengujian transmisi data pada sistem dan pengujian kehandalan sistem melayani request .

  tersebut mempengaruhi grafik jumlah request yang dapat diproses oleh sistem.

  request yang datang secara serentak. Karena request yang datang secara serentak tanpa delay

  Pada grafik 11, menjelaskan bahwa terjadi peninggkatan round trip time dimulai dari pengiriman data ke 30. Dimana terjadi peningkatan RTT terus menerus setelahnya. Pada pengiriman 10 request dan 20 request, tidak terjadi begitu banyak perbedaan nilai dari round trip time. Mengingkatnya nilai round trip time pada pengiriman 30 sampai 50 request disebabkan terjadinya proses antrian untuk pengiriman dan penerimaan pada modul NRF24L01 dikarenakan

  Gambar 11 Gambar Grafik Nilai Round trip time Dari Proses Transmisi Data

4.1 Pengujian Transmisi Data

  request pengiriman dilakukan 5 kali pengujian

  banyaknya request yang dikirimkan dalam waktu yang bersamaan. Jumlah request yang digunakan untuk pengujian ini adalah 10 request, 20 request, 30 request, 40 request, dan 50 request. Setiap

  request . Parameter yang digunakan adalah

  paket data yang dikirimkan sampai kembali lagi kepada client yang mengirimkan. Untuk pengujian ini diadakan skenario mengirimkan beberapa

  round trip time adalah waktu yang diperlukan oleh

  Gambar 12 Gambar Grafik Nilai Round Trip Time Dari Proses Transmisi Data

  Terjadinya kenaikan dan penurunan jumlah

  request yang terlayani pada gambar 12 tersebut

  berbeda-beda dimana request yang dikirimkan bersama-sama tersebut tidak seluruhnya diproses oleh sistem atau disebut dengan paket lost. Bahkan didalam pengujian tersebut setiap parameter skenario pengujian, tidak ada request yang

  Pengujian proses transmisi data dilakukan dengan cara menghitung round trip time sistem,

  agar mendapatkan nilai rata-rata setiap parameter yang digunakan. Pengiriman request dilakukan tanpa delay pengiriman. Nilai yang akan diambil dari pengujian ini adalah round trip time dan berapa banyak request yang terlayani oleh sistem. Pengujian ini mendapatkan hasil pada Gambar 11 berikut ini. diproses oleh sistem mendekati bahkan sama dengan data yang dikirimkan. Dari hasil tersebut pengiriman paket serentak tanpa adanya delay pengiriman menyebabkan paket lost yang besar, bahkan rata-rata request yang diproses tidak ada yang mendekati angka 50% dari data yang dikirimkan, dan ini menyebabkan sistem menjadi kurang optimal. Paket lost yang terjadi dalam skenario pengujian ini dikarenakan data yang dikirimkan bersama-sama tanpa adanya delay pengiriman. Pada modul NRF24L01 terdapat rx.buffer dimana rx.buffer tersebut mempunyai rx.fifo didalamnya yang digunakan untuk menunggu data yang akan masuk sesuai dengan alamat pipe dan crc. Tetapi terdapat keadaan dimana rx.fifo penuh sedangkan data yang didalamnya belum 100 % diproses semua. Maka data yang akan masuk berikutnya akan dibuang oleh rx.fifo. Pembuangan data oleh rx.fifo itulah yang membuat terjadinya paket lost.

  Request

  Pengujian proses transmisi data dilakukan dengan cara mengirimkan 50 request dalam jeda waktu pengiriman atau interval yang berbeda-beda setiap pengujiannya. Pengujian ini dilakukan dikarenakan pada pengujian sebelumnya terdapat banyak paket lost dikarenakan pengiriman dilakukan secara bersamaan. Parameter yang digunakan pada pengujian ini adalah variasi delay pengiriman paket dalam satu kali pengiriman, yaitu 0 ms delay, 10 ms delay, 20 ms delay, 30 ms

  delay , 40 ms delay, dan 50 ms delay. Setiap paket

  pengiriman dilakukan 5 kali pengujian agar mendapatkan nilai rata-rata setiap parameter yang digunakan. Hasil pengujian dapat dilihat pada Gambar 13 sebagai berikut:

  Gambar 13 Grafik Nilai Round Trip Time Dari Kehandalan Sistem Melayani Request

  Pada Gambar grafik 13, menjelaskan bahwa terjadi penuruan round trip time yang besar dimulai dari delay pengiriman 40 ms. Selain itu terjadi kenaikan dan penuruan yang tidak terlalu besar perbedaannya antara variasi delay 0 ms sampai 30 ms. Pada variasi delay 40 ms terjadi begitu banyak perbedaan nilai dari round trip time dengan delay pengiriman yang sebelumnya. Hal ini disebabkan terjadinya pada variasi delay 0 sampai 30 ms masih terjadi antrian yang besar antar satu request dengan request yang lainnya. Pada variasi nilai 40 ms dan 50 ms, juga terjadi penurunan nilai round trip time pada variasi delay 50 ms.

4.2 Pengujian Kehandalan Sistem Melayani

  Gambar 14 Grafik Banyaknya Request Client Yang Diproses Sistem Dari Kehandalan Sistem Melayani Request

  Pada gambar grafik 14 Terjadi kenaikan jumlah request yang sangat besar dimana paket data yang mempunyai variasi delay 40 ms dan 50 ms sistem mampu memproses 100% request yang dikirimkan dari 50 client. Sedangkan untuk variasi

  delay 0 ms sampai 30 ms masih terjadi kenaikan

  dan penurunan jumlah paket request yang diproses. Hal ini disebabkan masih banyaknya paket lost yang terjadi dalam variasi delay pengiriman tersebut. Bahkan didalam pengujian tersebut parameter variasi delay 0 sampai 30 ms skenario, tidak ada jumlah request yang diproses oleh sistem mendekati bahkan sama dengan data yang dikirimkan. Terjadi kenaikan jumlah request yang sangat besar dimana paket data yang mempunyai variasi delay 40 ms dan 50 ms sistem mampu memproses 100% request yang dikirimkan dari 50 request. Sedangkan untuk variasi delay 0 ms sampai 30 ms masih terjadi kenaikan dan penurunan jumlah paket request yang diproses. Hal ini disebabkan masih banyaknya paket lost yang terjadi dalam variasi delay pengiriman tersebut. Bahkan didalam pengujian tersebut parameter variasi delay 0 sampai 30 ms skenario, tidak ada jumlah request yang diproses oleh sistem mendekati bahkan sama dengan data yang dikirimkan. Dapat kita lihat pada rata-rata pengiriman request yang ada dalam skenario, variasi delay 0 ms pada request yang dikirim hanya mendapatkan rata-rata 16 request yang diproses oleh sistem, variasi delay 10 ms pada

  request yang dikirim mendapatkan rata-rata 15 request yang diproses, variasi delay 20 ms pada request yang dikirim mendapatkan rata-rata 17 request , variasi delay 30 ms pada request yang

  rx.buffer

  ini adalah variasi delay antara 0 sampai 30 ms, nilai rtt dan jumlah request yang terlayani tidak berbeda jauh dengan pengujian pertama.

  delay . Hasil yang didapatkan pada pengujian

  5. Berdasarkan hasil pengujian dan analisis kehandalan sistem dalam menerima request, hasil yang didapatkan dalam pengujian ini menjawab tidak optimalnya performa sistem pada pengujian pertama. Pada pengujian ini digunakan skenario variasi delay pengiriman yang berbeda antara 0 sampi 50 ms variasi

  sistem hanya sedikit dan hampir mencapai angkat 70% paket loss. Ini disebakan rx.fifo yang penuh. Penuhnya rx.fifo ini menyebabkan beberapa paket dibuang oleh rx.fifo menyebabkan paket menjadi loss. Paket loss ini menyebabkan sistem menjadi kurang optimal melayani beberapa request sekaligus tanpa adanya delay pengiriman.

  request yang terkirim dan di proses oleh

  4. Berdasarkan hasil pengujian dan analisis transmisi data, pengiriman antara 10 sampai 50 request yang menjadi skenario pengujian mendapatkan rata-rata waktu round trip time dibawah 1 detik. Tetapi untuk rata-rata jumlah

  3. Untuk komunikasi antara server dengan arduino dibutuhkan sebuah bridge yang telah dijelaskan pada point pertama. Sistem mendeklarasikan modul nrf untuk mengirimkan data via radio dengan menggunakan bahasa pemrograman python. Server membuat sebuah child proses dengan menggunkan library python-shell untuk menjalankan program bridge yang menggunakan bahasa python. Data diteruskan oleh server kedapan program bridge tersebut agar data tersebut dapat ditransmisikan dengan media komunikasi NRF24l01.

  rx.buffer dan mengolah pesan tersebut agar siap dikirimkan kepada server.

  dan melakukan listen.radio. Jika ada sinyal pengiriman radio terdeksi maka radio akan memasukan data tersebut kedalam

  menerima data dari arduino, bridge membuka

  dikirim request hanya diproses 13 request. Dari hasil tersebut pengiriman paket dengan variasi

  tx.buffer NRF24L01. Sedangkan untuk

  terlebih dahulu menjadi sebuah string agar dapat dirubah menjadi sinyal radio oleh

  pipe , dan channel. Bentuk data dirubah

  2. Sistem ini menggunakan NRF24L01 yaitu modul pengiriman dengan sinyal radio untuk berkomunikasi antara server dan arduino. Untuk mengirimkan sinyal kepada radio bridge mendeklarasikan alamat dalam bentuk

  Hubungan antara client dan server, sistem ini menggunakan library socket.io. Socket.io adalah library yang digunakan pada node.js untuk mendeklarasikan protokol websocket. Dengan adanya webscoket ini maka sistem dapat membuka komunikasi antara server dan client secara full duplex dan dapat melayani beberapa client secara bersamaan. Untuk aplikasi sisi client sistem ini menggunakan html5,css3, dan javascript serta library javascript yang disediakan.

  Berdasarkan dari keseluruhan bab yang telah dibahas sebelumnya yaitu pendahuluan, tinjauan pustaka, metodologi, perancangan, implementasi, serta pengujian dan analisis dapat disimpulkan bahwa : 1.

  sistem. Oleh karena itu dapat kita simpulkan bahwa sistem harus memiliki penangan delay pengiriman agar request yang dapat diproses mencapai tingkat 100%. Keharusan adanya delay pengiriman ini disebabkan oleh rx.fifo yang akan membuang data jika data yang masuk telah memenuhi buffer dari rx.fifo, hal tersebut yang membuat paket menjadi lost.

  request dari 50 client, 100% request diproses oleh

  paket lost yang besar, bahkan rata-rata request yang terlayani oleh sistem tidak ada yang mendekati angka 50% dari request yang dikirimkan, dan ini menyebabkan sistem masih kurang optimal. Berbeda dengan variasi delay 40 sampai 50 ms data yang dikirimkan sebanyak 50

  delay pengiriman tersebut masih menyebabkan

5. KESIMPULAN

  P, M., Kramer, Z. & & Molnar, S., 1997. Tetapi saat variasi delay antara 40 sampai 50 Comparison of Web Transfer Protocols. ms, nilai rtt dan request yang terlayani oleh

  Budapest, High Speed Network sistem sangatlah berbeda dari variasi 0 sampai Laboratory. 30 ms. Dimana nilai rtt dan jumlah request P, M. R., Suharsono, A. & Primananda, R., 2016. client yang berhasil dilayani pada variasi delay

  Sistem Pengamatan Kelembapan Tanah pengiriman 40 ms sebesar 5.818 ms dan 50 Dengan Sensor dan Mekanisme Publise- client, dan untuk variasi pengiriman 50 ms Subscribe. Computer Science Minor sebesar 4.812 dan 50 client. Dari hal ini, dapat

  Thesis, pp. 73-74.

  disimpulkan bahwa sistem menbutuhkan Srinivisan, L. S. J. &. K. S., 2013. Analysis of sekitar 0.04 detik delay untuk memproses

  Websocket as the Age Protocol for Remote request tersebut agar rtt yang didapatkan kecil Robot Tele-operation, 3rd IFAC: Seoul.

  dan seluruh request dapat 100% diproses oleh Yao-Lin, Z., Gao-qiang, Z., Lei, Z. & Jin, X., sistem.

  2011. Design of Wireless Multi-Point Temperature Transmission System Based 6.

   DAFTAR PUSTAKA in NRF24L01. IEEE, pp. 780-783.

  Candelas, F. et al., 2015. Experiences of Using Anonim, 2016. Konsep nodejs framework Tersedia

  Arduino for Laboratory Experiments of

  di :[Diakses 23

  Automatic Control and Robotics,

  IFAC: April 2017] Alicante.

  Chen, Z. et al., 2012. LED Toning System Based Anonim, 2017. Konsep Socket.io Tersedia di : on NRF24L01 Wireless Control. Chinese www.npmjs.com/package/socket.io

  Control and Decision Conference

  [Diakses 23 April 2017] (CCDC), pp. 656-659. D.Koo, D., Lee, J. J., Sebastiani, A. & Kim, A. J.,

  2016. An Internet-of-Things (IoT) System Development And Implementation For Bathroom Safety Enhancement. Procedia Engineering, pp. 396-403.

  Deatama, Y. R., Bwawiyuga, A. & Primananda, R., 2016. Implementasi Websocker Untuk Monitoring Dan Kontrolling Perangkat Berbasis Arduiono. Computer Science Minor Thesis, p. 111.112.

  Durfee, W., 2011. Arduiono Microntroller Guide, s.l.: University of Minnesota. Hasibuan, A., Mustadi, M., Syamsudin, D. I. E. Y.

  & Rosidi, I. M. A., 2015. Design and Implementation of Modular Home Automation Based on Wireless Network, REST API and WebSocket. Internastional

  Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), pp. 9-12.

  Pimentel, V. & Nickerson, B. G., 2012.

  Communicating and Displaying Real- Time Data with WebSocket. Dalam:

  Programming Web Interface. s.l.:IEEE Computer Society, pp. 45-53.