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: