## PERANCANGAN DAN IMPLEMENTASI PROTOTYPE KONTROL PERALATAN ELEKTRONIK BERBASIS

## INTERNET OF THINGS MENGGUNAKAN NODEMCU
Fahrul Ilhami 1, Petrus Sokibi 2 , Amroni 3
Sekolah Tinggi Manajemen Informatika dan Komputer  CIC Cirebon Jawa Barat Indonesia Jl.Kesambi 202, Kota Cirebon, Jawa Barat.Tlp : (0231)220250. E-mail : fahrulilhami@gmail.com 1 , petrus.sokibi@cic.ac.id 2 , amroni@cic.ac.id 3

## Abstrak
Era  modern  sekarang  banyak  perkembangan  teknologi  yang  semakin  membantu    memudahkan sistem  kontrol  peralatan  elektronik  rumah  tangga  berbasis Internet  of  Things (IoT)  dibangun  dengan pertimbangan  aspek  kenyamanan  penghuni  rumah. Bagian-bagian  yang  dikontrol  adalah  perangkat elektronik  seperti  lampu,  air,  kipas  dan  perangkat  elektronik  lainnya.  Saat  ini  kontrol  dengan mikrokontroler  masih  dalam  proses  pengembangan,  salah  satu  tujuan  pengembangannya  adalah  untuk meningkatkan  utilitas  serta  penyederhanaan  media  maupun  komponen  elektronik  yang  digunakan  supaya terjangkau  oleh  banyak  kalangan  masyarakat.  Berbagai  penelitian  dilakukan  dengan  secara  yang  di fokuskan pada pengendalian alat elektronik dengan peralatan dan kontrol yang dibuat secara berbeda-beda. Fitur  efektif  yang  dapat  memudahkan  manusia  dalam  kesehariannya.  Ketika  penghuni  rumah  pergi  jauh meninggalkan  rumah  dengan  rentan  waktu  yang  lama,  pengontrolan  peralatan  elektronik  tidak  bisa dilakukan,  terkecuali  dikendalikan  secara  manual.Dengan    tersedianya  fasilitas  internet  dapat mengintegrasikan  sistem  pengontrolan  peralatan  elektronik  secara  IoT  dengan  modul  NodeMCU.  Sistem pengontrolan peralatan elektronik berbasis IoT ini dapat berjalan pada platform android minimal jelly bean dan  pada  windows  minimal  OS  windows  7.  Perangkat  keras  dan  perangkat  lunak  pada  sistem  ini  dapat dijalankan  sesuai  dengan  perancangan  yang  dilakukan  sebelumnya.  Hasil  dari  penelitian  ini  berupa pembuatan prototype penerapan  pengontrolan  peralatan  elektronik  menggunakan  MQTT  Dash  dan webserver IO.adafruit.
Kata kunci:Internet of Things (IoT), mikrokontroler, NodeMCU, relay channel, power supply, Mqtt Dash, web sever, Prototype.

## Abstract
The modern era is now a lot of technological developments that increasingly help facilitate the control system of electronic devices based on the Internet of Things (IoT) was built with consideration of aspects of the comfort of residents of the house. The parts controlled are electronic devices such as lights, water, fans and other electronic devices. At present the control with a microcontroller is still in the process of development, one of the goals of its development is to improve the utility and simplification of the media and electronic components used so that it is affordable by many people. Various studies have been carried out  with  a  focus  on  controlling  electronic  devices  with  equipment  and  controls  that  are made  differently. Effective  features  that  can  facilitate  humans  in  their  daily  lives.  When  the  occupants  of  the  house  go  far away from the house with a long time vulnerable, controlling electronic equipment can not be done, unless manually  controlled.  With  the  availability  of  internet  facilities  can  integrate  the  electronic  equipment control  system  IoT  with  the  NodeMCU  module.  This  IoT-based  electronic  equipment  control  system  can run on a minimum jelly bean android platform and on a minimum Windows OS windows 7. Hardware and software on this system can be run in accordance with the design done previously. The results of this study are in the form of making prototypes of the application of electronic equipment control using MQTT Dash and IO.adafruit web server.
Keywords: Internet of Things (IoT), microcontrollers, NodeMCU, relay channel, power supply, Mqtt Dash, web sever, Prototype.

