Menu Makanan Java
Aplikasi menu makanan desktop sederhana yang dibangun dengan Java Swing dan NetBeans
Bagikan proyek ini:
Tentang Proyek
Aplikasi Menu Makanan (Food Menu Application)
Aplikasi desktop manajemen menu makanan sederhana yang dibangun dengan Java Swing menggunakan NetBeans IDE. Aplikasi ini memungkinkan staf restoran untuk mengelola item menu makanan, kategori, dan harga melalui antarmuka grafis yang intuitif.
📋 Ringkasan
Ini adalah aplikasi menu makanan berbasis desktop yang dibuat selama perjalanan belajar Java saya. Proyek ini memberikan solusi lengkap untuk mengelola item menu restoran dengan fitur untuk menambah, mengedit, melihat, dan menghapus item makanan.
✨ Fitur
-
Manajemen Menu (CRUD)
- Menambah item makanan baru dengan detail lengkap.
- Melihat semua item menu dalam format tabel.
- Memperbarui informasi menu yang sudah ada.
- Menghapus item menu dengan konfirmasi.
-
Manajemen Kategori
- Mengatur item makanan berdasarkan kategori.
- Memfilter item menu berdasarkan kategori.
- Pengurutan berdasarkan kategori.
-
Manajemen Harga
- Menetapkan dan memperbarui harga makanan.
- Menampilkan harga dalam format mata uang.
- Melacak perubahan harga.
-
Integrasi Database
- Database MySQL untuk persistensi data.
- Penyimpanan data yang andal.
- Optimasi query.
-
Antarmuka Ramah Pengguna
- GUI berbasis Swing yang bersih.
- Navigasi yang intuitif.
- Tampilan grid data dengan pengurutan.
- Validasi formulir.
🛠️ Teknologi yang Digunakan
- Java: Bahasa pemrograman inti.
- Swing: Framework GUI.
- NetBeans 8: IDE untuk pengembangan.
- MySQL: Sistem manajemen database.
- JDBC: Konektivitas database.
- JTable: Komponen tampilan data.
📁 Struktur Proyek
menu_makanan_java/
├── src/
│ └── menu/
│ ├── Main.java # Titik masuk aplikasi
│ ├── MenuForm.java # UI formulir utama
│ ├── Database.java # Koneksi database
│ └── FoodItem.java # Model data
├── nbproject/ # File proyek NetBeans
├── build/ # Kelas terkompilasi
├── dist/ # JAR yang dapat didistribusikan
├── build.xml # File Ant build
├── java_menu_makanan.sql # Skema database
└── README.md
🚀 Memulai
Prasyarat
- JDK 8 atau lebih tinggi.
- NetBeans IDE 8+ (disarankan) atau IDE Java apa pun.
- MySQL Server 5.7+.
- MySQL Connector/J (driver JDBC).
Setup Database
-
Buat Database
Buka MySQL dan jalankan:
CREATE DATABASE java_menu_makanan; -
Impor Skema
mysql -u root -p java_menu_makanan < java_menu_makanan.sqlAtau impor melalui MySQLWorkbench/phpMyAdmin.
-
Konfigurasi Koneksi
Perbarui kredensial database di
Database.java:private static final String URL = "jdbc:mysql://localhost:3306/java_menu_makanan"; private static final String USER = "root"; private static final String PASSWORD = "password_anda";
Menjalankan dengan NetBeans
-
Buka Proyek
- Jalankan NetBeans IDE.
- File → Open Project.
- Navigasi ke folder proyek.
- Pilih dan buka.
-
Tambah MySQL Connector
- Klik kanan pada "Libraries".
- Add JAR/Folder.
- Pilih
mysql-connector-java-x.x.x.jar.
-
Build Proyek
- Klik kanan pada proyek.
- Pilih "Clean and Build".
-
Jalankan Aplikasi
- Tekan F6 atau klik tombol Run.
Menjalankan File JAR
Setelah proses build:
java -jar dist/menu_makanan_java.jar
💻 Panduan Penggunaan
Menambah Item Menu
- Klik tombol "Add New Item".
- Isi formulir:
- Nama Makanan: Nama hidangan.
- Kategori: Pilih kategori (Appetizer, Main Course, Dessert, Beverage).
- Harga: Masukkan harga dalam angka.
- Deskripsi: Deskripsi singkat.
- Tersedia: Centang jika tersedia saat ini.
- Klik "Save".
Melihat Menu
- Semua item menu ditampilkan di tabel utama.
- Kolom menunjukkan: ID, Nama, Kategori, Harga, Ketersediaan.
- Klik header kolom untuk mengurutkan.
- Gunakan kotak pencarian untuk memfilter item.
Mengedit Item Menu
- Pilih item dari tabel.
- Klik tombol "Edit".
- Ubah bidang sesuai kebutuhan.
- Klik "Update" untuk menyimpan perubahan.
Menghapus Item Menu
- Pilih item dari tabel.
- Klik tombol "Delete".
- Konfirmasi penghapusan di dialog.
Filter Berdasarkan Kategori
- Pilih kategori dari dropdown.
- Tabel akan memfilter secara otomatis.
- Pilih "All" untuk menampilkan semua item.
🗄️ Skema Database
Tabel Utama: menu_items
CREATE TABLE menu_items (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
category VARCHAR(50) NOT NULL,
price DECIMAL(10,2) NOT NULL,
description TEXT,
is_available BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
🐛 Pemecahan Masalah
MySQL Connector Tidak Ditemukan
- Unduh MySQL Connector/J dari situs resmi.
- Tambahkan ke pustaka proyek di NetBeans.
Koneksi Database Gagal
- Verifikasi MySQL sudah berjalan.
- Periksa kredensial di
Database.java. - Pastikan database sudah dibuat.
NetBeans Tidak Mau Build
- Bersihkan proyek terlebih dahulu (Shift+F11).
- Pastikan JDK terkonfigurasi dengan benar.
🚀 Peningkatan Masa Depan
Potensi pengembangan:
- Unggah gambar untuk item makanan.
- Sistem manajemen pesanan.
- Pelacakan penjualan dan laporan.
- Dukungan multi-bahasa.
- Fungsi cetak menu.
🎓 Hasil Pembelajaran
Proyek ini membantu saya mempelajari:
- Pengembangan GUI Java Swing.
- Desainer Formulir NetBeans.
- Integrasi database MySQL.
- Koneksi dan query JDBC.
- Operasi CRUD.
- Dasar-dasar pola MVC.
- Pemrograman berbasis event.
🤝 Kontribusi
Ini adalah proyek pendidikan. Saran dan perbaikan sangat diharapkan!
📄 Lisensi
Open source dan tersedia untuk tujuan pendidikan.
Dibangun dengan NetBeans 8 ☕🍔
Solusi manajemen menu makanan sederhana untuk belajar pengembangan desktop Java