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
Posting Komentar