SlideShare a Scribd company logo
1 of 12
Download to read offline
Struktur Data - Queue
Halaman - 1
QUEUE (ANTRIAN)
Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka
penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen
dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in
first out).
Contoh :
5 6 7 9
Operasi-operasi dasar dari sebuah queue adalah :
1. Enqueue : proses penambahan atau memasukkan satu elemen di belakang
2. Dequeue : proses pengambilan atau mengeluarkan satu elemen di posisi depan
Representasi Queue :
1. Menggunakan Array Statis
a. Deklarasi secara umum :
Const
MaksQueue =…….
Type
TypeQueue = array [1..MaksQueue] of typedata
VarQueue : TypeQueue
Front, Rear : integer
b. Penciptaan Queue (Create queue )
Proses pemberian nilai 0 untuk variabel penunjuk depan(Front) dan variabel
penunjuk belakang(Rear) dari queue, yaitu:
Front 0
Rear 0
Front Rear
Struktur Data - Queue
Halaman - 2
c. Fungsi Kosong
Fungsi kosong digunakan untuk memeriksa apakah keadaan queue tidak
memiliki elemen. Fungsi kosong didapatkan dengan memeriksa penunjuk
Rear dari queue. Jika penunjuk Rear bernilai nol (0), maka berarti queue
kosong dan jika tidak nol, maka berarti queue mempunyai elemen.
Function Kosong (Input Rear : integer)  Boolean
{I.S : penunjuk Rear pada queue sudah terdefinisi}
{F.S : menghasilkan fungsi kosong}
Kamus:
Algoritma :
Kosongfalse
If (Rear =0) then
KosongTrue
EndIf
EndFunction
d. Fungsi Penuh
Fungsi penuh berguna untuk memeriksa apakah suatu queue telah penuh
atau belum. Fungsi ini diperlukan ketika proses enqueue. Fungsi ini akan
bernilai benar (true) jika penunjuk Rear sama dengan nilai Maksimum
Queue jika tidak sama berarti queue belum penuh.
Function Penuh (Input Rear : Integer)  Boolean
{I.S : penunjuk Rear pada queue sudah terdefinisi}
{F.S : menghasilkan fungsi penuh}
Kamus:
Algoritma :
Penuhfalse
If (Rear =MaksQueue) Then
PenuhTrue
EndIf
EndFunction
Struktur Data - Queue
Halaman - 3
e. Proses enqueue (dengan memeriksa Queue kosong/tidak dan Queue
penuh/tidak)
 Proses enqueue adalah proses untuk penambahan di posisi Rear.
 Penambahan ini dilakukan jika kondisi queue tidak penuh.
 Jika keadaan masih kosong, maka posisi Front dan Rear bernilai 1 tetapi
jika sudah mempunyai elemen, maka nilai Rear harus bertambah 1.
 Kemudian data baru disimpan di queue pada posisi Rear.
Procedure Enqueue (I/O Front,Rear : integer, Input elemen : tipedata)
{I.S : penunjuk Front dan Rear serta data yang akan dimasukkan ke
queue (elemen) sudah terdefinisi}
{F.S : menghasilkan queue yang sudah bertambah satu data}
Kamus:
Algoritma :
If (Kosong(Rear)) Then
Front1
Rear1
Else
If (Not Penuh(Rear)) Then
Rear  Rear + 1
Endif
EndIf
Queue(Rear)  elemen
EndProcedure
Struktur Data - Queue
Halaman - 4
f. Proses Dequeue
 Operasi dequeue adalah proses pengambilan satu elemen dari queue.
Tentunya elemen yang diambil selalu dari elemen pertama (1).
 Setelah elemen pertama diambil, maka akan terjadi proses pergeseran
elemen data setelah elemen data yang diambil (dari posisi ke-2 sampai
posisi paling belakang), dan kemudian posisi Rear akan berkurang 1
karena ada data yang diambil.
Procedure Dequeue (I/O Front,Rear : integer, Output elemen : tipedata)
{I.S : penunjuk Front dan Rear sudah terdefinisi}
{F.S : menghasilkan queue yang sudah berkurang satu data}
Kamus:
i : integer
Algoritma :
If (Not Kosong(Rear)) Then
elemen  Queue(Front)
For i  Front to (Rear-1) do
Queue(i) Queue(i+1)
Endfor
Rear  Rear - 1
EndIf
EndProcedure
2. Menggunakan Array Dinamis (Single Linked List)
Proses penyimpanan elemen queue dalam linked list mirip dengan operasi pada
single linked list yang menggunakan penyisipan di akhir/belakang dan penghapusan
di awal/depan.
Contoh :
4
Front
5 9 15
Rear
Struktur Data - Queue
Halaman - 5
Operasi-operasi yang dapat dilakukan dalam queue yang menggunakan representasi
linked list adalah :
2.1. Pendeklarasian sebuah queue
Setiap queue memiliki penunjuk berupa pointer Front, pointer Rear, elemen antrian,
dan pointer penunjuk ke elemen berikutnya. Berikut ini adalah pendeklarasian
queue yang disimpan dalam bentuk linked list.
Type
NamaPointer = ↑Simpul
Simpul = Record
Info : Tipedata
Next : NamaPointer
EndRecord
Front, Rear : NamaPointer
2.2. Penciptaan Queue
Proses inisialisasi queue yang disimpan dalam bentuk linked list adalah dengan
memberikan nilai nil ke pointer Front dan Rear yang menandakan bahwa queue
masih kosong.
Front  Nil
Rear  Nil
2.3. Fungsi Kosong
Fungsi ini berguna untuk memeriksa apakah suatu queue dalam keadaan kosong.
Fungsi ini berguna ketika proses dequeue yaitu ketika sebuah elemen akan diambil,
maka harus diperiksa dulu apakah memiliki data atau tidak. Fungsi ini akan
mempunyai nilai benar jika Front atau Rear bernilai nil.
Function Kosong(Input Front:NamaPointer)  Boolean
{I.S : penunjuk Front pada queue sudah terdefinisi}
{F.S : menghasilkan fungsi kosong}
Kamus:
Algoritma :
Kosongfalse
If (Front = Nil) Then
KosongTrue
EndIf
EndFunction
Struktur Data - Queue
Halaman - 6
2.4. Operasi Enqueue
 Proses enqueue dalam queue linked list adalah dengan menambahkan elemen
baru ke posisi paling belakang.
 Setelah itu, pointer penunjuk Rear harus berpindah ke posisi baru tersebut.
 Proses ini seperti proses penyisipan di belakang/akhir pada single linked list.
Procedure Enqueue (I/O Front,Rear:NamaPointer, Input elemen:tipedata)
{I.S : penunjuk Front dan Rear serta data yang akan dimasukkan ke queue
(elemen) sudah terdefinisi}
{F.S : menghasilkan queue yang sudah bertambah satu data}
Kamus:
Baru : NamaPointer
Algoritma :
Alloc (Baru)
Baru↑.Info  elemen
If (Kosong(Front)) Then
FrontBaru
Else
Rear↑.NextBaru
Endif
RearBaru
Baru↑.NextNil
EndProcedure
Struktur Data - Queue
Halaman - 7
2.5. Operasi Dequeue
 Proses dequeue untuk queue linked list adalah dengan mengambil data yang
ditunjuk pointer Front.
 Pointer Front harus berpindah ke elemen antrian berikutnya. Proses tersebut
dilakukan hanya jika linked list tidak kosong. Proses ini mirip dengan proses
penghapusan di awal/depan pada single linked list.
Procedure Dequeue(I/O Front,Rear : NamaPointer, Output elemen : tipedata)
{I.S : penunjuk Front dan Rear sudah terdefinisi}
{F.S : menghasilkan queue yang sudah berkurang satu data}
Kamus:
Phapus : NamaPointer
Algoritma :
If (Not Kosong(Rear)) Then
Phapus  Front
Elemen  Front↑.Info
If (Front = Rear) Then
Front  Nil
Rear  Nil
Else
FrontFront↑.Next
EndIf
Dealloc(Phapus)
Endif
EndProcedure
Struktur Data - Queue
Halaman - 8
QUEUE DENGAN CIRCULAR ARRAY
Jika kita menggunakan array untuk queue seperti di atas, maka ketika ada proses
pengambilan (dequeue) ada proses pergeseran data. Proses pergeseran data ini pasti
memerlukan waktu apalagi jika elemen queue-nya banyak. Oleh karena itu solusi agar
proses pergeseran dihilangkan adalah dengan metode circular array.
Queue dengan circular array dapat dibayangkan sebagai berikut :
Front = 1 Rear = 4
5 6 7 9
Atau agar lebih jelas, array di atas dapat dibayangkan ke dalam bentuk seperti
lingkaran di bawah ini.
7
9
5
6
Front = 1
Rear = 4
1
2
3
4
5
Aturan-aturan dalam queue yang menggunakan circular array adalah :
1. Proses penghapusan dilakukan dengan cara nilai depan (Front) ditambah 1 :
Front = Front + 1.
2. Proses penambahan elemen sama dengan linear array yaitu nilai belakang(Rear)
ditambah 1 : Rear = Rear + 1.
3. Jika Front = MaksQueue dan ada elemen yang akan dihapus, maka nilai Front = 1.
4. Jika Rear = MaksQueue dan Front tidak 1 maka jika ada elemen yang akan
ditambahkan, nilai belakang=1
5. Jika hanya tinggal 1 elemen di queue (Front = Rear), dan akan dihapus, maka Front
diisi 0 dan Rear diisi dengan 0 (queue kosong).
Struktur Data - Queue
Halaman - 9
Contoh :
Untuk mempermudah, elemen dari queue bertipe karakter.
No Operasi Status Queue
1 2 3 4 5
1. Inisialisasi Front = 0
Rear = 0
2. Enqueue A, B, C Front = 1
Rear = 3
A B C
3. Dequeue Front = 2
Rear = 3
B C
4. Enqueue D, E Front = 2
Rear = 5
B C D E
5. Dequeue 2 kali Front = 4
Rear = 5
D E
6. Enqueue F Front = 4
Rear = 1
F D E
7. Enqueue G, H Front = 4
Rear = 3
F G H D E
8. Dequeue Front = 5
Rear = 4
F G H E
9. Dequeue Front = 1
Rear = 3
F G H
10. Dequeue 2 kali Front = 3
Rear = 3
H
11. Dequeue Front = 0
Rear = 0
1
2
3
4
5
Operasi 1
C
A
B
1
2
3
4
5
Operasi 2
C
B
1
2
3
4
5
Operasi 3
C
D
E
B
1
2
3
4
5
Operasi 4
D
E
1
2
3
4
5
Operasi 5
D
E F
1
2
3
4
5
Operasi 6
H
D
E F
G
1
2
3
4
5
Operasi 7
H
E F
G
1
2
3
4
5
Operasi 8
H
F
G
1
2
3
4
5
Operasi 9
H
1
2
3
4
5
Operasi 10
1
2
3
4
5
Operasi 11
Struktur Data - Queue
Halaman - 10
Operasi-operasi yang dapat terjadi dalam queue yang menggunakan circular array adalah :
1. Penciptaan queue
Penciptaan queue adalah proses pemberian nilai 0 untuk penunjuk Front dan penunjuk
Rear dari queue
Front  0
Rear  0
2. Fungsi Kosong
Suatu queue yang menggunakan circular array dapat dikatakan kosong jika nilai dari
posisi Front atau Rear mempunyai nilai 0.
Function Kosong(Input Front : Integer)  Boolean
{I.S. : Penunjuk Front sudah terdefinisi}
{F.S. : Menghasilkan fungsi kosong}
Kamus:
Algoritma :
Kosong  false
If (Front = 0) Then
Kosong true
EndIf
EndFunction
3. Fungsi Penuh
Suatu queue akan disebut penuh jika terjadi 2 hal yaitu
 Jika Front ada diposisi 1 dan Rear ada diposisi MaksQueue
 Atau jika Front bernilai sama dengan posisi Rear +1.
Function Penuh (Input Front, Rear : Integer)  Boolean
{I.S. : Penunjuk Front dan Rear sudah terdefinisi}
{F.S. : Menghasilkan fungsi penuh}
Kamus:
Algoritma :
PenuhFalse
If ((Front = 1) and (Rear = maks)) or (Front = Rear+1) Then
PenuhTrue
EndIf
EndFunction
Struktur Data - Queue
Halaman - 11
5. Operasi Enqueue
Proses enqueue hanya bisa dilakukan jika queue tidak kosong. Ada beberapa hal yang
harus diperhatikan ketika akan melakukan enqueue pada circular array, diantaranya
adalah :
 Kondisi ketika queue masih kosong. Jika ini terjadi, maka posisi Front dan Rear
bernilai 0.
 Ketika nilai Rear sama dengan MaksQueue, maka posisi Rear bernilai 1
 Ketika nilai Rear masih lebih kecil dari MaksQueue, maka posisi Rear ditambah 1 :
Rear = Rear + 1
Procedure Enqueue (Input elemen : tipedata, I/O Front,Rear : Integer)
{I.S. : Data yang akan dimasukkan (elemen), penunjuk Front dan penunjuk
Rear sudah terdefinisi}
{F.S. : Menghasilkan Queue yang sudah bertambah satu data}
Kamus:
Algoritma :
If (Kosong(Front)) Then
Front  1
Rear  1
Else
If (Not Penuh(Front,Rear)) Then
If (Rear = MaksQueue) Then
Rear  1
Else
Rear  Rear + 1
EndIf
Queue(Rear)  elemen
EndIf
EndProcedure
Struktur Data - Queue
Halaman - 12
4. Operasi Dequeue
Proses dequeue hanya bisa dilakukan jika queue dalam keadaan tidak kosong. Ada
beberapa kondisi yang harus diperhatikan ketika dequeue elemen queue yaitu :
 Kondisi ketika posisi Front sama dengan posisi Rear (queue hanya memiliki 1
elemen), maka nilai Front dan Rear bernilai 0 (queue kosong).
 Jika posisi Front sama dengan MaksQueue maka posisi Rear menjadi 1.
 Selain itu, posisi Front ditambah dengan 1 : Front = Front + 1
Procedure Dequeue (Output elemen : tipedata, I/O Front, Rear : Integer)
{I.S. : Penunjuk Front dan penunjuk Rear sudah terdefinisi}
{F.S. : Menghasilkan Queue yang sudah berkurang satu data}
Kamus:
Algoritma :
If (Not Kosong(Front)) Then
If (Front = Rear) Then
Front0
Rear 0
Else
If (Front = MaksQueue) Then
Front  1
Else
Front  Front + 1
EndIf
EndIf
EndProcedure

More Related Content

What's hot

Rpp basis data kelas 11 semester ganjil
Rpp basis data kelas 11 semester ganjilRpp basis data kelas 11 semester ganjil
Rpp basis data kelas 11 semester ganjilSaprudin Eskom
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitFitria Nuri
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Tugas sistem basis data kelompok
Tugas sistem basis data kelompokTugas sistem basis data kelompok
Tugas sistem basis data kelompokFriska Nuraini
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3said zulhelmi
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianKuliahKita
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Ajeng Savitri
 
OPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.pptOPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.pptAsyerMilala
 
Slide Sidang Skripsi Sistem Informasi
Slide Sidang Skripsi Sistem InformasiSlide Sidang Skripsi Sistem Informasi
Slide Sidang Skripsi Sistem InformasiIsmi Islamia
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPOkta Riveranda
 
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
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 

What's hot (20)

Linked List
Linked ListLinked List
Linked List
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Rpp basis data kelas 11 semester ganjil
Rpp basis data kelas 11 semester ganjilRpp basis data kelas 11 semester ganjil
Rpp basis data kelas 11 semester ganjil
 
Pertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau TumpukanPertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau Tumpukan
 
Makalah Tentang Database
Makalah Tentang DatabaseMakalah Tentang Database
Makalah Tentang Database
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah Sakit
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Tugas sistem basis data kelompok
Tugas sistem basis data kelompokTugas sistem basis data kelompok
Tugas sistem basis data kelompok
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 
Algoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - AntrianAlgoritma dan Struktur Data - Antrian
Algoritma dan Struktur Data - Antrian
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
OPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.pptOPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.ppt
 
Slide Sidang Skripsi Sistem Informasi
Slide Sidang Skripsi Sistem InformasiSlide Sidang Skripsi Sistem Informasi
Slide Sidang Skripsi Sistem Informasi
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
 
Graph-Struktur Data.pdf
Graph-Struktur Data.pdfGraph-Struktur Data.pdf
Graph-Struktur Data.pdf
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Sistem pakar
Sistem pakarSistem pakar
Sistem pakar
 

Viewers also liked

Viewers also liked (11)

Model antrian
Model antrianModel antrian
Model antrian
 
Antrian
AntrianAntrian
Antrian
 
Bab 5 queue_antrian_
Bab 5 queue_antrian_Bab 5 queue_antrian_
Bab 5 queue_antrian_
 
Antrian Lampu Merah
Antrian Lampu MerahAntrian Lampu Merah
Antrian Lampu Merah
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
contoh Program queue
contoh Program queuecontoh Program queue
contoh Program queue
 
(MKJI) manual kapasitas jalan indonesia
(MKJI) manual kapasitas jalan indonesia(MKJI) manual kapasitas jalan indonesia
(MKJI) manual kapasitas jalan indonesia
 
Manual Kapasitas Jalan Indonesia (MKJI) 1997
Manual Kapasitas Jalan Indonesia (MKJI) 1997Manual Kapasitas Jalan Indonesia (MKJI) 1997
Manual Kapasitas Jalan Indonesia (MKJI) 1997
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Queue data structure
Queue data structureQueue data structure
Queue data structure
 

Similar to queue antrian

Similar to queue antrian (20)

Struktur data pertemuan 11
Struktur data pertemuan 11Struktur data pertemuan 11
Struktur data pertemuan 11
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue
QueueQueue
Queue
 
2894065
28940652894065
2894065
 
Chapter 4b queue
Chapter 4b   queueChapter 4b   queue
Chapter 4b queue
 
30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf30707_SD6-Queue (Antrian).pdf
30707_SD6-Queue (Antrian).pdf
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 
4 queue2
4 queue24 queue2
4 queue2
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 
Pertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhsPertemuan 6 revisijan2013-mhs
Pertemuan 6 revisijan2013-mhs
 
Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
 
Struktur data
Struktur dataStruktur data
Struktur data
 

More from Materi Kuliah Online

Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakMateri Kuliah Online
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Materi Kuliah Online
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDMateri Kuliah Online
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiMateri Kuliah Online
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaMateri Kuliah Online
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesMateri Kuliah Online
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananMateri Kuliah Online
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangMateri Kuliah Online
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorMateri Kuliah Online
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyMateri Kuliah Online
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponMateri Kuliah Online
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessMateri Kuliah Online
 

More from Materi Kuliah Online (20)

Sekilas tentang HaKI
Sekilas tentang HaKISekilas tentang HaKI
Sekilas tentang HaKI
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
 
Pemodelan Basis Data Lainnya
Pemodelan Basis Data LainnyaPemodelan Basis Data Lainnya
Pemodelan Basis Data Lainnya
 
Arsitektur Sistem Basis Data
Arsitektur Sistem Basis DataArsitektur Sistem Basis Data
Arsitektur Sistem Basis Data
 
Access control-systems
Access control-systemsAccess control-systems
Access control-systems
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFID
 
Remote control alarm sepeda motor
Remote control alarm sepeda motorRemote control alarm sepeda motor
Remote control alarm sepeda motor
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi Terdistribusi
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di Indonesia
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication Approaches
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah Gelombang
 
Dioda dan Catu Daya
Dioda dan Catu DayaDioda dan Catu Daya
Dioda dan Catu Daya
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp Integrator
 
Radio Frequency Identification
Radio Frequency IdentificationRadio Frequency Identification
Radio Frequency Identification
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
 
Interfacing Number Display
Interfacing Number DisplayInterfacing Number Display
Interfacing Number Display
 

Recently uploaded

2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 

Recently uploaded (20)

2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 

