Review : Sifat Implementasi Linear List dengan Array

dokumen-dokumen yang mirip
Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

SINGLE LINKED LIST (NON CIRCULAR)

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

Algoritma dan Struktur Data. Ramos Somya

Single Linked List (1)

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

KONSEP POINTER DAN LINKED LIST

04. Single Linked List

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

BAB IX LINKED LIST (SENARAI BERANTAI)

KONSEP POINTER DAN 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

Linked List 6.3 & 7.3 NESTED LOOP

LIST. Dewi Sartika, M.Kom

A. TUJUAN PEMBELAJARAN

Pertemuan 7. REVIEW dan QUIS

REPRESENTASI FISIK LIST LINEAR

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA DAN STRUKTUR DATA

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

05. Double Linked List

SENARAI BERANTAI (LINK LIST)

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data. Linked List

BAB II Senarai Berantai (Linked List)

POINTER. Tim Alpro Teknik Informatika

Algoritma dan Struktur Data. Pertemuan 7 Linked List

STRUKTUR DATA. Literatur

Modul Praktikum Algoritma dan Struktur Data

01. Review Array, Pointer dan Struktur

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

Pengenalan Struktur Data dan Algoritma

Algoritma Pemrograman & Struktur Data

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data

A. TUJUAN PEMBELAJARAN

ASD. Alokasi Memori Dinamis

STRUKTUR DATA (2) Single Linked List

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

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

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

MODUL 6 SINGLE & DOUBLE LINKED LIST

BAB IX LINKED LIST (SENARAI BERANTAI)

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

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

LAPORAN PRAKTIKUM IX. Oleh:

ALGORITMA & PEMROGRAMAN

Struktur Data II. Single Linked List - Non circular

Algoritma dan Struktur Data. Queue

Algoritma dan Struktur Data STACK

Array VS Linked List

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

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

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Lab. Teknik Informatika Struktur Data 1

BAB VIII Pencarian(Searching)

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

Praktikum Algoritma dan Struktur Data 2010

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

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

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

Pointer di C++ Menurut Frieyadie Edisi Revisi Buku Pemrograman C++ dengan Borland C

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

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

POINTER. Tim Alpro Teknik Informatika

Algoritma dan Struktur Data. Pertemuan 6 Alokasi Memori Dinamis

STRUKTUR DATA single linked list non circular

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

Struct Lanjutan: Studi Kasus

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

Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

STRUKTUR DATA Pertemuan 1 s.d 8

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

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Penerapan BFS dan DFS dalam Garbage Collection

Pendahuluan Struktur Data. Nisa ul Hafidhoh

BAB 5 LINKED LIST. LINKED LIST ATAU ONE-WAY LIST Adalah koleksi linier dari elemen data yang disebut Simpul atau Node.

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

Tutorial - Single Linked List

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

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Konsep Dasar Struktur Data. Struktur Data

Struktur & Organisasi Data 2 LINKED LIST. LINKED LIST ATAU ONE-WAY LIST Adalah koleksi linier dari elemen data yang disebut Simpul atau Node.

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

A. TUJUAN PEMBELAJARAN

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

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Algoritma dan Struktur Data Praktikum 3. Pointer

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Transkripsi:

Pertemuan 10 Linked List Disusun oleh : PH. Prima Rosa, S.Si., M.Sc. Sri Hartati Wijono, S.Si. 2003/2004 Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 1 Review : Sifat Implementasi Linear List dengan Array Pencarian dapat dilakukan dengan mudah. Melihat elemen dalam list dapat dilakukan dengan mudah Membaca elemen dalam list dapat dilakukan dengan mudah Proses menyisipkan dan menghapus elemen tidak mudah. Mengapa? Elemen-elemen harus digeser Sulit untuk memperkirakan array yang harus dibuat. Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 2 Pert. 10 Struktur Data - FMIPA USD - 2003 1

Review : Sifat Implementasi Linear List dengan Array Bagaimana mengatasi kelemahan implementasi linear list dengan array? Satu elemen dengan elemen yang lain dihubungkan dengan suatu penghubung (link) Lahir gagasan linked list Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 3 Beberapa Struktur Data (b) Linked List (a) Matriks (c) Tree (d) Jaringan Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 4 Pert. 10 Struktur Data - FMIPA USD - 2003 2