## 1. PENDAHULUAN
Perkembangan  teknologi  saat  ini  sudah  berkembang  pesat  dan  kemampuan  teknologi  telah menjawab berbagai tantangan manusia untuk saling berinteraksi secara real time dimana batas antar jarak, waktu  dan  ruang bukanlah  penghalang  bagi  keinginan  manusia  untuk  saling  berkomunikasi.  Era  digital telah  merambah  ke  segala  bidang,  sehingga  hampir  tidak  ada  celah  dalam  kehidupan  manusia  yang  tidak berhubungan  dengan  teknologi  digital.  Pada  dasarnya  sebuah  teknologi  sangatlah  berguna  untuk  segala aktifitas  yang  akan  dikerjakan  bahkan  sekarang  dikembangkan  untuk  mempermudah  manusia  untuk mengontrol  sesuatu.  Salah  satu  contohnya  adalah  untuk  mengontrol  sebuah  peralatan  elektronik  yang  ada dirumah.
Rumah pintar atau smart home merupakan bagian dari inovasi Internet of Things (IoT), dimana semua  benda  atau  perabotan  sehari-hari  yang  akrab  dengan  kehidupan  masyarakat  dipintarkan  karena integrasi  teknologi  dalam  bentuk  chip  yang  serba  bisa. Smart  home hadir  untuk  memudahkan  para penghuni rumah dalam mengatur segala hal yang berhubungan dengan kenyamanan diri sebagai penghuni rumah,  mulai  dari  soal  keamanan  hingga  soal  mengakses  perabotan  yang  dibuat  lebih  interaktif  dan  bisa dikontrol  melalui  satu  alat. Smart  Home erat  kaitannya dengan  kecerdasan  buatan  yang  digunakan  untuk meningkatkan  faktor  kenyamanan  keamanan  dan  penghematan  energi  dalam  suatu  rumah.  Berbagai peralatan  digunakan  manusia  dalam  kehidupan  sehari-hari  untuk  berbagai  keperluan,  seperti  penerangan, peralatan dapur, hingga sistem keamanan yang serba otomatis.
Meskipun demikian, terdapat beberapa masalah yang timbul akibat penggunaan peralatan listrik tersebut,  salah  satunya  yaitu  adalah  pemborosan  listrik  ketika  seseorang  lupa  mematikan  peralatan  listrik ketika  meninggalkan  rumah,  yang  berdampak  pada  pemborosan  energi  listrik  dan  membengkaknya  biaya listrik  yang  harus  dikeluarkan.  Selain  itu  kelalaian  dalam  mengontrol  peralatan  listrik  yang  ada  dapat berakibat pada terjadinya bencana seperti  kebakaran  karena lupa  mematikan peralatan elektronik sebelum meninggalkan rumah.
Untuk mengatasi permasalahan tersebut, perlu diciptakan suatu sistem yang dapat memudahkan pengguna  dalam  mengontrol  perangkat  elektronikBerdasarkan  permasalahan  yang  timbul  dalam pengontrolan  peralatan elektronik  secara  manual,  maka  penulis  tertarik  dengan  mengangkat  judul “ Perancangan  dan  Implementasi  PrototypeKontrol  Peralatan  Elektronik  Berbasis  Internet  Of Things MenggunakanNodemcu ”.

## 1.1. Identifikasi Masalah
Identifikasi masalah dari penelitian ini adalah :
1. Bagaimana membuat pengontrolan peralatan elektronik melalui penerapan teknologi Internet of Things?
2. Bagaimana penerapan Internet of Things untuk mengontrol peralatan elektronik yang ada dirumah?
3. Bagaimana membuat  sistem pengontrol alat elektronik rumah yang dapat dikontrol dari jarak jauh dengan web server io.Adafruit?
4. Bagaimana membuat  sistem pengontrol alat elektronik rumah yang dapat dikontrol dari jarak jauh dengan android?
5. Bagaimana pengaplikasian modul NodeMCU sebagai perangkat utama dalam penerapan Internet of Things?

## 1.2. Batasan masalah
Batasan masalah dari penelitian ini adalah :
1. Mikrokontroler yang digunakan adalah jenis NodeMCU untuk kontrol peralatan elektronik.
2. Bahasa pemrograman mikrokontroler NodeMCU menggunakan bahasa C.
3. Informasi pengontrolan perangkat elektronik dengan menggunakan webserver Adafruit dan android berupa status on/off terhadap peralatan elektronik.
4. Peralatan elektronik yang akan diuji coba yaitu lampu, kipas dan dvd.

## 1.3. Tujuan
Tujuan dari penelitian ini adalah :
1. Dapat mengimplementasikan konsep pengontrolan alat-alat elektronik secara Internet of Things (IoT) dengan NodeMCU.
2. Merancang dan membuat prototype sistem kontrol peralatan listrik secara jarak jauh dengan menggunakan mikrokontroler NodeMCU dengan kontrol web server io.adfruit dan aplikasi android MQTT Dash.
3. Dapat mempermudah pengguna dalam mengendalikan peralatan elektronik dimanapun dan kapanpun melalui internet dengan web server dan android.

## 2. STUDI LITERATUR

