Vol.25, No.1, Juni 2019 ISSN (p): 1693-590x, ISSN (e): 2686-4711 DOI: 10.36309/goi.v25i1.105
 62
Received May 6, 2019; Revised May 27, 2019; Accepted June 12, 2019
Sistem Antrian Berbasis Web Menggunakan Raspberry dan ESP8266
D Jayus Nor Salim 1 ,  Wisnu Sanjaya 2 , Anton Respati Pamungkas 3 , Agung Koes Indarto 4 1234 Program Studi Sistem Informasi, STMIK AUB, Surakarta, Indonesia e-mail: * 1 djayus.nur@stmik-aub.ac.id, 2 wisnuksl@stmik-aub.ac.id, 3 anton18@stmik-aub.ac.id,
4 agungkoes@gmail.com

## Abstrak
Salah  satu  cara  meningkatkan  kualitas  pelayanan  pada  fasilitas  publik  yaitu  dengan sistem  antrian.  Metode  pengembangan  sistem  ini  adalah  model  prototyping.  Metode  ini menekankan pada pencarian model yang sesuai bagi sistem yang akan dikembangkan. Sistem antrian  ini  menggunakan    Arduino  Uno  (Arduino),  NodeMCU  ESP8266  (modul  WiFi)  dan Raspberry Pi 3 (Raspberry). Raspberry berfungsi sebagai server yang dapat menerima request data dari  NodeMCU ESP8266 yang terdapat pada konsol atau display melalui jaringan wifi. Untuk  menampilkan  antrian  pada  loket  display  LED  P10,  digunakan  Arduino  Uno  sebagai mikrokontroler  yang  menerima  data  dari  NodeMCU  ESP8266.  Penelitian  ini  menghasilkan sebuah mesin antrian yang praktis, mudah digunakan dan bersifat portable.
Kata kunci : Mesin Antrian, Mikrokontroler, ESP8266, Arduino Uno, Raspberry Pi 3

## 1. PENDAHULUAN
Antrian menjadi kendala pada bagian  customer  service dalam memberikan pelayanan. Kendala  pada  kurang  teraturnya  pelayanan  akan  berdampak  pada  ketidakpuasan  pelanggan. Sistem antrian merupakan salah satu cara untuk meningkatkan kepuasan pelanggan. Pelayanan terbaik  tersebut  diantaranya  adalah  memberikan  pelayanan  yang  cepat  sehingga  pengguna layanan  tidak  dibiarkan  menunggu  terlalu  lama.  Sistem  antrian  yang  dipakai  sebelumnya menggunakan  komputer  sebagai  server  dan  sebagai  client,  belum  terdapat  perangkat  praktis seperti konsol dan display LED P10. Sistem ini masih mempunyai banyak kekurangan seperti halnya harus membutuhkan komputer sebanyak loket yang ada dan konfigurasi jaringan. Sistem antrian yang diharapkan merupakan sebuah sistem yang menggunakan  Arduino Uno (Arduino), NodeMCU ESP8266 (modul WiFi) dan Raspberry Pi 3 (Raspberry). Raspberry itu sendiri (yang menjalankan  sistem  operasi  Raspbian)  berfungsi  sebagai  server  yang  dapat  menerima  request data  dari  NodeMCU  ESP8266  yang  terdapat  pada  konsol  atau  display  melalui  jaringan  wifi. Untuk  menampilkan  antrian  pada  loket  display  LED  P10,  digunakan  Arduino  Uno  sebagai mikrokontroler  yang  menerima  data  dari  NodeMCU  ESP8266.  Seluruh  perangkat  keras  dan perangkat lunak yang digunakan dalam sistem antrian tersebut adalah berlisensi Open Source. Sehingga  hal  ini  tidak  memunculkan  isu  legalitas  dan  mengurangi  biaya  keseluruhan  dalam rancang bangun sistem.

## 2. METODE PENELITIAN
Penelitian  ini  dilakukan  dengan  menggunakan  metode  penelitian  pengembangan  dari sistem yang telah ada sebelumnya dengan menambahkan beberapa perbaikan dan nilai tambah.

## 2. 1 Analisis dan Kebutuhan Sistem
Analisis  kebutuhan  sistem  dilakukan  untuk  memahami  dengan  sebenar-benarnya
kebutuhan  dari  sistem  dengan  mengembangkan  sebuah  sistem  yang  mewadahi  kebutuhan tersebut.  Analisis  kebutuhan  sistem  dibagi  menjadi  dua  tipe  kebutuhan  sistem,  yaitu  analisis kebutuhan  fungsional  (Functional  Requirement)  dan  analisis  kebutuhan  non-fungsional  (Non- Functional Requirement).

## 2.1.1 Analisis Kebutuhan Fungsional
Analisis  kebutuhan  fungsional  pada  pengembangan  mesin  antrian  dibagi  berdasarkan actor. Actor yang pertama adalah system. Sistem dapat mengelola perangkat yang berupa konsol dan  display.  Sistem  dapat  menampilkan  nomor  dan  loket  yang  berjalan.  Sistem  dapat menampilkan tombol unutk mengambil nomer antrian.  Actor  yang  kedua  adalah  perangkat NodeMCU ESP8266 yang terdapat pada konsol. Konsol dapat mengirim dan merespon perintah yang  dikirim  perangkat  NodeMCU  ESP8266.  Perangkat  NodeMCU  ESP8266  yang  terdapat pada Display dapat merespon dan meneruskan pengirimian data yang diterima dari Raspberry Pi ke Arduino Uno. Arduino Uno yang terdapat pada Display dapat meneruskan data yang dikirim dari NodeMCU ESP8266 yang terdapat pada display ke layar LED P10.

## 2.1.2 Analisis Kebutuhan non-Fungsional
Analisis  kebutuhan  non-fungsional  meliputi  dua  aspek,  yaitu  perangkat  lunak  dan perangkat  keras.  Perancangan  Diagram  Blok  Sistem  menjelaskan  keterkaitan  antar  komponen sistem. Pada penelitian ini alat yang dibangun menggunakan teknologi Internet of Thing (IoT). Jadi  perangkat  keras  mikrokontroler  dan  alat  kontrol  yang  berupa  konsol  harus  terhubung dengan  wifi  agar  kedua  perangkat  tersebut  berjalan  sesuai  dengan  rancangan.  Diagram  blok sistem dapat dilihat pada gambar 1.

## Gambar 1 Diagram Blok Sistem

## 2. 2 Perancangan Diagram Use Case
Diagram use case digunakan untuk mempermudah analisis kebutuhan sistem sehingga dapat  mengetahui  fungsi  apa  saja  yang  ada  di  dalam  sistem  yang  akan  dibangun  dan menunjukkan bagaimana sistem tersebut berinteraksi dengan user.  Gambar yang menunjukkan diagram use case ditunjukkan pada gambar 2:
GO INFOTECH: JURNAL ILMIAH STMIK AUB Vol. 25, No. 1,  Juni 2019 :  62 – 70
Gambar 2 Diagram Use Case Berdasakan diagram di atas, dapat disimpulkan bahwa sistem yang akan dikembangkan memeliki dua aktor yaitu operator dan pengguna. Operator bertugas memanggil dan memanggil ulang pengantri. Sedangkan, pengguna hanya dapat mengambil nomer antrian.

## 2.2.1 Perancangan Diagram Aktivitas
Aliran  kegiatan  yang  terjadi  pada  sistem  antrian  dapat  digambarkan  dalam  diagram aktivitas. Diagram aktifitas menunjukkan bagaimana aliran kerja (workflow) dari operasi sistem mesin  antrian  yang  akan  dikembangkan.  Diagram  aktivitas  ditunjukkan  pada  gambar  3  dan gambar 4:
Gambar 3 Diagram Aktivitas Operator
Sistem Antrian Berbasis Web Menggunakan Raspberry dan ESP8266 (D Jayus)
Gambar 4 Diagram Aktifitas Pengguna

