ALGORITMA & PEMROGRAMAN

dokumen-dokumen yang mirip
Linked List. Bandung 2013

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

LOGO STRUKTUR DATA QUEUE

QUEUE (ANTRIAN) Struktur Data - Queue

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

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

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

BAB IX LINKED LIST (SENARAI BERANTAI)

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

SENARAI BERANTAI (LINK LIST)

KERUGIAN DAN KEUNTUNGAN LINKED LIST

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

SINGLE LINKED LIST (NON CIRCULAR)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

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

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

KONSEP POINTER DAN LINKED LIST

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

Algoritma dan Pemrograman Searching/Pencarian

BAB IX LINKED LIST (SENARAI BERANTAI)

Lab. Teknik Informatika Struktur Data 1

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

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

KONSEP POINTER DAN LINKED LIST

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

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

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

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

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

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

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Struktur Data. Queue (Antrian)

Array VS Linked List

Algoritma dan Struktur Data. Pertemuan 7 Linked List

STRUKTUR DATA single linked list non circular

STRUKTUR DATA (2) Single Linked List

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

BAB XI Manipulasi Binary Tree

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

Searching [pencarian] Algoritma Pemrograman

Single Linked List (1)

BAB VII SENARAI BERANTAI (List)

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

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

BAB VIII Pencarian(Searching)

LIST LINIER 1. DEFINISI

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

Struktur Data II. Single Linked List - Non circular

IKG2A3/ Pemrograman Terstruktur 2

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

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Representasi Logic List Linier

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

Bagian I. Studi Kasus [82] Tanda tangan:

MODUL 6 SINGLE & DOUBLE LINKED LIST

ALGORITMA DAN STRUKTUR DATA

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

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

Review : Sifat Implementasi Linear List dengan Array

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

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

BAB II Senarai Berantai (Linked List)

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Pointer. Pengertian. Struktur Data Pascal

Algoritma dan Struktur Data. Linked List

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

4. STACK / TUMPUKAN TEORI PENUNJANG

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier

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

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

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

Single Linked List. Single Linked List

LIST. Dewi Sartika, M.Kom

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.

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

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

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

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

BAB 1 PENGANTAR KE STRUKTUR DATA

MODUL PRAKTIKUM STRUKTUR DATA

Algoritma Pemrograman & Struktur Data

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

STRUKTUR DATA. Literatur

Variasi List Linier (Bagian 2)

6. TREE / BINARY TREE

Transkripsi:

ALGORITMA & PEMROGRAMAN Oleh: Tim Algoritma & Pemrograman IF Linked List

PENGERTIAN LINKED LIST Salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan tidak terbatas. Linked List sering disebut juga Senarai Berantai Linked List saling terhubung dengan bantuan variabel pointer Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa record

Array vs Linked List

Bentuk Linked List Single Linked List Double Linked List Circular Linked List

Single Linked List Linked list dengan simpul berisi satu link / pointer yang mengacu ke simpul berikutnya. Simpul Single Linked List : Medan Data (Info) Medan Sambungan (next)

Deklarasi Linked List Type nama_pointer = Simpul Simpul = Record medan_data : tipedata, medan_sambungan : Namapointer EndRecord nama_var_pointer : nama_pointer

Contoh Deklarasi Linked List Type Point = Data Data = Record Info : char, Next : Point Endrecord, : Point

Operasi operasi Single Linked List 1. Penciptaan (create) 2. Penyisipan 3. Penghapusan 4. Traversal 5. Pencarian (Searching) 6. Pengurutan (Sorting) 7. Penghancuran (destroy)

Penciptaan Pointer dan diberi harga nil.

Penyisipan di Depan - List kosong { = nil} baru baru 1 baru 1

Penyisipan di Depan (lanjutan) - List tidak kosong {Awal Nil} 2 3 baru 1

Penyisipan di Depan (lanjutan) 2 3 baru 1

Penyisipan di Depan (lanjutan) 2 3 baru 1

Penyisipan di Depan (lanjutan) baru 1 2 3

Algoritma Penyisipan di Depan Procedure SisipDepanSingle(Input elemen : tipedata, I/O, : nama_pointer) {I.S. : data yang akan disisipkan (elemen), pointer penunjuk dan pointer penunjuk sudah terdifinisi} {F.S. : menghasilkan satu simpul yang disisipkan di depan pada single linked list} Kamus : baru : nama_pointer Algoritma : Alloc(baru) baru.info elemen If ( = nil) Then baru.next nil baru Else baru.next EndIf baru EndProcedure

Penyisipan di Belakang - List kosong { = nil} {sama seperti pada penyisipan di depan} - List tidak kosong { Nil} 3 2 baru 1

Penyisipan di Belakang (lanjutan) 3 2 baru 1

Penyisipan di Belakang (lanjutan) 3 2 baru 1

