1
Blantika: Multidisciplinary Jornal
Volume 3 Number 4, Februari, 2025
p- ISSN 2987-758X e-ISSN 2985-4199
Pengenalan Konsep Dasar Automata: Sebuah Tinjauan melalui
Contoh Mesin Penjual Otomatis
Fahreza Mandala Putra, Rifqi Arya Putra, Muhammad Dhiwa Rahma Fathani,
Faiz Nur Aqil, Merdeka Agustia Rizkyani
Universitas Ahmad Dahlan, Indonesia
E-mail: tedy.setiadi@tif.uad.ac.id, 2200018249@webmail.uad.ac.id,
2200018250@webmail.uad.ac.id, 2200018252@webmail.uad.ac.id,
2200018256@webmail.uad.ac.id
ABSTRAK
Automata theory merupakan cabang ilmu komputer yang mempelajari model matematika untuk
komputasi. Salah satu aplikasi nyata dari konsep ini adalah mesin penjual otomatis (vending
machine). Tujuan penelitian ini adalah untuk memperkenalkan konsep dasar automata,
khususnya finite state automata (FSA), dan menunjukkan aplikasinya melalui contoh mesin
penjual otomatis. Metode yang digunakan adalah studi literatur dan simulasi, di mana model
FSA dikembangkan dan diimplementasikan menggunakan bahasa pemrograman Python. Hasil
penelitian menunjukkan bahwa model FSA berhasil menangani validasi input, memberikan
kembalian, dan memastikan transisi status yang tepat dalam mesin penjual otomatis.
Kesimpulan dari penelitian ini adalah bahwa penerapan teori automata dapat meningkatkan
efisiensi dan keandalan sistem komputasi dalam kehidupan sehari-hari. Penelitian ini juga
membuka peluang untuk pengembangan lebih lanjut dalam aplikasi automata di berbagai
bidang.
Kata Kunci: teori automata; FSA; mesin penjual otomatis; model komputasi; diagram state.
ABSTRACT
Automata theory is a branch of computer science that studies mathematical models for
computation. One of the real applications of this concept is vending machines. The purpose of
this study is to introduce the basic concept of automata, especially finite state automata (FSA),
and demonstrate its application through the example of a vending machine. The methods used
are literature study and simulation, where the FSA model is developed and implemented using
the Python programming language. The results of the study show that the FSA model
successfully handles input validation, provides returns, and ensures proper state transitions in
vending machines. The conclusion of this study is that the application of automata theory can
improve the efficiency and reliability of computing systems in everyday life. This study also
opens up opportunities for further development in automata applications in various fields.
Keywords: automata theory; FSA; vending machine; computation model; state diagram.
qw56
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
International
PENDAHULUAN
Automata adalah model formal yang digunakan untuk mempelajari proses komputasi.
Teori ini memiliki beragam aplikasi, seperti dalam pengenalan pola, pengolahan bahasa
alami, dan desain sistem terdistribusi (Mitzenmacher & Upfal, 2017). Salah satu contoh
praktis yang mudah dipahami adalah mesin penjual otomatis, yang dapat dimodelkan
2
menggunakan finite state automata (Dean, 2015). Automata berfungsi untuk memodelkan
perilaku sistem yang memiliki sejumlah status terbatas dan transisi antar status berdasarkan
input yang diterima (Alrehily et al., 2015). Dalam konteks ini, automata dapat
menggambarkan bagaimana sistem beroperasi dan mengambil keputusan berdasarkan
kondisi saat ini dan masukan yang diberikan (F-MIPA, n.d.).
FSA adalah jenis automata yang memiliki jumlah status terbatas dan berfungsi untuk
menentukan bagaimana sistem bertransisi dari satu status ke status lainnya berdasarkan input
tertentu (Saragih et al., 2020). Dalam mesin penjual otomatis, status mencerminkan jumlah
uang yang telah dimasukkan, sementara fungsi transisi menentukan bagaimana mesin beralih
dari satu status ke status lainnya berdasarkan input uang yang diberikan. Dengan
menggunakan model FSA, kita dapat memahami bagaimana mesin penjual otomatis
beroperasi dan menghasilkan output sesuai dengan input yang diterima (Khodijah et al.,
2024).
Konsep automata menjadi semakin penting seiring dengan berkembangnya teknologi
komputasi modern (Abdullah et al., 2022). Dalam era digital ini, pemahaman mendalam
tentang teori automata membantu para insinyur dan pengembang dalam merancang sistem
yang lebih efisien dan handal (Irawan et al., 2012). Implementasi automata dapat ditemukan
dalam berbagai bidang, mulai dari sistem keamanan hingga artificial intelligence (Erni et
al., 2020).
Automata theory penting dalam memahami bagaimana sistem komputer bekerja,
terutama yang melibatkan proses keputusan (Hamdan, 2022). Mesin penjual otomatis adalah
contoh nyata penerapan konsep ini, di mana status sistem bergantung pada masukan yang
diterima (Fauzi et al., 2024). Dalam penelitian ini, dijelaskan secara rinci model automata,
aplikasi dalam mesin penjual otomatis, dan manfaatnya dalam kehidupan sehari-hari (Arifin
et al., 2017).
Mesin penjual otomatis merupakan perangkat yang menerima input berupa uang dan
memberikan output berupa barang yang diinginkan oleh pengguna (Ezhilarasu & Krishnaraj,
2015). Mesin ini harus dapat mengenali denominasi uang yang valid, menghitung jumlah
uang yang dimasukkan, dan menentukan kapan barang harus dikeluarkan atau kapan harus
mengembalikan uang jika jumlah yang dimasukkan melebihi harga barang (Nabhan et al.,
2023).
Dalam konteks teori automata, mesin penjual otomatis dapat dimodelkan sebagai finite
state automata (FSA), yang terdiri dari himpunan status terbatas, fungsi transisi, status awal,
dan status akhir. Status-status dalam mesin ini mencerminkan jumlah uang yang telah
dimasukkan pengguna, sementara fungsi transisi menentukan bagaimana mesin beralih dari
satu status ke status lainnya berdasarkan input uang yang diberikan. Dengan pemodelan ini,
kita dapat memahami bagaimana konsep automata diterapkan dalam kehidupan nyata untuk
menyelesaikan permasalahan praktis.
Di era digital saat ini, pemahaman tentang teori automata menjadi semakin penting,
terutama dengan berkembangnya teknologi komputasi yang kompleks. Automata berfungsi
sebagai dasar dalam memodelkan sistem yang memiliki status terbatas dan transisi
berdasarkan input tertentu. Meskipun banyak yang telah dibahas tentang teori automata,
3
masih terdapat kesenjangan dalam pemahaman aplikasi praktisnya, terutama dalam konteks
mesin penjual otomatis. Banyak orang belum memahami bagaimana automata dapat
diterapkan untuk menyelesaikan masalah sehari-hari dalam sistem yang tampaknya
sederhana.
Beberapa penelitian sebelumnya mengeksplorasi konsep dan teori automata, namun
sedikit yang fokus pada penerapannya dalam sistem nyata, seperti mesin penjual otomatis.
Penelitian ini bertujuan untuk menjembatani kesenjangan tersebut dengan memberikan
contoh konkret.
Urgensi penelitian ini terletak pada kebutuhan untuk memahami cara kerja sistem yang
sering kita gunakan sehari-hari. Dengan memahami dasar-dasar teori automata, kita dapat
meningkatkan desain dan implementasi sistem yang lebih efisien dan andal. Novelty dari
penelitian ini adalah pemodelan mesin penjual otomatis sebagai finite state automata (FSA)
serta simulasi yang dilakukan menggunakan bahasa pemrograman Python. Hal ini
memberikan pendekatan yang lebih praktis dan mudah dipahami bagi pembaca.
Tujuan penelitian ini adalah untuk memperkenalkan konsep dasar automata dan
menunjukkan aplikasinya melalui contoh mesin penjual otomatis, serta menerangkan
bagaimana FSA berfungsi dalam konteks sistem nyata. Manfaat dari penelitian ini
diharapkan dapat memberikan wawasan baru tentang penerapan teori automata dalam
kehidupan sehari-hari, serta meningkatkan pemahaman tentang desain sistem komputasi
yang efisien. Implikasi dari penelitian ini mencakup potensi pengembangan lebih lanjut
dalam aplikasi automata di berbagai bidang, seperti sistem keamanan, pengolahan bahasa,
dan kecerdasan buatan, yang dapat memberikan kontribusi signifikan terhadap kemajuan
teknologi.
METODE
Penelitian ini menggunakan metode studi literatur dan simulasi. Langkah-langkah
yang dilakukan meliputi:
1. Studi Literatur: Mengumpulkan informasi dari buku, artikel, dan jurnal yang
membahas teori automata dan implementasinya.
2. Pemodelan Matematis: Mendesain finite state automata (FSA) untuk mesin penjual
otomatis berdasarkan fungsi transisi dan status.
3. Simulasi: Mengimplementasikan model FSA menggunakan bahasa pemrograman
Python untuk mensimulasikan mesin penjual otomatis.
4. Analisis: Menganalisis hasil simulasi untuk memahami bagaimana model FSA bekerja
dalam kondisi nyata.
Langkah-langkah ini dilakukan untuk memastikan bahwa model automata yang
dihasilkan sesuai dengan kebutuhan sistem nyata dan mampu menangani berbagai skenario
yang mungkin terjadi.
HASIL DAN PEMBAHASAN
Pemodelan Matematis
Mesin penjual otomatis dimodelkan dengan status sebagai berikut:
4
1. q0q_0: Awal (Rp0)
2. q1q_1: Rp1000
3. q2q_2: Rp2000
4. q3q_3: Rp3000
5. q4q_4: Rp4000
6. q5q_5: Barang dikeluarkan (Rp5000)
Fungsi transisi δ\delta didefinisikan sebagai: δ(qi,uang)=qi+1, jika uang =
Rp1000\delta(q_i, \text{uang}) = q_{i+1}, \text{ jika uang = Rp1000} Jika pengguna
memasukkan uang lebih dari Rp5000, mesin memberikan kembalian dan kembali ke status
awal q0q_0.
Implementasi Simulasi
Simulasi dilakukan menggunakan Python dengan implementasi sebagai berikut:
Gambar 1. Implementasi Simulasi menggunakan Python
Kode ini mengimplementasikan mesin penjual otomatis berbasis Finite State
Automata (FSA) menggunakan bahasa Python. Program ini memiliki kelas
VendingMachineFSA yang merepresentasikan mesin penjual otomatis dengan beberapa
fitur utama:
Pemilihan Barang (select_item)
Pengguna memilih barang yang ingin dibeli dari daftar barang yang tersedia beserta
harganya.
Jika barang tersedia, sistem menyimpan pilihan barang dan menampilkan harga barang
tersebut.
5
Penerimaan Uang (insert_coin)
Pengguna memasukkan uang secara bertahap.Mesin menghitung total uang yang telah
dimasukkan.Jika uang yang dimasukkan cukup atau lebih, mesin mengeluarkan barang.Jika
uang yang dimasukkan lebih dari harga barang, mesin memberikan kembalian.Setelah
transaksi selesai, mesin kembali ke keadaan awal.
Kode ini menunjukkan bagaimana konsep FSA diterapkan dalam pemodelan sistem
nyata dengan transisi status yang jelas berdasarkan input pengguna.
Diagram Transisi
Berikut adalah diagram transisi untuk memvisualisasikan model:
q0 --(Rp1000)--> q1 --(Rp1000)--> q2 --(Rp1000)--> q3 --(Rp1000)--> q4 --
(Rp1000)--> q5
q5 --(Barang dikeluarkan)--> q0
Analisis Hasil
Hasil simulasi menunjukkan bahwa:
1. Model FSA berhasil menangani validasi input dan memastikan transisi status berjalan
sesuai desain.
2. Sistem dapat memberikan kembalian jika uang yang dimasukkan melebihi harga
barang.
3. Dengan pemodelan yang sederhana, FSA mampu mengakomodasi skenario umum
dalam mesin penjual otomatis.
4. Simulasi mengungkapkan pentingnya pemilihan status dan transisi agar mesin bekerja
secara optimal.
5. Sistem ini juga menunjukkan fleksibilitas untuk dikembangkan lebih lanjut, seperti
menambahkan opsi pilihan barang.
6. Pengujian menunjukkan bahwa mesin dapat menangani berbagai kemungkinan
kombinasi input tanpa mengalami eror atau deadlock.
7. Pendekatan berbasis automata memungkinkan analisis yang lebih sistematis
dibandingkan dengan pendekatan berbasis pemrograman prosedural.
Selain itu, hasil simulasi mengonfirmasi bahwa pendekatan finite state automata
mampu menangani berbagai skenario yang terjadi di dunia nyata (Bhonde & Thakur, 2018).
Dengan memanfaatkan model ini, mesin penjual otomatis dapat dioptimalkan lebih lanjut
dengan fitur tambahan, seperti dukungan untuk berbagai mata uang atau pilihan transaksi
digital. Hal ini menunjukkan bahwa teori automata tidak hanya relevan dalam konteks
akademik, tetapi juga memiliki aplikasi luas dalam bidang rekayasa perangkat lunak dan
sistem otomatisasi.
Penelitian ini memberikan pemahaman yang mendalam tentang bagaimana automata
dapat digunakan dalam sistem nyata. Konsep ini dapat diperluas untuk aplikasi lain seperti
ATM, sistem penguncian otomatis, dan pengenalan pola dalam kecerdasan buatan.
KESIMPULAN
Berdasarkan hasil analisis dapat disimpulkan bahwa melalui contoh mesin penjual
otomatis, kita dapat memahami bagaimana finite state automata digunakan untuk
memodelkan sistem yang memiliki status terbatas dan transisi berdasarkan input tertentu.
Model ini efektif untuk memecahkan permasalahan validasi input, kelebihan pembayaran,
dan desain status. Studi ini juga menunjukkan pentingnya pemodelan dan simulasi dalam
memahami penerapan teori automata dalam sistem nyata. Penelitian ini memberikan dasar
6
untuk pengembangan lebih lanjut, seperti penggunaan pushdown automata atau Turing
machine untuk sistem yang lebih kompleks.
REFERENSI
Abdullah, M., Gata, W., Putra, J. L., Novitasari, H. B., & Rahayu, S. (2022). Desain Vending
machine dengan Penerapan Finite State Automata Overview Methods. Jurnal
Algoritma, 19(1), 342348.
Alrehily, A., Fallatah, R., & Thayananthan, V. (2015). Design of vending machine using
finite state machine and visual automata simulator. International Journal of Computer
Applications, 115(18).
Arifin, S. M. S., SyaiIn, M., Endrasmono, J., Sarena, S. T., Subiyanto, L., Setyoko, A. S.,
Herijono, B., Soelistijono, R. T., Wahidin, A., & Soeprijanto, A. (2017). Smart
vending machine based on SMS gateway for general transactions. 2017 15th
International Conference on Quality in Research (QiR): International Symposium on
Electrical and Computer Engineering, 3439.
Bhonde, P. V, & Thakur, S. (2018). Review on Design Simulation of Smart Vending
Machine Using FPGA. Int. J. Res. Appl. Sci. Eng. Technol.
Dean, W. (2015). Computational complexity theory.
Erni, E., Titiani, F., Putri, S. A., & Gata, W. (2020). Penerapan Konsep Finite State Automata
Pada Aplikasi Simulasi Vending Machine Jamu Tradisional. Jurnal Informatika, 7(2),
141147.
Ezhilarasu, P., & Krishnaraj, N. (2015). Applications of Finite Automata in Lexical Analysis
and as a Ticket Vending MachineA Review. Int. J. Comput. Sci. Eng. Technol, 6(05),
267270.
F-MIPA, D. I. K. (n.d.). Buku Pedoman Program Studi Ilmu Komputer.
Fauzi, D., Hanim, H., Elwirehardja, G. N., Isnan, M., & Ihksan, M. (2024). Fondasi Ilmu
Komputer dari Algoritma hingga Kecerdasan Buatan.
Hamdan, H. (2022). Analisis Penerapan Konsep Finite State Automata dalam Proses
Penjurusan Menggunakan Aplikasi Automatic Skills Analysis Tools (Asa) pada
Sekolah Menengah Kejuruan (Smk) Bidang Keahlian Teknologi Informasi. Jurnal
Ilmiah Ilmu Komputer, 8(1), 2025.
Irawan, J. C., Pakereng, I. M. A., & Somya, R. (2012). Perancangan dan Implementasi Finite
Automata pada Simulasi Vending Machine. D\Cartesian: Jurnal Matematika Dan
Aplikasi, 1(1), 4252.
Khodijah, V., Thoyyibah, T., & Yunial, A. H. (2024). Buku Ajar Teori Bahasa dan
Automata.
Mitzenmacher, M., & Upfal, E. (2017). Probability and computing: Randomization and
probabilistic techniques in algorithms and data analysis. Cambridge university press.
Nabhan, M. F., Lantana, D., Zidni, P., Arofi, A., Habibbullah, P., Mukti, A. F., & Khadavi,
M. I. (2023). Simulator Mesin Deterministic Finite Automata (DFA) Berdasarkan
Diagram Transisi Menggunakan Python. Jurnal SISKOM-KB (Sistem Komputer Dan
Kecerdasan Buatan), 7(1), 2330.
Saragih, G. V., Faisal, A., & Gata, W. (2020). Desain Vending Machine Rokok Dengan
Mengimplementasikan Finite State Automata Terintegrasi Dengan E-KTP. MATICS:
Jurnal Ilmu Komputer Dan Teknologi Informasi (Journal of Computer Science and
Information Technology), 12(1), 5560.