Minggu, 21 Mei 2017

PERTEMUAN || QUEUE (ANTREAN)

PENGERTIAN QUEUE (ANTREAN)
Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang / ekor (Tail) dan operasi penghapusan hanya diperbolehkan pada sisi lainnya yang disebut sisi Depan / kepala (Head) dari LinkedList.

Prinsip Antrean : FIFO (First In First Out)
                            FCFS (First Come First Serve)
Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

Deklarasi Queue
OPERASI QUEUE
  • CREATE
    Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail  = -1
  • ISEMPTY
    Untuk memeriksa apakah queue kosong
  • ISFULL
    Untuk memeriksa apakah queue sudah penuh
  • ENQUEUE
    Untuk menambahkan item pada posisi paling belakang
  • DEQUEUE
    Untuk menghapus item dari posisi paling depan
  • CLEAR
    Untuk mengosongkan queue
Fungsi Create
  • Digunakan untuk membentuk dan menunjukan awal terbentuknya suatu Antrean / Queue
Fungsi IsEmpty
  •  Untuk memeriksa apakah Antrian penuh atau kosong
  •  Dengan cara memeriksa nilai Tail, jika Tail = -1 maka antrian kosong (empty)
  •  Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
  •  Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail
Int IsEmpty()
{
   if (antrian.tail == -1)
        return 1;
   else
        return 0;
}

Fungsi IsFull
  •   Untuk mengecek apakah Antrian sudah penuh atau belum
  •   Dengan cara :
    - Mengecek nilai Tail
    - Jika tail = MAX-1 berarti antrian sudah penuh
      (MAX-1 adalah batas elemen array dalam  
       program C++)

Int IsFull()
{
   if (antrian.tail == Max-1)
        return 1;
   else
        return 0;
}
Fungsi Enqueue
  • Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu dilakukan pada     elemen paling belakang
  • Penambahan elemen selalu menggerakan variabel Tail dengan cara menambahkan Tail terlebih dahulu
Fungsi Dequeue
  • Digunakan untuk menghapus elemen terdepan (head) dari Antrian
  • Dengan cara : menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1. Penggeseran dilakukan dengan menggunakan looping
Fungsi Clear
  • Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
  • Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca sehingga mengembalikan antrian seperti keadaan semula
Latihan I Struktur Data (Pertemuan 6)

Berikan gambaran/ilustrasi dari kasus antrian berikut :
  1. Diketahui suatu Antrian/queue dgn max = 6.
  2. Lakukan Enqueue 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 ?

Tidak ada komentar:

Posting Komentar

PERTEMUAN || QUEUE (ANTREAN)

PENGERTIAN QUEUE (ANTREAN) Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi pemasukan data hanya ...