top of page

Linked List Mahasiswa - 1

May 3, 2021
2 min read

Tentang Linked List

Linked List yang dalam beberapa literature referensi diterjemahkan sebagai daftar/ senarai berkait/ bertaut. Linked list bersifat dinamis; artinya data baru bisa dimasukkan, dan data yang sudah ada (tidak diperlukan) bisa dikeluarkan. Sehingga ukuran memorinya akan berubah-ubah sesuai dengan jumlah data yang disimpannya.

Linked List membentuk struktur yang sifatnya berkaitan/bertautan; ini berbeda dengan array yang strukturnya berdampingan/ berdempetan anantara elemen satu dengan elemen lainnya. Sedangkan linked list disusun/ dibentuk berdasarkan keterkaitan antar elemen-elemennya.

Contoh pemogramannya adalah sebagai berikut:


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("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. Exit");
           System.out.print("Pilih = ");
           pilih = input.nextInt();
           switch(pilih){
               case 1:
                   System.out.println("TAMBAH DATA");
                   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);
                   LL.addNode(n);
                   break;
               case 2:
                   System.out.println("HAPUS DATA");
                   System.out.println("");
                   LL.delNode();
                   break;
               case 3:
                   System.out.println("CETAK DATA");
                   System.out.println("");
                   LL.print();
                   break;
               case 4:
                   System.out.println("EXIT");
                   System.out.println("");
                   System.out.println("Terimakasih...");
                   break;
           }
       }while(pilih!=4);
    }
}

Source code 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 delNode(){
        //selalu menghapus simpul terdepan
        if(header==null){
            System.out.println("Linked List kosong!");
        }
        else{
            cNode t = header.next;
            header = null;
            header = t;
        }
    }
    public void print(){
        System.out.println("Isi LL: ");
        for (cNode t = header; t !=null; t=t.next){
            System.out.println(t.getNPM()+" ");
            System.out.println(t.getNama()+" ");
            System.out.println(t.getIPK()+" ");
        }
        System.out.println("");
    }
}

Source code cNode

package pkgLinkedList;
public class cNode {
    private String NPM;
    private String Nama;
    private double IPK;
    
    cNode next;
    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