You are on page 1of 12

Class BMS

package ProjectUAS;

public class Pusat {


    // deklarasi variabel
    private String[] namaBarang;
    private int[] jumlahBarang;
    public int[] hargaBarang;
    private String[] order;
    private int[] jumlahOrder;
    private int[] hargaOrder;
    private int n; // jumlah barang
    private int m; // panjang
order //---------------------------------------------------
    // construktor class toko

    public Pusat(int max) {


        namaBarang = new String[max];
        jumlahBarang = new int[max];
        hargaBarang = new int[max];
        order = new String[max];
        jumlahOrder = new int[max];
        hargaOrder = new int[max];
        n = 0;
        m = 0;
    }

    // Tambah Barang
    public void insert(String namaBarang, int jumlahBarang, int hargaBarang)
{
        int i = tranversal(namaBarang);
        if (i == n) {
            this.namaBarang[n] = namaBarang;
            this.hargaBarang[n] = hargaBarang;
            this.jumlahBarang[n] = jumlahBarang;
            n++;
        } else {
            this.jumlahBarang[i] = this.jumlahBarang[i] + jumlahBarang;
        }
    }

    // Tambah Data
    public void display() {
        System.out.println("nama\tjumlah\tharga");
        for (int i = 0; i < n; i++) {
            System.out.println(namaBarang[i] + "\t\t" + jumlahBarang[i] +
"\t\t" + hargaBarang[i]);
        }
        System.out.println();
    }

    // Cari Barang
    public boolean search(String namaBarang) {
        boolean kondisi = false;
        for (int i = 0; i < n; i++) {
            if (namaBarang.equalsIgnoreCase(this.namaBarang[i])) {
                System.out.println("---Data");
                System.out.println("nama\tjumlah\tharga");
                System.out.println(this.namaBarang[i] + "\t\t" +
jumlahBarang[i] + "\t\t" + hargaBarang[i]);
                System.out.println();
                kondisi = true;
                break;
            }
        }
        return kondisi;
    }

    // Hapus Barang
    public boolean delete(String namaBarang) {
        int i = tranversal(namaBarang);
        if (i == n) {
            return false;
        } else {
            for (int j = i; j < n; j++) {
                this.namaBarang[j] = this.namaBarang[j + 1];
                this.jumlahBarang[j] = this.jumlahBarang[j + 1];
                this.hargaBarang[j] = this.hargaBarang[j + 1];
            }
        }
        n--;
        return true;
    }

    // Update Data
    // Update Nama Barang
    public boolean updateNama(String namaBarang, String namaBarangBaru) {
        int i = tranversal(namaBarang);
        if (i == n) {
            return false;
        } else {
            this.namaBarang[i] = namaBarangBaru;
            return true;
        }
    }
    // Update Jumlah Barang
    public boolean updateJumlah(String namaBarang, int jumlahBarang) {
        int i = tranversal(namaBarang);
        if (i == n) {
            return false;
        } else {
            this.jumlahBarang[i] = jumlahBarang;
            return true;
        }
    }

    // Update Jumlah Harga


    public boolean updateHarga(String namaBarang, int harga) {
        int i = tranversal(namaBarang);
        if (i == n) {
            return false;
        } else {
            this.hargaBarang[i] = harga;
            return true;
        }
    }

    // Mencari Indeks Barang yg dicari pada data barang


    public int tranversal(String namaBarang) {
        int i = 0;
        for (i = 0; i < n; i++) {
            if (namaBarang.equalsIgnoreCase(this.namaBarang[i])) {
                break;
            }
        }
        return i;
    }

    // Order
    public boolean order(String namaBarang, int jumlahBarang) {
        int j = tranversalOrder(namaBarang);
        int i = tranversal(namaBarang);
        if (i == n) {
            return false;
        } else {
            if (this.jumlahBarang[i] == 0) {
                System.out.println("stok habis");
            } else if (this.jumlahBarang[i] >= jumlahBarang) {
                if (j != m) {
                    this.jumlahOrder[j] = this.jumlahOrder[j] +
jumlahBarang;
                    this.jumlahBarang[i] = this.jumlahBarang[i] -
jumlahBarang;
                } else {
                    this.order[m] = namaBarang;
                    this.jumlahOrder[m] = jumlahBarang;
                    this.hargaOrder[m] = this.hargaBarang[i];
                    this.jumlahBarang[i] = this.jumlahBarang[i] -
jumlahBarang;
                    m++;
                }
            } else {
                System.out.println("stok tidak cukup");
            }
            return true;
        }
    }

