Pengertian Stack dan Queue serta Contoh Penerapannya dalam Pemograman
- Dalam dunia pemrograman, stack dan queue adalah dua struktur data fundamental yang sering digunakan untuk menyimpan dan mengelola data secara efisien.
Stack adalah struktur data yang mengikuti prinsip Last In First Out (LIFO), artinya elemen terakhir yang ditambahkan adalah yang pertama kali diambil.
Sebaliknya, queue mengikuti prinsip First In First Out (FIFO), di mana elemen pertama yang ditambahkan adalah yang pertama kali diambil. Kedua struktur data ini memiliki aplikasi yang luas dalam berbagai konteks pemrograman.
Stack sering digunakan dalam operasi pemanggilan fungsi, undo-redo pada aplikasi, serta dalam algoritma seperti pencarian dan pengurutan.
Queue banyak digunakan dalam manajemen tugas yang perlu diproses secara berurutan, seperti antrian dalam sistem operasi, proses dalam printer, dan pengelolaan permintaan jaringan. Untuk selengkapnya berikut ini ulasan detail mengenai stack dan queue dalam pemograman.
Baca juga: Mengenal Perbedaan Front-End, Back-End, dan Full-Stack Developer serta Skill yang Dibutuhkan
Pengertian dan perbedaan stack dan queue
Dilansir dari laman Javatpoint, Stack dan Queue adalah struktur data dasar dalam pemrograman yang membantu mengorganisir dan mengelola data dengan efisien.
Stack adalah struktur data yang mengikuti prinsip Last In, First Out (LIFO), artinya elemen terakhir yang ditambahkan akan menjadi yang pertama kali diambil. Apabila dianalogikan, stack seperti tumpukan piring di dapur, di mana piring terakhir yang Anda letakkan di atas adalah yang pertama kali diambil.
Stack digunakan dalam berbagai situasi seperti manajemen panggilan fungsi dalam program dan pemrosesan ekspresi matematika.
Sementara itu, Queue mengikuti prinsip First In, First Out (FIFO), berarti elemen pertama yang ditambahkan akan menjadi yang pertama kali diambil.
Contoh analoginya adalah sebagai antrian di loket tiket, di mana orang yang pertama kali datang adalah yang pertama dilayani. Queue berguna dalam manajemen antrian tugas dalam sistem operasi, serta dalam algoritma pencarian yang mengeksplorasi node satu per satu secara bertahap.
Baca juga: Fungsi Algoritma Pemrograman dan Jenis-jenisnya yang Perlu Diketahui
Perbedaan stack dan queue
Parameter | Struktur data stack | Struktur data queue |
Dasar | Merupakan struktur data linier. Elemen ditambahkan dan diambil dari ujung yang sama. | Merupakan struktur data linier. Elemen ditambahkan dan diambil dari ujung yang sama. |
Prinsip kerja | Mengikuti prinsip Last In, First Out (LIFO), artinya elemen terakhir yang ditambahkan adalah yang pertama dihapus. | Mengikuti prinsip First In, First Out (FIFO), artinya elemen pertama yang ditambahkan adalah yang pertama dihapus. |
Penunjuk | Memiliki satu penunjuk yaitu bagian atas (top), yang menunjukkan alamat elemen teratas atau elemen terakhir yang ditambahkan. | Menggunakan dua penunjuk (pada queue sederhana), yaitu depan (front) dan belakang (rear). Penunjuk belakang menunjukkan alamat elemen terakhir yang ditambahkan, sedangkan penunjuk depan menunjukkan alamat elemen pertama yang ditambahkan. |
Operasi | Stack menggunakan operasi push dan pop. Operasi pop berfungsi untuk menghapus elemen, sedangkan operasi push berfungsi untuk menambahkan elemen. | Queue menggunakan operasi enqueue dan dequeue. Operasi dequeue menghapus elemen dari queue, sedangkan operasi enqueue menambahkan elemen ke dalam queue. |
Struktur | Penambahan dan penghapusan elemen dilakukan dari satu ujung saja, yaitu bagian atas. | Menggunakan dua ujung, yaitu depan (front) dan belakang (rear). Penambahan elemen dilakukan di ujung belakang, sedangkan penghapusan dilakukan di ujung depan. |
Pemeriksaan kondisi penuh | Ketika top == max-1, berarti stack sudah penuh. | Ketika rear == max-1, berarti queue sudah penuh. |
Pemeriksaan kondisi kosong | Ketika top == -1, menandakan stack kosong. | Ketika front == rear + 1 atau front == -1, menandakan queue kosong. |
Varian | Struktur data Stack tidak memiliki jenis khusus. | jenis khusus. Struktur data Queue memiliki tiga jenis: queue sirkular, queue prioritas, dan queue dua ujung. |
Visualisasi | Stack dapat divisualisasikan sebagai kumpulan vertikal. | Queue dapat divisualisasikan sebagai kumpulan horizontal |
Implementasi | Implementasinya lebih sederhana. | Implementasinya relatif lebih kompleks dibandingkan stack. |
Contoh penerapan stack dan queue dalam pemograman
Contoh Penerapan Stack
Manajemen panggilan fungsi (Call Stack)
Stack digunakan untuk melacak panggilan fungsi dalam sebuah program. Ketika sebuah fungsi dipanggil, alamat kembali dan parameter fungsi disimpan dalam stack. Ketika fungsi tersebut selesai dieksekusi, alamat kembali diambil dari stack dan eksekusi dilanjutkan.
Contoh: Dalam bahasa pemrograman seperti C++ atau Java, manajemen panggilan fungsi dilakukan dengan stack yang secara otomatis mengelola penyimpanan dan pengembalian nilai fungsi.
Undo-Redo pada aplikasi
Stack sering digunakan untuk fitur undo-redo pada aplikasi. Setiap perubahan yang dilakukan disimpan dalam stack sehingga pengguna dapat membatalkan (undo) atau mengulang (redo) perubahan tersebut.
Contoh: Editor teks seperti Microsoft Word atau aplikasi desain grafis yang memungkinkan pengguna untuk membatalkan atau mengulang tindakan sebelumnya.
Contoh Penerapan Queue
Manajemen antrian tugas
Queue digunakan oleh sistem operasi untuk mengelola tugas-tugas yang harus diproses. Tugas yang masuk pertama kali akan diproses terlebih dahulu, sesuai dengan prinsip FIFO.
Contoh: Scheduler dalam sistem operasi yang mengatur proses CPU atau antrian tugas dalam printer.
Penanganan permintaan jaringan
Dalam sistem jaringan, queue digunakan untuk menangani permintaan data yang masuk. Permintaan diproses secara berurutan sesuai dengan urutan kedatangan.
Contoh: Server web yang menggunakan queue untuk memproses permintaan HTTP dari klien secara berurutan.
Baca juga: 4 Karakteristik Berpikir Komputasional dan Contohnya dalam Sehari-hari
Demikian ulasan mengenai definisi stack dan queue dalam pemograman. Semoga bermanfaat.
Dapatkan update berita teknologi dan gadget pilihan setiap hari. Mari bergabung di Kanal WhatsApp KompasTekno.
Caranya klik link https://whatsapp.com/channel/0029VaCVYKk89ine5YSjZh1a. Anda harus install aplikasi WhatsApp terlebih dulu di ponsel.
Terkini Lainnya
- Ini Jenis Game yang Paling Diminati Gen-Z Menurut Riset
- Infinix Hot 50i dan Smart 9 Resmi di Indonesia, Duo Smartphone Harga Rp 1 Jutaan
- Cara Login WhatsApp dengan Nomor yang Hilang Tanpa Aplikasi, Jangan Panik
- Daftar Shortcut Keyboard Microsoft Word untuk Buat Pekerjaan Lebih Efisien
- Saham Perusahaan Game Ubisoft Tiba-tiba Melonjak 33 Persen, Apa Penyebabnya?
- ChatGPT Rilis "Canvas", Tampilan Baru untuk Permudah Coding
- 10 Cara Mengubah Tulisan di WhatsApp Menjadi Aesthetic, Mudah dan Praktis
- Referensi "Cyberlaw" untuk UU Keamanan dan Ketahanan Siber (Bagian II-Habis)
- Google Mulai Sebar Fitur Anti-Maling di HP Android
- Referensi "Cyberlaw" untuk UU Keamanan dan Ketahanan Siber (Bagian I)
- Pengembang "PUBG" Bikin Game "Palworld" Versi Mobile
- 10 HP Terlaris 6 Bulan Pertama 2024: Apple-Samsung Dominan, Xiaomi "Nyempil"
- Hasil Babak Reguler Season Mobile Legends MPL S14, 6 Tim Lolos Playoff
- Google Rilis Gemini 1.5 Flash 8-B, Model AI Ringan, Cepat, dan Murah
- Meta Umumkan Movie Gen, AI untuk Bikin Video dan Audio dari Teks
- Kenapa Komentar Menjadi Biru di TikTok dan Bagaimana Cara Membuatnya?
- Uji Sinyal 5G Telkomsel di Bali: Canggu-Nusa Dua "On" Terus
- Arti Kata Memasak atau “Let Him Cook”, Bahasa Gaul yang Ramai Dipakai di Medsos
- 20 HP Samsung dengan Baterai Paling Awet
- Sejumlah Situs Pemerintah Diduga Diretas, Hacker Pasang Poster "Peringatan Darurat"