Anda di halaman 1dari 17

Struktur Data

Queue/Antrian
Tujuan Pembelajaran

• Mahasiswa memahami konsep antrian


• Mahasiswa dapat mempraktikan konsep antrian
Pendahuluan

• Proses Antrian Masuk


• Proses Antrian Keluar
Skema Antrian

D C B A
Masuk Rear

D C B
Rear Front Keluar

D C B A
Rear Front Keluar
FIFO

• First In First Out(FIFO)


• Elemen yang pertama kali masuk ke antrian akan keluar
pertama kalinya
• Antrian dapat dibuat dengan menggunakan: Liniear Array
dan Circular Array
Definisi Antrian & Perbedaan

• Queue
• Metode yang digunakan FIFO
• Menambah data dilakukan di ujung belakang (rear) dan
mengambil/menghapus data di ujung depan (front)
• Contoh : Antrian mobil di Pom Bensin, Antrian di Bank
Prinsip Kerja dan Operasi Antrian

• Proses:
• Tahap pertama: Awal inisialisasi
• Tahap kedua: melakukan Insert
• Tahap ketiga: melakukan Delete
• Tahap keempat: melakukan Reset
• Operasi:
• EnQueue: Menambahkan data dalam antrian
• DeQueue: Mengeluarkan data dari antrian
• Clear: Menghapus antrian
• IsEmpty: Periksa apakah antrian kosong
• IsFull: Periksa apakah antrian penuh
Operasi-operasi pada Antrian

Create()
• Untuk menciptakan dan menginisialisasi Queue
• Dengan cara membuat Head dan Tail = -1
Operasi-operasi pada Antrian

Is Empty()
• Untuk memeriksa apakah Antrian sudah penuh atau belum
• Dengan cara memeriksa nilai Tail, jika Tail = -1 atau 0 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
Operasi-operasi pada Antrian

Is Empty()  Prosedur
Operasi-operasi pada Antrian
• IsFull()
• Untuk mengecek apakah Antrian sudah penuh atau belum
• Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena
MAX-1 adalah batas elemen array pada C) berarti sudah penuh
Operasi-operasi pada Antrian

• Enqueue(data)
• 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
Operasi-operasi pada Antrian

• Enqueue(data)
• 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
Operasi-operasi pada Antrian

• Enqueue(data)
• 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
Operasi-operasi pada Antrian

• Dequeue()
• Digunakan untuk menghapus elemen terdepan/pertama dari Antrian
• Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian
kedepan.
• Penggeseran dilakukan dengan menggunakan looping
Operasi-operasi pada Antrian
• Clear()
• Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan
Head = -1
• Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus
arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1
sehingga elemen elemen Antrian tidak lagi terbaca
Operasi-operasi pada Antrian
• Tampil()
• Untuk menampilkan nilai-nilai elemen Antrian
• Menggunakan looping dari head s/d tail

Anda mungkin juga menyukai