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

dokumen-dokumen yang mirip
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data. Queue

Gambar 1. Single Linked List

Modul 3: Tipe Data Abstrak Dinamis List, LinkList dan Model Antrian Stack & Queue

Algoritma Dan Struktur Data II

ADT Graph. Disusun untuk Memenuhi Laporan Praktikum Algoritma dan Struktur Data. Oleh: NIM : Asisten:

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

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

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

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

Gambar 1. Single Linked List

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.

Lab. Teknik Informatika Struktur Data 1

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

KUM 3 IMPLEMENTASI LIST

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

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

Linked List dan Implementasinya dalam Bahasa Java

LAPORAN PRAKTIKUM IX. Oleh:

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

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Gambar 1. Single Linked List

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

S T A C K ( T U M P U K A N )

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

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

Stack. Gambar 1.1 Stack

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

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

BAB 3 STACK (TUMPUKAN)

4. STACK / TUMPUKAN TEORI PENUNJANG

Struktur Data dan Algoritma

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Gambar 1. Single Linked List

Algoritma Pemrograman [BS204]

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

BAB VIII QUEUE (ANTRIAN)

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

MODUL 6 SINGLE & DOUBLE LINKED LIST

MODUL IV STACK A. TUJUAN

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

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Struktur Data dan Algoritma

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

KUM 5 IMPLEMENTASI QUEUE

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

Algoritma Dan Struktur Data II. Queue

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

(3) BAHAN KAJIAN (materi ajar)

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

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

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

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

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

Struktur Data Array. Rijal Fadilah S.Si

Queue Priority Queue STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 6 : 7 Juli 2015

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

Politeknik Elektronika Negeri Surabaya

Single Linked List. Single Linked List

DIG1G3 Implementasi Struktur Data

Algoritma dan Struktur Data STACK

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

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

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

Gambar 1. Ilustrasi Stack

STRUKTUR DATA. Literatur

Algoritma dan Struktur Data

STRUKTUR DATA Pertemuan 1 s.d 8

KONSEP POINTER DAN LINKED LIST

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

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

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

Implementasi Struktur Data

Algoritma dan Struktur Data GRAF

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

Struktur Data & Algoritma

Modul 4: Iteratif & Rekursif, Binary Tree

BAB II STACK Atau TUMPUKAN

Manage Sort STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 4 : 30 Juni 2015

05. Double Linked List

Politeknik Elektronika Negeri Surabaya

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

BAB II STACK (TUMPUKAN)

DIG1G3 Implementasi Struktur Data

Politeknik Elektronika Negeri Surabaya

Gambar 1. Ilustrasi Stack

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

STACK (Tumpukan) Pengertian Stack

Variasi List Linier. Nisa ul Hafidhoh, MT

MODUL PRAKTIKUM STRUKTUR DATA

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Transkripsi:

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2) Deskripsi Singkat Struktur data linked list telah kita pelajari pada praktikum sebelumnya. Praktikum ini akan memanfaatkan linked list sebagai tempat penyimpanan pada stack dan queue. Tujuan 1. Menggunakan linked list pada program stack 2. Menggunakan linked list pada program queue 3. Membuat sorted list Materi 1 : Stack Menggunakan Linked List Stack yang menggunakan linked list memiliki sifat lebih flexible dari segi ukuran penyimpanan. Sebab stack tersebut menjadi tidak ada batasan ukuran berapa maksimal data yang bisa disimpan dalam stack. Namun konsep stack tetap ada yaitu Last In First Out (LIFO). Inti dari stack yang menggunakan linked list adalah: Method push() akan menggunakan insertawal pada linked list Method pop() akan menggunakan deleteawal pada linked list Ilustrasi dari proses stack dengan menggunakan linked list seperti gambar di bawah.

Pada kode program StackList berikut ini akan menggunakan linear single linked list. public class StackList private SinglyLinkedList thestack; public StackList() thestack = new SinglyLinkedList(); public void push(int nilai) thestack.insertawal(nilai); public void pop() thestack.deleteawal(); public boolean isempty() return thestack..isempty();

