SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Kardinalitas dan Operasi Dua Himpunan
Kardinalitas dan Operasi Dua HimpunanKardinalitas dan Operasi Dua Himpunan
Kardinalitas dan Operasi Dua HimpunanEman Mendrofa
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaPBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaRUDISELAMAT2
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
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
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan biedoen
 
Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02KuliahKita
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerKuliahKita
 
Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03KuliahKita
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
ALJABAR LINEAR ELIMINASI GAUSSIAN
ALJABAR LINEAR ELIMINASI GAUSSIANALJABAR LINEAR ELIMINASI GAUSSIAN
ALJABAR LINEAR ELIMINASI GAUSSIANFela Aziiza
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queueMuhammad Najib
 

Mais procurados (20)

Kardinalitas dan Operasi Dua Himpunan
Kardinalitas dan Operasi Dua HimpunanKardinalitas dan Operasi Dua Himpunan
Kardinalitas dan Operasi Dua Himpunan
 
Tipe data abstract
Tipe data abstractTipe data abstract
Tipe data abstract
 
Bab x tree (pohon)
Bab x   tree (pohon)Bab x   tree (pohon)
Bab x tree (pohon)
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaPBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Pertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau TumpukanPertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau Tumpukan
 
Kalkulus modul i himpunan
Kalkulus modul i himpunanKalkulus modul i himpunan
Kalkulus modul i himpunan
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon Biner
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03Matematika Diskrit - 08 kombinatorial - 03
Matematika Diskrit - 08 kombinatorial - 03
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 
ALJABAR LINEAR ELIMINASI GAUSSIAN
ALJABAR LINEAR ELIMINASI GAUSSIANALJABAR LINEAR ELIMINASI GAUSSIAN
ALJABAR LINEAR ELIMINASI GAUSSIAN
 
Matriks elementer
Matriks elementerMatriks elementer
Matriks elementer
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 

Semelhante a Algoritma dan Struktur Data - Antrian

Semelhante a Algoritma dan Struktur Data - Antrian (20)

7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Queue
QueueQueue
Queue
 
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
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
 
Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 

Mais de 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
 

Mais de 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
 

Último

MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfArvinThamsir1
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 

Último (8)

MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 

Algoritma dan Struktur Data - Antrian

  • 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