Program Class Container

 CONTAINER


Nama : Rayhan Qalby Ramadhan

NPM : 21082010008


- Tampilan Program


- Tampilan Output


- Source Code :

*Class AppWarung

package pkgWarung31;
//Budi membeli  sate dan soto
//class: pembeli, makanan, pembelian(nota/kwitansi)

import java.util.Scanner;
public class appWarung {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int pilih=0, pilih2=0;
        
        cPembeli pbl = new cPembeli("");
        cMakanan menu[] = new cMakanan[5];
        menu[0]=new cMakanan("Sate",15000);
        menu[1]=new cMakanan("Soto",12000);
        menu[2]=new cMakanan("Gule",20000);
        menu[3]=new cMakanan("Bakso",10000);
        menu[4]=new cMakanan("Pecel",9000);
        do{
            System.out.println("\nAPP WARUNG");
            System.out.println("1.Pembeli");
            System.out.println("2.Makanan");
            System.out.println("3.Transaksi");
            System.out.println("4.Selesai");
            System.out.print("Pilih = ");
            pilih=sc.nextInt();
            switch(pilih){
                case 1:
                    //sub menu
                    System.out.print("Nama pembeli = ");
                    String nm = sc.next();
                    pbl.setNama(nm);
                    break;
                case 2:
                    //sub menu makanan
                    System.out.println("Daftar Menu Makanan");
                    for (int i = 0; i < 5; i++) {
                        System.out.println((i+1)+"."+menu[i].ToString());
                    }
                    break;
                case 3:
                    //sub menu pembelian
                    cPembelian beli = new cPembelian(3);
                    do{
                        System.out.println(" Pembelian");
                        System.out.println(" 1.Isi pembeli");
                        System.out.println(" 2.Tambah makanan");
                        System.out.println(" 3.Hapus makanan");
                        System.out.println(" 4.Lihat makanan");
                        System.out.println(" 5.Selesai");
                        System.out.print(" Pilih = ");
                        pilih2 = sc.nextInt();
                        switch(pilih2){
                            case 1:
                                beli.isiPembeli(pbl);
                                break;
                            case 2:
                                System.out.print(" Menu = ");
                                String mn = sc.next();
                                boolean ada=false;
                                for (int i = 0; i < menu.length; i++) {
                                    if (mn.equalsIgnoreCase(menu[i].getNama())) {
                                        ada=true;
                                        beli.tambahMakanan(menu[i]);
                                        break;
                                    }
                                }
                                if (ada==false) {
                                    System.out.println("Menu Tidak Ada!");
                                }
                                break;
                            case 3:
                                System.out.print(" Menu dihapus = ");
                                String h = sc.next();
                                beli.hapusMakanan(h);
                                break;
                            case 4:
                                beli.lihatmakanan();
                                break;
                            case 5:
                                System.out.println("Kembali..");
                        }
                    }while(pilih2!=5);
                    break;
                case 4:
                    System.out.println("Terima kasih..");
            }
            
        }while(pilih!=4);
    }
}

*Class cMakanan

package pkgWarung31;
public class cMakanan {
    private String nama;
    private int harga;
    cMakanan(String n, int h){
        nama=n; harga=h;
        System.out.println("Objek "+nama+" dibuat..");
    }
    public void setNama(String n){
        nama=n;
    }
    public void setHarga(int h){
        harga=h;
    }
    public String getNama(){
        return nama;
    }
    public int getHarga(){
        return harga;
    }
    public String ToString(){
        return "Menu: "+nama+"["+harga+"]";
    }
}

*Class cPembeli

package pkgWarung31;
public class cPembeli {
    private String nama;
    cPembeli(String n){
        nama=n;
        System.out.println("Obejek "+nama+" dibuat..");
    }
    public void setNama(String n){
        nama=n;
    }
    public String getNama(){
        return nama;
    }
    public String ToString(){
        return "Pembeli: "+nama;
    }
}

