Think Different Materi ASD 2014 pertemuan_13

STACK

Operasi pada Stack
1.
2.
3.
4.
5.
6.
7.

Deklarasi
Inisialisasi
Cek kosong
Cek penuh (pada Array)
Penambahan
Pengambilan
Pengaksesan

(1) Deklarasi
• Proses yang harus dilakukan pertama

kali adalah deklarasi/menyiapkan
tempat.
• Langkah yang harus dilakukan
adalah :
– Deklarasi class
– Deklarasi struktur data (menggunakan
array atau linked list)
– Deklarasi pointer top

Deklarasi Stack dengan Linkedlist
1. Pembuatan class stack
contoh :

2. Pembuatan class Node
3. Pembuatan variabel head, tail dan top bertipe Node.
Ketiga variabel ini dideklarasikan pada class Stack
Node head,tail,top;

Contoh Class Node


Program Deklarasi
(StackLinkedList.java)

(2) Inisialisasi
• Pada Linked List:
Proses inisialisasi dilakukan dengan
memberikan nilai awal pada variabel
head, tail dan top dengan nilai null.
head = tail = top = null;

Program Inisialisasi (Linked List)

(3) Cek Kosong
• Operasi yang digunakan untuk
mengecek kondisi stack dalam
keadaan kosong.
• Caranya : melihat nilai top. Jika
nilainya sama seperti ketika inisialisasi
berarti stack dalam kondisi kosong
(top=null).

• Operasi ini harus dapat
mengembalikan nilai true jika stack
kosong dan false jika sebaliknya.

Program “isEmpty” (Linked List)

(5) Operasi POP
• Pop adalah proses pengambilan data pada
stack.
• Ketika pop terjadi, element pada stack akan
berkurang, yaitu element yang paling akhir
ditambahkan.
• Sehingga posisi pointer top juga akan
bergeser :
– Pada linked list : top menunjuk ke node sebelum
node yang dihapus.

(5) Operasi POP...........
(lanjutan)
• Langkah-langkah :

1. Pengecekan stack dalam kondisi kosong dengan
memanggil method isEmpty(). Jika nilai yang
dikembalikan true maka pop tidak bisa dilakukan
(penangkapan error oleh exception handling). Jika
nilai yang dikembalikan false maka akan dilakukan
langkah berikutnya (langkah 2 dan 3).
2. Data dari element paling belakang akan menjadi
return value (nilai yang dikembalikan).
3. Pergeseran posisi top.

Program Pop (Linked List)

Program removeLast

(6) Operasi Push
• Push adalah proses penambahan element
pada stack.
• Ketika push terjadi, element pada stack
akan bertambah 1.
• Posisi pointer top akan bergeser menunjuk

pada element baru yang ditambahkan. .
– Pada linked list : top akan menunjuk ke node
baru yang ditambahkan

(6) Operasi PUSH...........
(lanjutan)
• Langkah-langkah :
1. Penambahan element baru pada bagian
belakang stack.
2. Pergeseran posisi top.

Program Push (Linked List)

Program addLast

(7) Operasi peek
• Peek adalah proses pengaksesan
element yang ditunjuk oleh top(yaitu
element yang terakhir kali
ditambahkan).

• Operasi ini berbeda dengan pop
karena tidak disertai dengan
penghapusan data yang ada hanya
pengaksesan (pengembalian data
saja).

Program Peek (Linked List)

Penting!
• Untuk linked list, jika operasi push
dilakukan dari depan (addFirst) maka
operasi pop juga dilakukan dari
belakang (removeFirst). Sebaliknya,
jika operasi push dari belakang
(addLast) maka operasi pop juga
dilakukan dari belakang (removeLast).