Bahasa Pemrograman 2 - Queue

 Nama : Lina Wardani 

NPM   : 21082010116

Kelas  : Par C


Source Code 

Main Class 

package pkgQueue;

import java.util.Scanner;

public class appQueue {

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        cQueue antrian = new cQueue();

        int pilih = 0;

        do{

            System.out.println("\n-------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("\n--------------------------------");

                    System.out.println("         TAMBAH ANTRIAN         ");

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

                    System.out.print("Nama Barang = ");

                    String nm = sc.next();

                    cNode nm = new cNode(n);

                    antrian.enqueue(nm);

                    break;

                case 2:

                    cNode t = antrian.dequeue();

                    boolean cek = false;

                    if(t==null){

                        cek=true;

                    }

                    if(cek==true){

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

                    }

                    else{

                        System.out.println(t.getNama()+" keluar");

                    }

                    break;

                case 3:

                    antrian.print();

                    break;

                case 4:

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

                    break;

            }

        }while(pilih!=4);

    }

}

Class Queue
package pkgQueue;
public class cQueue {
    cNode front,rear;
    int size;
    cQueue(){
        front=rear=null;
        size=0;
        System.out.println("Objek Antrian dibuAT ");
    }
   public void enqueue(cNode baru){
       if(rear==null){
           front=rear=baru;
       }
       else{
           rear.next=baru;
           baru.prev = rear;
           rear = baru;
       }
       System.out.println("Nomor Antrian ke -"+(size+1));
       size++;
       System.out.println("Tambah Antrian sukses...");
   }
   public cNode dequeue(){
       if(rear==null){
            System.out.println("Antrian Kosong!");
            return null;
        }
       else if(front.next==null){
            cNode t = front;
            front=rear=null;
            System.out.println("Poses Antrian Sukses...");
            size--;
            return(t);
        }
       else{
            //queue > 1
            cNode t = front.next;
            cNode 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  : ");
        for(cNode t = front; t != null; t=t.next){
            System.out.println(count+"."+t.getNama()+" ");
            count++;
        }
        if(size==0){
            System.out.println("Antrian Kosong!");
        }
    }
}
Class Object 
package pkgQueue;
public class cNode {
 private String nama;
    cNode next, prev;
    cNode(String n){
        nama=n;
        next=prev=null;
    }
    public String getNama(){
        return nama;
    }
}




Comments