/**
* Tugas : ETS_Soal 3_Antrian Pada Bank
*
* Rafael Asi Kristanto Tambunan
* 5025201168
* Teknik Informatika
*/
import java.util.Scanner;
class Node{
int antrian;
Node next = null;
}
class Queue
{
int size = 0;
Node head, tail;
public Queue()
{
head = tail = null;
}
public void enqueue(int id)
{
Node newNode = new Node();
newNode.antrian = id;
newNode.next = null;
if(head == null)
{
head = tail = newNode;
}
else
{
tail.next = newNode;
tail = newNode;
}
size++;
}
public int queue_size()
{
return size;
}
public void queue_viewTeller()
{
if(size == 0)
{
System.out.println("Antrian Belum Ada");
}
else {
Node cek = head;
for(int i = 1; i<=size; i++)
{
if(cek != null)
{
System.out.println("\\t A"+(i));
cek = cek.next;
}
}
}
}
public void queue_viewCS()
{
if(size == 0)
{
System.out.println("Antrian Belum Ada");
}
else {
Node cek = head;
for(int i = 1; i<=size; i++)
{
if(cek != null)
{
System.out.println("\\t B"+(i));
cek = cek.next;
}
}
}
}
public void queue_viewCetakBuku()
{
if(size == 0)
{
System.out.println("Antrian Belum Ada");
}
else {
Node cek = head;
for(int i = 1; i<=size; i++)
{
if(cek != null)
{
System.out.println("\\t C"+(i));
cek = cek.next;
}
}
}
}
}
public class AntrianPadaBank{
public static void main(String[] args) {
//Membuat Queue untuk tiap-tiap pilihan
Queue queueTeller = new Queue();
Queue queueCS = new Queue();
Queue queueCetakBuku = new Queue();
//Scanner untuk pilihan
Scanner Int = new Scanner(System.in);
int pilihan;
System.out.println("============Antrian Bank============");
while(true)
{
//Menu Pilihan
System.out.println();
System.out.println("Pilihan : ");
System.out.println("1. Antrian Teller");
System.out.println("2. Antrian Customer Service");
System.out.println("3. Antrian Cetak Buku");
System.out.println("4. Cek Nomor Antrian");
System.out.println("5. Exit");
pilihan = Int.nextInt();
if(pilihan == 1) //Mengambil Antrian Teller
{
System.out.println();
int a = 1;
queueTeller.enqueue(a);
System.out.println("Antrian Teller anda : A" +queueTeller.size);
System.out.println("Silahkan tunggu antrian anda dipanggil");
a++;
}
else if(pilihan == 2) //Mengambil Antrian Customer Service
{
System.out.println();
int b = 1;
queueCS.enqueue(b);
System.out.println("Antrian Customer Service anda : B" +queueCS.size);
System.out.println("Silahkan tunggu antrian anda dipanggil");
b++;
}
else if(pilihan == 3) //Mengambil Cetak Buku
{
System.out.println();
int c = 1;
queueCetakBuku.enqueue(c);
System.out.println("Antrian Cetak Buku anda : C" +queueCetakBuku.size);
System.out.println("Silahkan tunggu antrian anda dipanggil");
c++;
}
else if(pilihan == 4) //Menampilkan Papan Seluruh Antrian
{
System.out.println();
System.out.println("======Antrian Teller======");
queueTeller.queue_viewTeller();
System.out.println();
System.out.println("======Antrian Customer Service======");
queueCS.queue_viewCS();
System.out.println();
System.out.println("======Antrian Cetak Buku======");
queueCetakBuku.queue_viewCetakBuku();
}
else if(pilihan == 5) //Menghentikan Fungsi
{
break;
}
}
}
}