Aplikasi Object Oriented dengan Bahasa Pemrograman Java untuk UMKM: Coffee Shop
Nama Aplikasi :
FABS
Diambil dari akronim kata Fly as Butterfly yang merupakan identitas kelompok yaitu FABulous.
Deskripsi Aplikasi :
Aplikasi ini dirancang untuk sistem pemesanan di coffee shop. Program yang dirancang masih sangat sederhana yaitu untuk satu kali pemesanan minuman di coffee shop.
Fitur yang terdapat dalam program ini adalah menambah pesanan baru, mengubah pesanan, membatalkan pesanan, melihat pesanan dan memproses pesanan untuk pembayaran.
Program ini dituliskan dengan dua method yaitu method main dan menu serta dua class yaitu class user dan menu.
1. Method Main
Method main berisikan kode untuk penginputan nama user.
2. Method Menu
Method menu berisikan kode untuk fitur menu utama yaitu tambah pesanan, pembatalan pesanan, lihat pesanan, pembatalan pesanan dan proses pesanan.
Kedua method dilengkapi dengan if-case dan switch-case.
3. Class User dan Menu
Class di program ini dilengkapi dengan setter, getter dan query serta atributnya.
Atribut kelas user adalah nama dan nomor telpon, sedangkan atribut untuk kelas menu adalah nama menu dan jumlah.
Source Code
1. Class User
package pkgCoffeeShop;
public class cUser {
private String nama;
private String nomor;
public cUser(String nm, String tlp) {
nama = nm;
nomor = tlp;
}
public void setNama(String nm) {
nama = nm;
}
public void setNomor(String tlp) {
nomor = tlp;
}
public String getNama() {
return nama;
}
public String getNomor() {
return nomor;
}
public String ToString() {
return nama+" "+nomor;
}
}
2. Class Menu
package pkgCoffeeShop;
public class cMenu {
private static int jumlah;
private static String pesan;
cMenu(String ps, int jml) {
pesan = ps;
jumlah = jml;
}
public void setPesan(String ps) {
pesan = ps;
}
public void setJumlah(int jml) {
jumlah = jml;
}
public static String getPesan() {
return pesan;
}
public static int getJumlah() {
return jumlah;
}
public String ToString() {
return pesan+" "+jumlah;
}
}
3. Menu Utama Program
package pkgCoffeeShop;
import java.util.Scanner;
public class appCoffeeShop {
private static String nama;
static cMenu menu = null;
static cUser user = null;
static Scanner sc = new Scanner(System.in);
public static void main (String[]args){
System.out.println("::Selamat datang di Fab's Coffee");
System.out.println("::Mohon masukan nama dan nomor telpon untuk memulai program");
System.out.println(" ");
System.out.print("Nama : ");
sc = new Scanner(System.in);
String nama = sc.nextLine();
System.out.print("Nomor Telpon : ");
String nomor = sc.next();
user = new cUser(nama, nomor);
if (nama == "") {
main(args);
} else {
System.out.println("Hello, " + nama + "\nSilahkan pilih menu pemesanan!");
menu();
}
}
public static void menu () {
System.out.println();
System.out.println("::MENU FAB'S COFFEE");
System.out.println("1. Tambah Pesanan");
System.out.println("2. Lihat Pesanan");
System.out.println("3. Ubah Pesanan");
System.out.println("4. Batalkan Pesanan");
System.out.println("5. Proses Pesanan");
System.out.println("6. Keluar");
System.out.println("\nMasukkan Pilihan : ");
Scanner sc = new Scanner(System.in);
int pilihMenu = sc.nextInt();
switch (pilihMenu) {
case 1:
System.out.println("Menambah Pesanan");
System.out.println("MENU COFFEE SHOP");
System.out.println("1. Americano");
System.out.println("2. Cappucino");
System.out.println("3. Ice Esspreso");
System.out.println("4. Caramel Macciato");
System.out.print("Masukkan Pesanan: ");
String pesan = sc.next();
System.out.print("Jumlah: ");
int jumlah = sc.nextInt();
menu = new cMenu(pesan, jumlah);
System.out.println("Pesanan berhasil Ditambahkan");
menu();
break;
case 2:
System.out.println("Lihat Pesanan");
if (menu != null) {
System.out.println("Menu yang dipesan: " + cMenu.getPesan());
System.out.println("Jumlah: " + cMenu.getJumlah());
menu();
} else
System.out.println("Data tidak ada");
break;
case 3:
System.out.println("Ubah Pesanan");
System.out.print("Nama: ");
sc = new Scanner(System.in);
nama = sc.nextLine();
if (user != null && user.getNama().equalsIgnoreCase(nama)) {
System.out.println("MENU COFFEE SHOP");
System.out.println("1. Americano");
System.out.println("2. Cappucino");
System.out.println("3. Ice Esspreso");
System.out.println("4. Caramel Macciato");
System.out.print("Masukkan Pesanan: ");
String ps = sc.next();
System.out.print("Jumlah: ");
int jml = sc.nextInt();
menu.setPesan(ps);
menu.setJumlah(jml);
System.out.println("Pesanan berhasil diubah menjadi" +
"\nKode Pesan: "+ps+"\nJumlah: "+jml);
} else System.out.println("Data tidak ada!");
menu();
break;
case 4:
System.out.println("Hapus Pesanan");
System.out.print("Nama: ");
sc = new Scanner(System.in);
nama = sc.nextLine();
if (user!=null && user.getNama().equalsIgnoreCase(nama)) {
System.out.println("Hapus data?");
System.out.println("1. Ya");
System.out.println("2. Tidak");
System.out.print("Pilihan: ");
int delete = sc.nextInt();
if (delete == 1) {
user = null;
System.out.println("Pesanan berhasil dibatalkan");
}
else {
System.out.println("Data batal dihapus");
menu();
}
}
break;
case 5:
System.out.println("Pesanan diproses");
System.out.print("Nama: ");
sc = new Scanner(System.in);
nama = sc.nextLine();
int total = cMenu.getJumlah() * 25000;
int bayar = 0;
if (total >= 100000) {
bayar = (int) (total - (0.15*total));
}
else if (total >= 50000) {
bayar = (int) (total - (0.10*total));
} else bayar = total;
System.out.println("Total pesanan adalah Rp." +total);
System.out.println("Total pembayaran adalah Rp." +bayar);
menu();
break;
case 6:
System.out.println("Terima kasih sudah menjalankan program ini!");
break;
}
}
}
Tampilan Program
1. Tampilan Awal Program
User akan diminta untuk memasukkan nama dan juga nomor telepon sebagai identitas user.
2. Tampilan Menu Utama Program
User dapat memilih berbagai macam opsi untuk melakukan pemesanan.
Opsi tersebut terdiri dari:
a. Menu Tambah Pesanan
Pada menu ini user dapat memilih menu yang ingin dipesan, namun user hanya dapat memilih 1 jenis menu dengan jumlah bebas.
b. Menu Lihat Pesanan
Pada menu ini user dapat melihat pesanan yang sudah dipilih.
c. Menu Ubah Pesanan
Pada menu ini user dapat mengubah pesanan yang sudah dilakukan dengan syarat memasukkan nama user untuk memastikan identitas user.
d. Menu Batalkan Pesanan
Pada menu ini user dapat membatalkan atau menghapus pesanan yang telah dibuat dengan syarat memasukkan nama user untuk memastikan identitas user.
e. Menu Proses Pesanan
Pada menu ini program akan menampilkan jumlah tagihan pesanan yang harus dibayar oleh user dengan syarat memasukkan nama user untuk memastikan identitas user.
Dalam program ini semua varian menu mempunyai harga sama yaitu Rp 25.000,- setiap menunya, namun akan terdapat diskon sebesar 15% jika total pembelian lebih dari Rp 100.000,- dan diskon 10% jika total pembelian lebih dari Rp 50.000,-.
f. Keluar Program
Pada menu ini maka user akan langsung keluar dari program ini.
Comments