## 2.2.2 Perancangan Sequence Diagram
Perancangan  sequence  diagram  dibuat  untuk  memodelkan  urutan  dari  sebuah  proses bisnis  sistem  antrian.  Perancangan  sequence diagram  dalam  penelitian  ini dibuat  menjadi tiga diagram, dua diagram sequence menggambarkan bagaimana perangkat yang digunakan operator mengirim data ke Raspberry Pi dan bagaimana pengguna menggunakan mesin antrian. Diagram sequence dari pengembangan sistem antrian ini dapat dilihat dari gambar 5  dan gambar 6:
Gambar 5 Sequence Diagram dari Operator
GO INFOTECH: JURNAL ILMIAH STMIK AUB Vol. 25, No. 1,  Juni 2019 :  62 – 70
Gambar 6 Sequence Diagram dari Pengguna
3. HASIL DAN PEMBAHASAN

## 3.1 Pengembangan Perangkat Keras

## 3.1.1 Perangkat Input
Perangkat input yang digunakan dalam mesin antrian yaitu berupa konsol. Merupakan alat  untuk  mengirimkan  data  menggunakan  nodeMCU  ESP8266    menuju  Raspberry  Pi  dan menerima respon dari Raspberry Pi.
Gambar 7 Rangkaian konsol
3.1.2 Perangakat Output
Perangkat output berupa Layar LED P10 untuk menampilkan loket dan nomer antrian dengan tambahan perangkat NodeMCU ESP8266  dan mikrokontroler Arduino Uno.
Gambar 8 Rangkaian output ke layar LED P10

## 3.2 Pengembangan Perangkat Lunak
Beberapa  tahapan  dalam  mengembangkan  perangkat  lunak  meliputi:  persiapan perangkat,  konfigurasi  jaringan  konsol  dan  Layar  LED  P10,  pengembangan  API,  dan pengembangan aplikasi berbasis web.
3.2.1 Persiapan Sistem
1. Mempersiapkan dan memformat kartu Mikro SD
2. Melakukan Instalasi Sistem Operasi pada Raspberry
3. Mengatur Koneksi SSH
4. Menginstal Dekstop di Raspberry untuk melihat tampilan raspi.
5. Memperluas  Memori  Penyimpanan  ( Storage  Memory  Expansion )  untuk  memaksimalkan penggunaan memori penyimpanan di raspberry.
6. Mengatur Waktu dan Tanggal
7. Mengatur RTC
Dikarenakan Raspberry tidak bisa menyimpan settingan waktu secara real time apabila tidak ada catu  daya  yang  masuk,  maka    menambahkan  modul  RTC  yang  dipasangkan  pada  RTC (Real time  clock)  adalah  jam  elektronik  berupa  chip  yang  dapat  menghitung  waktu  (mulai  detik hingga  tahun)  dengan  akurat  dan  menjaga/menyimpan  data  waktu  tersebut  secara real  time . Karena  jam  tersebut  bekerja real  time ,  maka  setelah  proses  hitung  waktu  dilakukan output datanya langsung disimpan.
3.3 Pengembangan Jaringan
Pengembangan jaringan dperlukan untuk pengaturan jaringan Nirkabel (Wifi). Jaringan nirkabel akan digunakan sebagai penghubung antara konsol dan display P10. Oleh karena itu jaringan nirkabel diatur sebagai hotspot atau access point .
3.4 Pengembangan  Application Programming Interface (API)
Pengembangan  Application  Programming  Interface  (API)  menggunakan  bahasa pemrograman  javascript  berbasis  server  yaitu  Node.js.  API  dibangun  untuk    menghubungkan komunikasi data antara Raspberry Pi, Konsol dan display.
3.5 Pengembangan Sistem NodeMCU ESP8266 dan Arduino Uno
Pengembangan  sistem  di  ESP  maupun  di  Arduino  Uno,    menggunakan  bahasa pembrograman C++ yang melalui Aduino IDE,

## 3.5.1 NodeMCU ESP 8266
Pengembangan pada NodeMCU ESP8266 sebenarnya menggunakan bahasa LUA, akan tetapi Mikrokontroler tersebut dapat dijalankan menggunakan bahasa C yang dikompilasi dengan menggunakan Arduino IDE. Dalam tahapan ini, pengembangan sistem di NodeMCU ESP8266
68
dibagi  menjadi  dua  bagian,  yaitu  NodeMCU  yang  digunakan  di  Konsol  dan  NodeMCU  yang digunakan di LED P10.
a. NodeMCU ESP8266 konsol
b. NodeMCU ESP8266 P10

