Monday, 13 October 2025

Vending Machine - Jump Start

 











🧾 Spesifikasi Sistem: Vending Coffee Machine

1. Deskripsi Umum

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.


2. Tujuan Sistem

  • Menyediakan simulasi interaktif untuk pemesanan kopi otomatis.

  • Mengelola transaksi antara pengguna dan mesin.

  • Memastikan stok bahan selalu terpantau.

  • Memberikan laporan penggunaan dan pendapatan mesin.


3. Fitur Utama

NoFiturDeskripsi
1Pilih Jenis KopiPengguna dapat memilih jenis kopi: Espresso, Cappuccino, Latte, Americano.
2Pilih Ukuran CupPilihan ukuran: Small, Medium, Large.
3Atur TambahanTambahkan gula dan/atau susu sesuai preferensi.
4PembayaranPembayaran menggunakan uang koin atau kartu (simulasi).
5Proses Pembuatan KopiSistem akan memproses pembuatan kopi sesuai pilihan pengguna.
6Tampilkan StatusMenampilkan status mesin: sedang membuat kopi, siap, atau kehabisan bahan.
7Laporan Stok dan TransaksiAdmin dapat melihat laporan bahan dan hasil penjualan.

4. Spesifikasi Teknis

KomponenDeskripsi
Bahasa PemrogramanJava (Object-Oriented)
Desain UMLClass Diagram, Use Case Diagram
Penyimpanan DataFile atau Database sederhana (mis. coffeeData.txt / SQLite)
InterfaceConsole / GUI (opsional)
Unitml (air/susu), gram (kopi/gula)
Mode AdminUntuk pengecekan stok dan pengisian ulang bahan

5. Daftar Class dan Tanggung Jawab

ClassDeskripsi / Tanggung Jawab
CoffeeMachineKelas utama yang mengatur seluruh proses pembuatan kopi, transaksi, dan manajemen stok.
CoffeeTypeEnum atau class untuk menyimpan jenis kopi dan harganya (Espresso, Cappuccino, dll).
IngredientStockMengelola stok bahan (kopi, gula, susu, air). Memiliki metode checkStock(), reduceStock(), dan refill().
OrderMenyimpan detail pesanan (jenis kopi, ukuran, tambahan gula/susu).
PaymentMengelola proses pembayaran dan validasi uang yang dimasukkan pengguna.
DisplayMenampilkan menu, status, dan hasil transaksi kepada pengguna.
AdminPanelFitur untuk admin melihat laporan transaksi dan stok bahan.
TransactionMenyimpan riwayat pembelian (waktu, jenis kopi, total harga).

6. Atribut Utama (contoh per class)

CoffeeMachine

  • IngredientStock stock

  • List<Transaction> transactions

  • boolean isActive

Order

  • CoffeeType type

  • String size

  • boolean addMilk

  • boolean addSugar

  • double totalPrice

IngredientStock

  • int coffeeGrams

  • int milkMl

  • int sugarGrams

  • int waterMl

Payment

  • double amountInserted

  • double totalCost

  • boolean processPayment()

Transaction

  • LocalDateTime dateTime

  • String coffeeType

  • double amountPaid


7. Use Case Diagram (Deskripsi Tekstual)

Aktor:

  • User

  • Admin

Use Case:

  • User:

    • Memilih kopi

    • Memasukkan pembayaran

    • Menerima kopi

  • Admin:

    • Melihat laporan transaksi

    • Mengisi ulang stok bahan


8. Alur Sistem (Flow)

  1. Mesin aktif → menampilkan menu pilihan kopi.

  2. Pengguna memilih jenis dan ukuran kopi.

  3. Pengguna menambah gula/susu (opsional).

  4. Mesin menampilkan total harga.

  5. Pengguna melakukan pembayaran.

  6. Mesin memverifikasi pembayaran → jika cukup → membuat kopi.

  7. Kopi disajikan → sistem mengurangi stok.

  8. Transaksi disimpan ke log.

  9. Jika stok habis → admin diingatkan untuk refill.


9. Contoh Output Console

Welcome to Smart Coffee Vending Machine Select Coffee Type: 1. Espresso 2. Cappuccino 3. Latte 4. Americano > 2 Select Size: (1) Small (2) Medium (3) Large > 2 Add milk? (y/n) > y Add sugar? (y/n) > n Total Price: Rp 12.000 Insert money: > 12000 Payment accepted. Preparing your Cappuccino... Your coffee is ready!Enjoy!

10. Ekstensi (Optional Features)

  • Pembayaran dengan QR Code.

  • Sensor suhu kopi.

  • Statistik pembelian per hari.

  • Mode hemat energi (auto-off).

  • Tampilan GUI berbasis JavaFX / Swing.



No comments:

Post a Comment

Job Builder

  https://www.youtube.com/watch?v=5b15m4N1Heg