BAB IX LINKED LIST (SENARAI BERANTAI)

dokumen-dokumen yang mirip
BAB IX LINKED LIST (SENARAI BERANTAI)

SINGLE LINKED LIST (NON CIRCULAR)

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

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

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

KONSEP POINTER DAN LINKED LIST

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

KONSEP POINTER DAN LINKED LIST

Single Linked List (1)

KERUGIAN DAN KEUNTUNGAN LINKED LIST

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

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

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

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

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

BAB VII SENARAI BERANTAI (List)

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

ALGORITMA & PEMROGRAMAN

MODUL 6 SINGLE & DOUBLE LINKED LIST

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

Lab. Teknik Informatika Struktur Data 1

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

POINTER PADA PASCAL. <nama_var> : ^<tipe_data>; <nama_var> : pointer;

LIST. Dewi Sartika, M.Kom

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

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

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

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

ALGORITMA DAN STRUKTUR DATA

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

SENARAI BERANTAI (LINK LIST)

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

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Struktur Data

STRUKTUR DATA (2) Single Linked List

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

Linked List. Bandung 2013

Array VS Linked List

Struktur Data II. Single Linked List - Non circular

LAPORAN PRAKTIKUM IX. Oleh:

Variasi List Linier. Nisa ul Hafidhoh, MT

QUEUE (ANTRIAN) Struktur Data - Queue

BAB II STACK Atau TUMPUKAN

LOGO STRUKTUR DATA QUEUE

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

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

Review : Sifat Implementasi Linear List dengan Array

Struktur Data. PDE - Struktur Data 1

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Algoritma dan Struktur Data. Pertemuan 7 Linked List

A. TUJUAN PEMBELAJARAN

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

03 LINKED LIST. Slide 0 voice. Slide 1 voice. Slide 2 voice. Thompson Susabda Ngoen 1 P a g e

A. TUJUAN PEMBELAJARAN

STRUKTUR DATA single linked list non circular

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

Pertemuan 7. REVIEW dan QUIS

Algoritma Pemrograman & Struktur Data

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

IKG2A3/ Pemrograman Terstruktur 2

KUM 3 IMPLEMENTASI LIST

LIST BERKAIT(LINKED LIST)

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

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

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

DIG1G3 Implementasi Struktur Data

BAB II Senarai Berantai (Linked List)

Algoritma dan Struktur Data. Ramos Somya

Linked List 6.3 & 7.3 NESTED LOOP

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

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

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

List Berkait(Linked List) Overview. Tujuan Instruksional

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

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

BAB V LINKED LIST. Pointer A 50 B Alamat Memori. Gambar 5-1 : Logika Linked List

Modul Praktikum Algoritma dan Struktur Data

SEARCHING (PENCARIAN)

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

STRUKTUR DATA. Literatur

Praktikum Algoritma dan Struktur Data

Pengenalan Struktur Data dan Algoritma

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

Tutorial - Single Linked List

Algoritma dan Struktur Data. Linked List

QUEUE Antrian 1. DEFINISI

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

LIST LINIER 1. DEFINISI

Linked List dan Implementasinya dalam Bahasa Java

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

BAB 5 PERULANGAN DAN ARRAY

Transkripsi:

BAB IX LINKED LIST (SENARAI BERANTAI) Linked list atau biasa disebut senarai berantai adalah suatu kumpulan data yang saling terhubung antar 1 data dengan data berikutnya. Suatu element (disebut dengan node) dalam linked list selalu mempunyai hubungan dengan data berikutnya. Agar lebih jelas perhatikan contoh di bawah ini : 4 NULL Gambar 1. Contoh linked list Dalam gambar1 di atas, terlihat bahwa ada 4 buah data. Setiap data mempunyai anggota yang menunjuk ke data berikutnya, kecuali elemen terakhir yang berisi NIL. NIL berarti bahwa elemen tersebut tidak menunjuk ke posisi apapun. Selain itu elemen pertama ditunjuk oleh variable dan elemen terakhir ditunjuk oleh variable. Setiap elemen dari linked list mempunyai 2 bagian yaitu bagian data (info) yang bernilai dengan angka, dan sebagian lagi adalah penunjuk ke data berikutnya (pointer). Linked list merupakan suatu penyimpanan data yang dinamis. Adapun proses-proses yang biasa terjadi dalam linked list adalah : 1. Pendeklarasian struktur dan variable linked list Dari gambar 1 dapat dilihat bahwa setiap elemen linked list mempunyai 2 bagian yaitu bagian data (info) dan bagian yang menunjuk ke data berikutnya (suksesor). Contoh struktur untuk linked list di atas adalah : 1 : type elemen : integer; 2 : simpul = ^data; : data = record 4 : info : elemen; : next : simpul; 6 : end; 7 :var awal, akhir : simpul; Keterangan : Perintah type simpul = ^data; berarti buat suatu type baru dengan nama simpul yang merupakan sebuah pointer ke struktur yang bernama data Perintah baris ke-2 sampai dengan baris ke-6 adalah pendeklarasian struktur data yang mempunyai field bernama info yang bertipe integer, dan variable next yang bertipe data (pointer ke data). Perintah pada baris ke-7 adalah contoh pendeklarasian variable yang menggunakan tipe simpul. Perintah di atas berarti pembuatan variable awal dan akhir yang bertipe simpul. Setelah perintah tersebut, kondisi di memori adalah : Halaman. 1

variable awal dan akhir menunjuk ke NIL, artinya tidak menunjuk ke data apapun. 2. Penambahan elemen di posisi awal Penambahan elemen di posisi awal adalah menambahkan data baru pada posisi awal, sehingga data baru tersebut akan menjadi awal. Ada 2 kondisi yang harus diperhatikan ketika kita melakukan proses penambahan elemen baru di awal yaitu kondisi linked list sedang kosong dan kondisi linked list sudah mempunyai elemen. Penambahan di awal ketika linked list masih kosong Itu berarti ketika linked list masih kosong, maka variable awal dan akhir akan diisi dengan variable baru. Penambahan di awal ketika linked list sudah mempunyai elemen dan kemudian Dengan ilustrasi di atas, maka proses penambahannya adalah dengan mengisikan field next milik elemen baru dengan posisi awal linked list, kemudian posisi awal berubah ke posisi baru. Halaman. 2

. Penambahan elemen di posisi terakhir Penambahan di posisi akhir adalah proses penambahan data baru dimana data baru disimpan di posisi terakhir. Setelah proses penambahan selesai, maka variable akhir akan menunjuk ke data baru tersebut. Ada 2 kondisi yang harus diperiksa yaitu kondisi penambahan akhir pada linked list yang masih kosong dan kondisi penambahan akhir pada linked list yang sudah mempunyai elemen. Penambahan akhir ketika linked list masih kosong Dari ilustrasi di atas, maka variable awal dan akhir akan diisi dengan alamat baru. Penambahan akhir ketika linked list sudah mempunyai elemen. Setelah elemen baru dibuat, maka sambungkan field next milik elemen terakhir linked list ke data baru. Kemudian variable/pointer akhir dipindahkan ke data baru. 4. Penambahan data di tengah (Penyisipan data) Proses penambahan di tengah berarti proses penyisipan data pada posisi tertentu. Oleh karena itu, posisi penyisipan sangat diperlukan. Ada beberapa kondisi yang harus diperhatikan ketika ingin melakukan penyisipan data, yaitu kondisi ketika linked list masih kosong, dan ketika linked list sudah mempunyai data. Proses penambahan data ketika linked list masih kosong Halaman.

Dari ilustrasi di atas, maka variable awal dan akhir akan diisi dengan alamat baru. Proses penambahan data ketika linked list sudah mempunyai data. Ada kondisi yang terjadi ketika akan melakukan proses penyisipan pada linked list yang sudah mempunyai data adalah : Posisi penyisipan di luar dari jangkauan linked list (posisi kurang dari 1 atau melebihi banyak data yang ada di linked list). Pada proses ini, jika terjadi posisi penyisipan kurang dari 1 maka proses yang dilakukan adalah proses penambahan data di awal, dan jika posisi di luar (>) dari banyak data maka proses yang dilakukan adalah proses penambahan data di akhir. Posisi penyisipan di dalam jangkauan linked list. Contoh kalau ingin menyisipkan data pada posisi ke- (posisisisip=). Langkah selanjutnya cari posisi elemen sebelum posisi sisip kemudian simpan dalam suatu variabel dengan nama. Kemudian sambungkan field next dari ke posisi next dari. Kemudian pindahkan field next dari ke posisi data baru. Halaman. 4

Halaman.