LATIHAN PROGRAM QUEUE

NAMA : ENGIE RAMADHANI

NPM     : 22082010029


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). 

Source Code :


appQueue

/*

 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license

 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template

 */

package pkgQueue;


/**

 *

 * @author ENGIE RAMADHANI

 */

import java.util.Scanner;

public class appQueue {

    public static void main(String[] args){

        Scanner s = new Scanner(System.in);

        int pilih=0;

        cQueue q = new cQueue();

        do{

            System.out.println("\nPROGRAM QUEUE");

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

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

            System.out.println("3. Print");

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

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

            pilih = s.nextInt();

            switch(pilih){

                case 1:

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

                    String nm = s.next();

                    cObject b = new cObject(nm);

                    q.tambah(b);

                    break;

                case 2:

                    cObject t = q.proses() ; 

                    if(t==null){

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

                    }

                    else{

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

                    }

                    break;

                case 3:

                    q.print();

                    break;

                case 4:

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

                    break;

            }

        }while(pilih!=4);

    } 

}



cQueue

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package pkgQueue;

/**
 *
 * @author ENGIE RAMADHANI
 */
public class cQueue {
    cObject front, rear;
    int size;
    cQueue(){
        front=rear=null;
        size=0;
        System.out.println("Object Queue dibuat...");
    }
    public void tambah (cObject baru){
        if(rear==null){
            front=rear=baru;
        }
        else{
            //jika queue sudah ada isinya
            rear.next=baru;
            baru.prev = rear;
            rear = baru;
        }
        size++;
        System.out.println("Tambah antrian sukses...");
    }
    public cObject proses(){
        if(rear==null){
            System.out.println("antrian kosong!");
            return(null);
        }
        else if(front.next==null){
            //queue tinggal berisi satu object
            cObject t=front;
            front=rear=null;
            System.out.println("Proses antrian sukses...");
            size--;
            return(t);
        }
        else{
           //queue berisi lebih >1 object
           cObject t = front.next;
           cObject t2 = front;
           t2.next = null;
           front = t;
           front.prev = null;
           System.out.println("Proses antrian sukses...");
            size--;
           return (t2);
        }
    }
    public void print(){
        System.out.print("Isi Queue "+size+" : ");
        for (cObject t = front; t != null; t=t.next){
            System.out.print(t.getNama()+" ");
        }
        System.out.println("");
    }
}


cObject

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package pkgQueue;

/**
 *
 * @author ENGIE RAMADHANI
 */
public class cObject {
    private String nama;
    cObject next, prev;
    cObject(String n){
        nama=n;
        next=prev=null;
        System.out.println("Object "+n+" dibuat...");
    }
    public String getNama(){
        return nama;
    }
}


 

 









Komentar