Pengembangan Algoritma
Mow
dan Generalisasi Bahasa Automata untuk Proses
Pembuatan Minuman Serta Pengembalian Uang
pada Desain Mesin Kopi Otomatis
1Wamiliana, 2Ossy Dwi Endah W dan 3Marisa Ayu Rahmadhani
1,3Jurusan Ilmu Komputer FMIPA Unila 2Jurusan Matematika FMIPA Unila
Abstract
The remarkably development in science and technology influences the business trend. One of the mode of businesses that are used widely nowadays is vending machine. Vending machine is a machine that is able to serve client for food, drink and others after the costumers put money into machine slot. This research discusses about an application of coffee vending machine that can make variation of coffee and optimalize output of the money. In making this application, Finite State Automata (FSA) is applied to handle the problem for recognize language in making a drink and MOW algorithm used to optimalize output of money in transaction processing.
Keywords : Coffee Vending Machine, Finite State Automata, Optimalize, Algorithm
1.
Pendahuluan
Seiring dengan berkembangnya zaman, maka teknologi industri penjualan di dunia juga berkembang semakin pesat. Perkembangan teknologi tersebut juga berpengaruh terhadap pemikiran manusia yang semakin maju. Manusia banyak menciptakaan temuan-temuan baru yang selama ini belum ada di dunia. Salah satu temuan yang dibuat oleh manusia yaitu vending machine. Vending machine
merupakan suatu mesin penjual otomatis yang dapat mengeluarkan makanan atau minuman setelah pembeli menekan tombol tertentu sesuai dengan makanan atau minuman yang diinginkan, lalu melakukan transaksi dengan cara memasukkan uang ke slot pembayaran yang ada pada mesin tersebut [1]. Salah satu jenis mesin penjual otomatis yang mulai berkembang saat ini adalah mesin pembuat minuman kopi otomatis.
Mesin pembuat minuman kopi menyajikan minuman kopi dan variasinya. Harga kopi juga tentu beragam, sesuai dengan variasi dan komposisi minuman yang dipilih oleh konsumen. Oleh karena itu, suatu mesin pembuat minuman kopi otomatis diharapkan mampu membuat minuman yang sesuai dengan berbagai jenis pilihan yang diberikan dengan harga bervariasi sesuai dengan pilihan konsumen.
Untuk membuat mesin minuman kopi otomatis, tentu diperlukan algoritma dan konsep yang sesuai agar mesin dapat berjalan dengan baik. Algoritma yang digunakan dalam penelitian ini adalah algoritma MOW. MOW merupakan singkatan dari Marisa, Ossy dan Wamiliana yang merupakan peneliti dan dosen pembimbing dalam makalah ini. Algoritma diperlukan untuk mengetahui bagaimana proses bekerja mesin serta bagaimana memperoleh solusi optimal dalam pengembalian uang pada mesin kopi otomatis. Dalam penelitian ini, konsep yang digunakan adalah Finite State Automata (FSA).
Finite state automata
adalah mesin yang dapat mengenali kelas bahasa
regular [2]. FSA
dapat mengenal dan menangkap pola pada proses pembuatan minuman kopi. Beberapa penelitian tentang mesin otomatis sebelumnya telah pernah dilakukan, antara lain penerapan algoritma greedy untuk optimalisasi pengembalian koin pada vending machine keripik lampung, yangpenerapan konsep Finite State Automata (FSA) pada mesin pembuat minuman kopi otomatis, hanya memfokuskan pada permasalahan proses pembuatan minuman kopi tanpa membahas transaksinya [3]. Pada penelitian kali ini, peneliti akan melengkapi penelitian yang telah ada sebelumnya dengan cara mengembangkan algoritma MOW untuk pengembalian uang secara optimal dan generalisasi bahasa automata untuk proses pembuatan minuman pada desain mesin kopi otomatis.
Tujuan dari penelitian ini adalah merancang aplikasi vending machine yang dapat melakukan proses pembuatan minuman kopi secara otomatis dengan berbagai variasi dan menerapkan optimalisasi kembalian uang pada proses transaksi dalam aplikasi vending machine.
2.
Metodelogi
Metode pengembangan aplikasi yang digunakan dalam penelitian ini adalah metode Software Development Life Cycle (SDLC) yaitu model spiral. Model spiral (spiral model) merupakan suatu metode pengembangan software atau sistem dengan tahapan pengembangan yang dilakukan secara iterasi (berulang). Pada iterasi awal maka yang dihasilkan adalah prototype sedangkan pada iterasi akhir yang diperoleh adalah perangkat lunak yang sudah lengkap. Tahapan – tahapan pada model spiral yaitu komunikasi dengan calon user, perencanaan, analisis resiko, engineering, konstruksi dan peluncuran [5].
3.
Pembahasan
3.1
Penggunaan FSA
Konsep Finite State Automata (FSA) digunakan untuk menangkap dan mengenal pola dalam proses pembuatan minuman kopi, yaitu dengan membaca input yang diberikan dan masuk ke dalam proses pengecekan masukan tersebut sampai dengan state akhir kemudian akan melakukan proses sesuai dengan jalur input tersebut. Finite State Automata (FSA) akan membaca simbol masukan yang diberikan dari state awal sampai state akhir menuju ke prosesnya [3]. Berikut ini diagram transisi pada proses pembuatan minuman :
Keterangan State :
S0 = State awal S1 = Minuman kopi S2 = Minuman susu
S3 = Minuman coklat S4 = Minuman mocca S5 = Minuman kopi susu
S6 = Minuman kopi coklat S7 = Minuman susu coklat S8 = Gelas S
S9 = Gelas M S10 = Gelas L S11 = Bahan kopi
S12 = Bahan susu S13 = Bahan gula S14 = Bahan coklat
S15 = Air S16 = Aduk
Keterangan Transisi Antar State :
0 = Kembali ke state awal h = Pilih gelas S a = Pilih mimuman kopi i = Pilih gelas M b = Pilih minuman susu j = Pilih gelas L c = Pilih minuman coklat k = Kopi d = Pilih minuman mocca l = Susu e = Pilih minuman kopi susu m = Gula f = Pilih minuman kopi coklat n = Coklat g = Pilih minuman susu coklat o = Tambah air
p = Proses Aduk
3.2
Penggunaan Algoritma
MOW
Algoritma MOW merupakan suatu algoritma yang berfungsi untuk memecahkan persoalan optimasi untuk mencari solusi optimum. Dalam penelitian ini, algoritma MOW digunakan dalam hal mencari solusi optimal dalam pengembalian uang pada mesin kopi otomatis. Berikut ini algoritma MOW yang diterapkan pada aplikasi desain mesin kopi otomatis :
Inisialisasi n, i = integer;
hasil [i] = {0,0,0,0,0,0,0,0} of integer;
data[i] ={d1, d2, d3, d4, d5, d6, d7, d8} of integer; stok [i] = {s1, s2, s3, s4, s5, s6, s7, s8}of integer; total = X;
if total > 0 { for i = 1 to n {
if total >= data [i] { if stok [i] >= 1 { hasil = total / data [i];
if stok [i] < hasil [i] { hasil [i] = stok [i] } total = total – (hasil * data [i]) } else {
total = total mod data [i] } }
Berikut ini merupakan contoh optimalisasi uang kembalian pada aplikasi mesin kopi :
Tersedia jenis uang kertas dengan nominal 10.000, 5.000, 2.000, 1.000 dan uang koin dengan nominal 1000, 500, 200, 100.
Stok di database : 10.000 = 5 lembar 5.000 = 5 lembar 2.000 = 3 lembar 1.000 = 1 lembar 1.000 = 5 keping 500 = 10 keping 200 = 10 keping 100 = 100 keping
Pembeli ingin membeli satu gelas minuman dengan harga 2.700 rupiah. Uang yang dimasukkan pembeli ke mesin sejumlah 100.000 rupiah. Berarti uang kembalian yang dikeluarkan mesin adalah 97.300 rupiah, maka pembeli akan memperoleh nominal uang kembalian secara optimal. Nominal uang kembalian yang diperoleh oleh pembeli adalah sebagai berikut :
5 lembar uang 10000 5 lembar uang 5000 3 lembar uang 2000 1 lembar uang 1000 5 keping uang 1000 10 keping uang 500 10 keping uang 200 33 keping uang 100
3.3
Hasil Implementasi Sistem
Aplikasi ini difokuskan pada pengenalan pola dalam proses pembuatan minuman kopi secara otomatis serta optimalisasi pengembalian menggunakan algoritma WOM yang disimulasikan pada PC (Personal Computer), sehingga tidak membahas masalah cek atau deteksi uang, mengeluarkan minuman ataupun uang kertas dan koin sebenarnya. Aplikasi ini dapat membuat 8 jenis minuman yang berbeda-beda, yaitu kopi, susu, coklat, mocca, kopi susu, kopi coklat, susu coklat dan kopi non
gula. Masing-masing minuman tersebut mempunyai takaran dan bahan yang berbeda-beda dalam tahap proses pembuatannya. Bahan-bahan yang digunakan dalam proses pembuatan minuman adalah gula, kopi, susu, coklat, air, gelas S, gelas M dan gelas L. Masing-masing minuman memiliki harga yang berbeda-beda sesuai dengan komposisi yang digunakan.
Fitur yang tersedia pada beberapa mesin otomatis umumnya hanya melayani pembelian dengan nominal harga yang seragam, sedangkan pada aplikasi mesin kopi otomatis ini melayani pembelian dengan nominal harga yang bervariasi sesuai dengan jenis minuman dan jenis ukuran gelas yang dipilih pembeli. Kelebihan lainnya pada mesin kopi otomatis ini yaitu dapat menerima dan mengeluarkan semua jenis nominal uang kertas serta koin dalam bentuk rupiah.
Gambar 2. Flowchart Aplikasi Desain Mesin Kopi Otomatis
Gambar berikut ini merupakan tampilan aplikasi menu utama dan isi stok pada desain mesin kopi otomatis :
Gambar 3. Tampilan Menu Utama Aplikasi Desain Mesin Kopi Otomatis
3.4
Pengujian
Pengujian yang digunakan pada penelitian ini adalah metode Black Box. Metode Black Box
merupakan kegiatan pengujian perangkat lunak yang ditujukan pada fungsional aplikasi [5].
Tabel 1. Hasil Pengujian Aplikasi
No. Pengujian Detail Keterangan
1. Fungsi Aplikasi a. Kesesuaian input pilihan dengan
output
Sesuai, karena output sesuai dengan input
yang diberikan pengguna
b. Kesesuaian outputgrammar Sesuai, karena input yang diberikan pengguna sesuai dengan grammar yang ditampilkan aplikasi
c. Kesesuaian harga minuman Sesuai, karena harga yang ditampilkan sesuai dengan minuman yang dipilih
d. Kesesuaian uang kembalian Total kembalian telah sesuai, yaitu uang yang dimasukkan dikurang harga minuman e. Kesesuaian optimalisasi
pengembalian
Sesuai, karena telah menampilkan kembalian uang secara optimalisasi
f. Proses pengurangan stok bahan Sesuai, karena stok berkurang sesuai dengan takaran yang dibutuhkan
g. Proses pengisian stok bahan Sesuai, stok bahan bertambah sesuai dengan jumlah yang dimasukkan
h. Proses penambahan dan pengurangan stok uang
Stok uang bertambah sesuai dengan uang yang dimasukkan pengguna
i. Proses pengisian stok uang pada isi stok
Sesuai, karena stok bertambah sesuai dengan jumlah yang dimasukkan admin
j. Kesesuain output apabila stok uang kembalian kurang
Sesuai, karena aplikasi tidak dapat mengeluarkan kembalian dan langsung menampilkan respon untuk pengguna. k. Kesesuain output apabila stok
uang kembalian cukup
Sesuai, kembalian telah optimal dan mesin menampilkan output kembalian uang. l. Kesesuain output apabila uang
penuh saat melakukan pembelian
Sesuai, karena aplikasi menampilkan respon bahwa nominal uang yang dimasukkan pada di mesin sudah penuh
m. Kesesuaian output apabila uang yang dimasukkan kurang dari harga minuman
Sesuai, karena mesin menampilkan respon bahwa uang yang dimasukkan kurang.
2. Interface Aplikasi a. Menampilkan menu petunjuk Sesuai b. Proses manipulasi tombol Sesuai c. Respon aplikasi (message box) Sesuai
4.
Kesimpulan
Berdasarkan hasil analisis dan pengujian yang telah dilakukan, dapat diambil kesimpulan yaitu : 1. Konsep Finite State Automata (FSA) dapat digunakan sebagai salah satu alternatif untuk
merancang suatu mesin pembuat minuman kopi otomatis yang fleksibel.
2. Algoritma MOW digunakan untuk pengembalian uang dengan solusi optimal, yaitu dengan cara mengeksekusi nilai nominal uang terbesar ke nilai nominal uang terkecil.
3. Solusi optimal pada aplikasi mesin kopi otomatis dipengaruhi oleh jumlah persediaan uang kertas dan uang koin yang tersedia pada stok uang.
5.
Referensi
[1] Fitria dan Ayu Kartika S. 2009. Pemodelan Mesin Jaja (Vending Machine) dengan Menggunakan Object Oriented Analysis and Design. http://e-riset. darmajaya.ac.id/jurnal-ik/wp- content/uploads/2009/10/Jurnal_Fitriayu.pdf.
[2] Lenti, Febri Nova. 2006. Pendekatan Teori Automata Untuk Menyelesaikan Aplikasi-Aplikasi di Bidang Ilmu Kecerdasan Buatan. Seminar Ilmiah Nasional Komputer dan Sistem Intelijen, Agustus 2006.
[3] Melly, Rizky Indah., Wamiliana., Didik Kurniawan. 2012. Penerapan Konsep Finite State Automata (FSA) Pada Mesin Pembuat Minuman Kopi Otomatis. Jurnal komputasi, Desember 2012, Vol 1, No. 1
[4] Nurhayati, 2011. Implementasi Algoritma Greedy Untuk Optimalisasi Pengembalian Koin Pada Vending Machine Kerupuk Lampung. Skripsi. Universitas Lampung.
[5] Rosa dan Shalahuddin, M. 2011. Modul Pembelajaran Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Modula : Bandung.