LATIHAN BAHASA JAVA PEMROGRAMAN (QUEUE)

 

PROGRAM QUEUE

Nama    : Khoirunisa Jannatuzzahra
NPM    : 21082010089
Prodi    : Sistem Informasi

Source code

# Class Object/Item
package Queue;
public class cObject {
    private String nama;
    cObject next, prev;
    cObject(String n){
        nama=n;
        next=prev=null;
        System.out.println("------------------------------");
        System.out.println("Object "+n+" masuk!!!");
    }
    public String getNama(){
        return nama;
    }
}

#Class Queue
package Queue;
public class cQueue {
    cObject front, rear;
    int size;
    cQueue(){
        front=rear=null;
        size=0;
        System.out.println("Object Queue dibuat...");
    }
    public void enqueue(cObject baru){
        if(rear==null){
            front=rear=baru;
        }
        else{
            rear.next=baru;
            baru.prev=rear;
            rear=baru;
        }
        size++;
        System.out.println("Enqueue sukses!!!");
        System.out.println("------------------------------");
    }
    public cObject dequeue(){
        if(rear==null){
            System.out.println("Queue kosong!!!"); 
            System.out.println("------------------------------");
            return(null);
        }
        else if (front.next==null){
            //queue berisi 1 object
            cObject t=front;
            front=rear=null;
            System.out.println("Dequeue sukses!!!");
            System.out.println("------------------------------");
            size--;
            return(t);
        }
        else{
            //queue berisi >1 object
            cObject t =front.next;
            cObject t2 =front;
            t2.next = null;
            front = t;
            front.prev = null;
            System.out.println("Dequeue sukses!!!");
            System.out.println("------------------------------");
            size--;
            return(t2);
        }
        
    }
    public void print(){
        System.out.println("");
        System.out.println("Isi Queue "+size+"   = ");
        System.out.println("--------Daftar Barang---------");
        for (cObject t = front; t != null;t=t.next) {
            System.out.println("# "+t.getNama()+" ");
        }
        System.out.println("");
    }     
}

#Class Aplikasi
package Queue;
import java.util.Scanner;
public class appQueue {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int pilih=0;
        cQueue q = new cQueue();
        System.out.println("--------PROGRAM QUEUE 'TOKO ADA APANYA'--------");
        System.out.println("-----------------------------------------------");
        do{
            System.out.println("\n1. Barang Masuk");
            System.out.println("2. Barang Keluar");
            System.out.println("3. Barang Proses");
            System.out.println("4. Keluar");
            System.out.print("Pilih         = ");
            pilih = sc.nextInt();
            switch(pilih){
                case 1:
                    System.out.print("Input Nama    = ");
                    String nm=sc.next();
                    cObject b=new cObject(nm);
                    q.enqueue(b);                    
                    break;
                case 2:
                    cObject t= q.dequeue();
                    if(t==null){
                        System.out.println("Barang Kosong!!!");
                    }
                    else{
                        System.out.println(t.getNama()+" Keluar!!!");
                    }
                    break;
                case 3:
                    q.print();
                    break;
                case 4:
                    System.out.println("----------------TERIMA KASIH----------------");
                    System.out.println("--------------------:))---------------------");
                    break;
            }
            
        }while(pilih!=4);
    }
}


Output






Selamat mencoba dan semangat belajar codingnya :))



Komentar

Postingan Populer