ETS PBO
Muhammad rafi budi purnama
5025221307
PBO B
Code : https://github.com/mbahbud/Vending-machine-.git
Vidio : https://youtu.be/I-1Lm-gUnFw
ETS PBO
work flow , masuk ke link ada di gambar unutk memperjelas gambarnya
PENJELASAN RINGKAS SISTEM VENDING MACHINE
1. DESKRIPSI UMUM SISTEM
Sistem Vending Snack Machine adalah aplikasi simulasi mesin penjual otomatis berbasis Java yang memungkinkan pengguna membeli produk makanan dan minuman secara mandiri. Sistem ini mengelola 24 jenis produk dalam 4 kategori (Snack, Minuman, Coklat, Biskuit), memproses pembayaran, menghitung kembalian otomatis, serta menyimpan log transaksi lengkap.
2. FITUR UTAMA
✅ Manajemen Produk: 24 produk dengan kategori, harga, dan stok
✅ Proses Transaksi: Validasi stok, pembayaran, dan perhitungan kembalian
✅ Log Transaksi: Pencatatan otomatis dengan ID unik dan timestamp
✅ Monitoring Stok: Notifikasi otomatis untuk stok rendah (≤3 unit)
✅ Mode Admin: Refill stok dengan password (admin123)
✅ Laporan: Status mesin, total transaksi, dan total pendapatan
3. ARSITEKTUR SISTEM (5 CLASS)
A. Class Product → Menyimpan data produk (ID, nama, harga, stok, kategori)
B. Class Payment → Mengelola pembayaran dan validasi uang cukup atau tidak
C. Class Transaction → Mencatat setiap transaksi dengan ID otomatis dan timestamp
D. Class VendingMachine → Otak sistem yang mengatur semua proses bisnis
E. Class Main → Interface user untuk interaksi dengan menu
4. ALUR KERJA SISTEM
User → Pilih Menu → Input Data → Validasi → Proses → Output
Detail Proses Pembelian:
- User memilih produk berdasarkan kode (A1, B2, dll)
- Sistem validasi: Produk ada? Stok ada? Uang cukup?
- Jika valid: Kurangi stok → Hitung kembalian → Simpan transaksi
- Tampilkan struk digital dengan informasi lengkap
- Cek stok rendah → Warning otomatis
5. TEKNOLOGI & KONSEP OOP
Struktur Data:
HashMap<String, Product>→ Akses produk cepat berdasarkan kodeArrayList<Transaction>→ Menyimpan history transaksi berurutan
Konsep OOP:
- Encapsulation: Atribut private, akses via getter/setter
- Constructor: Inisialisasi objek dengan parameter
- Collection Framework: Map & List untuk manajemen data
- Exception Handling: Try-catch untuk validasi input
6. VALIDASI & KEAMANAN
✓ Validasi produk tersedia
✓ Validasi stok mencukupi
✓ Validasi pembayaran cukup
✓ Password admin untuk refill
✓ Input validation untuk mencegah error
7. OUTPUT SISTEM
Log Transaksi:
ID: TRX0001 | Produk: Chitato | Harga: Rp10000 |
Bayar: Rp15000 | Kembalian: Rp5000 |
Waktu: 15-10-2025 14:30:45
Status Mesin:
- Total Transaksi: 10
- Total Pendapatan: Rp125.000
- Produk Stok Rendah: Mountain Dew (1 unit)
8. KEUNGGULAN SISTEM
🎯 User-Friendly: Menu interaktif mudah dipahami
🎯 Real-Time: Update stok dan pendapatan otomatis
🎯 Reliable: Validasi berlapis untuk mencegah error
🎯 Traceable: Log lengkap untuk audit transaksi
🎯 Scalable: Mudah menambah produk baru
9. CARA PENGGUNAAN
# Compile
javac Main.java
# Run
java Main
# Menu:
1 → Lihat produk
2 → Beli produk (input kode + bayar)
3 → History transaksi
4 → Status mesin & laporan
5 → Admin refill (password: admin123)
6 → Keluar
10. KESIMPULAN
Sistem Vending Snack Machine berhasil mengimplementasikan konsep Object-Oriented Programming dengan struktur class yang jelas, validasi yang ketat, dan user experience yang baik. Sistem ini dapat digunakan sebagai prototype mesin vending nyata dan mudah dikembangkan lebih lanjut.
Komentar
Posting Komentar