public void displaystack() thestack.display(); public static void main(string[] ar) StackList sl = new StackList(); sl.push(); sl.push(20); sl.push(30); sl.push(40); sl.pop(); sl.pop(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses push dan pop? Materi 2 : Queue Menggunakan Linked List Queue yang menggunakan linked list memiliki sifat lebih flexible dari segi ukuran penyimpanan. Sebab queue tersebut menjadi tidak ada batasan ukuran berapa maksimal data yang bisa disimpan dalam queue. Namun konsep queue tetap harus ada yaitu First In First Out (FIFO). Maknanya terdapat dua pintu pada queue yaitu pintu masuk dan pintu keluar. Implimentasi linked list pada queue sangatlah sederhana. Terdapat dua cara mengimplementasikan inti dari queue dengan linked list: 1. Method insert() akan menggunakan insertawal dan method remove() akan menggunakan deleteakhir pada linked list. 2. Method insert() akan menggunakan insertakhir dan method remove() akan menggunakan deleteawal pada linked list.

Ilustrasi dari proses queue dengan menggunakan linked list seperti gambar di bawah. queue awal ada 1 data tambah 1 data tambah 1 data 3 tambah 1 data 3 hapus 1 data 3 hapus 1 data Pada kode program QueueList berikut ini akan menggunakan linear single linked list. public class QueueList private SinglyLinkedList thequeue; public QueueList() thequeue = new SinglyLinkedList(); public void insert(int nilai) thequeue.insertawal(nilai); public void remove() thequeue.deleteakhir(); public boolean isempty() return thequeue.isempty(); public void displaystack() thequeue.display();

public static void main(string[] ar) QueueList sl = new QueueList(); sl.insert(); sl.insert(20); sl.insert(30); sl.insert(40); sl.remove(); sl.remove(); Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan remove? Materi 3 : Sorted List Sorted list merupakan linked list dalam kondisi terurut. Proses insert akan memastikan posisi data node yang baru berada di posisinya sehingga linked list tetap dalam kondisi terurut. Sebelumnya kita buat dulu nodenya seperti kode program di bawah. public class Link public double ddata; // data item public Link next; // next link in list public Link(double dd) // constructor ddata = dd; public void displaylink() // display this link System.out.print(dData + " "); Kemudian kita buat class sorted list seperti kode program di bawah. public class SortedList private Link first; // ref to first item on list

// constructor public SortedList() first = null; // true if no links public boolean isempty() return (first==null); // insert in order public void insert(double key) Link newlink = new Link(key); // make new link Link previous = null; // start at first Link current = first; // until end of list, while(current!= null && key > current.ddata) // or key > current, previous = current; current = current.next; // go to next item if(previous==null) // at beginning of list first = newlink; // first --> newlink else // not at beginning previous.next = newlink; // old prev --> newlink newlink.next = current; // newlink --> old currnt // end insert() // return & delete first link public Link remove() // (assumes non-empty list) Link temp = first; // save first first = first.next; // delete first return temp; // return value public void displaylist() System.out.print("List (first-->last): "); Link current = first; // start at beginning of list while(current!= null) // until end of list, current.displaylink(); // print data

current = current.next; // move to next link System.out.println(""); public static void main(string[] args) // create new list SortedList thesortedlist = new SortedList(); thesortedlist.insert(20); // insert 2 items thesortedlist.insert(40); thesortedlist.displaylist(); // display list thesortedlist.insert(); // insert 3 more items thesortedlist.insert(30); thesortedlist.insert(0); thesortedlist.displaylist(); // display list thesortedlist.remove(); // remove an item thesortedlist.displaylist(); // display list // end main() Apakah output dari program di atas? Bagaimana tampilan hasilnya sesudah proses insert dan remove? LATIHAN 1 Buat semua class-class yang ada dalam praktikum ini. Apakah yang dapat anda simpulkan? SOAL-SOAL 1.