Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA QUEUE.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA QUEUE."— Transcript presentasi:

1 STRUKTUR DATA QUEUE

2 Queue Dengan Array Bersifat FIFO
Elemen yang pertama masuk ke antrian akan keluar pertama kalinya DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array

3 Mekanisme Queue Menentukan Bentuk data (Array, Struct, Pointer)
int Q[10]; Menentukan jml Maksimal Queue #define MaxQ 8; const MaxQ = 8 ; Menentukan 2 variable penanda (input & output) int H, T; Membuat Fungsi/operasi

4 int Q[10];const MaxQ=8; int H,T; void create(){ H=T=-1; //queue kosong } int isFull(){ if (t==MaxQ-1){ return 1;} else{return 0;}} int isEmpty(){ if (t==-1){ return 1;} void EnQueu(int in){ if ( isFull()){ cout<<“Penuh”; } else{ T++; Q[T]=in;}} void DeQueue(){ //menampilkan data Depan if (H<0) {H=0;} cout<<“Hapus ”<<Q[H]; //proses geser data for(int i= H; i<T ; i++){ Q[i]=Q[i+1]; } //mengurangi T T--;} If (isEmpty()){ cout<<“Kosong”; }else{ }

5 Queue Linier Array Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya Sehingga membutuhkan 2 variabel: Head dan Tail

6 Queue (2) Operasi-operasi: Create()
Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1

7 Queue (3)

8 Queue (4) IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail

9 Queue (5)

10 Queue (6) Fungis IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh

11 Queue (7) Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu

12 Queue (8)

13 Queue (9) Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping

14 Queue (10)

15 Queue (11) Clear() Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca

16 Queue (12)

17 Queue (13) Tampil() Untuk menampilkan nilai-nilai elemen Antrian
Menggunakan looping dari head s/d tail

18 Soal Tambahkanlah function untuk mencari suatu elemen dalam queue & stack Tambahkan function untuk mengedit suatu elemen dalam queue & stack Carilah nilai total, rata-rata, terbesar dan terkecil dari elemen-elemen queue dalam function tersendiri


Download ppt "STRUKTUR DATA QUEUE."

Presentasi serupa


Iklan oleh Google