Antrean (Queue) - Simulasi Queue Dan Contoh Program Queue Pada Program C++
Queue adalah asal kata dari bahasa inggris yang artinya Antrian, dalam artikel contoh program kali ini saya akan memberikan contoh program dengan konsep antrian dengan bahasa C++ sederhana.
Penjelasan Queue
Antrian dalam kehidupan kita adalah misalnya ketika sedang mengantri pemesanan tiket, setiap antrian memiliki nomor yang urut, siapa saja yang mengantri paling awal mereka akan mendapatkan tiket lebih awal dari antrian lainnya otomatis urutan antrian tersebut keluar dari antrian, itu juga yang disebut dengan konsep FIFO (pertama kali masuk, pertama kali keluar)
Kode Program Queue
Implementasi program antrian ini adalah hanya menggunakan nomor saja seperti yang ada pada antrian antrian lainya seperti antrian pengambilan obat, pembelian tiket, antrian objek pangkalan dll ketika user menambah antrian maka muncul nomor secara berurut.
Untuk programnya sendiri kita harus membuat beberapa fungsi, variabel, dll. Berikut tahap pembuatan program beserta penjelasan setiap kode programnya :
Awal dari program head dan tail berada pada awal antrian
Mendefinisikan Header Program
Header file yang dibutuhkan sesuai dengan kebutuhan masing-masing, di program ini kita mendefinisikan iostream untuk input, output, conio untuk menggunakan getch() begitu juga stdlib untuk menggunakan system("cls") Dan define MAX untuk memberikan batas queue yang akan kita buat.
Membuat Deklarasi Variable
Variabel nomor menggunakan array yang batas nya sesuai dengan MAX tadi diatas, serta head dan tail adalah bagian awal dan akhir dari antrian.
Membuat fungsi untuk pengecekan antrian (queue)
Fungsi diatas untuk pengecekan pada antrian yang sudah dibuat,
- isEmpty() untuk mengecek apakah antrian kosong atau tidak, karena tail bagian akhir antrian, jika tail = -1 maka antrian jelas kosong. Maka dalam isEmpty ini mengembalikan nilai true
- isFull untuk mengecek apakah antrian penuh atau tidak karena tail bagian akhir antrian, jika tail = max-1 maka jelas antrian itu sudah penuh sama dengan max = 1000, maka isFull ini mengembalikan nilai true.
Membuat fungsi untuk memasukkan antrian (queue) kedalam array
Pada fungsi inilah fungsi seperti isEmpty dan isFull digunakan, Antrian masuk memiliki parameter, jadi nanti di fungsi main no akan dideklarasikan sebagai nomor urut untuk antriannya.
Jika isEmpty berniali true berarti nilai tail = -1 jadi masuk ke if, maka nilai head dan tail menjadi 0, agar index array dimulai 0, jadi selanjutnya index menjadi nomer[0]=no; pada index ke 0 akan diisikan nilai no yang ada ada pada parameter fungsi
Jika isEmpty bernilai false berarti tail>-1 jadi masuk ke else yang kemudian nilai tail+1, selanjutnya nomer[tail] = no;
Membuat fungsi untuk mengurangi/menghapus antrian (queue) dalam array
Pada fungsi ini juga isEmpty dan isFull digunakan, jika isEmpty bernilai true berarti tail = -1 maka emang antrian tidak ada karena tail bagian akhir antrian.
Jika isEmpty bernilai false akan mengeksekusi bagian else, melakukan perulangan lalu setelah itunilai tail -1, seperti pada implementasi dibawah ini.
if else pada blog dibagian bawah untuk pengecekan saja jika tai = -1 maka head juga disamakan menjadi 1 agar program sesuai yang kita inginkan.
Fungsi untuk mengahpus semua antrian (queue)
menghapus semua antrian berarti sama saja dengan menghapus semua yang ada didalam array, cukup dengan memberikan niali -1 pada head dan tali yang artinya mereset semua nilai tail nya.
Fungsi untuk melihat semua antrian (antrian) yang ada
Untuk mencetak antrian yang ada menggunaka for isi array yang ada dalam nomor dicetak sesuai dengan nilai head dan tailnya kosong
Fungsi Main
Menu tambah antrian pada choose == 1
Fungsi isFull digunakan untuk mengecek, jika isFull mengembalikan nilai true berarti nilai tail = MAX - 1 (tail = 999) maka jelas antrian sudah penuh,n tidak bisa ditambah lagi, kecuali memanggil antrian selanjutnya.
Jika isFull mengembalikan nilai false berarti program akan mengeksekusi else, variabel urut untuk wadah nomer yang otomatis bertambah ketika antrian ditambahkan, sedangkan variabel p sebagai variabel untuk penambahan nomer antrian jadi setiap user memilih tambah antrianmaka p + 1, dan variabel urut inilah untuk dijadikan parameternya fungsi AntrianMasuk(urut);
Sedangkan tail disini untuk menampilkan berapa antrian yang ada sekarang, jadi untuk memberitahukan user harus mengantri berapa antrian lagi.
Menu tambah antrian pada choose ==2
Menampilkan antrian yang paling awal pada antrian lalu memanggil fungsi Antrian Keluar() untuk menghapus antrian awal tersebut.
Menu tambah antrian pada choose ==3
Memanggil fungsi View yaitu melihat antrian yang ada saat ini
Menu tambah antrian pada choose ==4
Memanggil fungsi Clear untuk menghapus semua antrian
Menu tambah antrian pada choose ==5
Keluar dari blog do wile dan program selesai
Komentar
Posting Komentar