## IMPLEMENTASI FINITE STATE AUTOMATA (FSA) DENGAN SIMULASI VENDING MACHINE PADA APLIKASI ANDROID
Ahmad Saufi Maulana 1 , Hanifah Nur Azizah 2 , Kartika Candra Kirana 3
1,2,3 Jurusan Teknik Elektro Universitas Negeri Malang email : ahmadsaufimaulana@gmail.com

## ABSTRACT
Theory of Language and Automata is part of computer  science, which is useful as a means of human and machine communication. Otomata theory is a theory of abstract machines,  and is closely related to formal language theory. Automata can be applied in vending machines. A vending machine is a vending machine that sells goods. A vending machine is a beverage vending machine that can be done independently to serve beverage or snack purchase transactions. The implementation of Finite State Automata with the simulation of a Vending Machine on an Android application is expected to provide convenience for users in understanding the concepts and ways of working of a Vending Machine and to be implemented as needed.
Keywords: Android, Vending Machine, Vending Machine Simulation, and Finite State Automata.

## ABSTRAK
Teori  Bahasa  dan  Automata  merupakan  bagian  dari  ilmu  komputer,  yang  berguna  sebagai  perantara komunikasi  manusia  dan  mesin. Teori  Otomata adalah  teori  mengenai  mesin-mesin  abstrak,  dan  berkaitan  erat dengan  teori bahasa  formal . Automata dapat  diterapkan  dalam  mesin vending  machine . Vending  machine merupakan  suatu alat atau  mesin  yang  menjual barang  secara otomatis. Vending machine adalah sebuah  mesin penjual  minuman  yang  dapat  beroperasi  secara standalone untuk  melayani  transaksi  pembelian  minuman  atau makanan  kecil.  Implementasi Finite  State  Automata dengan  simulasi Vending  Machine pada  aplikasi Android diharapkan dapat  memberikan kemudahan bagi pengguna dalam  memahami  konsep dan  cara kerja dari sebuah Vending Machine dan agar dapat diterapkan sesuai dengan kebutuhan.
Kata kunci : Android, Vending Machine, Vending Machine Simulation, and Finite State Automata.

## PENDAHULUAN
Pada dasarnya, kemajuan ilmu pengetahuan  membawa  perubahan  besar  dalam kehidupan  manusia,  baik  yang  berdampak positif  maupun  negatif.  Manusia  banyak menemukan  penemuan  baru  yang  dibutuhkan untuk  kelangsungan  hidup.  Salah  satunya adalah mesin penjual otomatis yang merupakan karya  Heron  yang  berasal  dari  Alexandria. Mesin  penjual  otomatis  moden  pertama diperkenalkan  di  London,  Inggris  pada  awal
tahun  1880  an  yaitu  mesin  penjual  kartu  pos otomatis.    Mesin  penjual  otomatis  (Inggris: Vending  Machine )  adalah  mesin  yang  dapat mengeluarkan  barang-barang  seperti  makanan ringan, minuman kaleng, dan produk konsumen lainnya  untuk  pelanggan  secara  otomatis. Seperti penjual asli, mesin ini akan mengeluarkan  barang  yang  kita  inginkan setelah  kita  memasukkan  sejumlah  koin/  uang kertas (Wamiliana dan Rahmadhani, 2013).
Vending  Machine membutuhkan  uang untuk proses kerjanya. Terdapat lubang sebagai
http://journal.uny.ac.id/index.php/jee/
tempat  untuk  memasukkan  uang  pada  mesin sejumlah  yang  ditentukan.  Setelah  dimasukkan uang, user dapat  memilih  minuman  yang  akan dibelinya.  Setelah  minuman  terpilih,  otomatis mesin akan menjatuhkan minuman yang sesuai, dan  yang  terakhir user dapat  mengambil minuman  dari  balik  pintu  kecil  yang  telah disediakan.  Untuk  mengatasi  permasalahan dalam  proses  pembelian  minuman  secara otomatis  ini,  membutuhkan  penerapan  konsep Finite State Automata (FSA).
Finite  State  Automata (FSA)  adalah model  matematika  yang  dapat  menerima  input dan  mengeluarkan  output  yang  memiliki state yang berhingga banyaknya dan dapat berpindah dari  satu state ke state lainnya  berdasarkan input  dan  fungsi  transisi.  Dari  jenisnya  yaitu Finite  State  Automata (FSA)  terdapat  mesin bahasa  yang  berarti  dia  dapat  mengenali, menerima  dan  menolak  yang  terdapat  pada mesin  FSA  jenis  DFA  ( Deterministic  Finite Automata )  dan  NFA  ( Non-deterministic  Finite Automata )  (K.  Kim,  dkk.,  2014).  FSA  output berbeda dengan jenis FSA sebelumnya (DFA & NFA),  pada  jenis  ini  tidak  terdapat state menerima  dan  menolak,  memiliki  fungsi  & himpunan output (M. Syai, dkk., 2017).
Di Indonesia, keberadaan vending machine masih  dapat  dikatakan  langka.  Oleh karena itu, munculah keinginan untuk mencoba mempelajari  cara  kerja vending  machine sekaligus menerapkan bagian dari Teori Bahasa dan  Automata  untuk  merancang  dan  membuat simulasinya.
Automata merupakan  suatu  sistem  yang terdiri  atas  sejumlah  berhingga state ,  di  mana state menyatakan  informasi  mengenai  input.
Automata juga dianggap sebagai mesin otomatis  (bukan  mesin  fisik)  yang  merupakan suatu model matematika dari suatu sistem yang menerima input dan menghasilkan output, serta terdiri  dari  sejumlah  berhingga state (F. Utdirartatmo, 2019).
Sudiadi  dan  Rizadi  (2017)  berpendapat bahwa hubungan di antara bahasa dan automata adalah  bahasa  dijadikan  sebagai input oleh suatu  mesin automata ,  selanjutnya  mesin automata akan  membuat  keputusan  yang mengindikasikan apakah input itu diterima atau tidak.
Finite  State  Automata (FSA)  merupakan mesin automata dari  bahasa  regular.  Suatu Finite  State  Automata memiliki state yang banyaknya  berhingga,  dan  dapat  berpindah- pindah  dari  suatu state ke state lain.  Secara formal finite  state  automata dinyatakan  oleh  5 tupel atau M=(Q, Σ, δ, S, F), di mana :
Q = himpunan state / kedudukan
Σ  =  himpunan  simbol input /  masukan  / abjad δ = fungsi transisi S  = state awal  /  kedudukan  awal  ( initial state )
F  =  himpunan state akhir  (Widyasari, 2011).
Vending  machine merupakan  suatu  alat atau  mesin  yang  menjual  barang  secara otomatis untuk memudahkan konsumen membeli  minuman  atau  makanan  ringan, sehingga  proses  jual-beli  dapat  lebih  mudah, efisiensi, praktis dan tidak menghabiskan waktu yang banyak (Rudi, 2014).
Android adalah  sistem  operasi  bersifat open  source berbasis  Linux  dirancang  untuk perangkat  seluler  layar  sentuh  seperti  telepon pintar  dan  komputer  tablet. Android awalnya dikembangkan  oleh  Android,  Inc.,  dengan dukungan finansial dari Google, yang kemudian membelinya  pada  tahun  2005.  Sistem  operasi ini  dirilis  secara  resmi  pada  tahun  2007, bersamaan  dengan  didirikannya Open  Ponsel Android pertama  mulai  dijual  pada  bulan Oktober  2008  (N.  Safat,  2012).  Kemudian untuk  mengembangkan Android ,  dibentuklah Open  Handset  Alliance yang  merupakan konsorsium dari 34 perusahaan perangkat keras, perangkat lunak  dan  telekomunikasi  (L.  Glenn, 2013).

## METODE
Sistem implementasi FSA dengan simulasi vending machine pada aplikasi android dirancang dengan menggunakan UML ( Unified Modelling Language ) yang terdiri dari use case diagram dan activity  diagram . Usecase diagram mendeskripsikan  sistem  dari  sudut pandang user dan admin .
Usecase diagram digunakan untuk
melihat  secara  visual  bagaimana  implementasi
perwujudan atau interaksi kejadian yang terjadi antara  pengguna  dengan vending  machine . Sistem  dirancang  menjadi  dua,  yaitu  user  itu sendiri dan admin.
Diagram  FSA  dibuat  untuk  melihat model matematika dari sistem simulasi vending machine pada  aplikasi android yang  menerima input dan output diskrit  yang  terdiri  dari user dan admin .
Gambar 1. Diagram FSA Pembeli
Keterangan : Q   = {q0,q1,q2,q3,q4,q5} E   = {pilih, 500, 1000, 2000, 5000, 10000, 20000, buy} S   = {q0} F   = {q5}
Tabel 1. Transisi Pembeli
Keterangan :
1. Proses q0 ke q1/q2/q3 = memilih minuman
2. Proses q1/q2/q3 ke q4 = memasukkan uang
3. Proses q4 ke q5 = beli, transaksi berhasil
http://journal.uny.ac.id/index.php/jee/

## Gambar 2. Diagram FSA Admin
Keterangan : Q = {q0,q1,q2,q3,q4,q5,q6,q7 } E = {login, set, wd, pilih1, pilih2, pilih3, set1, set2, set3} S = {q0} F = {q2,q7}
Tabel 2. Transisi Admin
Keterangan : 1. Proses q0 ke q1 = login
2. Proses q1 ke q2 = mengambil uang
3. Proses q1 ke q3 = pilih menu set item stock
4. Proses q3 ke q4/q5/q6 = memilih minumanProses q4/q5/q6 ke q7 = masukkan jumlah minuman yang akan ditambahkan
Prosedur  simulasi  penggunaan vending machine ini  mengacu  pada  desain Finite  State Automata yang  telah  dibuat.  Adapun  prosedur penggunaan  simulasi vending  machine adalah sebagai berikut:

## Prosedur sebagai User
1. Memilih jenis minuman
2. Memasukkan uang kedalam vending machine
3. Mengambil minuman yang telah dipilih dan mengambil uang kembalian (jika ada)
Prosedur sebagai Admin
1. Login
2. Set stock product
3. Mengambil uang
Untuk  merancang  sebuah  implementasi finite  state  automata (FSA)  dengan  simulasi vending  machine pada  aplikasi android ,  maka
diperlukan
konsep sederhana untuk menjalankan  implementasi vending  machine tersebut,  adapun  berikut  adalah  aturan  yang berlaku pada vending machine : 1. Pada  simulasi vending  machine ini, dimasukkan  3  jenis  produk  minuman  yaitu “mizone”  dengan  harga  Rp5.500,  “hydro coco”  dengan  harga  Rp5.000,  dan  “pocari sweat” dengan harga Rp8.000.
2. Menetapkan  aturan  uang  minimal  yaitu Rp500, dan uang maksimal yaitu Rp20.000 yang  bisa  dimasukkan  oleh  pengguna, dengan  spesifikasi  uang  koin  yaitu  Rp500 dan  Rp1.000;  dan  uang  kertas  yaitu
Rp2.000, Rp5.000, Rp10.000,
dan Rp20.000.
Adapun
penambahan indikator pemesanan  dan  sistem  kembalian  dalam simulasi vending machine dengan aturan seperti pada tabel 3.
Tabel  3.  Indikator  Pemesanan  Dan  Sistem
Kembalian Minuman Mizone Jenis Mizone Harga No. Rp5.500 Jumlah Kembalian Kemungki nan Uang Koin yang dimasukka n 1. 500 x 11 5.500 - 2. 1000 x 5 + 500 5.500 - Kemungki nan Uang Kertas yang dimasukka n 3. 5.000 + 2000 7.000 1.500 4. 10.000 10.000 3.500 5. 20.000 20.000 14.500 Kemungki nan Uang Koin dan Kertas yang dimasukka n 6. 5.000 + 500 5.500 - 7. 10.000 + 500 10.500 5.000 Dst . Dst. Dst. Dst.
Dari  tabel  indikator  pemesanan  dan sistem  kembalian  minuman  mizone  diatas,  kita dapat  mengetahui  bahwa  minuman  mizone dengan  harga  Rp5.500  dapat  kita  beli  dengan memasukkan  sejumlah    uang  seperti  dalam tabel dengan memerhatikan kolom kemungkinan  uang  yang  dimasukkan.  Sebagai contoh, jika kita memasukkan uang seperti pada
nomor  3  dalam  tabel  diatas  yaitu  dengan memasukkan  uang  kertas  Rp5.000  +  Rp2.000 kita akan mendapat kembalian Rp1.500.
Kesimpulan yang dapat ditarik dari tabel indikator  pemesanan  dan  sistem  kembalian minuman  mizone  di  atas  yaitu  peluang kemungkinan  orang  memasukkan  uang  koin Rp500 sebanyak 14 kali dan selanjutnya dibagi dengan  jumlah  kemungkinan  memasukkan sejumlah  uang  yaitu  ada  7,  jadi  14/2=2; kemungkinan  dimasukkan  uang  koin  Rp1.000 sebanyak  5  kali  dibagi  7  =  5/7;  kemungkinan dimasukkan  uang  kertas  Rp2.000  sebanyak  1 kali  dibagi  7  =  1/7;  kemungkinan  dimasukkan uang kertas Rp5.000 sebanyak 2 kali dibagi 7 = 2/7;  kemungkinan  dimasukkan  uang  kertas Rp10.000  sebanyak  2  kali  dibagi  7  =  2/7;  dan kemungkinan dimasukkan uang kertas Rp20.000 sebanyak 1 kali dibagi 7 = 1/7.
Tabel  4.  Indikator  Pemesanan  dan  Sistem
Kembalian Minuman Hydro Coco Jenis Hydro Coco Harga No. Rp5.000 Jumlah   Kembalian Kemungkinan Uang Koin 1. 500 x 10 5.000 - 2. 1000 x 5 5.000 - Kemungkinan Uang Kertas 3. 5.000 5.000 - 4. 10.000 10.000 5.000 5. 20.000 20.000 15.000 Kemungkinan Uang Koin dan Kertas 6. 2.000 + 1000x3 5.000 - Dst. Dst. Dst. Dst.
Dari  tabel  indikator  pemesanan  dan sistem  kembalian  minuman  hydro  coco,  dapat diketahui  bahwa  minuman  hydro  coco  dengan harga Rp5.000 dapat dibeli dengan memasukkan  sejumlah    uang  seperti  dalam tabel dengan memperhatikan kolom kemungkinan  uang  yang  dimasukkan.  Sebagai contoh, jika kita memasukkan uang seperti pada nomor  4  dalam  tabel  4  yaitu  dengan
http://journal.uny.ac.id/index.php/jee/
memasukkan  uang  kertas  Rp10.000,  kita  akan mendapat kembalian Rp5.000.
Kesimpulan yang dapat ditarik dari tabel indikator  pemesanan  dan  sistem  kembalian minuman hydro coco yaitu peluang kemungkinan  orang  memasukkan  uang  koin Rp500 sebanyak 10 kali dan selanjutnya dibagi dengan  jumlah  kemungkinan  memasukkan sejumlah  uang  yaitu  ada  6,  jadi  10/6; kemungkinan  dimasukkan  uang  koin  Rp1.000 sebanyak  8  kali  dibagi  6  =  8/6;  kemungkinan dimasukkan  uang  kertas  Rp2.000  sebanyak  1 kali  dibagi  6  =  1/6;  kemungkinan  dimasukkan uang kertas Rp5.000 sebanyak 1 kali dibagi 6 = 1/6;  kemungkinan  dimasukkan  uang  kertas Rp10.000  sebanyak  1  kali  dibagi  1  =  1/7;  dan kemungkinan dimasukkan uang kertas Rp20.000 sebanyak 1 kali dibagi 6 = 1/6.
Tabel  5.  Indikator  Pemesanan  dan  Sistem Kembalian Minuman Pocari Sweat Jenis Pocari Sweat Harga No. Rp8.000  Jumlah   Kembalian Kemungkinan Uang Koin 1. 500 x 16 8.000 - 2. 1000 x 8 8.000 - Kemungkinan Uang Kertas 3. 5.000 + 2000 + 1.000 8.000 - 4. 10.000 10.000 2.000 5. 20.000 20.000 12.000 Kemungkinan Uang Koin dan Kertas 6. 5.000+ 1.000x3 8.000 - 7. 5.000 + 2.000 + 1.000 8.000 - Dst. Dst. Dst. Dst.
Dari  tabel  indikator  pemesanan  dan sistem kembalian minuman pocari sweat,  dapat diketahui bahwa minuman pocari sweat dengan harga Rp8.000 dapat dibeli dengan memasukkan  sejumlah    uang  seperti  tabel  5 dengan  memerhatikan  kolom  kemungkinan uang  yang  dimasukkan.  Sebagai  contoh,  jika dimasukkan  uang  seperti  pada  nomor  4  dalam
tabel  5  yaitu  dengan  memasukkan  uang  kertas Rp10.000 akan mendapat kembalian Rp2.000.
Kesimpulan yang dapat ditarik dari tabel indikator  pemesanan  dan  sistem  kembalian minuman pocari sweat yaitu peluang kemungkinan  orang  memasukkan  uang  koin Rp500 sebanyak 16 kali dan selanjutnya dibagi dengan  jumlah  kemungkinan  memasukkan sejumlah  uang  yaitu  ada  7,  jadi  16/7; kemungkinan  dimasukkan  uang  koin  Rp1.000 sebanyak 13 kali dibagi 7 = 13/7; kemungkinan dimasukkan  uang  kertas  Rp2.000  sebanyak  2 kali  dibagi  7  =  2/7;  kemungkinan  dimasukkan uang kertas Rp5.000 sebanyak 3 kali dibagi 7 = 3/7;  kemungkinan  dimasukkan  uang  kertas Rp10.000  sebanyak  1  kali  dibagi  7  =  1/7;  dan kemungkinan dimasukkan uang kertas Rp20.000 sebanyak 1 kali dibagi 7 = 1/7.
Sistem Kembalian Menggunakan Algoritma Optimasi. Algoritma optimasi merupakan  suatu  algoritma  yang  berfungsi untuk  memecahkan  persoalan  dengan  mencari solusi optimum. Dalam penelitian ini, algoritma optimasi  digunakan  dalam  hal  mencari  solusi optimal  dalam  pengembalian  uang  pada vending  machine dengan  hanya  memberikan uang  koin  Rp1.000  dan  Rp500  dengan  syarat jika  pembeli  membeli  minuman  yang  harganya tidak  bulat  ribuan,  maka  sistem  kembaliannya yaitu  dengan  memberikan  uang  kembalian  1 keping  uang  koin  500  dan  sekian  keping  uang 1.000.  Misal,  pembeli  ingin  membeli  minum mizone  dengan  harga  5.500  rupiah.  Uang  yang dimasukkan pembeli ke mesin sejumlah 10.000 rupiah. Berarti uang kembalian yang dikeluarkan  mesin  adalah  4.500  rupiah,  maka pembeli  akan  memperoleh  nominal  uang kembalian  yaitu  4  keping  uang  1.000  dan  1 keping uang 500.

## HASIL DAN PEMBAHASAN
Penelitian  ini  menghasilkan  Sistem implementasi FSA dengan  simulasi vending machine pada  aplikasi android yang  dirancang
dengan menggunakan UML (Unified Modelling Language) yang terdiri dari user dan admin.
Gambar 3 Usecase Diagram User .
User dapat  melakukan  perintah  memilih minuman,  memasukan  uang  dan  mengambil minuman dan uang kembaian (jika ada). Admin dapat  melakukan  perintah  login,      mengatur stok produk, dan mengambil uang.
Gambar 4 Usecase Diagram Admin
Activity diagram menggambarkan sebuah alur  dari  rangkaian  kegiatan  yang  ada  pada sistem  yang  sedang  dirancang.  Jika vending machine dijalankan  oleh user ,  maka activity diagram akan tergambar seperti gambar 5.
Gambar 5 . Activity Diagram User
User mulai menjalankan mesin, kemudian  memilih  minuman  yang  diinginkan dan  memasukkan  uang  sesuai  yang  tertera, kemudian sistem akan mengecek dan menyamakan  antara input (uang)  dan output (minuman)  yang  dipilih,  jika  sudah  sesuai, maka vending  machine akan  mengeluarkan output (minuman)  sesuai  keinginan  dan  sistem akan  mengurangi  stok  minuman,  lalu  tahap terakhir ,  user mengambil  minuman  yang  telah dikeluarkan vending  machine .  Apabila user ingin membeli lagi, alurnya akan terulang mulai dari memilih minuman ke vending machine .
Kemudian activity  diagram  admin dapat dilihat pada gambar 6.
http://journal.uny.ac.id/index.php/jee/
Gambar 6. Activity Diagram Admin
Activity diagram admin tergambar perihal  mengisi  ulang  stok  minuman.  Dimulai dari login, kemudian sistem akan menampilkan informasi  minuman  yang  akan  tampil  didalam vending machine , kemudian admin melihat stok minuman,  jika  dirasa  telah  menipis  maka  stok minuman akan ditambah, dan jika tidak, activity diagram selesai sampai tahap tersebut.
Penelitian  ini  menghasilkan  sebuah rancangan user  interface implementasi finite state  automata  (FSA) dengan  simulasi vending machine pada  aplikasi android menggunakan bahasa pemrograman.
Tampilan user pada  saat  pertama  kali membuka  aplikasi android dengan  menu pilihan  pada vending  machine adalah  minuman Mizone
Gambar 7. Tampilan User Dengan minuman
“mizone”
Tampilan user pada aplikasi android jika user melakukan swipe ke  arah  kanan,  maka akan  muncul  tampilan  pada vending  machine dengan pilihan minuman berupa Pocari Sweat
Gambar 8. Tampilan User Dengan Minuman Pocari Sweat
Tampilan user pada aplikasi android jika user  melakukan swipe ke  arah  kanan,  maka akan  muncul  tampilan  pada vending  machine dengan pilihan minuman berupa Hydro Coco
Gambar 9. Tampilan User Dengan Minuman Hydro Coco User ketika telah memilih jenis minuman,  maka  akan  keluar  tampilan  gambar produk  yang  dipilih  beserta  harga  dan  jumlah stok minuman.
Gambar 10. Tampilan User Setelah Memilih Minuman Mizone
Ketika user telah  membeli  minuman yang dipilih, maka transaksi berhasil, dan akan ditampilkan rincian harga dan kembaliannya.
Gambar 11. Tampilan User Setelah Proses Pembelian Dilakukan
Tampilan  ketika  admin  login  dengan memasukkan password.
Gambar 12. Tampilan Halaman Login Admin
Setelah login, maka akan keluar tampilan pilihan  “ set  item  stock ”  untuk  menambahkan jumlah  produk  dan  “ withdraw ”  untuk mengambil uang.
http://journal.uny.ac.id/index.php/jee/

