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>";
?>
/*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
Sign up here with your email
ConversionConversion EmoticonEmoticon