Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Struktur Data & Algoritma

Pelajaran 5 dari 17

Tumpukan, antrean, dan senarai berkait

Tumpukan: yang terakhir masuk, pertama keluar

Setelah pelajaran ini kamu bisa memakai list sebagai tumpukan untuk memeriksa pasangan kurung dan menyusun riwayat batal-ulang.

±13 menitDiperiksa 1 Okt 2026

Materi

Tumpukan (stack) adalah struktur yang hanya boleh ditambah dan diambil dari satu ujung, yaitu puncaknya. Data yang terakhir masuk adalah data pertama yang keluar, disingkat LIFO. Operasinya tiga: dorong (push) menaruh data di puncak, ambil (pop) mengeluarkan data di puncak, dan intip (peek) membaca puncak tanpa mengeluarkannya.

Di Python, list sudah menjadi tumpukan yang cepat asalkan puncaknya ujung kanan: append() mendorong, pop() tanpa argumen mengambil, dan daftar[-1] mengintip. Ketiganya tidak bergantung pada panjang list. Tumpukan muncul di mana pun yang dibutuhkan adalah kembali ke keadaan terakhir: tombol kembali di peramban, batal di penyunting teks, dan tumpukan panggilan fungsi yang menjalankan rekursi di modul 1.

riwayat = []
for halaman in ["beranda", "katalog", "produk-12"]:
    riwayat.append(halaman)      # setiap halaman baru didorong

kembali_ke = riwayat.pop()       # "produk-12" keluar lebih dulu
print(riwayat[-1])               # "katalog" kini di puncak

Pemeriksaan kurung adalah contoh klasik. Setiap kurung buka didorong ke tumpukan. Setiap kurung tutup harus cocok dengan kurung buka di puncak, lalu puncaknya diambil. Teks dinyatakan seimbang kalau semua kurung tutup menemukan pasangannya dan tumpukan kosong di akhir. Menghitung jumlah kurung buka dan tutup saja tidak cukup, karena )( punya jumlah yang sama tetapi urutannya salah.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Fungsi pemeriksa kurung berbasis tumpukan berhenti dengan IndexError: pop from empty list untuk teks ")a(". Pemeriksaan apa yang belum ditulis?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke