SlideShare a Scribd company logo
1 of 24
Queue
Queue (Antrian)
• Contoh antrian :
• Antrian printer
• Antrian tiket bioskop
Pengertian
• Queue (antrian) adalah struktur data
dimana proses pengambilan dan
penambahan element dilakukan pada
ujung yang berbeda.
• Queue mengikuti konsep FIFO.
• FIFO (First In First Out) : elemen yang
pertama masuk akan menjadi elemen
yang pertama kali keluar.
Enqueue dan Dequeue
1. Enqueue
proses penambahan element pada queue.
2. Dequeue
proses pengambilan element pada queue.
Penambahan dilakukan pada bagian belakang.
Sedangkan pengambilan dilakukan pada bagian depan
(element yang pertama masuk).
Queueenqueue dequeue
Front dan Rear
• Front : pointer bantu yang digunakan
untuk menunjuk element yang paling
depan.
• Rear : pointer bantu yang digunakan
untuk menunjuk element yang paling
belakang.
QueueEnqueue
Rear
Dequeue
Front
• Queue berguna untuk menyimpan
pekerjaan yang tertunda.
Gambaran Proses Queue
(Antrian)
Operasi pada Queue
1. Deklarasi
2. Inisialisasi
3. Cek kosong
4. Cek penuh
5. Penambahan
6. Pengambilan
7. Pengaksesan
(1) Deklarasi
• Proses yang harus dilakukan pertama kali
adalah deklarasi/menyiapkan tempat.
• Langkah yang harus dilakukan adalah :
– Deklarasi struct
– Deklarasi struktur data (menggunakan array atau
linked list)
– Deklarasi pointer front dan rear
Deklarasi Queue dengan Linked-list
1. Pembuatan struct Tnode
struct TNode{
int data;
TNode *next;
};
2. Pembuatan variabel head, tail, front dan rear
bertipe TNode.
TNode head,tail,front, rear;
(2) Inisialisasi
• Pada Linked List:
Proses inisialisasi dilakukan dengan
memberikan nilai awal pada variabel
head, tail front dan rear dengan nilai null.
void inisialisasi(){
head=tail=front=rear=NULL;
}
(3) Cek Kosong
• Operasi yang digunakan untuk mengecek
kondisi queue dalam keadaan kosong.
• Pada linked list : dapat menggunakan
pengecekan front atau rear jika nilainya null
berarti queue kosong.
• Operasi ini harus dapat mengembalikan nilai
true jika queue kosong dan false jika
sebaliknya.
Program “isEmpty” Queue (Linked
List)
bool isEmpty(){
return (rear==NULL);
}
(6) Operasi Dequeue
• Dequeue adalah proses pengambilan data
pada queue.
• Ketika dequeue terjadi, element pada queue
akan berkurang, yaitu element yang pertama
kali ditambahkan.
• Pada linked list : front akan menunjuk pada
node yang ditunjuk oleh head setelah
operasi remove.
(5) Operasi DEQUEUE...........
(lanjutan)
• Langkah-langkah :
1. Pengecekan queue dalam kondisi kosong
dengan memanggil method isEmpty().
2. Data dari element yang diambil akan
menjadi return value (nilai yang
dikembalikan)
3. Perubahan nilai pada variabel front dan rear
Program Dequeue (Linked List)
int dequeue(){
if(!isEmpty()){
int tampungData=front->data;
removeFirst();
front=head;
return tampungData;
}else{
cout<<"queue kosong";
return -1;
}
}
Program removeFirst
void removeFirst(){
TNode *hapus;
if (isEmpty()==0){
if(head!=tail){
hapus = head;
head = head->next;
delete hapus;
} else {
head=tail=NULL;
}
cout<<"terhapusn";
} else cout<<"Masih kosongn";
}
(6) Operasi Enqueue
• Enqueue adalah proses penambahan
element pada queue.
• Ketika enqueue terjadi, element pada queue
akan bertambah 1.
• Posisi pointer rear akan bergeser menunjuk
pada element baru yang ditambahkan.
– Pada linked list : rear akan menunjuk ke node
baru yang ditunjuk oleh tail.
(6) Operasi Enqueue...........
(lanjutan)
• Langkah-langkah :
1. Penambahan element baru pada bagian
belakang queue.
2. Perubahan posisi rear.
Program Enqueue (Linked List)
void enqueue(int baru){
addLast(baru);
rear=tail;
front=head;
}
Program addLast
void addLast(int databaru){
TNode *baru,*bantu;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()){
head=baru;
tail=baru;
tail->next = NULL;
}
else {
tail->next = baru;
tail=baru;
}
cout<<"Data masukn";
}
(7) Operasi peek
• Peek pada queue adalah proses
pengaksesan element yang ditunjuk oleh
front (yaitu element yang pertama kali
ditambahkan).
• Operasi ini berbeda dengan enqueue
karena tidak disertai dengan
penghapusan data yang ada hanya
pengaksesan (pengembalian data saja).
Program Peek (Linked List)
int peekQueue(){
return front->data;
}
Contoh Penerapan Queue
• mailbox dalam komunikasi antar
proses
• simulasi dan modeling (misalnya
simulasi sistem pengendali lalu lintas
udara) dalam memprediksi performansi
• Waiting Line pada Sistem Operasi

More Related Content

What's hot (19)

Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Chapter 4a stack
Chapter 4a   stackChapter 4a   stack
Chapter 4a stack
 
Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11
 
queue antrian
queue antrianqueue antrian
queue antrian
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
4 queue2
4 queue24 queue2
4 queue2
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - Antrian
 
Tugas3
Tugas3Tugas3
Tugas3
 
Queue
QueueQueue
Queue
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukan
 
Tugas kelompok 3
Tugas kelompok 3Tugas kelompok 3
Tugas kelompok 3
 
Queue
Queue Queue
Queue
 
Stack
StackStack
Stack
 
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
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Stack
StackStack
Stack
 

Viewers also liked

Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2yusriren
 
Queue as data_structure
Queue as data_structureQueue as data_structure
Queue as data_structureeShikshak
 
Rituales a la diosa Hécate
Rituales a la diosa HécateRituales a la diosa Hécate
Rituales a la diosa Hécatealumnosdeamparo1
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)biedoen
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6biedoen
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2biedoen
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasKuliahKita
 
Class dan object
Class dan objectClass dan object
Class dan objectHardini_HD
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorKuliahKita
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseoJinTaek Seo
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktoriGoran Igaly
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 

Viewers also liked (18)

Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
struktur data
struktur datastruktur data
struktur data
 
Queue as data_structure
Queue as data_structureQueue as data_structure
Queue as data_structure
 
Ruby on Redis
Ruby on RedisRuby on Redis
Ruby on Redis
 
Rituales a la diosa Hécate
Rituales a la diosa HécateRituales a la diosa Hécate
Rituales a la diosa Hécate
 
Ifc modul 7 (queue)
Ifc   modul 7 (queue)Ifc   modul 7 (queue)
Ifc modul 7 (queue)
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi Berkas
 
Class dan object
Class dan objectClass dan object
Class dan object
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan Destruktor
 
Linked List
Linked ListLinked List
Linked List
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktori
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 

Similar to 2894065

Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxputii1
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueKuliahKita
 
Antrean (queue).pptx
Antrean (queue).pptxAntrean (queue).pptx
Antrean (queue).pptxmisariska1
 
FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)Yosua Herbi
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarendeSten Maarende
 
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdf
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdfIF2_Queues_Kel6_UTSStrukturData-dikompresi.pdf
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdfMountechEngineering
 
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)Setia Juli Irzal Ismail
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Fahuda E
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Fahuda E
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 
TPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdfTPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdfRaihanFadila1
 

Similar to 2894065 (20)

Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptx
 
TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
 
Queue
QueueQueue
Queue
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
Queue
QueueQueue
Queue
 
30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf
 
Antrean (queue).pptx
Antrean (queue).pptxAntrean (queue).pptx
Antrean (queue).pptx
 
Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 
FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdf
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdfIF2_Queues_Kel6_UTSStrukturData-dikompresi.pdf
IF2_Queues_Kel6_UTSStrukturData-dikompresi.pdf
 
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)
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
TPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdfTPL0222_13_QUEUE.pdf
TPL0222_13_QUEUE.pdf
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 

2894065

  • 2. Queue (Antrian) • Contoh antrian : • Antrian printer • Antrian tiket bioskop
  • 3. Pengertian • Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda. • Queue mengikuti konsep FIFO. • FIFO (First In First Out) : elemen yang pertama masuk akan menjadi elemen yang pertama kali keluar.
  • 4. Enqueue dan Dequeue 1. Enqueue proses penambahan element pada queue. 2. Dequeue proses pengambilan element pada queue. Penambahan dilakukan pada bagian belakang. Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk). Queueenqueue dequeue
  • 5. Front dan Rear • Front : pointer bantu yang digunakan untuk menunjuk element yang paling depan. • Rear : pointer bantu yang digunakan untuk menunjuk element yang paling belakang. QueueEnqueue Rear Dequeue Front
  • 6. • Queue berguna untuk menyimpan pekerjaan yang tertunda.
  • 8. Operasi pada Queue 1. Deklarasi 2. Inisialisasi 3. Cek kosong 4. Cek penuh 5. Penambahan 6. Pengambilan 7. Pengaksesan
  • 9. (1) Deklarasi • Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat. • Langkah yang harus dilakukan adalah : – Deklarasi struct – Deklarasi struktur data (menggunakan array atau linked list) – Deklarasi pointer front dan rear
  • 10. Deklarasi Queue dengan Linked-list 1. Pembuatan struct Tnode struct TNode{ int data; TNode *next; }; 2. Pembuatan variabel head, tail, front dan rear bertipe TNode. TNode head,tail,front, rear;
  • 11. (2) Inisialisasi • Pada Linked List: Proses inisialisasi dilakukan dengan memberikan nilai awal pada variabel head, tail front dan rear dengan nilai null. void inisialisasi(){ head=tail=front=rear=NULL; }
  • 12. (3) Cek Kosong • Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong. • Pada linked list : dapat menggunakan pengecekan front atau rear jika nilainya null berarti queue kosong. • Operasi ini harus dapat mengembalikan nilai true jika queue kosong dan false jika sebaliknya.
  • 13. Program “isEmpty” Queue (Linked List) bool isEmpty(){ return (rear==NULL); }
  • 14. (6) Operasi Dequeue • Dequeue adalah proses pengambilan data pada queue. • Ketika dequeue terjadi, element pada queue akan berkurang, yaitu element yang pertama kali ditambahkan. • Pada linked list : front akan menunjuk pada node yang ditunjuk oleh head setelah operasi remove.
  • 15. (5) Operasi DEQUEUE........... (lanjutan) • Langkah-langkah : 1. Pengecekan queue dalam kondisi kosong dengan memanggil method isEmpty(). 2. Data dari element yang diambil akan menjadi return value (nilai yang dikembalikan) 3. Perubahan nilai pada variabel front dan rear
  • 16. Program Dequeue (Linked List) int dequeue(){ if(!isEmpty()){ int tampungData=front->data; removeFirst(); front=head; return tampungData; }else{ cout<<"queue kosong"; return -1; } }
  • 17. Program removeFirst void removeFirst(){ TNode *hapus; if (isEmpty()==0){ if(head!=tail){ hapus = head; head = head->next; delete hapus; } else { head=tail=NULL; } cout<<"terhapusn"; } else cout<<"Masih kosongn"; }
  • 18. (6) Operasi Enqueue • Enqueue adalah proses penambahan element pada queue. • Ketika enqueue terjadi, element pada queue akan bertambah 1. • Posisi pointer rear akan bergeser menunjuk pada element baru yang ditambahkan. – Pada linked list : rear akan menunjuk ke node baru yang ditunjuk oleh tail.
  • 19. (6) Operasi Enqueue........... (lanjutan) • Langkah-langkah : 1. Penambahan element baru pada bagian belakang queue. 2. Perubahan posisi rear.
  • 20. Program Enqueue (Linked List) void enqueue(int baru){ addLast(baru); rear=tail; front=head; }
  • 21. Program addLast void addLast(int databaru){ TNode *baru,*bantu; baru = new TNode; baru->data = databaru; baru->next = NULL; if(isEmpty()){ head=baru; tail=baru; tail->next = NULL; } else { tail->next = baru; tail=baru; } cout<<"Data masukn"; }
  • 22. (7) Operasi peek • Peek pada queue adalah proses pengaksesan element yang ditunjuk oleh front (yaitu element yang pertama kali ditambahkan). • Operasi ini berbeda dengan enqueue karena tidak disertai dengan penghapusan data yang ada hanya pengaksesan (pengembalian data saja).
  • 23. Program Peek (Linked List) int peekQueue(){ return front->data; }
  • 24. Contoh Penerapan Queue • mailbox dalam komunikasi antar proses • simulasi dan modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam memprediksi performansi • Waiting Line pada Sistem Operasi

Editor's Notes

  1. &amp;lt;number&amp;gt;