Operasi pada Stack
1. Deklarasi 2. Inisialisasi 3. Cek kosong
4. Cek penuh (pada Array) 5. Penambahan
(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 Stack dengan
Linked-list
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
(2) Inisialisasi
• Pada Linked List:
Proses inisialisasi dilakukan dengan memberikan nilai awal pada variabel head, tail dan top dengan nilai null.
(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
(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
(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).
(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
(6) Operasi PUSH...
(lanjutan)
• Langkah-langkah :
1. Penambahan element baru pada bagian belakang stack.
(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
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