Penyisipan di Belakang (lanjutan) 3 2 1 baru

Algoritma Penyisipan di Belakang Procedure SisipBelakangSingle(Input elemen : tipedata, I/O, : nama_pointer) {I.S. : data yang akan disisipkan (elemen), pointer penunjuk dan pointer penunjuk sudah terdifinisi} {F.S. : menghasilkan satu simpul yang disisipkan di belakang pada single linked list} Kamus : baru : nama_pointer Algoritma : Alloc(baru) baru.info elemen baru.next nil If ( = nil) Then baru Else.next baru EndIf baru EndProcedure

Penyisipan di Tengah - List kosong { = nil} {sama seperti pada penyisipan di depan} - List tidak kosong {Awal Nil} 3 4 2 5 baru 1 Misal akan menyisipkan angka 1 setelah angka 4

Penyisipan di Tengah (lanjutan) Angka 4 ditemukan dengan cara mencari mulai dari simpul pertama sampai angka 4 ditemukan (metode sequential search) bantu 3 4 2 5 baru 1

Penyisipan di Tengah (lanjutan) 3 4 bantu 2 5 baru 1

Penyisipan di Tengah (lanjutan) bantu 3 4 1 2 5 baru

Algoritma Penyisipan di Tengah Procedure SisipTengahSingle(Input elemen : tipedata, I/O, : nama_pointer) {I.S. : data yang akan disisipkan (elemen), pointer penunjuk dan pointer penunjuk sudah terdifinisi} {F.S. : menghasilkan satu simpul yang disisipkan di tengah pada single linked list} Kamus : baru,bantu : nama_pointer ketemu : boolean datasisip : tipedata Algoritma : If ( = nil) Then Alloc(baru) baru.info elemen baru.next nil

Algoritma Penyisipan di Tengah (lanjutan) Else baru baru Input(datasisip) bantu ketemu false While (not ketemu and bantu nil) do If (datasisip = bantu.info) Then ketemu true Else bantu bantu.next EndIf EndWhile

Algoritma Penyisipan di Tengah (lanjutan) If (ketemu) Then Alloc(baru) baru.info elemen If (bantu = ) Then sisip_belakang_single(elemen,,) Else baru.next bantu.next bantu.next baru EndIf Else Output( Data yang akan disisipkan tidak ada ); EndIf EndIf EndProcedure

Penghapusan di Depan - Satu Simpul { = } 1

Penghapusan di Depan (lanjutan) phapus 1 elemen phapus 1

Penghapusan di Depan (lanjutan) - Lebih dari satu simpul { } 2 3

Penghapusan di Depan (lanjutan) phapus 2 3 elemen phapus 2 3

Penghapusan di Depan (lanjutan) 3

Algoritma Penghapusan di Depan Procedure HapusDepanSingle(Output elemen : tipedata, I/O, : nama_pointer) {I.S. : pointer penunjuk dan pointer penunjuk sudah terdifinisi} {F.S. : menghasilkan single linked list yang sudah dihapus satu simpul di depan} Kamus : phapus : nama_pointer Algoritma : phapus elemen baru.info If ( = ) Then nil nil

Algoritma Penghapusan di Depan Else.next EndIf Dealloc(phapus) EndProcedure

Penghapusan di Belakang - Satu Simpul { = } {sama seperti penghapusan di depan} - Lebih dari satu simpul { } 2 3

Penghapusan di Belakang (lanjutan) phapus 2 3 elemen phapus 2 3

Penghapusan di Belakang (lanjutan) 2 3 phapus 2

Algoritma Penghapusan di Belakang Procedure HapusBelakangSingle(Output elemen : tipedata, I/O, : nama_pointer) {I.S. : pointer penunjuk dan pointer penunjuk sudah terdifinisi} {F.S. : menghasilkan single linked list yang sudah dihapus satu simpul di belakang} Kamus : phapus : nama_pointer Algoritma : phapus elemen baru.info If ( = ) Then nil nil

Algoritma Penghapusan di Belakang Else while (phapus.next ) do phapus phapus.next endwhile phapus phapus phapus.next.next NULL EndIf Dealloc(phapus) EndProcedure

Penghapusan di Tengah - Satu Simpul { = } {sama seperti penghapusan di depan} - Lebih dari satu simpul { } 3 4 2 5 Misalkan simpul yang akan dihapus simpul ke 2

Penghapusan di Tengah (lanjutan) posisihapus=3 phapus 3 4 2 5 bantu posisihapus=3 phapus 3 4 2 5 elemen

Penghapusan di Tengah (lanjutan) bantu posisihapus=3 phapus 3 4 2 5 bantu posisihapus=3 phapus 3 4 2 5

Penghapusan di Tengah (lanjutan) 3 4 5

Algoritma Penghapusan di Tengah Tugas buat algoritma dan programnya!