Latihan Mandiri: Memuat Program Queue

 Buatlah program queue untuk mengelola antrian pembelian barang. Program memiliki menu untuk memasukkan barang baru ke dalam antrian (ke ujung belakang), menu untuk menampilkan daftar antrian pembelian barang, dan menu untuk memproses barang yang ada di dalam antrian (mulai dari antrian yang pertama kali masuk; depan).

Nama: Annisa Dita Putri Kartika

NPM: 21082010090

Source Code:

public class cBarang {

  private String nama;     

   cBarang prev, next;     

   cBarang(String n){         

       nama=n;         

       System.out.println(nama+" dibuat...");    

    }

    public String getNama() {

        return nama;

    }  

}


public class CQueue {

   cBarang front, rear;

    int size;

    CQueue(){

        front=rear=null;

        size=0;

        System.out.println("Objek Queue dibuat...");

    }

    

    public void enqueue(cBarang baru){

        if (rear==null) {

            front=rear=baru;

 

        }else{

            rear.next=baru;

            baru.prev=rear;

            rear=baru;

            

        }

        System.out.println("Nomor antrian :"+ (size+1));

            size++;

        System.out.println("Tambah Antrian sukses...");

            

    }

    

    public cBarang dequeue(){

        if (rear==null) {

            System.out.println("Proses Antrian Kosong!");

            return null;

        }

        else if(front.next==null){

            cBarang t = front;

            front=rear=null;

            System.out.println("Proses Antrian sukses...");

            size--;

            return(t);

        }

        else{

            cBarang t = front.next;

            cBarang t2= front;

            t2.next=null;

            front = t;

            front.prev=null;

            System.out.println("Proses Antrian sukses...");

            size--;

            return(t2);

        }

    }

    public void print(){

        int count = 1;

        System.out.println("Panjang Antrian : "+size+" ");

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

        boolean kosong=true;

        int b=0;

        for (cBarang  t = front; t != null; t=t.next) {

            System.out.println(count+". " + t.getNama()+" "); b++;

            count++;

        }

        if (size==0) {

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

        }

    }


   

}


import java.util.Scanner;
public class cAppmain {
    public static void main(String[] args) {   
        Scanner sc = new Scanner(System.in);
        CQueue ant = new CQueue();
        int pilih=0;
        do{
            System.out.println("MENU ANTRIAN");
            System.out.println("1. Tambah Antrian");
            System.out.println("2. Proses Antrian");
            System.out.println("3. Lihat Antrian");
            System.out.println("4. Selesai");
            System.out.print("Pilih = ");
            pilih=sc.nextInt();
            switch(pilih){
                case 1:
                    System.out.println("----TAMBAH ANTRIAN------");
                    System.out.print("Masukkan nama = ");
                    String n = sc.next();
                    cBarang b = new cBarang(n);
                    ant.enqueue(b);
                    break;
                case 2:
                    System.out.println("..................");
                    cBarang t = ant.dequeue();
                    boolean cek = false;
                    if (t==null) {
                        cek=true;
                    }
                    if (cek==true) {
                        System.out.println("Kosong");
                    }
                    else{
                        System.out.println(t.getNama()+" keluar");
                    }
                    break;
                case 3:
                    ant.print();
                    break;
                case 4:
                    System.out.println("Terima Kasih");
                    break;
            }
        }while(pilih!=4);   
    } 
}

Output




Komentar