Single Linked List. Single Linked List

dokumen-dokumen yang mirip
Double Linked List. Double Linked List

Gambar 17.1Representasi Sebuah Node di Double Linked List. Gambar 17.2 Double Linked List

Double Linked List mempunyai reference front untuk menandai awal node dan reference back untuk menandai akhir list

Gambar 1. Single Linked List

Gambar 1. Single Linked List

Gambar 1. Single Linked List

Gambar 1. Single Linked List

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

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

05. Double Linked List

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

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

BAB IX LINKED LIST (SENARAI BERANTAI)

ALGORITMA & PEMROGRAMAN

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

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

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

MODUL 6 SINGLE & DOUBLE LINKED LIST

Algoritma dan Struktur Data

BAB IX LINKED LIST (SENARAI BERANTAI)

LAPORAN PRAKTIKUM IX. Oleh:

List: Pokok Bahasan dan TIK

Single Linked List (1)

Linked List dan Implementasinya dalam Bahasa Java

Struktur Data dan Algoritma

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

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

04. Single Linked List

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

SENARAI BERANTAI (LINK LIST)

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

LIST. Dewi Sartika, M.Kom

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

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

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

KUM 3 IMPLEMENTASI LIST

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 29 Juni 2015

Review : Sifat Implementasi Linear List dengan Array

BAB 2 LANDASAN TEORI

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

Praktikum Algoritma dan Struktur Data

DIG1G3 Implementasi Struktur Data

Linked List. Bandung 2013

KUM 5 IMPLEMENTASI QUEUE

KONSEP POINTER DAN LINKED LIST

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 27 Juni 2016

Struktur Data II. Bekerja Dengan Form.

STRUKTUR DATA. Literatur

DOUBLY LINKED LIST PROGRAM : DOUBLY LINKED LIST (TAMBAH SIMPUL DI BELAKANG)

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

4 LINKED LIST. 4.1 Istilah-istilah 1. Simpul Simpul terdiri dari dua bagian, yaitu : Bagian data Bagian pointer yang menunjuk ke simpul berikutnya.

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

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

LOGO STRUKTUR DATA QUEUE

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

Algoritma dan Struktur Data. Linked List

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

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

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

KONSEP POINTER DAN LINKED LIST

STRUKTUR DATA (2) Single Linked List

BAB II Senarai Berantai (Linked List)

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

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

BAB II STACK Atau TUMPUKAN

KERUGIAN DAN KEUNTUNGAN LINKED LIST

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

QUEUE (ANTRIAN) Struktur Data - Queue

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

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

Algoritma Pemrograman & Struktur Data

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

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

Praktikum 5. Antrian (Queue)

Lab. Teknik Informatika Struktur Data 1

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

Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

APPENDIX. INDEX/MAIN INTERFACE CODE <index.php> TEST DRIVE CODE <readaiml.php>

Algoritma dan Struktur Data. Ramos Somya

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

SINGLE LINKED LIST (NON CIRCULAR)

13/12/2013. Binary Tree. Contoh Tree

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

Struktur Data. Queue (Antrian)

ALGORITMA DAN STRUKTUR DATA

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Algoritma Pemrograman & Struktur Data

Transkripsi:

Single Linked List Single Linked List Single linked list atau linked list Tiap elemen terdiri dari dua bagian, yaitu sebuah data dan sebuah pointer/link yang disebut dengan link next. 1

Single Linked List Linked list terpencar-pencar di memori Link dari elemen ke elemen berarti sebagai penjamin bahwa semua elemen dapat diakses. Single Linked List Single Linked List tidak bisa diakses secara langsung. Dapat diakses secara sequential dengan mengakses maju satu persatu node. 2

Pembuatan Single Linked List Sebuah node pada linked list mempunyai dua instance variabel : nodevalue dengan tipe generics T. next dengan tipe Node yang merupakan link ke node berikutnya. Pembuatan Single Linked List Class Node Class Node memiliki dua constructor yaitu: Default constructor : menginisialisasi variabel nodevalue dan next dengan null Constructor dengan parameter : memberikan nilai pada variabel nodevalue dan memberikan nilai pada variabel next dengan null. 3

