## JITET (Jurnal Informatika dan Teknik Elektro Terapan)
Vol. 11 No. 1  pISSN: 2303-0577   eISSN: 2830-7062

## SIMULASI SMART VENDING MACHINE MINUMAN KOPI DENGAN NFA BERBASIS ANDROID
M. Bagus Arifudin 1 , Yessi Mulyani 2 , Wahyu Eko Sulistiono 3
1,2,3 Universitas Lampung; Jl. Prof. Dr. Ir. Sumantri Brojonegoro No.1, Bandar Lampung, Lampung
Riwayat artikel: Received: 18 Oktober   2022 Accepted: 8  November  2022 Published: 15 Januari  2023
Keywords: Kopi, Vending machine , Android, NFA, Simulasi, Smart vending machine.
Corespondent Email: muhammad.bagus.a99@gmail.com
How to cite this article :
Bagus (2023). simulasi smart vending machine minuman kopi dengan nfa berbasis android . Jurnal Informatika dan Teknik Elektro Terapan , 11(1).
© 2023 JITET (Jurnal Informatika dan Teknik Elektro Terapan). This article is an open-access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY NC)
Abstrak. Vending machine merupakan mesin yang dapat melayani penjualan barang-barang  seperti  minuman  ringan, snack ,  alkohol,  rokok  ataupun  tiket pada  konsumen  secara  otomatis.  Dengan  begitu    sangat  berguna  untuk memangkas  proses  transaksi  yang  panjang,  menghemat  waktu  dan  lebih mudah  dalam  melayani  penjualan  produk  kepada  konsumen.  Teknologi vending machine pun  berkembang    menjadi smart vending machine yang mampu  berinteraksi  dengan  pengguna  dengan  lebih  baik  dan  memberikan akses pengawasan kepada pengelola dengan lebih mudah, namun teknologi ini masih mahal dan sedikit tersedia. Oleh karena itu perlu dikembangkan smart vending machine dengan perangkat yang terjangkau. Vending machine sendiri merupakan  suatu  teknologi  terbaru  yang  mulai  masuk di  Indonesia.  Namun sayangnya di Indonesia belum banyak beredar. Dalam penelitian ini dilakukan studi  awal  untuk  mengembangkan  sistem  simulasi smart vending machine berbasis  aplikasi  android  dengan  menggunakan  NFA,  agar  dapat  menjadi dasar untuk perkembangan smart vending machine yang lebih terjangkau.
Abstract. Vending machine is a machine that can serve the sale of goods such as  soft  drinks,  snacks,  alcohol,  cigarettes  or  tickets  to  consumers automatically. That way it is very useful to cut the lengthy transaction process, save  time  and  make  it  easier  to  serve  product  sales  to  consumers.  Vending machine technology has also developed into smart vending machines that are able to interact with users better and provide easier access to supervision for managers,  but  this  technology  is  still  expensive  and  few  are  available. Therefore, it is necessary to develop a smart vending machine with affordable devices. Vending machine itself is a new technology that has started to enter Indonesia. But unfortunately in Indonesia it has not been widely circulated. In this study, an initial study was conducted to develop a smart vending machine simulation system based on an Android application using NFA, so that it can be the basis for the development of a more affordable smart vending machine.