    // Lihat Orderan
    public void displayOrder() {
        System.out.println("nama\tjumlah\tharga satuan\t total");
        int totalBiaya = 0;
        for (int i = 0; i < m; i++) {
            System.out.println(order[i] + "\t\t" + jumlahOrder[i] + "\t\t" +
hargaOrder[i] + "\t\t\t"
                    + jumlahOrder[i] * hargaOrder[i]);
            totalBiaya = totalBiaya + jumlahOrder[i] * hargaOrder[i];
        }
        System.out.println("---");
        System.out.print("Total Biaya: " + totalBiaya);
        System.out.println();
    }

    // Update Jumlah Barang


    public boolean updateJumlahOrder(String namaBarang, int jumlahOrder) {
        int selisih = 0;
        int j = tranversal(namaBarang);
        int i = tranversalOrder(namaBarang);
        if (i == n) {
            return false;
        } else {
            if (jumlahOrder > this.jumlahBarang[i] + this.jumlahOrder[i]) {
                System.out.println("jumlah barang melebihi stok");
                return false;
            } else {
                selisih = jumlahOrder - this.jumlahOrder[i];
                this.jumlahOrder[i] = jumlahOrder;
                this.jumlahBarang[j] = this.jumlahBarang[j] - selisih;
                this.jumlahOrder[i] = jumlahOrder;
                return true;
            }
        }
    }

    // Hapus Order
    public boolean deleteOrder(String namaBarang) {
        int k = tranversal(namaBarang);
        int i = tranversalOrder(namaBarang);
        if (i == n) {
            return false;
        } else {
            this.jumlahBarang[k] = this.jumlahBarang[k] +
this.jumlahOrder[i];
            for (int j = i; j < n; j++) {
                this.order[j] = this.order[j + 1];
                this.order[j] = this.order[j + 1];
            }
        }
        m--;
        return true;
    }

    // Mencari barang hasil orderan


    public boolean searchOrderan(String namaBarang) {
        int totalBiaya = 0;
        boolean kondisi = false;
        for (int i = 0; i < n; i++) {
            if (namaBarang.equalsIgnoreCase(this.order[i])) {
                System.out.println("---Orderan");
                System.out.println("nama\tjumlah\tharga satuan\t total");
                System.out.println(order[i] + "\t\t" + jumlahOrder[i] +
"\t\t" + hargaOrder[i] + "\t\t\t"
                        + jumlahOrder[i] * hargaOrder[i]);
                totalBiaya = totalBiaya + jumlahOrder[i] * hargaOrder[i];
                System.out.println();
                kondisi = true;
                break;
            }
        }
        return kondisi;
    }

    // Mencari indeks barang yang dicari pada data orderan


    public int tranversalOrder(String namaBarang) {
        int i = 0;
        for (i = 0; i < m; i++) {
            if (namaBarang.equalsIgnoreCase(this.order[i])) {
                break;
            }
        }
        return i;
    }
}

Class Main

package ProjectUAS;

import java.util.Scanner;

public class main {


