Contoh Program Sederhana Kasir Caffee Java part_a
Sebelumnya saya minta maaf, karena telah fakum dengan waktu yang sangat lama, karena sibuk dengan tugas kuliah yang tiada akhirnya...
Sebenarnya ini adalah tugas mat kull pemrogramanku...tapi siapa tahu ada yang membutuhkan dan mencari sebagai rujukan tugas kuliah yang laen, jadi saya share disini saja mudah-mudahan bermanfaat ya...
Sebenarnya ini adalah tugas mat kull pemrogramanku...tapi siapa tahu ada yang membutuhkan dan mencari sebagai rujukan tugas kuliah yang laen, jadi saya share disini saja mudah-mudahan bermanfaat ya...
Program ini masih belum ada tampilannya, jadi hanya menggunakan tampilan sederhana yaitu run dari IDEnya, atau anda juga bisa run melalui CMD jika anda ingin membuat tampilannya silahkan...
Codingnya sebagai berikut...
/*
Program kasir sederhana
By: Ozan Hacker
*/
package part_a;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.Scanner;
public class part_a {
static BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
static Scanner inputan = new Scanner(System.in);
static DecimalFormat titik_uang = new DecimalFormat("#,##0");
static String menu = "";
static String tanya = "";
static int jumlah=0;
static int pesan, banyak;
static int b_kopi, kopi;
static int b_shake, shake;
static int b_cake, cake;
static int j_cake = 25;
static int uang = 0;
static int kembalian = 0;
static int b_semua = 0;
static int j_semua = 0;
static int harga1 = 5000;
static int harga2 = 7000;
static int harga3 = 6000;
static int h_s_k, h_s_s, h_s_c;
static int j_k_kopi, j_k_shake, j_k_cake;
static int j_h_kopi, j_h_shake, j_h_cake;
static boolean x;
public static void main(String[] agrs) {
do {
System.out.println("============================");
System.out.println("The Geek Caffee");
System.out.println("============================");
System.out.println("a) Pesan");
System.out.println("b) Buat cake");
System.out.println("c) Laporan penjualan");
System.out.println("d) Rubah harga");
System.out.println("e) Keluar");
System.out.print("Masukkan pilihan : ");
try {
menu = dataIn.readLine();
} catch (IOException e) {
System.out.println("Error!");
}
x = true;
if ("a".equals(menu)) {
do {
System.out.println("---------------------------------------------");
System.out.println("Pilih menu makanan atau minuman");
System.out.println("---------------------------------------------");
System.out.println("1) Kopi");
System.out.println("2) Shake");
System.out.println("3) Cake");
System.out.println("4) Selesai pilih");
System.out.print("Pilih menu : ");
pesan = inputan.nextInt();
if (pesan == 1) {
System.out.print("Berapa banyak kopi yang ingin dibeli : ");
b_kopi = inputan.nextInt();
kopi = harga1 * b_kopi;
h_s_k=kopi+h_s_k;
j_k_kopi = b_kopi + j_k_kopi;
j_h_kopi = kopi + j_h_kopi;
x = true;
}
if (pesan == 2) {
System.out.print("Berapa banyak shake yang ingin dibeli : ");
b_shake = inputan.nextInt();
shake = harga2 * b_shake;
h_s_s=shake+h_s_s;
j_k_shake = b_shake + j_k_shake;
j_h_shake = shake + j_h_shake;
x = true;
}
if (pesan == 3) {
System.out.print("Berapa banyak cake yang ingin dibeli : ");
b_cake = inputan.nextInt();
if (b_cake > j_cake) {
System.out.println("Maaf..kita kehabisan stok cake...silahkan buat lagi");
main(agrs);
} else {
cake = harga3 * b_cake;
j_cake = j_cake - b_cake;
h_s_c=cake+h_s_c;
j_k_cake = b_cake + j_k_cake;
j_h_cake = cake + j_h_cake;
x = true;
}
}
if (pesan == 4) {
jumlah = h_s_k + h_s_s + h_s_c;
System.out.println("Total biaya adalah Rp. " + titik_uang.format(jumlah) + ",-");
System.out.print("Masukkan jumlah uang pelanggan Rp. ");
uang = inputan.nextInt();
kembalian = uang - jumlah;
System.out.println("Kembalian pelanggan Rp. " + titik_uang.format(kembalian) + ",-");
h_s_k=0; h_s_s=0; h_s_c=0; //Untuk mereset jumlah harga sementara
x = false;
}
} while (x);
x = true;
}
if ("b".equals(menu)) {
j_cake = j_cake + 25;
System.out.println("25 cake telah ditambahkan, total cake " + j_cake);
x = true;
}
if ("c".equals(menu)) {
System.out.println("---------------------------------------------");
System.out.println(">> Cake yang belum terjual = " + j_cake);
System.out.println("---------------------------------------------");
System.out.println("Total penjualan...");
System.out.println("---------------------------------------------");
System.out.println("Kopi = " + j_k_kopi + " Rp." + titik_uang.format(j_h_kopi));
System.out.println("Shake = " + j_k_shake + " Rp." + titik_uang.format(j_h_shake));
System.out.println("Cake = " + j_k_cake + " Rp." + titik_uang.format(j_h_cake));
System.out.println("---------------------------------------------");
j_semua = j_h_shake + j_h_kopi + j_h_cake;
System.out.println("Jumlah = Rp." + titik_uang.format(j_semua));
System.out.println("Apakah anda ingin mereset laporan?");
System.out.println("Jika iya tekan 'y' jika tidak tekan 'n'");
System.out.print("Masukkan jawaban anda : ");
try {
tanya = dataIn.readLine();
} catch (IOException e) {
System.out.println("Error!");
}
if ("y".equals(tanya) || "Y".equals(tanya)) {
b_semua = 0;j_k_shake = 0;j_k_kopi = 0;j_k_cake = 0;
j_semua = 0;j_h_shake = 0;j_h_kopi = 0;j_h_cake = 0;
x=true;
}
if ("n".equals(tanya) || "N".equals(tanya)) {
x = true;
}
}
if ("d".equals(menu)) {
System.out.println("---------------------------------------------");
System.out.println("Rubah harga barang-barang di Cafe");
System.out.println("---------------------------------------------");
System.out.print("1. Kopi = Rp. ");
harga1 = inputan.nextInt();
System.out.print("2. Shake = Rp. ");
harga2 = inputan.nextInt();
System.out.print("3. cake = Rp. ");
harga3 = inputan.nextInt();
System.out.println("---------------------------------------------");
x = true;
}
if ("e".equals(menu)) {
System.out.println("Good bey");
x = false;
}
} while (x);
}
}
Silahkan paste ke IDE yang anda gunakan...sebagai contoh saya menggunakan NetBeans
/*
Program kasir sederhana
By: Ozan Hacker
*/
package part_a;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.Scanner;
public class part_a {
static BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
static Scanner inputan = new Scanner(System.in);
static DecimalFormat titik_uang = new DecimalFormat("#,##0");
static String menu = "";
static String tanya = "";
static int jumlah=0;
static int pesan, banyak;
static int b_kopi, kopi;
static int b_shake, shake;
static int b_cake, cake;
static int j_cake = 25;
static int uang = 0;
static int kembalian = 0;
static int b_semua = 0;
static int j_semua = 0;
static int harga1 = 5000;
static int harga2 = 7000;
static int harga3 = 6000;
static int h_s_k, h_s_s, h_s_c;
static int j_k_kopi, j_k_shake, j_k_cake;
static int j_h_kopi, j_h_shake, j_h_cake;
static boolean x;
public static void main(String[] agrs) {
do {
System.out.println("============================");
System.out.println("The Geek Caffee");
System.out.println("============================");
System.out.println("a) Pesan");
System.out.println("b) Buat cake");
System.out.println("c) Laporan penjualan");
System.out.println("d) Rubah harga");
System.out.println("e) Keluar");
System.out.print("Masukkan pilihan : ");
try {
menu = dataIn.readLine();
} catch (IOException e) {
System.out.println("Error!");
}
x = true;
if ("a".equals(menu)) {
do {
System.out.println("---------------------------------------------");
System.out.println("Pilih menu makanan atau minuman");
System.out.println("---------------------------------------------");
System.out.println("1) Kopi");
System.out.println("2) Shake");
System.out.println("3) Cake");
System.out.println("4) Selesai pilih");
System.out.print("Pilih menu : ");
pesan = inputan.nextInt();
if (pesan == 1) {
System.out.print("Berapa banyak kopi yang ingin dibeli : ");
b_kopi = inputan.nextInt();
kopi = harga1 * b_kopi;
h_s_k=kopi+h_s_k;
j_k_kopi = b_kopi + j_k_kopi;
j_h_kopi = kopi + j_h_kopi;
x = true;
}
if (pesan == 2) {
System.out.print("Berapa banyak shake yang ingin dibeli : ");
b_shake = inputan.nextInt();
shake = harga2 * b_shake;
h_s_s=shake+h_s_s;
j_k_shake = b_shake + j_k_shake;
j_h_shake = shake + j_h_shake;
x = true;
}
if (pesan == 3) {
System.out.print("Berapa banyak cake yang ingin dibeli : ");
b_cake = inputan.nextInt();
if (b_cake > j_cake) {
System.out.println("Maaf..kita kehabisan stok cake...silahkan buat lagi");
main(agrs);
} else {
cake = harga3 * b_cake;
j_cake = j_cake - b_cake;
h_s_c=cake+h_s_c;
j_k_cake = b_cake + j_k_cake;
j_h_cake = cake + j_h_cake;
x = true;
}
}
if (pesan == 4) {
jumlah = h_s_k + h_s_s + h_s_c;
System.out.println("Total biaya adalah Rp. " + titik_uang.format(jumlah) + ",-");
System.out.print("Masukkan jumlah uang pelanggan Rp. ");
uang = inputan.nextInt();
kembalian = uang - jumlah;
System.out.println("Kembalian pelanggan Rp. " + titik_uang.format(kembalian) + ",-");
h_s_k=0; h_s_s=0; h_s_c=0; //Untuk mereset jumlah harga sementara
x = false;
}
} while (x);
x = true;
}
if ("b".equals(menu)) {
j_cake = j_cake + 25;
System.out.println("25 cake telah ditambahkan, total cake " + j_cake);
x = true;
}
if ("c".equals(menu)) {
System.out.println("---------------------------------------------");
System.out.println(">> Cake yang belum terjual = " + j_cake);
System.out.println("---------------------------------------------");
System.out.println("Total penjualan...");
System.out.println("---------------------------------------------");
System.out.println("Kopi = " + j_k_kopi + " Rp." + titik_uang.format(j_h_kopi));
System.out.println("Shake = " + j_k_shake + " Rp." + titik_uang.format(j_h_shake));
System.out.println("Cake = " + j_k_cake + " Rp." + titik_uang.format(j_h_cake));
System.out.println("---------------------------------------------");
j_semua = j_h_shake + j_h_kopi + j_h_cake;
System.out.println("Jumlah = Rp." + titik_uang.format(j_semua));
System.out.println("Apakah anda ingin mereset laporan?");
System.out.println("Jika iya tekan 'y' jika tidak tekan 'n'");
System.out.print("Masukkan jawaban anda : ");
try {
tanya = dataIn.readLine();
} catch (IOException e) {
System.out.println("Error!");
}
if ("y".equals(tanya) || "Y".equals(tanya)) {
b_semua = 0;j_k_shake = 0;j_k_kopi = 0;j_k_cake = 0;
j_semua = 0;j_h_shake = 0;j_h_kopi = 0;j_h_cake = 0;
x=true;
}
if ("n".equals(tanya) || "N".equals(tanya)) {
x = true;
}
}
if ("d".equals(menu)) {
System.out.println("---------------------------------------------");
System.out.println("Rubah harga barang-barang di Cafe");
System.out.println("---------------------------------------------");
System.out.print("1. Kopi = Rp. ");
harga1 = inputan.nextInt();
System.out.print("2. Shake = Rp. ");
harga2 = inputan.nextInt();
System.out.print("3. cake = Rp. ");
harga3 = inputan.nextInt();
System.out.println("---------------------------------------------");
x = true;
}
if ("e".equals(menu)) {
System.out.println("Good bey");
x = false;
}
} while (x);
}
}
Silahkan paste ke IDE yang anda gunakan...sebagai contoh saya menggunakan NetBeans
Coding di atas menerapkan hasil kasus soal berikut...
Cafe Geeks
Kami memiliki cafe yang menjual kopi, shake dan cake. Harga jual tiap item adalah, Rp. 5.000,- untuk kopi, Rp. 7.000,- untuk shake, dan Rp. 6.000,- untuk cake. Cafe buka mulai pagi hari dengan persediaan awal 25 cake, sedangkan untuk kopi dan shake dibuat sesuai pesanan. Ketika persediaan cake hampir habis, cake bisa dimasak lagi dengan jumlah 25, sehingga bisa menambah persediaan setiap waktu. Dapat diasumsikan bahwa cake dibuat secara instan dan langsung jadi. Ketika pembeli memesan cake dengan jumlah melebihi persediaan maka akan muncul peringatan bahwa stok tidak cukup dan proses pembelian dibatalkan.
Pada saat cafe akan ditutup, manajer akan membuat laporan penjualan yang meliputi, total penjualan, penjualan per item (kopi, shake, dan cake), sisa muffin yang tidak terjual. Manajer dapat mengubah harga item di setiap waktu.
Asumsi
- Tidak ada tenggang waktu antara proses pemesanan, pembuatan dan pengemasan cake di cafe.
- Semua harga menggunakan rupiah.
- Diasumsikan bahwa input ke aplikasi ini adalah benar. Sehingga tidak diperlukan untuk mengimplementasikan error handling.
PART_A
Implementasikan skenario di atas tanpa menggunakan konsep object oriented. Tujuan dari bagian ini adalah untuk menggunakan data struktur dan disain algoritma yang tepat.
0 comments: