Program Double Linked List Barang
Berikut ini merupakan contoh program double linked list dengan bahasa pemrograman java untuk penyimpanan data barang:
Source Code
1. Class cNode
public class cNode {
private String kode;
private String nama;
private int harga;
cNode next, prev;
cNode(String kd, String nm, int hrg){
kode=kd; nama=nm; harga=hrg;
next=prev=null;
System.out.println("Object "+kd+" "+nm+" "+hrg+" dibuat...");
}
public String getKode() {
return kode;
}
public String getNama() {
return nama;
}
public int getHarga() {
return harga;
}
public String ToString() {
return "["+kode+"]"+"\t"+nama+"\t"+harga;
}
}
2. Class cDoubleLinkedList
public class cDoubleLinkedList {
cNode head, tail;
int jNode;
cDoubleLinkedList(){
head=tail=null;
jNode=0;
System.out.println("Object Double Linked List dibuat...");
}
public void tambahNode(cNode baru) {
if(head == null) {
head=tail=baru;
}
else {
tail.next=baru;
baru.prev=tail;
tail=baru;
}
System.out.println("Penambahan sukses...");
}
public void hapusNode() {
if(head == null) {
System.out.println("Double Linked List kosong!");
}
else if(head.next == null) {
head=tail=null;
System.out.println("Penghapusan sukses...");
}
else {
cNode t = tail.prev;
tail.prev = null;
t.next = null;
tail = t;
System.out.println("Penghapusan sukses...");
}
}
public void cariData(String c) {
boolean ada = false;
System.out.print("Hasil pencarian: ");
for(cNode t = head; t != null; t = t.next) {
if(t.getNama().equalsIgnoreCase(c)) {
ada = true;
break;
}
}
if(ada == false) {
System.out.println("Barang tidak ditemukan!");
}
else {
System.out.println("Barang ditemukan...");
}
System.out.println("");
}
public void cetak() {
System.out.println("Isi Double Linked List");
System.out.println("Mundur: ");
for (cNode t = head; t != null; t = t.next) {
System.out.println(t.ToString());
}
System.out.println("");
System.out.println("Maju: ");
for (cNode t = tail; t != null; t = t.prev) {
System.out.println(t.ToString());
}
System.out.println("");
}
}
3. Class appDoubleLinkedList
import java.util.Scanner;
public class appDoubleLinkedList {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
cDoubleLinkedList dll = new cDoubleLinkedList();
int select = 0;
do {
System.out.println("\nMENU DOUBLE LINKED LIST");
System.out.println("1. Tambah Node");
System.out.println("2. Hapus Node");
System.out.println("3. Cari Data");
System.out.println("4. Cetak Node");
System.out.println("5. Exit");
System.out.print("Select = ");
select = sc.nextInt();
switch(select) {
case 1:
System.out.print("Masukkan kode barang: ");
String kd = sc.next();
System.out.print("Masukkan nama barang: ");
String nm = sc.next();
System.out.print("Masukkan harga barang: ");
int hrg = sc.nextInt();
cNode b = new cNode(kd,nm,hrg);
dll.tambahNode(b);
break;
case 2:
dll.hapusNode();
break;
case 3:
System.out.print("Nama barang yang dicari = ");
String c = sc.next();
dll.cariData(c);
break;
case 4:
dll.cetak();
break;
case 5:
System.out.println("Terima kasih...");
break;
}
} while(select != 5);
}
}



Comments