Materi Link List Berserta Skrip Programnya

ALGORITMA LINK LIST

Pengertian link lisT merupakan struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Biasanya didalam suatu linked list, terdapat istilah head dan tail.

  • Head adalah elemen yang terletak pada posisi pertama dalam suatu linked list
  • Tail adalah elemen yang terletak pada posisi terakhir dalam suatu linked list

contoh skrip algoritma linklist berserta hasilnya

 

 

 

 

class Data

{

      int data;

      Data (int data)

      {

            this.data = data;

      }

}

 

class Node

{

      int isi;

      Node berikut;

      public Node() {}

      public Node (int dt)

      {

            isi = dt;

            berikut = null;

      }

      public void display ()

      {

            System.out.println(” isi “+isi);

      }

}

 

class LinkList

{

      private Node awal;

      private Node akhir;

     

      void create()

      {

            awal = akhir = null;

      }

     

      void tambahDepan (int item)

      {

            Node baru = new Node();

            baru.isi=item;

            if (awal==null)

            {

                  akhir=baru;

                  baru.berikut = null;

            }

            else

                  baru.berikut = awal;

            awal = baru;

      }

     

      void tambahBelakang(int item)

      {

            Node baru = new Node();

            baru.isi=item;

            baru.display();

                 

            if (awal==null)

                  awal=baru;

            else

                  {akhir.berikut = baru;}

                  akhir = baru;

                  akhir.berikut=null;

      }

     

 

 

      void tambahTengah(int item, int posisi)

      {

            Node baru= new Node();

            Node bantu= new Node();

            baru.isi=item;

            System.out.println(bantu.isi);

            if (awal==null)

            {

                  awal=baru;

                  akhir=baru;

            }

           

            else

            {

                  if (posisi==0)

                  {

                        baru.berikut= awal;

                        awal=baru;

                  }

                  else

                  {

                        bantu=awal;

                        for(int i=1; i<posisi; i++)

                        if (bantu.berikut!=null)

                              bantu=bantu.berikut;

                              baru.berikut=bantu.berikut;

                              bantu.berikut=baru;

                              if (bantu==akhir)

                                    akhir=baru;

                  }

            }

      }

     

      void bacaList()

      {

            Node bantu= new Node();

            bantu=awal;

            while (bantu!=null)

            {

                  System.out.println(bantu.isi);

                  bantu=bantu.berikut;

            }

            System.out.println();

      }

     

      void hapusNode(int hapusan)

      {

            Node bantu=new Node();

            Node hapus=new Node();

            if (awal==null)

                  System.out.println(“List masih kosong”);

            else if (awal.isi==hapusan)

            {

                  hapus=awal;

                  awal=hapus.berikut;

                  System.out.println(“Ditemukan diawal list”);

            }

            else

            {

                  bantu=awal;

                  while((bantu.berikut.berikut!=null)&&(hapusan!=bantu.berikut.isi))

                  bantu=bantu.berikut;

                  if((bantu.berikut.berikut!=null) &&(hapusan!=bantu.berikut.isi))

                        System.out.println(“Data tidak ditemukan”);

                 

 

 

 

                  else

                        {

                              hapus=bantu.berikut;

                              if(hapus!=null)

                                    if(hapus!=akhir)

                                    {

                                                bantu.berikut=hapus.berikut;

                                                System.out.println(“Ditemukan ditengah List”);

                                    }

                                    else

                                    {

                                                akhir=bantu;

                                                akhir.berikut=null;

                                                System.out.println(“Ditemukan akhir list”);

                                    }

                        }

            }

      }

}

 

class ApliLinkListNew

{

      public static void main(String[]a)

      {

            LinkList mahasiswa = new LinkList();

            Data item = new Data(1);

           

            mahasiswa.create();

            mahasiswa.tambahBelakang(20);

            mahasiswa.tambahBelakang(30);

            mahasiswa.tambahBelakang(40);

            System.out.println (” Hasil penambahan link list adalah : “);

            mahasiswa.bacaList();

           

      }

}

 

HASIL DARI SKRIP LINK LIST

HASIL DARI SKRIP LINK LIST