Linked List dan Implementasinya dalam Bahasa Java

dokumen-dokumen yang mirip
Gambar 1. Single Linked List

Gambar 1. Single Linked List

Algoritma dan Struktur Data

Gambar 1. Single Linked List

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

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

MODUL 6 SINGLE & DOUBLE LINKED LIST

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

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

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Gambar 1. Single Linked List

Algoritma Pemrograman & Struktur Data

LAPORAN PRAKTIKUM IX. Oleh:

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

STRUKTUR DATA (2) Single Linked List

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

Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data STACK

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

Struktur Data II. Single Linked List - Non circular

Algoritma dan Struktur Data. Queue

KUM 3 IMPLEMENTASI LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

Tutorial - Single Linked List

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

STRUKTUR DATA single linked list non circular

BAB IX LINKED LIST (SENARAI BERANTAI)

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

Array VS Linked List

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

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

KONSEP POINTER DAN LINKED LIST

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

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

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

Pertemuan 7. REVIEW dan QUIS

SINGLE LINKED LIST (NON CIRCULAR)

LIST. Dewi Sartika, M.Kom

SENARAI BERANTAI (LINK LIST)

Algoritma dan Struktur Data. Ramos Somya

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

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

KERUGIAN DAN KEUNTUNGAN LINKED LIST

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

BAB II Senarai Berantai (Linked List)

DIG1G3 Implementasi Struktur Data

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

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

Struktur Data Tree/Pohon dalam Bahasa Java

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

05. Double Linked List

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

Lab. Teknik Informatika Struktur Data 1

ALGORITMA & PEMROGRAMAN

Variasi List Linier. Nisa ul Hafidhoh, MT

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

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

ALGORITMA DAN STRUKTUR DATA

Single Linked List. Single Linked List

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

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

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

BAB IV Antrian(Queue)

STRUKTUR DATA. Literatur

Struktur Data dan Algoritma

Algoritma dan Struktur Data. Pertemuan 7 Linked List

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

Praktikum Algoritma dan Struktur Data 2010

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

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

Bagian I. Studi Kasus [82] Tanda tangan:

List: Pokok Bahasan dan TIK

4. STACK / TUMPUKAN TEORI PENUNJANG

DIG1G3 Implementasi Struktur Data

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

BAB IX LINKED LIST (SENARAI BERANTAI)

A. TUJUAN PEMBELAJARAN

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

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

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

Stack. Gambar 1.1 Stack

Struktur Data. Queue (Antrian)

MODUL IV STACK A. TUJUAN

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

KUM 5 IMPLEMENTASI QUEUE

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

Linked List. Bandung 2013

Algoritma dan Struktur Data. Linked List

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Metode Binnary Searching di Java Console

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

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Struktur Data dan Algoritma

Transkripsi:

Linked List dan Implementasinya dalam Bahasa Java tutorialpemrograman.wordpress.com - 2009 1

Single Linked List : ~ Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya dan juga memiliki field yang berisi data. ~ Akhir linked list ditandai dengan node terakhir akan menunjuk ke null yang akan digunakan sebagai kondisi berhenti saat pembacaan linked list. Double Linked List : ~ Linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field, yaitu: 1 field pointer yang menunjuk ke pointer berikutnya, 1 field pointer yang menunjuk ke pointer sebelumnya dan field yang berisi data dari node tersebut. ~ Pointer next dan prev-nya menunjuk ke null. tutorialpemrograman.wordpress.com - 2009 2

Single Circular Linked List : ~ Single Linked List yang pointer next-nya menunjuk ke dirinya sendiri, jika terdiri dari beberapa node maka pointer terakhirnya akan menunjuk ke pointer terdepannya. Double Circular Linked List : ~ Double Linked List yang pointer next dan prev-nya menunjuk ke dirinya sendiri secara circular. tutorialpemrograman.wordpress.com - 2009 3

Implementasi Class Single Linked List beserta Methodnya : class Node{ int data; Node next; class LinkedList{ Node head; //posisi awal dari linked list Node tail; //posisi akhir dari linked list /** * Fungsi untuk mengecek apakah linked list masih kosong */ boolean isempty(){ return (head==null); void addfirst(node input){ if (isempty()){ head = input; tail = input; //Jika linked list masih kosong, //maka head dan tail sama dengan node input input.next = head; //Jika linked list sudah berisi, head = input; //maka input akan di depan dan menjadi head void addlast(node input){ if (isempty()){ //Jika linked list masih kosong, head = input; //maka head dan tail sama dengan node input tail = input; tail.next = input; //Jika linked list sudah berisi, tail = input; //maka input akan di belakang dan menjadi tail void insertafter(int key,node input){ do { if (temp.data == key){ //Jika data sama dengan key, maka input input.next = temp.next; //disambung diantara temp dan temp.next temp.next = input; System.out.println("Insert data is succeed."); //dari temp --> temp.next menjadi : //temp --> input --> temp.next while (temp!=null); void insertbefore(int key,node input){ tutorialpemrograman.wordpress.com - 2009 4

if ((temp.data == key)&&(temp == head)){ this.addfirst(input); /* jika insert pada awal linked list maka call method addfirst */ System.out.println("Insert data is succeed."); else if (temp.next.data == key){ input.next = temp.next; //dari temp --> temp.next menjadi temp.next = input; System.out.println("Insert data is succeed."); //temp --> input --> temp.next void removefirst(){ if (!isempty()){ if (head == tail){ //jika element linked list hanya 1, head = tail = null; //maka head dan tail menjadi null //sehingga linked list kosong //memajukan temp ke temp.next head = temp; //kemudian head dipindah ke temp temp = null; //kemudian temp di-null (optional) else System.out.println("Data is empty!"); void removelast(){ if (!isempty()){ if (tail == head){ //jika element linked list hanya 1 head = tail = null; //maka head dan tail menjadi null //sehingga linked list kosong while (temp.next!= tail){ //memajukan temp hingga satu elemen //sebelum tail. temp.next = null; //temp.next di-null,dan jadi akhir LL tail = temp; temp = null; //tail dipindah ke temp else System.out.println("Data is empty!"); void remove(int key){ if (!isempty()){ if (temp.next.data == key){ //mengganti temp.next dengan temp.next = temp.next.next; //temp.next.next //dari temp --> temp.next -->temp.next.next //menjadi temp --> temp.next.next tutorialpemrograman.wordpress.com - 2009 5

else if ((temp.data == key)&&(temp == head)){ this.removefirst();//jika key berada pada awal linked list, //maka call method removefirst else System.out.println("Data is empty!"); void find (int key){ int i = 0; boolean found = false; if (temp.data == key){ found = true; i++; if (found){ System.out.println(key+" is found at index "+i); else System.out.println("Data isn't found"); void printnode(){ Node temp; temp = head; System.out.println(temp.data); tutorialpemrograman.wordpress.com - 2009 6