Langsung ke konten utama

pengertian linkedlist dalam struktur data

Pengertian Single LinkList dalam Struktur Data

Linked List saling terhubung dengan bantuan variabel pointer Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field.

Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada akhir node, pointernya menunjuk NULL.

Linked List : artinya node-node tersebut saling terhubung satu sama lain. Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data. Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list.
Jenis Single LinkList
  • Single linked list dengan HEAD
  • Single linked list dengan HEAD dan TAIL

Deklarasi Single LinkList
Model struktur dari linked list tersebut dalam Java adalah sebagai berikut:

public class Node { 
private int data; /* integer data diisikan dalam node */ 
Node nextNode; /* node selanjutnya dalam list */ 
Node(){ 
this.data = 0; this.nextNode = null; 
}

Pembuatan Single Linked List
 Keyword new gunanya untuk mempersiapkan sebuah node baru berserta alokasi memorinya, kemudian node tersebut diisi data dan pointer nextnya ditunjuk ke NULL.

 public void buatNode (int dt) {
        Node nodebaru = new Node();
        nodebaru.data = dt;
        nodebaru.next = pointer;
        pointer = nodebaru;
    }


Penambahan data dari depan
Pada prinsipnya adalah mengkaitkan node baru dengan head, kemudian head akan menunju pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan.

public boolean sisip (int dt1, int dt2) {
        Node n = pointer;
        while ((n!=null) && (n.data!= dt2))
            n = n.next;
        if (n==null) return  false;
        Node nn = new Node ();
        nn.data=dt1;
        nn.next=n.next;
        n.next=nn;
        return true;
    }


Menghapus data dari depan
Function di atas akan menghapus data terdepan (pertama) yang ditunjuk oleh head pada linked list, Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer. Sebelum data terdepan dihapus, head harus ditunjukkan ke node sesudahnya terlebih dahulu agar list tidak putus, sehingga node setelah head lama akan menjadi head baru (data terdepan yang baru). Jika head masih NULL maka berarti data masih kosong!

public int hapusDiDepan () {
        Node hapus = pointer;
        pointer = pointer.next;
        return hapus.data;
    }



Screenshoot Program


Komentar

Postingan populer dari blog ini

program java

import java.util.Scanner; public class uts{     int id;     String nama, kategori;     uts next;     static Scanner in=new Scanner(System.in);     static Scanner str=new Scanner(System.in);     public void input(){        System.out.print("Masukkan NIM    : ");        id=in.nextInt();        System.out.print("Masukkan Nama   : ");        nama=str.nextLine();        System.out.print("Masukkan Kelas : ");        kategori=str.nextLine();        next=null;     }     public void read(){         System.out.println("||   "+id+"\t ||   "+nama+" \t || "+kategori+" \t||"); ...

Pengertian Queue dalam Struktur Data

  Pengertian Struktur Data Queue Queue adalah kumpulan data dengan penambahan data melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya melalui sisi depan (head). Konsepnya hampir sama dengan Stack, perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang bebeda. Penghapusan dilakukan pada bagian depan (front) dan penambahan berlaku pada bagian belakang (Rear). Elemen-elemen di dalam antrian dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur. Queue disebut juga “Waiting Line” yaitu penambahan elemen baru dilakukan pada bagian belakang dan penghapusan elemen dilakukan pada bagian depan. Sistem pada pengaksesan pada Queue menggunakan sistem FIFO (First In First Out), artinya elemen yang pertama masuk itu yang akan pertama dikeluarkan dari Queue. Queue jika diartikan secara harfiah, queue berarti antrian. Operasi – operasi pada Queue atau Antrian: 1. tambah(menambah item pada belakang antrian) 2. hapus ...