Latihan Queue 22082010015 Arsa Cahaya Pradipta
Source Code:
package latihan_mandiri2;
public class cBarang {
private String nama;
private int harga;
public cBarang(String n, int h) {
nama = n;
harga = h;
}
public String getNama() {
return nama;
}
public int getHarga() {
return harga;
}
}
package latihan_mandiri2;
public class cNode {
private cBarang data;
private cNode next;
public cNode(cBarang d) {
data = d;
}
public cBarang getData() {
return data;
}
public cNode getNext() {
return next;
}
public void setNext(cNode n) {
next = n;
}
}
package latihan_mandiri2;
public class cQueue {
cNode front;
cNode rear;
public boolean isEmpty() {
return front == null;
}
public void enqueue(cBarang data) {
cNode newNode = new cNode(data);
if (isEmpty()) {
front = newNode;
rear = newNode;
} else {
rear.setNext(newNode);
rear = newNode;
}
}
public cBarang dequeue() {
if (isEmpty()) {
throw new IllegalStateException("Antrian kosong");
}
cBarang data = front.getData();
front = front.getNext();
if(front == null) {
rear = null;
}
return data;
}
public cBarang peek() {
if (isEmpty()) {
throw new IllegalStateException("Antrian kosong");
}
return front.getData();
}
}
package latihan_mandiri2;
import java.util.Scanner;
public class appQueue {
public static void main(String[] args) {
cQueue antrian = new cQueue();
Scanner s = new Scanner(System.in);
int pilih = 0;
do {
System.out.println(" LATIHAN INDIVIDU QUEUE ");
System.out.println("ARSA CAHAYA PRADIPTA \t 22082010015");
System.out.println("======================================");
System.out.println("1. Tambah Barang ke Antrian");
System.out.println("2. Tampilkan Daftar Antrian");
System.out.println("3. Proses Barang dari Antrian");
System.out.println("4. Exit");
System.out.print("Pilih: ");
pilih = s.nextInt();
switch(pilih) {
case 1:
System.out.print("Masukkan nama barang: ");
String namaBarang = s.next();
System.out.print("Masukkan harga barang: ");
int hargaBarang = s.nextInt();
cBarang barangBaru = new cBarang(namaBarang, hargaBarang);
antrian.enqueue(barangBaru);
System.out.println("Barang telah ditambahkan..");
break;
case 2:
System.out.println("Daftar Antrian Pembelian Barang:");
if (antrian.isEmpty()) {
System.out.println("Antrian kosong.");
} else {
cNode current = antrian.front;
int nomorUrut = 1;
while (current != null) {
cBarang barang = current.getData();
System.out.println(nomorUrut + ". Nama: " + barang.getNama() + ", Harga: " + barang.getHarga());
current = current.getNext();
nomorUrut++;
}
}
break;
case 3:
if (antrian.isEmpty()) {
System.out.println("Antrian kosong.");
} else {
cBarang barangDiproses = antrian.dequeue();
System.out.println("Barang diproses dari antrian:");
System.out.println("Nama: " + barangDiproses.getNama());
System.out.println("Harga: " + barangDiproses.getHarga());
}
break;
case 4:
System.out.println("Terima kasih..");
break;
}
System.out.println();
} while(pilih != 4);
}
}
Output:
Comments
Post a Comment