Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehDoddy Budiono Telah diubah "6 tahun yang lalu
1
Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id
QUEUE Defri Kurniawan
2
RENCANA KEGIATAN PERKULIAHAN SEMESTER
W Pokok Bahasan 1 ADT Stack 2 ADT Queue 3 List Linear 4 5 6 Representasi Fisik List Linear 7 Variasi List Linear 8 Ujian Tengah Semester W Pokok Bahasan 9 Variasi List Linear 10 11 Stack dengan Representasi List 12 Queue dengan Representasi List 13 List Rekursif 14 Pohon dan Pohon Biner 15 Multi List 16 Ujian Akhir Semester
3
Queue Elemen List linear dimana penghapusan elemen dapat terjadi hanya di salah satu ujung, yang disebut FRONT (Head) dan penyisipan dapat terjadi hanya di ujung, yang disebut REAR (Tail) 2 5 1 6 9 Head Tail
4
people waiting to purchase tickets
Queue Elemen pertama pada antrian akan menjadi yang pertama dihapus dari daftar FIFO (First In First Out) Example Queue people waiting to purchase tickets
5
Queue Menginisialisasi antrian kosong
Menentukan jika antrian kosong atau tidak Menentukan jika suatu antrian penuh atau tidak Menambah elemen baru setelah elemen terakhir pada antrian (jika antrian tidak penuh) Mengambil elemen pertama dari suatu antrian (jika antrian tidak kosong) Retrieve the first element of a queue, if it is not empty Mengahapus elemen pertama pada antrian (jika antrian tidak kosong)
6
Queue - Array Representation of a Queue as an array X[0] X[1] X[2]
8 10 61 9 12 1 23 2 Head Tail
7
Queue dengan Linier Array
1 2 3 … n Head = -1 Tail = -1
8
Queue dengan Linier Array
1 2 3 … n Head Tail
9
Queue dengan Linier Array
1 2 3 … n Head Tail
10
Queue dengan Linier Array
1 2 3 … n Head Tail
11
Queue dengan Linier Array
1 2 3 … n Head Tail
12
Queue dengan Linier Array
1 2 3 … n Head Tail
13
Queue dengan Linier Array
Create() inisialisasi Queue, Head dan Tail = -1
14
Queue dengan Linier Array
Deklarasi Queque #define MAX 8 typedef struct { int data[MAX]; int head; int tail; }Queqe; Queqe antrian;
15
Queue dengan Linier Array
inisialisasi Queue, Head dan Tail = -1 void Create() { antrian.head = antrian.tail = -1; }
16
IsEmpty Untuk memeriksa apakah antrian kosong atau tidak, dengan cara memeriksa Tail = -1 kita tidak memeriksa Head, karena Head adalah tanda sebagai kepala antrian yang tidak akan berubah
17
IsEmpty (Lanjutan) int IsEmpty() { if(antrian.tail==-1) return 1; else return 0; }
18
IsFull Apakah Antrian sudah penuh atau belum ? Tail = MAX-1
19
IsFull (Lanjutan) int IsFull() { if(antrian.tail==MAX-1) return 1;
else return 0; }
20
Enqueue Menambahkan elemen ke dalam antrian
Penambahan elemen menggerakkan variable Tail dengan cara increment counter tail
21
Enqueue (Lanjutan) void Enqueue(int data) { if(IsEmpty()==1) { antrian.head = antrian.tail=0; antrian.data[antrian.tail] = data; printf("%d masuk!", antrian.data[antrian.tail]); }else if(IsFull()==0) { antrian.tail++; antrian.data[antrian.tail]=data; printf("%d masuk!",antrian.data[antrian.tail]); }
22
Dequeue Menghapus elemen paling depan dari antrian
Menggeser semua elemen ke depan dan mengurangi Tail dengan 1
23
Dequeue (Lanjutan) int Dequeue() { int i; int e = antrian.data[antrian.head]; for(i=antrian.head;i<=antrian.tail-1;i++) { antrian.data[i] = antrian.data[i+1]; } antrian.tail--; return e;
24
Clear Menghapus semua elemen antrian Tail dan head = -1
25
Tampil Menampilkan elemen antrian void Tampil() { if(IsEmpty()==0) {
for(int i-antrian.head;i<=antrian.tail;i++) { printf("%d",antrian.data[i]); } }else printf("data kosong! \n");
26
TUGAS PERORANGAN Implementasikan konsep Stack dan Queue ke dalam bahasa C dengan panjang Larik 9 gunakan operasi: Pada Stack Push, Pop, IsEmpty, IsFull Pada Queue IsEmpty, IsFull, Enqueue, Dequeue, Tampil Isi data sesuai dengan nim masing-masing diambil dari data tahun. Ex: Nim A data = {2,0,1,5,0,1,2,3,4} 2 1 5 3 4
27
Terima Kasih
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.