cpu-data.info

Pengertian Stack dan Queue serta Contoh Penerapannya

Pengertian stack dan queue
Lihat Foto

- 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

Tautan Sahabat