Prakt 06 Queue Praktikum Versi Tambahan
Prakt 06 Queue Praktikum Versi Tambahan
4 3 2 1 0
Pendekatan yang lebih efisien
• Posisi petugas tiket (terdepan) bersifat dinamis (berpindah)
Kondisi awal dequeue() yang keluar A
E D C B A E D C B
4 3 2 1 0 4 3 2 1 0
E D C
4 3 2 1 0
dequeue() yang keluar B
Pendekatan yang lebih efisien (ii)
• Posisi petugas tiket (terdepan) bersifat dinamis (berpindah), ketika ada enqueue
• Katakan kapasitas queue adalah hanya 5 tempat
Kondisi awal enqueue(‘F’) F masuk di indeks 0 namun dinyatakan paling belakang
E D C E D C F
4 3 2 1 0 4 3 2 1 0
E D C G F
4 3 2 1 0
Pembacaan ilustrasi • Arah antrian ke kanan. Kapasitas maksimal queue pada
ilustrasi adalah 5 tempat dan pada baru terisi 4 objek
• Menyamakan pemahaman (gambar atas).
• Urutan posisi pada antrian adalah: C, D, E dan terakhir
adalah F
E D C F • Posisi terdepan adalah C, menempati posisi indeks 2
(disimbolkan dengan posisi segitiga yang dapat bergeser
4 3 2 1 0 ke arah kiri, ketika ada proses dequeue)
• Posisi paling belakang (warna merah), saat ini adalah ‘F’
(gambar atas). Ketika ada objek baru di enqueue maka
akan diletakan tepat di posisi indeks setelah belakang
ini, untuk kemudian si objek baru yang baru mengantri
akan bertindak sebagai posisi belakang terbaru (gambar
bawah).
• Pada gambar bawah queue penuh, posisi terdepan
adalah ‘C’ sedangkan posisi yang paling belakang adalah
E D C G F ‘G’
• Pendekatan ini lebih efisien dibandingkan ketika posisi
4 3 2 1 0 terdepan dibuat tetap. Pergeseran setiap ada operasi
dequeue hanya akan membutuhkan 1 langkah
menggeser posisi depan (segitiga) meskipun saat itu ada
sejuta objek dalam antrian
Atribut Queue pada implementasi tanpa pop() dan append()