## 1. PENDAHULUAN
Vending Machine dalam sejarahnya
dikembangkan pertama kali pada abad pertama di  Alexandria.  Pada  tahun  1880 Vending Machine dipergunakan  sebagai  mesin  penjual kartu  pos  di  Inggris  yang  merupakan  pertama kalinya Vending Machine dikembangkan di era modern.  Kemudian  Pada  tahun  1888  di Amerika, Vending  Machine dimanfaatkan untuk menjual permen karet  yang diluncurkan
oleh  perusahaan  Thomas  Adams  Gum  Co. Perkembangan selanjutnya terjadi di Jepang, di mana  segala  kebutuhan  sehari-hari  tersedia  di vending  machine yang  tersebar  di  berbagai penjuru.[1]
Kopi  merupakan  minuman  yang  digemari oleh banyak orang. Kopi menyebar berawal dari para  saudagar  arab,  setelah  mereka  mencoba buah  kopi  kemudian  mereka  merasa  lebih
Vol. 10 No. 3, Agustus 2022 (2303-0577)
berenergi    yang  kemudian  buah  kopi dimanfaatkan  menjadi  minuman  kopi  seperti sekarang ini [3].
Smart vending machine merupakan perkembangan selanjutnya dari vending machine tradisional.  Kata  “ smart ”  di  sini merujuk  pada  kemampuan  dari vending machine dalam  melakukan  transaksi  dengan pengguna,  menyediakan  berbagai  metode pembayaran, serta  mengelola dan menyediakan data  pada  pemilik vending  machine juga dilengkapi berbagai sensor serta kamera untuk memantau  dan  berinteraksi  dengan  pengguna. [4].
Program Studi Teknik Informatika
Universitas  Lampung  memiliki  visi  yang berorientasi  pada  bidang  pertanian,  yaitu menjadi  program  studi  di  bidang  informatika yang  unggul  di  tingkat  nasional  dan  memiliki reputasi  internasional  dengan  kekhasan  dalam bidang ICT in Agriculture di tahun 2025. Maka dari itu, untuk membantu tercapainya visi misi Program  Studi  Teknik  Informatika,  pada penelitian  ini  penulis  membahas  tentang pembuatan  sistem  simulasi  mesin  penjual minuman kopi otomatis dengan berbasis NFA. Penelitian  ini  dapat  digunakan  sebagai pembelajaran  dan  acuan  untuk  pengembangan teknologi vending machine selanjutnya.

## 2. TINJAUAN PUSTAKA

## 2.1. Finite Automata
Finite automata adalah mesin abstrak  yang merupakan    sistem  model  matematika  yang dapat  menerima  masukan  dan  keluaran  diskrit yang  dapat  berfungsi  untuk  mengenali  bahasa paling  sederhana  yakni  bahasa  reguler  dan mampu    diimplementasikan  pada  sistem sungguhan    di  mana  dalam  sistem  tersebut sistem  dapat  berada  pada    salah  satu  dari sejumlah  konfigurasi  internal  berhingga  yang disebut state .[1]

## 2.2. NFA
Dalam  Non-Deterministic  Finite  Automata (NFA),  untuk  setiap state bisa  ada  nol,  satu, dua,  atau  lebih  banyak  transisi  yang  sesuai dengan simbol tertentu. Jika NFA menyatakan
dengan  lebih  dari  satu  kemungkinan  transisi yang sesuai dengan simbol input, yang disebut cabang.
NFA  menerima  string  input  jika  ada  beberapa pilihan  transisi  yang  mengarah  ke  akhir  dari state penerima.
Jadi, satu cabang penerima sudah cukup untuk keseluruhan NFA untuk menerima, tetapi setiap cabang harus menolak untuk NFA keseluruhan untuk menolak.[1]

## 2.3. Vending Machine
Vending  Machine  merupakan  penerapan  dari bidang ilmu Teori Bahasa dan Automata yang dapat menjual barang atau kebutuhan manusia secara  otomatis.  Sistem  penjualan  dengan Vending Machine tidak membutuhkan operator, pembeli dapat memilih sendiri barang yang diinginkan. pemodelan Vending Machine diimplementasikan pada alat penjualan minuman. Metode pemodelan Vending Machine  dengan  Finite  State  Automata  untuk menjelaskan  logika  penerimaan  masukan berupa  koin  pada  mesin  sampai  mendapatkan minuman  sesuai  dengan  pilihan.  Hasil  dari penelitian  ini  adalah  simulasi/pemodelan  alur komputasi  yang  berjalan  pada  Vending Machine  dan  desain  interface  Vending Machine.[2]

## 2.4. Android
Android merupakan perangkat lunak sistem operasi yang dikembangakan  oleh Google Inc. berbasis  kernel  Linux  dengan  dukungan perangkat layar sentuh, seperti smartphone atau tablet.  Android  dioperasikan  dengan  metode sentuhan pada layar handphone .[3]

## 2.5. Simulasi
Simulasi  adalah  metode  meniru  proses yang  berjalan  di  dunia  nyata.  Simulasi digunakan  untuk  mempelajari  dan  mengamati proses  dari  sistem  yang  diwakili.  Dengan menggunakan simulasi  kita  dapat  mempelajari atau  memprediksi  sesuatu  yang  belum  terjadi dengan cara meniru atau membuat model sistem yang dipelajari .[4]
2.6. Smart vending machine Smart
vending machine merupakan perkembangan selanjutnya dari vending machine  tradisional.  Kata  “smart”  di  sini merujuk  pada  kemampuan  dari  vending machine  dalam  melakukan  transaksi  dengan pengguna,  menyediakan  berbagai  metode pembayaran, serta  mengelola dan menyediakan data  pada  pemilik  vending  machine  juga dilengkapi berbagai sensor serta kamera untuk memantau  dan  berinteraksi  dengan  pengguna. Pada penerapan  konsep yang paling dasar dari “smart  vending  machine”  memiliki  fitur  user interface  yang  memungkinkan  pengguna menentukan pesanannya sesuai keinginan serta fitur  pengawasan  dan  kemudahan  akses  data bagi pemilik. Sedangkan pada versi yang lebih canggih perangkat vending machine dilengkapi kamera  CCTV,  sensor  untuk  melakukan interaksi  dengan  pengguna,  sensor    untuk melakukan    pembayaran  dan  dilengkapi  deep learning untuk menyediakan produk yang tepat dengan kebutuhan pengguna [5].

## 2.7. Penelitian Terkait
Adapun  terkait  dengan  jurnal  ataupun penelitian  yang  pernah  dilakukan  sebelumnya dalam  bidang  pembuatan  aplikasi vending machine minuman  kopi.  Sebelumnya  telah dibuat aplikasi vending machine minuman kopi namun masih memiliki keterbatasan antara lain uang  yang  diterima  masih  menggunakan  koin dengan  nilai  yang  dibatasi  dan  juga  platform aplikasinya  masih  berjalan  hanya  pada perangkat komputer saja.
Sehingga
penggunaannya  masih  sebatas  sebagai  media pembelajaran dan belum bisa digunakan untuk mempromosikan vending machine ke masyarakat  luas. Vending  machine pada dasarnya  adalah  alat  untuk  menjual  produk- produk  maka  diperlukan  sistem  yang  mampu menjangkau  banyak  konsumen  serta  memiliki fitur yang memudahkan konsumen dan penjual [6].

## 3. METODE PENELITIAN
Metode Waterfall merupakan suatu metode pengembangan perangkat lunak yang terstruktur dan sistematis (berurutan) mengikuti urutan    pengembangan  yang  ditetapkan. Disebut dengan metode waterfall karena dalam prosesnya,  pembuatan    sistem  akan  dilakukan secara  berurutan  tahap  demi  tahap  mengalir seperti  air  terjun.  Pada    metode  ini  jika  tahap pertama  belum selesai, maka tahap kedua  tidak dapat  dijalankan, begitupun seterusnya. Setiap tahapan  saling  berkaitan  dan  harus  dikerjakan dengan  detail.
Pada  metode waterfall setiap  spesifikasi, persyaratan dan tujuan sistem harus didefinisikan  dengan  detail  pada  tahap  awal ( requirement & design )  sebelum  masuk  pada proses pengerjaan (implementasi). Karena pada metode waterfall tidak  dapat  melakukan perubahan di tengah proses pengembangan.[7]
Gambar 1 Model Waterfall [7].
Pada  penelitian  ini  menggunakan  metodologi formal untuk menghubungkan antara rancangan formal dan flowchart yang telah dibuat. Metode formal  adalah  suatu  pemodelan  matematika untuk  menghubungkan  dan  memverifikasi antara  perangkat  lunak  dan  perangkat  keras, yang dapat dipergunakan dari awal perancangan hingga pengujian [7].
Perancangan  State  Diagram  .Metode  formal yang  digunakan  adalah  dengan  membuat state diagram  untuk  memodelkan  perilaku  sistem. State  diagram  ini  akan  digunakan  untuk mendefinisikan tupel dan perancangan flowchart program.  Jenis state diagram  yang digunakan  yaitu mealy machines dengan konsep Non-Deterministic  Finite  Automata (NFA).  Dengan  menggunakan  metode mealy machines dapat  terlihat output yang dihasilkan di setiap transisi antar state yang terjadi sesuai
Vol. 10 No. 3, Agustus 2022 (2303-0577)
https://journal.eng.unila.ac.id
dengan input yang  diberikan  oleh state sebelumnya [7].

