Stack (tumpukan) adalah struktur data yang meniru bagaimana proses menyimpan dan mengambil suatu buku pada suatu tumpukan buku yang ada di lantai. Apabila diperhatikan dengan seksama maka proses menyimpa buku (disebut push) dan proses mengambil buku (disebut pop) dari suatu tumpukan selalu dilakukan pada bagian atas tumpukan (top of the stack ) sehingga terjadi urutan yang disebut LIFO (Last In First Out).
Artinya, buku yang terakhir disimpan adalah buku yang pertama harus diambil karena buku inilah yang berada pada urutan teratas dari tumpukan.
Representasi Stack dapat dilakukan menggunakan Array atau Linked List. Kedua representasi mempunyai keunggulan dan kelemahan.
Operasi dalam stack :
Push : Menyisipkan data ke dalam stack.
Pop : Mengeluarkan data dari stack
IsEmpty : Untuk mengecek apakah stack dalam keadaan kosong atau tidak.
IsFull : Untuk mengecek apakah stack dalam keadaan penuh atau tidak
Clear : Mengosongkan isi data.
Aplikasi Stack:
- Pemrograman Rekursif: Stack digunakan untuk melacak panggilan fungsi rekursif.
- Undo Mechanism: Dalam aplikasi seperti editor teks, stack digunakan untuk menyimpan operasi yang bisa di-undo.
- Evaluasi Ekspresi: Stack digunakan untuk mengevaluasi ekspresi aritmatika dalam notasi postfix atau untuk memparsing ekspresi dalam notasi infix.
- Penjelajahan Graf: Algoritma seperti Depth-First Search (DFS) menggunakan stack untuk melacak node yang akan dikunjungi berikutnya.
Stack merupakan struktur data yang sangat berguna dan sering digunakan dalam berbagai aplikasi dan algoritma komputer

Tidak ada komentar:
Posting Komentar