Program Queue dengan Double Linked List
Tugas :
Buatlah
program menggunakan double linked list yang minimal memiliki menu untuk menjalankan operasi operasi dasar
Queue, antara lain : enqueue, dequeue, dan print. Studi kasusnya adalah antrian
pembayaran listrik dengan data yang disimpan dalam node/simpul adalah nomor
urut antrian dan kode pelanggan.
Source Code :
cObjek
package
Queue;
public
class cObjek {
private String nama;
private String kode;
private int noUrut;
cObjek next, prev;//agar bisa mengakses ke
kanan dan kiri
cObjek(int no, String nm, String kd){
nama=nm;
kode=kd;
noUrut=no;
next=prev=null;
System.out.println("Pelanggan
dengan No Urut "+no+" atas Nama "+nm+
" memiliki kode
"+kd+" telah dibuat");
}
public String getNama(){
return nama;
}
public String getKode(){
return kode;
}
public int getnoUrut(){
return noUrut;
}
}
cQueue
package
Queue;
public
class cQueue {
cObjek front, rear;
int size;
cQueue(){
front=rear=null;
size=0;
System.out.println("Objek Queue
telah dibuat");
}
public void enqueue(cObjek baru){
//antrian masih kosong
if(rear==null){
front=rear=baru;
}
//antrian sudah ada isinya
else{
rear.next=baru;
baru.prev=rear;
rear=baru;
}
size++;
System.out.println("Enqueue
sukses...");
}
public cObjek dequeue(){
if(rear==null){
System.out.println("Queue
kosong...");
return null;
}
else if(front.next==null){
//queue tinggal satu objek
cObjek t=front;
front=rear=null;
System.out.println("Dequeue
sukses...");
size--;
return(t);
}
else{
//queue lebih dari satu, yang
keluar dari ujung front
cObjek t=front.next;
cObjek t2=front;
t2.next=null;
front=t;
front.prev=null;
System.out.println("Dequeue
sukses...");
size--;
return(t2);
}
}
public void print(){
System.out.print("Isi Queue
"+size+" : ");
String spasi =
"================================";
System.out.println("\nAntrian
Pembayaran Listrik\n"+spasi);
System.out.print("No Urut \tNama
\tKode\n"+spasi);
for(cObjek t=front; t!=null; t=t.next){
System.out.println("\n"+t.getnoUrut()+"\t\t"+t.getNama()+"\t"+t.getKode());
}
System.out.println("");
}
}
appQueue
package
Queue;
import
java.util.*;
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("\nProgram
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("No
Urut = ");
int no=sc.nextInt();
System.out.print("Input Nama = ");
String nm=sc.next();
System.out.print("Input Kode = ");
String kd=sc.next();
cObjek c = new cObjek(no,
nm, kd);
q.enqueue(c);
break;
case 2:
cObjek t=q.dequeue();
if(t==null){
System.out.println("Kosong...");
}
else{
System.out.println(t.getNama()+" telah keluar...");
}
break;
case 3:
q.print();
break;
case 4:
System.out.println("Terima kasih...");
break;
}
}while(pilih!=4);
}
}
Hasil Running Program :
run:
Objek
Queue telah dibuat
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 1
No
Urut = 1
Input
Nama = Roro
Input
Kode = AA01
Pelanggan
dengan No Urut 1 atas Nama Roro memiliki kode AA01 telah dibuat
Enqueue
sukses...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 3
Isi
Queue 1 :
Antrian
Pembayaran Listrik
================================
No
Urut Nama Kode
================================
1 Roro AA01
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 1
No
Urut = 2
Input
Nama = Ega
Input
Kode = AA02
Pelanggan
dengan No Urut 2 atas Nama Ega memiliki kode AA02 telah dibuat
Enqueue
sukses...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 1
No
Urut = 3
Input
Nama = Fesa
Input
Kode = AA03
Pelanggan
dengan No Urut 3 atas Nama Fesa memiliki kode AA03 telah dibuat
Enqueue
sukses...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 1
No
Urut = 4
Input
Nama = Ardi
Input
Kode = AA04
Pelanggan
dengan No Urut 4 atas Nama Ardi memiliki kode AA04 telah dibuat
Enqueue
sukses...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 1
No
Urut = 5
Input
Nama = Anasti
Input
Kode = AA05
Pelanggan
dengan No Urut 5 atas Nama Anasti memiliki kode AA05 telah dibuat
Enqueue
sukses...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 3
Isi
Queue 5 :
Antrian
Pembayaran Listrik
================================
No
Urut Nama Kode
================================
1 Roro AA01
2 Ega AA02
3 Fesa AA03
4 Ardi AA04
5 Anasti AA05
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 2
Dequeue
sukses...
Roro
telah keluar...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 2
Dequeue
sukses...
Ega
telah keluar...
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 3
Isi
Queue 3 :
Antrian
Pembayaran Listrik
================================
No
Urut Nama Kode
================================
3 Fesa AA03
4 Ardi AA04
5 Anasti AA05
Program
Queue
1.
Enqueue
2.
Dequeue
3.
Print
4.
Exit
Pilih
= 4
Terima
kasih...
BUILD SUCCESSFUL (total time: 1 minute 18 seconds)
NB : Berikut saya lampirkan screenshot running program dalam bentuk drive, karena dalam blogger saya terdapat kendala:
https://drive.google.com/drive/folders/1ugxQaxsLYSgUfvFAkiwNiyF8G5Og2gEG?usp=sharing
Disusun : Roro Ayu Pangestuti (20082010128)
Komentar
Posting Komentar