QUEUE
QUEUE (ANTRIAN) Adalah antrian data yang seolah-olah ada data yang mengantri dari yang terawal sampai yang terakhir Suatu metode untuk Input dan hapus di dalam memori komputer Konsep utama dalam Queue FIFO ( First In First Out ) Contoh: 1.Siswa1, 2.Siswa2, 3.Siswa3 ,4.Siswa4 ,5.Siswa5 Data nomor 1(satu) datang/masuk duluan, data nomor 1(satu) juga yang keluar terlebih dahulu.
QUEUE (ANTRIAN) DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array Contoh: 1.Siswa1, 2.Siswa2, 3.Siswa3 ,4.Siswa4 ,5.Siswa5 1.Siswa1 2.Siswa2, 3.Siswa3 ,4.Siswa4 ,5.Siswa5 Loket Loket
QUEUE (ANTRIAN) Dikenali elemen pertama (Head) dan elemen terakhirnya (Tail) Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai berikut: Penyisipan selalu dilakukan setelah elemen terakhir Penghapusan selalu dilakukan pada elemen pertama Satu elemen dengan elemen lain dapat diakses melalui informasi Next
Algoritma Input/tambah data Jika ada input maka nomor queue/nomor antrian yang semula 0 akan tambah 1(satu) demi 1(satu) sampai maksimal antrian. Pengambilan data Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi antriannya yang semula maksimal akan berkurang 1(satu) demi 1(satu) sampai posisi 0 kembali.
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
Queue Linier Array Pendeklarasian Queue bisa dilakukan dengan menggunakan Struck
Operasi-operasi Pada Queue Create() Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1 (karena menggunakan array dimana indek dimulai dari 0, sehingga saat antrian tidak ada artinya indek 0 tidak ada isinya Head&Tail = -1)
Operasi-operasi Pada Queue IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum 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
Operasi-operasi Pada Queue IsEmpty()
Operasi-operasi Pada Queue 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 Queue 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
Operasi-operasi Pada Queue Enqueue
Operasi-operasi Pada Queue Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping
Operasi-operasi Pada Queue Dequeue()
Operasi-operasi Pada Queue 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 Queue Clear()
Operasi-operasi Pada Queue Tampil() Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping dari head s/d tail