Ketika Menjelajah Web/Internet, Kita Menggunakan Sebuah Browser (misal Firefox, Chrome dll)

Ketika menjelajah web/internet, kita menggunakan sebuah browser (misal Firefox, Chrome dll). Terdapat sebuah fitur yang memungkinkan kita untuk bergerak dari satu halaman yang sudah kita kunjungi ke halaman lainnya, yaitu dengan menekan tombol Back dan Forward. Misalnya, kita mengunjungi halaman A, kemudian B, lalu C. Jika kita kemudian menekan tombol Back, dari halaman C kita akan kembali ke halaman B. Jika kita tekan lagi tombol Back (pada saat ada di B), kita akan kembali ke A. Jika kemudian kita tekan tombol Forward, kita akan kembali halaman B, dan jika kita tekan sekali lagi tombol Forward,  kita akan kembali ke halaman C. Oleh karena itu, aplikasi browser tersebut harus menyimpan (dan mengingat) semua halaman yang sudah pernah kita kunjungi sebelumnya (biasa disebut Riwayat atau History). Bentuk penyimpanan yang manakah (stack atau queue) yang paling tepat digunakan untuk menyimpan Riwayat pada browser?

Jawaban:

Bentuk penyimpanan yang paling tepat digunakan untuk menyimpan Riwayat pada browser adalah stack.

Stack adalah struktur data yang mengikuti prinsip Last-In-First-Out (LIFO), yang berarti item yang terakhir dimasukkan ke dalam stack akan menjadi yang pertama dikeluarkan. Dalam konteks aktivitas menjelajah web seperti yang dijelaskan, ketika kita mengunjungi sebuah halaman baru, halaman tersebut akan ditambahkan ke dalam riwayat atau history. Jika kita kemudian menekan tombol Back, kita akan kembali ke halaman sebelumnya. Dalam stack, ketika kita kembali ke halaman sebelumnya, halaman tersebut akan dikeluarkan dari stack karena itu adalah item yang terakhir dimasukkan.

Dalam contoh ini, saat kita mengunjungi halaman A, halaman tersebut akan dimasukkan ke dalam stack. Ketika kita kemudian mengunjungi halaman B, halaman tersebut juga akan dimasukkan ke dalam stack. Kemudian saat kita mengunjungi halaman C, halaman tersebut akan ditambahkan ke dalam stack. Jika kita menekan tombol Back, halaman C akan dikeluarkan dari stack dan kita kembali ke halaman B. Jika kita terus menekan tombol Back, halaman B akan dikeluarkan dan kita kembali ke halaman A. Jadi, stack memungkinkan kita untuk kembali ke halaman sebelumnya secara berurutan dengan prinsip Last-In-First-Out yang sesuai dengan perilaku tombol Back.

Dalam konteks ini, queue (antrian) tidak cocok karena queue mengikuti prinsip First-In-First-Out (FIFO), di mana item yang pertama dimasukkan ke dalam antrian akan menjadi yang pertama dikeluarkan. Jika kita menggunakan queue untuk menyimpan riwayat pada browser, ketika kita menekan tombol Back, kita akan mendapatkan halaman yang pertama kali dikunjungi, bukan halaman sebelumnya seperti yang diharapkan dalam aktivitas menjelajah web.

Dengan demikian, stack lebih tepat digunakan untuk menyimpan riwayat pada browser karena memungkinkan penjelajahan halaman sebelumnya dengan urutan yang sesuai menggunakan tombol Back.