    public static void main(String[] args) {
        // deklarasi variabel
        System.out.println("BMS Frozen Food");
        int max = 100;
        Scanner input = new Scanner(System.in);
        Pusat a = new Pusat(max);
        String namaBarang;
        int jumlahBarang;
        int hargaBarang;
        String namaBarangBaru;
        int pilih;
        boolean kondisi = true;
        // Input data awal
        a.insert("sosis", 100, 10000);
        a.insert("nugget", 90, 6000);
        a.insert("risoles", 80, 8000);
        // Menu Utama
        while (kondisi) {
            boolean kondisi1 = true;
            boolean kondisi2 = true;
           
System.out.println("============================================");
            System.out.println("Siapakah anda: \n1. Penjual \n2. Pembeli
\n3. Keluar\n");
            System.out.print("-Pilih: ");
            pilih = input.nextInt();
            switch (pilih) {
                case 1: // Menu Penjual
                    while (kondisi1) {
                       
System.out.println("============================================");
                        System.out.println("--> penjual");
                        System.out.println("Menu pilihan: \n1. Tambah Frozen
Food \n2. List Frozen Food \n"
                                + "3. Cari Frozen Food \n4. Hapus Frozen
Food \n5. Update Frozen Food \n6. Kembali \n7. Keluar\n");
                        System.out.print("-Pilih: ");
                        pilih = input.nextInt();
                        switch (pilih) {
                            case 1:
                                System.out.println("---- Tambah Frozen Food
----");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                if (a.search(namaBarang) == true) {
                                    System.out.println("Telah ada dalam List
");
                                    int indeks = a.tranversal(namaBarang);
                                    System.out.print("Masukkan jumlah Frozen
Food: ");
                                    jumlahBarang = input.nextInt();
                                    a.insert(namaBarang, jumlahBarang,
a.hargaBarang[indeks]);
                                } else {
                                    System.out.print("Masukkan jumlah Frozen
Food: ");
                                    jumlahBarang = input.nextInt();
                                    System.out.print("Masukkan harga Frozen
Food: ");
                                    hargaBarang = input.nextInt();
                                    a.insert(namaBarang, jumlahBarang,
hargaBarang);
                                }
                                break;
                            case 2:
                                System.out.println("===List Frozen
Food===");
                                a.display();
                                break;
                            case 3:
                                System.out.println("===Cari Frozen
Food===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                if (a.search(namaBarang) == true) {
                                    System.out.println("--> Frozen Food " +
namaBarang + " ada dalam daftar");
                                } else {
                                    System.out.println("--> Frozen Food " +
namaBarang + " tidak ada dalam daftar");
                                }
                                break;
                            case 4:
                                System.out.println("===Hapus Frozen
Food===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                if (a.delete(namaBarang) == true) {
                                    System.out.println("-->Barang " +
namaBarang + " berhasil di hapus");
                                } else {
                                    System.out.println("-->Barang " +
namaBarang + " tidak ada dalam daftar");
                                }
                                break;
                            case 5:
                                System.out.println("===Update Frozen
Food===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                // menu update barang
                                if (a.search(namaBarang) == true) {
                                    System.out.println(
                                            "Menu pilihan: \n1. Update Nama
Frozen Food\n2. Update Jumlah Frozen Food \n3. Update Jumlah Harga\n4.
Kembali\n5. Keluar\n");
                                    System.out.print("-Pilih: ");
                                    pilih = input.nextInt();
                                    switch (pilih) {
                                        case 1:
                                            System.out.println("--> Nama
Frozen Food");
                                            System.out.print("Masukkan nama
Frozen Food baru: ");
                                            namaBarangBaru = input.next();
                                            if (a.updateNama(namaBarang,
namaBarangBaru) == true) {
                                                System.out.println("Nama
Frozen Food berhasil di update");
                                                a.search(namaBarangBaru);
                                            } else {
                                                System.out.println("Frozen
Food tidak ada dalam list");
                                            }
                                            break;
                                        case 2:
                                            System.out.println("===Jumlah
Frozen Food===");
                                            System.out.print("Masukkan
jumlah Frozen Food: ");
                                            jumlahBarang = input.nextInt();
                                            if (a.updateJumlah(namaBarang,
jumlahBarang) == true) {
                                                System.out.println("Jumlah
Frozen Food berhasil di update");
                                                a.search(namaBarang);
                                            } else {
                                                System.out.println("Frozen
Food tidak ada dalam daftar");
                                            }
                                            break;
                                        case 3:
                                            System.out.println("===Harga
Frozen Food===");
                                            System.out.print("Masukkan
harga Frozen Food: ");
                                            hargaBarang = input.nextInt();
                                            if (a.updateHarga(namaBarang,
hargaBarang) == true) {
                                                System.out.println("Harga
Frozen Food berhasil di update");
                                                a.search(namaBarang);
                                            } else {
                                                System.out.println("Frozen
Food tidak ada dalam list");
                                            }
                                            break;
                                        case 4:
                                            break;
                                        case 5:
                                            return;
                                        default:
                                            System.out.println("Pilihan
menu tidak tersedia");
                                    }
                                } // end menu update
                                else {
                                    System.out.println("===Frozen Food=== "
+ namaBarang + " tidak ada dalam daftar");
                                }
                                break;
                            case 6:
                                kondisi1 = false;
                                break;
                            case 7:
                                return;
                            default:
                                System.out.println("Pilihan menu tidak
ada");
                        }
                    } // end menu penjual
                    break;
                case 2: // menu pembeli
                    while (kondisi2) {
                       
System.out.println("============================================");
                        System.out.println("===Pembeli===");
                        System.out.println("Menu pilihan: \n1. Daftar Frozen
Food \n2. Cari Frozen Food \n"
                                + "3. Pesan \n4. Lihat Pesanan \n5. Edit
Pesanan \n6. Kembali\n7. Keluar\n");
                        System.out.print("Pilih: ");
                        pilih = input.nextInt();
                        switch (pilih) {
                            case 1:
                                System.out.println("===Harga===");
                                a.display();
                                break;
                            case 2:
                                System.out.println("===Cari Frozen
Food===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                if (a.search(namaBarang) == true) {
                                    System.out.println("===Frozen Food
terdapat dalam daftar===");
                                } else {
                                    System.out.println("Frozen Food tidak
ada dalam daftar");
                                }
                                break;
                            case 3:
                                System.out.println("===Pesan Frozen
Food===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                if (a.search(namaBarang) == true) {
                                    System.out.print("Masukkan jumlah Frozen
Food: ");
                                    jumlahBarang = input.nextInt();
                                    a.order(namaBarang, jumlahBarang);
                                } else {
                                    System.out.println("===Frozen Food=== "
+ namaBarang + " tidak ada dalam daftar");
                                }
                                break;
                            case 4:
                                System.out.println("===Hasil Pesanan===");
                                a.displayOrder();
                                break;
                            case 5:
                                System.out.println("===Ubah Orderan===");
                                System.out.print("Masukkan nama Frozen Food:
");
                                namaBarang = input.next();
                                // menu edit orderan
                                if (a.searchOrderan(namaBarang) == true) {
                                    System.out.println(
                                            "Menu pilihan: \n1. Update
jumlah Frozen Food \n2. Hapus Pesanan \n3. Kembali\n4. Keluar");
                                    System.out.print("Pilih: ");
                                    pilih = input.nextInt();
                                    switch (pilih) {
                                        case 1:
                                            System.out.println("--> Update
jumlah Barang");
                                            System.out.print("Masukkan
jumlah barang: ");
                                            jumlahBarang = input.nextInt();
                                            if (jumlahBarang > 0) {
                                               
a.updateJumlahOrder(namaBarang, jumlahBarang);
                                               
a.searchOrderan(namaBarang);
                                            } else {
                                                System.out.println("Jumlah
tidak valid");
                                               
a.searchOrderan(namaBarang);
                                            }
                                            break;
                                        case 2:
                                            System.out.println("===Hapus
Pesanan===");
                                            a.deleteOrder(namaBarang);
                                            System.out.println("Frozen Food
" + namaBarang + " berhasil di hapus");
                                            break;
                                        case 3:
                                            break;
                                        case 4:
                                            return;
                                        default:
                                            System.out.println("Pilihan
menu tidak tersedia");
                                    }
                                } else {
                                    System.out.println("Frozen Food " +
namaBarang + " tidak ada dalam daftar");
                                }
                                break;
                            case 6:
                                kondisi2 = false;
                                break;
                            case 7:
                                return;
                            default:
                                System.out.println("Pilihan menu tidak
tersedia");
                        }
                    }
                    break;
                case 3:
                    kondisi = false;
                    break;
                default:
                    System.out.println("Pilihan menu tidak tersedia");
            }
        }
    }
}

You might also like