Gambar 1. Single Linked List

dokumen-dokumen yang mirip
Gambar 1. Single Linked List

Gambar 1. Single Linked List

Gambar 1. Single Linked List

Single Linked List. Single Linked List

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

Linked List dan Implementasinya dalam Bahasa Java

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

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

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

Politeknik Elektronika Negeri Surabaya

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

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Algoritma & Struktur Data. Array. Oleh : Nur Hayatin, M.Kom

Politeknik Elektronika Negeri Surabaya

Double Linked List. Double Linked List

Politeknik Elektronika Negeri Surabaya

Algoritma dan Struktur Data. Queue

KUM 3 IMPLEMENTASI LIST

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

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

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

Politeknik Elektronika Negeri Surabaya

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

Java Generic & Collection

Politeknik Elektronika Negeri Surabaya

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

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Collections. Collections Framework

Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

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

Algoritma dan Struktur Data STACK

Single Linked List (1)

C. TUGAS PENDAHULUAN Buatlah resume 1 halaman mengenai Priority Queue dan berikan penjelasannya.!

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Gambar 1. Ilustrasi Stack

INSTITUT TEKNOLOGI SUMATERA COLLECTION: SET DAN MAP

Algoritma Pemrograman & Struktur Data

A. TUJUAN PEMBELAJARAN

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

Algoritma dan Struktur Data. Ramos Somya

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Politeknik Elektronika Negeri Surabaya

List: Pokok Bahasan dan TIK

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

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

Struktur Data dan Algoritma

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

KUM 5 IMPLEMENTASI QUEUE

Politeknik Elektronika Negeri Surabaya

BAB 2 COLLECTION & THREAD

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

LAPORAN PRAKTIKUM IX. Oleh:

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

Politeknik Elektronika Negeri Surabaya

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

LIST. Dewi Sartika, M.Kom

MODUL 6 SINGLE & DOUBLE LINKED LIST

Gambar 1. Ilustrasi Stack

OPERATOR-OPERATOR DALAM JAVA

Array dan Vector Linked List STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2 : 23 Juni 2015

KONSEP POINTER DAN LINKED LIST

Pertemuan 7. REVIEW dan QUIS

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

Metode Binnary Searching di Java Console

Anonymous Inner Class

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

IF PEMROGRAMAN LANJUT GENERIC. Oleh : Andri Heryandi, M.T.

B. DASAR TEORI AlGORITMA TRAVERSAL GRAPH Terdapat beberapa perbedaan Tree dan Graph dijelaskan pada tabel Tabel 31.1 Perbedaan Tree dan Graph

Modul Praktikum Bahasa Pemrograman 1

A. TUJUAN PEMBELAJARAN

Permainan Remi Sederhana

Algoritma dan Struktur Data

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

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

Membuat dan Menggunakan Class

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

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Implementasi Struktur Data

A. TUJUAN PEMBELAJARAN

Belajar ArrayList di Java

Praktikum KPLBO Class dan Object I

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Percabangan & Perulangan

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

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

IT210 Pemrograman Visual. Ramos Somya

2 TIPE DATA DAN VARIABEL

B. DASAR TEORI Array. Misalkan kita memiliki tiga data yang berbeda dan kita simpan dalam variabel yang berbeda.

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

A. TUJUAN PEMBELAJARAN

05. Double Linked List

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

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

Transkripsi:

PRAKTIKUM 15 SINGLE LINKED LIST 1 A. TUJUAN PEMBELAJARAN Mahasiswa diharapkan mampu : 1. Memahami konsep SingleLinkedList untuk menambahkan node baru di awal, diakhir dan di index tertentu dan mengimplementasikan. 2. Memahami konsep SingleLinkedList untuk mendapatkan value pada node pada index tertentu pada SingleLinkedList dan mengimplementasikan. 3. Memahami konsep SingleLinkedList untuk merubah value pada node pada index tertentu pada SingleLinkedList dan mengimplementasikan. B. DASAR TEORI Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian. Struktur berupa rangkaian elemen saling berkait dimana setiap elemen dihubungkan elemen lain melalui pointer. Pointer adalah alamat elemen.penggunaan pointer untuk mengacu elemen berakibat elemen-elemen bersebelahan secara logik walau tidak bersebelahan secara fisik di memori. Gambar 1. Single Linked List Terdapat tempat yang disediakan pada satu area memori tertentu untuk menyimpan data dikenal dengan sebutan node atau simpul.setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, dengan demikian hanya diperlukan sebuah variabel pointer.susunan berupa untaian semacam ini disebut Single Linked List (NULL memilik nilai khusus yang artinya tidak menunjuk ke mana-mana. Biasanya Linked List pada titik akhirnya akan menunjuk ke NULL). Salah satu kelemahan single linked list adalah pointer (penunjuk) hanya dapat bergerak satu arah saja, maju/mundur, atau kanan/kiri sehingga pencarian data pada single linked list hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut, dapat menggunakan metode double linked list. Linked list ini dikenal dengan nama Linked list berpointer Ganda atau Double Linked List. 108

