9 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) OLEH :

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.
bentuknya, yang dapat berubah pada saat runtime.
LINKED LIST.
Mata Kuliah : Struktur Data Pertemuan : V
LINKED LIST Single Linked List.
LINKED LIST.
LINK LIST Latifah Rifani.
Algoritma dan Struktur Data Daniel Riano Kaparang.
SENARAI BERANTAI TUNGGAL
Queue.
STACK.
STRUKTUR DATA (6) single linked list non circular
Algoritma & Struktur Data Linked List Evangs Mailoa.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
Algoritma dan Struktur Data
Pertemuan ketujuh Struktur data st3telkom.ac.id
Linear List.
Struktur Data List Linear : Linked List (Single Linkedlist)
LINKED LIST.
Struktur Data (Data Structure) – IS 2313
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
1 Pertemuan 3 Data Komposit Linked list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
BAB 5 LINKED LIST Linked list adalah struktur berupa rangkaian elemen saling berkait dimana tiap elemen dihubungkan ke elemen lain melalui pointer. Keterhubungan.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
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.
STRUKTUR DATA Linked List
Tim struktur data IF UNIKOM
8. Singly Linear Linked List
Single Linked List.
Tim struktur data IF UNIKOM
Algoritma dan Struktur Data
Program Studi Teknik Informatika
Program Studi Teknik Informatika
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Double Linked List.
Program Studi Teknik Informatika
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
Linked List.
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Double Linked List.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
STRUKTUR DATA (7) single linked list circular
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
TK33207 PRAKTIKUM APLIKASI IT III 2 SKS (2X45 MENIT)
Tim struktur data IF UNIKOM
Single Linked List Circular (SLLC)
IMPLEMENTASI LINKED LISTMENGGUNAKAN ARRAY
STRUKTUR DATA (8.2) double linked list circular
Double Linked List.
STRUKTUR DATA LINKED LIST
Tim struktur data IF UNIKOM
Defri Kurniawan VARIASI LIST Defri Kurniawan
TK33207 PRAKTIKUM APLIKASI IT III 2 SKS (2X45 MENIT)
Tim struktur data IF UNIKOM
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
Variable Static & Linked List
Kode MK/ Pemrograman Terstruktur 2
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
SINGLE LINKED LIST (SLL)
Transcript presentasi:

9 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) OLEH : FASILKOM UMNIY SALAMAH ST., MMSI Teknik Informatika

Bagian Isi DEFINISI REKURSIF DEFINISI DOUBLE LINKED LIST FUNGSI SETHEAD_D() FUNGSI SETAIL_D() FUNGSI INSERT_D() DELETE (HEADER, TAIL, INLIST) LATIHAN

REKURSIF DAN LINKED LIST 2 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) PERTEMUAN 7

PENDAHULUAN Rekursi adalah suatu proses dari fungsi yang memanggil dirinya sendiri. Fungsi yang seperti ini disebut fungsi rekursif (recursive function). Double linked list mempunyai dua pointer yang menunjuk ke node berikutnya dan sebelumnya.

DEFINISI REKURSIF Rekursi adalah suatu proses dari fungsi yang memanggil dirinya sendiri. Fungsi yang seperti ini disebut fungsi rekursif (recursive function). Dalam sebuah fungsi rekursif pemanggilan dapat terjadi berulang kali. Karena ada proses yang berulang-ulang maka harus ada suatu kondisi yang mengakhiri prosesnya. Jika tidak, maka proses tidak akan pernah berhenti sampai memori yang digunakan tidak dapat menampung lagi.

DEFINISI DOUBLE LINKED LIST Double linked list mempunyai dua pointer yang menunjuk ke node berikutnya dan sebelumnya, disebut juga dengan istilah : next pointer dan previous poniter satu node untuk double linked list dapat digambarkan seperti :

DOUBLE LINKED LIST terdapat tiga urutan node di atas, yaitu node(i-1), node(i), dan node (i+1), node tersebut kita umpamakan sebagai posisi dari suatu urutan list yang panjang dari 1 s/d n. Jadi i adalah posisi tertentu yang kita pilih secara acak. Node (i) sebagai patokan. Pointer next menunjuk ke node berikutnya, yaitu node(i+1) dan pointer previous menunjuk kesebelumnya, yaitu node (i-1).

DOUBLE LINKED LIST Tidak ada lagi node yang ditunjuk pointer previous di head atau node pertama dari double linked list ini. Akan tetapi pointer harus mendapatkan address (alamat) agar definisi kita untuk node tersebut dapat dipenuhi. Kita dapat memberi nilai dengan konstanta NIL di C karena pointer prevoius menunjuk ke node yang tidak ada. Begitu pula dengan tail atau node yang terakhir, pointer next di node yang terakhir harus diberi nilai NIL.

FUNGSI SETHEAD_D() Fungsi sethead_d() adalah membuat double linked list baru jika belum ada linked list sama sekali dengan menggunakan data yang baru atau menyisipkan data yang baru ke awal list yang telah ada.   Kasus 1: Buat double linked list yang baru seperti skesta di bawah ini : Node sebelum mempunyai nilai pointer

FUNGSI SETHEAD_D( ) Sebuah double linked list, minimal harus mempunyai dua node pembantu, yaitu head dan tail sebagai identifikasi bahwa list itu ada awal dan akhirnya. Double linked list yang baru mempunyai satu node, artinya data head dan data tail adalah sama. Periksa head dari list untuk mengetahui bahwa pada double linked list belum ada node. Nilai head = NIL, artinya list masih kosong. NIL adalah konstanta yang dipakai pada C untuk menyatakan bahwa recordnya maih kosong.

ALGORITMA SETHEAD_D( ) Mendeklarasi struktur record list Deklarasi variable namenode Deklarasi variable untuk node dengan actualnode. Mengalokasi memori untuk record list Cek apakah sudah ada list ? Jika belum ada, maka initialisasi head dengan ; Namehead = namenode. Pointer next head = NIL Pointer prev head = NIL Tail = head Jika sudah ada, maka Pointer next node actual = head Pointer prev node actual = NIL Pointer prev = node actual Namaactualnode = node actual Head = actualnode

FUNGSI SETAIL_D( ) Fungsi settail_d adalah menyisipkan data yang baru ke akhir list yang telah ada, seperti dibawah ini :

ARRAY MULTIDIMENSI (2 DIMENSI) Node setelah pointer dimanipulasi dan tail = act Tail = act Langkah awal yang dilakukan adalah pointer tail “tail->next” yang sebelumnya mempunyai nilai NIL. mendapatkan nilai adrress dari record yang baru yaitu node dengan nama act. Karena kita akan menjadikan node act menjadi tail, maka pointernya act -> next harus diberi nilai NIL dan menunjuk ke node kosong, sedangkan pointer act->prev menunjuk ke tail

ARRAY MULTIDIMENSI (2 DIMENSI) Untuk mempermudah memahaminya, kita tuliskan dalam bentuk tabel berikut :

FUNGSI INSERT_D( ) Fungsi insert_d adalah menyisipkan node yang baru di antara 2 node yang telah ada di suatu double linked list. Mirip dengan tehnik yang pakai di single linked list. Hal yang perlu diperhatikan adalah sekarang kita harus memperhatikan 2 pointer . prinsip kerjanya dapat digambarkan seperti di bawah ini :

FUNGSI INSERT_D( )

DELETE DOUBLE LINKED LIST Delete double linked list maksudnya menghapus suatu node dengan dua pointer, yaitu next dan prev yang terdapat di dalam double linked list . kita harus menentukan posisi node yang akan dihapus sebelum melakukan aksi ini.   Tehnik delete dengan double linked list lebih mudah dibandingkan dengan single linked list. Kita dapat menelusuri list dengan arah ke depan dan ke belakang menggunakan next dan prev, sedangkan pada single linked list hanya dapat ke depan saja. Kemungkinan posisi node yang akan kita temukan pada suatu list adalah : - Delete header - Delete tail - Delete inlist

LATIHAN Tuliskan bentuk umum untuk double linked list input belakang dan delete belakang? Jelaskan 2 contoh program yang ada di modul.

DAFTAR PUSTAKA Hartono Jogiayanto, Konsep Dasar Pemrograman Bahasa C 2009. Yogyakarta Bambang, Wirawan (2004), Struktur Data dengan C, Pernerbit Andi Jogyakarta. Kristanto, Andri (2003), Struktur Data dengan C++, Penerbit Graha Ilmu

UMNIY SALAMAH ST., MMSI