Double Linked List. © 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Double Linked List Sama seperti single linked list, double.

Slides:



Advertisements
Presentasi serupa
Dasar dasar GUI programming di Java
Advertisements

MS. POWER POINT 2007 Kelas XII Semester 2
Array.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Database Recovery Department of Computers Science Faculity Mathematics and Natural Science University of Pakuan Bogor 2011.
File Handling.
Nama PerangkatSpesifikasi Internet ProcessorPentium lll 500 Hz PAM (Random Access Memory)64 MB Harddisk10 GB VGA card4 MB MonitorTidak.
Feni Veramica Futri, S.Pd
Quick Start Secure M-401.
Double Linked List.
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
Database Create-Retrieve-Update-Delete (CRUD)
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
Review Operasi Matriks
Interface Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Oracle Developer/2000. Developer/2000 Products FormsReportsGraphics.
Functions (Fungsi) Segaf, SE.MSc. Definition “suatu hubungan dimana setiap elemen dari wilayah saling berhubungan dengan satu dan hanya satu elemen dari.
Bilqis1 Pertemuan bilqis2 Sequences and Summations Deret (urutan) dan Penjumlahan.
JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9.
STRUKTUR DATA (8.1) double linked list non circular
CRASH COURSE Koreksi dalam UpTrend Mengintip area CRASH sebagai Buy Area By. Santo Vibby By. Santo Vibby -
Menggunakan Drag-Drop
LINKED LIST.
FreeRTOS Tutorial.
Array.
Praktikum 9 Pemrograman Berbasis Obyek
1 Magister Teknik Perencanaan Universitas Tarumanagara General View On Graduate Program Urban & Real Estate Development (February 2009) Dr.-Ing. Jo Santoso.
Array
Switch. Perluasan dari bridge Arsitektur switch: – Store and forward.
Slide 1 QUIS Langkah pertama caranya Buat di slide pertama judul Slide kedua soal Slide ketiga waktu habis Slide keempat jawaban yang benar Slide kelima.
Lecture 1 Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
Linked List dan Double Linked List
TO DO!!! COBALAH Contoh program pada slide 3-18 dibawah ini, pahami dan catat/tuliskan perbedaannya. TUGAS Latihan pada slide ke 19 no 1,2,3,5, Dikerjakan.
Sprite Setiap objek dalam game yang memiliki gambar dan karakteristik.
ACCURATE MINI KASUS.
Definisi VLAN Pemisahan jaringan secara logis yang dilakukan pada switch Pada tradisional switch, dalam satu switch menunjukkan satu segmentasi LAN.
Aplikasi Manipulasi Data
LINKED LIST.
LINK LIST Latifah Rifani.
By. Rita Wiryasaputra Daftar Pustaka Panduan Membuat Aplikasi Database dengan PHP, Syafii, Yogyakarta, Andi Offset, 2005 Membangun Website Dinamis dan.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Fungsi dan Protokol Layer Aplikasi Network Fundamentals – Chapter 3.
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Structured Query Language (SQL)
Via Octaria Malau Transfer (Internal Transfers) Transfer (Transfers Internal) Select the account from which funds are to be transferred FROM and then select.
Kelas Dasar HTML Dasar SMK Al-Muhajirin Sabtu, 29 November 2014.
Red -BlackTrees Evaliata Br Sembiring.
TCP, THREE-WAY HANDSHAKE, WINDOW
Retrosintetik dan Strategi Sintesis
Person 19 || Marty Rori 1. Apa yang Buruk Tentang Menggunakan? Vairables global? 2 tidak aman!  Jika dua atau lebih programmer bekerja sama dalam program,
FISIKA DASAR By: Mohammad Faizun, S.T., M.Eng. Head of Manufacture System Laboratory Mechanical Engineering Department Universitas Islam Indonesia.
MEMBUAT DATABASE LEWAT KODE PROGRAM
Lecture 2 Introduction to C# - Object Oriented Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Slide 1 Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc.
Single Linked List.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
Linear List.
Struktur Data List Linear : Linked List (Single Linkedlist)
Struktur Data (Data Structure) – IS 2313
Binary Search Tree. Sebuah node di Binary Search Tree memiliki path yang unik dari root menurut aturan ordering – Sebuah Node, mempunyai subtree kiri.
Double Linked List.
Struktur Data Linked List
Binary Tree.
8. Singly Linear Linked List
12. Doubly Linear Linked List
11. Singly Circular Linked List
Doubel Linked List.
Doubel Linked List.
Section 10.4 The Hyperbola Copyright © 2013 Pearson Education, Inc. All rights reserved.
Transcript presentasi:

Double Linked List

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Double Linked List Sama seperti single linked list, double linked list mempunyai struktur sequential. Double Linked List terdiri dari dua reference yang menunjuk ke node selanjutnya (next node) dan node sebelumnya (previous node) Untuk bergerak maju dan mundur pada double linked list menggunakan link next dan prev pada node.

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

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Pembacaan pada Double Linked List Double Linked List dapat dibaca melalui dua arah. – Pembacaan maju (forward scan) yaitu membaca double linked list dimulai dari reference front dan berakhir pada reference back. – Pembacaan mundur (backward scan) yaitu membaca double linked list dimulai dari reference back dan berakhir pada reference front.

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Class DNode Node pada Double Linked List direpresentasikan dengan class DNode Kumpulan object DNode membentuk sebuah list disebut double linked list

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Class DNode Object DNode mempunyai tiga variabel: nodeValue untuk menyimpan nilai prev untuk menandai node sebelumnya Next untuk menandai node sesudahnya.

Constructor Class DNode Class mempunyai dua constructor. – Default constructor membuat object DNode dengan nodeValue bernilai null, sedangkan prev dan next diset dengan nilai this (link yang menunjuk ke dirinya sendiri). – Constructor dengan argumen untuk memberikan nilai pada nodeValue, sedangkan untuk variabel prev dan next diset dengan nilai this.

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Class DNode public class DNode { public T nodeValue; // data value of the node public DNode prev; // previous node in the list public DNode next; // next node in the list // default constructor; creates an object with // the value set to null and whose references // point to the node itself public DNode() { nodeValue = null; // the next node is the current node next = this; // the previous node is the current node prev = this; }

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Class DNode // creates object whose value is item and // whose references point to the node itself public DNode(T item) { nodeValue = item; // the next node is the current node next = this; // the previous node is the current node prev = this; }

Membuat Node p DNode p=new DNode (); prevnextnull p

Membuat Node q DNode q=new DNode (“merah”); prevnext merah q

Menyisipkan Node di Depan List DNode newNode = new DNode (“biru”); newNode.next = front ; front.prev = newNode ; front = newNode ; prevnext merah prevnext hijau front back prevnext biru newNode

Menyisipkan Node di Belakang List DNode newNode = new DNode (“biru”); back.next = newNode ; newNode.prev = back ; back = newNode prevnext merah prevnext hijau front back prevnext biru newNode

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Menyisipkan Node di Double Linked List Untuk menyisipkan Node diperlukan dua variabel reference yaitu: – curr : menandai node saat ini – prevNode : menandai node sebelum curr Menyisipkan node dilakukan sebelum curr dan sesudah prevNode.

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Menyisipkan Node di Double Linked List // declare the DNode reference variables newNode and prevNode DNode newNode, prevNode; // create a new node and assign prevNode to reference the // predecessor of curr newNode = new DNode (item); prevNode = curr.prev; // update reference fields in newNode newNode.prev = prevNode;// statement 1 newNode.next = curr;// statement 2 // update curr and its predecessor to point at newNode prevNode.next = newNode;// statement 3 curr.prev = newNode;// statement 4

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Menyisipkan Node di Double Linked List

newNode.prev = prevNode;// statement 1 newNode.next = curr;// statement 2 prevNode.next = newNode;// statement 3 curr.prev = newNode;// statement 4 prevnext merah prevnext hijau frontback prev kuning curr prevNode prevnext biru newNode next

Menghapus Node di Depan List Front = front.next ; Front.prev.next = null ; Front.prev = this ; prevnext merah prevnext hijau frontback prev biru next

Menghapus Node di Belakang List Back = back.prev ; back.next.prev = null ; Back.next = this ; prevnext merah prevnext hijau frontback prev biru next

Menghapus Node Sesuai Target Untuk menghapus Node diperlukan dua variabel reference yaitu: – curr : menandai node yang akan di hapus – prevNode : menandai node sebelum curr Menghapus node dilakukan di curr.

© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Deleting a Node in a Doubly Linked List (concluded) DNode prevNode = curr.prev, nextNode = curr.next; // update the reference variables in the adjacent nodes. prevNode.next = nextNode;// statement 1 nextNode.prev = prevNode;// statement 2

Menghapus Node Sesuai Target DNode prevNode = curr.prev, nextNode = curr.next; prevNode.next = nextNode; // statement 1 nextNode.prev = prevNode; // statement 2 back prevnext kuning prevnext hijau front prev merah curr prevNode next prevnext biru nextNode

Membaca Maju Double Linked List DNode curr = front ; String str = "[" + curr.nodeValue; while(curr.next != this) {curr = curr.next; str += ", " + curr.nodeValue; } str += "]"; prevnext kuning prevnext hijau frontback prev merah curr next [merah,kuning,hijau]

Membaca Mundur Double Linked List DNode curr = back ; String str = "[" + curr.nodeValue; while(curr.prev != this) {curr = curr.prev; str += ", " + curr.nodeValue; } str += "]"; prevnext kuning prevnext hijau frontback prev merah curr next [hijau,kuning,merah ]