Membuat program kasir dengan method, sorting dan searching
Membuat program kasir
Source code :
package tugas.bp2;
import java.util.*;
public class TugasBp2 {
static int harga[]=new int[10];
static int harga_snack[]=new int[10];
static int harga_minum[]=new int[10];
static String[][] hasil=new String[10][2];
static int hitungharga(int hargasatuan, int jumlah) //header (written value)
{
//body
int harga = hargasatuan*jumlah;
return harga;
}
static String[] sort(String[] menu){
for (int i = 0; i < menu.length; i++) {
for (int j = 0; j < menu.length-1; j++) {
if(menu[j].compareToIgnoreCase(menu[j+1])>0){
String t=menu[j];
menu[j]=menu[j+1];
menu[j+1]=t;
int h=harga[j];
harga[j]=harga[j+1];
harga[j+1]=h;
}
}
}
return menu;
}
static String[][] search(String[] menu, int harga[], String cari){
int idx=0;
for (int i = 0; i < menu.length; i++) {
if(menu[i].indexOf(cari)>=0){
hasil[idx][0]=menu[i];
hasil[idx][1]=String.valueOf(harga[i]);
idx++;
}
}
return hasil;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String makanan[]=new String[10];
String minuman[]=new String[5];
String snack[]=new String[5];
//int harga[]=new int[10];
//inisialisasi array
snack[0]="kentang "; harga_snack[0]=9000;
snack[1]="tango "; harga_snack[1]=1000;
snack[2]="keripik kentang"; harga_snack[2]=3000;
snack[3]="keripik apel "; harga_snack[3]=10000;
snack[4]="kerupuk ikan "; harga_snack[4]=5000;
minuman[0]="es Teh "; harga_minum[0]=3000;
minuman[1]="es Jeruk "; harga_minum[1]=3000;
minuman[2]="air Putih "; harga_minum[2]=1000;
minuman[3]="teh Hangat "; harga_minum[3]=2500;
minuman[4]="jeruk Hangat"; harga_minum[4]=2500;
makanan[0]="sate Ayam "; harga[0]=12000;
makanan[1]="sate Sapi "; harga[1]=15000;
makanan[2]="sate Kambing "; harga[2]=20000;
makanan[3]="soto Madura "; harga[3]=12000;
makanan[4]="soto Lamongan"; harga[4]=14000;
makanan[5]="gado-gado "; harga[5]=10000;
makanan[6]="rawon "; harga[6]=13000;
makanan[7]="bakso "; harga[7]=8000;
makanan[8]="pecel "; harga[8]=7000;
makanan[9]="penyetan "; harga[9]=9000;
int pilih=0;
String belimakan[] = new String[5];
String beliminum[] = new String[5];
String belisnack[] = new String[5];
int beliharga[] = new int[5];
int jumlahbeli=0;
do{
System.out.println("MENU");
System.out.println("1. Makanan");
System.out.println("2. Minuman");
System.out.println("3. Snack");
System.out.println("4. Daftar pesanan");
System.out.println("5. Bayar");
System.out.println("6. Exit");
System.out.print("Pilih = ");
pilih=sc.nextInt();
switch(pilih){
case 1:
System.out.println("1. Daftar Makanan");
System.out.println("2. Cari Makanan");
System.out.print("Pilih = ");
int pilih2=sc.nextInt();
switch(pilih2){
case 1:
String[] urut=sort(makanan);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
break;
case 2:
urut=sort(makanan);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
System.out.print("Apa yang anda beli ? = ");
String c = sc.next();
String hasilcari[][] = search(makanan,harga,c);
System.out.println("Hasil Pencarian");
for (int i = 0; i < hasilcari.length; i++) {
if(hasilcari[i][0]!=null){
System.out.print((i+1)+". "+hasilcari[i][0]+" ");
//perubahan String menjadi integer
System.out.println(Integer.parseInt(hasilcari[i][1]));
}
}
System.out.println("");
System.out.print("pilin Menu = ");
int pilih3 = sc.nextInt();
belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
jumlahbeli++;
break;
}
break;
case 2:
System.out.println("1. Daftar Minuman");
System.out.println("2. Cari Minuman");
System.out.print("Pilih = ");
pilih2=sc.nextInt();
switch(pilih2){
case 1:
String[] urut=sort(minuman);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
break;
case 2:
urut=sort(minuman);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
System.out.print("Apa yang anda beli ? = ");
String c = sc.next();
String hasilcari[][] = search(minuman,harga_minum,c);
System.out.println("Hasil Pencarian");
for (int i = 0; i < hasilcari.length; i++) {
if(hasilcari[i][0]!=null){
System.out.print((i+1)+". "+hasilcari[i][0]+" ");
//perubahan String menjadi integer
System.out.println(Integer.parseInt(hasilcari[i][1]));
}
}
System.out.println("");
System.out.print("pilin Menu = ");
int pilih3 = sc.nextInt();
belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
jumlahbeli++;
break;
}
break;
case 3:
System.out.println("1. Daftar Snack");
System.out.println("2. Cari Snack");
System.out.print("Pilih = ");
pilih2=sc.nextInt();
switch(pilih2){
case 1:
String[] urut=sort(snack);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
break;
case 2:
urut=sort(snack);
System.out.println("Daftar Menu");
for (int i = 0; i < urut.length; i++) {
System.out.println((i+1)+". "+urut[i]);
}
System.out.println("");
System.out.print("Apa yang anda beli ? = ");
String c = sc.next();
String hasilcari[][] = search(snack,harga_snack,c);
System.out.println("Hasil Pencarian");
for (int i = 0; i < hasilcari.length; i++) {
if(hasilcari[i][0]!=null){
System.out.print((i+1)+". "+hasilcari[i][0]+" ");
//perubahan String menjadi integer
System.out.println(Integer.parseInt(hasilcari[i][1]));
}
}
System.out.println("");
System.out.print("pilin Menu = ");
int pilih3 = sc.nextInt();
belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
jumlahbeli++;
break;
}
break;
case 4:
System.out.println("1. urutkan berdasarkan harga");
System.out.println("2. urutkan berdasarkan nama");
System.out.print("Pilih = ");
pilih2=sc.nextInt();
switch(pilih2){
case 1:
if (belimakan[0]==null) {
System.out.println("anda belum memesan, silahkan memesan terlebih dahulu!");
}else {
for (int i = 0; i < jumlahbeli; i++) {
for (int j = 0; j < jumlahbeli-1; j++) {
if(beliharga[j]>beliharga[j+1]){
String t=belimakan[j];
belimakan[j]=belimakan[j+1];
belimakan[j+1]=t;
int h=beliharga[j];
beliharga[j]=beliharga[j+1];
beliharga[j+1]=h;
}
}
}
for (int i = 0; i < jumlahbeli; i++) {
System.out.print((i+1)+". "+belimakan[i]);
System.out.println(beliharga[i]);
}}
break;
case 2:
if (belimakan[0]==null) {
System.out.println("anda belum memesan, silahkan memesan terlebih dahulu!");
}else {
for (int i = 0; i < jumlahbeli; i++) {
for (int j = 0; j < jumlahbeli-1; j++) {
if(belimakan[j].compareToIgnoreCase(belimakan[j+1])>0){
String t=belimakan[j];
belimakan[j]=belimakan[j+1];
belimakan[j+1]=t;
int h=beliharga[j];
beliharga[j]=beliharga[j+1];
beliharga[j+1]=h;
}
}
}
for (int i = 0; i < jumlahbeli; i++) {
System.out.print((i+1)+". "+belimakan[i]);
System.out.println(beliharga[i]);
}}
break;
}
break;
case 5:
double total=0;
double uang_pembeli;
System.out.println("Daftar Beli");
for (int i = 0; i < jumlahbeli; i++) {
System.out.println(belimakan[i]+"[Rp"+beliharga[i]+"]");
total=total+beliharga[i];
}
System.out.println("total anda sebesar : Rp"+total);
System.out.print("Masukkan uang anda : Rp");
uang_pembeli=sc.nextDouble();
System.out.println("kembalian anda sebesar Rp"+(uang_pembeli-total));
for (int i = 0; i < jumlahbeli; i++) {
belimakan[i]=null;beliharga[i]=0;
}
break;
case 6:
System.out.println("Terimaksih telah berbelanja <3");
break;
}
}while(pilih!=6);
}
}
Hasil running :
run:
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 2
1. Daftar Minuman
2. Cari Minuman
Pilih = 2
Daftar Menu
1. air Putih
2. es Jeruk
3. es Teh
4. jeruk Hangat
5. teh Hangat
Apa yang anda beli ? = air
Hasil Pencarian
1. air Putih 3000
pilin Menu = 1
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 3
1. Daftar Snack
2. Cari Snack
Pilih = 2
Daftar Menu
1. kentang
2. keripik apel
3. keripik kentang
4. kerupuk ikan
5. tango
Apa yang anda beli ? = tango
Hasil Pencarian
1. tango 5000
pilin Menu = 1
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 4
1. urutkan berdasarkan harga
2. urutkan berdasarkan nama
Pilih = 1
1. air Putih 3000
2. tango 5000
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 5
Daftar Beli
air Putih [Rp3000]
tango [Rp5000]
total anda sebesar : Rp8000.0
Masukkan uang anda : Rp70000
kembalian anda sebesar Rp62000.0
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 5
Terimakasih telah berbelanja <3
Komentar
Posting Komentar