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

dokumen-dokumen yang mirip
Network Access/Interface Layer Internet Layer Host-to-Host Transport Layer Application Layer

RANCANG BANGUN SISTEM KONTROL DAN MONITORING BERBASIS WEBSOCKET PADA PERANGKAT ARDUINO ABSTRACT

BAB II DASAR TEORI Gambar 2.1. Cubieboard2

BAB II DASAR TEORI. Protokol adalah seperangkat aturan yang mengatur pembangunan koneksi

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III METODOLOGI 3.1 Analisis Kebutuhan Analisis Kebutuhan Fungsi Analisis Kebutuhan Input

LEMBAR PENGESAHAN TUGAS AKHIR...

BAB III PERANCANGAN ALAT. Pada bagian ini akan dijelaskan mengenai bagaimana alat dapat

BAB III ANALISIS DAN PERANCANGAN SISTEM

DT-AVR. Application Note AN214

REALISASI SISTEM AKUISISI DATA MENGGUNAKAN ARDUINO ETHERNET SHIELD DAN SOCKET PROGRAMMING BERBASIS IP

Sistem Monitor Dan Kendali Ruang Server Dengan Embedded Ethernet

BAB II DASAR TEORI. Remote Inframerah

PERANCANGAN. 4-1

BAB III. Metode Penelitian

BAB III PERANCANGAN ALAT

JARINGAN KOMPUTER JARINGAN KOMPUTER

ABSTRAK. Kata kunci: Arduino, Switch, Access Point, LED, LCD, Buzzer, . i Universitas Kristen Maranatha

PERANCANGAN PENGENDALIAN PERALATAN LISTRIK MELALUI KOMUNIKASI PROTOKOL TCP/IP DENGAN MIKROKONTROLER ARDUINO MEGA 2560

MODUL 2 WIRESHARK Protokol TCP

BAB III PERANCANGAN SISTEM

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

IMPLEMENTASI HOME AUTOMATION BERBASIS WEB PADA KONTROL DAN SERVER RASPBERRY PI

MODUL 2 WIRESHARK Protokol TCP

BAB III PERANCANGAN ALAT

BAB 1 PENDAHULUAN 1.1 Latar Belakang

DT-ARM Application Note. AN221 Web Server I/O Remote

BAB III PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

DESAIN DAN IMPLEMENTASI KONTROL ROBOT JARAK JAUH DENGAN KOMUNIKASI WIFI

BAB III RANCANG BANGUN

RANCANG BANGUN APLIKASI SIMULASI HOME AUTOMATION BERBASIS IP PADA PLATFORM ANDROID

Implementasi Mikrokontroler pada Sistem Kontrol Peralatan Listrik dan Monitoring Rumah Berbasis Website

DAFTAR ISI. Abstrak... Abstract... Kata Pengantar... Daftar Isi... Daftar Gambar... Daftar Tabel... BAB I Pendahuluan Latar Belakang...

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

Sistem Akuisisi Data 6 Channel Berbasis AVR ATMega dengan Menggunakan Bluetooth ABSTRAK

BAB II LANDASAN TEORI

Rancang Bangun Pengendalian Robot Beroda Berbasis Arduino Menggunakan Komunikasi Wireless

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB II DASAR TEORI. Teknologi TCP/IP adalah hasil penelitian dan pengembangan protocol

IMPLEMENTASI PROSES HANDSHAKING PADA SATELIT NANO DENGAN STASIUN BUMI MENGGUNAKAN PROTOKOL AX.25

BAB II DASAR TEORI Arduino Mega 2560

ALAT PENGENDALI OTOMATIS DAN DETEKSI KEADAAN PERALATAN RUMAH MENGGUNAKAN SMS CONTROLLER. Hasani

DT-ARM DT-ARM Application Note

RANCANG BANGUN SISTEM TELEMETRI TEMPERATUR MULTICHANNEL MULTIBIT MENGGUNAKAN MIKROKONTROLER ATMega8535 DENGAN PEMROGRAMAN BORLAND DELPHI 7 TUGAS AKHIR

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB III ANALISA DAN PERANCANGAN SISTEM

