Tugas VI ilustrasi dari kasus antrian
Soal
Berikan gambaran/ilustrasi dari
kasus antrian berikut !
1.
Diketahui suatu antrian / queue dengan max= 6.
2.
Lakukan enqueu 4 elemen ke dalam antrian,
dimanakah posisi Head dan Tail ?
3.
Kemudian lakukan dequeue 2 elemen dari antrian .
Maka dimana posisi Head dan Tail ?
4.
Dari keadaan diatas, bagaimanakah kondisi IsFull
dan IsEmpty nya ?
QUEUE
Secara harfiah
queue dapat diartikan sebagai antrean. Queue merupakan kumpulan data dengan
penambahan data hanya dapat dilakukan melalui satu sisi, yaitu belakang (tail)
dan penghapusan data hanya melalui sisi depan (head). Queue bersifat FIFO(First
In First Out), yaitu data yang pertama masuk akan keluar terlebih dahulu dan
data yang terakhir masuk akan keluar terakhir.
Elemen yang
pertama kali masuk kedalam queue disebut elemen depan (front/head of queue),
sedangkan elemen yang terakhir kali masukk queue disebut elemen belakang
(rear/tail of queue).
Aturan
penambahan dan penghapusan elemen pada queue, yaitu pada penambahan elemen
selalu di lakukan melalui salah satu ujung, menempati posisi di belakang
elemen-elemen yang sudah masuks ebelumnya atau menjadi elemen paling belakang.
Sedangkan penghapusan elemen dilakukan di ujung yang berbeda, yaitu pada posisi
elemen yang masuk paling awal atau elemen terdepan.
Contoh Program
PROGRAM ANTRIAN_ARRAY_STATIS;
USES
winCRT;
CONST
MAX_QUEUE = 6;
TYPE
QUEUE = ARRAY[1..MAX_QUEUE] OF CHAR;
VAR
ANTRIAN
: QUEUE;
I :
INTEGER;
DEPAN
: INTEGER;
BELAKANG
: INTEGER;
PILIH
: CHAR;
ELEMEN : CHAR;
PROCEDURE CLEAR;
VAR
I : INTEGER;
BEGIN
FOR I := 1 TO 10 DO
BEGIN
GOTOXY(62 - 4 * I, 19);WRITELN('
');
END;
END; {*Procedure HUPUS*}
{****************************************************************
* Fungsi untuk menge-cek keadaan antrian ( Penuh atau Kosong ) *
****************************************************************}
{***************************************
*
Procedure menampilkan antrian data. *
***************************************}
PROCEDURE TAMPILKAN( X :INTEGER);
VAR
I : INTEGER;
BEGIN
FOR I := 1 TO X DO
BEGIN
GOTOXY(18 + 4 * I, 19);
WRITE(ANTRIAN[I]);
END;
END; {*Procedure TAMPILAKAN*}
0 komentar: