LAPORAN PRAKTIKUM STRUKTUR DATA Modul 05

30
      LAPORAN PRAKTIKUM
    STRUKTUR DATA
Modul 05









Disusun Oleh :

HERI PURNAMA
125410101
TI 02



UPT LABORATORIUM
Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM
Yogyakarta
2013


SINGLE LINKEDLIST
(SENARAI BERANTAI TUNGGAL)
1).PEMBAHASAN

Ø  Listing Program
Class simpul
{
       protected
              String nama;
              Int umur;
              Simpul kanan;

              public
              void ngisiSimpul (String NAMA, int UMUR)
                     {
                           nama = NAMA;
                           umur = UMUR;
                     }
              Void cetakSimpul ()
              {
                     System.out.print (nama + "-" + umur + " ");
              }
}
Ø  Baris-baris  sintak program diatas adalah Merupakan pendeklarasian class Simpul,yang mana untuk mengakses variabel digunakan keyword protected ,keyword protected  sendiri adalah salah satu komponen deklarasi method yakni modifier.modifier digunakan untuk mengontrol  kelas-kelas lain mempunyai akses ke field anggota.Dalam kelas simpul terdapat dua method yakni :
o   Method “ngisiSimpul” mempunyai parameter nama yang bertipe string dan umur yang bertipe integer. Dimana variabel nama  disamakan dengan variabel NAMA, dan variabel umur disamakan dengan variabel UMUR.
o   Method “cetakSimpul” tanpa parameter dengan perintah untuk menampilkan nama + "-"  untuk memanggil variabel nama dan  + umur + " "   untuk memanggil variabel umur.