queue antrian

  • 1. Struktur Data - Queue Halaman - 1 QUEUE (ANTRIAN) Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in first out). Contoh : 5 6 7 9 Operasi-operasi dasar dari sebuah queue adalah : 1. Enqueue : proses penambahan atau memasukkan satu elemen di belakang 2. Dequeue : proses pengambilan atau mengeluarkan satu elemen di posisi depan Representasi Queue : 1. Menggunakan Array Statis a. Deklarasi secara umum : Const MaksQueue =……. Type TypeQueue = array [1..MaksQueue] of typedata VarQueue : TypeQueue Front, Rear : integer b. Penciptaan Queue (Create queue ) Proses pemberian nilai 0 untuk variabel penunjuk depan(Front) dan variabel penunjuk belakang(Rear) dari queue, yaitu: Front 0 Rear 0 Front Rear
  • 2. Struktur Data - Queue Halaman - 2 c. Fungsi Kosong Fungsi kosong digunakan untuk memeriksa apakah keadaan queue tidak memiliki elemen. Fungsi kosong didapatkan dengan memeriksa penunjuk Rear dari queue. Jika penunjuk Rear bernilai nol (0), maka berarti queue kosong dan jika tidak nol, maka berarti queue mempunyai elemen. Function Kosong (Input Rear : integer)  Boolean {I.S : penunjuk Rear pada queue sudah terdefinisi} {F.S : menghasilkan fungsi kosong} Kamus: Algoritma : Kosongfalse If (Rear =0) then KosongTrue EndIf EndFunction d. Fungsi Penuh Fungsi penuh berguna untuk memeriksa apakah suatu queue telah penuh atau belum. Fungsi ini diperlukan ketika proses enqueue. Fungsi ini akan bernilai benar (true) jika penunjuk Rear sama dengan nilai Maksimum Queue jika tidak sama berarti queue belum penuh. Function Penuh (Input Rear : Integer)  Boolean {I.S : penunjuk Rear pada queue sudah terdefinisi} {F.S : menghasilkan fungsi penuh} Kamus: Algoritma : Penuhfalse If (Rear =MaksQueue) Then PenuhTrue EndIf EndFunction
  • 3. Struktur Data - Queue Halaman - 3 e. Proses enqueue (dengan memeriksa Queue kosong/tidak dan Queue penuh/tidak)  Proses enqueue adalah proses untuk penambahan di posisi Rear.  Penambahan ini dilakukan jika kondisi queue tidak penuh.  Jika keadaan masih kosong, maka posisi Front dan Rear bernilai 1 tetapi jika sudah mempunyai elemen, maka nilai Rear harus bertambah 1.  Kemudian data baru disimpan di queue pada posisi Rear. Procedure Enqueue (I/O Front,Rear : integer, Input elemen : tipedata) {I.S : penunjuk Front dan Rear serta data yang akan dimasukkan ke queue (elemen) sudah terdefinisi} {F.S : menghasilkan queue yang sudah bertambah satu data} Kamus: Algoritma : If (Kosong(Rear)) Then Front1 Rear1 Else If (Not Penuh(Rear)) Then Rear  Rear + 1 Endif EndIf Queue(Rear)  elemen EndProcedure
  • 4. Struktur Data - Queue Halaman - 4 f. Proses Dequeue  Operasi dequeue adalah proses pengambilan satu elemen dari queue. Tentunya elemen yang diambil selalu dari elemen pertama (1).  Setelah elemen pertama diambil, maka akan terjadi proses pergeseran elemen data setelah elemen data yang diambil (dari posisi ke-2 sampai posisi paling belakang), dan kemudian posisi Rear akan berkurang 1 karena ada data yang diambil. Procedure Dequeue (I/O Front,Rear : integer, Output elemen : tipedata) {I.S : penunjuk Front dan Rear sudah terdefinisi} {F.S : menghasilkan queue yang sudah berkurang satu data} Kamus: i : integer Algoritma : If (Not Kosong(Rear)) Then elemen  Queue(Front) For i  Front to (Rear-1) do Queue(i) Queue(i+1) Endfor Rear  Rear - 1 EndIf EndProcedure 2. Menggunakan Array Dinamis (Single Linked List) Proses penyimpanan elemen queue dalam linked list mirip dengan operasi pada single linked list yang menggunakan penyisipan di akhir/belakang dan penghapusan di awal/depan. Contoh : 4 Front 5 9 15 Rear
  • 5. Struktur Data - Queue Halaman - 5 Operasi-operasi yang dapat dilakukan dalam queue yang menggunakan representasi linked list adalah : 2.1. Pendeklarasian sebuah queue Setiap queue memiliki penunjuk berupa pointer Front, pointer Rear, elemen antrian, dan pointer penunjuk ke elemen berikutnya. Berikut ini adalah pendeklarasian queue yang disimpan dalam bentuk linked list. Type NamaPointer = ↑Simpul Simpul = Record Info : Tipedata Next : NamaPointer EndRecord Front, Rear : NamaPointer 2.2. Penciptaan Queue Proses inisialisasi queue yang disimpan dalam bentuk linked list adalah dengan memberikan nilai nil ke pointer Front dan Rear yang menandakan bahwa queue masih kosong. Front  Nil Rear  Nil 2.3. Fungsi Kosong Fungsi ini berguna untuk memeriksa apakah suatu queue dalam keadaan kosong. Fungsi ini berguna ketika proses dequeue yaitu ketika sebuah elemen akan diambil, maka harus diperiksa dulu apakah memiliki data atau tidak. Fungsi ini akan mempunyai nilai benar jika Front atau Rear bernilai nil. Function Kosong(Input Front:NamaPointer)  Boolean {I.S : penunjuk Front pada queue sudah terdefinisi} {F.S : menghasilkan fungsi kosong} Kamus: Algoritma : Kosongfalse If (Front = Nil) Then KosongTrue EndIf EndFunction
  • 6. Struktur Data - Queue Halaman - 6 2.4. Operasi Enqueue  Proses enqueue dalam queue linked list adalah dengan menambahkan elemen baru ke posisi paling belakang.  Setelah itu, pointer penunjuk Rear harus berpindah ke posisi baru tersebut.  Proses ini seperti proses penyisipan di belakang/akhir pada single linked list. Procedure Enqueue (I/O Front,Rear:NamaPointer, Input elemen:tipedata) {I.S : penunjuk Front dan Rear serta data yang akan dimasukkan ke queue (elemen) sudah terdefinisi} {F.S : menghasilkan queue yang sudah bertambah satu data} Kamus: Baru : NamaPointer Algoritma : Alloc (Baru) Baru↑.Info  elemen If (Kosong(Front)) Then FrontBaru Else Rear↑.NextBaru Endif RearBaru Baru↑.NextNil EndProcedure
  • 7. Struktur Data - Queue Halaman - 7 2.5. Operasi Dequeue  Proses dequeue untuk queue linked list adalah dengan mengambil data yang ditunjuk pointer Front.  Pointer Front harus berpindah ke elemen antrian berikutnya. Proses tersebut dilakukan hanya jika linked list tidak kosong. Proses ini mirip dengan proses penghapusan di awal/depan pada single linked list. Procedure Dequeue(I/O Front,Rear : NamaPointer, Output elemen : tipedata) {I.S : penunjuk Front dan Rear sudah terdefinisi} {F.S : menghasilkan queue yang sudah berkurang satu data} Kamus: Phapus : NamaPointer Algoritma : If (Not Kosong(Rear)) Then Phapus  Front Elemen  Front↑.Info If (Front = Rear) Then Front  Nil Rear  Nil Else FrontFront↑.Next EndIf Dealloc(Phapus) Endif EndProcedure
  • 8. Struktur Data - Queue Halaman - 8 QUEUE DENGAN CIRCULAR ARRAY Jika kita menggunakan array untuk queue seperti di atas, maka ketika ada proses pengambilan (dequeue) ada proses pergeseran data. Proses pergeseran data ini pasti memerlukan waktu apalagi jika elemen queue-nya banyak. Oleh karena itu solusi agar proses pergeseran dihilangkan adalah dengan metode circular array. Queue dengan circular array dapat dibayangkan sebagai berikut : Front = 1 Rear = 4 5 6 7 9 Atau agar lebih jelas, array di atas dapat dibayangkan ke dalam bentuk seperti lingkaran di bawah ini. 7 9 5 6 Front = 1 Rear = 4 1 2 3 4 5 Aturan-aturan dalam queue yang menggunakan circular array adalah : 1. Proses penghapusan dilakukan dengan cara nilai depan (Front) ditambah 1 : Front = Front + 1. 2. Proses penambahan elemen sama dengan linear array yaitu nilai belakang(Rear) ditambah 1 : Rear = Rear + 1. 3. Jika Front = MaksQueue dan ada elemen yang akan dihapus, maka nilai Front = 1. 4. Jika Rear = MaksQueue dan Front tidak 1 maka jika ada elemen yang akan ditambahkan, nilai belakang=1 5. Jika hanya tinggal 1 elemen di queue (Front = Rear), dan akan dihapus, maka Front diisi 0 dan Rear diisi dengan 0 (queue kosong).
  • 9. Struktur Data - Queue Halaman - 9 Contoh : Untuk mempermudah, elemen dari queue bertipe karakter. No Operasi Status Queue 1 2 3 4 5 1. Inisialisasi Front = 0 Rear = 0 2. Enqueue A, B, C Front = 1 Rear = 3 A B C 3. Dequeue Front = 2 Rear = 3 B C 4. Enqueue D, E Front = 2 Rear = 5 B C D E 5. Dequeue 2 kali Front = 4 Rear = 5 D E 6. Enqueue F Front = 4 Rear = 1 F D E 7. Enqueue G, H Front = 4 Rear = 3 F G H D E 8. Dequeue Front = 5 Rear = 4 F G H E 9. Dequeue Front = 1 Rear = 3 F G H 10. Dequeue 2 kali Front = 3 Rear = 3 H 11. Dequeue Front = 0 Rear = 0 1 2 3 4 5 Operasi 1 C A B 1 2 3 4 5 Operasi 2 C B 1 2 3 4 5 Operasi 3 C D E B 1 2 3 4 5 Operasi 4 D E 1 2 3 4 5 Operasi 5 D E F 1 2 3 4 5 Operasi 6 H D E F G 1 2 3 4 5 Operasi 7 H E F G 1 2 3 4 5 Operasi 8 H F G 1 2 3 4 5 Operasi 9 H 1 2 3 4 5 Operasi 10 1 2 3 4 5 Operasi 11
  • 10. Struktur Data - Queue Halaman - 10 Operasi-operasi yang dapat terjadi dalam queue yang menggunakan circular array adalah : 1. Penciptaan queue Penciptaan queue adalah proses pemberian nilai 0 untuk penunjuk Front dan penunjuk Rear dari queue Front  0 Rear  0 2. Fungsi Kosong Suatu queue yang menggunakan circular array dapat dikatakan kosong jika nilai dari posisi Front atau Rear mempunyai nilai 0. Function Kosong(Input Front : Integer)  Boolean {I.S. : Penunjuk Front sudah terdefinisi} {F.S. : Menghasilkan fungsi kosong} Kamus: Algoritma : Kosong  false If (Front = 0) Then Kosong true EndIf EndFunction 3. Fungsi Penuh Suatu queue akan disebut penuh jika terjadi 2 hal yaitu  Jika Front ada diposisi 1 dan Rear ada diposisi MaksQueue  Atau jika Front bernilai sama dengan posisi Rear +1. Function Penuh (Input Front, Rear : Integer)  Boolean {I.S. : Penunjuk Front dan Rear sudah terdefinisi} {F.S. : Menghasilkan fungsi penuh} Kamus: Algoritma : PenuhFalse If ((Front = 1) and (Rear = maks)) or (Front = Rear+1) Then PenuhTrue EndIf EndFunction
  • 11. Struktur Data - Queue Halaman - 11 5. Operasi Enqueue Proses enqueue hanya bisa dilakukan jika queue tidak kosong. Ada beberapa hal yang harus diperhatikan ketika akan melakukan enqueue pada circular array, diantaranya adalah :  Kondisi ketika queue masih kosong. Jika ini terjadi, maka posisi Front dan Rear bernilai 0.  Ketika nilai Rear sama dengan MaksQueue, maka posisi Rear bernilai 1  Ketika nilai Rear masih lebih kecil dari MaksQueue, maka posisi Rear ditambah 1 : Rear = Rear + 1 Procedure Enqueue (Input elemen : tipedata, I/O Front,Rear : Integer) {I.S. : Data yang akan dimasukkan (elemen), penunjuk Front dan penunjuk Rear sudah terdefinisi} {F.S. : Menghasilkan Queue yang sudah bertambah satu data} Kamus: Algoritma : If (Kosong(Front)) Then Front  1 Rear  1 Else If (Not Penuh(Front,Rear)) Then If (Rear = MaksQueue) Then Rear  1 Else Rear  Rear + 1 EndIf Queue(Rear)  elemen EndIf EndProcedure
  • 12. Struktur Data - Queue Halaman - 12 4. Operasi Dequeue Proses dequeue hanya bisa dilakukan jika queue dalam keadaan tidak kosong. Ada beberapa kondisi yang harus diperhatikan ketika dequeue elemen queue yaitu :  Kondisi ketika posisi Front sama dengan posisi Rear (queue hanya memiliki 1 elemen), maka nilai Front dan Rear bernilai 0 (queue kosong).  Jika posisi Front sama dengan MaksQueue maka posisi Rear menjadi 1.  Selain itu, posisi Front ditambah dengan 1 : Front = Front + 1 Procedure Dequeue (Output elemen : tipedata, I/O Front, Rear : Integer) {I.S. : Penunjuk Front dan penunjuk Rear sudah terdefinisi} {F.S. : Menghasilkan Queue yang sudah berkurang satu data} Kamus: Algoritma : If (Not Kosong(Front)) Then If (Front = Rear) Then Front0 Rear 0 Else If (Front = MaksQueue) Then Front  1 Else Front  Front + 1 EndIf EndIf EndProcedure