Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // keranjang, buah
- // buah --> id, berat, harga, warna
- // pisang --> buah --> jenis
- // anggur --> buah --> berbiji
- // melon --> buah --> dipotong
- // rules: selama masih muat, masih bisa masuk, jika tidak: ignore
- // kelas parsel --> koleksi buah (polymorphism)
- // ada pewarisan
- import java.util.*;
- class Buah {
- protected String id;
- protected int berat;
- protected int harga;
- protected String warna;
- public String getID() { return id; }
- public int getBerat() { return berat; }
- public int getHarga() { return harga; }
- }
- class Pisang extends Buah {
- private static int harga = 20;
- private String jenis;
- public Pisang(String id, int berat, String jenis, String warna) {
- this.id=id; this.berat=berat; this.jenis = jenis; this.warna=warna; this.harga=this.harga;
- }
- public int getHarga() { return harga; }
- }
- class Anggur extends Buah {
- private static int harga = 50;
- private String berbiji;
- public Anggur(String id, int berat, String berbiji, String warna) {
- this.id=id; this.berat=berat; this.berbiji = berbiji; this.warna=warna; this.harga=this.harga;
- }
- public int getHarga() { return harga; }
- }
- class Melon extends Buah {
- private static int harga = 100;
- private String dipotong;
- public Melon(String id, int berat, String dipotong, String warna) {
- this.id=id; this.berat=berat; this.dipotong = dipotong; this.warna=warna; this.harga=this.harga;
- }
- public int getHarga() { return harga; }
- }
- class Parsel {
- // keranjang
- // arraylist buah
- // constructor
- private int beratKeranjang;
- private int beratMax;
- private int totalHarga;
- private ArrayList<Buah> list_buah;
- public Parsel() { beratKeranjang=beratMax=totalHarga=0; list_buah = new ArrayList<>(); }
- public void setKeranjang(int berat) { beratMax = berat; }
- public int getBeratMax() { return beratMax; }
- public void add(Buah b) {
- if (beratKeranjang + b.getBerat() > beratMax) {}
- else {
- list_buah.add(b);
- beratKeranjang += b.getBerat();
- totalHarga += (b.getBerat()*b.getHarga());
- }
- }
- public int getTotalBerat() { return beratKeranjang; }
- public int getTotalHarga() { return totalHarga; }
- public void print() {
- for (int i=0; i<list_buah.size(); i++) {
- System.out.println(list_buah.get(i).getID());
- }
- }
- // set keranjang
- // add buah apapun
- // get total berat
- // get total harga
- }
- public class ParselBuah {
- public static void main(String[] args) {
- Map<String, Integer> jenis_keranjang = new HashMap<String, Integer>() {{
- put("Kecil", new Integer(300));
- put("Sedang", new Integer(500));
- put("Besar", new Integer(1000));
- }};
- Scanner s = new Scanner(System.in);
- Parsel parsel = new Parsel();
- String inp = s.next();
- parsel.setKeranjang(jenis_keranjang.get(inp));
- String id, nama_buah, preferensi, warna; int berat;
- inp = s.next();
- while (!inp.equals("purchase")) {
- if (inp.equals("+")) {
- id = s.next();
- nama_buah = s.next();
- berat = s.nextInt();
- preferensi = s.next();
- warna = s.next();
- if (nama_buah.equals("Pisang")) {
- Pisang temp = new Pisang(id, berat, preferensi, warna);
- parsel.add(temp);
- }
- else if (nama_buah.equals("Anggur")) {
- Anggur temp = new Anggur(id, berat, preferensi, warna);
- parsel.add(temp);
- }
- else if (nama_buah.equals("Melon")) {
- Melon temp = new Melon(id, berat, preferensi, warna);
- parsel.add(temp);
- }
- }
- inp = s.next();
- }
- System.out.println(parsel.getTotalBerat() + " " + parsel.getTotalHarga());
- parsel.print();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment