Struktur Data Antrian (Queue)

Queue atau antrian merupakan konsep jalur tunggu, dimana objek yang datang terlebih dahulu akan dilayani lebih awal.

Bisa dibayangkan pada suatu fasilitas kesehatan (puskesmas, klinik ataupun rumah sakit), dimana pasien akan datang kemudian mengambil nomor antrian/nomor urut. Kemudian pelayanan kesehatan akan mengikuti urutan tersebut.

Dalam aplikasi komputer antrian didefinisikan sebagai list dimana penambahan data dilakukan di belakang dan penghapusan / pengambilan data dari ujung depan, atau dikenal sebagai struktur data FIFO (First In First Out).

Terdapat 2 fungsi penting dalam struktur data antrian yaitu addQueue (tambah antrian) dan deQueue (menghapus antrian).

PHP
<?php

/*inisialisasi atas dan batas atas*/
$awal = -1;
$batasAtas = 10;
$antrian = null;

/*fungsi push*/
function addQueue($_antrian, $_data) {

/*untuk menggunakan variabel global*/
global $awal, $batasAtas, $antrian;

if ($awal >= $batasAtas) {

echo "Antrian sudah penuh <br>";

} else {

echo "Tambah antrian data ".$_data."<br>";
$awal = $awal + 1;
$antrian[$awal] = $_data;

}

}

/*fungsi pop*/
function deQueue($_antrian) {

/*untuk menggunakan variabel global*/
global $awal, $batasAtas, $antrian;

if ($awal < 0) {

echo "Maaf antrian kosong <br>";

} else {

echo "Menghapus antrian data ".$antrian[0]."<br>";

for ($i = 1; $i<=$awal; $i++) {

$antrian[$i-1] = $antrian[$i];
unset($antrian[$i]);

}

$awal = $awal-1;

}

}

addQueue($antrian, "AAA");
addQueue($antrian, "AAB");
addQueue($antrian, "AAC");
addQueue($antrian, "AAD");
addQueue($antrian, "AAE");
addQueue($antrian, "AAF");
addQueue($antrian, "AAG");
addQueue($antrian, "AAH");
addQueue($antrian, "AAI");
addQueue($antrian, "AAJ");
addQueue($antrian, "AAK");
addQueue($antrian, "AAL");
echo "jumlah antrian : ".count($antrian)."<br><br>";

deQueue($antrian);
deQueue($antrian);

echo "jumlah antrian : ".count($antrian)."<br><br>";

?>

Sumber :
- Modul Praktikum Struktur Data STMIK Akakom Yogyakarta
Previous
Next Post »