List Linear (Linked List) Farah Zakiyah Rahmanti 2014

dokumen-dokumen yang mirip
BAB II Senarai Berantai (Linked List)

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

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

MODUL 6 SINGLE & DOUBLE LINKED LIST

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

LIST. Dewi Sartika, M.Kom

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

STRUKTUR DATA. Literatur

BAB IX LINKED LIST (SENARAI BERANTAI)

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

KONSEP POINTER DAN LINKED LIST

Algoritma dan Struktur Data

STRUKTUR DATA (2) Single Linked List

Single Linked List (1)

Variasi List Linier. Nisa ul Hafidhoh, MT

SINGLE LINKED LIST (NON CIRCULAR)

Review : Sifat Implementasi Linear List dengan Array

Praktikum Algoritma dan Struktur Data

Praktikum 2. Senarai Berantai (Linked List) POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

Algoritma dan Struktur Data. Pertemuan 7 Linked List

LAPORAN PRAKTIKUM IX. Oleh:

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

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

A. TUJUAN PEMBELAJARAN

05. Double Linked List

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

A. TUJUAN PEMBELAJARAN

KONSEP POINTER DAN LINKED LIST

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

BAB IX LINKED LIST (SENARAI BERANTAI)

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

Lab. Teknik Informatika Struktur Data 1

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

REPRESENTASI FISIK LIST LINEAR

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

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

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

Struktur Data II. Single Linked List - Non circular

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

Algoritma dan Struktur Data. Ramos Somya

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

04. Single Linked List

Tutorial - Single Linked List

Array VS Linked List

Linked List dan Implementasinya dalam Bahasa Java

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Algoritma dan Struktur Data. Linked List

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

Linked List 6.3 & 7.3 NESTED LOOP

KERUGIAN DAN KEUNTUNGAN LINKED LIST

ALGORITMA & PEMROGRAMAN

ALGORITMA DAN STRUKTUR DATA

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

DIG1G3 Implementasi Struktur Data

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

Praktikum Algoritma dan Struktur Data 2010

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

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

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

(3) BAHAN KAJIAN (materi ajar)

Algoritma Pemrograman & Struktur Data

STRUKTUR DATA single linked list non circular

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

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

List Berkait(Linked List) Overview. Tujuan Instruksional

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Single Linked List. Single Linked List

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

BAB IV Antrian(Queue)

LINKED LIST. Double Linked List adalah :

Pertemuan 7. REVIEW dan QUIS

Algoritma Pemrograman & Struktur Data

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

Linked List. Bandung 2013

LIST BERKAIT(LINKED LIST)

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

KUM 3 IMPLEMENTASI LIST

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Stack. Gambar 1.1 Stack

Bagian I. Studi Kasus [82] Tanda tangan:

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

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

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

SENARAI BERANTAI (LINK LIST)

Search And Insert Problem (Sorted Double Linkedlist Solution)

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

Metode Alokasi Berkas

Modul Praktikum Algoritma dan Struktur Data

Double Linked List DIKTAT KULIAH. Pertemuan 6

Pointer dan Array Dinamik. IF2121 / Algoritma dan Struktur Data Sem /2018

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

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

Transkripsi:

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Overview Single Linked List Double Linked List Circular List

SINGLE LINKED LIST

Deskripsi Single linked list atau biasa disebut dengan linked list terdiri dari elemen-elemen individu, dimana masing-masing dihubungkan dengan pointer tunggal. Masing-masing elemen terdiri dari dua bagian, yaitu sebuah data dan sebuah pointer yang disebut dengan pointer next.

Cara Kerja SLL Linked list dibentuk dengan cara menunjuk pointer next suatu elemen ke elemen yang mengikutinya. Pointer next pada elemen terakhir merupakan NULL, yang menunjukkan akhir dari suatu list. Elemen pada awal suatu list disebut head, dan elemen terakhir dari suatu list disebut tail.