Implementasi linked list (list terhubung) Linked list merupakan rantai elemen Tiap elemen punya : data link yang menunjuk ke elemen berikut pkepala (a) Suatu linked list dengan pointer : pkepala pkepala (b) Suatu linked list kosong Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 5 Node : Suatu elemen dari Linked List 1 node dgn 1 field data 1 node dgn 3 field data nomor nama id rangking Suatu structure dlm 1 node nama alamat telepon Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 6 Pert. 10 Struktur Data - FMIPA USD - 2003 3

Kepala & Node menggunakan Struktur Data Structure Kita perlu mendefinisikan 2 structure: satu untuk (head) list satu untuk node list (a) Structure utk (b) Structure utk node Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 7 Kepala dan Node : list integer sederhana struct intlist { struct node *; int ; }IntList; struct node { int data; struct node *link; }Node; 15 data 99 data 2 link link Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 8 Pert. 10 Struktur Data - FMIPA USD - 2003 4

Kepala dan Node: list nama struct IntList { struct node *; int ; }IntList; struct node { char *name; struct node *link; }Node; 2 Andi data link Boni data link Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 9 Kepala dan Node: structure sebagai data struct Intlist { struct node *; int ; }; 2 struct node { struct person *data; struct node *link }Node; struct person { char *nama; int umur; } Andi 15 data link Boni 19 data link Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 10 Pert. 10 Struktur Data - FMIPA USD - 2003 5

Operasi-Operasi Utama dalam Ordered Linked List Buat List Tambah node Di awal, tengah atau akhir Hapus node Di awal, tengah atau akhir Cari node Melacak list (Membaca node-node) Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 11 Operasi (1) Buat list (a) Sebelum buat list. = null list. = 0 (b) Setelah buat Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 12 Pert. 10 Struktur Data - FMIPA USD - 2003 6

Operasi (2) Tambah Node : Jika List Kosong (a) Sebelum -> link = list. list. = (b) Sesudah Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 13 Operasi Tambah Node: Di Awal List (a) Sebelum -> link = list. list. = (b) Sesudah Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 14 Pert. 10 Struktur Data - FMIPA USD - 2003 7

Operasi Tambah Node : Di Tengah List (a) Sebelum -> link = -> link -> link = (b) Sesudah Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 15 Operasi Tambah node: Di Tengah List Bandingkan operasi penambahan elemen dalam implementasi linear list dengan array dan dengan linked list Apa kesimpulan Anda? Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 16 Pert. 10 Struktur Data - FMIPA USD - 2003 8

Operasi Tambah Node : Di Akhir List (a) Sebelum -> link = ->link -> link = (b) Sesudah Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 17 Operasi (3) Hapus Node: Di Awal List (a) Sebelum pskrg list. = pskrg -> link (b) Sesudah Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 18 Pert. 10 Struktur Data - FMIPA USD - 2003 9

Operasi Hapus Node : Kasus Umum (a) Sebelum pskrg -> link = pskrg->link (b) Sesudah pskrg Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 19 Operasi (4) Pencarian node Lokasi di depan Lokasi di tengah Lokasi di akhir (a) Pencarian sukses (return true) Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 20 Pert. 10 Struktur Data - FMIPA USD - 2003 10

Operasi (4) Pencarian node < elemen pertama > elemen terakhir (b) Pencarian gagal (return false) Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 21 Operasi Melacak List Lokasi di depan Lokasi di tengah Lokasi di akhir Dilakukan proses pelacakan / pembacaan untuk setiap node Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 22 Pert. 10 Struktur Data - FMIPA USD - 2003 11

Mengapa harus dengan pointer? Pada beberapa bahasa pemrograman yang tidak memiliki tipe data pointer, linked list diimplementasikan dengan array Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 23 Struktur Data : Implementasi Linked Lists Dengan Variabel Dinamis Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 24 Pert. 10 Struktur Data - FMIPA USD - 2003 12

Alokasi Memori Dinamis Alokasi memori dinamis Memakai dan membebaskan memory selama proses eksekusi malloc Mengalokasikan se byte untuk digunakan sizeof digunakan untuk menentukan ukuran obyek Akan mengembalikan pointer ke sebuah lokasi di memori. Jika tidak ada memori yang tersedia akan mengembalikan NULL P = (Node *)malloc( sizeof( struct Node ) ); P akan menunjuk ke variabel dinamis baru bertipe node yang telah dibuat. Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 25 Alokasi Memori Dinamis free Membebaskan memori yang dibuat dengan malloc yang sudah tidak digunakan free (P); Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 26 Pert. 10 Struktur Data - FMIPA USD - 2003 13