Class senarai
{
       protected
       simpul awal;
       simpul akhir;

       public
       void inisialisasiSenaraiKosong()
       {
              awal = null;
              akhir = null;
       }

       Int hitungJumlahSimpul()
       {
              int N = 0;
              simpul bantu;
              bantu = awal;
              while (bantu != null)
              {
                     bantu = bantu.kanan;
                     N++;
              }
              return (N);
       }
Ø  Sintak program diatas adalah pendeklarasian kelas senarai, yang mana mempunyai  pendeklarasian variabel simpul awal dan simpul akhir dan menggunakan modifier dengan tipe protected, dimana untuk mengakses variabel digunakan keyword proted.Dalam program diatas terdapat method yakni:
o   Method “inisialisasiSenaraiKosong” tanpa parameter bersifat void, dengan nilai ketetapan nilai awal dan akhir adalah null.
o    Method “hitungJumlahSimpul” tanpa parameter dengan nilai variabel N yang mempunyai nilai bawaan awal adalah 0, dimana N bertipe integer. Method ini juga mendeklarasikan variabel simpul bantu,dimana nilai variabel bantu sama dengan nilai simpul awal. Dalam method ini terdapat juga perulangan yakni perulangan while dimana digunakan untuk perintah perulangan bila variabel bantu tidak sama dengan null, maka variabel bantu menjadi ‘bantu.kanan’ kemudian nilai N bertambah satu. Sehingga melakukan pengembalian terhadap nilai pada variabel N.


       Void tambahDepan (String NAMA, int UMUR)
       {
              System.out.println ("tambahdepan '" + NAMA + "' dilakukan..");
              simpulbaru = new simpul ();
              baru.ngisiSimpul (NAMA, UMUR);

              if (awal == null)
              {
                     awal = baru;
                     akhir = baru;
                     baru.kanan = null;
              }

              else
              {
                     baru.kanan = awal;
                     awal = baru;
              }
       }
Ø  Perintah Method “tambahDepan”  mempunyai parameter NAMA bertipe String dan UMUR bertipe integer. Terdapat juga perintah untuk menampilkan teks “tambah depan ” yang diambil dari variabel NAMA dan kelanjutan teksnya adalah “dilakukan . . .” method ini juga melakukan penciptaan sebuah object simpul baru = new simpul(); dimana objek baru.ngisiSimpul diambil dari nilai  variabel NAMA, dan UMUR. Sehingga terwujud suatu kondisi :
o   saat nilai senarai masih kosong maka nilai awal = null maka nilai variabel awal sama dengan nilai  baru dan akhir sama dengan nilai baru, sehingga nilia variabel baru.kanan  akan sama dengan null.
o   Bila kondisi  senarai tidak kosong maka akan mempunyai nilai variabel baru.kanan sama dengan nilai awal, dan nilai variabel awal sama dengan baru.

       Void tambahBelakang (String NAMA, int UMUR)
       {
              System.out.println ("tambahbelakang '" + NAMA + "' dilakukan..");
                           simpulbaru = new simpul ();
                           baru.ngisiSimpul (NAMA, UMUR);

                           if (awal == null)
                           {
                                  awal = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }

                           else
                           {
                                  akhir.kanan = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }
       }

Ø  Method “tambahBelakang”  mempunyai parameter NAMA bertipe String dan UMUR bertipe integer. Terdapat juga perintah untuk menampilkan teks “tambah belakang ” yang diambil dari variabel NAMA dan kelanjutan teksnya adalah “dilakukan . . .” method ini juga melakukan penciptaan sebuah object simpul baru = new simpul(); dimana objek baru.ngisiSimpul diambil dari nilai  variabel NAMA, dan UMUR. Sehingga terwujud suatu kondisi :
o   saat nilai senarai masih kosong maka nilia awal = null maka nilai variabel awal sama dengan nilai  baru dan akhir sama dengan nilai baru, sehingga nilia variabel baru.kanan  akan sama dengan null.
o   Bila kondisi  senarai tidak kosong maka mempunyai nilai variabel akhir.kanan sama dengan baru nilaia variabel akhir sama dengan nilai variabel baru, dan nilai variabel baru.kanan sama dengan null.

       Void tambahTengah (int POSISI, String NAMA, int UMUR)
       {
              System.out.println ("tambah Tengah" + NAMA + "dilakukan..");

                           if (awal == null)
                           {
                                  simpulbaru = new simpul();
                                  baru.ngisiSimpul (NAMA, UMUR);
                                  awal = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }

                           else
                           {
                                  intjumlahSimpul = hitungJumlahSimpul();
                                  if (POSISI==1)
                                         tambahDepan (NAMA,UMUR);

                                         else if (POSISI >jumlahSimpul)
                                                tambahBelakang (NAMA, UMUR);

                                                else
                                                {
                                                       simpul bantu;
                                                       bantu = awal;
                                                       int N = 1;
                                                       while ((N < POSISI-1) && (bantu != akhir))
                                                       {
                                                              bantu = bantu.kanan;
                                                              N++;
                                                       }

                                                       simpulbaru = new simpul ();
                                                       baru.ngisiSimpul (NAMA, UMUR);
                                                       baru.kanan = bantu.kanan;
                                                       bantu.kanan = baru;

                                                }

                           }
       }
Ø  Perintah Method “tambahTengah” dengan parameter dimana variabel POSISI bertipe integer, NAMA bertipe string, dan UMUR bertipe integer. Terdapat juga perintah untuk menampilkan teks “tambah tengah ” yang diambil dari variabel NAMA dan kelanjutan teksnya adalah “dilakukan . . .” Sehingga terwujud suatu kondisi :
o   Saat kondisi nilai senarai masih kosong maka method ini melakukan penciptaan sebuah object simpul baru = new simpul(); dimana objek baru.ngisiSimpul diambil dari nilai  variabel NAMA, dan UMUR. jika nilai awal = null maka nilai variabel awal sama dengan nilai variabel  baru dan nilai variabel akhir sama dengan nilai variabel baru,dan nilia variabel baru.kanan = null.
o   Saat kondisi nilai nilai senarai tidak kosong maka dipangillah method jumlahSimpul yang mana nilai method ini sama dengan method hitungJumlahSimpul dimana method hitungJumlahSimpul  tanpa parameter.Dan mempunyai suatu kondisi menggunakan if - else,
·         Jika  variabel POSISI itu sama dengan 1 maka panggilah fungsi tambahDepan yang berparameter NAMA dan UMUR.
·          Jika variabel POSISI itu lebih besar dari pada nilai jumlahSimpul,maka dipanggilah fungsi tambahDepan yang berparameter NAMA dan UMUR.
·         Jika dalam kondisi lainya maka nilai variabel simpul bantu dimana bantu adalah nilai awal dan N diberi nilai ketetapan 1. Sehingga terjadi perulangan while apabila nilia N itu kurang dari nilai POSISI dikurangi 1 dan nilai variabel bantu tidak sama dengan nilai akhir. Didalam perulangan ini nilai variabel bantu samadengan bantu.kanan, sehingga nilai N akan bertamabah satu terus. Dalam kondisi ini juga terdapat suatu penciptaan sebuah object simpul baru = new simpul(); dimana objek baru.ngisiSimpul(diambil dari variabel NAMA, dan UMUR). Sehingga nilai variabel  baru.kanan sama dengan nilai bantu.kanan dimana nilai  bantu.kanan sama dengan nilai variabel baru.

       voidcetakSenarai ()
       {
              System.out.print ("CETAK : ");
              if (awal == null)
                     System.out.print ("...SENARAI KOSONG...");

                     else
                     {
                           simpul bantu;
                           bantu = awal;
                           while (bantu != null)
                           {
                                  bantu.cetakSimpul();
                                  bantu = bantu.kanan;
                           }
                     }
                     System.out.println ("");
       }
Ø  Perintah Method “cetakSenarai” tanpa parameter dimana didalamnya terdapat perintah untuk menampilkan mencetak “CETAK : “. Dalam perintah ini ada beberapa kondisi yaitu
o   Saat kondisi senarai masih kosong maka nilia awal = null.Dan perintah untuk menampilkan kalimat “. . .SENARAI KOSONG. . .”
o   Saat kondisi senarai tidak kosong maka nilai variabel simpul bantu, dimana bantu sama dengan nilai awal sehingga terdapat perulangan while dengan nilai bantu tidak sama dengan null. Didalam perulangan terdapat pemanggilan fungsi bantu.cetakSimpul, dimana bantu samadengan nilai bantu.kanan.


       voidhapus (String NAMA)
       {
              if (awal == null)
              {
                     System.out.println ("senaraikosong, menghapustidakdapatdilakukan");
              }

              else
              {
                     if (awal == akhir)
                     {
                           if (awal.nama.equals (NAMA))
                           {
                                  System.out.println ("menghapus " +NAMA+ " dilakukan..");
                                  inisialisasiSenaraiKosong();
                           }
                           else
                                  System.out.println ("data " +NAMA+ " tidakditemukan..");
                     }

                     else if (awal.nama.equals (NAMA))
                     {
                           System.out.println ("menghapus " +NAMA+ "dilakukan");
                           awal = awal.kanan;
                     }

                     else
                     {
                           simpul bantu;
                           bantu = awal;

                           while (bantu.kanan.nama.equals (NAMA) == false)
                           {   bantu = bantu.kanan;
                                  if (bantu.kanan == null) break;
                           }

                           if ((bantu == akhir) && (NAMA.equals (akhir.nama) == false))
                           {
                                  System.out.println ("data "+NAMA+" tidakditemukan");
                           }
                           else
                           {
                                  System.out.println ("menghapus "+NAMA+" dilakukan...");
                                  bantu.kanan = bantu.kanan.kanan;
                           }
                     }
              }
       }
}
Ø  Perintah Method “hapus” dengan parameter NAMA yang bertipe string. Sehingga terwujud suatu kondisi:
o   Saat kondisi senarai kosong maka tercipta nilai awal = null. Dan perintah untuk menampilkan kalimat “.Senarai kosong, menghapus tidak dapat dilakukan.
o   Saat kondisi senarai tidak kosong maka nilai variabel awal sama dengan akhir
ü  saat kondisi senarai hanya ada satu buah simpul maka melakukan kondisi sekali lagi yakni dengan if-else:
·         If, apabila variabel NAMA itu didapat dari nilai awal.nama.equals, sehingga dapat ditampilkan untuk menghapus dari kata “menghapus” itu didapat dari variabel NAMA dan “dilakukan . . .” sehingga itu didapar dari fungsi inisialisasiSenaraiKosong.
·         Selain itu untuk menghapus nama apabila tidak ada nama didalam list, maka tampilkan kata “data” diikuti nama dari variabel NAMA dan dilanjutkan kata “tidak ditemukan.” Sehingga bisa dibaca misal “data si A tidak ditemukan”
ü  Jika ditemukan diawal maka NAMA dari nilai awal.nama.equals .Dan perintah untuk menghapus data nama adalah kata “menghapus” itu didapat dari variabel NAMA dan “dilakukan . . .” dimana nilia awal sama dengan awal.kanan.
ü  Disini juga terdapat simpul bantu untuk mengulang data-data nama yang dihapus dengan simpul bantu,dimana bantu sama dengan bantu.kanan. Sehingga terdapat suatu kondisi apabila bantu.kanan .Di program ini juga melakukan suatu kondisi lagi yakni :
·         Jika nilai variabel bantu.kanan sama dengan null maka tampilkan break, dimana break untuk sistem berhenti sejenak.
·         Jika nilai variabel bantu samadengan akhir dan variabel NAMA.equals dari nama akhir samadengan false, maka tampilkan perintah untuk menghapus data nama adalah kata “menghapus” itu didapat dari variabel NAMA dan “dilakukan . . .”
·         Selain kondisi diatas perintah untuk menghapus data nama adalah kata “menghapus” itu didapat dari variabel NAMA dan “dilakukan . . .” dimana nilai bantu.kanan samadengan bantu.kanan.kanan.

Class senaraitunggal
{
public static void main(String[]args)
Ø  Pernyataan diatas digunakan untuk memulai program dengan method main. Kata kunci void di depan main merupakan keharusan pada bahasa java.

  {
       senaraimahasiswa = new senarai();
       mahasiswa.inisialisasiSenaraiKosong();
       mahasiswa.tambahDepan("Dedi",15);
       mahasiswa.tambahDepan("Cecep",12);
       mahasiswa.tambahDepan("Budi",11);
       mahasiswa.tambahDepan("Abud",10);
       mahasiswa.cetakSenarai();

         /*mahasiswa.tambahBelakang("Eko",25);
       mahasiswa.tambahBelakang("Feri",25);
       mahasiswa.tambahBelakang("Gunawan",32);
       mahasiswa.tambahBelakang("Hasan",19);
       mahasiswa.cetakSenarai();

       mahasiswa.tambahTengah(4,"Zaenal",25);
       mahasiswa.cetakSenarai();

       mahasiswa.hapus("Dedi");
       mahasiswa.cetakSenarai();
       mahasiswa.hapus("Parmin");*/
Ø  Program diatas adalah bagian utama dari beberapa method atau fungsi yang sudah di bahas disebelumnya,dengan nama class senaraiTunggal program ini disimpan, karena ini adalah merupakan bagian program utama.  Kemudian terdapat pendeklarasian public untuk melakukan pengoperasian pada senarai dimana digunakan untuk melakukan atau memberikan perintah menambah, mencetak, dan menghapus data disini. Penciptaan objek untuk senarai mahasiswa yaitu :senarai mahasiswa = new senarai();

  }
}
Ø  Output tambah depan
              

·         Tampilan output diatas bisa seperti itu dikarenakan oleh perintah-perintah pada program utamanya, dimana terdapat perintah :      
mahasiswa.tambahDepan("Dedi",15);
mahasiswa.tambahDepan("Cecep",12);
mahasiswa.tambahDepan("Budi",11);
mahasiswa.tambahDepan("Abud",10);
  Jadi yang tampil hanya” tambah depan ‘Dedi’ dilakukan. . . “ , karena oleh method tambahDepan hanya memberikan perintah untuk memanggil variabel NAMA saja. Perintah “mahasiswa.cetakSenarai();” ini untuk mencetak nama dan umur dari mahasiswa itu, karena sudah dideklarasikan pada method cetakSenarai. Penampilan cetaknya berawal dari abud sampai dedi.


Ø  Output tambah belakang
·         Tampilan output diatas bisa seperti itu dikarenakan oleh perintah-perintah pada program utamanya, dimana terdapat perintah :      
mahasiswa.tambahBelakang("Eko",25);
mahasiswa.tambahBelakang("Feri",25);
mahasiswa.tambahBelakang("Gunawan",32);
mahasiswa.tambahBelakang("Hasan",19);
mahasiswa.cetakSenarai();
Pada hasil output ini mengacu dari pembahasan output yang pertama, karena diganti dengan perintah yang hampir sama, hanya saja beda nama dan umur data mahasiswa, sehingga penjelasanya sama. Hanya saja pada tampilan cetak kedua , ini yang dicetak seluruh data mahasiawa yang dimasukan, karena pada method cetakSenarai sudah jelas , untuk  pencetakanya dari nilai data awal sampai perulangan data bantu paling kanan (dalam artian untuk mencetak semua data mahasiswa yang ada pada program utama). Pencetakanya dari eko sampai Hasan.


Ø  Output tambah tengah
·         Tampilan output diatas bisa seperti itu dikarenakan oleh perintah-perintah pada program utamanya, dimana terdapat perintah :      
mahasiswa.tambahTengah(4,"Zaenal",25);
mahasiswa.cetakSenarai();
Dari perintah sebelumnya, pada perintah ini sejenisnya hanya untuk menyisipkan data mahasiswa pada saat pencetakaan di tengahnya.Seperti pada tampilan CETAK, nama mahasiawa Zaenal  berumur 25.
Ø  Output hapus
·         Tampilan output diatas bisa seperti itu dikarenakan oleh perintah-perintah pada program utamanya, dimana terdapat perintah :      
mahasiswa.hapus("Dedi");
mahasiswa.cetakSenarai();
mahasiswa.hapus("Parmin");
karena nilai senarai masih kosong maka terdapat tampilan “senarai kosong,menghapus tidak dapat dilakukan”.Karena nilai senarai memang kosong tidak ada data.
Ø  Output hasil semua data bila disertakan
·         Tampilan output diatas bisa seperti itu dikarenakan oleh perintah-perintah pada program utamanya, dimana terdapat perintah :      
mahasiswa.tambahDepan("Dedi",15);
       mahasiswa.tambahDepan("Cecep",12);
       mahasiswa.tambahDepan("Budi",11);
       mahasiswa.tambahDepan("Abud",10);
       mahasiswa.cetakSenarai();

       mahasiswa.tambahBelakang("Eko",25);
       mahasiswa.tambahBelakang("Feri",25);
       mahasiswa.tambahBelakang("Gunawan",32);
       mahasiswa.tambahBelakang("Hasan",19);
       mahasiswa.cetakSenarai();

       mahasiswa.tambahTengah(4,"Zaenal",25);
       mahasiswa.cetakSenarai();

          mahasiswa.hapus("Dedi");
       mahasiswa.cetakSenarai();
       mahasiswa.hapus("Parmin");
       Yang berbeda hanyalah pada program penghapusan yang lainya sama seperti apa yang sudah dibahas pada output diatas,hasil output untuk method hapus berbeda dengan program diatas dikarenakan senarai sudah terisi oleh data-data yang telah dimasukkan tadi maka proses hapus pun dapat dijalalankan dalam program diatas maka hasil outputnya dapat seperti itu.
                        Dari program ini setelah diberi perintah untuk menghapus data mahasiswa yang bernama Parmin, terdapat tampilan bahwa “data ‘Parmin’ yang anda maksud tidak ada dalam list”.Hal ini dikarenakan program iini tidak mengenal data mahasiswa yang bernama Parmin, sehingga menampilkan perintah tersebut.Sehingga tampilan mencetak tetap sama pada hasil output program sebelumnya.

2).Latihan
v  Dengan menambah program metho dibawah ini kedalam program
Dan pada program utama di entri sintak yang ingin dicari contoh:
Mencari data :            mahasiswa.mencariData("cecep",12,'L');
·       Listing
void mencariData(String NAMA, int UMUR,char JK)
       {
              {
                                         simpul bantu;
                                         bantu = awal;

                                         while (bantu.kanan.nama.equals (NAMA) == false)
                                         {   bantu = bantu.kanan;
                                                if (bantu.kanan == null) break;
                                         }


                                         if ((bantu == akhir) && (NAMA.equals (akhir.nama) == false))
                                         {
                                                System.out.println ("data "+NAMA+" ditemukan");
                                         }
                                         if ((bantu == akhir) && (NAMA.equals (akhir.nama) == true))
                                         {
                                                System.out.println ("data "+NAMA+" tidakditemukan");
                                         }

                     }
       }

·         Running

3).Tugas
·       Listing Program
class simpul
{
       protected
              String nama;
              int umur;
              char jk;
              simpul kanan;

       public void ngisiSimpul (String NAMA, int UMUR,char JK)
                     {
                           nama = NAMA;
                           umur = UMUR;
                           jk     =     JK;
                     }
              void cetakSimpul ()
              {

                     System.out.println(nama + "-" + umur + " "+jk+" ");



              }
}

class senarai
{
       protected
       simpul awal;
       simpul akhir;

       public void inisialisasiSenaraiKosong()
       {
              awal = null;
              akhir = null;
       }

       int hitungJumlahSimpul()
       {
              int N = 0;
              simpul bantu;
              bantu = awal;
              while (bantu != null)
              {
                     bantu = bantu.kanan;
                     N++;
              }
              return (N);
       }

       void tambahDepan (String NAMA, int UMUR,char JK)
       {
              System.out.println ("tambahdepan '" + NAMA + " dilakukan..");
              simpul baru = new simpul ();
              baru.ngisiSimpul (NAMA, UMUR, JK);

              if (awal == null)
              {
                     awal = baru;
                     akhir = baru;
                     baru.kanan = null;
              }

              else
              {
                     baru.kanan = awal;
                     awal = baru;
              }
       }

       void tambahBelakang (String NAMA, int UMUR,char JK)
       {
              System.out.println ("tambahbelakang '" + NAMA +" dilakukan..");
                           simpul baru = new simpul ();
                           baru.ngisiSimpul (NAMA, UMUR,JK);

                           if (awal == null)
                           {
                                  awal = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }

                           else
                           {
                                  akhir.kanan = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }
       }

       void tambahTengah (int POSISI, String NAMA, int UMUR,char JK)
       {
              System.out.println ("tambah Tengah" + NAMA + "dilakukan..");

                           if (awal == null)
                           {
                                  simpul baru = new simpul();
                                  baru.ngisiSimpul (NAMA, UMUR, JK);
                                  awal = baru;
                                  akhir = baru;
                                  baru.kanan = null;
                           }

                           else
                           {
                                  int jumlahSimpul = hitungJumlahSimpul();
                                  if (POSISI==1)
                                         tambahDepan (NAMA,UMUR, JK);

                                         else if (POSISI >jumlahSimpul)
                                                tambahBelakang (NAMA, UMUR,JK);

                                                else
                                                {
                                                      simpul bantu;
                                                       bantu = awal;
                                                       int N = 1;
                                                       while ((N < POSISI-1) && (bantu != akhir))
                                                       {
                                                              bantu = bantu.kanan;
                                                              N++;
                                                       }

                                                       simpul baru = new simpul ();
                                                       baru.ngisiSimpul (NAMA, UMUR,JK);
                                                       baru.kanan = bantu.kanan;
                                                       bantu.kanan = baru;

                                                }

                           }
       }

