Algoritma Struktur Data

dokumen-dokumen yang mirip
STRUKTUR DATA. Literatur

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Fakultas Teknologi Informasi

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

28/09/2013. Pemrograman I. By : Sri Rezeki Candra Nursari SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

KKKF33110 STRUKTUR DATA

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

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

SATUAN ACARA PENGAJARAN

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB IX LINKED LIST (SENARAI BERANTAI)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

MODUL 6 SINGLE & DOUBLE LINKED LIST

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

BAB IX LINKED LIST (SENARAI BERANTAI)

LAPORAN PRAKTIKUM IX. Oleh:

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

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PEMBELAJARAN SEMESTER

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SINGLE LINKED LIST (NON CIRCULAR)

(3) BAHAN KAJIAN (materi ajar)

Lab. Teknik Informatika Struktur Data 1

RENCANA PEMBELAJARAN SEMESTER

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

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

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

LIST. Dewi Sartika, M.Kom

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Linked List 6.3 & 7.3 NESTED LOOP

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Sub Pokok Bahasan dan Sasaran Belajar

STRUKTUR DATA (2) Single Linked List

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

RENCANA PROGRAM KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Review : Sifat Implementasi Linear List dengan Array

BUANA. Distribusi 01 September 2017

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

KONSEP POINTER DAN LINKED LIST

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

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

Data Structure STRUKTUR DATA QUEUE. Chapter 3. Dahlia Widhyaestoeti, S.Kom

for (Awal; Akhir; Peningkatan) Perintah

Buku Ajar Struktur Data

=il= ''#i&kwi. ' "*-ttt-{ut%:* lj %"q:dlrulrfi iil fl RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA DISUSUN OLEH:

Praktikum Algoritma dan Struktur Data

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

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

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

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

Algoritma dan Struktur Data. Pertemuan 7 Linked List

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

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

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

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

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

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB II Senarai Berantai (Linked List)

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

Pohon dan Pohon Biner

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

A. TUJUAN PEMBELAJARAN

Penerapan Pohon Dalam Heap Sort

KONSEP POINTER DAN LINKED LIST

Algoritma dan Struktur Data

ALGORITMA DAN STRUKTUR DATA

Single Linked List (1)

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

PENCARIAN KITAB BESERTA PASAL PADA ALKITAB BERDASARKAN KATA DENGAN MENGGUNAKAN STRUKTUR DATA TRIE

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

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

Struktur Data. PDE - Struktur Data 1

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

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

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

: Algoritma dan Pemrograman I Modul Praktikum ke : 09

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

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

Algoritma Pemrograman & Struktur Data

STRUKTUR DATA single linked list non circular

Heap Tree dan Kegunaannya dalam Heap Sort

RENCANA PEMBELAJARAN

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

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

Transkripsi:

By Sri Rezeki Candra Nursari 3 sks Algoritma Struktur Data

Materi Pengantar Struktur Data Abstract Data Type (ADT) Rekursif : Fibonacci Sorting (Selection, Insertion, Bubble, Shell, Merge, Quick) Struktur Data Linier (Linked List, Stack, Queu) Struktur Data Hirarki (Tree, Graph, Hash Tables) Search (Sequential, Fibonacci, Interpolation, Binary)

ALGORITMA STRUKTUR DATA - 3 sks Literatur : 1 HM Deitel, PJ Deitel, Small Java How to Program-sixth Edition, Pearson Prentice Hall, 2005 2 Elliot B Koffman, Paul AT Wolfgang, Objects, Abstraction, Data Structures and Design Using Java, John Wiley & SonsInc, 2005 3 Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley, 1999 4 MohSjukani, Algoritma & Struktur Data dengan C, C++ dan Java, Mitra Wacana Media, Agustus 2005 5 Andri Kristanto, Struktur Data dengan C, Graha Ilmu, 2003 6 Bambang Wahyudi, Pengantar Struktur Data dan Algoritma, Andi, 2004 7 Ema Utami, Struktur Data, Graha Ilmu, 2007 8 Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta, 2001 9 Wirth, Niklaus, Algorithmic + Data Structures Programs, Prentice-Hall, 1976 10 Thompson Susabda Ngoen, Algoritma dan Struktur Data Bahasa C, Mitra Wacana Media, 2009

Linked List Linked List (List Berkait) biasa juga disebut list List termasuk kedalam himpuan dinamik, tetapi berbeda dengan stack dan queue Pada ada peraturan : Penyisipan elemen Diawal Ditengah Diakhir Penghapusan elemen Diawal Ditengah Diakhir

Linked List List digunakan untuk menyimpan sekumpulan data yang bertipe sama (berupa: bilangan, string) Jumlah elemen list tidak terbatas, tetapi secara fisik hanya dibatasi oleh jumlah memori yang tersedia Sebuah list akan mempunyau 2 bagian, yaitu bagian: Head (Kepala) Yang terutama digunakan untuk menyimpan lamat elemen pertama atau elemen terakhir sebuah list Badan List yang berisi kumpulan elemen list

Linked List Linked list merupakan Array Dinamis Variabel bertipe Array merupakan suatu tipe data yang bersifat statis dimana ukuran dan urutannya sudah pasti Selain itu ruang memori yang dipakai olehnya tidak dapat dihapus bila variabel bertipe array tersebut sudah tidak digunakan lagi pada saat program dijalankan

Linked List Linked list adalah sejumlah obyek yang di link atau dihubungkan satu dengan yang lainnya sehingga membentuk suatu list Obyek adalah merupakan gabungan beberapa elemen data (variabel) yang dijadikan satu kelompok atau structureatau recordyang dibentuk dengan perintah struct Tiap-tiap elemen dapat memiliki tipe data tersendiri yang berbeda dengan tipe data lemen lain Untuk menghubungkan obyek satu dengan obyek lainnya, diperlukan paling tidak sebuah variabel yang bertipe pointer Variabel pointer tersebut merupakan salah satu variabel dalam struktur obyek

Linked List Struktur Linked List terbagi menjadi 4 macam, yaitu : 1 Linear Single Linked List 2 Linear Double Linked List 3 Circular Single Linked List 4 Circular Double Linked List

1 Linear Single Linked List Merupakan linked list lurus dengan pointer tunggal Dalam struktur simpul hanya ada satu elemen/field/variabel yang bertipe pointer yang isinya adalah alamat sim[ul berikutnya atau next node

1 Linear Single Linked List LAST INFO FIRST LINK INFO LINK INFO LINK INFO LINK 22 28 66 63 Ada 4 simpul no (1) sd (4) Setiap simpul (record) terdiri dari dua elemen (field) Field INFO bertipe integer untuk menyimpan nilai 22 Field LINK bertipe pointer untuk menyimpan alamat simpul Simpul pertama no (1) ditunjuk oleh pointer FIRST Smpul terakhir no (4) ditunjuk oleh pointer LAST

1 Linear Single Linked List LAST INFO FIRST LINK INFO LINK INFO LINK INFO LINK 22 28 66 63 Prosesnya 1 Inisialisasi, yaitu persiapan pembuatan Linked List 2 Membuat simpul awal 3 Membuat simpul baru 4 Menambahkannya (Insert) kedalam linked list

1 Linear Single Linked List Prosesnya 1 Inisialisasi, yaitu persiapan pembuatan Linked List

1 Linear Single Linked List Prosesnya 2 Membuat simpul awal

1 Linear Single Linked List Prosesnya 3 Membuat simpul Baru

1 Linear Single Linked List Prosesnya 4 Menambahkannya (Insert) kedalam linked list

Contoh : Linear Single Linked List (versi 1)

Contoh : Linear Single Linked List (versi 1)

Contoh : Linear Single Linked List (versi 1)

Contoh : Linear Single Linked List (versi 2)

Contoh : Linear Single Linked List (versi 2)

Contoh : Linear Single Linked List (versi 2)

2 Linear Double Linked List LEFT INFO RIGHT prev A next head tail

2 Linear Double Linked List FIRST LEFT INFO RIGHT LEFT INFO RIGHT LEFT INFO RIGHT LAST LEFT INFO RIGHT 22 28 63 66 Linear Double Linked List adalah doubly linked list lurus dengan pointer ganda, yaitu ada dua buah pointer Jadi dalam struktur simpul ada dua elemen/field/variabel yang bertipe pointer Yang pertama menunjuk atau berisi alamat simpul sebelumnya atau perivious node, dan yang kedua menunjuk simpul berikutnya atau next node

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 1 Inisialisasi linked list 2 Pembuatan sebuah simpul 3 Pembuatan simpul awal 4 Melakukan insert kanan / sisip elemen terakhir 5 Melakukan insert kiri / sisip elemen awal 6 Melakukan insert tengah / sisip elemen tengah 7 Melakukan delete kanan / hapus elemen akhir 8 Melakukan delete kiri / hapus elemen awal 9 Melakukan delete tengah / hapus elemen tengah

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 1 Inisialisasi linked list 2 Pembuatan sebuah simpul

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 3 Pembuatan simpul awal 4 Melakukan insert kanan / sisip elemen terakhir

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 5 Melakukan insert kiri / sisip elemen awal 6 Melakukan insert tengah / sisip elemen tengah

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 7 Melakukan delete kanan / hapus elemen akhir 8 Melakukan delete kiri / hapus elemen awal

2 Linear Double Linked List Proses DLLL (Double Linked List Linear), adalah 7 Melakukan delete tengah / hapus elemen tengah

3 Circular Single Linked List LAST INFO FIRST LINK INFO LINK INFO LINK INFO LINK 22 28 66 63

3 Circular Single Linked List LAST INFO FIRST LINK INFO LINK INFO LINK INFO LINK 22 28 66 63 Circular Single Linked List adalah Single List List dimana link simpul terakhir bukan diisi dengan null, melainkan diisi dengan alamat simpul pertama yaitu simpul yang ditunjuk oleh pointer FIRST, sehingga menciptakan efek melingkar sesuai arah jarum jam

3 Circular Single Linked List Proses SLLC (Single Linked List Circular), adalah 1 Pembuatan sebuah simpul 2 Pembuatan simpul awal 3 Melakukan insert kanan / sisip elemen terakhir 4 Melakukan insert kiri / sisip elemen awal 5 Melakukan insert tengah / sisip elemen tengah 6 Melakukan delete kanan / hapus elemen akhir 7 Melakukan delete kiri / hapus elemen awal 8 Melakukan delete tengah / hapus elemen tengah

3 Circular Single Linked List Proses SLLC (Single Linked List Circular), adalah 1 Pembuatan sebuah simpul 2 Pembuatan simpul awal

3 Circular Single Linked List Proses SLLC (Single Linked List Circular), adalah 3 Melakukan insert kanan / sisip elemen terakhir 4 Melakukan insert kiri / sisip elemen awal

3 Circular Single Linked List Proses SLLC (Single Linked List Circular), adalah 5 Melakukan insert tengah / sisip elemen tengah 6 Melakukan delete kanan / hapus elemen akhir

3 Circular Single Linked List Proses SLLC (Single Linked List Circular), adalah 7 Melakukan delete kiri / hapus elemen awal 8 Melakukan delete tengah / hapus elemen tengah,,,,

4 Circular Double Linked List LEFT INFO RIGHT prev A next head tail

4 Circular Double Linked List FIRST LEFT INFO RIGHT LEFT INFO RIGHT LEFT INFO RIGHT LAST LEFT INFO RIGHT 22 28 63 66 Circular Double Linked List adalah doubly linked list dimana pointer RIGHT simpul paling kanan berisi alamat simpul paling kiri, dan pointer LEFT simpul paling kiri berisi alamat simpul paling kanan, sehingga menciptakan efek melingkar baik menurut arah jarum jam maupun arah kebalikannya

4 Circular Double Linked List Double Linked List Circular adalah linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field/elemen, yaitu 1 field pointer yang menunjuk pointer berikutnya (next/right), 1 field menunjuk pointer sebelumnya (prev/left), serta sebuah field yang berisi data untuk node tersebut Double Linked List Circular pointer next dan prev nya menunjuk ke dirinya sendiri secara circular

4 Circular Double Linked List Pengertian Double Linked List Circular Double: artinya field pointernya terdiri dari dua buah dan dua arah, yaitu prev/left dan next/righ Linked List: artinya node-node tersebut salin terhubung satu sama lain Circular: artinya pointer next dan prev-nya menunjuk ke dirinya sendiri

4 Circular Double Linked List Node Setiap node pada linked list mempunyai field yang berisi data dan pointer ke node berikutnya dan ke node sebelumnya Untuk pembentukan node baru, mulanya pointer next/right dan prev/left akan menunjuk ke dirinya sendiri Jika sudah lebih dari satu node, maka pointer prev/left akan menunjuk ke node sebelumnya, dan pointer next/right akan menunjuk ke node sesudahnya

4 Circular Double Linked List Head Dibutuhkan satu buah variabel pointer : head Head akan selalu menunjuk pada node pertama

4 Circular Double Linked List Fungsi untuk mengetahui kosong tidaknya DLLC (Double Linked List Circular) Penamahan elemen/data didepan/diawal Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan pada head nya Pada prinsipnya adalah mengkaitkan data baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan Untuk menghubungkan node terakhir dengan node terdepan dibutuhkan pointer bantu

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 1 Pembuatan sebuah simpul 2 Pembuatan simpul awalb (simpulyang sudah dibuat, dijadikan sebagai simpul awal) 3 Melakukan insert kanan / sisip elemen terakhir 4 Melakukan insert kiri / sisip elemen awal 5 Melakukan insert tengah / sisip elemen tengah 6 Melakukan delete kiri / hapus elemen awal 7 Melakukan delete kanan / hapus elemen akhir

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 1 Pembuatan sebuah simpul

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 2 Pembuatan simpul awalb (simpulyang sudah dibuat, dijadikan sebagai simpul awal)

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 3 Melakukan insert kanan / sisip elemen terakhir

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 4 Melakukan insert kiri / sisip elemen awal

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 5 Melakukan insert tengah / sisip elemen tengah

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 6 Melakukan delete kiri / hapus elemen awal

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 7 Melakukan delete kanan / hapus elemen akhir

4 Circular Double Linked List Proses DLLC (Double Linked List Circular), adalah 8 Melakukan delete tengah / hapus elemen Tengah