• Tidak ada hasil yang ditemukan

pertemuan 6 doubledc2a0linkedc2a0list c2a0circullarc2a0doublec2a0linkedc2a0listc2a0

N/A
N/A
Protected

Academic year: 2017

Membagikan "pertemuan 6 doubledc2a0linkedc2a0list c2a0circullarc2a0doublec2a0linkedc2a0listc2a0"

Copied!
11
0
0

Teks penuh

(1)

 

Pertemuan 6   

Waktu       :   menit 

Tujuan Pembelajaran  : Mahasiswa mampu menjelaskan teknik pemrograman  

          menggunakan Double Linked List. 

Substansi Materi    : Doubled Linked List, Circullar Double Linked List  Tabulasi Kegiatan Perkuliahan 

 

No  Kegiatan Tahap  Kegiatan Pengajar  Mahasiswa Kegiatan  Media & Alat  Waktu 

  Pendahuluan  . Membuka pertemuan

. Mengulang materi pertemuan  sebelumnya 

Menyimak

Bertanya  Papan Tulis   Menit

  Penyajian 

Materi  .. Teori Double Linked ListOperasi‐operasi pada Double Linked  List 

. Teori Circullar Double Linked List  . Operasi‐operasi pada Circullar Double 

Linked List 

Menyimak Bertanya  Menjawab  Pertanyaan 

Papan Tulis  8  Menit

  Penutup  . Menyimpulkan materi pertemuan . Memberikan tugas kecil 

. Menutup pertemuan 

Menyimak Papan tulis   Menit

 

Double

 

Linked

 

List

 

Salah  satu  kelemahan  dari  single  linked  list  adalah  pointer  penunjuk   hanya  dapat  bergerak satu arah saja, maju atau mundur, kanan atau kiri. Sehingga pencarian data pada  single  linked  list  hanya  dapat  bergerak  dalam  satu  arah  saja.  Untuk  mengatasinya  maka  digunakan metode double linked list. Linked list seperti ini dikenal dengan nama linked list  berpointer ganda atau Double Linked List. 

   

(2)

   

  Aku 

  Belajar 

  Pointer 

………   

………   

 

Gambar  . )lustrasi Double Linked List 

  Operasi­operasi pada Double Linked List 

Insert

¾ )nsert After

Procedure  insert  berguna  untuk  menambah  simpul  dibelakang  sebelah  kanan  pada sebuah double linked list. Berikut penggalan procedure insert  after. 

 

nil  nil 

Procedure )nsertAfter e:Elemen_Type ;  Var Now : Point; 

    Begin 

      New now ; 

  Now^.)si := e; 

  )f (ead=Nil then 

      Begin 

    (ead := Now; 

    Tail := Now; 

    Now^.Next := Nil; 

    Now^.Prev := Nil; 

      End 

  Else 

      Begin 

    Tail^.next := now; 

    Now^.Prev := Tail; 

    Tail := Now; 

    Tail^.Next := Nil; 

      End; 

(3)

 

¾ )nsert Before

Sesuai dengan namanya, procedure )nsert Before berguna untuk menambah  simpul  di  depan  sebelah  kiri .  Procedure  ini  tidak  berbeda  jauh  dengan  procedure )nsert After. 

                           

Procedure )nsertBefore e:Elemen_Type ;  Var Now : Point; 

    Begin 

      New now ; 

  Now^.)si := e; 

  )f (ead=Nil then 

      Begin 

    (ead := Now; 

    Now^.Next := Nil; 

    Now^.Prev := Nil; 

      End 

  Else 

      Begin 

    (ead^.prev := now; 

    Now^.next := head; 

    (ead := Now; 

    (ead^.Prev := Nil; 

      End; 

(4)

 

Delete

¾ Delete After

Procedure  Delete  After  berguna  untuk  menghapus  simpul  dari  belakang.  Procedure  ini  merupakan  kebalikan  dari  procedure    )nsert  After  yang  menambahkan simpul dibelakang. 

 

Procedure DeleteAfter;  Var Now : Point;      Begin 

      Now := Tail; 

  )f Now <> (ead then 

      Begin 

    Tail := Now^.Prev; 

    Tail^.Next := Nil; 

      End 

  )f Now <> Nil then 

      Dispose now ; 

(5)

 

¾ Delete Before

Procedure Delete Before merupakan kebalikan dari procedure Delete After  yang akan menghapus simpul dari depan  sebelah kiri . 

Procedure DeleteBefore;  Var Now : Point; 

    Begin 

      Now := (ead; 

  )f Now <> (ead then 

      Begin 

    (ead := Now^.Next; 

    (ead^.Prev := Nil; 

      End 

  Else 

      Begin 

    Tail := Nil; 

    (ead := Nil; 

      End; 

  )f Now <> Nil then 

      Dispose now ; 

(6)

 

¾ Delete at Position

Procedure  at  Position,  sesuai  dengan  namanya,  berguna  untuk  menghapus  simpul  pada  posisi  yang  diinginkan.  Untuk  melakukannya  diperlukan  bantuan    variabel  pointer  yang  pada  modul  ini  diberi  nama  Bantu   dan  Bantu . Nama tersebut boleh diganti. 

 

Procedure DeleteAtPos;  Var Bantu , Bantu  : Point;      Begin 

  Bantu  := Now^.Prev; 

  Bantu  := Now^.Next; 

       

  )f Bantu  <> Nil then 

      Bantu ^.Next := Bantu ; 

  Else 

      (ead := Bantu ; 

)f Bantu  <> Nil Then 

       Bantu ^.Prev := Bantu ; 

  Else 

      Tail := Bantu ; 

  )f Now <> Nil Then  

      Dispose Now ; 

(7)

 

Circullar

 

Double

 

Linked

 

List

 

Merupakan  double  linked  list  yang  simpul  terakhirnya  menunjuk  ke  simpul  awal  dan  simpul awalnya menunjuk ke simpul akhir sehingga membentuk suatu lingkaran. 

 

Operasi­operasi pada Circullar Double Linked List  Insert 

¾ Insert After 

Procedure  )nsert  After  berguna  untuk  menambah  simpul  di  belakang  sebelah kanan  pada sebuah double linked list. 

 

Procedure )nsertAfter e:Elemen_Type ;  Var Now : Point; 

    Begin 

      New now ; 

  )f (ead=Nil then 

      Begin 

    (ead := Now; 

    else 

    Now^.Prev := Tail; 

    Tail^.Next := Now; 

      End; 

    Now^.)si := e; 

    Tail := Now; 

Tail^.next := (ead; 

    (ead^.Prev := Tail; 

(8)

 

¾ Insert Before 

Procedure  )nsert  Before  berguna  untuk  menambahkan  simpul  di  depan  sebelah  kiri .  Procedure  ini  tidak  berbeda  jauh  dengan  procedure  )nsert  After yang telah dijelaskan sebelumnya. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Procedure )nsertBefore e:Elemen_Type ;      Begin 

      )f (ead=Nil then 

      Begin 

    (ead := Now; 

    Tail := Now; 

End else  Begin 

    Now^.Prev :=(ead; 

    (ead^.Next := Now; 

      End; 

    Now^.)si := e; 

    Now^.Next := Tail; 

    Tail^.Prev := Now; 

    Tail := Now; 

(9)

 

Delete 

¾ Delete After 

Procedure  Delete  After  berguna  untuk  menghapus  simpul  dari  belakang.  Procedure  ini  merupakan  kebalikan  dari  Procedure  )nsert  After  yang  menambah simpul di belakang. 

 

Procedure DeleteAfter;  Var Now : Point;      Begin 

      Now := Tail; 

  )f (ead=Nil then 

      Begin 

    Tail := Nil; 

    (ead := Nil; 

    End else 

    Begin 

    Tail := Now^.Prev; 

    Tail^.Next := (ead; 

    (ead^.Prev := Tail; 

      End; 

(10)

 

¾ Delete Before 

Procedure Delete Before merupakan kebalikan dari procedure Delete After  yang akan menghapus simpul dari belakang, sedangkan Delete Before akan  menghapus simpul dari depan  sebelah kiri . 

 

Procedure DeleteBefore;  Var Now : Point; 

    Begin 

      Now := Tail; 

  )f (ead=Tail then 

      Begin 

    Tail := Nil; 

    (ead := Nil; 

       End else 

       Begin 

    (ead := Now^.Next; 

    (ead^.Prev := Tail; 

    Tail^.Next := (ead; 

      End; 

(11)

 

¾ Delete at Position 

Procedure Delete at Position berguna untuk menghapus simpul pada posisi  yang diinginkan. Untuk itu diberikan bantuan   buah variabel pointer yang  diberi nama Bantu  dan Bantu . 

  Update 

Procedure update berguna untuk mengganti isi suatu simpul dengan data yang lain.  Procedure  update  ini  memanfaatkan  suatu  procedure  cari  untuk  mencari  posisi  simpul yang akan diganti isinya tersebut. Setelah ketemu, barulah diganti isinya.   

Procedure DeleteAtPos;  Var Bantu , Bantu  : Point;      Begin 

  Bantu  := Now^.Next; 

  Bantu  := Now^.Prev; 

       

  )f Bantu  <> Now  then 

  Begin 

      Bantu ^.Next := Bantu ; 

      Bantu ^.Prev := Bantu ; 

      )f Bantu  = Tail then (ead := Bantu ;        )f Bantu  = (ead then Tail := Bantu ; 

  End else 

  Begin 

      (ead := Nil; 

      Tail := Nil; 

      End; 

  )f Now <> Nil then 

      Dispose Now ; 

    End;

 

Procedure Update x,y : elemen_Type ;  Begin 

Gambar

Gambar �. )lustrasi Double Linked List 

Referensi

Dokumen terkait

Oleh yang demikian, bertitik tolak daripada permasalahan yang dikemukakan, satu kajian makna dalam PS dan PM berunsurkan haiwan wajar dilakukan dengan menggunakan TSSOR untuk

Sosok yang dibutuhkan tersebut adalah auditor yang memiliki pengetahuan serta kemampuan agar proses pemeriksaan dilakukan sesuai dengan standar yang telah ditetapkan, sehingga

BPKP mempunyai tugas menyelenggarakan urusan pemerintahan di bidang pengawasan keuangan negara/daerah dan pembangunan nasional.. BPKP mempunyai tugas menyelenggarakan

32 Arenst Andreas, ST., Ssi, MSc, Ph.D Teknik Kimia FTI 2015 0973-4562 International Journal of Applied.

[r]

Berdasarkan hasil wawancara narasumber terkait pelaksanaan kegiatan shalat dhuha sebagai upaya guru PAI dalam meningkatkan kecerdasan emosional siswa di SMK Islam

Gambar jaringan pipa pada turbin pelton... Sudu

Menggunakan kata-kata yang jarang digunakan dalam bahasa sehari-hari Mantra hanya akan bekerja ditangan orang-orang yang telah menjalani penempaan batin dan kebulatan