SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Queue
Sherly Christina, S.Kom., M.Kom
Definisi
• Secara harfiah berarti antrian.
• sering kita temui dalam kehidupan sehari-hari,
• misalnya pada saat mengantri di loket untuk
membeli tiket.
Representasi Antrian
Istilah-Istilah
• ENQUEUE : apabila seseorang masuk kedalam
antrian atau terjadi penambahan data pada
antrian.
• Dalam suatu antrian yang datang terlebih
dahulu akan dilayani lebih dahulu (First In First
Out)
• DEQUEUE:bila seseorang keluar dari antrian
atau terjadi penghapusan data dari antrian
Operasi Pada Antrian
(Memasukan elemen/Enqueue)
• Memasukan elemen ke dalam antrian
▫ Kondisi Awal: ada sebuah antrian
▫ Buat Elemen baru yang akan dimasukkan
Operasi Pada Antrian
(Memasukan elemen/Enqueue)
• Elemen baru dimasukkan ke dalam queue
Operasi Pada Antrian
(Memasukan elemen/Enqueue)
• Penunjuk Last diubah menunjuk ke elemen baru
sebagai elemen paling terakhir
Operasi Pada Antrian
(Mengeluarkan elemen/Dequeue)
▫ Kondisi Awal: ada sebuah antrian
Operasi Pada Antrian
(Mengeluarkan elemen/Dequeue)
• Penunjuk First diubah menunjuk ke elemen
dibelakang elemen paling depang
Operasi Pada Antrian
(Mengeluarkan elemen/Dequeue)
• Elemen paling depan dikeluarkan dari antrian
Metode membuat antrian
1. Array
▫ Linier Array
▫ Circular Array
2. linked list
Metode membuat antrian
1. Array Statis
▫ Linier Array
▫ Circular Array
2. Linked List Dinamis
Implementasi QUEUE dengan Linear
ARRAY
• Linier Array : suatu array yang dibuat seakan-
akan merupakan suatu garis lurus dengan satu pintu
masuk dan satu pintu keluar.
• Antrian dapat mengalami kondisi penuh
• Tempat pada array dapat tidak diisi elemen
• Penanganan enqueue dan dequeue dengan
menggeser elemen
Definisi QUEUE dengan Linear ARRAY
(Pascal)
Const
MaxQueue = 6;
Type
TypeQueue = byte;
Var
Queue : Array [1..MaxQueue] of TypeQueue;
Head, Tail : byte;
1. Create Queue Linear Array
• Procedure Create:
menciptakan QUEUE yang
baru dan kosong
• Cara: memberikan nilai awal
(Head First) dan nilai akhir
(Tail Last) dengan nol (0).
• Nol Queue (antrian)
masih kosong.
Procedure Create;
Begin
Head := 0; Tail := 0;
End;
2.Empty
Queue Linear Array
• Function Empty : mengecek
apakah Queue masih kosong
atau sudah berisi data.
• Cara: mengecek apakah tail
bernilai nol atau tidak, jika ya
maka kosong.
Function Empy : Boolean;
Begin
If (Tail = 0) then
Empty := True
Else
Empty := False;
End;
3.Full
Queue Linear Array
• Function Full : mengecek
apakah Queue sudah penuh
atau masih bisa menampung
data
• Cara: cek apakah tail sudah
sama dengan jumlah
maksimal queue, jika ya maka
penuh.
Function Full : Boolean;
Begin
If (Tail = MaxQueue) then
Full := True
Else
Full := False
End;
4.EnQueue
Queue Linear Array
• Procedure EnQueue:
memasukan 1 elemen
ke dalam QUEUE.
Procedure EnQueue(Elemen :
Byte);
Begin
If (Empty) then
Begin
Head := 1; Tail := 1;
Queue[Head] := Elemen;
End
Else
If (Not Empty) then
Begin
Inc (Tail);
Queue(Tail) := Elemen;
End;
End;
5. Dequeu
Queue Linear Array
• Procedure DeQueue berguna untuk
mengambil 1 elemen dari QUEUE,
operasi ini sering disebut juga
SERVE.
• Cara: memindahkan semua elemen
satu langkah ke posisi di depannya,
sehingga otomatis elemen yang
paling depan akan tertimpa dengan
elemen yang terletak di belakangnya
Procedure DeQueue;
Var
i : Byte;
begin
if (Not Empty) then
Begin
For (i := Head) To (Tail-1) Do
Queue[i] := Queue[i + 1];
Dec(Tail);
End;
End;
5. Clear
Queue Linear Array
• Procedure Clear: menghapus
semua elemen dalam QUEUE
• Cara : mengeluarkan semua
elemen tersebut satu per satu
sampai kosong dengan
memanfaatkan procedure
DeQueue
Procedure Clear;
Begin
While (Not Empty) Then
DeQueue;
End;
Queue pada Circular Array• Circular array: suatu array yang dibuat seakan-akan merupakan sebuah
lingkaran
• Dengan titik awal (Head) dan titik akhir (Tail) saling bersebelahan jika array
tersebut masih kosong.
• Operasi pada circular array tidak berbeda jauh dengan operasi pada linear
array.
QUEUE dengan DOUBLE LINKED LIST
• Metode linked list yang digunakan
adalah double linked list.
• Pada representasi dinamis,
penambahan elemen tetap dilakukan
pada akhir queue.
• Pengambilan/penghapusan elemen
tetap dilakukan pada awal queue
• Berikut penggalan type, konstanta dan
variable yang akan digunakan dalam
penjelasan operasi-operasi queue
dengan linked list.
Type
Point = ^Simpul;
Simpul = Record
Isi : TipeData;
Next : Point;
End;
Queue = Record
Head : Point;
Tail : Point;
End;
Var
Q : Queue;
N : 0..MaxQueue; { Jumlah Antrian}
1. Create
QUEUE DOUBLE LINKED LIST
• untuk menciptakan QUEUE
yang baru dan kosong.
• Cara:
mengarahkan pointer head
dan tail kepada NIL.
Procedure Create;
Begin
Q.Head := NIL;
Q.Tail := Q.Head;
End;
2.Empty
QUEUE DOUBLE LINKED LIST
• untuk mengecek apakah
QUEUE masih kosong atau
sudah berisi data.
• Hal ini dilakukan dengan
mengecek Head masih
menunjuk pada nil atau tidak,
jika ya maka kosong.
Function Empty:Boolean;
Begin
If (Q.Head = NIL) then
Empty := True
Else
Empty := False;
End;
3.Full
QUEUE DOUBLE LINKED LIST
• untuk mengecek apakah
QUEUE sudah penuh atau
masih bisa menampung data.
• Cara: dengan mengecek
apakah N (Jumlah Queue)
sudah sama dengan
Max_Queue atau belum, jika
ya maka penuh.
Function Full : Boolean;
Begin
If (N = Max_Queue) then
Full := True
Else
Full := False;
End;
4.EnQueue
QUEUE DOUBLE LINKED LIST
• Untuk memasukan 1
elemen ke dalam
QUEUE.
• Cara : (head dan tail
mula-mula menunjuk ke
NIL).
Procedure EnQueue (Elemen :
TipeData);
Var
Now : Point;
Begin
If (Not Full) then
Begin
New(Now);
Now.^Isi := elemen;
Now.^Next := NIL;
If (Empty) then
Begin
Q.Head := Now;
Q.Tail := Now;
N := 1;
4.EnQueue
QUEUE DOUBLE LINKED LIST
End else
Begin
Q.Tail.^Next := Now;
Q.Tail := Now;
Inc(N);
End;
End;
End;
5.DeQueue
QUEUE DOUBLE LINKED LIST
• untuk mengambil 1 elemen dari
QUEUE.
• Cara: menghapus satu simpul
yang terletak paling depan
(depan).
Procedure DeQueue;
Var
Now : Point;
Begin
If (Not Empty) then
Begin
Now := Q.Head;
Q.Head := Q.Head^.Next;
Dispose(Now);
Dec(N);
End;
End;

