Program Operasi Dasar Queue
Berikut ini merupakan contoh program dasar Queue menggunakan bahasa pemrograman java:
Source Code
1. Class cNode
public class cNode {
private String noAntrian;
private String kdPelanggan;
cNode next, prev;
cNode(String no, String kd){
kdPelanggan=kd; noAntrian=no;
next=prev=null;
System.out.println("Object "+no+ " dan "+kd+" dibuat...");
}
public String getNomorAntrian() {
return noAntrian;
}
public String getKodePelanggan() {
return kdPelanggan;
}
}
2. Class cQueue
public class cQueue {
cNode depan, belakang;
int size;
cQueue(){
depan=belakang=null;
size=0;
System.out.println("Object Queue dibuat...");
}
public void enqueue(cNode baru) {
if(belakang==null) {
depan=belakang=baru;
}
else {
belakang.next=baru;
baru.prev=belakang;
belakang=baru;
}
size++;
System.out.println("Enqueue berhasil...");
System.out.println("");
}
public cNode dequeue() {
if(belakang==null) {
System.out.println("Queue masih kosong!");
return(null);
}
else if(depan.next==null) {
cNode temp=depan;
depan=belakang=null;
System.out.println("Dequeue berhasil...");
size--;
return(temp);
}
else {
cNode temp=depan.next;
cNode temp2=depan;
temp2.next=null;
depan=temp;
depan.prev=null;
System.out.println("Dequeue berhasil...");
size--;
return(temp2);
}
}
public void print() {
System.out.println("Isi Queue "+size+" : ");
System.out.println("DAFTAR ANTRIAN");
for (cNode temp=depan; temp!=null; temp=temp.next) {
System.out.println(temp.getNomorAntrian()+"\t"+temp.getKodePelanggan());
}
System.out.println("");
}
}
3. Class appQueue
import java.util.Scanner;
public class appQueue {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
cQueue q = new cQueue();
int pilih=0;
do {
System.out.println("\nMENU QUEUE");
System.out.println("1. Enqueue");
System.out.println("2. Dequeue");
System.out.println("3. Print");
System.out.println("4. Exit");
System.out.print("Pilih = ");
pilih=sc.nextInt();
switch(pilih) {
case 1:
System.out.print("Masukkan Nomor Antrian: ");
String no = sc.next();
System.out.print("Masukkan Kode Pelanggan: ");
String kd = sc.next();
cNode b = new cNode(no, kd);
q.enqueue(b);
break;
case 2:
cNode temp = q.dequeue();
if(temp==null) {
System.out.println("Queue kosong!");
}
else {
System.out.println(temp.getKodePelanggan()+" keluar");
}
break;
case 3:
q.print();
break;
case 4:
System.out.println("Terima kasih...");
break;
}
}while(pilih!=4);
}
}


Comments