KuloDev
1 Hari
0 XP
intermediate15 menitModul: 05-data-structures

Stack (LIFO) & Queue (FIFO)

Dua struktur data linier fundamental di balik fitur Undo/Redo, Call Stack memori, dan antrian proses server.

1. Stack: Last-In, First-Out (LIFO)

Stack (tumpukan) dianalogikan seperti tumpukan piring di restoran: piring terakhir yang diletakkan di atas tumpukan adalah piring pertama yang akan diambil. Struktur ini memiliki 2 operasi utama: `push` (menumpuk) dan `pop` (mengambil item teratas).

Contoh Penggunaan Nyata Stack
- Fitur **Undo (Ctrl+Z)** di text editor (aksi terakhir dibatalkan duluan). - **Tombol Back** di Web Browser (halaman terakhir yang dikunjungi akan dibuka duluan saat ditekan Back). - **Call Stack** eksekusi fungsi di mesin JavaScript/Python.

2. Queue: First-In, First-Out (FIFO)

Queue (antrian) dianalogikan seperti antrian loket tiket bioskop: orang yang pertama datang mengantri adalah orang yang pertama dilayani. Operasi utamanya adalah `enqueue` (masuk di belakang antrian) dan `dequeue` (keluar dari depan antrian).

Implementasi Stack & Queue di JavaScript
1const stackUndo = [];
2
3// Menumpuk aksi
4stackUndo.push("Ketik huruf A");
5stackUndo.push("Ketik huruf B");
6stackUndo.push("Hapus kata");
7
8// Undo: Ambil aksi terakhir
9const aksiDibatalkan = stackUndo.pop(); // "Hapus kata"
10console.log("Dibatalkan:", aksiDibatalkan);
Kuis Pemahaman
+10 XP

Jika data 'A', lalu 'B', lalu 'C' dimasukkan berturut-turut ke dalam sebuah Queue (FIFO), urutan keluarnya data adalah:

Selesaikan Materi Ini?

Dapatkan +25 XP dan simpan progres belajarmu.