Latihan Queue 22082010015 Arsa Cahaya Pradipta

Source Code:

package latihan_mandiri2;


public class cBarang {

    private String nama;

    private int harga;

    

    public cBarang(String n, int h) {

        nama = n;

        harga = h;

    }

    

    public String getNama() {

        return nama;

    }

    

    public int getHarga() {

        return harga;

    }

}

package latihan_mandiri2;


public class cNode {

    private cBarang data;

    private cNode next;

    

    public cNode(cBarang d) {

        data = d;

    }

    

    public cBarang getData() {

        return data;

    }

    

    public cNode getNext() {

        return next;

    }

    

    public void setNext(cNode n) {

        next = n;

    }

}

package latihan_mandiri2;


public class cQueue {

    cNode front;

    cNode rear;

    

    public boolean isEmpty() {

        return front == null;

    }

    

    public void enqueue(cBarang data) {

        cNode newNode = new cNode(data);

        if (isEmpty()) {

            front = newNode;

            rear = newNode;

        } else {

            rear.setNext(newNode);

            rear = newNode;

        }

    }

    

    public cBarang dequeue() {

        if (isEmpty()) {

            throw new IllegalStateException("Antrian kosong");

        }

        cBarang data = front.getData();

        front = front.getNext();

        if(front == null) {

            rear = null;

        }

        return data;

    }

    

    public cBarang peek() {

        if (isEmpty()) {

            throw new IllegalStateException("Antrian kosong");

        }

        return front.getData();

    }

}

package latihan_mandiri2;


import java.util.Scanner;


public class appQueue {

    public static void main(String[] args) {

        cQueue antrian = new cQueue();

        Scanner s = new Scanner(System.in);

        int pilih = 0;

        

        do {

            System.out.println("        LATIHAN INDIVIDU QUEUE        ");

            System.out.println("ARSA CAHAYA PRADIPTA \t 22082010015");

            System.out.println("======================================");

            System.out.println("1. Tambah Barang ke Antrian");

            System.out.println("2. Tampilkan Daftar Antrian");

            System.out.println("3. Proses Barang dari Antrian");

            System.out.println("4. Exit");

            System.out.print("Pilih: ");

            pilih = s.nextInt();

            

            switch(pilih) {

                case 1:

                    System.out.print("Masukkan nama barang: ");

                    String namaBarang = s.next();

                    System.out.print("Masukkan harga barang: ");

                    int hargaBarang = s.nextInt();

                    

                    cBarang barangBaru = new cBarang(namaBarang, hargaBarang);

                    antrian.enqueue(barangBaru);

                    System.out.println("Barang telah ditambahkan..");

                    break;

                case 2:

                    System.out.println("Daftar Antrian Pembelian Barang:");

                    if (antrian.isEmpty()) {

                        System.out.println("Antrian kosong.");

                    } else {

                        cNode current = antrian.front;

                        int nomorUrut = 1;

                        while (current != null) {

                            cBarang barang = current.getData();

                            System.out.println(nomorUrut + ". Nama: " + barang.getNama() + ", Harga: " + barang.getHarga());

                            current = current.getNext();

                            nomorUrut++;

                        }

                    }

                    break;

                case 3:

                    if (antrian.isEmpty()) {

                        System.out.println("Antrian kosong.");

                    } else {

                        cBarang barangDiproses = antrian.dequeue();

                        System.out.println("Barang diproses dari antrian:");

                        System.out.println("Nama: " + barangDiproses.getNama());

                        System.out.println("Harga: " + barangDiproses.getHarga());

                    }

                    break;

                case 4:

                    System.out.println("Terima kasih..");

                    break;

            }

            System.out.println();

        } while(pilih != 4);

    }

}

Output:




Comments