Header Ads

Queue dalam Bahasa Pemrograman C++

Queue dalam Bahasa Pemrograman C++

Pengertian Queue

Queue bisa diartikan sebagai antrian, Queue dalam pemrograman menggunakan prinsip FIFO (First In First Out). Mirip seperti halnya kita mengantri di suatu tempat. Orang yang pertama kali mengantri akan dilayani pertama kali. Dalam Pemrograman, antrian/ Queue disini adalah data. Data yang pertama kali diinput ke dalam suatu array akan menjadi yang data pertama kali dioutputkan. Contoh Ilustrasi:

Ilustrasi Queue
Data A, B, C masuk ke dalam antrian secara berurutan. Kemudian Data yang masuk ke dalam antrian pertama kalian akan menjadi data yang pertama keluar.

















Dalam queue terdapat beberapa operasi , yaitu :
  1. Deklarasi dan Inisialisasi Queue: membuat array 1 dimensi dan membuat tanda bahwa queue dalam keadaan kosong
  2. InsertQueue : Menambahkan/Mengisi/Menginput data di queue
  3. DeleteQueue : Mengambil/Mengeluarkan data dari queue
  4. Reset : untuk menset ulang agar Front dan Rear menjadi seperti semula dengan begitu Queue akan menjadi kosong.
Berbeda dengan stack, queue mempunyai 2 kata kunci, yaitu Front dan Rear. Front adalah penanda urutan paling depan, sedangkan Rear adalah penanda urutan paling belakang.

Kondisi yang ada dalam Queue:












Penjelasan lebih lengkap tentang Operasi yang ada dalam Queue:
  1. Deklarasi dan Inisialisasi:

    Variabel yang akan digunakan adalah Q (array 1 Dimensi sebagai tempat queue), front, rear. Nilai dari front=0 dan rear=-1 yang menandakan queue kosong.  Sebagai contoh kita akan membuat queue dengan data maksimal sebanyak 5 data.

    Deklarasi dan Inisialisasi Queue











    Ilustrasi:
    Ilustrasi Inisialisasi Queue

    Front menandakan tanda depan dari antrian, Rear mengartikan tanda belakan antrian. Dalam ilustrasi ini menandakan Queue sedang kosong.

  2. InsertQueue

    Untuk menambah data ke dalam Queue yang bergerak adalah Rear nya. Algoritmanya bisa dibuat seperti ini:



    Ilustrasi:


    InsertQueue bisa dilakukan jika memenuhi kondisi Bisa Diisi (R<n-1). Jika memenuhi kondisi Rear nya akan bertambah kemudian menempati posisi disebelah kanan, kemudian data yang ingin diinput yang berada di variabel x dicopykan ke Rear yang telah berpindah tadi.

  3. DeleteQueue

    Untuk menghapus atau mengeluarkan data yang berada di dalam Queue yang bergerak adalah Front nya. Algoritmanya bisa dibuat seperti berikut:


    Ilustrasi:


    Data yang berada di indeks ke 0, akan dipindah ke variabel x, kemudian tanda Front nya akan pindah ke sebelah kanan, dimana indeks ke 1 sekarang akan menjadi Front.


  4. Reset
    untuk set ulang queue agar Front dan Rear menjadi seperti semula dengan begitu Queue akan menjadi kosong. ini dibutuhkan saat Front dan Rear diujung/bagian terluar array. Algoritma nya:


    Ilustrasi:


    Pada Ilustrasi di atas perlu dilakukan reset, yaitu mengembalikan posisi Front dan Rear seperti saat awal inisialisasi.

Contoh Studi Kasus:
Membuat data mahasiswa dengan struct yang berisi NIM, Nama, dan IPK. Menggunakan Queue. Menginputkan data mahasiswa satu per satu dan mengoutput / menghapus data mahasiswa satu per satu dari dalam Queue.

Programnya:




Running Program Di Atas




Referensi:
Materi Dosen Struktur Data, YOHANA NUGRAHENI, S.Kom.,MT





1 komentar:

  1. Luckyland Casino $50 No Deposit Bonus + $10 Free - KTM
    Luckyland Casino 여수 출장안마 offers a $50 No Deposit Bonus + $10 Free Luckyland Casino 구리 출장안마 offers a $50 no deposit bonus + 제천 출장안마 $10 Free Casino 광주 출장마사지 Bonus + $10 서산 출장샵 Free  Rating: 5 · ‎1 review

    BalasHapus

Diberdayakan oleh Blogger.