## 4. HASIL DAN PEMBAHASAN

## 4.1 Perancangan State Diagram
Jenis state diagram  yang  digunakan  yaitu mealy machines dengan konsep Non- Deterministic Finite Automata (NFA). Dengan menggunakan  metode mealy  machines dapat terlihat output yang dihasilkan  di setiap transisi antar state yang  terjadi  sesuai  dengan input yang diberikan oleh state sebelumnya.
Gambar 2 State Diagram
Pada gambar state diagram di atas dapat dilihat inputan uang yang diterima yaitu x (Rp 5.000) dan y Rp 10.000). ketika input uang dilakukan, maka  akan terjadi transisi pada state A (Rp 0), B (Rp 5.000), C (Rp 10.000), D (Rp 20.000) dan
E  (Rp.  50000).  Setelah  dimasukkan  uang, diinput  sesuai  ukuran  gelas  kopi  yang diinginkan,  yaitu  f  (gelas  kecil),  g  (gelas sedang), dan h (gelas besar). setelah menentukan ukuran gelas maka dapat
dilanjutkan dengan proses memilih varian rasa kopi sesuai keinginan.
Tersedia  juga  bahan  extra  yang  dapat ditambahkan sesuai selera yang yaitu o (gula), p  (kopi),  q  (susu),  dan  r  (coklat).  Kemudian mesin  akan  melakukan  inputan  s  (mix),  dan  t (buat pesanan) untuk mengaduk kopi, selain itu juga  tersedia  varian  suhu  kopi  yang  dapat dipilih,  yaitu  u  (hot)  dan  v  (iced).  Untuk melakukan pembatalan pilihan varian rasa kopi dapat  dilakukan  dengan    input  i  (reset)  untuk mereset sistem ke state I. Jika ingin memproses pesanan  sesuai  input  yang  dimasukkan  maka dapat diinput w (menampilkan pesanan) untuk mejalankan proses pembuatan kopi. Lalu mesin akan memberikan output bernilai 1 (mentransfer  data  ke  database)  dan  kembali pada  state  awal  untuk  mnerima  pesanan selanjutnya.

