Double Linked List. Brigida Arie Minartiningtyas, M.Kom

dokumen-dokumen yang mirip
RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

BAB IX LINKED LIST (SENARAI BERANTAI)

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

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

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

KERUGIAN DAN KEUNTUNGAN LINKED LIST

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

BAB IX LINKED LIST (SENARAI BERANTAI)

Lab. Teknik Informatika Struktur Data 1

Pertemuan 3 RECORD. Contoh penggunaan record (dalam program PASCAL) : Type Siswa = record Nama : string[25]; Kelas : 1..6; Nilai : real; end;

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

BAB VII SENARAI BERANTAI (List)

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

2 SENARAI/LIST BERANTAI GANDA

ALGORITMA & PEMROGRAMAN

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

4. STACK / TUMPUKAN TEORI PENUNJANG

Queue. Implementasi Queue dengan Array

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

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

Linked List. Bandung 2013

BAB III QUEUE (ANTRIAN)

6. TREE / BINARY TREE

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

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

BAB II STACK Atau TUMPUKAN

Pertemuan VI ANTRIAN (Queue)

LOGO STRUKTUR DATA QUEUE

Double Linked List DIKTAT KULIAH. Pertemuan 6

QUEUE (ANTRIAN) Struktur Data - Queue

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

Bab 4 Pointer dan Struktur Data Dinamik 16 BAB IV POINTER DAN STRUKTUR DATA DINAMIK TUJUAN PRAKTIKUM TEORI PENUNJANG

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

STRUKTUR DATA. Literatur

05. Double Linked List

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

Bagian I. Studi Kasus [82] Tanda tangan:

LINKED LIST. Altien Jonathan Rindengan, S.Si, M.Kom

Single Linked List (1)

MODUL 6 SINGLE & DOUBLE LINKED LIST

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal

SENARAI BERANTAI (LINK LIST)

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

LAPORAN PRAKTIKUM IX. Oleh:

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

ALGORITMA DAN STRUKTUR DATA

ANTRIAN ( QUEUE ) NAMA KELOMPOK : 1.EKA PRIHANTORO 2.FATKHUL ELEKTRIK PSH 3.RIZKY GUMILANG CR

Algoritma dan Struktur Data

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

{ Program Pointer Pertama } { Program Pointer Single Linklist }

KONSEP POINTER DAN LINKED LIST

Struktur Data. Queue (Antrian)

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

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

LIST. Dewi Sartika, M.Kom

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

SORTING. Brigida Arie Minartiningtyas, M.Kom

BAB XI Manipulasi Binary Tree

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

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

KONSEP POINTER DAN LINKED LIST

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

BAB II Senarai Berantai (Linked List)

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Bubble Sort (Pengurutan Gelembung / Pemberatan)

BAB II STACK (TUMPUKAN)

KONSEP POINTER DAN LINKED LIST

Single Linked List. Single Linked List

KONSEP DASAR BAHASA PASCAL

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

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

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

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

LIST BERKAIT(LINKED LIST)

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

SINGLE LINKED LIST (NON CIRCULAR)

Pointer. Pengertian. Struktur Data Pascal

KONSEP POINTER DAN LINKED LIST

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

KONSEP POINTER DAN LINKED LIST

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

Teori Algoritma TIPE DATA

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Algoritma dan Struktur Data. Ramos Somya

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

Praktikum Algoritma dan Struktur Data

STRUKTUR DATA (2) Single Linked List

Linked List dan Implementasinya dalam Bahasa Java

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Kuliah Online : TEKKOM [2013/VI]

S T A C K ( T U M P U K A N )

Algoritma Pemrograman & Struktur Data

Perancangan Perangkat Ajar Visualisasi Eksekusi Flowchart dan Konversinya ke Dalam Algoritma. Ahmad Suryan. Politeknik Telkom.

4 LINKED LIST. 4.1 Istilah-istilah 1. Simpul Simpul terdiri dari dua bagian, yaitu : Bagian data Bagian pointer yang menunjuk ke simpul berikutnya.

Struktur Data II. Single Linked List - Non circular

Transkripsi:

Double Linked List rigida rie Minartiningtyas, M.Kom

Review Linked List Linked list yang kita pelajari sebelumnya hanya mempunyai sebuah pointer pada setiap simpulnya. Hal ini merupakan kelemahan bahwa linked list tersebut hanya bisa dibaca dalam satu arah saja, yaitu dari kiri ke kanan. Hal yang seperti ini kurang cepat jika kita ingin mencari data di dalam linked list

Double Linked List Untuk itulah kita memerlukan linked list yang setiap simpulnya mempunyai 2 buah pointer Dengan pointer pertama menunjuk ke simpul sebelumnya (sebelah kiri) dan pointer kedua menunjuk ke simpul sesudahnya (disebelah kanan). Hal ini akan mempermudah pembacaan (bisa dilakukan dari kiri ke kanan dan dari kanan ke kiri), begitu juga untuk penambahan simpul dan penghapusan simpul

Double Linked List QUEUE / NTRIN KEPL D Secara garis besar Double linked list adalah linked list yang memiliki dua buah pointer yang menunjuk ke simpul sebelumnya (Prev) dan yang menunjuk ke simpul sesudahnya (Next).

DEKLRSI Linked List I NYK 1. Menambah simpul Tambah belakang Tambah depan RRY Tambah (LRIK) tengah 2. Menghapus simpul (dengan masukkan)

MENMH SIMPUL 1. TMH DEPN akhir D Type Simpul = ^Data; Data = record Isi : char; Kiri, Kanan : Simpul; var Elemen : char; Kepala : Simpul; 1 2 3 4 Procedure TMH(var Kepala Elemen : char) ; : Simpul; var aru : Simpul; new(aru); aru^.isi:= Elemen; aru^.kanan:= Kepala^.kanan; { no. 1} aru^.kiri := Kepala; { no. 2} Kepala^.kanan^.kiri := aru; { no. 3} Kepala^.kanan := aru; { no. 4}

MENMH SIMPUL 2. TMH TENGH akhir D Type Simpul = ^Data; Data = record Isi : char; Kiri, Kanan : Simpul; var Elemen : char; Kepala : Simpul; 1 2 3 4 Procedure TMH(var Kepala Elemen : char) ; var aru, antu : Simpul; new(aru); aru^.isi:= Elemen; while antu^.kanan^.isi < Elemen do antu := antu^.kanan; : Simpul; aru^.kanan:= antu^.kanan; { no. 1} aru^.kiri := antu; { no. 2} antu^.kanan^.kiri := aru; { no. 3} antu^.kanan := aru; { no. 4}

MENMH SIMPUL 3. TMH ELKNG akhir Type Simpul = ^Data; Data = record Isi : char; Kiri, Kanan : Simpul; var Elemen : char; Kepala : Simpul; 1 2 Procedure TMH(var Kepala Elemen : char) ; var aru, antu : Simpul; new(aru); aru^.isi:= Elemen; while antu^.kanan^.isi < Elemen do antu := antu^.kanan; : Simpul; aru^.kiri := antu; { no. 1} antu^.kanan := aru; { no. 2}

MENMH SIMPUL Procedure TMH(var Kepala : Simpul; Elemen : char) ; var aru, antu : Simpul; new(aru); {* lokasi simpul *} with aru^ do {* Pengisian data dan inisialisasi *} Isi := Elemen; Kiri := nil; Kanan:= nil := Kepala; while antu^.kanan^.isi < elemen do {* Penempatan posisi var antu *} antu := antu^.kanan; if antu^.kanan <> nil then {* Penyisipan di tengah *} egin aru^.kanan := antu^.kanan; antu^.kanan^.kiri := aru; antu^.kanan := aru; {* Menambah di belakang *} aru^.kiri := antu

MENGHPUS SIMPUL HPUS_SIMPUL(Kepala, ) akhir Type Simpul = ^Data; Data = record Isi : char; Kiri, Kanan : Simpul; var Elemen : char; Kepala : Simpul; Procedure HPUS_SIMPUL(var Kepala : Simpul; Elemen : char) ; 1 2 3 var antu : Simpul; egin repeat antu := antu^.kanan until (antu^.isi = Elemen) or (antu = Kepala); if antu^.isi = Elemen then { no. 1} antu^.kiri^.kanan := antu^.kanan; { no. 2} antu^.kanan^.kiri := antu^.kiri; { no. 3} dispose(antu); antu := Kepala

MENGHPUS SIMPUL Procedure HPUS_SIMPUL(var wal, khir : Simpul; Elemen : char) ; var antu : Simpul; egin if Kepala^.Kanan = Kepala then writeln( Senarai KOSONG ) {* Senarai Kosong *} else {* Jika Senarai isi *} antu := Kepala; repeat (* Mencari simpul yang akan dihapus *) antu := antu^.kanan until (antu^.isi = Elemen) or (antu = Kepala); if antu^.isi = Elemen then antu^.kiri^.kanan := antu^.kanan; antu^.kanan^.kiri := antu^.kiri; dispose(antu); antu := Kepala; end else writeln( Karakter yang akan dihapus TIDK D ) end

Linked List Single Linked List Disebut demikian karena pada setiap simpul hanya memiliki satu buah field yang berhubungan dengan simpul berikutnya Double Linked List Linked List ini memiliki dua buah field yang digunakan untuk menunjuk ke simpul sebelumnya dan ke simpul sesudahnya. anyak digunakan untuk mempermudah proses pencarian simpul dalam suatu senarai berantai.

Variasi Linked List Header Single Linked List ircular Single Linked List Header ircular Single Linked List