## 2.1 Prototype
Suatu  prototype  adalah  bentuk  dasar  atau  model  awal  dari  suatu  sistem  atau  bagian  dari  suatu sistem.Setelah  dioperasikan,  prototype  ditingkatkan  terus  sesuai  dengan  kebutuhan  pemakai  sistem  yang juga meningkat. (HM Jogiyanto, 2003).
Menurut Jogiyanto prototyping adalah proses pengembangan suatu prototype secara cepat untuk digunakan  terlebih  dahulu  dan  ditingkatkan  terus  menerus  sampai  didapatkan  sistem  yang  utuh.  Proses membangun sistem ini yaitu dengan membuat prototype atau model awal, mencobanya, meningkatkannya dan mencobanya lagi dan meningkatkannya dan seterusnya sampai didapatkan sistem yang lengkap disebut dengan proses iteratif (iterative process) dari pengembangan sistem.
Tahapan-tahapan  yang  dilakukan  didalam  pengembangan  sistem  menggunakan  metode prototype adalah sebagai berikut ini.
1. Identifikasi kebutuhan pemakai yang paling mendasar.
Pembuat sistem dapat mewancarai pemakai sistem tentang kebutuhan pemakai sistem yang paling  minimal  terlebih  dahulu.  Proses  ini  sama  dengan  proses  analisis  di  pengembangan  sistem SDLC.
2. Membangun prototype
Prototype dibangun  oleh  pembuat  sistem  dengan  cepat.Hal  ini  dimungkinkan  karena pembuat  sistem  hanya  membangun  bagian  yang  paling  mendasar  dulu  dari  keseluruhan  sistem yang  paling  dibutuhkan  terlebih  dahulu  oleh  pemakai  sistem.  Hal  lainnya  yang  memungkinkan pembuat sistem  membangun prototype dengan cepat adalah dengan  menggunakan alat-alat bantu generasi terbaru seperti misalnya DBMS dan CASE.
3. Menggunakan prototype
Pemakai  sistem  dianjurkan  untuk  menggunakan prototype sehingga  dapat  menilai kekurangan-kekurangan  dari prototype sehingga  dapat  memberikan  masukan-masukan  kepada pembuat sistem.
4. Merevisi dan meningkatkan prototype Pembuat  sistem  memperbaiki prototype berdasarkan  keinginan  dari  pemakai  sistem  atau berdasarkan  pengalamannya  untuk  membuat  sistem  sejenis  yang  baik.  Jika prototype belum lengkap, maka proses iterasi diulangi lagi mulai dari nomor 3.
5. Jika prototype lengkap menjadi sistem yang dikehendaki, proses iterasi dihentikan.
Kelima  tahapan  didalam  mengembangkan  sistem  dengan  metode prototyping dapat  dilihat  pada gambar berikut ini.
Perancangan Dan Implementasi Prototype Kontrol Peralatan Elektronik Berbasis Internet Of Things MenggunakanNodemcu-( Kusnadi, Petrus Sokibi, Fahrul Ilhami )
Identifikasi kebutuhan pemakai yang paling mendasar Membangun prototype awal Menggunakan prototype Prototype lengkap ? Meningkatkan prototype Prototype selesai Ya Tidak

## Gambar 1.Arduino Mainboard Berbasis Atmega328 dengan Boot-loader

## 2.2. Internet Of Things (IoT)
Internet  of  things (IoT)  adalah  sebuah  konsep  dimana  perangkat  perangkat  elektronik  nantinya akan  memiliki  kemampuan  untuk  saling  berkomunikasi  dengan  sendirinya,  saling  menerima  dan mengirimkan  data  melalui  koneksi  jaringan.  Penerapan  IoT  menjadikan  aktivitas  dalam  berbagai  bidang dapat  saling  terhubung  melalui Internet,  serta  menjadi  lebih  mudah  dan  efisien  (Iman  Hedi  Santoso, 2016).Istilah  IoT  pertama  kali  diusulkan  oleh  Kevin  Ashton  dalam  presentasinya  di  Procter  &  Gambler pada  tahun  1999.  Pada  presentasinya,  Ashton  memperkirakan  potensi  IoT  dengan  pernyataan  sebagai berikut: “ Internet of Things mempunyai potensi untuk mengubah dunia, sebagaimana yang telah dilakukan oleh Internet . Bahkan mungkin potensinya lebih besar”.
IoT kedepannya  dapat  digunakan  untuk  menghubungkan  entitas  fisik  dan  digital, IoT telah menarik perhatian dunia akademis dan industri, hal ini disebabkan oleh konsep yang ditawarkan oleh IoT untuk  menghubungkan  seluruh  benda-benda  (things)  disekitar  kita,  baik  menggunakan  kabel  maupun nirkabel ke jaringan Internet dan benda-benda tersebut dapat saling berkomunikasi dengan campur tangan manusia  yang  minimum.  Tujuan  dari  IoT  adalah  untuk  menciptakan  sebuah  dunia,  dimana  benda-benda dapat lebih melayani dan mengerti, kebutuhan manusia, tanpa perlu ada perintah langsung.

## 2.3. NodeMCU ESP8266 Versi 3
NodeMCU merupakan sebuah Open source platform (fondasi program) IoT dan pengembangan kit (alat) yang menggunakan bahasa pemrograman Lua. NodeMCU berfungsi untuk membantu para makers dalam  membuat  prototype  produk  IoT  dengan  menggunakan  sketch  pada  arduino  IDE.  NodeMCU dikembangkan  berdasarkan  pada  modul  ESP8266  yang  mengintegrasikan  GPIO,  PWM,  IIC,  Wire,  dan ADC dalam satu board. Keunikan board ini dilengkapi fitur Wi-Fi dan firmware yang bersifat Open source .  Open  source  hardware  artinya  skema  dan  desain  perangkat  kerasnya  dapat  disebarluaskan  secara  bebas tanpa  adanya  batasan  guna  keperluan  didesain  ulang  dan  dikembangkan lebih  lanjut  atau diduplikasi(Fayakun Muchlis, Moh. Toifur,2017).
NodeMCU  merupakan  firmware  berbasis  pemrograman  LUA  untuk  ESP8266  Wi-Fi  SOC. Model pemrograman pada NodeMCU mirip dengan Node.js namun di LUA.Pada pemrograman LUA juga terdapat  parameter  untuk  fungsi  callback.Ini  seperti  asynchronous  dan event-driven  (Charoenporn, 2016).ESP8266  merupakan  modul  Wi-Fi  yang  berfungsi  sebagai  perangkat  tambahan  mikrokontroler seperti Arduino agar dapat terhubung langsung dengan Wi-Fi dan membuat koneksi TCP/IP.
ESP8266 merupakan mikrokontroler yang mempunyai fasilitas koneksi Wi-Fi, modul ESP8266 ini  mempunyai prosessor dan  memory,  yang dapat diintegrasikan dengan  sensor dan aktuator  melalui pin
GPIO.  Modul  ini  mempunyai  fitur  seperti  mendukung  standar  IEEE  802.11  b/g/n,  bisa  digunakan  untuk Wi-Fi  direct  (P2P), AccesPoint  soft-AP,  mempunyai  RAM  81  Mb  dan  Flash  memory  1Mb,  kecepatan hingga 160 MHz, serta daya keluaran sebesar 19.5 dBm.Modul ini membutuhkan daya sekitar 3.3v dengan memiliki  tiga  mode Wi-Fi yaitu Station, AccessPoint dan Both (Keduanya). Firmwaredefault yang digunakan  oleh  perangkat  ini  menggunakan ATCommand,  selain  itu  ada  beberapa FirmwareSDK yang digunakan oleh perangkat ini berbasis opensource yang diantaranya adalah sebagai berikut:
1. NodeMCU dengan menggunakan basicprogrammingLUA
2. MicroPython dengan menggunakan basicprogramming python
3. AT Command dengan menggunakan perintah-perintah AT command
Untuk  pemrogramannya  sendiri  kita  bisa  menggunakan ESPlorer untuk Firmware berbasis NodeMCU  dan  menggunakan putty sebagai  terminal  control  untuk  AT Command.  Adapun  tampilan  dari mikrokontrolerNodeMCU dapat dilihat pada gambar.