## Gambar 13. Tampilan Admin  Setelah Login
Ketika  admin  memilih  “ set  item  stock ” maka admin akan  memasukkan  jumlah  produk yang akan ditambahkan.
Gambar 14. Tampilan Admin Untuk Menambah Stok Produk
Ketika admin memilih  “ withdraw ” maka akan  ditampilkan  sejumlah  uang  hasil  yang kemudian diambil oleh admin .
Gambar 15. Tampilan Admin Untuk Mengambil Uang

## SIMPULAN
Dari  hasil  penelitian  implementasi Finite State Automata (FSA) dengan simulasi vending machine pada android, hasil  FSA  menunjukan penggunaan vending machine sangat sederhana. Penggunaan  FSA  sebagai  dasar  pengoperasian vending  machine menjelaskan  konsep  kerja vending  machine secara  detail  sehingga  mudah untuk  dipahami.  Dari  hasil  diagram  FSA  dapat di  buat  konsep  logika  sederhana  untuk implementasi vending machine.

## DAFTAR RUJUKAN
F.  Utdirartatmo.  2005. Teori  Bahasa  dan Otomata,  Kedua .  Yogyakarta:  Graha Ilmu.
K. Kim, D. Park, H. Bang, G. Hong, and S. Jin. 2014. Smart  Coffee  Vending  Machine Using  Sensor  and  Actuator  Networks , pp. 71–72.
L.  Glenn.  2013.  Rancang  Bangun  Aplikasi Pembelajaran  Budaya  Indonesia  Untuk Anak  Sekolah  Dasar  Berbasis  Android. Jurnal  Ilmiah  Komputasi , vol  12  (1) . STMIK Jakarta, hal 1-6.
M.  S.  A.  S,  M.  Syai,  J.  Endrasmono,  S.  T. Sarena, L. Subiyanto, and A. S. Setyoko. 2017. Smart  Vending  Machine  Based  on SMS Gateway For General Transactions ,
no. 2, pp. 34–39.
N.  Safat.  2012. Pemrograman  Aplikasi  Mobile Smartphone  dan  Tablet  PC  Berbasis Android . Bandung: Informatika Bandung.
Rudi.  11  Juni  2014.  6 Inovasi  tebaru  Vending
Machine . dalam http://www.ceriwis.web.id/lounge/94686 4-  wow-inilah-6-inovasi-terbaru-mesin- penjual.html,  diakses  pada  8  November
2019.
Sudiadi  dan  Teguh  Rizadi.  2017. Komputer Global  Informatika .  Sekolah  Tinggi
Manajemen Informatika dan MDP.
Wamiliana, Ossy Dwi Endah W, Marisa Ayu Rahmadhani. 2013. Pengembangan   Algoritma  Mow  dan Generalisasi Bahasa Automata untuk Proses Pembuatan Minuman Serta  Pengembalian Uang pada Desain  Mesin  Kopi  Otomatis.
Jurnal   Ilmu Komputer,  Vol.1,  No.
2.
Widyasari.  2011. Telaah  Teoritis  Finite  State Automata  dengan  Pengujian  Hasil  pada Mesin  Otomata .  Pontianak  :  Sekolah Tinggi  Manajemen  Informatika  dan
Komputer.