## 3.5.2 Arduino Uno
Pengembangan  sistem  di  Arduino  Uno  dikembangan    menggunakan  bahasa  C++ melalui aplikasi Arduino IDE.

## 3.6 Pengembangan Aplikasi Berbasis Web
Aplikasi  untuk customer berbasis  web  dibangun  menggunakan  bahasa  pemrograman Javascript dan didukung HTML dan CSS menggunakan semantic-UI untuk tampilannya. Pada aplikasi ini terdapat tampilan nomer antrian pada loket tertentu dan output suara nomer antrian.

## 3.7 Implementasi Sistem
Implementasi  sistem  merupakan  suatu  proses  untuk  menempatkan  dan  menerapkan informasi  baru  kedalam  operasi  (Whitten,  Bentley  &  Barlow  :  1993).  Maka  dari  itu  dalam tahapan  ini  penulis  melakukan  penerapan  sistem  kedalam  bagian  –  bagian  yang  sudah direncanakan  sebelum  siap  digunakan.  Pada  penelitian  ini  implementasi  sistem  mesin  antrian dibagi menjadi dua bagian. Bagian pertama adalah implementasi perangkat keras yang meliputi mikrokontroler Arduino Uno dan NodeMCU ESP8266 pada Layar LED P10 sebagai perangkat output, NodeMCU ESP8266 pada perangkat konsol sebagai perangkat input. Sedangkan bagian kedua adalah implementasi perangkat lunak yang meliputi perangkat lunak mikrokontroler dan perangkat lunak sistem berbasis WEB.

## 3.7.1 Perangkat Input
Perangkat  input  diimplementasikan  dengan  cara  menambahkan  push  up  button  pada mikrokontroler NodeMCU ESP8266 sebagai tombol call dan recall . Yang diambil dari pin D1 dan pin D2 dan menggunakan baterai AA sebagi catu dayanya.
Gambar 9 perangkat Konsol

## 3.7.2 Perangkat Output
Perangkat  output  diimplementasikan  dengan  cara  menggabungkan  antara mikrokontroler NodeMCU ESP8266, Mikrokontroler Arduino Uno dan LED P10. Implementasi output dapat dilihat pada gambar 10.
Sistem Antrian Berbasis Web Menggunakan Raspberry dan ESP8266 (D Jayus)
Gambar 10 Layar LED P10

## 3.7.3 Perangkat Lunak Mikrokontroler
Perangkat  lunak  mikrokontroler  mikrokontroler  Arduino  Uno  dan  mikrokontroler NodeMCU  ESP8266  diprogram  menggunakan  software  Arduino  IDE.  NodeMCU  ESP8266 yang terdapat di konsol berfungsi untuk mengirim data ke Raspberry Pi. Sedangkan NodeMCU ESP8266 yang terdapat di layar LED P10 bertugas untuk merequest data dari Raspberry Pi dan diteruskan ke mikrokontroler Arduino Uno. Untuk mikrokontroler Arduino Uno bertugas untuk menampilkan data menuju Layar LED P10.

## 3.7.4 Perangkat Lunak berbasis WEB
Perangkat lunak web dibuat guna untuk menampilkan  antrian di setiap loket sehingga pengguna  dapat  melihat  melihat  daftar  antrian  pada  salah  satu  loket.  Implementasi  perangkat lunak berbasis web dapat dilihat pada gambar 11.
Gambar 11 Tampilan loket nomer antrian

## 4. KESIMPULAN
Raspberry dapat digunakan sebagai server dengan baik. Perangkat  endpoint(NodeMCU ESP8266)  yang  terhubung  juga  dapat mengirim,  menerima  dan  merespon   dengan baik. Mikrokontroler  Arduino  uno  dapat  menerima  dan  meneruskan  data  dengan  baik.  Perangkat lunak  yang  dikembangkan  dapat  memonitor  data  antrian.  Web  Browser  Chromium  kurang maksimal untuk memutar suara antrian secara bersamaan.

