Anda di halaman 1dari 13

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

MODUL KE-2
SINGLE LINKED LIST & DOUBLE LINKED LIST

LABORATORIUM TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2015

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

A. Tujuan
Mahasiswa mampu :
1. Mengerti bagaimana model penyimpanan data menggunakan struktur data single dan
double linked list.
2. Memahami model pengaksesan elemen dalam struktur data linked list.
3. Mengerti dan menggunakan metode-metode standar di kelas LlinkedList.
B. Alat yang digunakan
Peralatan yang digunakan :
1. Perangkat PC yang terinstall Java
2. Editor Java
C. Dasar Teori

LINKED LIST

Linked list : struktur data yang dibangun dari satu atau lebih node yang menempati
alokasi memori secara dinamis.
Node : tempat penyimpanan data yang terdiri dari dua bagian/field.
Field 1 adalah Data, digunakan untuk menyimpan data/nilai.
Field 2 adalah Pointer, untuk menyimpan alamat tertentu.

Linked list dibedakan menjadi 2 :


Single linked list
Double linked list

Single linked-list
null

Double linked-list
null

null
Link atau pointer
Data

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

SINGLE LINKED LIST

Single : artinya pointer-nya hanya satu buah dan satu arah, yaitu menunjuk ke node
berikutnya.
Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti
pada saat pembacaan isi linked list.
ilustrasi single linked list yang memiliki 4 node :

A0

A1

A2

head

A3

tail

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 LINKED LIST

Double : artinya field pointer-nya dua buah dan dua arah, yang menunjuk ke node sebelum
dan sesudahnya.
Berguna bila perlu melakukan pembacaan linkedlist dari dua arah.
Double linked list memiliki 2 buah pointer yaitu pointer next dan prev.
Pointer next : mengarah ke node belakang (tail).
Pointer prev : mengarah ke node depan (head).
Ketika masih ada satu node maka kedua pointer (next dan prev) akan menunjuk ke NULL)
Double linked list dapat diakses dari dua arah :
o Dari depan ke belakang (head ke tail)
o Dari belakang ke depan (tail ke head)

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

DOUBLE CIRCULAR LINKED LIST

Double Linked List yang pointer next dan prev-nya menunjuk ke dirinya sendiri secara
circular.

D. Prosedur Pelaksanaan
Prosedur pelaksanaan praktikum adalah sebagai berikut :
1. Mahasiswa mencoba latihan yang ada pada modul praktikum
2. Mahasiswa menganalisa hasil dari program pada latihan yang telah dijalankan
3. Mahasiswa mengerjakan tugas yang diberikan
4. Mahasiswa mendemonstrasikan program yang telah dikerjakan pada dosen/assisten
5. Mahasiswa membuat laporan dari tugas yang telah dikerjakan

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

E. Latihan

A. Single Link List


1. Buatlah class Node seperti dibawah ini : (untuk nama package bebas)

2. Buatlah class SingleList, dengan package yang sama dengan class Node

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

Kemudian Buatlah Main pada class SingleList, yang didalamnya berisi perintah untuk
pemanggilan fungsi addFirst dan addLast, sesuaikan agar didapat output seperti di bawah
ini :
Hasil Output :

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

3. Buatlah fungsi removeFirst pada class SingleList seperti dibawah ini

Dengan data yang sama sebelumnya, yaitu 70 60 50 10, Buatlah Main pada class SingleList,
yang didalamnya berisi perintah untuk pemanggilan fungsi removeFirst dan removeLast,
sesuaikan agar didapat output seperti di bawah ini :

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

B. Double Link List


1. Buatlah class Node berikut : (untuk nama package bebas)

2. Buatlah class DoubleList berikut:


Nama package sama dengan class Node

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

Hasil Output :
300
200
100
400

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

3. Tambahkan fungsi insertAfter (Object o, Object key) pada klas DoubleList seperti di
bawah ini , lalu panggil fungsi tersebut pada main.

Ketika kita panggil fungsi insertAfter dengan masukan key 200 yang berada di tengahtengah node, maka program akan berhasil dengan output

