05_Queue

Nama                      : Dikdik Nawa Cendekia Agung

NPM                        : 23552011240

Kelas/Semester     : 223PD /Semester 1 (ganjil)



Queue

Di sebuah rumah makan, setiap orang yang ingin membeli makanan harus mengantri terlebih dahulu untuk memesan makanan. Di mana saat kita mulai mengantri, kita harus masuk dari antrian paling akhir atau belakang, dan yang pertama kali di layani oleh kasir adalah orang yang pertama kali datang atau yang paling depan dalam antrian. Mungkin itu adalah sedikit gambaran tentang contoh struktur data queue dalam kehidupan sehari-hari.
    Queue atau antrian adalah struktur data yang mengolah elemen-elemen dalam urutan tertentu, di mana elemen yang pertama masuk (enqueue) adalah elemen pertama yang keluar (dequeue). Queue dalam konteks struktur data adalah elemen atau data yang disusun secara linear berdasarkan prinsip FIFO (First In First Out). Artinya, elemen pertama yang dimasukkan ke dalam antrian akan menjadi elemen pertama yang diambil atau dikeluarkan.

Perbedaan yang paling mencolok antara Queue dan Stack adalah Queue memiliki dua gerbang, yaitu gerbang untuk menambahkan elemen kedalam queue, dan gerbang untuk mengambil elemen dari queue. Sedangkan Stack hanya memiliki satu gerbang yaitu gerbang untuk menambah dan mengambil elemen dalam stack. Karakteristik lain dari queue diantaranya:

  1. FIFO (First In First Out): yang berarti elemen yang pertama kali dimasukkan kedalam queue/antrian akan menjadi yang pertama kali dihapus atau diambil. contohnya seperti antrian orang di kasir, dimana orang yang pertama kali datang akan dilayani lebih dulu.
  2. Linear: Elemen dalam queue diatur secara linear, sehingga hanya ada satu elemen di depan dan satu elemen di belakang.
  3. Tidak terbatas: Queue tidak terbatas pada implementasi linked list atau dynamic queue, sehingga hanya dapat menangani jumlah elemen yang tidak terbatas.
  4. Terbatas: Queue terbatas pada implementasi array atau circular queue, sehingga hanya dapat menangani jumlah elemen yang telah ditentukan saat deklarasi.
  5. Digunakan untuk menyelesaikan masalah yang membutuhkan urutan eksekusi, seperti simulasi antrian,
  6. Queue juga menggunakan prinsip Rekursi yaitu memanggil dirinya sendiri.
Operasi-operasi dalam queue diantaranya:
  1. Enqueue (Penyisipan/penambahan): Operasi ini digunakan untuk menambahkan elemen baru ke dalam antrian. Elemen baru yang dimasukkan ini akan menjadi elemen yang terakhir dalam sebuah antrian.
  2. Dequeue (pengambilan/Penghapusan): Operasi ini digunakan untuk menghapus/mengambil elemen. Elemen yang diambil adalah elemen yang sudah dalam antrian lebih lama atau elemen yang paling depan.
  3. Front: yaitu operasi yang digunakan untuk mengembalikan elemen di depan antrian tanpa menghapusnya. Operasi ini memungkinkan untuk melihat elemen pertama tanpa merubah struktur antrian.
  4. IsEmpty: sama seperti dalam operasi array atau stack, operasi ini digunakan untuk memeriksa apakah antrian kosong atau tidak.
  5. Batas Kapasitas (opsional): Beberapa implementasi antrian menggunakan batas kapasitas tertentu, artinya antrian tidak dapat menampung lebih dari jumlah elemen tertentu.
  6. Sirkular (opsional): antrian yang bersifat sirkular artinya elemen terakhir terhubung ke elemen pertama dalam antrian/queue. Ini memungkinkan untuk memanfaatkan ruang kosong dalam struktur data jika elemen di depan antrian di hapus.

Komentar

Postingan populer dari blog ini

01_Pengantar_Struktur_Data

06_Linked_List

03_Array