Search
Linked List Mahasiswa - 2
Linked List tambah dan hapus belakang

Source Code appLinkedList
package pkgLinkedList;
import java.util.Scanner;
public class appLinkedList {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
cNode n;
cLinkedList LL = new cLinkedList (null);
int pilih = 0;
do{
System.out.println("");
System.out.println("MENU LINKED LIST");
System.out.println("1. Tambah Data");
System.out.println("2. Hapus Data");
System.out.println("3. Cetak Data");
System.out.println("4. Cari Data");
System.out.println("5. Exit");
System.out.print("Pilih = ");
pilih = input.nextInt();
switch(pilih){
case 1:
System.out.println("");
System.out.println("TAMBAH DATA");
System.out.println("1. Tambah Depan");
System.out.println("2. Tambah Belakang");
System.out.print("Pilihan : "); int TDari = input.nextInt();
System.out.println("");
System.out.println("Masukkan Data Berikut!");
System.out.print("NPM : ");
String NPM = input.next();
System.out.print("Nama : ");
String Nama = input.next();
System.out.print("IPK : ");
double IPK = input.nextDouble();
n = new cNode(NPM, Nama, IPK);
if(TDari == 1){
LL.addNode(n);
}else{
LL.addNodeBehind(n);
}
break;
case 2:
System.out.println("");
System.out.println("HAPUS DATA");
System.out.println("");
System.out.println("1. Hapus data dari depan");
System.out.println("2. Hapus data dari belakang");
System.out.print("Pilihan : "); int HDari = input.nextInt();
if(HDari == 1){
LL.delNode();
}else{
LL.delNodeBehind();
}
break;
case 3:
System.out.println("");
System.out.println("CETAK DATA");
System.out.println("");
LL.print();
break;
case 4:
System.out.println("");
System.out.println("CARI DATA");
System.out.println("");
System.out.print("Masukkan NPM : ");
String npm = input.next();
LL.findNode(npm);
break;
case 5:
System.out.println("");
System.out.println("EXIT");
System.out.println("Terimakasih...");
break;
}
}while(pilih!=5);
}
}Source cLinkedList
package pkgLinkedList;
public class cLinkedList {
cNode header, tail;
int js; //jumlah simpul
cLinkedList(cNode h) {
header=h; tail=h;
js=0;
System.out.println("Object Linked List dibuat..");
}
public void addNode(cNode baru) {
if(header==null){
header=tail=baru;
}else{
//penambahan simpul itu selalu di depan
baru.next = header;
header = baru;
}
System.out.println("Penambahan OK...");
}
public void addNodeBehind(cNode baru){
if(header == null){
header = baru;
tail = baru;
}else if(tail == null){
tail=baru;
}else{
tail.next = baru;
baru.before = tail;
tail = baru;
}
System.out.println("Penambahan OK...");
}
public void delNode(){
//selalu menghapus simpul terdepan
if(header==null){
System.out.println("Linked List kosong!");
}
else{
cNode t = header.next;
header = null;
header = t;
System.out.println("Pengahpusan OK...");
}
}
public void delNodeBehind(){
if(tail == null){
System.out.println("Linked List Kosong!");
}else{
tail = tail.before;
tail.next = null;
System.out.println("Penghapusan OK...");
}
}
public void print(){
if(header != null && tail != null){
System.out.println("Isi LL: ");
System.out.println("NPM\t\tNama\tIPK");
for (cNode t = header; t !=null; t=t.next){
System.out.println(t.getNPM()+"\t"+t.getNama()+"\t"+t.getIPK());
}
System.out.println("");
}else{
System.out.println("Data Masih Kosong");
}
}
public void findNode(String n){
int Find = 0;
for(cNode t = header; t != null; t=t.next){
if(n.contains(t.getNPM())){
System.out.println("Data Ditemukan : ");
System.out.println("NPM\t\tNama\tIPK");
System.out.println(t.getNPM()+"\t"+t.getNama()+"\t"+t.getIPK());
Find++;
}
}if(Find == 0){
System.out.println("Data Tidak Ditemukan");
}
}
}Source Code cNode
package pkgLinkedList;
public class cNode {
private String NPM;
private String Nama;
private double IPK;
cNode next;
cNode before;
cNode(String np, String nm, double ip){
Nama = nm;
NPM = np;
IPK = ip;
next=null;
System.out.println("Object node "+nm+" dibuat...");
}
public String getNPM(){
return NPM;
}
public String getNama(){
return Nama;
}
public double getIPK(){
return IPK;
}
}Output Program



Comments