PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 171
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 172 gambar 7 6 Flowchart queue Penjelasan: Flowchart di atasa menjelasakan tentang Queue di awali dengan simbol terminal. Setelah itu masukkan menu dan masukkan pilihan 1, 2, 3 setelah itu maka pilihan tidak tersedia kemudian cetak data akhiri dengan simbol terminal. Berikut Source Code “Queue”: #include <stdlib.h> #include <stdio.h> #include <conio.h> typedef struct node { int data; struct node *link; } NODE; NODE *front, *rear = NULL; void enqueue();
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 173 void dequeue(); void display(); int main() { int choice = 0; while(1) { printf("\n1.Push\n"); printf("2.Pop\n"); printf("3.Display\n"); printf("4.Quit\n\n"); printf("Enter your choice : "); scanf("%d",&choice); switch(choice) { case 1 :
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 174 enqueue(); break; case 2: dequeue(); break; case 3: display(); break; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 175 void enqueue() { NODE *temp; int info = 0; printf("Enter data to be enqueued (0-9999) : "); scanf("%d",&info); temp = (NODE *) malloc(sizeof(NODE)); if (temp == NULL) printf("\nMemory Allocation Failed"); else { temp->data = info; temp->link = NULL; if (front == NULL) { front = rear = temp;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 176 } else { rear->link = temp; rear = temp; } printf(" Node has been inserted at End Successfully !!"); } } void dequeue() { NODE *temp; int info; if (front == NULL) { printf(" Underflow!!!");
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 177 } else { temp = front; info = front->data; if (front == rear) { rear = NULL; } front = front->link; temp->link = NULL; printf(" Deleted Node(From Front)with the Data: %d\n", info); free(temp); } } void display()
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 178 { NODE *temp; if (front == NULL) printf("Empty Queue\n"); else { temp = front; printf("Front->"); while (temp) { printf("[%d]->", temp->data); temp = temp->link; } printf("Rear\n"); } }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 179 Compile dan perbaiki sampai benar gambar 7 7 Source code queue gambar 7 8 Source code queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 180 gambar 7 9 Source code queue gambar 7 10 Source code queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 181 Setelah program diperbaiki dan dicompile, maka tampilan hasil running akan tampak seperti gambar dibawah ini : gambar 7 11 Tampilan hasil running queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 182 gambar 7 12 Tampilan hasil running queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 183 7.5 Kesimpulan Dan Saran 7.5.1 KESIMPULAN Queue atau antrian Merupakan suatu kumpulan data yang memiliki head/front, dimana data yang memiliki head from dikeluarkan (dequeue) dan fail/rear dimana data dimasukkan (enqueue) ke antrian. Proses Queue, seperti halaya pada antrian yang biasa kita lakukan sehari-hari, dimanapun antrian dimulai dari depan ke belakang. Jadi selama antrian terus bertambah (enqueue) maka antrian yang paling akhir adalah tail /rear. program queue. Untuk mengimplementasikan program queue di C++ kita membutuhkan tiga method atau fungsi enqueue (); untuk menambahkan data ke antrian , dequeue ();untuk mengeluarkan data dari antrian dan Print Queue () untuk Menspilkan Queue. 7.5.2 SARAN Dalam sebuah program, mengimplementasikan program Queue kita membutuhkan tiga method atau fungsi yakni enqueue (); dequeue (); dan Print queue (): Selain tiga fungsi tersebut kita akan membuat dua fungsi opsional untuk mengecek apakah antrian kosong (is empty) dan antrian penuh (is full).
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA REKAYASA PERANGKAT LAB LUNAK | TEKNIK INFORMATIKA UNKHAIR 184 Daftar Pustaka Muhammad Sholeh, Rochmat Haryanto, A. P. (2013). Panduan Belaj ar Pemgrograman Terstruktur.