Search
Operasi Dasar Queue
Sebuah queue berisi beberapa elemen dengan tipe yang sama; disusun berurutan. Operasi queue terjadi pada kedua ujungnya. Penambahan di satu ujung (depan), penghapusan di ujung yang lain (belakang).
Contoh Program:

Source Code appQueue:
package pkgQueue;
import java.util.Scanner;
public class appQueue {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int Pilih = 0;
int NoAnt = 0;
cQueue q = new cQueue();
do{
System.out.println("");
System.out.println("MENU PROGRAM QUEUE");
System.out.println("1. Enqueue");
System.out.println("2. Dequeue");
System.out.println("3. Print");
System.out.println("4. Exit");
System.out.println("");
System.out.print("Pilihan : ");
Pilih = input.nextInt();
switch(Pilih){
case 1 :
NoAnt++;
System.out.println("");
System.out.println("ENQUEUE");
System.out.print("Masukkan NPM : ");
String np = input.next();
String no = String.valueOf(NoAnt);
cObject b = new cObject(no,np);
q.enqueue(b);
break;
case 2 :
System.out.println("");
System.out.println("DEQUEUE");
cObject t = q.dequeue();
if(t == null){
System.out.println("KOSONG");
}else{
System.out.println(t.getNPM()+" Keluar");
}
break;
case 3 :
System.out.println("");
System.out.println("PRINT");
q.print();
break;
case 4 :
System.out.println("");
System.out.println("EXIT");
System.out.println("Terima Kasih");
break;
}
}while(Pilih!=4);
}
}Source Code cObject :
package pkgQueue;
public class cQueue {
cObject front, rear;
int size;
cQueue(){
front = rear = null;
size = 0;
System.out.println("Objet Queue dibuat...");
}
public void enqueue(cObject baru){
if(rear == null){
front = rear = baru;
}else{
//Jika queue terisi
rear.next = baru;
baru.prev = rear;
rear = baru;
}
size++;
System.out.println("Enqueue Sukses...");
}
public cObject dequeue(){
if(rear == null){
System.out.println("Queue Kosong...");
return(null);
}else if(front.next == null){
cObject t = front;
front = rear = null;
System.out.println("Dequeue Sukses...");
size--;
return(t);
}else{
cObject t = front.next;
cObject t2 = null;
t2.next = null;
front = t;
front.prev = null;
System.out.println("Dequeue Sukses...");
size--;
return(t2);
}
}
public void print(){
System.out.println("Isi Queue "+size+" : ");
for(cObject t = front; t != null; t = t.next){
System.out.println(t.getNoAnt()+"\t"+t.getNPM());
}
System.out.println("");
}
}Source Code cObject:
package pkgQueue;
public class cObject {
private String NPM;
private String NoAnt;
cObject next, prev;
cObject (String no, String np){
NoAnt = no;
NPM = np;
System.out.println("Objet "+np+" Dibuat...");
}
public String getNoAnt(){
return NoAnt;
}
public String getNPM(){
return NPM;
}
}


Comments