## 5. SARAN
Perlu  adanya  dashboarb  admin  untuk  mengatur  banyaknya  loket  yang  dibuka.  Perlu mencari web browser yang lebih kompeten untuk menjalankan suara kekurangan.

## DAFTAR PUSTAKA
[1] Arduino.cc.  (n.d.).  Arduino  UNO  &  Genuino  UNO.  Retrieved  Januari  18,  2018,  from Arduino.cc: https://www.arduino.cc/en/Main/ArduinoBoardUno .
70
[2] Dirakit.com.  (n.d.).  Mesin  Antrian  Menggunakan  Raspberry  Pi  +  NodeJS.  Retrieved Januari  18,  201,  from  Dirakit:  https://dirakit.hackster.io/mfauzanyk/mesin-antrian- menggunakan-raspberry-pi-nodejs-e1a777.
[3] Muhammad  Syahwil.  (2013). Panduan  Mudah  Simulasi  dan  Praktik  Mikrokontroler Arduino . Yogyakarta : ANDI
[4] Eko  Putra,  Agfianto.  (2002),  Belajar  Mikrokontroler  AT89S51/52  Teori  dan    Aplikasi, Edisi ke-1, Yogyakarta, Gava Media.
[5] Budiharto,  Widodo  &  Gamayel  Rizal.  2007.  Belajar  Sendiri  12  Proyek  ikrokontroler Untuk Pemula. Jakarta: PT. Elex Media Komputindo Kelompok Gramedia.
[6] Jogiyanto. 2001. Analisis  & Desain Sistem Informasi : pendekatan terstruktur teori dan praktek aplikasi bisnis. Andi, Yogyakarta.
[7] Gross, D & Haris, C. M. 2008. Fundamental of Queueing Theory: Fourth edition. John Willey & Sons, Inc: New Jersey.
[8] Heizer,  J.  &  Render,  B.  2011.  Operations  Management.  Tenth  Edition.  Pearson,  New Jersey, USA.
[9] Siagian,  P.,  1987,  Penelitian  Operasional  :  Teori  dan  Praktek,  Universitas  Indonesia Press. Jakarta.
[10] Sholiq.  (2006).  Pemodelan Sistem    Informasi    Berorientasi    Objek    dengan    UML , Yogyakarta : Graha Ilmu.
[11] Khadir, A. (2013). From zero to a Pro HTML5. Yogyakarta: Penerbit Andi.
[12] Adi    Nugroho.    2010. Rekayasa    Perangkat    Lunak    Berbasis    Objek  dengan  Metode USDP . Penerbit Andi. Jogjakarta.
[13] Tantra,  Rudy.  (2012). Manajemen  Proyek  Sistem  Informasi .  Yogyakarta  :  ANDI Yogyakarta.
[14] Pressman. Roger S . Rekayasa Perangkat Lunak . Terj. LN Harnaningrum, Yogyakarta : ANDI, 2002.
[15] Ashton, K. (2009, Juni 22). That 'Internet of Things' Thing . Dipetik Januari 19, 2018, dari RFID Journal: http://www.rfidjournal.com/articles/view?4986
[16] Budiharto, Widodo. (2005). Perancangan Sistem dan Aplikasi Mikrokontroller .  Jakarta: Erlangga.
[17] Novida  Dwi  Nurhayati,  “Desain  dan  KonstruksiSistem  Antrian  dengan  Microcontroller ATMega 8535  pada  Rumah  Sakit”.  Proyek  akhir  PENSITS, 2010.
[18] Nilapuspa Fridatama, Anang Budikarso, Mike Yuliana. Rancang Bangun Sistem Layanan Antrian Rumah Sakit Berbasis Java. Surabaya : Institut Teknologi Sepuluh Nopember
[19] Maulany,  Raymond.  2016.  Perancangan  Sistem  Informasi  Antrian  Pendaftaran Pembayaran  Uang  Kuliah  Berbasis  Foto  Wajah  Di  Kantor  Biro  Keuangan  Universitas Advent Indonesia. Jurnal, Bandung : Univrsitas Advent Indonesia