Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

7

290 views

Published on

  • Be the first to comment

7

  1. 1. Queue (antrian) 10/12/2012 Nurdiansah PTIK 09 UNM 1
  2. 2.  Sebuah antrian adalah bagian dari struktur data linear. Konsepnya hampir mirip dengan stack. Bersifat FIFO (First In First Out) Elemen yang pertama masuk ke antrian akan keluar pertama kalinya DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular ArrayPendahuluan 10/12/2012 Nurdiansah PTIK 09 UNM 2
  3. 3. 10/12/2012 Nurdiansah PTIK 09 UNM 3
  4. 4.  Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya Sehingga membutuhkan 2 variabel: Head dan TailQueue linier array 10/12/2012 Nurdiansah PTIK 09 UNM 4
  5. 5. # define MAX 8Typedef struct { int data [MAX]; int head; int tail; } Queue;Queue antrian;Deklarasi queue 10/12/2012 Nurdiansah PTIK 09 UNM 5
  6. 6.  Create()  Untuk menciptakan dan menginisialisasi Queue.  Dengan cara membuat Head dan Tail = -1Operasi queue 10/12/2012 Nurdiansah PTIK 09 UNM 6
  7. 7.  Is Empty() ◦ Untuk memeriksa apakah Antrian sudah penuh atau belum ◦ Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty ◦ Kita tidak memeriksa Head, karena 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 10/12/2012 Nurdiansah PTIK 09 UNM 7
  8. 8. 10/12/2012 Nurdiansah PTIK 09 UNM 8
  9. 9.  Is Full () ◦ Untuk mengecek apakah Antrian sudah penuh atau belum ◦ Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh 10/12/2012 Nurdiansah PTIK 09 UNM 9
  10. 10. Enqueue◦ Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang◦ Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu 10/12/2012 Nurdiansah PTIK 09 UNM 10
  11. 11. 10/12/2012 Nurdiansah PTIK 09 UNM 11
  12. 12.  Dequeue() ◦ Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian ◦ Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 ◦ Penggeseran dilakukan dengan menggunakan looping 10/12/2012 Nurdiansah PTIK 09 UNM 12
  13. 13. 10/12/2012 Nurdiansah PTIK 09 UNM 13
  14. 14.  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 10/12/2012 Nurdiansah PTIK 09 UNM 14
  15. 15. 10/12/2012 Nurdiansah PTIK 09 UNM 15
  16. 16.  Tampil() ◦ Untuk menampilkan nilai-nilai elemen Antrian ◦ Menggunakan looping dari head s/d tail 10/12/2012 Nurdiansah PTIK 09 UNM 16
  17. 17. To be continue… 10/12/2012 Nurdiansah PTIK 09 UNM 17

×