Latihan Queue

 Source code class main:

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
cQueue antrian = new cQueue();
Scanner s = new Scanner(System.in);
int pilih = 0;
do {
System.out.println("======================================");
System.out.println(" Aplikasi Queue ");
System.out.println("======================================");
System.out.println(" ");
System.out.println("1. Tambah Barang ");
System.out.println("2. List Daftar Antrian Semua Barang ");
System.out.println("3. Lihat Proses Barang ");
System.out.println("4. Exit");
System.out.println(" ");
System.out.print("Pilih : ");
pilih = s.nextInt();
System.out.println("");
switch(pilih) {
case 1:
System.out.println("======================================");
System.out.print("Masukkan nama barang : ");
String namaBarang = s.next();
System.out.print("Masukkan harga barang : ");
int hargaBarang = s.nextInt();
cDaftarJualan barangBaru = new cDaftarJualan(namaBarang, hargaBarang);
antrian.enqueue(barangBaru);
System.out.println("Barang Masuk List..");
System.out.println("======================================");
System.out.println("");
break;
case 2:
System.out.println("======================================");
System.out.println("List Antrian Pembelian Barang :");
System.out.println(" ");
if (antrian.isEmpty()) {
System.out.println("Tidak Ada Antrian Barang..");
System.out.println(" ");
} else {
cNode current = antrian.front;
int nomorUrut = 1;
while (current != null) {
cDaftarJualan barang = current.getData();
System.out.println(nomorUrut + ". Nama : " + barang.getNama());
System.out.println(" Harga : " + "Rp." + barang.getHarga());
current = current.getNext();
nomorUrut++;
System.out.println(" ");
}
System.out.println("======================================");
System.out.println(" ");
}
break;
case 3:
if (antrian.isEmpty()) {
System.out.println("======================================");
System.out.println("Daftar Proses Barang : ");
System.out.println("Antrian kosong...");
System.out.println("======================================");
System.out.println(" ");
} else {
cDaftarJualan barangDiproses = antrian.dequeue();
System.out.println("======================================");
System.out.println("Lihat Proses Barang : ");
System.out.println(" ");
System.out.println("Nama : " + barangDiproses.getNama());
System.out.println("Harga : Rp.1" + barangDiproses.getHarga());
System.out.println("======================================");
System.out.println(" ");
}
break;
case 4:
System.out.println("======================================");
System.out.println(" Terima Kasih ");
System.out.println("======================================");
break;
}
System.out.println();
} while(pilih != 4);
}
}

Source code class cNode:

public class cNode  {
private cDaftarJualan data;
private cNode next;
public cNode(cDaftarJualan d) {
data = d;
}
public cDaftarJualan getData() {
return data;
}
public cNode getNext() {
return next;
}
public void setNext(cNode n) {
next = n;
}
}

Source code class cDaftarJualan:

public class cDaftarJualan {
private String nama;
private int harga;
public cDaftarJualan(String n, int h) {
nama = n;
harga = h;
}
public String getNama() {
return nama;
}
public int getHarga() {
return harga;
}
}

Source code class cQueue:

public class cQueue {
cNode front;
cNode rear;
public boolean isEmpty() {
return front == null;
}
public void enqueue(cDaftarJualan data) {
cNode newNode = new cNode(data);
if (isEmpty()) {
front = newNode;
rear = newNode;
} else {
rear.setNext(newNode);
rear = newNode;
}
}
public cDaftarJualan dequeue() {
if (isEmpty()) {
throw new IllegalStateException("Antrian kosong...");
}
cDaftarJualan data = front.getData();
front = front.getNext();
if(front == null) {
rear = null;
}
return data;
}
public cDaftarJualan peek() {
if (isEmpty()) {
throw new IllegalStateException("Antrian kosong...");
}
return front.getData();
}

}



Output Run Programs:

 











Komentar

Postingan Populer