Cara Kerja SLL Untuk mengakses elemen, dimulai dari head dan menggunakan pointer next dari elemen selanjutnya untuk berpindah dari elemen ke elemen berikutnya sampai elemen yang diminta dicapai. list dapat dilintasi hanya satu arah dari head ke tail karena masing-masing elemen tidak terdapat link dengan elemen sebelumnya.

Representasi simpul / node Struktur linked list merupakan suatu simpul yang berisi pointer ke suatu data yang merupakan data dirinya sendiri. Model struktur dari linked list tersebut dalam C adalah sebagai berikut :

Representasi simpul / node Dilanjutkan dengan deklarasi dari pointer ke struktur : or

Alokasi simpul Ketika sebuah variabel dideklarasikan, terlebih dahulu harus diinisialisasi. Demikian juga dengan pengalokasian secara dinamis. Sehingga, fungsi untuk mengalokasikan sebuah node baru, fungsi allocate_node() menggunakan malloc() untuk mendapatkan memori aktual, yang akan menginisialisasi suatu filed data. next selalu diinisialisasi sebagai NULL.

untuk melihat kemungkinan alokasi memori gagal, maka fungsi allocate_node menghasilkan 0, bila berhasil maka menghasilkan 1. untuk membebaskan node digunakan fungsi free_node. Fungsi dari alokasi node adalah sebagai berikut :

untuk inisialisasi list setelah alokasi untuk node pertama maka ditambahkan statement sbb :

Untuk inisialisasi list setelah alokasi untuk node pertama :

free_node () Menggunakan memori dinamis dengan fungsi free () free() akan menghancurkan node yang menunjuk ke pointer yang dilewati, sehingga tempat yang ada dapat dipakai untuk lainnya. Akan tetapi, pointer yang melewati free() tidak otomatis menjadi null, tetapi akan menunjuk ke node yang sudah tidak ada. Karena itu pointer harus didefinisikan dengan NULL.

free_node () Ilustrasi dari fungsi free_node() dapat dilihat

Insert () insert sebagai node awal (head) dari linked list insert setelah node tertentu insert sebelum node tertentu insert sebagai node akhir (tail) dari linked list

insert sebagai node awal (head) dari linked list

Insert setelah node tertentu

Insert sebelum node tertentu

Insert di akhir (tail) dari linked list

Delete () delete sebagau simpul pertama (head) dari linked list delete setelah simpul tertentu delete simpul terakhir

Penghapusan Simpul Pertama

Penghapusan Setelah Simpul Tertentu

Penghapusan simpul terakhir

DOUBLE LINKED LIST

Deskripsi Elemen-elemen dihubungkan dengan dua pointer dalam satu elemen. Struktur ini menyebabkan list melintas baik ke depan maupun ke belakang. Masing-masing elemen pada double linked list terdiri dari tiga bagian, disamping data dan pointer next, masingmasing elemen dilengkapi dengan pointer prev yang menunjuk ke elemen sebelumnya. Double linked list dibentuk dengan menyusun sejumlah elemen sehingga pointer next menunjuk ke elemen yang mengikutinya dan pointer prev menunjuk ke elemen yang mendahuluinya.

untuk menunjuk head dari double linked list, maka pointer prev dari elemen pertama menunjuk NULL. Untuk menunjukkan tail dari double linked list tersebut, maka pointer next dari elemen terakhir menunjuk NULL. Susunan elemen :

CIRCULAR LIST

Deskripsi Circular list adalah bentuk lain dari linked list yang memberikan fleksibilitas dalam melewatkan elemen. Circular list berupa single linked list atau double linked list, tetapi tidak mempunyai tail. Pada circular list, pointer next dari elemen terakhir menunjuk ke elemen pertama dan bukan menunjuk NULL. Pada double linked circular list, pointer prev dari elemen pertama menunjuk ke elemen terakhir.

Ilustrasi circle list

Terima Kasih