*Class cPembelian

package pkgWarung31;
public class cPembelian {
    private cPembeli pembeli;
    private cMakanan makanan[]; //array of object
    private int jmkn, maksmkn, total;
    
    cPembelian(int maks){
        maksmkn=maks;
        makanan = new cMakanan[maksmkn];
        jmkn=0; total=0;
    }
    public void isiPembeli(cPembeli p){
        pembeli = new cPembeli(p.getNama());
        System.out.println("Isi pembeli sukses..");
    }
    public void tambahMakanan(cMakanan m){
        if(jmkn>=maksmkn){
            System.out.println("Keranjang penuh!");
        }
        else{
            makanan[jmkn] =new cMakanan(m.getNama(),m.getHarga());
            jmkn++;
            System.out.println("Penambahan sukses..");     
        }
    }
    public void lihatmakanan(){
        if(pembeli!=null)
            System.out.println(pembeli.ToString());
        else{
            System.out.println("Pembeli belum ada!");
        }
        System.out.println("Daftar Makanan");
        if(jmkn<=0){
            System.out.println("Keranjang Kosong!");
        }
        else{
            for (int i = 0; i < jmkn; i++) {
                System.out.println((i+1)+"."+makanan[i].ToString());
            }
        }
    }
    public void hapusMakanan(String hapus){
        if(jmkn<=0){
            System.out.println("Keranjang kosong!");
        }
        else{
            //temukan yang akan dihapus
            //lakukan penghapusan
            boolean ada=false;
            for (int i = 0; i < jmkn; i++) {
                if (hapus.equalsIgnoreCase(makanan[i].getNama())) {
                    ada=true;
                    makanan[i]=null;
                    //penggeseran elemen array yang di belakang --> maju
                    for (int j = i; j < jmkn; j++) {
                        if (j==jmkn-1) {
                            makanan[j]=null;
                        }
                        else{
                            makanan[j]=makanan[j+1]; //geser maju
                        }
                    }  
                    jmkn--;
                    System.out.println("Penghapusan sukses..");
                    break;
                }
            }
            if (ada==false) {
                System.out.println("Makanan tidak ada!");
            }
        }
    }
}

*Tampilan Hasil Output

Obejek  dibuat..
Objek Sate dibuat..
Objek Soto dibuat..
Objek Gule dibuat..
Objek Bakso dibuat..
Objek Pecel dibuat..

APP WARUNG
1.Pembeli
2.Makanan
3.Transaksi
4.Selesai
Pilih = 1
Nama pembeli = Rayhan

APP WARUNG
1.Pembeli
2.Makanan
3.Transaksi
4.Selesai
Pilih = 2
Daftar Menu Makanan
1.Menu: Sate[15000]
2.Menu: Soto[12000]
3.Menu: Gule[20000]
4.Menu: Bakso[10000]
5.Menu: Pecel[9000]

APP WARUNG
1.Pembeli
2.Makanan
3.Transaksi
4.Selesai
Pilih = 3
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 1
Obejek Rayhan dibuat..
Isi pembeli sukses..
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 2
 Menu = Sate
Objek Sate dibuat..
Penambahan sukses..
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 4
Pembeli: Rayhan
Daftar Makanan
1.Menu: Sate[15000]
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 2
 Menu = Gule
Objek Gule dibuat..
Penambahan sukses..
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 3
 Menu dihapus = Sate
Penghapusan sukses..
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 4
Pembeli: Rayhan
Daftar Makanan
1.Menu: Gule[20000]
 Pembelian
 1.Isi pembeli
 2.Tambah makanan
 3.Hapus makanan
 4.Lihat makanan
 5.Selesai
 Pilih = 5
Kembali..

APP WARUNG
1.Pembeli
2.Makanan
3.Transaksi
4.Selesai
Pilih = 4
Terima kasih..
BUILD SUCCESSFUL (total time: 1 minute 10 seconds)

Comments