STRUKTUR DATA
QUEUE
Tim Dosen Struktur Data
QUEUE DENGAN ARRAY
Bersifat FIFO (First In First Out)
Elemen yang pertama masuk ke antrian akan keluar pertama kalinya
Proses menambahkan satu elemen ke antrian ini disebut ENQUEUE.
DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian
Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array
QUEUE LINIER ARRAY
Terdapat satu buah pintu masuk di suatu ujung dan satu
buah pintu keluar di ujung satunya
Sehingga membutuhkan 2 variabel: Head dan Tail
DEKLARASI ANTRIAN DENGAN STRUCT
Proses pendeklarasi antrian adalah proses pembuatan struktur
antrian dalam memori.
Struktur antrian terdiri dari data dalam array, head untuk
menunjukkan ujung antrian dan tail untuk menunjukkan akhir antrian.
INISIALISASI
Proses pembuatan suatu antrian kosong.
Proses inisialisasi untuk antrian yang menggunakan array adalah dengan mengisi nilai field
head dan tail dengan 0 (nol) jika elemen pertama diawali dengan nomor 1.
Jika elemen pertama array dimulai dengan 0 maka head dan tail diisi dengan nilai -1.
QUEUE (4)
IsEmpty()
Untuk memeriksa apakah Antrian kosong atau tidak kosong
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala
antrian (elemen pertama dalam antrian) yang tidak akan berubah-
ubah
Pergerakan pada Antrian terjadi dengan penambahan elemen
Antrian kebelakang, yaitu menggunakan nilai Tail
ISEMPTY()
ISFULL
Untuk mengecek apakah Antrian sudah penuh atau belum.
Operasi ini dilakukan dengan cara mengecek nilai tail.
jika Tail = MAX-1 (karena MAX-1 adalah batas elemen array pada
C) berarti sudah penuh (mengembalikan nilai 1 untuk return)
ENQUEUE
Untuk menambahkan elemen ke dalam Antrian, penambahan
elemen selalu ditambahkan di elemen paling belakang
Penambahan elemen selalu menggerakan variabel Tail dengan
cara increment counter Tail terlebih dahulu
Langkah operasi ini adalah :
a. Periksa apakah kosong. Jika kosong maka ubah posisi head
dan tail pada posisi 0, kemudian masukkan datanya.
b. Jika antrian tidak kosong dan belum penuh, maka naikkan
posisi tail sebesar 1, kemudian masukkan datanya.
C. Jika antrian tidak kosong dan penuh, berarti antrian sudah
penuh
ENQUEUE
DEQUEUE
Digunakan untuk menghapus elemen terdepan/pertama (head)
dari Antrian
Dengan cara menggeser semua elemen antrian kedepan dan
mengurangi Tail dgn 1
Pergeseran dilakukan dengan menggunakan looping
(decrement/pengurangan)
DEQUEUE
CLEAR
Untuk menghapus elemen-elemen Antrian dengan cara
membuat Tail dan Head = -1
Penghapusan elemen-elemen antrian sebenarnya tidak
menghapus arraynya, namun hanya mengeser indeks
pengaksesan-nya ke nilai -1 sehingga elemen-elemen antrian
tidak lagi terbaca.
CLEAR
TAMPIL
Untuk menampilkan nilai-nilai elemen antrian
Menggunakan looping dari head s/d tail
DISKUSI DAN TANYA JAWAB

Queue in C++ .pptx

  • 1.
  • 2.
    QUEUE DENGAN ARRAY BersifatFIFO (First In First Out) Elemen yang pertama masuk ke antrian akan keluar pertama kalinya Proses menambahkan satu elemen ke antrian ini disebut ENQUEUE. DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array
  • 3.
    QUEUE LINIER ARRAY Terdapatsatu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya Sehingga membutuhkan 2 variabel: Head dan Tail
  • 4.
    DEKLARASI ANTRIAN DENGANSTRUCT Proses pendeklarasi antrian adalah proses pembuatan struktur antrian dalam memori. Struktur antrian terdiri dari data dalam array, head untuk menunjukkan ujung antrian dan tail untuk menunjukkan akhir antrian.
  • 5.
    INISIALISASI Proses pembuatan suatuantrian kosong. Proses inisialisasi untuk antrian yang menggunakan array adalah dengan mengisi nilai field head dan tail dengan 0 (nol) jika elemen pertama diawali dengan nomor 1. Jika elemen pertama array dimulai dengan 0 maka head dan tail diisi dengan nilai -1.
  • 6.
    QUEUE (4) IsEmpty() Untuk memeriksaapakah Antrian kosong atau tidak kosong Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah- ubah Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail
  • 7.
  • 8.
    ISFULL Untuk mengecek apakahAntrian sudah penuh atau belum. Operasi ini dilakukan dengan cara mengecek nilai tail. jika Tail = MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh (mengembalikan nilai 1 untuk return)
  • 9.
    ENQUEUE Untuk menambahkan elemenke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu Langkah operasi ini adalah : a. Periksa apakah kosong. Jika kosong maka ubah posisi head dan tail pada posisi 0, kemudian masukkan datanya. b. Jika antrian tidak kosong dan belum penuh, maka naikkan posisi tail sebesar 1, kemudian masukkan datanya. C. Jika antrian tidak kosong dan penuh, berarti antrian sudah penuh
  • 10.
  • 11.
    DEQUEUE Digunakan untuk menghapuselemen terdepan/pertama (head) dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Pergeseran dilakukan dengan menggunakan looping (decrement/pengurangan)
  • 12.
  • 13.
    CLEAR Untuk menghapus elemen-elemenAntrian dengan cara membuat Tail dan Head = -1 Penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya, namun hanya mengeser indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen antrian tidak lagi terbaca.
  • 14.
  • 15.
    TAMPIL Untuk menampilkan nilai-nilaielemen antrian Menggunakan looping dari head s/d tail
  • 16.

Editor's Notes

  • #2 Queue / Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (disebut dengan sisi belakang atau tail/rear) dan penghapusan atau pengambilan elemen dilakukan lewat ujung lain (disebut dengan sisi depan atau head/front).