KONTROL OTOMATIS AIR CONDITIONER SHELTER BTS BERBASIS MICROCONTROLLER JOURNAL

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ABSTRAK. Nama : Yudhi Asmara Program Studi : Teknik Elektro Judul : Implementasi dan Evaluasi Kinerja Sistem Kontrol Berbasis Embedded Web

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

PEMROGRAMAN JARINGAN

BAB III PERANCANGAN SISTEM

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. lunak (software) aplikasi Android dan perangkat keras (hardware) meliputi

BAB III PERANCANGAN. Microcontroller Arduino Uno. Power Supply. Gambar 3.1 Blok Rangkaian Lampu LED Otomatis

PENERAPAN INTERNET OF THINGS ( IoT ) DALAM PEMBELAJARAN DI UNISNU JEPARA

FEB Mikrokontroler Mengenai Dasar Mikrokontroler

RANCANG BANGUN SISTEM PENGAMAN PINTU RUMAH MENGGUNAKAN ANDROID BERBASIS ARDUINO UNO

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

MENGENAL WEMOS D1 MINI DALAM DUNIA IOT

DT-I/O DT-I/O. Application Note AN171

BAB III METODOLOGI PENELITIAN

PERANCANGAN DAN PEMBUATAN SISTEM OTOMATISASI PERANGKAT ELEKTRONIKA RUMAH BERBASIS ARDUINO

III. METODE PENELITIAN

BAB IV IMPLEMENTASI DAN UJI COBA

Bab 1 Pendahuluan 1.1 Latar Belakang

BAB III PERENCANAAN SISTEM

Pengantar Komunikasi Data

TK 2134 PROTOKOL ROUTING

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

Pertemuan 2, Komunikasi Data, DGS REVIEW DATA INFORMASI KOMUNIKASI KOMUNIKASI DATA

III. METODE PENELITIAN

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III ANALISA DAN PERANCANGAN

MONITORING DAN PENGISIAN TOKEN PULSA PADA KWH METER MENGGUNAKAN SMARTPHONE ANDROID. Alfathoni Agustian Alaziz 1, Ir. Syahrul, M.

PENGENDALI PINTU MENGGUNAKAN ALAT PENGENDALI TV JARAK JAUH

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV PENGUJIAN DAN PEMBAHASAN

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB 3 PERANCANGAN SISTEM

Sistem Pengontrolan Distribusi Aliran Air dan Pemantauan Temperatur Air Berbasis Android Smartphone

RANCANG BANGUN APLIKASI MONITORING DETAK JANTUNG MELALUI FINGER TEST BERBASIS WIRELESS SENSOR NETWORK. Marti Widya Sari 1), Setia Wardani 2)

Studi Level Daya Pada Perangkat Zigbee Untuk Kelayakan Aplikasi Realtime Monitoring

TELEROBOTIK MENGGUNAKAN EMBEDDED WEB SERVER UNTUK MEMONITOR DAN MENGGERAKKAN LENGAN ROBOT MENTOR

BAB III PERANCANGAN ALAT

PENGENDALIAN PERALATAN LISTRIK MENGGUNAKAN REMOTE CONTROL TV. Disusun Oleh : Nama : Jimmy Susanto Nrp :

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PERANCANGAN. Gambar 4.1 Blok diagram program

BAB III PERANCANGAN DAN PEMBUATAN APLIKASI

Prototype Pengontrolan Alat Elektronik Masjid Berbasis Arduino

Protokol Jaringan. Oleh : Tengku Mohd Diansyah,ST,M.Kom

Intergrasi Arduino -OPC Server-Modem GSM pada Sistem Pengontrolan Lampu dan Air Conditioner Melalui Fasilitas HMI dan SMS

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

