Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Latihan.Supermarket;
- import java.util.*;
- import javax.swing.JOptionPane;
- public class TestSupermarket {
- public static void main(String[] args) {
- TestSupermarket market = new TestSupermarket();
- int opt = 0;
- do {
- opt = Integer.parseInt(JOptionPane.showInputDialog("Supermarket Buah\nMenu:\n"
- + "1. Beli Barang\n"
- + "2. Jual Barang\n"
- + "3. Rekap Barang\n"
- + "4. Rekap Stok\n"
- + "5. Keluar"));
- switch (opt) {
- case 5:
- return;
- case 4:
- market.rekapStokBarang();
- break;
- case 3:
- market.rekapBarang();
- break;
- case 2:
- String barang = JOptionPane.showInputDialog(null, "Nama Barang : ");
- int jumlah = Integer.parseInt(JOptionPane.showInputDialog(null, "Jumlah Barang : "));
- market.jual(new Buah(barang, jumlah));
- break;
- case 1:
- String b = JOptionPane.showInputDialog(null, "Nama Barang : ");
- int j = Integer.parseInt(JOptionPane.showInputDialog(null, "Jumlah Barang : "));
- market.beli(new Buah(b, j));
- break;
- }
- } while (true);
- }
- private List<Buah> buah = new ArrayList<Buah>();
- public void beli(Buah buah) {
- for (Buah b : this.buah) {
- if (buah.getName().equalsIgnoreCase(b.getName())) {
- b.setStock(b.getStock() + buah.getStock());
- return;
- }
- }
- this.buah.add(buah);
- }
- public void jual(Buah buah) {
- for (Buah b : this.buah) {
- if (buah.getName().equalsIgnoreCase(b.getName())) {
- if (b.getStock() >= buah.getStock()) {
- b.setStock(b.getStock() - buah.getStock());
- } else {
- JOptionPane.showMessageDialog(null, "Stok tidak cukup...");
- }
- return;
- }
- }
- JOptionPane.showMessageDialog(null, "Barang tidak ditemukan");
- }
- public void rekapBarang() {
- Collections.sort(buah);
- for (Buah b : buah) {
- System.out.println("Nama : " + b.getName());
- }
- }
- public void rekapStokBarang() {
- Collections.sort(buah, new SortStok());
- for (Buah b : buah) {
- System.out.println("Nama : " + b.getName());
- System.out.println("Stok : " + b.getStock() + "\n");
- }
- }
- class SortStok implements Comparator<Buah> {
- @Override
- public int compare(Buah t, Buah t1) {
- return t1.getStock() - t.getStock();
- }
- }
- }
- class Buah implements Comparable<Buah> {
- private String name;
- private Integer stock;
- public Buah(String name, int stock) {
- this.name = name;
- this.stock = stock;
- }
- public String getName() {
- return name;
- }
- public Integer getStock() {
- return stock;
- }
- public void setName(String name) {
- this.name = name;
- }
- public void setStock(Integer stock) {
- this.stock = stock;
- }
- @Override
- public int compareTo(Buah t) {
- return name.compareTo(t.getName());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment