QUEUE/ ANTRIAN PERBEDAAN QUEUE DAN STACK • STACK ADALAH SEBUAH TEMPAT UNTUK STRUKTUR DATA YANG MEMUNGKINKAN MELAKUKAN PUSH DAN POP • QUEUE ADALAH SEBUAH TEMPAT DALAM STRUKTUR DATA YANG MEMUNGKINKAN UNTUK MELAKUKAN ENQUEUE DAN DEQUEUE QUEUE • Sebuah daftar urutan/antrian yang jika selesai antrian yang paling pertama maka akan dihapus dan dilanjutkan lagi dengan yang ada dibelakangnya. • First In-First Out(FIFO) – Elemen berada Dalam Urutan tetapi tidak Memiliki Indeks. Elemen hanya bisa ditambahkan diakhir queue. dan hanya bisa dihapus Di depan queue. QUEUE • Operasi dasar queue – Add ( enqueue ) : menambahkan entri di belakang – Remove ( dequeue ) : menghapus entri di depan – Peek : Mengambil atau menampilkan data yang ada didepan tetapi hanya mengintip atau sekedar melihat – Pool : Sama halnya dengan peek tetapi bisa menghapus data QUEUE • Operasi lain Queue – Create : Untuk menciptakan dan menginisialisasi Queue – Dengan cara membuat Head dan Tail = -1 QUEUE • Operasi lain Queue – IsEmpty : Untuk memeriksa apakah Antrian sudah penuh atau belum – Pergerakan pada Antrian terjadi dengan penambahan Tail QUEUE • Operasi lain 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. QUEUE • Operasi lain Queue – Clear : Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 QUEUE • Operasi lain Queue – Tampil : Untuk menampilkan nilai-nilai elemen Antrian – Menggunakan looping dari head ke tail PENERAPAN QUEUE • DALAM KEHIDUPAN SEHARI-HARI : • Mengantri • Pembayaran administrasi pada suatu universitas • DALAM SEBUAH ILMU KOMPUTER • Threads • Penjadwalan CPU : contohnya RR (Round Robin) QUEUE DALAM ILMU KOMPUTER • • Sistem Operasi • Antrian dalam mencetak sebuah dokumen pada printer • Antrian menjalankan proses program aplikasi • Antrian pengiriman paket-paket data dalam sebuah jaringan Programing • Permodelan garis pelanggan atau klien pada sebuah program • • Menyimpan perhitungan antrian yang dilakukan secara berurutan pada program Contoh di dunia nyata • Orang-orang menunggu untuk menaiki escalator • Kendaraan yang mengantri di pengisian bahan bakar QUEUE LINEAR ARRAY • Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar. • Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya • Sehingga membutuhkan 2 variabel: Head dan Tail QUEUE CIRCULAR ARRAY • Salah satu variasi array adalah array melingkar (circular array), artinya array dapat diakses mulai dari sembarang indeks (indeks awal) kearah indeks terakhir (maksimum array), lalu memutar ke indeks pertama hingga kembali ke indeks awal. • Circular array adalah array yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal dan titik akhir saling bersebelahan jika array tersebut masih kosong. • Jumlah data yang dapat ditampung oleh array ini adalah besarnya ukuran array dikurangi 1. • Misalnya besar array adalah 8, maka jumlah data yang dapat ditampung adalah 7. QUEUE DENGAN ARRAY • Bersifat FIFO (First In First Out) • Elemen yang pertama masuk ke antrian akan keluar pertama kalinya • DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian • Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array FIRST IN FIRST OUT rear A front B A rear front C B A rear front D C B A rear front D C B rear front OPERASI QUEUE • Sebuah queue dapat diartikan seperti orang-orang yang sedang menunggu antrian setor tunai ke teller bank. Queue mempunyai depan dan belakang (front dan rear)/(head dan tail). Rear Front OPERASI QUEUE • Sekarang ada lagi masuk orang mengantri ke teller melalui belakang (rear). Ini biasa disebut operasi enqueue. OPERASI QUEUE • Ketika orang antrian terdepan meninggalkan posisinya atau dalam kasus ini telah menuju ke teller dan diisi oleh antrian berikutnya maka biasanya dipanggil dengan operasi dequeue. JADI SEPERTI APA QUEUE ITU ? • Menambahkan data dibelakang • Menghapus data yang ada didepan Adding Adding Deleting Deleting C B A rear rear front front