Perancangan Aplikasi Monitoring Suhu pada Ruangan DMZ Berbasis Web dan Mobile

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB 4 IMPLEMENTASI DAN EVALUASI. menerapkan Pengontrolan Dan Monitoring Ruang Kelas Dengan Menggunakan

Transkripsi:

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-issn: 2548-964X 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) Labib Imam Hidayat 1, Adhitya Bhawiyuga 2, Reza Andria Siregar 3 Program Studi Teknik Informatika, Email: 1 labib.imam.hidayat15@gmail.com, 2 bhawiyuga@ub.ac.id, 3 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

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2059 1. PENDAHULUAN 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 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 one device one app. Untuk 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 menjadi many device one app. 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 real time adalah websocket. Websocket berbeda 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). 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. 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. DASAR TEORI 2.1 Websocket 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 connection maka websocket dapat membangun satu buah jalur koneksi antara server dan client. Dimana websocket menggunakan metode handshaking untuk membuat sebuah koneksi 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 client. single TCP connection tersebutlah yang mendukung komunikasi bidirectional antara server dan client sampai koneksi tersebut diputus oleh client ataupun server. (Pimentel & Nickerson, 2012). Gambar 1 Perbandingan Life Cycle HTTP dan Websocket [Sumber : Deantama,2016] Fakultas Ilmu Komputer Universitas Brawijaya 2059

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2060 2.2 Javascript Javascript adalah salah satu bahasa pemrograman yang digunakan untuk dunia networking 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. 2.3 Node.js 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 framework bahasa pemrograman yang mengatur 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. Salah satu kelebihan node.js adalah 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 nonbloking maka tidak ada proses yang menjadi deadlock. Maka user dapat dengan mudah mengembangkan sistem dengan skala yang besar didalam node.js.(www.nodejs.org/en/about) 2.4 Socket.io Socket.io adalah salah satu library yang digunakan dalam node.js. Socket.io digunakan untuk membuat sebuah sistem yang bersifat real time. Socket.io menggunakan websocket sebagai mekanisme layer aplikasinya. Gambar 2 Socket.io listen port 3000 (Sumber : npmjs.com/package/socket.io) 2.5 Express.js 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.6 Arduino Nano 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.7 Raspberry PI Gambar 3 Arduino Nano [ Sumber : arduino.cc ] 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

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2061 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 keseluruhan port tersebut mempunyai masingmasing 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 2.9 Sensor DHT11 Sensor DHT 11 adalah sensor suhu dan kelembapan udara yang memiliki pengukuran suhu antara 0-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. PERANCANGAN DAN IMPLEMENTASI 3.1 Perancangan Berikut ini adalah rancangan arsitektur sistem secara umum yang digambarkan dalam diagram. 2.8 Modul NRF24L01 Gambar 4 Raspberry PI 3 [Sumber : raspberrypi.org] 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 channel yang mengatur channel dari gelombang tersebut sebagai pengalamatan. (Chen,2012) Gambar 5 Modul NRF24L01 [statics3.seedstudio.com] Gambar 6 Gambaran Umum Arsitektur Sistem 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 client adalah komponen yang memberikan perintah 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. 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

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2062 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 ke pin led dan membaca pesan, apakah pesan tersebut untuk menyalakan atau mematikan lampu led. Setelah itu, lampu akan dieksekusi sesuai dengan pesan dan mengirimkan pesan kembali kepada server jika lampu LED berhasil dieksekusi Gambar 9 Implementasi Arduino, NRF24L01, lampu LED Pada gambar 9 tersebut Raspberry pi 3 dihubungkan dengan NRF24L01 dengan menggunakan kabel jumper. Sama seperti arduino nano dengan NRF24L01 pin yang digunakan oleh

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2063 NRF24L01adalah GND, VCC, CE, CSN, SCK, MOSI, MISO. berapa banyak request yang terlayani oleh sistem. Pengujian ini mendapatkan hasil pada Gambar 11 berikut ini. 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. 4.1 Pengujian Transmisi Data Pengujian proses transmisi data dilakukan dengan cara menghitung round trip time sistem, round trip time adalah waktu yang diperlukan oleh paket data yang dikirimkan sampai kembali lagi kepada client yang mengirimkan. Untuk pengujian ini diadakan skenario mengirimkan beberapa request. Parameter yang digunakan adalah 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 pengiriman dilakukan 5 kali pengujian 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 Gambar 11 Gambar Grafik Nilai Round trip time Dari Proses Transmisi Data 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 request yang datang secara serentak. Karena request yang datang secara serentak tanpa delay tersebut mempengaruhi grafik jumlah request yang dapat diproses oleh sistem. 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

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2064 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. 4.2 Pengujian Kehandalan Sistem Melayani 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. 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,

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2065 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 dikirim request hanya diproses 13 request. Dari hasil tersebut pengiriman paket dengan variasi delay pengiriman tersebut masih menyebabkan 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 request dari 50 client, 100% request diproses oleh 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. 5. KESIMPULAN Berdasarkan dari keseluruhan bab yang telah dibahas sebelumnya yaitu pendahuluan, tinjauan pustaka, metodologi, perancangan, implementasi, serta pengujian dan analisis dapat disimpulkan bahwa : 1. 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. 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 pipe, dan channel. Bentuk data dirubah terlebih dahulu menjadi sebuah string agar dapat dirubah menjadi sinyal radio oleh tx.buffer NRF24L01. Sedangkan untuk menerima data dari arduino, bridge membuka rx.buffer dan melakukan listen.radio. Jika ada sinyal pengiriman radio terdeksi maka radio akan memasukan data tersebut kedalam rx.buffer dan mengolah pesan tersebut agar siap dikirimkan kepada server. 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. 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 request yang terkirim dan di proses oleh 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. 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 delay. Hasil yang didapatkan pada pengujian ini adalah variasi delay antara 0 sampai 30 ms, nilai rtt dan jumlah request yang terlayani tidak berbeda jauh dengan pengujian pertama.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2066 Tetapi saat variasi delay antara 40 sampai 50 ms, nilai rtt dan request yang terlayani oleh sistem sangatlah berbeda dari variasi 0 sampai 30 ms. Dimana nilai rtt dan jumlah request client yang berhasil dilayani pada variasi delay pengiriman 40 ms sebesar 5.818 ms dan 50 client, dan untuk variasi pengiriman 50 ms sebesar 4.812 dan 50 client. Dari hal ini, dapat disimpulkan bahwa sistem menbutuhkan sekitar 0.04 detik delay untuk memproses request tersebut agar rtt yang didapatkan kecil dan seluruh request dapat 100% diproses oleh sistem. 6. DAFTAR PUSTAKA Candelas, F. et al., 2015. Experiences of Using Arduino for Laboratory Experiments of Automatic Control and Robotics, IFAC: Alicante. Chen, Z. et al., 2012. LED Toning System Based on NRF24L01 Wireless Control. Chinese Control and Decision Conference (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. P, M., Kramer, Z. & & Molnar, S., 1997. Comparison of Web Transfer Protocols. Budapest, High Speed Network Laboratory. P, M. R., Suharsono, A. & Primananda, R., 2016. Sistem Pengamatan Kelembapan Tanah Dengan Sensor dan Mekanisme Publise- Subscribe. Computer Science Minor Thesis, pp. 73-74. Srinivisan, L. S. J. &. K. S., 2013. Analysis of Websocket as the Age Protocol for Remote Robot Tele-operation, 3rd IFAC: Seoul. Yao-Lin, Z., Gao-qiang, Z., Lei, Z. & Jin, X., 2011. Design of Wireless Multi-Point Temperature Transmission System Based in NRF24L01. IEEE, pp. 780-783. Anonim, 2016. Konsep nodejs framework Tersedia di : www.nodejs.org/en/about [Diakses 23 April 2017] Anonim, 2017. Konsep Socket.io Tersedia di : www.npmjs.com/package/socket.io [Diakses 23 April 2017]