Weitere ähnliche Inhalte

Was ist angesagt?

Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
Sten Maarende
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
Baguss Chandrass
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Simon Patabang
 

Was ist angesagt? (20)

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)
 
Algoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAlgoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/O
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Penjadwalan.pdf
Penjadwalan.pdfPenjadwalan.pdf
Penjadwalan.pdf
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Circular linked list
Circular linked listCircular linked list
Circular linked list
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
 
Manajemen layanan si
Manajemen layanan siManajemen layanan si
Manajemen layanan si
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
 
Modul Sistem Operasi Semaphore
Modul Sistem Operasi SemaphoreModul Sistem Operasi Semaphore
Modul Sistem Operasi Semaphore
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Queue
Queue Queue
Queue
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Window
 

Andere mochten auch

4 Karakter Pengelola Uang
4 Karakter Pengelola Uang4 Karakter Pengelola Uang
4 Karakter Pengelola Uang
Sherly Uda
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11
Ical Militanmannojack
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12
Ical Militanmannojack
 
E bisnis slideshare
E bisnis slideshareE bisnis slideshare
E bisnis slideshare
RAHASIA
 
INTERNET MASUK DESA
INTERNET MASUK DESAINTERNET MASUK DESA
INTERNET MASUK DESA
RAHASIA
 

Andere mochten auch (20)

Pert.1 pengenalan analisis desain
Pert.1 pengenalan analisis desainPert.1 pengenalan analisis desain
Pert.1 pengenalan analisis desain
 
4 Karakter Pengelola Uang
4 Karakter Pengelola Uang4 Karakter Pengelola Uang
4 Karakter Pengelola Uang
 
Tugas
TugasTugas
Tugas
 
06 vb looping
06 vb looping06 vb looping
06 vb looping
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11
 
Research 025
Research 025Research 025
Research 025
 
E scm
E scmE scm
E scm
 
4 karakter
4 karakter4 karakter
4 karakter
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12
 
Research 023
Research 023Research 023
Research 023
 
04 vb intro
04 vb intro04 vb intro
04 vb intro
 
Linked List
Linked ListLinked List
Linked List
 
E bisnis slideshare
E bisnis slideshareE bisnis slideshare
E bisnis slideshare
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
INTERNET MASUK DESA
INTERNET MASUK DESAINTERNET MASUK DESA
INTERNET MASUK DESA
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Research 026
Research 026Research 026
Research 026
 
Pointer dan Linked List
Pointer dan Linked ListPointer dan Linked List
Pointer dan Linked List
 
Pert.11 linux
Pert.11 linuxPert.11 linux
Pert.11 linux
 
14 algo integrasi
14 algo integrasi14 algo integrasi
14 algo integrasi
 

Ähnlich wie Queue

Bab 8-stack-dan-queue
Bab 8-stack-dan-queueBab 8-stack-dan-queue
Bab 8-stack-dan-queue
Razik Akamal
 
Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11
ajonona
 

Ähnlich wie Queue (20)

FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)
 
Bab 8-stack-dan-queue
Bab 8-stack-dan-queueBab 8-stack-dan-queue
Bab 8-stack-dan-queue
 
Queue
QueueQueue
Queue
 
4 queue2
4 queue24 queue2
4 queue2
 
2894065
28940652894065
2894065
 
Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 
queue antrian
queue antrianqueue antrian
queue antrian
 
Queue
QueueQueue
Queue
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Chapter 4b queue
Chapter 4b   queueChapter 4b   queue
Chapter 4b queue
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - Antrian
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
ALOGARITMA 5
ALOGARITMA 5ALOGARITMA 5
ALOGARITMA 5
 
Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Bab 5 queue_antrian_
Bab 5 queue_antrian_Bab 5 queue_antrian_
Bab 5 queue_antrian_
 
TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
 

Mehr von Sherly Uda (20)

Aplikasi Basis Data Sederhana
Aplikasi Basis Data SederhanaAplikasi Basis Data Sederhana
Aplikasi Basis Data Sederhana
 
Bahasa Query Terapan
Bahasa Query TerapanBahasa Query Terapan
Bahasa Query Terapan
 
Normalisasi
NormalisasiNormalisasi
Normalisasi
 
Model Data
Model DataModel Data
Model Data
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence Diagram
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
Rekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakRekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat Lunak
 
Pengantar Analisis Dan Desain Sistem Informasi
Pengantar Analisis Dan Desain Sistem InformasiPengantar Analisis Dan Desain Sistem Informasi
Pengantar Analisis Dan Desain Sistem Informasi
 
Keamanan Basis Data
Keamanan Basis DataKeamanan Basis Data
Keamanan Basis Data
 
Manajemen Transaksi
Manajemen TransaksiManajemen Transaksi
Manajemen Transaksi
 
Trigger
TriggerTrigger
Trigger
 
Intent
IntentIntent
Intent
 
Widget
WidgetWidget
Widget
 
Pengantar Android
Pengantar AndroidPengantar Android
Pengantar Android
 
Model Jaringan Hopfield
Model Jaringan HopfieldModel Jaringan Hopfield
Model Jaringan Hopfield
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised Learning
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan Hebb
 
Contoh Program Jaringan Syaraf Tiruan Sederhana
Contoh Program Jaringan Syaraf Tiruan SederhanaContoh Program Jaringan Syaraf Tiruan Sederhana
Contoh Program Jaringan Syaraf Tiruan Sederhana
 
Searching
SearchingSearching
Searching
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 

Kürzlich hochgeladen

Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
AhmadAffandi36
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
ssupi412
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
rororasiputra
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
Arisatrianingsih
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
yoodika046
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
VinaAmelia23
 

Kürzlich hochgeladen (19)

Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
 
Contoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
Contoh PPT Pelaksanaan Pekerjaan Gedung KonstruksiContoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
Contoh PPT Pelaksanaan Pekerjaan Gedung Konstruksi
 
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
 
Kalor dan Perpindahan Kalor presentasi.ppt
Kalor dan Perpindahan Kalor presentasi.pptKalor dan Perpindahan Kalor presentasi.ppt
Kalor dan Perpindahan Kalor presentasi.ppt
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
 
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdfPengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
 
perbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxperbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptx
 
Gambar kerja TUREN KETAWANG malang jawa timur.pdf
Gambar kerja TUREN KETAWANG malang jawa timur.pdfGambar kerja TUREN KETAWANG malang jawa timur.pdf
Gambar kerja TUREN KETAWANG malang jawa timur.pdf
 
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistikaPengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
Pengujian (hipotesis) pak aulia ikhsan dalam ilmu statistika
 
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman MadyaPelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
 
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdfGambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
 
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
 
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxUTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
 
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptxPPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
 
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptxPPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
PPT AHLI MADYA BANGUNAN GEDUNGggggg.pptx
 

