Linked List merupakan suatu simpul atau node yang dikaitkan dengan simpul yang lain dengan urutan tertentu sehingga membentuk suatu stuktur. Dalam suatu node berisi variable-variabel serta pointer dari node lainnya. Pada jenis single linked list hanya terdapat satu pointer pada satu node untuk menentukan node selanjutnya. Sementara pada double linked list terdapat dua pointer dalam satu node yang digunakan untuk menentukan node sebelum dan sesudahnya. Sedangkan pada circular linked list node yang berada pada posisi tail akan memiliki pointer node yang menjadi head.
CONTOH SOAL
Buatlah sebuah program Linked List dalam bahasa java, dengan studi kasus praktikum dan menu :
1. Crate2. Read
3. Delete
a. First
b. Last
4. Exit
ALGORITMA
Class PraktikumMain program
1. Start
2. Deklarasi variable menu : sebagai pilihan menu
del : sebagai pilihan hapus,
id : id praktikan,
modul : sebagai jumlah modul,
nama : sebagai nama praktikan,
kelas : sebagai kelas praktikan,
jadwal : sebagai jadwal praktikum,
next : sebagai penghubung node selanjutnya,
head : sebagai awal node,
tail : sebagai akhir node
3. Inisialisasi variable menu=0
4. Buat objek ll dari class linkedlist
5. Jika menu!=4 benar lanjut ke langkah 6, jika salah lanjut ke langkah 21
6. Masukkan nilai dengan variable menu
7. Jika menu==1 benar lanjut ke langkah 8, jika salah lanjut ke langkah 9
8. Panggil method add dari objek ll, kembali ke langkah 5
9. Jika menu==2 benar lanjut ke langkah 10, jika salah lanjut ke langkah 11
10. Panggil method view dari objek ll, kembali ke langkah 5
11. Jika menu==3 benar lanjut ke langkah 12, jika salah lanjut ke langkah 17
12. Masukkan menu dengan variable del
13. Jika del==1 benar lanjut ke langkah 14, jika salah lanjut ke langkah 15
14. Panggil method removeFirst dari objek ll, kembali ke langkah 5
15. Jika del==2 benar lanjut ke langkah 16, jika salah lanjut ke langkah 17
16. Panggil method removeLast dari objek ll, kembali ke langkah 5
17. Tampilkan “salah”, kembali ke langkah 5
18. Jika menu==4 benar lanjut ke langkah 19, jika salah lanjut ke langkah 20
19. Tampilkan “keluar”, kembali ke langkah 5
20. Tampilkan “salah”, kembali ke langkah 5
21. End
Method input()
1. Start
2. Masukkan nilai dengan variable id
3. Masukkan nilai dengan variable nama
4. Masukkan nilai dengan variable kelas
5. Masukkan nilai dengan variable jadwal
6. Masukkan nilai dengan variable modul
7. Inisialisasi nilai variable next=null
8. End
Method view()
1. Start
2. Tampilkan nilai variable id, nama, kelas, jadwal, dan modul
3. End
Class linkedlist
Konstruktor linkedlist()
1. Start
2. Inisialisasi variable head=null
3. Inisialisasi variable tail=null
4. End
Method add()
1. Start
2. Buat objek baru dari class Praktikum
3. Panggil method input dari objek baru
4. Jika head==null benar lanjut ke langkah 5, jika salah lanjut ke langkah 6
5. Ganti nilai variable head, head=baru, lanjut ke langkah 7
6. Ganti nilai variable next dari tail dengan baru
7. Ganti nilai variable tail, tail=baru
8. End
Method view()
1. Start
2. Jika head==null beanr lanjut ke langkah 3, jika salah lanjut ke langkah 4
3. Tampilkan “kosong”, lanjut ke langkah 8
4. Buat objek ptr dari class Praktikum dengan nilai head
5. Jika ptr!=null benar lanjut ke langkah 6, jika salah lanjut ke langkah 8
6. Panggil method view dari objek ptr
7. Ganti nilai objek ptr dengan variable next dari ptr, kembali ke langkah 5
8. End
Method removeFirst()
1. Start
2. Jika head==null benar lanjut ke langkah 3, jika salah lanjut ke langkah 4
3. Tampilkan “kosong”, lanjut ke langkah 5
4. Ganti nilai variable head dengan variable next dari head
5. End
Method removeLast()
1. Start
2. Jika head==null benar lanjut ke langkah 3, jika salah lanjut ke langkah 4
3. Tampilkan “kosong”, lanjut ke langkah 14
4. Jika head==tail benar lanjut ke langkah 5, jika salah lanjut ke langkah 7
5. Ganti nilai variable head, head=null
6. Ganti nilai variable tail, tail=null, lanjut ke langkah 14
7. Buat objek ptr dari class Praktikum dengan nilai dari variable next dari objek head
8. Buat objek prev dari class Praktikum dengan nilai dari variable head
9. Jika ptr!=tail benar lanjut ke langkah 10, jika salah lanjut ke langkah 12
10. Ganti nilai objek ptr dengan variable next dari objek ptr
11. Ganti nilai objek prev dengan variable next dari objek prev, kembali ke langkah 9
12. Ganti nilai variable next dari objek ptr dengan null
13. Ganti nilai variable tail, tail=prev
14. End
DIAGRAM UML
diagram UML |
FLOWCHART
SOURCE CODE
OUTPUT
output program menu input |
output program menu view |
output program menu delete data pertama |
output program menu delete data terakhir |
output program menu exit |
TRACING
tracing program |
Modul Java LinkedList : Program Jadwal Praktikum
Reviewed by Syafriansyah Muhammad
on
7/30/2018
Rating:
good
BalasHapus