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

Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01KuliahKita
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counterpersonal
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaBuhori Muslim
 
Matematika Diskrit - 07 teori bilangan - 04
Matematika Diskrit - 07 teori bilangan - 04Matematika Diskrit - 07 teori bilangan - 04
Matematika Diskrit - 07 teori bilangan - 04KuliahKita
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)Meycelino A. T
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit KuliahKita
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineLucha Kamala Putri
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsuokti agung
 

What's hot (20)

Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counter
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Pdp jadi
Pdp jadiPdp jadi
Pdp jadi
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Matematika Diskrit - 07 teori bilangan - 04
Matematika Diskrit - 07 teori bilangan - 04Matematika Diskrit - 07 teori bilangan - 04
Matematika Diskrit - 07 teori bilangan - 04
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
penyajian data
penyajian datapenyajian data
penyajian data
 
Logika lanjutan
Logika lanjutanLogika lanjutan
Logika lanjutan
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Logika mat-detil
Logika mat-detilLogika mat-detil
Logika mat-detil
 
Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
Modul 3 kongruensi
Modul 3   kongruensiModul 3   kongruensi
Modul 3 kongruensi
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
Eliminasi gauss
Eliminasi gaussEliminasi gauss
Eliminasi gauss
 

Similar to Algoritma dan Struktur Data - Antrian

Similar to Algoritma dan Struktur Data - Antrian (20)

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
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
 

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
 

Recently uploaded

QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxdjam11
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxHamidNurMukhlis
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx185TsabitSujud
 
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxarifyudianto3
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxYehezkielAkwila3
 
Materi Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranMateri Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranSintaMarlina3
 
Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industririzwahyung
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfVardyFahrizal
 

Recently uploaded (9)

QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
 
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
 
Materi Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur LebaranMateri Safety Talk Persiapan Libur Lebaran
Materi Safety Talk Persiapan Libur Lebaran
 
Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industri
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
 

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