top of page

Linked List Mahasiswa - 2

May 10, 2021
2 min read

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


Don't forget to visit my other Social Media

  • Pinterest
  • Instagram

© 2023 by Radinplace. Proudly created with Wix.com

bottom of page