Anda di halaman 1dari 14

Senarai/List, Stack dan Queue

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

9.1 Pengertian List

Senarai(list) adalah struktur data/ADT yang mendasar, yang seringkali digunakan


untuk menyimpan koleksi dari data-data dan digunakan pada implementasi program
computer sehingga masuk akal kalau kita saat ini harus membahas ADT List. ADT List
dapat digunakan sebagai basis untuk mengimplementasikan ADT-ADT lainnya. ADT list
dapat dianggap bangunan dasar untuk mengembangkan ADT lain yang lebih rumit.

9.2 Single Linked List

Dalam contoh program ini kita akan membuat beberapa class untuk
pengimplementasian list pada program.

Class Node :

Class LinkedList :
Output :

9.3 Double Linked List

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

Misal diberikan Stack S sebagai berikut :

S = [ S1, S2, .........., ST ] à maka TOP(S) = ST

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

Ada empat operasi dasar yang didefinisikan pada stack, yaitu :

o CREATE(stack)

o ISEMPTY(stack)

o PUSH(elemen,stack)

o POP(stack

Berikut source Dari Stack:


Implementasi dari class Tumpukan :
Output :

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

Berikut source dari queue :


Implementasi class Queue :

Output :

Anda mungkin juga menyukai