## Gambar 2.Mikrokontroler NodeMCU Versi 3

## 2.4. Arduino IDE
Mengenai arduino yang telah diluncurkan dalam situs arduino, yang sampai saat posting ini telah memiliki  versi  1.0.1.  Arduino  sebenarnya  adalah  perangkat  lunak  IDE  (Integrated  Development Environment  ).  Sebuah  perangkat  lunak  yang  memudahkan  kita  mengembangkan  aplikasi  mikrokontroler mulai  dari  menuliskan  source  program,  kompilasi,  upload  hasil  kompilasi,  dan  uji  coba  secara  terminal serial. Namun sampai saat ini arduino belum mampu men-debug secara simulasi maupun secara perangkat keras,  kita  tunggu  selanjutnya.Arduino  ini  bisa  dijalankan  di  komputer  dengan  berbagai  macam  platform karena  didukung  atau  berbasis  Java.Source  program  yang  kita  buat  untuk  aplikasi  mikrokontroler  adalah bahasa  C/C++  dan  dapat  digabungkan  dengan  assembly.Penyusun  menggunakan  arduino  berbasis mikrokontroler NodeMCU dilingkungan jenis ESP8266.

## 2.5. Arduino IDE
Mengenai arduino yang telah diluncurkan dalam situs arduino, yang sampai saat posting ini telah memiliki  versi  1.0.1.  Arduino  sebenarnya  adalah  perangkat  lunak  IDE  (Integrated  Development Environment  ).  Sebuah  perangkat  lunak  yang  memudahkan  kita  mengembangkan  aplikasi  mikrokontroler mulai  dari  menuliskan  source  program,  kompilasi,  upload  hasil  kompilasi,  dan  uji  coba  secara  terminal serial. Namun sampai saat ini arduino belum mampu men-debug secara simulasi maupun secara perangkat keras,  kita  tunggu  selanjutnya.Arduino  ini  bisa  dijalankan  di  komputer  dengan  berbagai  macam  platform karena  didukung  atau  berbasis  Java.Source  program  yang  kita  buat  untuk  aplikasi  mikrokontroler  adalah bahasa  C/C++  dan dapat  digabungkan  dengan  assembly.Penyusun  menggunakan  arduino  berbasis mikrokontroler NodeMCU dilingkungan jenis ESP8266.

## 2.6. MQTT Dash
Mqtt  Dash  adalah  Aplikasi  dengan  sistem  operasi open  source pada platformiOS  dan  Android untuk  mengontrol  beberapa  mikrokontroler  NodeMCU, Arduino,  Raspberry  Pi  dan  sejenisnya  melalui Internet. Ini  adalah  dashboard  digital  dimana  dapat  membangun  antar  muka  grafis  untuk  proyek  hanya dengan  membuat switch/button yang  akan  dihubungkan  dengan dashboard ioAdafruit.  Mqtt  Dash ini mendukung perangkat keras pilihan. Apakah NodeMCU atau Arduino terhubung ke Internet melalui Wi-Fi, Ethernet, Mqtt Dash akan membuat useronline dan siap untuk Internet Of Your Things.
Gambar 4.Logo MQTT Dash

## 3. ANALISA DAN PERANCANGAN

## 3.1. Analisa Sistem
Analisa  sistem  merupakan  tahap  mengidentifikasi  kebutuhan  apa  yang  harus  dipenuhi  dalam pembuatan kontrol  peralatan  elektronik  berbasis  IoT.  Adapun  dalam  pembuatan  laporan  ini  penulis membagi analisa sistem ke dalam beberapa tahapan yaitu :
1. Analisa Masalah
2. Analisa Kebutuhan Perangkat Keras
3. Analisa Kebutuhan Perangkat Lunak

## 3.1.1. Analisa Masalah
Permasalahan  utama  yaitu  kontrol  peralatan  elektronik yang  dilakukan  masih  harus manual dengan menekan saklar atau steker lampu. Penelitian ini menganalisa unjuk kerja sistem Aplikasi sederhana web server menggunakan protokol MQTT untuk smart home. Perangkat keras (Hardware) yang digunakan dalam  penelitian  ini  yaitu modul  ESP8266,  modul  ESP8266  merupakan  pengendali  utama  pada  sistem smart home, Modul ini berfungsi sebagai webserver, pengendali relay dan client.

## 3.1.2. Analisa Kebutuhan Perangkat Keras
Dibawah  ini  merupakan  tabel  analisa  spesifikasi  perangkat  keras  dari  setiap  komponen pengontrolan  peralatan  elektronik  yang  dibutuhkan. Adapun  spesifikasi  kebutuhan  perangkat  lunak  yang dibutuhkan dalam pembuatan prototype dan penggunaannya dapat dilihat pada tabel.
Tabel 1. Analisa Kebutuhan Perangkat Keras No. Nama Perangkat Keras Spesifikasi Perangkat Keras 1. NodeMCU Versi 3 a. ESP8266 b. Besar RAM 96Kb, instruction RAM 64Kb c. Tegangan input 3.3V d. Jaringan wifi pada IEEE 802.11 b/g/n e. 10-bit Adc f. Frekuensi 2.4 GHz-22.5 GHz 2. Relay Modul Channel
a. Input relay 5v DC
b. Maksimum load 250VAC/10A 30VDC/10A
c. Memiliki LED Indikator
d. Output keluaran 4 channel maksimal 10A e. Output memiliki 3 pin terminal block
JURNAL DIGIT ISSN 2088-589X

## 2.6. MQTT Dash
Mqtt  Dash  adalah  Aplikasi  dengan  sistem  operasi open  source pada platformiOS  dan  Android untuk  mengontrol  beberapa  mikrokontroler  NodeMCU, Arduino,  Raspberry  Pi  dan  sejenisnya  melalui Internet. Ini  adalah  dashboard  digital  dimana  dapat  membangun  antar  muka  grafis  untuk  proyek  hanya dengan  membuat switch/button yang  akan  dihubungkan  dengan dashboard ioAdafruit.  Mqtt  Dash ini mendukung perangkat keras pilihan. Apakah NodeMCU atau Arduino terhubung ke Internet melalui Wi-Fi, Ethernet, Mqtt Dash akan membuat useronline dan siap untuk Internet Of Your Things.
Gambar 4.Logo MQTT Dash

## 3. ANALISA DAN PERANCANGAN

## 3.1. Analisa Sistem
Analisa  sistem  merupakan  tahap  mengidentifikasi  kebutuhan  apa  yang  harus  dipenuhi  dalam pembuatan kontrol  peralatan  elektronik  berbasis  IoT.  Adapun  dalam  pembuatan  laporan  ini  penulis membagi analisa sistem ke dalam beberapa tahapan yaitu :
1. Analisa Masalah
2. Analisa Kebutuhan Perangkat Keras
3. Analisa Kebutuhan Perangkat Lunak

## 3.1.1. Analisa Masalah
Permasalahan  utama  yaitu  kontrol  peralatan  elektronik yang  dilakukan  masih  harus manual dengan menekan saklar atau steker lampu. Penelitian ini menganalisa unjuk kerja sistem Aplikasi sederhana web server menggunakan protokol MQTT untuk smart home. Perangkat keras (Hardware) yang digunakan dalam  penelitian  ini  yaitu modul  ESP8266,  modul  ESP8266  merupakan  pengendali  utama  pada  sistem smart home, Modul ini berfungsi sebagai webserver, pengendali relay dan client.

## 3.1.2. Analisa Kebutuhan Perangkat Keras
Dibawah  ini  merupakan  tabel  analisa  spesifikasi  perangkat  keras  dari  setiap  komponen pengontrolan  peralatan  elektronik  yang  dibutuhkan. Adapun  spesifikasi  kebutuhan  perangkat  lunak  yang dibutuhkan dalam pembuatan prototype dan penggunaannya dapat dilihat pada tabel.
Tabel 1. Analisa Kebutuhan Perangkat Keras No. Nama Perangkat Keras Spesifikasi Perangkat Keras 1. NodeMCU Versi 3 a. ESP8266 b. Besar RAM 96Kb, instruction RAM 64Kb c. Tegangan input 3.3V d. Jaringan wifi pada IEEE 802.11 b/g/n e. 10-bit Adc f. Frekuensi 2.4 GHz-22.5 GHz 2. Relay Modul Channel a. Input relay 5v DC
b. Maksimum load 250VAC/10A 30VDC/10A
c. Memiliki LED Indikator
d. Output keluaran 4 channel maksimal 10A e. Output memiliki 3 pin terminal block
JURNAL DIGIT ISSN 2088-589X

## 2.6. MQTT Dash
Mqtt  Dash  adalah  Aplikasi  dengan  sistem  operasi open  source pada platformiOS  dan  Android untuk  mengontrol  beberapa  mikrokontroler  NodeMCU, Arduino,  Raspberry  Pi  dan  sejenisnya  melalui Internet. Ini  adalah  dashboard  digital  dimana  dapat  membangun  antar  muka  grafis  untuk  proyek  hanya dengan  membuat switch/button yang  akan  dihubungkan  dengan dashboard ioAdafruit.  Mqtt  Dash ini mendukung perangkat keras pilihan. Apakah NodeMCU atau Arduino terhubung ke Internet melalui Wi-Fi, Ethernet, Mqtt Dash akan membuat useronline dan siap untuk Internet Of Your Things.
Gambar 4.Logo MQTT Dash

## 3. ANALISA DAN PERANCANGAN

