SlideShare a Scribd company logo
1 of 12
Download to read offline
Antrian 
Algoritma dan 
Struktur Data 
Georgius Rinaldo 
dodo@kuliahkita.com
Pendahuluan 
Antrian adalah sebuah struktur penyimpanan data yang 
menyimpan data sesuai urutan dan proses pengambilan 
seperti antrian. 
Antrian memiliki prinsip First in First Out (FIFO). Karena 
seperti layaknya antrian, data yang dimasukkan pertama 
akan diambil terlebih dahulu.
Metode pada Antrian 
Terdapat beberapa method dasar pada queue: 
1. Enqueue : menambahkan data ke queue di paling 
belakang 
2. Dequeue : mengambil dari antrian paling depan, 
elemen akan hilang 
3. Peek : memeriksa data antrian pertama 
4. IsEmpty : memeriksa apakah antrian kosong
Struktur Antrian 
Antrian juga mirip dengan tumpukan yang serupa dengan 
list, hanya saja pop pada queue akan mengembalikan 
elemen yang masuk setelah elemen terdepan yang di-pop 
Peek Enqueue 
Dequeue
Antrian Senarai 
Karena memang memiliki dasar yang sama dengan list, 
Antrian dapat digambarkan sebagai list linier dengan: 
1. Kepala : elemen pertama 
2. Ekor : elemen terakhir 
3. Aturan penyisipan pada elemen terakhir, dan 
penghapusan / pengambilan pada elemen pertama 
Head Tail
Contoh Antrian Terbatas(Larik) 
Head, Front IdxMax 
x x x x x x 
Posisi Head = Tail (queue kosong)
Contoh ADT Array Queue Integer 
type Queue: < integer capacity /* kapasitas queue*/ 
integer tail /* indeks queue */ 
integer infoTail /* nilai teratas pada queue */ 
integer Q[capacity] /* Q menampung elemen queue */ > 
/* mengembalikan nilai terdepan dari queue */ 
function peek(Input Q: Queue) → integer 
/* mengembalikan nilai pada queue*/ 
function infoTail(Input Q: Queue) → integer 
/* memeriksa apakah queue kosong */ 
function isEmpty(Input Q: Queue) → boolean 
/* menginisialisasi queue */ 
Procedure buatQueue(Output Q: Queue) 
/* menambah nilai pada queue */ 
Procedure enqueue(Input/Output Q: Queue, X: in integer) 
/* mengambil nilai dari queue */ 
Procedure dequeue(Input/Output S: Stack, Output X: integer)
Penjelasan TDA Antrian 
Seperti tumpukan, antrian juga memiliki kapasitas yang 
menyaktan jumlah elemen yang bisa diisi pada 
penampung berbentuk larik, karena larik ini juga akan 
didefinisikan dengan besar = kapasitas. 
Tail merupakan indeks kosong terakhir antrian sehingga 
kita tidak perlu lagi mencari indeks terakhir pada larik 
penampung yang telah terisi jika ingin melakukan operasi. 
Sedangkan infoTail yang diset juga untuk dapat langsung 
mengembalikan nilai terdepan.
Contoh Kode C++ Array Queue Integer 
#include <iostream> 
using namespace std; 
typedef struct queue { 
int capacity; /* kapasitas antrian */ 
int tail; /* informasi indeks dari elemen kosong terakhir pada antrian */ 
int infoTail; /* informasi dari elemen informasi dari elemen terakhir pada antrian */ 
int Q[10]; /* tempat penyimpanan antrian dalam larik */ 
} Queue; 
void buatQueue(Queue &Q) { 
Q.capacity = 10; // inisialisasi kapasitas queue 
Q.tail = 0; 
for (int i=0; i<10 ; i++) { 
Q.Q[i] = -9999; 
} // misalkan nilai -9999 adalah penanda kosong 
}
Contoh Kode C++ Array Queue Integer 
bool isEmpty(Queue Q) { 
return Q.tail == 0; 
} 
int Dequeue(Queue &Q) { 
int num = Q.Q[0]; 
Q.tail -= 1; 
int iterator = 0; 
bool done = false; 
while (!done) { // rapatkan antrian setelah pengambilan 
Q.Q[iterator] = Q.Q[iterator+1]; 
iterator++; 
if(Q.Q[iterator] == -9999) { 
done = true; 
} 
} 
return num; 
}
Contoh Kode C++ Array Queue Integer 
void Enqueue(Queue &Q, int x) { 
if (Q.tail != 10) { // jika queue belum penuh 
Q.Q[Q.tail] = x; // isi nilai head yang kosong dengan x 
Q.head += 1; // naikan nilai head 
} 
} 
int main() { 
Queue myQueue; 
buatQueue(myQueue); 
Enqueue(myQueue, 10); 
Enqueue(myQueue, 20); 
for (int i=0; i<10; i++) 
cout << myQueue.Q[i] <<" | "; 
int hasil = Dequeue(myQueue); 
cout << endl << "hasil: " << hasil << endl; 
for (int i=0; i<10; i++) 
cout << myQueue.Q[i] <<" | "; 
return 0; 
}
Pemanfaatan Queue 
Aplikasi queue / antrian dapat digunakan contohnya pada 
1. Program pemesanan (resrevasi hotel, tempat makan, 
travel, dll) 
2. Program penjadwalan (waktu eksekusi sub-program) 
3. Program penyaringan / filter, misalkan pada jaringan 
komputer untuk pembagian bandwidth 
4. dll

More Related Content

What's hot

Laporan acara flip flop
Laporan acara flip flopLaporan acara flip flop
Laporan acara flip flopYuwan Kilmi
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4aiiniR
 
Struktur dan Fungsi CPU
Struktur dan Fungsi CPUStruktur dan Fungsi CPU
Struktur dan Fungsi CPURiky L Hamzah
 
Mikroprosesor dan Mikrokontroler
Mikroprosesor dan MikrokontrolerMikroprosesor dan Mikrokontroler
Mikroprosesor dan MikrokontrolerRizki Nugroho
 
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan KernelAndino Maseleno
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Tabel padanan bilangan Desimal, Biner, Oktal dan Heksadesimal
Tabel padanan bilangan Desimal, Biner, Oktal dan HeksadesimalTabel padanan bilangan Desimal, Biner, Oktal dan Heksadesimal
Tabel padanan bilangan Desimal, Biner, Oktal dan HeksadesimalMustahal SSi
 
Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)rein sahren
 
Struktur perulangan dalam c++
Struktur perulangan dalam c++Struktur perulangan dalam c++
Struktur perulangan dalam c++Alvin Setiawan
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledSawah Dan Ladang Ku
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiwillyhayon
 

What's hot (20)

Laporan acara flip flop
Laporan acara flip flopLaporan acara flip flop
Laporan acara flip flop
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis Data
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
 
Modul io
Modul ioModul io
Modul io
 
Struktur dan Fungsi CPU
Struktur dan Fungsi CPUStruktur dan Fungsi CPU
Struktur dan Fungsi CPU
 
Mikroprosesor dan Mikrokontroler
Mikroprosesor dan MikrokontrolerMikroprosesor dan Mikrokontroler
Mikroprosesor dan Mikrokontroler
 
Slide minggu ke 4 pertemuan 1
Slide minggu ke 4 pertemuan 1Slide minggu ke 4 pertemuan 1
Slide minggu ke 4 pertemuan 1
 
Kinerja io bus
Kinerja io busKinerja io bus
Kinerja io bus
 
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Tabel padanan bilangan Desimal, Biner, Oktal dan Heksadesimal
Tabel padanan bilangan Desimal, Biner, Oktal dan HeksadesimalTabel padanan bilangan Desimal, Biner, Oktal dan Heksadesimal
Tabel padanan bilangan Desimal, Biner, Oktal dan Heksadesimal
 
Modul I/O by MRobbyF
Modul I/O by MRobbyFModul I/O by MRobbyF
Modul I/O by MRobbyF
 
Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)
 
Struktur perulangan dalam c++
Struktur perulangan dalam c++Struktur perulangan dalam c++
Struktur perulangan dalam c++
 
Sistem operasi input output
Sistem operasi input outputSistem operasi input output
Sistem operasi input output
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Deadlock
DeadlockDeadlock
Deadlock
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-ai
 

Similar to Algoritma dan Struktur Data - Queue

Similar to Algoritma dan Struktur Data - Queue (20)

7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 
Queue
QueueQueue
Queue
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11
 
queue antrian
queue antrianqueue antrian
queue antrian
 
30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf
 
4 queue2
4 queue24 queue2
4 queue2
 
TPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdfTPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdf
 
Queue
Queue Queue
Queue
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukan
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
 
2894065
28940652894065
2894065
 
Chapter 4b queue
Chapter 4b   queueChapter 4b   queue
Chapter 4b queue
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
Queue
QueueQueue
Queue
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 

More from KuliahKita

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuKuliahKita
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiKuliahKita
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorKuliahKita
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipKuliahKita
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionKuliahKita
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabKuliahKita
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuKuliahKita
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbKuliahKita
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarKuliahKita
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridKuliahKita
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutKuliahKita
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanKuliahKita
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)KuliahKita
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)KuliahKita
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)KuliahKita
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligenceKuliahKita
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03KuliahKita
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02KuliahKita
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01KuliahKita
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementKuliahKita
 

More from KuliahKita (20)

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
 

Algoritma dan Struktur Data - Queue

  • 1. Antrian Algoritma dan Struktur Data Georgius Rinaldo dodo@kuliahkita.com
  • 2. Pendahuluan Antrian adalah sebuah struktur penyimpanan data yang menyimpan data sesuai urutan dan proses pengambilan seperti antrian. Antrian memiliki prinsip First in First Out (FIFO). Karena seperti layaknya antrian, data yang dimasukkan pertama akan diambil terlebih dahulu.
  • 3. Metode pada Antrian Terdapat beberapa method dasar pada queue: 1. Enqueue : menambahkan data ke queue di paling belakang 2. Dequeue : mengambil dari antrian paling depan, elemen akan hilang 3. Peek : memeriksa data antrian pertama 4. IsEmpty : memeriksa apakah antrian kosong
  • 4. Struktur Antrian Antrian juga mirip dengan tumpukan yang serupa dengan list, hanya saja pop pada queue akan mengembalikan elemen yang masuk setelah elemen terdepan yang di-pop Peek Enqueue Dequeue
  • 5. Antrian Senarai Karena memang memiliki dasar yang sama dengan list, Antrian dapat digambarkan sebagai list linier dengan: 1. Kepala : elemen pertama 2. Ekor : elemen terakhir 3. Aturan penyisipan pada elemen terakhir, dan penghapusan / pengambilan pada elemen pertama Head Tail
  • 6. Contoh Antrian Terbatas(Larik) Head, Front IdxMax x x x x x x Posisi Head = Tail (queue kosong)
  • 7. Contoh ADT Array Queue Integer type Queue: < integer capacity /* kapasitas queue*/ integer tail /* indeks queue */ integer infoTail /* nilai teratas pada queue */ integer Q[capacity] /* Q menampung elemen queue */ > /* mengembalikan nilai terdepan dari queue */ function peek(Input Q: Queue) → integer /* mengembalikan nilai pada queue*/ function infoTail(Input Q: Queue) → integer /* memeriksa apakah queue kosong */ function isEmpty(Input Q: Queue) → boolean /* menginisialisasi queue */ Procedure buatQueue(Output Q: Queue) /* menambah nilai pada queue */ Procedure enqueue(Input/Output Q: Queue, X: in integer) /* mengambil nilai dari queue */ Procedure dequeue(Input/Output S: Stack, Output X: integer)
  • 8. Penjelasan TDA Antrian Seperti tumpukan, antrian juga memiliki kapasitas yang menyaktan jumlah elemen yang bisa diisi pada penampung berbentuk larik, karena larik ini juga akan didefinisikan dengan besar = kapasitas. Tail merupakan indeks kosong terakhir antrian sehingga kita tidak perlu lagi mencari indeks terakhir pada larik penampung yang telah terisi jika ingin melakukan operasi. Sedangkan infoTail yang diset juga untuk dapat langsung mengembalikan nilai terdepan.
  • 9. Contoh Kode C++ Array Queue Integer #include <iostream> using namespace std; typedef struct queue { int capacity; /* kapasitas antrian */ int tail; /* informasi indeks dari elemen kosong terakhir pada antrian */ int infoTail; /* informasi dari elemen informasi dari elemen terakhir pada antrian */ int Q[10]; /* tempat penyimpanan antrian dalam larik */ } Queue; void buatQueue(Queue &Q) { Q.capacity = 10; // inisialisasi kapasitas queue Q.tail = 0; for (int i=0; i<10 ; i++) { Q.Q[i] = -9999; } // misalkan nilai -9999 adalah penanda kosong }
  • 10. Contoh Kode C++ Array Queue Integer bool isEmpty(Queue Q) { return Q.tail == 0; } int Dequeue(Queue &Q) { int num = Q.Q[0]; Q.tail -= 1; int iterator = 0; bool done = false; while (!done) { // rapatkan antrian setelah pengambilan Q.Q[iterator] = Q.Q[iterator+1]; iterator++; if(Q.Q[iterator] == -9999) { done = true; } } return num; }
  • 11. Contoh Kode C++ Array Queue Integer void Enqueue(Queue &Q, int x) { if (Q.tail != 10) { // jika queue belum penuh Q.Q[Q.tail] = x; // isi nilai head yang kosong dengan x Q.head += 1; // naikan nilai head } } int main() { Queue myQueue; buatQueue(myQueue); Enqueue(myQueue, 10); Enqueue(myQueue, 20); for (int i=0; i<10; i++) cout << myQueue.Q[i] <<" | "; int hasil = Dequeue(myQueue); cout << endl << "hasil: " << hasil << endl; for (int i=0; i<10; i++) cout << myQueue.Q[i] <<" | "; return 0; }
  • 12. Pemanfaatan Queue Aplikasi queue / antrian dapat digunakan contohnya pada 1. Program pemesanan (resrevasi hotel, tempat makan, travel, dll) 2. Program penjadwalan (waktu eksekusi sub-program) 3. Program penyaringan / filter, misalkan pada jaringan komputer untuk pembagian bandwidth 4. dll