Tumpukan (dalam bahasa Inggris disebut stack) adalah salah satu struktur data dalam ilmu komputer yang bersifat LIFO (Last In, First Out), yang artinya data yang terakhir dimasukkan adalah data yang pertama kali keluar.
1. Karakteristik Tumpukan (Stack):
- LIFO: Elemen terakhir yang dimasukkan adalah elemen pertama yang dikeluarkan.
- Hanya ada dua operasi utama:
- Push: Menambahkan elemen ke tumpukan.
- Pop: Menghapus elemen dari tumpukan (elemen paling atas).
- Biasanya terdapat operasi tambahan:
- Peek / Top: Melihat elemen teratas tanpa menghapusnya.
- IsEmpty: Mengecek apakah tumpukan kosong.
- IsFull (jika menggunakan array): Mengecek apakah tumpukan penuh.
2. Ilustrasi Cara Kerja Tumpukan:
Bayangkan seperti tumpukan piring:
- Kamu meletakkan piring satu per satu (push).
- Saat kamu ingin mengambil piring, kamu harus mengambil piring paling atas dulu (pop).
- Tidak bisa langsung mengambil piring di tengah tanpa mengangkat yang di atasnya dulu.
3. Contoh Kode Sederhana (Python):
4. Aplikasi Tumpukan dalam Kehidupan Nyata & Pemrograman:
- Undo/Redo pada aplikasi
- Pengelolaan fungsi rekursif (call stack)
- Parsing ekspresi matematika
- Backtracking (misalnya dalam pencarian jalur atau permainan)
- Navigasi halaman web (tombol back/forwart).