## 3.1. Analisa Sistem
Analisa  sistem  merupakan  tahap  mengidentifikasi  kebutuhan  apa  yang  harus  dipenuhi  dalam pembuatan kontrol  peralatan  elektronik  berbasis  IoT.  Adapun  dalam  pembuatan  laporan  ini  penulis membagi analisa sistem ke dalam beberapa tahapan yaitu :
1. Analisa Masalah
2. Analisa Kebutuhan Perangkat Keras
3. Analisa Kebutuhan Perangkat Lunak

## 3.1.1. Analisa Masalah
Permasalahan  utama  yaitu  kontrol  peralatan  elektronik yang  dilakukan  masih  harus manual dengan menekan saklar atau steker lampu. Penelitian ini menganalisa unjuk kerja sistem Aplikasi sederhana web server menggunakan protokol MQTT untuk smart home. Perangkat keras (Hardware) yang digunakan dalam  penelitian  ini  yaitu modul  ESP8266,  modul  ESP8266  merupakan  pengendali  utama  pada  sistem smart home, Modul ini berfungsi sebagai webserver, pengendali relay dan client.

## 3.1.2. Analisa Kebutuhan Perangkat Keras
Dibawah  ini  merupakan  tabel  analisa  spesifikasi  perangkat  keras  dari  setiap  komponen pengontrolan  peralatan  elektronik  yang  dibutuhkan. Adapun  spesifikasi  kebutuhan  perangkat  lunak  yang dibutuhkan dalam pembuatan prototype dan penggunaannya dapat dilihat pada tabel.
Tabel 1. Analisa Kebutuhan Perangkat Keras No. Nama Perangkat Keras Spesifikasi Perangkat Keras 1. NodeMCU Versi 3 a. ESP8266 b. Besar RAM 96Kb, instruction RAM 64Kb c. Tegangan input 3.3V d. Jaringan wifi pada IEEE 802.11 b/g/n e. 10-bit Adc f. Frekuensi 2.4 GHz-22.5 GHz 2. Relay Modul Channel a. Input relay 5v DC
b. Maksimum load 250VAC/10A 30VDC/10A
c. Memiliki LED Indikator d. Output keluaran 4 channel maksimal 10A e. Output memiliki 3 pin terminal block

## 3.1.3. Analisa Kebutuhan Perangkat Lunak
Tabel 2. Analisa Kebutuhan Perangkat Keras No. Jenis Perangkat Lunak Deskripsi Perangkat Lunak 1. Sitem Operasi Komputer Microsoft Windows 8.1 64 bit 2. Sistem Operasi Smartphone Android Versi 7.0 (Nougat) 3. Aplikasi Editor a. Arduino IDE b. Fritzing c. MQTT Dash

## System MinimumRequirements
Perangkat Lunak Deskripsi Perangkat Lunak Sistem Operasi Komputer Microsoft Windows 7 32Bit Sistem Operasi Smartphone Android Versi 4.4 (Jelly bean)

## 3.2. Perancangan Sistem Pengontrolan Peralatan Elektronik
3.2.1. Diagram Blok Cara Kerja Sistem

## 3.2.2. Perancangan Skematik Hardware
Dalam pembuatan bentuk rangkaian sistem pengontrolan peralatan elektronik berbasis IoT setiap komponen  memerlukan software fritzing.Software fritzing  berfungsi  untuk  merancang hardware yang dibutuhkan yang sudah tersedia dengan library parts nya masing-masing.

## 3.2.3. Interkoneksi Perangkat Keras

## Gambar 6.Interkoneksi Perangkat Keras
Adapun skematik dari interkoneksi perangkat keras pengontrol peralatan elektronik berbasis IoT dapat dilihat pada gambar dibawah ini.

## INPUT
Dashboard Web Server Dashboard Android 1 PROSES 2 NodeMCU V3 OUTPUT Relay 3 Lampu Kipas dan dvd
Gambar 5.Diagram Blok Cara Kerja Sistem
Gambar 7.Skematik perangkat keras pada sistem
3.3. Perancangan Sistem
3.3.1. Diagram Blok Sistem Kontrol Peralatan Elektronik
Internet Web USER NodeMCU V3 Relay 5V 4 Channel 1 2 3 4
Gambar 8.Diagram Blok Sistem Kontrol Peralatan Elektronik

## 3.3.2. Flowchart Cara Kerja Sistem
Berdasarkan  dari  perancangan  sistem  kontrol  peralatan  elektronik  berbasis  IoT  di  atas,  maka dibuatlah  rancangan  sistem.  Dalam  merancang  suatu  sistem  penulis  terlebih  dahulu  membuat  flowchart sebagai panduan untuk membuat sistem.

## 3.3.3. Flowchart Sistem yang Sedang Berjalan
Untuk  menganalisa  sistem  dalam  kontrol  peralatan  elektronik  yang  sedang  berjalan  berikut  ini flowchart prosedur yang berjalan pada saat ini :
Gambar 9.Flowchart Sistem yang Berjalan ST ART MENEKAN SAKLAR LAMPU END LAMPU HIDUP/MATI

## 3.3.4. Flowchart Sistem Konfigurasi pada Layanan

## 1.Menggunakan Web Server IoAdfruit.com
Gambar 10.Flowchart Sistem konfigurasi dengan IOadafruit