Queue

  • 2. Definisi • Secara harfiah berarti antrian. • sering kita temui dalam kehidupan sehari-hari, • misalnya pada saat mengantri di loket untuk membeli tiket.
  • 4. Istilah-Istilah • ENQUEUE : apabila seseorang masuk kedalam antrian atau terjadi penambahan data pada antrian. • Dalam suatu antrian yang datang terlebih dahulu akan dilayani lebih dahulu (First In First Out) • DEQUEUE:bila seseorang keluar dari antrian atau terjadi penghapusan data dari antrian
  • 5. Operasi Pada Antrian (Memasukan elemen/Enqueue) • Memasukan elemen ke dalam antrian ▫ Kondisi Awal: ada sebuah antrian ▫ Buat Elemen baru yang akan dimasukkan
  • 6. Operasi Pada Antrian (Memasukan elemen/Enqueue) • Elemen baru dimasukkan ke dalam queue
  • 7. Operasi Pada Antrian (Memasukan elemen/Enqueue) • Penunjuk Last diubah menunjuk ke elemen baru sebagai elemen paling terakhir
  • 8. Operasi Pada Antrian (Mengeluarkan elemen/Dequeue) ▫ Kondisi Awal: ada sebuah antrian
  • 9. Operasi Pada Antrian (Mengeluarkan elemen/Dequeue) • Penunjuk First diubah menunjuk ke elemen dibelakang elemen paling depang
  • 10. Operasi Pada Antrian (Mengeluarkan elemen/Dequeue) • Elemen paling depan dikeluarkan dari antrian
  • 11. Metode membuat antrian 1. Array ▫ Linier Array ▫ Circular Array 2. linked list
  • 12. Metode membuat antrian 1. Array Statis ▫ Linier Array ▫ Circular Array 2. Linked List Dinamis
  • 13. Implementasi QUEUE dengan Linear ARRAY • Linier Array : suatu array yang dibuat seakan- akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar. • Antrian dapat mengalami kondisi penuh • Tempat pada array dapat tidak diisi elemen • Penanganan enqueue dan dequeue dengan menggeser elemen
  • 14. Definisi QUEUE dengan Linear ARRAY (Pascal) Const MaxQueue = 6; Type TypeQueue = byte; Var Queue : Array [1..MaxQueue] of TypeQueue; Head, Tail : byte;
  • 15. 1. Create Queue Linear Array • Procedure Create: menciptakan QUEUE yang baru dan kosong • Cara: memberikan nilai awal (Head First) dan nilai akhir (Tail Last) dengan nol (0). • Nol Queue (antrian) masih kosong. Procedure Create; Begin Head := 0; Tail := 0; End;
  • 16. 2.Empty Queue Linear Array • Function Empty : mengecek apakah Queue masih kosong atau sudah berisi data. • Cara: mengecek apakah tail bernilai nol atau tidak, jika ya maka kosong. Function Empy : Boolean; Begin If (Tail = 0) then Empty := True Else Empty := False; End;
  • 17. 3.Full Queue Linear Array • Function Full : mengecek apakah Queue sudah penuh atau masih bisa menampung data • Cara: cek apakah tail sudah sama dengan jumlah maksimal queue, jika ya maka penuh. Function Full : Boolean; Begin If (Tail = MaxQueue) then Full := True Else Full := False End;
  • 18. 4.EnQueue Queue Linear Array • Procedure EnQueue: memasukan 1 elemen ke dalam QUEUE. Procedure EnQueue(Elemen : Byte); Begin If (Empty) then Begin Head := 1; Tail := 1; Queue[Head] := Elemen; End Else If (Not Empty) then Begin Inc (Tail); Queue(Tail) := Elemen; End; End;
  • 19. 5. Dequeu Queue Linear Array • Procedure DeQueue berguna untuk mengambil 1 elemen dari QUEUE, operasi ini sering disebut juga SERVE. • Cara: memindahkan semua elemen satu langkah ke posisi di depannya, sehingga otomatis elemen yang paling depan akan tertimpa dengan elemen yang terletak di belakangnya Procedure DeQueue; Var i : Byte; begin if (Not Empty) then Begin For (i := Head) To (Tail-1) Do Queue[i] := Queue[i + 1]; Dec(Tail); End; End;
  • 20. 5. Clear Queue Linear Array • Procedure Clear: menghapus semua elemen dalam QUEUE • Cara : mengeluarkan semua elemen tersebut satu per satu sampai kosong dengan memanfaatkan procedure DeQueue Procedure Clear; Begin While (Not Empty) Then DeQueue; End;
  • 21. Queue pada Circular Array• Circular array: suatu array yang dibuat seakan-akan merupakan sebuah lingkaran • Dengan titik awal (Head) dan titik akhir (Tail) saling bersebelahan jika array tersebut masih kosong. • Operasi pada circular array tidak berbeda jauh dengan operasi pada linear array.
  • 22. QUEUE dengan DOUBLE LINKED LIST • Metode linked list yang digunakan adalah double linked list. • Pada representasi dinamis, penambahan elemen tetap dilakukan pada akhir queue. • Pengambilan/penghapusan elemen tetap dilakukan pada awal queue • Berikut penggalan type, konstanta dan variable yang akan digunakan dalam penjelasan operasi-operasi queue dengan linked list. Type Point = ^Simpul; Simpul = Record Isi : TipeData; Next : Point; End; Queue = Record Head : Point; Tail : Point; End; Var Q : Queue; N : 0..MaxQueue; { Jumlah Antrian}
  • 23. 1. Create QUEUE DOUBLE LINKED LIST • untuk menciptakan QUEUE yang baru dan kosong. • Cara: mengarahkan pointer head dan tail kepada NIL. Procedure Create; Begin Q.Head := NIL; Q.Tail := Q.Head; End;
  • 24. 2.Empty QUEUE DOUBLE LINKED LIST • untuk mengecek apakah QUEUE masih kosong atau sudah berisi data. • Hal ini dilakukan dengan mengecek Head masih menunjuk pada nil atau tidak, jika ya maka kosong. Function Empty:Boolean; Begin If (Q.Head = NIL) then Empty := True Else Empty := False; End;
  • 25. 3.Full QUEUE DOUBLE LINKED LIST • untuk mengecek apakah QUEUE sudah penuh atau masih bisa menampung data. • Cara: dengan mengecek apakah N (Jumlah Queue) sudah sama dengan Max_Queue atau belum, jika ya maka penuh. Function Full : Boolean; Begin If (N = Max_Queue) then Full := True Else Full := False; End;
  • 26. 4.EnQueue QUEUE DOUBLE LINKED LIST • Untuk memasukan 1 elemen ke dalam QUEUE. • Cara : (head dan tail mula-mula menunjuk ke NIL). Procedure EnQueue (Elemen : TipeData); Var Now : Point; Begin If (Not Full) then Begin New(Now); Now.^Isi := elemen; Now.^Next := NIL; If (Empty) then Begin Q.Head := Now; Q.Tail := Now; N := 1;
  • 27. 4.EnQueue QUEUE DOUBLE LINKED LIST End else Begin Q.Tail.^Next := Now; Q.Tail := Now; Inc(N); End; End; End;
  • 28. 5.DeQueue QUEUE DOUBLE LINKED LIST • untuk mengambil 1 elemen dari QUEUE. • Cara: menghapus satu simpul yang terletak paling depan (depan). Procedure DeQueue; Var Now : Point; Begin If (Not Empty) then Begin Now := Q.Head; Q.Head := Q.Head^.Next; Dispose(Now); Dec(N); End; End;