Tugas Kelompok 3 Operasi Queue Konsep dan Teknik Queue
Pertanyaan Jelaskan pengertian Queue ? Cara mengimplementasikan Queue ? Berikan contoh konsep Queue ? Buatlah program Queue ? Jelaskan fungsi daripada DeQueue ? Riza Mirza | Universitas Al Muslim
Pengertian Queue Menurut saya : Queue diartikan sebagai antrian, jadi Queue itu mengantrikan suatu proses agar tidak terjadi perebutan sumber daya. Menurut teori secara umum : Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Riza Mirza | Universitas Al Muslim
Cara mengimplementasikan Queue Ini adalah contoh kode implementasi Queue pada PHP <?php $girl=array("Agustina","Siska","Amelia"); array_push($girl,“Irma","Annisa"); print_r($girl); print "<br>"; $a=implode(",",$girl); echo $a; ?> Riza Mirza | Universitas Al Muslim
Cara mengimplementasikan Queue Penjelasan kode <?php $girl=array("Agustina","Siska","Amelia"); // menyatakan array dan anggotanya array_push($girl,“Irma","Annisa"); // melakukan push ke array $girl print_r($girl); //menmpilkan array yang sudah di push print "<br>"; $a=implode(“, ",$girl); //menampilkan array dalam bentuk string echo "Barisan para mantan adalah : ".$a; ?> Riza Mirza | Universitas Al Muslim
Cara mengimplementasikan Queue Output : Riza Mirza | Universitas Al Muslim
Contoh Konsep Queue Ini adalah salah satu contoh konsep queue, terlihat push berjalan. <?php $girl=array("Agustina","Siska","Amelia"); // menyatakan array dan anggotanya array_push($girl,"Alsera","Annisa"); // melakukan push ke array $girl print_r($girl); //menmpilkan array yang sudah di push print "<br>"; $a=implode(“, ",$girl); //menampilkan array dalam bentuk string echo "Barisan para mantan adalah : ".$a; ?> Riza Mirza | Universitas Al Muslim
Program Queue Program Queue pada c++ Riza Mirza | Universitas Al Muslim
Bagian ... 1 //header file # include <stdio.h> # include <conio.h> # include <stdlib.h> # include <string.h> # define QSIZE 5 Riza Mirza | Universitas Al Muslim
Bagian ... 2 //deklarasi struct typedef struct { int count; int head,tail; char names[QSIZE][30]; }QUEUE; //nama struct char *enqueue(char *); char* dequeue(); Riza Mirza | Universitas Al Muslim
Bagian ... 3 //deklarasikan prototype fungsi void tampil(); void inisialisasi(); //deklarasi Node QUEUE *pq; Riza Mirza | Universitas Al Muslim
Bagian ... 4 //fungsi main int main() { //deklarasi variabel int pil; char str[30]; QUEUE q; pq=&q; inisialisasi(); //panggil fungsi inisialisasi Riza Mirza | Universitas Al Muslim
Bagian ... 4 //fungsi main int main() { //deklarasi variabel int pil; char str[30]; QUEUE q; pq=&q; inisialisasi(); //panggil fungsi inisialisasi Riza Mirza | Universitas Al Muslim
Bagian ... 5 do{ system("cls"); //bersihkan layar printf("\tMENU PILIHAN : "); printf("\n\t______________"); printf("\n[1] Input Data"); printf("\n[2] Delete Data"); printf("\n[3] Show data in queue"); printf("\n[4] Exit\n"); printf("\nPilihan anda : "); scanf("%d",&pil); Riza Mirza | Universitas Al Muslim
Bagian ... 6 switch(pil){ case 1: printf("\nSilahkan memasukkan sebuah kata : "); fflush(stdin); //menghapus buffer data gets(str); puts(enqueue(str)); /*Mencetak string hasil penambahan data yang dilakukan oleh fungsi enqueue()*/ break; case 2: puts(dequeue()); /*Mencetak string terhapus yang dilakukan oleh fungsi enqueue()*/ Riza Mirza | Universitas Al Muslim
Bagian ... 7 switch(pil){ case 1: printf("\nSilahkan memasukkan sebuah kata : "); fflush(stdin); //menghapus buffer data gets(str); puts(enqueue(str)); /*Mencetak string hasil penambahan data yang dilakukan oleh fungsi enqueue()*/ break; case 2: puts(dequeue()); /*Mencetak string terhapus yang dilakukan oleh fungsi enqueue()*/ Riza Mirza | Universitas Al Muslim
Bagian ... 8 case 3: tampil(); //panggil fungsi tampil() break; case 4: exit(0); default: printf("\nMasukkan anda salah!!"); } printf("\nPress Any Key to continue..."); fflush(stdin); //membersihkan buffer data while(!kbhit()); Riza Mirza | Universitas Al Muslim
Bagian ... 9 while(1); //perulanagan dijalankan terus //return 0; } //fungsi untuk inisialisasi awal void inisialisasi() { pq->head = pq->tail = pq->count= 0; //fungsi untuk menambah data string dalam queue char* enqueue(char *p) Riza Mirza | Universitas Al Muslim
Bagian ... 10 while(1); //perulanagan dijalankan terus //return 0; } //fungsi untuk inisialisasi awal void inisialisasi() { pq->head = pq->tail = pq->count= 0; //fungsi untuk menambah data string dalam queue char* enqueue(char *p) Riza Mirza | Universitas Al Muslim
Bagian ... 11 { if(pq->count==QSIZE) return "\n\n\t\t Error: Antrian penuh"; pq->tail= (pq->tail)%QSIZE; strcpy(pq->names[(pq->tail)++],p); pq->count++; return "Data telah berhasil dimasukkan"; } Riza Mirza | Universitas Al Muslim
Bagian ... 12 //fungsi untuk menghapus data string dalam queue char* dequeue() { if(pq->count==0) return "\n\n\t\t Error: Antrian kosong"; pq->head= (pq->head)%QSIZE; pq->count--; printf("\nData yang telah dihapus adalah\n:"); return pq->names[(pq->head)++]; } Riza Mirza | Universitas Al Muslim
Bagian ... 13 //fungsi untuk menghapus data string dalam queue char* dequeue() { if(pq->count==0) return "\n\n\t\t Error: Antrian kosong"; pq->head= (pq->head)%QSIZE; pq->count--; printf("\nData yang telah dihapus adalah\n:"); return pq->names[(pq->head)++]; } Riza Mirza | Universitas Al Muslim
Bagian ... 14 //fungsi untuk menampilkan data yang berada dalam antrian void tampil() { int i=pq->head; int x=0; if(pq->count==0) printf("Antrian kosong\n"); else Riza Mirza | Universitas Al Muslim
Bagian ... 15 { while(x<pq->count) if(i==QSIZE) i%=QSIZE; printf(":%s\n",pq->names[i]); i++; x++; } Riza Mirza | Universitas Al Muslim
Fungsi daripada DeQueue Queue = memasukkan data DeQueue = mengeluarkan data Fungsi DeQueue adalah untuk melakukan eliminasi, drop, atau delete data yang tersimpan Riza Mirza | Universitas Al Muslim
End of slide Terima Kasih Riza Mirza | Universitas Al Muslim