## 2. Menggunakan Aplikasi Android MQTT Dash
Tampil Halaman U tama Mulai A dd data username dan address Cek  Koneks i? Tampil Halaman D ashboard Berhasil G agal Pilih  Tom bol K endali Y a Selesai Mengirim  data ke io.adafruit io.adfruit mengubah  data MQT T D ash mengubah data Status  tom bol MQ TT D ash O N/O FF Lampu dan  Kipas menyala / mati Tidak Pilih  relay  channel
Gambar 11.Flowchart Sistem konfigurasi dengan Aplikasi MQTT Dash

## 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

## 4.1. Implementasi
Setelah  dibuatnya  analisa  dan  perancangan  sistem  pada  pembahasan  sebelumnya,  pada pembahasan  kali  ini  penulis  melakukan  tahap  implementasi  meliputi  persiapan  perangkat  NodeMCU beserta  modul – modul  lainnya, langkah  instalasi  arduino  ide,  instalasi  ESP8266  pada  arduino  ide, menambahkan library pada arduino ide, membuat pengontrolan web adafruit dan mqqt dash pada android , dan penulisan kode program serta mengujinya dengan whitebox testing.

## 4.2. Pengujian Alat
Sebelumnya  tahap  persiapan  perangkat  sampai  implementasi  pada  perangkat  lunak  sudah digunakan.Selanjutnya,  perangkat  yang  sudah  dibangun  harus  masuk  ke  pungujian  alat  apakah  alat  atau sistem  berjalan  sesuai  dengan  perancangan  atau  tidak.  Dalam  implementasi ini  penulis  melakukan pengujian sebagai berikut:
Tampil Halaman Login Mulai Input username dan password Cek Login? Tampil Halaman Utama Berhasil Gagal Pilih Halaman Kendali Pilih Logout Tidak Ya Tidak Selesai Ya Mengirim data ke io.adafruit io.adfruit mengubah data Menam pilkan Status ON/OFF Lampu, Kipas, dan dvd menyala / mati Pilih relay channel

## 4.2.1. Pengujian Modul Relay Channel
Relay  channel  merupakan  komponen  listrik  yang  bekerja  berdasarkan  prinsip  induksi  medan elektromagnetis. Jika sebuah penghantar dialiri oleh arus listrik, maka di sekitar penghantar  tersebut timbul medan magnet. Medan magnet yang dihasilkan oleh arus listrik tersebut selanjutnya diinduksikan ke logam ferromagnetis. Dengan kata lain jika aliran lsitrik berada pada kondisi Normally Close kontak yang secara default  terhubung  dengan  kontak  sumber  (kontak  inti,  C)  ketika  posisi  OFF.  Namun  ketika  pada  kondisi NO  Contact,  NO  singkatan  dari  Normally  Open.  Kontak  yang  akan  terhubung  dengan  kontak  sumber (kontak inti, C) ketika posisi ON.

## 4.2.2. Pengujian Sistem dengan Web Server IoAdafruit dan MQTT Dash

## Gambar 12.Pengujian Sistem dengan Web server adafruit
Sedangkan pengujian sistem dengan menggunakan aplikasi Mqtt dash dapat dilihat pada gambar dibawah ini:

## Gambar 13.Pengujian Sistem dengan MQTT Dash
Pada  pengujian  sistem  dengan web server adafruit  dan  mqtt  dash  semua button dapat  berjalan dengan  perintah  yang  semestinya  dilakukan  dari input tiap  perangkat  yang output-nya  pada  perangkat elektronik.
Tabel 3.Pengujian setiap fungsi button peralatan elektronik Relay 1 Relay 2 Relay 3 Relay 4 Status Relay ON - - - Menyala - ON - - Menyala - - ON ON Menyala - - - - Menyala OFF - - - Mati - OFF - - Mati - - OFF - Mati - - - OFF Mati
4.2.3. Desain Rancangan
Gambar 14. Inisialisasi Desain rancangan
4.2.4. Pengujian White Box Sistem
1. Flow Graph
Perhitungan White box :
1. Region = 0
2. Cyclomatic Complexity :
a. V (G) = Edge ( jumlah busur ) – Node ( Jumlah simpul ) + 2
V (G) = 20 - 22 + 2 V (G) = 0 b. V (G) = Predicate Node + 1 V (G) = 4 + 1 V (G) = 5
3. Independen Path = 3
Path 1 : 1-2-3-4-5-6-8-9-10-12-13-14-16-17-18-20 Path 2 : 1-2-3-4-5-6-7-8-9-11-12-13-15-16-17-19-20 Path 3 : 1-2-3-4-5-6-7
4. Graph Matriks Program
1 2 3 10 4 5 6 8 11 9 7 13 12 14 15 16 17 18 19 20
JURNAL DIGIT Vol. 9, No.2Nov 2019, pp.143~155 ISSN : 2088-589X
4.2.3. Desain Rancangan
Gambar 14. Inisialisasi Desain rancangan
4.2.4. Pengujian White Box Sistem
1. Flow Graph
Perhitungan White box :
1. Region = 0
2. Cyclomatic Complexity :
a. V (G) = Edge ( jumlah busur ) – Node ( Jumlah simpul ) + 2 V (G) = 20 - 22 + 2 V (G) = 0 b. V (G) = Predicate Node + 1
V (G) = 4 + 1
V (G) = 5
3. Independen Path = 3
Path 1 : 1-2-3-4-5-6-8-9-10-12-13-14-16-17-18-20 Path 2 : 1-2-3-4-5-6-7-8-9-11-12-13-15-16-17-19-20 Path 3 : 1-2-3-4-5-6-7
4. Graph Matriks Program
1 2 3 10 4 5 6 8 11 9 7 13 12 14 15 16 17 18 19 20
JURNAL DIGIT Vol. 9, No.2Nov 2019, pp.143~155 ISSN : 2088-589X
4.2.3. Desain Rancangan
Gambar 14. Inisialisasi Desain rancangan
4.2.4. Pengujian White Box Sistem
1. Flow Graph
Perhitungan White box :
1. Region = 0
2. Cyclomatic Complexity :
a. V (G) = Edge ( jumlah busur ) – Node ( Jumlah simpul ) + 2 V (G) = 20 - 22 + 2 V (G) = 0 b. V (G) = Predicate Node + 1
V (G) = 4 + 1
V (G) = 5
3. Independen Path = 3
Path 1 : 1-2-3-4-5-6-8-9-10-12-13-14-16-17-18-20 Path 2 : 1-2-3-4-5-6-7-8-9-11-12-13-15-16-17-19-20 Path 3 : 1-2-3-4-5-6-7
4. Graph Matriks Program
Berikut ini adalah tabel Graph Matriks pada semua program dalam sistem :
Tabel 4.Graph Matriks pada program
Perhitungan Nilai Cyclomatic Complexity = Nilai Graph Matriks + 1 = 1 + 1 = 2