       void cetakSenarai ()
       {
              System.out.print ("CETAK : ");
              if (awal == null)
                     System.out.print ("...SENARAI KOSONG...");

                     else
                     {
                           simpul bantu;
                           bantu = awal;
                            while (bantu != null)
                           {
                                  bantu.cetakSimpul();
                                  bantu = bantu.kanan;
                           }
                     }
                     System.out.println ("");
       }

       void hapus (String NAMA)
       {
              if (awal == null)
              {
                     System.out.println ("senaraikosong, menghapustidakdapatdilakukan");
              }

              else
              {
                     if (awal == akhir)
                     {
                           if (awal.nama.equals (NAMA))
                           {
                                  System.out.println ("menghapus " +NAMA+ " dilakukan..");
                                  inisialisasiSenaraiKosong();
                           }
                           else
                                  System.out.println ("data " +NAMA+ " tidakditemukan..");
                     }

                     else if (awal.nama.equals (NAMA))
                     {
                           System.out.println ("menghapus " +NAMA+ "dilakukan");
                           awal = awal.kanan;
                     }

                     else
                     {
                           simpul bantu;
                           bantu = awal;

                           while (bantu.kanan.nama.equals (NAMA) == false)
                           {   bantu = bantu.kanan;
                                  if (bantu.kanan == null) break;
                           }

                           if ((bantu == akhir) && (NAMA.equals (akhir.nama) == false))
                           {
                                  System.out.println ("data "+NAMA+" tidakditemukan");
                           }
                           else
                           {
                                  System.out.println ("menghapus "+NAMA+" dilakukan...");
                                  bantu.kanan = bantu.kanan.kanan;
                           }
                     }
              }
       }
}


class senaraitunggal
{
public static void main(String[]args)
  {
       senarai mahasiswa = new senarai();
       mahasiswa.inisialisasiSenaraiKosong();

mahasiswa.tambahDepan("Dedi",15,'L');
       mahasiswa.tambahDepan("Cecep",12,'L');
       mahasiswa.tambahDepan("Budi",11,'L');
       mahasiswa.tambahDepan("Abud",10,'L');
       mahasiswa.cetakSenarai();

         mahasiswa.tambahBelakang("Eko",25,'L');
       mahasiswa.tambahBelakang("Feri",25,'L');
       mahasiswa.tambahBelakang("Gunawan",32,'L');
       mahasiswa.tambahBelakang("Hasan",19,'L');
       mahasiswa.cetakSenarai();

       mahasiswa.tambahTengah(4,"Zaenal",25,'L');
       mahasiswa.cetakSenarai();
       mahasiswa.hapus("Dedi");
              mahasiswa.cetakSenarai();
              mahasiswa.hapus("Parmin");

 }
}
·       Running Program
4).Kesimpulan
Dalam konsep single linked list terdapat tiga unsure penting yaitu:
1.       Penunjuk (pointer)
2.       Simpul (list atau node)
3.       Senarai Berantai (Single Linked List itu sendiri).
Senarai berantai tunggal  ini gunanya untuk penghubung diantara simpul – simlpul satu dengan yang lain, dimana penghubung antara simpul baru, simpul bantu, simpul awal, simpul akhir, simpul kanan.Simpul yang seperti itu disebut simpul tunggal, karena simpul ini hanya mempunyai sebuah petunjuk yaitu ‘kanan’.  Artinya simpul ini hanya dapat menujuk ke simpul yang serupa dengan dirinya yang letaknya disebelah kananya.






5).Listing Terlampir


    Blogger Comment
    Facebook Comment

0 komentar:

Post a Comment

Thanks For Your Feedback.