Queue

 Kode Program :

Class Appmain

package PkgQueue;

import java.util.*;

public class Appmain {

    public static void main(String[] args) {

        cAntrian antrian = new cAntrian();

        Scanner scanner = new Scanner(System.in);   


        int pilih = 0;


        do {

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

            System.out.println(" 1. Tambah Pesanan                ");

            System.out.println(" 2. Tampilkan daftar antrian      ");

            System.out.println(" 3. Proses antrian                ");

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

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

            System.out.print("Pilihan anda: ");

            pilih = scanner.nextInt();

            System.out.println("");

            

            switch (pilih) {

                case 1:                   

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

                    System.out.print("Nama pembeli: ");

                    String namaPembeli = scanner.next();

                    System.out.print("Barang yang dibeli: ");

                    String Barang = scanner.next();

                    System.out.print("Harga barang: ");                    

                    int hargaBarang = scanner.nextInt();

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

                    antrian.enqueue(namaPembeli, Barang, hargaBarang);

            

                    System.out.println("");                     

                    System.out.println("Pembelian " + Barang + " oleh " 

                            + namaPembeli + " dengan harga " 

                            + hargaBarang + " telah ditambahkan ke dalam antrian");                 

                    System.out.println("");

                    break;

                case 2:

                    antrian.tampilAntrian();

                    break;

                case 3:

                    cPemesanan processedItem = antrian.dequeue();

                    if(processedItem == null){

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

                    }else{

                        System.out.println("");                        

                        System.out.println("Pembelian " + processedItem.getBarang() + " oleh " 

                                + processedItem.getnamaPembeli() + " dengan harga " 

                                + processedItem.gethargaBarang() + " telah diproses");

                        System.out.println("");

                    }

                        break;


                case 4:

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

                    break;


                default:

                    System.out.println("Pilihan tidak ditemukan..");

                    break;

            }

        }while(pilih != 4);


    }

}

Class cPemesanan
Package PkgQueue;

public class cPemesanan {
    private String namaPembeli;
    private String Barang;
    private int hargaBarang;

    public cPemesanan(String namaPembeli, String Barang, int hargaBarang) {
        this.namaPembeli = namaPembeli;
        this.Barang = Barang;
        this.hargaBarang = hargaBarang;
    }

    public String getnamaPembeli() {
        return namaPembeli;
    }

    public String getBarang() {
        return Barang;
    }

    public int gethargaBarang() {
        return hargaBarang;
    }    
}

Class cAntrian
package PkgQueue;
import java.util.*;
public class cAntrian {
    private Queue<cPemesanan> pesanan;

    public cAntrian() {
        pesanan = new LinkedList<>();
    }

    public void enqueue(String namaPembeli, String Barang, int hargaBarang) {
        cPemesanan pemesanan = new cPemesanan(namaPembeli, Barang, hargaBarang);        
        pesanan.add(pemesanan);
    }

    public cPemesanan dequeue() {
        return pesanan.poll();
    }

    public void tampilAntrian() {
        System.out.println("========== Daftar Antrian ==========");
        if (pesanan.isEmpty()) {
            System.out.println("Antrian kosong..");
        } else {
            for(cPemesanan p : pesanan) {
                System.out.println("Nama Pembeli: " + p.getnamaPembeli() 
                        + "\nBarang yang dibeli: " + p.getBarang() 
                        + "\nHarga Barang: " + p.gethargaBarang() +"\n");
            }
        }
    }    
}

Output :






Komentar