SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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;

Contenu connexe

Tendances

6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)Kelinci Coklat
 
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
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorIwank Odarlean
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queueMuhammad Najib
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Proses Pengiriman Data Melalui OSI LAYER
Proses Pengiriman Data Melalui OSI LAYERProses Pengiriman Data Melalui OSI LAYER
Proses Pengiriman Data Melalui OSI LAYERyoga wijaya
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 

Tendances (20)

Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
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)
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 
Pertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreePertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTree
 
Soal uas struktur data
Soal uas struktur dataSoal uas struktur data
Soal uas struktur data
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Pertemuan 9 ok
Pertemuan 9 okPertemuan 9 ok
Pertemuan 9 ok
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Double linked list
Double linked listDouble linked list
Double linked list
 
Proses Pengiriman Data Melalui OSI LAYER
Proses Pengiriman Data Melalui OSI LAYERProses Pengiriman Data Melalui OSI LAYER
Proses Pengiriman Data Melalui OSI LAYER
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Struktur data
Struktur dataStruktur data
Struktur data
 

En vedette

4 Karakter Pengelola Uang
4 Karakter Pengelola Uang4 Karakter Pengelola Uang
4 Karakter Pengelola UangSherly Uda
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Ical Militanmannojack
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Ical Militanmannojack
 
E bisnis slideshare
E bisnis slideshareE bisnis slideshare
E bisnis slideshareRAHASIA
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramSherly Uda
 
INTERNET MASUK DESA
INTERNET MASUK DESAINTERNET MASUK DESA
INTERNET MASUK DESARAHASIA
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow DiagramSherly Uda
 
Pointer dan Linked List
Pointer dan Linked ListPointer dan Linked List
Pointer dan Linked ListSherly Uda
 
14 algo integrasi
14 algo integrasi14 algo integrasi
14 algo integrasiArif Rahman
 

En vedette (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
 

Similaire à Queue

FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)Yosua Herbi
 
Bab 8-stack-dan-queue
Bab 8-stack-dan-queueBab 8-stack-dan-queue
Bab 8-stack-dan-queueRazik Akamal
 
Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11ajonona
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ixDevi Apriansyah
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarendeSten Maarende
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianKuliahKita
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueKuliahKita
 
ALOGARITMA 5
ALOGARITMA 5ALOGARITMA 5
ALOGARITMA 5arstwn
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Bab 5 queue_antrian_
Bab 5 queue_antrian_Bab 5 queue_antrian_
Bab 5 queue_antrian_arii_manroe
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 

Similaire à 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
QueueQueue
Queue
 
Chapter 4b queue
Chapter 4b   queueChapter 4b   queue
Chapter 4b queue
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 
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
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 
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
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 

Plus de Sherly Uda

Aplikasi Basis Data Sederhana
Aplikasi Basis Data SederhanaAplikasi Basis Data Sederhana
Aplikasi Basis Data SederhanaSherly Uda
 
Bahasa Query Terapan
Bahasa Query TerapanBahasa Query Terapan
Bahasa Query TerapanSherly Uda
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence DiagramSherly Uda
 
Rekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakRekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakSherly Uda
 
Pengantar Analisis Dan Desain Sistem Informasi
Pengantar Analisis Dan Desain Sistem InformasiPengantar Analisis Dan Desain Sistem Informasi
Pengantar Analisis Dan Desain Sistem InformasiSherly Uda
 
Keamanan Basis Data
Keamanan Basis DataKeamanan Basis Data
Keamanan Basis DataSherly Uda
 
Manajemen Transaksi
Manajemen TransaksiManajemen Transaksi
Manajemen TransaksiSherly Uda
 
Pengantar Android
Pengantar AndroidPengantar Android
Pengantar AndroidSherly Uda
 
Model Jaringan Hopfield
Model Jaringan HopfieldModel Jaringan Hopfield
Model Jaringan HopfieldSherly Uda
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised LearningSherly Uda
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbSherly Uda
 
Contoh Program Jaringan Syaraf Tiruan Sederhana
Contoh Program Jaringan Syaraf Tiruan SederhanaContoh Program Jaringan Syaraf Tiruan Sederhana
Contoh Program Jaringan Syaraf Tiruan SederhanaSherly Uda
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 

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

Dernier

10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
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
 
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
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
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
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxMateri Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxarifyudianto3
 
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
 

Dernier (9)

10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
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
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
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
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxMateri Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
 
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
 

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;