Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id QUEUE Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id.

Presentasi serupa


Presentasi berjudul: "Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id QUEUE Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id."— Transcript presentasi:

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


Download ppt "Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id QUEUE Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id."

Presentasi serupa


Iklan oleh Google