## 4.2. Perancangan Alur Program
Sesuai  dengan  perancangan  spesifikasi  formal yang  telah  dibuat  maka  selanjutnya  dapat diterapkan  ke  dalam  program aplikasi  .dengan alur  program  sesuai  dengan flowchart berikut ini:
Gambar 3  Flowchart
4.3. Implementasi Program
Gambar 4 Input Uang
Pada halaman ini dimulai dengan state A pada state diagram sebagai state awal. Pada state ini nilai  saldo  masih  0,  kemudian  pengguna  akan menginputkan nominal  saldo  yang  diinginkan. State  B  adalah  ketika  nilai  saldo  yang dimasukkan bernilai 5000, state C adalah ketika nilai  saldo  yang  dimasukkan  bernilai  10000, state D  adalah  ketika  nilai  saldo  yang dimasukkan bernilai 20000, dan kemudian state E  adalah  ketika  nilai  saldo  yang  dimasukkan bernilai  50000  atau  lebih.  Setelah  pengguna menentukan  saldo  yang  diinginkan  maka dengan  menekan  tombol NEXT pengguna  kan diarahkan ke halaman berikutnya.
Gambar 5   State Diagram untuk halaman
Input Uang
https://journal.eng.unila.ac.id
Gambar 6 Pilih Ukuran  Cup
Gambar 7 Output Kembalian
Pada  halaman  Pilih  Ukuran  Cup,  akan ditampilkan pilihan ukuran gelas yang tersedia, yaitu small , medium, dan large . State F adalah state untuk  gelas  ukuran small dengan  harga Rp. 5000,-. State ini tersedia ketika nilai saldo bernilai  minimal  Rp.  5000,-  .  State  G  adalah state untuk gelas ukuran medium dengan harga Rp. 10000,-. State ini tersedia ketika nilai saldo bernilai  minimal  Rp.  10000,-  .  State  H  adalah state untuk gelas ukuran large dengan harga Rp. 15000,-.  State  ini  tersedia  ketika  nilai  saldo bernilai minimal Rp. 15000,-. Setelah
menentukan  ukuran  gelas  minuman  yang diinginkan maka selanjutnya akan menuju state I yang merupakan halaman Output Kembalian, pada state ini akan memberikan output berupa sisa kembalian dari saldo yang sudah terpotong, jika sisa saldo adalah 0 maka akan memberikan kembalian bernilai 0.
Gambar 8   State Diagram ukuran Cup dan
Output Kembalian
Gambar 9  Memilih Rasa
Setelah dari state I kemudian akan tersedia state  untuk  masing-masing    pilihan  varian rasa. State J adalah rasa Cappucino, state K adalah  rasa  latte,    state  Ladalah  rasa Americano, state M adalah rasa cappuccino,dan  state  N  adalah  rasa machiatto. Setiap kali dijalankan pengguna hanya dapat memilih salah satu varian rasa saja. Dari State yang dipilih kemudian akan menuju ke state berikutnya.
Gambar 10 State Diagram untuk halaman
Memilih Rasa
5. KESIMPULAN
1. Platform  android  dapat  digunakan dalam mengimplementasikan metode NFA dalam simulasi
vending machine.
2. Masing-masing state dapat menunjukkan perilaku system ,
ketika  menerima input pada  satu state maka system akan  menuju  ke state berikutnya  sesuai  dengan diagram yang sudah ditentukan.
3. State yang  terdapat  pada  penelitian ini  berjumlah  25 state sesuai dengan tahapan-tahapan yang
diperlukan dalam menjalankan simulasi ini.
4. Metode  NFA  digunakan  untuk membaca  inputan  yang  diberikan dan  menjadi  pola  yang  dapat dikenali mesin.

## UCAPAN TERIMA KASIH
Penulis  mengucapkan  terima  kasih  kepada pihak-pihak  terkait  yang  telah  memberi dukungan terhadap penelitian ini.

## DAFTAR PUSTAKA
[1] Wirasbawa dkk,(2019). “Penerapan Konsep  Non-Deterministic  Finite  Automata  Untuk Pembuatan  Sereal  Menggunakan  Mesin  Jual Otomatis  Dengan  Dua  Sistem  Pembayaran,” Simposium  Nasional  Ilmiah  vol.  2  no.  November, pp. 440–448, 2019, doi:10.30998/simponi.v0i0.375.
[2] S.  Gruber,  R.  Buber,  B.  Ruso,  and  J.
Gadner, “The commodity vending machine,” pp. 1– 10, 2005.
[3]
P.  Khanna,  Google  Android  Operating System : A Review, Vol. 147. 2016. [8]
P. Khanna,  Google  Android  Operating  System :  A
Review, Vol. 147. 2016.
[4] K.  T.  Informasi,  “Simulator  Pengenal
String  Yang  Diterima  Sebuah  Deterministic  Finite Automata ( DFA ),” pp. 377–381, 2017.
[5] B.  Cho  and  H.  Ahn,  “IoT  Analysis  and
Design of Smart Vending Machine System based on IoT,” vol. 19, no. 3, pp. 121–126, 2019.
[6] B. Richardson, K. Hendy, V. Andiyani, W.
Philips, J. S. Boulevard, and G. Serpong, “Penerapan Konsep Non-Deterministic Finite Automata ( NFA ) pada Aplikasi Simulasi Mesin Kopi Vending,” vol.
4, no. 1, 2019.
[7] R.  S.  Pressman,  Software  Engineering:  A
Practitioner’s  Approach  (Fifth  Edition).  Newyork: McGraw-Hill, 2001.