## 5. KESIMPULAN DAN SARAN

## 5.1. Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan pengontrolan peralatan elektronik ini adalah :
1. Pembuatan  sistem  ini  berhasil  seperti  tujuan  awal  penggunaan  yaitu  Sistem  pengontrolan  peralatan elektronik ini menggunakan 2 kendali dalam pengontrolannya. Pengontrolan dapat dilakukan dengan baik melalui web server dan smartphone.
2. Pembuatan  prototype  peralatan  elektronik  akan  menjalankan  fungsinya  saling  terhubung  dengan internet  dan  dapat  diakses  dimanapun  untuk  pengontrolan  peralatan  elektronik  tanpa  batasan  jarak dengan kendali web server dan smartphone.
3. Perancangan sistem dibuat menggunakan mikrokontroler NodeMCU sebagai komponen utama dalam model  perancangan  perangkat  yang  digunakan  yaitu  dengan  penggunaan  Modul  Relay  channel sebagai pengganti saklar manual.
4. Pengontrolan  peralatan  elektronik  dapat  dioperasikan  melalui  aplikasi  Mqtt  Dash  pada  smartphone Android yang sudah disambungkan dengan web server Ioadafruit dengan Modul NodeMCU.

## 5.2. Saran
Adapun saran-saran yang penulis berikan Untuk itulah penulis memberikan beberapa saran dan masukkan agar kedepannya alat ini bisa lebih baik lagi pada implementasinya, diantaranya:
1. Pengendalian sistem pengontrolan peralatan elektronik masih dilakukan secara manual dan belum tersedia pengendalian real time clock dengan modul RTC.
2. Peneltian sebaiknya dilakukan pengembangan pengontrolan peralatan elektronik masih menggunakan aplikasi smartphone yang dibuat sendiri.
3. Penggunaan modul lain dalam penerapan pengontrolan peralatan elektronik seperti sensor suara untuk menyalakan peralatan elektronik dengan suara.
4. Penggunaan modul lain dalam penerapan pengontrolan peralatan elektronik seperti sensor suara untuk menyalakan peralatan elektronik dengan suara.

## REFERENSI
[1]  Abdul  Kadir.  2012.  Panduan  Praktis  Mempelajari  Aplikasi  Mikrokontroler  dan  Pemrogramannya Menggunakan Arduino. Yogyakarta: Andi.
[2] Arif, dkk. 2016. SENTIKA 2016. Di ambil dari:
https://fti.uajy.ac.id/sentika/publikasi/makalah/2016/56.pdf.
[3] Andri, dkk. 2018. Implementasi  Autentikasi JSON Web Token (JWT) Sebagai Mekanisme Autentikasi Protokol MQTT Pada Perangkat NodeMCU, Malang.
[4] Ardiansyah,  2016.  Sistem  monitoring  air  layak  konsumsi  berbasis  arduino,Fakultas  sains  dan universitas islam negeri alauddin makassar.
[5] Feriz  Pradibya  Uditama,  Rakhmadhany  Primananda,  Mahendra  Data.  2018.  Perancangan  Aplikasi Pemantauan Pendaki Gunung Menggunakan Wireless Network Dengan Protokol MQTT
[6] Hudan  Abdur  Rochman,  Rakhmadhany  Primananda,  Heru  Nurwasito.  2017.  Sistem  Kendali  Berbasis Mikrokontroler Menggunakan Protokol MQTT pada Smarthome
[7] HM, Jogiyanto, Prototype, Yogyakarta, 2003.
[8] Riska,  Harihanto,  Agustin  Nurmanina,  Studi  tentang  penggunaan  internet  oleh  pelajar,  eJournal Sosiatri-Sosiologi, ISSN 0000-0000, (2013).
[9] Santoso, Iman Hedi, and Kalamullah Ramli. “Internet of Things: Visi, Arah ke Depan, dan Teknologi Kunci.”  in  Proc.  Seminar  Nasional  Teknologi  Informasi  dan  Komunikasi  (SENTIKA),  Yogyakarta, 2016.
[10] www.sunupradana.info/pe/2016/10/15/mengenal-Fritzing-dan-expresspcb/ diakses pada 15 Mei 2018.
[11] www.ilmukomputer.org ,2009 diakses pada 6 April 2018.