Pembuatan Single Linked List Class Node public class Node<T> { // variabel node untuk menyimpan data public T nodevalue; // link node untuk menghubungkan ke node berikutnya public Node<T> next; // default constructor public Node() { nodevalue = null; next = null; Pembuatan Single Linked List Class Node // menginisialisasi nodevalue dengan item //dan memberikan nilai next dengan null public Node(T item) { nodevalue = item; next = null; 4

Pembuatan Single Linked List Memerlukan variabel reference front untuk menandai node pertama pada list. Pada saat kita di node pertama, maka kita dapat menggunakan variabel next untuk menghubungkan dengan node ke dua, node ke tiga dan node berikutnya. Membuat Node Node<String> q = new Node<String>(); q nodevalue next 5

Membuat Node Node<String> p = new Node<String>( ); Node<String> q = p ; p q nodevalue next p Cara Mengakses Node q nodevalue next Node<String> p = new Node<String>() p.nodevalue () p.next (null) q = p q q.nodevalue () q.next (null) 6

Node<String> front, p, q; p = new Node<String>( "); q = new Node<String>( hijau"); Contoh hijau p q p.next = q; front = p; Contoh front hijau p q 7

Pembuatan Single Linked List Jika linked list kosong, maka front bernilai null. Menambahkan Node di Depan List Node<String> newnode = new Node<String>( kuning ); newnode.next = front; front = newnode; front kuning hijau newnode 8

Membaca Linked List [kuning,,hijau ] Node<T> curr = front; String str = "[" + curr.nodevalue; while(curr.next!= null) { curr = curr.next; str += ", " + curr.nodevalue; str += "]"; front curr kuning hijau Menambah Node di Akhir List Node<T> curr = front ; while(curr.next!= null){ curr = curr.next ; curr.next = newnode ; front curr hijau kuning newnode 9

Menyisipkan Node di Linked List Untuk menyisipkan node baru sebelum node yang diacu oleh curr, maka perlu menandai node sebelum curr yaitu node prev karena node baru tersebut diletakkan setelah node prev dan sebelum node curr. Menyisipkan Node di Linked List Membuat node baru (newnode) dengan value item. Menghubungkan newnode pada list yang memerlukan perubahan nilai pada newnode.next dan prev.next. 10

Menyisipkan Node di Linked List Node curr, prev, newnode; // membuat node baru dan memberikan nilai newnode = new Node(item); // update link newnode.next = curr; // step 1 prev.next = newnode; // step 2 curr = front ; while (curr!= null &&!founditem) { if (target.nodevalue.equals(curr.nodevalue)) { // menambah di tengah prev.next = newnode; newnode.next = curr ; founditem = true; else { false // advance curr and prev prev = curr; curr = curr.next; true Menyisipkan sebelum target.nodevalue = kuning front prev curr hijau kuning coklat newnode ungu 11

curr = front ; while (curr!= null &&!founditem) { if (target.nodevalue.equals(curr.nodevalue)) { // menambah di tengah prev.next = newnode; newnode.next = curr ; founditem = true; else { false // advance curr and prev prev = curr; curr = curr.next; true Menyisipkan sebelum target.nodevalue = kuning front prev curr hijau kuning coklat null newnode ungu null Menghapus Node di Akhir List curr = front; while (curr.next!= null) { prev = curr; curr = curr.next; prev.next = null; false curr = null; front true curr hijau kuning prev 12

Menghapus Node Menghapus node pada posisi curr juga memerlukan pengaksesan ke node sebelumnya yang ditunjuk oleh prev. Ubah link dari prex.next menuju curr.next Menghapus Node Sesuai Target Node curr, prev; // reconnect prev to curr.next prev.next = curr.next; 13

curr = Null; 6/11/2013 Menghapus Node Sesuai Target curr = front; while (!curr.valuenode.equals(target.valuenode) && curr.next!= null){ prev = curr; curr = curr.next; prev.next = curr.next; curr.next = null; curr = null; front curr Target.nodeValue = hijau hijau kuning prev 14