Double Linked List DIKTAT KULIAH. Pertemuan 6

dokumen-dokumen yang mirip
: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

Double linked list. Gambar 1. Double linket list dengan empat simpul Deklarasi Double Linked List di dalam Pascal :

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

KERUGIAN DAN KEUNTUNGAN LINKED LIST

Pointer. Pengertian. Struktur Data Pascal

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

MODUL PRAKTIKUM STRUKTUR DATA

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

Praktikum Stuktur Data [MODUL]

BAB IX LINKED LIST (SENARAI BERANTAI)

Lab. Teknik Informatika Struktur Data 1

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

QUEUE. Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi: antrian job dalam sistem operasi antrian dalam dunia nyata.

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

BAB XI Manipulasi Binary Tree

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

KONTRAK PRAKTIKUM. Gambaran Umum : Alur bagi peserta praktikum :

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

DOUBLY LINKED LIST PROGRAM : DOUBLY LINKED LIST (TAMBAH SIMPUL DI BELAKANG)

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

ALGORITMA & PEMROGRAMAN

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

MODUL 6 SINGLE & DOUBLE LINKED LIST

Algoritma Pemrograman & Struktur Data

4. STACK / TUMPUKAN TEORI PENUNJANG

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Bagian I. Studi Kasus [82] Tanda tangan:

BAB VII SENARAI BERANTAI (List)

BAB III QUEUE (ANTRIAN)

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

STRUKTUR DATA single linked list non circular

A. TUJUAN PEMBELAJARAN

KONSEP POINTER DAN LINKED LIST

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

Linked List. Bandung 2013

STRUKTUR DATA. Literatur

LIST. Dewi Sartika, M.Kom

BAB II Senarai Berantai (Linked List)

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

A. TUJUAN PEMBELAJARAN

Data Structure STRUKTUR DATA QUEUE. Chapter 3. Dahlia Widhyaestoeti, S.Kom

BAB IX LINKED LIST (SENARAI BERANTAI)

Linked List dan Implementasinya dalam Bahasa Java

LAPORAN PRAKTIKUM IX. Oleh:

Algoritma dan Struktur Data

KKKF33110 STRUKTUR DATA

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

05. Double Linked List

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

Praktikum Algoritma dan Struktur Data

Array VS Linked List

Algoritma Pemrograman & Struktur Data

Jadi satu simpul di double linked list adalah sebagai berikut : Info. Kiri. Kanan

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

ALGORITMA DAN STRUKTUR DATA

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

6. TREE / BINARY TREE

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

Praktikum 3. Konsep double linked list Struktur double linked list Implementasi double linked list dalam Bahasa C

KONSEP POINTER DAN LINKED LIST

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

Struktur. Bab 4: Linked LIst 4/8/2015

Algoritma dan Struktur Data. Linked List

Modul Praktikum Algoritma dan Struktur Data

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

Latihan 1: Mengoperasikan Excel

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

Variasi List Linier. Nisa ul Hafidhoh, MT

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

LIST LINIER 1. DEFINISI

Struktur Data. Queue (Antrian)

KONSEP POINTER DAN LINKED LIST

Struktur. Bab 4: Linked LIst 4/8/2015

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

(3) BAHAN KAJIAN (materi ajar)

IT234 Algoritma dan Struktur Data. Tree

Jumlah kriteria dan intensity rating maksimal 15. Jumlah alternatif bisa sebanyak-banyaknya.

BAB V SORTING (PENGURUTAN) INTERNAL

Transkripsi:

Pertemuan 6 Waktu : 135 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 Tahap Kegiatan Kegiatan Pengajar 1 Pendahuluan 1. Membuka pertemuan 2. Mengulang materi pertemuan sebelumnya 2 Penyajian Materi 1. Teori Double Linked List 2. Operasi operasi pada Double Linked List 3. Teori Circullar Double Linked List 4. Operasi operasi pada Circullar Double Linked List 3 Penutup 1. Menyimpulkan materi pertemuan 2. Memberikan tugas kecil 3. Menutup pertemuan Kegiatan Mahasiswa Menyimak Bertanya Menyimak Bertanya Menjawab Pertanyaan Media & Alat Papan Tulis Papan Tulis Waktu 20 Menit 80 Menit Menyimak Papan tulis 35 Menit M A T E R I K U L I A H 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. V3/2009 2010 1

nil 0100 Aku 0200 Belajar 0300 Pointer nil Gambar 1. Ilustrasi Double Linked List Operasi operasi pada Double Linked List Insert Insert After Procedure insert berguna untuk menambah simpul dibelakang (sebelah kanan) pada sebuah double linked list. Berikut penggalan procedure insert after. Procedure InsertAfter(e:Elemen_Type); New(now); Now^.Isi := e; If Head=Nil then Head := Now; Tail := Now; Now^.Next := Nil; Now^.Prev := Nil; End Tail^.next := now; Now^.Prev := Tail; Tail := Now; Tail^.Next := Nil; V3/2009 2010 2

