Tujuan Pembelajaran
Memahami perbedaan array dan list
Memahami konsep dasar list
Mampu mengimplementasikan list dalam program
Mahasiswa memahami tentang stack dan queue
Mahasiswa dapat membuat suatu program menggunakan Stack dan Queue
Mahasiswa memahami perbedaan Stack dan Queue
Dalam contoh program ini kita akan membuat beberapa class untuk
pengimplementasian list pada program.
Class Node :
Class LinkedList :
Output :
Sama seperti Single linked list , disini kita akan membuat beberapa class .
Class pTwoChildNode :
Class pDoublyLinkedList :
Class berikutnya TestDouleLinkedList digunakan untuk mengimplementasikan clas-clas
yang telah kita buat .
Output :
6.1 Stack and Queue
Struktur kontrol pemilihan adalah pernyataan dari Java yang mengijinkan user
untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang
lain. Stack adalah suatu bentuk khusus dari linear list di mana operasi penyisipan dan
penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yang
disebut sebagai “TOP”. Cara ini dapat disebut dengan sistem LIFO (Last In First Out)
yaitu item yang terakhir masuk merupakan item yang pertama keluar.
Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan
(FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR). Jika diberikan suatu
Queue Q dengan elemen-elemennya yang terdiri atas Q1, Q2, ....., QT maka queue Q
dituliskan Q = [ Q1, Q2, .........., QT ]
FRONT(Q) = Q1
REAR(Q) = QT
Selanjutnya untuk menyatakan jumlah elemen dalam suatu queue Q digunakan notasi
NOEL(Q).
6.2 Stack
Untuk menunjukkan jumlah elemen suatu stack digunakan notasi NOEL. Dari stack di
atas, maka NOEL(S) = T. Selanjutnya, jika diberikan sebuah stack S = [A,B,C,D], maka
stack S ini dapat digambarkan sebagai berikut :
A A B C D
D Top
B
C Top
C
B
D Top D C B A
A
Top
o CREATE(stack)
o ISEMPTY(stack)
o PUSH(elemen,stack)
o POP(stack
6.3 Queue
Untuk menggambarkan suatu queue dapat dilakukan beberapa cara , Misal : diberikan
Queue Q = [A, B, C, D, E, F], maka Queue Q dapat digambarkan sebagai berikut :
A B C D E F
F E D C B A
atau dapat pula digambarkan dengan posisi tegak. Prinsip kerja Queue adalah FIFO (First
In First Out), di mana data yang masuk terlebih dahulu akan keluar pertama.
Terdapat empat operasi dasar yang didefinisikan pada queue, yaitu :
CREATE
ISEMPTY
INSERT
REMOVE
Output :