Ketika kita panggil fungsi insertAfter dengan masukan key 300 yang berada pada posisi
awal node, maka program akan berhasil dengan output

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

Ketika kita panggil fungsi insertAfter dengan masukan key 400 yang berada pada posisi
akhir node, maka program akan eror, mengapa ?
F. Tugas Praktikum

1. Lengkapilah percobaan A (Single Link List) dengan menambah prosedur


prosedur untuk :
insertAfterKey
insertBeforeKey
removeKey
2. Lengkapilah program latihan 2 (Double Linked List) dengan menambahkan
prosedur-prosedur untuk:
insertBeforeKey (Object o , Object key)
parameter harus sesuai dan fungsi
tersebut harus bisa menyelesaikan tiga kondisi, yaitu saat key di awal node,
ditengah node, maupun di akhir node.
removeFirst.
removeLast.
removeNode
fungsi ini harus bisa menghapus data dengan key, baik saat
key di awal node, di tengah node, maupun di akhir node.
3.

Buatlah program dan untuk mengakses semua data pada double linkedlist yang
memiliki dua pilihan tampilan : dari depan dan dari belakang.
Contoh tampilan :
Program Pengaksesan Isi Node
---------------------------------------------------Isi linked list : 1
2
3
4
1. Pengaksesan dari depan
2. Pengaksesan dari belakang
Masukkan pilihan : 1
Output : 1
2
3
4
5
Masukkan pilihan : 2
Output : 5
4
3
2
1

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

4. Modifikasi method penyisipan yang ada. Buatlah program dan untuk melakukan
replace data pada node tertentu dengan menggunakan double linked list.
Contoh:
Replace(1,A);
Akan me-replace data node yang ada pada index ke-1 dengan A.
5. Buatlah program dan flowchart untuk membalikkan sebuah kalimat dengan
menggunakan double linked list. Gunakan method yang ada pada class String untuk
mendapatkan tiap karakter dari kalimat tersebut agar dapat disimpan pada node satu
per-satu.
Contoh tampilan program :
Program pembalik kata dengan linked list
---------------------------------------------------Kalimat yang dimasukkan : rumah
Data node ke-0 : r
Data node ke-1 : u
Data node ke-2 : m
Data node ke-3 : a
Data node ke-4 : h
Hasil : hamur
6. Buatlah program untuk membuat Single circle linked list. Single Circle linked list
(SCLL) adalah single linked list dimana pointer dari node yang paling belakang
tidak menunjuk ke NULL tetapi menunjuk ke node yang paling depan. (lihat
gambar)

Selamat mengerjakan!
Tidak ada kesulitan, yang ada adalah tantangan. Tidak ada keluhan, yang ada
adalah semangat untuk menang! (N)

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data

Keterangan :

1. Tugas praktikum dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika,


menjiplak dll akan dikenakan sanksi nilai x .
2. Tidak ada demo susulan, sesuai dengan jadwal yang telah ditentukan, kecuali ada
alasan yang logis dan dapat di maklumi.
3. Kriteria penilaian praktikum:
a. 25% Absensi.
b. 50% demo tugas.
c. 25% laporan praktikum.
d. Tambahan nilai (sesuai kebijakan aslab masing-masing), misal keaktifan dll.
4. Kriteria penilaian laporan:
a. Menggunakan template yang sudah disediakan.
b. Melampirkan hasil praktikum (latihan dan tugas modul) dan screenshot hasil
programdan penjelasannya.
c. Dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika, menjiplak dll
akan dikenakan sanksi pengosongan nilai laporan.
Penting!
Tetap semangat, jangan menyerah dan pasti bisa jika mau berusaha, jangan lupa juga
untuk terus berdoa agar dapat mencapai hasil yang maksimal, jangan pernah takut untuk
bertanya jika masih ada kebingungan yang melanda, diselingi terus berolah raga, makan
yang banyak dan sehat sesuai 4 sehat 5 sempurna serta minum multivitamin agar tetap
bugar :D,

Dokumen Laboratorium Teknik Informatika UMM @ 2015 Modul Praktikum Algoritma

dan Struktur Data