Search
Linked List Mahasiswa - 1
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