C. TUGAS PENDAHULUAN 1. Dengan menggunakan gambar, jelaskan langkah-langkah menambahkan node baru di depan SingleLinkedList. 2. Dengan menggunakan gambar, jelaskan langkah-langkah menambahkan node baru di depan SingleLinkedList. D. PERCOBAAN Pada percobaan SingleLinkedList (SLL), membuat class SingleLinkedList yang mengimplementasikan interface List<T>. Implementasikan method-method pada interface List<T> seperti tabel 1. Method yang bercetak tebal adalah method yang dibuat sendiri. Pada praktikum ini yang dikerjakan adalah praktikum SLL 1. Tabel 1. Method-method pada class SingleLinkedList<T> class SingleLinkedList<T> implements List<T> Praktikum private Node<T> front Variable reference untuk menandai node awal SLL 1 = null; dari SSL private int size; Variablel untuk mengetahui jumlah node pada SSL private void addfirst(t item) { Method addfirst() untuk menambahkan node baru di awal SSL private void addlast(t Method addlast()untuk menambahkan node item) { baru di akhir SSL add(t e){ Method add()untuk menambahkan node baru di akhir SSL public int size() { Method size() untuk mengetahui jumlah node pada SSL public void add(int index, T element) { Method add(index,elemen) untuk menambahkan node baru dengan value elemen dengan pada index tertentu isempty(){ Method isempty() untuk mengetahui apakah SSL masih null/kosong, jika ya maka mengembalikan nilai true, jika tidak null maka mengembalikan nilai false. public T get(int Method get(index) untuk mendapatkan value 109

index) { public T set(int index, T element){ public String tostring() { public Object[] toarray() { contains(object o) { remove(object o){ private T removefirst() { private T removelast() { public T remove(int index){ public int indexof(object o){ public int lastindexof(object o){ public Iterator<T> iterator() { pada node pada index tertentu dari SSL Method set(index, element) untuk merubah value pada node pada index tertentu dengan element. Method ini mengembalikan value yang lama. Method tostring() untuk mengubah objek SSL menjadi String Method toarray() untuk mengubah objek SSL menjadi array dengan tipe Object Method contains() untuk mengecek apakah terdapat node o pada SSL Method remove(object o) untuk menghapus node o pada SSL Method removefirst() untuk menghapus node yang paling depan Method removelast() untuk menghapus node yang paling akhir Method remove(index) untuk menghapus node pada index tertentu pada SSL Method indexof(object o) untuk mendapatkan index pertama kali node o pada SSL Method lastindexof(object o) untuk mendapatkan index terakhir node o pada SSL Method iterator() untuk melakukan iterasi pada SSL SLL 2 SLL 3 Percobaan 1. Membuat method addfirst() untuk menambahkan node baru di awal SLL private Node<T> front = null; private int size; 110

//untuk menambahkan node di depan private void addfirst(t item) { Node<T> newnode = new Node<T>(item); if (front == null) { front = newnode; else { newnode.next = front; front = newnode; size++; Percobaan 2. Mebuat method addlast()untuk menambahkan node baru di akhir SLL //untuk menambahkan node di akhir private void addlast(t item) { Node<T> newnode = new Node<T>(item); if (front == null) { front = newnode; else { Node<T> curr = front; while (curr.next!= null) { curr = curr.next; curr.next = newnode; size++; Percobaan 3. Membuat method get(index) untuk mendapatkan value pada node pada index tertentu dari SLL public T get(int index) { Node<T> curr = front; T temp = null; int n = 0; if (index >= size) { return null; while (curr!= null) { if (n == index) { temp = curr.nodevalue; return temp; curr = curr.next; n++; 111

return temp; Percobaan 4. Membuat method tostring() untuk mengubah objek SLL menjadi String @Override public String tostring() { Node<T> curr = front; String str = "[" + curr.nodevalue; while (curr.next!= null) { curr = curr.next; str += ", " + curr.nodevalue; str += "]"; return str; E. LATIHAN Selesaikan method-method yang belum diimplementasikan pada Class SingleLinkedList class SingleLinkedList<T> implements List<T> add(t Method add()untuk menambahkan node baru di akhir e){ SSL public int size() { Method size() untuk mengetahui jumlah node pada SSL public void add(int Method add(index,elemen) untuk menambahkan node index, T element) { baru dengan value elemen dengan pada index tertentu Method isempty() untuk mengetahui apakah SSL masih isempty(){ null/kosong, jika ya maka mengembalikan nilai true, jika tidak null maka mengembalikan nilai false. public T set(int index, Method set(index, element) untuk merubah value pada T element){ node pada index tertentu dengan element. Method ini mengembalikan value yang lama. Selanjutnya ujilah method-method pada Class SingleLinkedList dengan membuat class Main, sebagai contoh berikut. public class Main { public static void main(string[] args) { 112

SingleLinkedList<String> list = new SingleLinkedList<String>(); System.out.println("SSL isempty? : " + list.isempty()); System.out.println("Size SSL : " + list.size()); list.add("merah"); list.add("kuning"); list.add(0,"ungu"); list.add("merah"); list.add("biru"); System.out.println("List 1: " + list.tostring()); System.out.println("Index 1 : " + list.get(1)); list.set(0, "ungu 2"); System.out.println("List 2: " + list.tostring()); System.out.println("Size SSL : " + list.size()); F. LAPORAN RESMI Kerjakan hasil percobaan(d) dan latihan(e) di atas dan tambahkan analisa. 113