Insert Before Sesuai dengan namanya, procedure Insert Before berguna untuk menambah simpul di depan (sebelah kiri). Procedure ini tidak berbeda jauh dengan procedure Insert After. Procedure InsertBefore(e:Elemen_Type); New(now); Now^.Isi := e; If Head=Nil then Head := Now; Now^.Next := Nil; Now^.Prev := Nil; End Head^.prev := now; Now^.next := head; Head := Now; Head^.Prev := Nil; V3/2009 2010 3

Delete Delete After Procedure Delete After berguna untuk menghapus simpul dari belakang. Procedure ini merupakan kebalikan dari procedure Insert After yang menambahkan simpul dibelakang. Procedure DeleteAfter; Now := Tail; If Now <> Head then Tail := Now^.Prev; Tail^.Next := Nil; End Tail := Nil; Head := Nil; If Now <> Nil then Dispose(now); V3/2009 2010 4

Delete Before Procedure Delete Before merupakan kebalikan dari procedure Delete After yang akan menghapus simpul dari depan (sebelah kiri). Procedure DeleteBefore; Now := Head; If Now <> Head then Head := Now^.Next; Head^.Prev := Nil; End Tail := Nil; Head := Nil; If Now <> Nil then Dispose(now); V3/2009 2010 5

Delete at Position Procedure at Position, sesuai dengan namanya, berguna untuk menghapus simpul pada posisi yang diinginkan. Untuk melakukannya diperlukan bantuan 2 variabel pointer yang pada modul ini diberi nama Bantu1 dan Bantu2. Nama tersebut boleh diganti. Procedure DeleteAtPos; Var Bantu1, Bantu2 : Point; Bantu1 := Now^.Prev; Bantu2 := Now^.Next; If Bantu1 <> Nil then Bantu1^.Next := Bantu2; Head := Bantu2; If Bantu2 <> Nil Then Bantu2^.Prev := Bantu1; Tail := Bantu1; If Now <> Nil Then Dispose(Now); V3/2009 2010 6

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 Insert After berguna untuk menambah simpul di belakang (sebelah kanan) pada sebuah double linked list. Procedure InsertAfter(e:Elemen_Type); New(now); If Head=Nil then Head := Now; else Now^.Prev := Tail; Tail^.Next := Now; Now^.Isi := e; Tail := Now; Tail^.next := Head; Head^.Prev := Tail; V3/2009 2010 7

Insert Before Procedure Insert Before berguna untuk menambahkan simpul di depan (sebelah kiri). Procedure ini tidak berbeda jauh dengan procedure Insert After yang telah dijelaskan sebelumnya. Procedure InsertBefore(e:Elemen_Type); If Head=Nil then Head := Now; Tail := Now; End else Now^.Prev :=Head; Head^.Next := Now; Now^.Isi := e; Now^.Next := Tail; Tail^.Prev := Now; Tail := Now; V3/2009 2010 8

Delete Delete After Procedure Delete After berguna untuk menghapus simpul dari belakang. Procedure ini merupakan kebalikan dari Procedure Insert After yang menambah simpul di belakang. Procedure DeleteAfter; Now := Tail; If Head=Nil then Tail := Nil; Head := Nil; End else Tail := Now^.Prev; Tail^.Next := Head; Head^.Prev := Tail; If Now <> nil then Dispose(Now); V3/2009 2010 9

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; Now := Tail; If Head=Tail then Tail := Nil; Head := Nil; End else Head := Now^.Next; Head^.Prev := Tail; Tail^.Next := Head; If Now <> nil then Dispose(Now); V3/2009 2010 10

Delete at Position Procedure Delete at Position berguna untuk menghapus simpul pada posisi yang diinginkan. Untuk itu diberikan bantuan 2 buah variabel pointer yang diberi nama Bantu1 dan Bantu2. Procedure DeleteAtPos; Var Bantu1, Bantu2 : Point; Bantu2 := Now^.Next; Bantu1 := Now^.Prev; If Bantu1 <> Now then Bantu1^.Next := Bantu2; Bantu2^.Prev := Bantu1; If Bantu2 = Tail then Head := Bantu1; If Bantu1 = Head then Tail := Bantu2; End else Head := Nil; Tail := Nil; If Now <> Nil then Dispose(Now); 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 Update(x,y : elemen_type); Cari(x); Now^.isi := y; V3/2009 2010 11