Pengertian Stack dan Queue serta Contoh Penerapannya
- Pernahkah Anda mendengar istilah stack atau tumpukan dan queue atau antrian dalam kehidupan sehari-hari? Stack dan queue berhubungan dengan struktur data dalam sebuah aplikasi. Akan tetapi, keduanya juga biasa ditemui dalam kehidupan sehari-hari.
Stack dan queue merupakan fungsi yang biasanya digunakan pada sebuah pemrograman seperti pemrograman Java. Berikut ini KompasTekno telah merangkum mengenai pengertian, perbedaan, dan contoh penerapan stack dan queue.
Baca juga: Berapa Gaji Pekerja IT di Indonesia?
Apa itu stack?
Stack adalah struktur data linier yang mengikuti aturan tertentu untuk melakukan operasi. Data yang memiliki struktur stack, tersusun seperti tumpukan, sehingga hanya elemen yang baru dimasukkan yang dapat diakses atau dilihat.
Ujung tumpukan yang digunakan untuk melakukan semua operasi disebut bagian atas tumpukan. Stack mengikuti prinsip LIFO (Last In First Out), yang berarti elemen yang dimasukkan terakhir akan menjadi elemen pertama yang keluar dari urutan data.
Apa itu queue?
Queue adalah struktur data linier di mana kita dapat menyisipkan dan menghapus elemen dari daftar data. Akhir daftar dari mana elemen disisipkan disebut ujung belakang dan ujung di mana elemen dihapus adalah ujung depan.
Struktur data yang menggunakan queue mengikuti prinsip FIFO (First In First Out), yang berarti elemen yang dimasukkan pertama kali dari ujung belakang akan menjadi elemen pertama yang dihapus dari ujung depan.
Selain itu, terdapat dua istilah lain dalam queue, yakni operasi enqueue dan operasi dequeue. Operasi enqueue adalah teknik penyisipan pada struktur data queue, sedangkan operasi dequeue adalah teknik penghapusan pada struktur data queue.
Perbedaan stack dan queue
Terdapat beberapa perbedaan antara stack dan queue. Berikut beberapa perbedaannya.
Stack
- Didasarkan pada prinsip LIFO (Last In First Out)
- Terdapat operasi penyisipan (operasi push) dan operasi penghapusan (operasi pop)
- Operasi push dan pop berlangsung dari salah satu ujung tumpukan data
- Elemen paling atas adalah elemen yang paling mudah diakses, sementara elemen yang berada pada tumpukan paling bawah adalah elemen yang tidak dapat diakses
- Penerapannya sederhana
Queue
- Didasarkan pada prinsip FIFO (First In First Out)
- Terdapat teknik penyisipan (operasi enqueue) dan teknik penghapusan (operasi dequeue)
- Operasi enqueue dan dequeue berlangsung dari ujung antrian yang berbeda
- Ujung penyisipan disebut dengan ujung belakang, sementara ujung penghapusan disebut ujung depan
- Penerapannya lebih kompleks dibanding dengan struktur data stack
Baca juga: Perbedaan Web Developer dan Programmer
Contoh penerapan
Meskipun stack dan queue identic digunakan pada aplikasi pemrograman, contoh penerapannya tidak hanya pada aplikasi pemrograman saja. Terdapat beberapa contoh penerapannya dalam kehidupan sehari-hari juga.
Stack
Dalam kehidupan sehari-hari struktur stack bisa ditemui ketika terdapat setumpuk koran yang tergeletak di lantai. Koran yang paling terakhir ditambahkan atau ditaruh di atas adalah koran yang paling mudah dilihat.
Sementara koran yang pertama kali diletakkan atau berada pada tumpukan paling bawah adalah koran yang paling sulit dilihat. Adapun dalam aplikasi pemrograman, stack digunakan untuk evaluasi ekspresi, pencocokan tanda kurung saat bekerja dengan ekspresi, digunakan dalam konversi ekspresi seperti infiks ke postfix atau awalan ke postfix.
Biasanya, stack digunakan di mesin virtual java dan dalam manajemen memori untuk metode pemecahan masalah backtracking, penguraian string atau pembalikan string, dan mencocokkan tag HTML dalam pengembangan web.
Baca juga: Perkenalkan, Bayi Ini Bernama HTML
Queue
Sementara contoh penerapan struktur data queue dalam kehidupan sehari-hari bisa ditemui ketika seseorang mengantri untuk membeli tiket melalui loket pembayaran tiket yang disediakan, itu disebut sebagai enqueue.
Adapun contoh dari dequeue adalah setelah membeli tiket, penumpang langsung menuju tempat tunggu kereta api setelah melakukan boarding atau cek tiket.
Dalam aplikasi pemrograman queue digunakan sebagai daftar tunggu saat sumber daya akan dibagikan dengan banyak sistem seperti penjadwalan CPU atau penjadwalan disk.
Selain itu, queue juga digunakan dalam sistem operasi untuk penjadwalan FCFS, semaphore, buffer, untuk perangkat dan spooling printer. Queue biasanya digunakan di router dan switch saat data ditransfer secara tidak sinkron untuk memelihara daftar putar di pemutar media.
Terkini Lainnya
- Game "Microsoft Flight Simulator 2024" Resmi Rilis, Ini Harganya di Indonesia
- Oppo Hadirkan AI Gemini dan "Circle-to-Search" di ColorOS 15
- Cara Mengembalikan Akun Facebook yang Hilang dengan Mudah dan Praktis
- iPhone 16 Masih Dilarang, Apple Janji Tambah Investasi 10 Kali Lipat
- Sleep atau Shutdown Laptop, Mana yang Lebih Baik Digunakan Pengguna?
- Pabrik Rp 157 Miliar Ditolak RI, Apple Sodorkan Rp 1,5 Triliun demi iPhone 16
- Microsoft Umumkan Windows 365 Link, PC Kecil Berbasis Cloud Mirip Mac Mini
- Samsung Galaxy A16 5G Rilis di Indonesia, HP "Panjang Umur" Harga Rp 3 Jutaan
- Siasat Apple buat Jualan iPhone 16 di Indonesia, dari Minta Audiensi hingga Nego Investasi
- Ada Lubang Berbahaya, Pengguna iPhone Wajib Download iOS 18.1.1
- Rumor Samsung Galaxy S25 Versi Tipis Menyeruak
- Oppo Reno 13 Belum Dirilis, tapi Sudah Siap Masuk Indonesia
- Instagram Hapus Fitur "Ikuti Hashtag", Ini Alasannya
- Robot Manusia Ikut Lari "Half Marathon", Finish dengan Sekali Isi Baterai
- Tanda iPhone 16 Dijual Resmi di Indonesia Menguat, Ini Janji Apple
- Pabrik Rp 157 Miliar Ditolak RI, Apple Sodorkan Rp 1,5 Triliun demi iPhone 16
- Jenis-jenis Komputer Berdasarkan Ukuran dan Fungsinya
- DTO Kemenkes Buka Lowongan Kerja untuk 24 Posisi IT dan Digital, Begini Cara Daftarnya
- [POPULER TEKNO] Bos Baru WhatsApp Indonesia | Maraknya iPhone "No Service" | Poster Festival Musik Instafest Spotify yang Viral di Medsos
- Mau Jadi Gamer Profesional? Simak Dulu Tip Berikut
- Dari Extra HD hingga Text Scanner, Ini Deretan Fitur Kamera Oppo A77s