ariestamirra

Untitled

Sep 28th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.45 KB | None | 0 0
  1. package Latihan.Supermarket;
  2. import java.util.*;
  3. import javax.swing.JOptionPane;
  4. public class TestSupermarket {
  5.     public static void main(String[] args) {
  6.         TestSupermarket market = new TestSupermarket();
  7.         int opt = 0;
  8.         do {
  9.             opt = Integer.parseInt(JOptionPane.showInputDialog("Supermarket Buah\nMenu:\n"
  10.                     + "1. Beli Barang\n"
  11.                     + "2. Jual Barang\n"
  12.                     + "3. Rekap Barang\n"
  13.                     + "4. Rekap Stok\n"
  14.                     + "5. Keluar"));
  15.             switch (opt) {
  16.                 case 5:
  17.                     return;
  18.                 case 4:
  19.                     market.rekapStokBarang();
  20.                     break;
  21.                 case 3:
  22.                     market.rekapBarang();
  23.                     break;
  24.                 case 2:
  25.                     String barang = JOptionPane.showInputDialog(null, "Nama Barang : ");
  26.                     int jumlah = Integer.parseInt(JOptionPane.showInputDialog(null, "Jumlah Barang : "));
  27.                     market.jual(new Buah(barang, jumlah));
  28.                     break;
  29.                 case 1:
  30.                     String b = JOptionPane.showInputDialog(null, "Nama Barang : ");
  31.                     int j = Integer.parseInt(JOptionPane.showInputDialog(null, "Jumlah Barang : "));
  32.                     market.beli(new Buah(b, j));
  33.                     break;
  34.             }
  35.         } while (true);
  36.     }
  37.     private List<Buah> buah = new ArrayList<Buah>();
  38.  
  39.     public void beli(Buah buah) {
  40.         for (Buah b : this.buah) {
  41.             if (buah.getName().equalsIgnoreCase(b.getName())) {
  42.                 b.setStock(b.getStock() + buah.getStock());
  43.                 return;
  44.             }
  45.         }
  46.         this.buah.add(buah);
  47.     }
  48.     public void jual(Buah buah) {
  49.         for (Buah b : this.buah) {
  50.             if (buah.getName().equalsIgnoreCase(b.getName())) {
  51.                 if (b.getStock() >= buah.getStock()) {
  52.                     b.setStock(b.getStock() - buah.getStock());
  53.                 } else {
  54.                     JOptionPane.showMessageDialog(null, "Stok tidak cukup...");
  55.                 }
  56.                 return;
  57.             }
  58.         }
  59.         JOptionPane.showMessageDialog(null, "Barang tidak ditemukan");
  60.     }
  61.  
  62.     public void rekapBarang() {
  63.         Collections.sort(buah);
  64.         for (Buah b : buah) {
  65.             System.out.println("Nama : " + b.getName());
  66.         }
  67.     }
  68.     public void rekapStokBarang() {
  69.         Collections.sort(buah, new SortStok());
  70.         for (Buah b : buah) {
  71.             System.out.println("Nama : " + b.getName());
  72.             System.out.println("Stok : " + b.getStock() + "\n");
  73.         }
  74.     }
  75.     class SortStok implements Comparator<Buah> {
  76.         @Override
  77.         public int compare(Buah t, Buah t1) {
  78.             return t1.getStock() - t.getStock();
  79.         }
  80.     }
  81. }
  82.  
  83. class Buah implements Comparable<Buah> {
  84.     private String name;
  85.     private Integer stock;
  86.     public Buah(String name, int stock) {
  87.         this.name = name;
  88.         this.stock = stock;
  89.     }
  90.     public String getName() {
  91.         return name;
  92.     }
  93.     public Integer getStock() {
  94.         return stock;
  95.     }
  96.     public void setName(String name) {
  97.         this.name = name;
  98.     }
  99.     public void setStock(Integer stock) {
  100.         this.stock = stock;
  101.     }
  102.     @Override
  103.     public int compareTo(Buah t) {
  104.         return name.compareTo(t.getName());
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment