Naufal Daffa Alfa Zain
5025241066
PBO A
Sistem Vending Coffee Machine adalah aplikasi yang mensimulasikan mesin penjual otomatis untuk minuman kopi. Pengguna dapat memilih jenis kopi, ukuran gelas, menambahkan gula atau susu, melakukan pembayaran, dan menerima kopi yang telah disiapkan oleh mesin.
Sistem ini mengelola stok bahan (kopi, gula, susu, air), memproses pembayaran, serta memberikan laporan transaksi dan status mesin.
Alur kerja Vending Coffee Machine
- Mesin aktif → menampilkan menu pilihan kopi.
- Pengguna memilih jenis dan ukuran kopi.
- Pengguna menambah gula/susu (opsional).
- Mesin menampilkan total harga.
- Pengguna melakukan pembayaran.
- Mesin memverifikasi pembayaran → jika cukup → membuat kopi.
- Kopi disajikan → sistem mengurangi stok.
- Transaksi disimpan ke log.
- Jika stok habis → admin diingatkan untuk refill
Ketentuan
1. Tentukan fitur yang ada pada mesin
- Tampilkan menu
- Pemilihan jenis kopi (5 jenis)
- Pemilihan size cup (3 cup)
- Verifikasi pembayaran
- Melihat stock Ingredient
- Mengurangi stock Ingredient
- Menyimpan transaksi ke log
- Menambah stock Ingredient
2. Gambarkan rancangan kelas dan rancangan objek vending coffee machine
Class Main
Tanggung Jawab:
Menginisialisasi dan menjalankan mesin kopi
Class CoffeeMachine
Atribut:
SUGAR_SHOT_GRAMS: int (5) - jumlah gram per shot gula
MILK_SHOT_ML: int (30) - jumlah ml per shot susu
LOW_STOCK_THRESHOLD: int (50) - batas peringatan stok rendah
scanner: Scanner - untuk membaca input pengguna
stock: Ingredient.Stock - manajemen stok bahan
transactions: List<Transaction> - daftar transaksi yang sudah dilakukan
active: boolean - status mesin (hidup/mati)
Class Coffee
Atribut:
displayName: String - nama tampilan kopi
basePrice: int - harga dasar kopi
recipe: Ingredient.Usage - resep bahan yang dibutuhkan
displayName: String - nama ukuran (Small/Medium/Large)
priceMultiplier: double - pengali harga (1.0, 1.15, 1.3)
Class Ingredient
Atribut:
coffeeGram: int - jumlah bubuk kopi (gram)
sugarGram: int - jumlah gula (gram)
milkMl: int - jumlah susu (ml)
waterMl: int - jumlah air (ml)
cups: int - jumlah gelas
Class Transaction
Atribut:
DateTimeFormatter - format tanggal/waktu untuk tampilan
time: LocalDateTime - waktu transaksi
3. Output simulasi
4. Implementasikan dalam bentuk aplikasi simulasi vending coffe machine
5.Buatlah Video Presentasi yang menjelaskan pekerjaanmu kemudian upload di Youtube
6.Buat Dokumentasi pengerjaan di blog, kemudian isi google form Link Pengumpulan ETS
No comments:
Post a Comment