SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Queue (antrian)




     10/12/2012   Nurdiansah PTIK 09 UNM   1
   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 Array



Pendahuluan
                           10/12/2012   Nurdiansah PTIK 09 UNM   2
10/12/2012   Nurdiansah PTIK 09 UNM   3
   Terdapat satu buah pintu masuk di suatu ujung
    dan satu buah pintu keluar di ujung satunya
   Sehingga membutuhkan 2 variabel: Head dan
    Tail




Queue linier array
                            10/12/2012   Nurdiansah PTIK 09 UNM   4
# define MAX 8
Typedef struct {
               int data [MAX];
               int head;
               int tail;
          } Queue;
Queue antrian;




Deklarasi queue
                        10/12/2012   Nurdiansah PTIK 09 UNM   5
   Create()
      Untuk menciptakan dan menginisialisasi
       Queue.
      Dengan cara membuat Head dan Tail = -1




Operasi queue
                          10/12/2012   Nurdiansah PTIK 09 UNM   6
 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
10/12/2012   Nurdiansah PTIK 09 UNM   8
 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
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
10/12/2012   Nurdiansah PTIK 09 UNM   11
   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
10/12/2012   Nurdiansah PTIK 09 UNM   13
   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
10/12/2012   Nurdiansah PTIK 09 UNM   15
   Tampil()
    ◦ Untuk menampilkan nilai-nilai elemen Antrian
    ◦ Menggunakan looping dari head s/d tail




                              10/12/2012   Nurdiansah PTIK 09 UNM   16
To be continue…
          10/12/2012   Nurdiansah PTIK 09 UNM   17

Weitere ähnliche Inhalte

Andere mochten auch (6)

11
1111
11
 
12
1212
12
 
Pert.3 proses dan thread
Pert.3 proses dan threadPert.3 proses dan thread
Pert.3 proses dan thread
 
Pert.11 linux
Pert.11 linuxPert.11 linux
Pert.11 linux
 
Pert.10 manajemen disk
Pert.10 manajemen diskPert.10 manajemen disk
Pert.10 manajemen disk
 
Pert.9 input output
Pert.9 input outputPert.9 input output
Pert.9 input output
 

Ähnlich wie Queue FIFO data structure

Ähnlich wie Queue FIFO data structure (8)

Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 
Queue
QueueQueue
Queue
 
Bab 5 queue_antrian_
Bab 5 queue_antrian_Bab 5 queue_antrian_
Bab 5 queue_antrian_
 
Queue
QueueQueue
Queue
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Queue
Queue Queue
Queue
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
 

Mehr von Ical Militanmannojack (20)

Pert.8 memori virtual
Pert.8 memori virtualPert.8 memori virtual
Pert.8 memori virtual
 
Pert.7 memori
Pert.7 memoriPert.7 memori
Pert.7 memori
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Pert.12 modul kernel linux
Pert.12 modul kernel linuxPert.12 modul kernel linux
Pert.12 modul kernel linux
 
Pert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutanPert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutan
 
Pert.2 proteksi perangkat keras
Pert.2 proteksi perangkat kerasPert.2 proteksi perangkat keras
Pert.2 proteksi perangkat keras
 
Pert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasiPert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasi
 
10
1010
10
 
8
88
8
 
9
99
9
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
Pert.4 record
Pert.4 recordPert.4 record
Pert.4 record
 
Pert.3 array
Pert.3  arrayPert.3  array
Pert.3 array
 
Pert.6 stack
Pert.6 stackPert.6 stack
Pert.6 stack
 
Pert.2 konsep dan defenisi data
Pert.2  konsep dan defenisi dataPert.2  konsep dan defenisi data
Pert.2 konsep dan defenisi data
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11
 
Analisis desain sistem informasi ppt.10
Analisis desain sistem informasi ppt.10Analisis desain sistem informasi ppt.10
Analisis desain sistem informasi ppt.10
 
Analisis desain sistem informasi ppt.8
Analisis desain sistem informasi ppt.8Analisis desain sistem informasi ppt.8
Analisis desain sistem informasi ppt.8
 

Queue FIFO data structure

  • 1. Queue (antrian) 10/12/2012 Nurdiansah PTIK 09 UNM 1
  • 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 Array Pendahuluan 10/12/2012 Nurdiansah PTIK 09 UNM 2
  • 3. 10/12/2012 Nurdiansah PTIK 09 UNM 3
  • 4. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya  Sehingga membutuhkan 2 variabel: Head dan Tail Queue linier array 10/12/2012 Nurdiansah PTIK 09 UNM 4
  • 5. # define MAX 8 Typedef struct { int data [MAX]; int head; int tail; } Queue; Queue antrian; Deklarasi queue 10/12/2012 Nurdiansah PTIK 09 UNM 5
  • 6. Create()  Untuk menciptakan dan menginisialisasi Queue.  Dengan cara membuat Head dan Tail = -1 Operasi queue 10/12/2012 Nurdiansah PTIK 09 UNM 6
  • 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. 10/12/2012 Nurdiansah PTIK 09 UNM 8
  • 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. 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. 10/12/2012 Nurdiansah PTIK 09 UNM 11
  • 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. 10/12/2012 Nurdiansah PTIK 09 UNM 13
  • 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. 10/12/2012 Nurdiansah PTIK 09 UNM 15
  • 16. Tampil() ◦ Untuk menampilkan nilai-nilai elemen Antrian ◦ Menggunakan looping dari head s/d tail 10/12/2012 Nurdiansah PTIK 09 UNM 16
  • 17. To be continue… 10/12/2012 Nurdiansah PTIK 09 UNM 17