Pertemuan ketujuh Struktur data st3telkom.ac.id

Slides:



Advertisements
Presentasi serupa
Double Linked List.
Advertisements

Single linked list.
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
LINKED LIST.
MODUL KULIAH STRUKTUR DATA TANGGAL REVISI TANGGAL BERLAKU KODE DOKUMEN :::::: September Session 8 Edited By Al-Bahra. L.B, S. Kom, M.
LINKED LIST.
CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++
Pertemuan 2 STRUKTUR DATA LINKED LIST
LINKED LIST (List linier)
Mata Kuliah : Struktur Data Pertemuan : V
LINKED LIST Single Linked List.
LINKED LIST.
Linked List Pembuatan Simpul Awal.
LINK LIST Latifah Rifani.
Algoritma dan Struktur Data Daniel Riano Kaparang.
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2010
Queue.
STRUKTUR DATA (6) single linked list non circular
Operasi pada pohon biner
Single Linked List Yuliana Setiowati, S.Kom.
BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST.
Algoritma & Struktur Data Linked List Evangs Mailoa.
LINKED LIST by Yohana N.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Tenia Wahyuningrum, S.Kom. MT
Struktur Data List Linear : Linked List (Single Linkedlist)
POINTER.
LINKED LIST.
Struktur Data (Data Structure) – IS 2313
Algoritma dan Struktur Data
1 Pertemuan 3 Data Komposit Linked list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
ADT DINAMIS : SINGLY LINKED LIST DAN DOUBLE LINKED LIST
SENARAI BERANTAI TUNGGAL
Double linked list non circular
Struktur Data Linked List
STRUKTUR DATA (2) Single Linked List
STRUKTUR DATA Linked List Oleh : Yuli Praptomo PHS, S.Kom.
LINKED LIST by Yohana N.
Single Linked List.
Algoritma dan Struktur Data
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Doubel Linked List.
Stack.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Algoritme dan Stuktur Data
STRUKTUR DATA (7) single linked list circular
Linked List 6.3 & 7.3 NESTED LOOP.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Doubel Linked List.
SENARAI BERANTAI (LINKED LIST)
Single Linked List Circular (SLLC)
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
LINKED LIST by Yohana N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked-lis...
STRUKTUR DATA (8.2) double linked list circular
Double Linked List.
Linear Doubly Linked List
LINKED LIST (SENARAI BERANTAI)
Variable Static & Linked List
Algoritma dan Struktur Data
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Pertemuan ketujuh Struktur data st3telkom.ac.id Senarai berantai linked list Pertemuan ketujuh Struktur data st3telkom.ac.id by : tenia wahyuningrum

Senarai berantai Dalam pemakaian sehari-hari istilah senarai berantai (list) adalah kumpulan linier sejumlah data.

Ada yang dihapus jika barang telah dibeli atau ditambahkan barang baru yang akan dibeli. Daftar belanja

Keunggulan : kemudahan dan efektifitas kerja yang lebih baik dalam hal menambah, mengurangi, serta mencari suatu elemen/node yang terdapat dalam senarai.

“Elemen-elemen yang terdapat pada sebuah senarai berantai tersimpan dalam blok memori terpisah”

“Penambahan, pengurangan, ataupun penggantian node dapat dilakukan dengan mengubah elemen rujukan atas tiap-tiap node yang terkait”

“Kerugiannya, sebuah senarai berantai tidak memungkinkan pengaksesan elemen secara acak”

Jenis-jenis senarai berantai

Senarai Tunggal Bila struktur data sebuah node hanya memiliki satu tautan atas node berikutnya dalam sebuah senarai, maka senarai tersebut dinamakan sebagai senarai tunggal.

Senarai Ganda Berbeda halnya dengan senarai tunggal, pada senarai ganda, struktur data atas tiap-tiap node memiliki rujukan pada node sebelum dan berikutnya. Sebagian algoritma membutuhkan taut ganda, contohnya sorting dan reverse traversing.

Pada dua jenis senarai sebelumnya, node terakhir dalam senarai tersebut merujuk pada null yang artinya akhir dari sebuah senarai, begitu pula null sebagai rujukan node sebelumnya pada node pertama bila senarai yang dimaksudkan adalah senarai ganda. Pada senarai sirkular, informasi rujukan pada node terakhir akan merujuk pada node pertama, dan rujukan pada node pertama akan merujuk pada node terakhir bila yang digunakan sebagai dasar implementasi adalah senarai ganda.

next info 9 Menunjuk ke node lain node

Contoh senarai berantai dengan 6 simpul : Awal A B C D E F Medan penyambung dari simpul kedua Medan informasi dari simpul kedua

C 5 A 6 D 10 B 1 F E 8 INFO SAMBUNGAN Awal 2 Habis 1 2 3 4 5 6 7 8 9 E 8 2 Awal 3 2 4 5 6 7 8 Habis 9 10

Membuat tipe data baru (tipe data bentukan) Representasi Simpul (Node) typedef struct node *list; struct node { int datalist; struct node *next; }; Membuat tipe data baru (tipe data bentukan)

dilanjutkan dengan deklarasi dari pointer ke struktur di atas sebagai berikut: struct node *head; atau list head

Mengalokasikan node int allocate_node(int data, list *new) { new = (list) malloc (sizeof(node)); if(new==NULL) return 0; new->datalist = data; new->next=NULL; return 1; } /* Perintah “malloc” merupakah perintah “memory allocation”. Perintah ini berfungsi mengalokasikan suatu alamat pada memory pada sebuah variabel*/

Untuk inisialisasi list setelah alokasi untuk node pertama maka ditambahkan statement sebagai berikut: head = new

Ilustrasi fungsi allocate_node

Untuk inisialisasi list setelah alokasi untuk node pertama ilustrasinya adalah sebagai berikut

operasi senarai berantai

insert Fungsi insert pada linked list meliputi : - 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 void insertashead(list insert) { insert->next=head; head = insert; }

ilustrasi dari fungsi diatas adalah sebagai berikut:

Insert setelah node tertentu void insertafternode(int x, list insert) { list after; after = head; do after = after->next; while (after->datalist != x); insert->next = after->next; after->next = insert; }

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Pointer next dari elemen baru menunjuk elemen setelah elemen tertentu 2. Pointer next elemen sebelumnya menunjuk ke elemen baru

Insert sebelum node tertentu void insertbeforenode(int x, list insert) { list before, prevbefore; if (head->datalist = x) insertashead(insert) else before = head; do prevbefore = before; before = before->next; while (before->datalist != x); insert->next = before; prevbefore->next = insert; } }

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri list sampai elemen tertentu, catat juga elemen sebelumnya 2. Lakukan penyisipan sebelum elemen tertentu tersebut

Insert di akhir (tail) dari linked list void insertastail(list insert) { list tail; tail = head; do tail = tail->next; while (tail->next != NULL); tail->next = insert; }

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri list sampai elemen terakhir (tail->next=NULL) 2. Lakukan penyisipan setelah elemen terakhir

Delete Fungsi delete pada linked list meliputi : - delete sebagai simpul pertama(head) dari linked list - delete setelah simpul tertentu - delete simpul terakhir

delete sebagai simpul pertama (head) dari linked list

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Pointer first diarahkan pada data ke-2 2. Pointer p diarahkan pada data ke-1 3. Bebaskan pointer p (secara otomatis data ke-1 terhapus)

delete setelah simpul tertentu

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Arahkan pointer first s/d data yang ditunjuk 2. Pointer p diarahkan pada first->next 3. Arahkan pointer first->next pada p->next 4. Bebaskan pointer p (secara otomatis data setelah simpul tertentu terhapus)

delete simpul terakhir

Langkah-langkah untuk proses di atas adalah sebagai berikut: 1 Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri simpul s/d first->next = NULL 2. Arahkan pointer p ke first 3. Bebaskan pointer p->next (Simpul Terakhir) 4. Arahkan p->next ke NULL

Latihan soal

Tuliskan Outputnya!

Tuliskan Outputnya!

selesai oktober-2014