cpu-data.info

Pengertian Stack dan Queue serta Contoh Penerapannya dalam Pemograman

Ilustrasi stack dan queue
Lihat Foto

- 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

Tautan Sahabat