Pengertian Queue dan Contoh Program C++
Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran elemen dilakukan pada sisi depan. Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Antrian banyak dijumpai dalam kehidupan sehari-hari. Misal : antrian registrasi mahasiswa, tiket kereta api dan lain-lain. Berbeda dengan stack, prinsip yang digunakan dalam antrian adalah FIFO ( First In First Out ). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya.
Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah penakai ( user ) yg menggunakan sistem tsb secara serempak. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya. Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan ANTRIAN PRIORITAS ( PRIORITY QUEUE )
[post_ad]Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya. DEQUEUE adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan Tail
Deklarasi Awal Queue
Variabel yang akan digunakan adalah data (array sebagai tempat queue), head, tail. Sama seperti Stack, Nilai dari head dan tail dimulai dari -1 yang menandakan queue kosong. Sebagai contoh kita akan membuat queue dengan data maksimal sebanyak 7 data.
IsEmpty
Sama seperti di Stack, IsEmpty berguna untuk mengecek apakah queue kosong atau tidak. Indikator bahwa queue kosong adalah nilai dari head dan tail bernilai -1. Sehingga kita tinggal buat fungsi nya sebagai berikut :
IsFull
Operasi IsFull digunakan untuk mengecek apakah queue sudah penuh atau belum. Indikator kalau queue penuh adalah nilai tail = max – 1. Mengapa? karena nilai maksimal pada array yang mempunyai index 7 pada saat diakses akan mempunyai nilai maksimal 6. Sehingga fungsi yang terbentuk seperti ini :
Enqueue
Enqueue digunakan untuk memasukkan data kedalam queue. Sama seperti push dalam stack. Sebelum memasukkan data kedalam antrian, kita harus mengecek terlebih dahulu apakah queue / antrian sudah penuh atau belum. Kalau belum maka kita harus mengecek apakah head sudah berada pada nilai 0 atau belum. Ini sangat penting karena nilai head tidak akan lebih dari 0. PERLU DIPERHATIKAN ! Yang akan bergerak terus adalah tail, sedangkan head hanya penunjuk urutan paling depan, sehingga nilainya tidak pernah lebih dari 0. Kecuali antrian kosong, maka posisi head dan tail akan kembali menjadi -1.
Dequeue
Kebalikan dari fungsi enqueue, dequeue digunakan untuk mengambil data yang sudah masuk di urutan pertama. Sehingga kita tinggal membaca data yang ada di posisi head. Nah inilah fungsi dari head. Jangan lupa kita cek dulu apakah queue kosong atau tidak. Tapi jika ada isinya, setelah data diambil, data dibelakangnya digeser ke depan.
Clear
Operasi clear digunakan untuk menghapus data yang ada di dalam queue. Caranya cukup merubah nilai pada head dan tail menjadi -1. Tidak perlu diperhatikan data yang ada di dalam array. Nantinya data data tersebut juga akan ditimpa.
View
Operasi ini digunakan untuk melihat data yang ada didalam queue. Caranya adalah dengan membaca data pada index yang terdapat diantara head sampai tail
Contoh Program Queue
*Source code dibawah dibuild menggunakan Visual C++ 2013
Cukup segitu penjelasan mengenai Queue, semoga anda memahami isi artikel diatas, jika ada yang belum dipahami anda bisa bertanya melalui form komentar dibawah, segera mungkin akan saya jawab. Jangan lupa juga membanca penjelasan materi tentang pemprograman C++ lainnya :
- Pengenalan Variabel
- Array Satu Dimensi dan Array Dua Dimensi
- Stack
- Sorting (Selection Sort dan Insertion Sort)
- Searching (Sequential Search dan Binarry Search)
sumber :
Buku Pemprograman C# Abdul Kadir
Pengertian Queue dan Contoh Program C++
Reviewed by Unknown
on
22:53:00
Rating:
No comments: