Anda di halaman 1dari 2

Stack

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO),
yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku,
ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari
buku yang paling atas dari tumpukan buku tersebut. Sebuah stack hanya dapat ditambahkan
dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of
Stack.

Fungsi dalam Stack:


 Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang
masih kosong.

 Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.

 Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.

 Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila
puncak stack berada pada posisi -1.

 Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data
tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan
nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List
menggunakan method addLast

 Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa
stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan
menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.

Contoh Program
package TugasPBO;
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
// Creating a Stack
Stack<String> stackOfCards = new Stack<>();

// Pushing new items to the Stack


stackOfCards.push("Jack");
stackOfCards.push("Queen");
stackOfCards.push("King");
stackOfCards.push("Ace");

System.out.println("Stack => " + stackOfCards);


System.out.println();

// Popping items from the Stack


String cardAtTop = stackOfCards.pop(); // Throws EmptyStackException if the stack is
empty
System.out.println("Stack.pop() => " + cardAtTop);
System.out.println("Current Stack => " + stackOfCards);
System.out.println();

// Get the item at the top of the stack without removing it


cardAtTop = stackOfCards.peek();
System.out.println("Stack.peek() => " + cardAtTop);
System.out.println("Current Stack => " + stackOfCards);

}
}

Output

Anda mungkin juga menyukai