The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Nurfahira Rambay M.A, 2023-01-17 20:23:02

Laporan Praktikum

Laporan Praktikum

139 yang lain, untuk void push berfungsi untuk menginput data, void pop berfungsi untuk menghapus atau mengeluarkan data, void display berfungsi untuk menampilkan data-data yang telah ter-input di dalam stack, dan exit berfungsi untuk mengakhiri program. #include <iostream> #include <conio.h> #include <stdlib.h> typedef struct node { int data; struct node *link; }NODE; NODE *top = NULL; void push (); void pop (); void display (); int main() { int choice = 0; while (1) { printf ("1. Push\n");


140 printf ("2. Pop\n"); printf ("3. Display\n"); printf ("4. Quit\n\n"); printf ("Enter your choice : "); scanf("%d",&choice); switch(choice) { case 1: push(); break; case 2: pop(); break; case 3: display(); break; case 4: exit(0);


141 default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch (); } void push() { NODE *temp; int info = 0; printf("enter data to be push (0-9999) :"); scanf("%d",&info); temp = (NODE *) malloc(sizeof(NODE)); if (temp == NULL) printf("\nMemory Allocation Failed"); else { temp->data = info; temp->link = top; top=temp;


142 printf("Node has been inserted at top (front) Successfully !!\n"); } } void pop() { NODE *tmp; if (top == NULL) printf("stack is empty!!\n"); else { tmp = top; printf("Popped data : %d\n",tmp->data); top = top->link; free(tmp); } } void display() { NODE *temp; if (top == NULL) {


143 printf("Empty stack !!!\n"); } else { temp = top; printf("___[stack___\n]"); while(temp != NULL) { printf("\n__\n"); printf("|%4d|", temp->data); temp = temp->link; } } }


144 Compile dan perbaiki program Gambar 6.17 Struktu Kode Studi Kasus


145 Gambar 6.18 Struktu Kode Studi Kasus Gambar 6.19 Struktu Kode Studi Kasus


146 Gambar 6.20 Struktu Kode Studi Kasus


147 Tampilan hasil running Gambar 6.21 Tampilan Hasil Running


148 6.6 Saran dan Kesimpulan A. Kesimpulan Stack adalah suatu koneksi atau kesimpulan item data yang terorganisasi dalam bentuk urutan liner, yang operasi pemasukan dan penghapusan datanya dilakukan pada salah satu sisinya. keunikan pada stack adalah dimana node yang ditambahkan dalam list dan diambil dari list hanya pada kepala, dangan prinsip pengolahanya adalah Last-in Frist-out (LIFO) B. Saran Laporan ini masih terdapat banyak kesalahan karena terbatasnya pengetahuan dan kurangnya referensi materi pada laporan ini. Diharapkan kepada pembaca dapat memberikan saran sebagai motivasi pembuatan laporan selanjutnya


149


150 BAB VI QUEUE NAMA : NURFAHIRA RAMBAY M. ACHIRUDDIN NPM : 07352211059 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2022


151 BAB VII QUEUE 7.1 Pendahuluan Queue atau antrian merupakan kumpulan elemen yang pengisian dan penghapusan elemen yang dilakukan dari sisi atau gerbang yang berbeda beda. Pengisian dilakukan dari gerbang belakang dan penghapusan gerbang depan. Hal ini menunjukan bahwa untuk queue mempunyai dua gerbang yaitu gerbang depan dan belakang. Dengan demikian dapat dlihat bahwa queue mempunyai sifat FIFO ( Frist in, Frist out ), yaitu elemen yang pertama masuk akan keluar pertama juga. Represnatsi queue dapat deklarasi dengan menggunakan array atau linked list resresntasi queue dengan array atau linked list. Representasi queue dengan array ada penunjuk depan dan belakang yang digunakan untuk menunjuk elemen posisi depan dan elemen posisi belakang.sehingga dapat diketahui queue kosong atau tidak. Queue dapat ditambah selama belakang tidak sama dengan isi dan maksimum array. Operasi penyisipan elemen queue digunakan untuk mengambil atau menghapus elemen dan suatu queue. Operasi penghapusan elemen pada circular yang dihapus adalah selalu yang berada didepan sehingga penunjuk depan akan naik satu (depan + 1 ) jika depan lebih kecil dari maksimum elemen array . tetapi dpena di atur menjadi satu (depan =1 ) jika depan sama dengan maksimum elemen array.


152 7.2 TUJUAN PRAKTIKUM a. Memahami konsep queue b. Mempraktikkan cara penggunaan queue dalam C++ c. Membuat program yang dapat dieksekusi d. Menyimpan, meng-compile, dan menjalankan program yang dibuat. 7.3 LANGKAH – LANGKAH KEGIATAN PRAKTIKUM a. Buka aplikasi Dev C++ melalui start menu : Gambar 7.1 Tampilan Aplikasi Dev C++ b. Tampilan awal Dev C++ tampak seperti pada gambar dibawah :


153 Gambar 7.2 Tampilan Awal Dev C++ c. Buatlah program baru dengan cara klik file – new – source file atau tekan tombol Ctrl+N pada keyboard, tampak seperti pada gambar dibawah ini : Gambar 7.3 Membuat Program Baru d. Ketik source code program dibawah ini : Gambar 7.4 Struktur Kode C++


154 Gambar 7.5 Struktur Kode C++ (lanjutan) Gambar 7.6 Struktur Kode C++ (lanjutan) e. Setelah menulis source code klik compile and run


155 Gambar 7.7 proses compile f. Akan muncul dialog untuk menyimpan program. Beri nama sesuai keinginan Gambar 7.8 proses menyimpan g. Setelah program berhasil compile dan run, maka akan muncul jendela yang menampilkan hasil running, tampak seperti pada gambar dibawah : Gambar 7.9 Tampilan Hasil Running


156 Gambar 7.10 Tampilan Hasil Running Gambar 7.11 Tampilan Hasil Running h. Anda telah berhasi membuat sebuah program array dengan Bahasa Pemograman C++ menggunakan Dev C++.


157 7.4 Kegiatan Praktikum a. Buatlah program queue dengan menggunakan array Flowchart program queue dengan menggunakan array


158 Flowchart 7.1 studi kasus 1 Penjelasan : Dimulai dengan terminator dan header lalu dimasukan variabel yang di inginkan. Memasuki decision While untuk melanjutkan case yang di inginkan atau tidak sama sekali dan diberikan case berupa (enqueu, dequeue, display, dan exit) jika tidak maka pilihan tidak tersedia dan ditutup dengan getch(); sebagai penyelesaiannya. #include <stdio.h> #include <stdlib.h> #include <conio.h> #define MAX 5 int rear = -1; int front = -1; int queue_arr[MAX]; void enqueue(); void dequeue(); void display(); main()


159 { int choice; while(1) { printf("1.Insert\n"); printf("2.Delete\n"); printf("3.Display\n"); printf("4.Quit\n"); printf("Enter your choice : "); scanf("%d",&choice); switch(choice) { case 1 : enqueue(); break;


160 case 2 : dequeue(); break; case 3: display(); break; case 4: exit(1); default: printf("PILIHAN TIDAK TERSEDIA\n"); } } getch();


161 } void enqueue() { int added_item; if (rear == MAX - 1) printf("Queue Overflow\n"); else { if (front == -1) front = 0; printf("Input the element for adding in queue : "); scanf("%d", &added_item); rear = rear + 1; queue_arr[rear] = added_item ; } }


162 void dequeue() { if (front == -1 || front > rear) { printf("Queue Underflow\n"); return ; } else { printf("Element deleted from queue is : %d\n", queue_arr[front]); front = front + 1; } } void display()


163 { int i; if (front == -1) printf("Queue is empty\n"); else { printf("Queue is :\n"); for(i = front; i <= rear; i++) printf("%d ",queue_arr[i]); printf("\n"); } }


164 Compile sampai benar Gambar 7.12 Struktur Kode C++


165 Gambar 7.13 Struktur Kode C++ gambar 7.14 Struktur Kode C++ Tampilan setelah di running


166 Gambar 7.15 Tampilan Hasil Running Gambar 7.16 Tampilan Hasil Running b. Buatlah program queue Flowchart program queue


167


168 Flowchart 7.2 Studi Kasus 2 Penjelasan : Dimulai denga terminator dan header, lalu di lanjutkan dengan menginput variabel queue . setelah itu masuk kedalam sistem atau proses Switch untuk memasuki kasus atau pilihan yang di berikan (enqueue, dequeue, display, exit dan default jika pesan tidak di temukan) lalu di tutup dengan gethch untuk penyelesaiannya #include <stdlib.h> #include <stdio.h> #include <conio.h> typedef struct node { int data; struct node *link; } NODE; NODE *front, *rear = NULL; void enqueue(); void dequeue();


169 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 : enqueue();


170 break; case 2: dequeue(); break; case 3: display(); break; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); } void enqueue()


171 { 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; }


172 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!!!"); }


173 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() {


174 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"); } } Compile sampai benar


175 Gambar 7.17 Struktur Kode C++


176 Gambar 7.18 Struktur Kode C++


177 Tampilan Hasil Running Gambar 7.19 Tampilan Hasil Running Gambar 7.20 Tampilan Hasil Running


178 7.5 Kesimpulan dan Saran A. Kesimpulan Queue (antrian) adalah salah satu list linear dari struktur data yang beroperasi dengan cara FIFO (Frist in, Frist out) yaitu elemen pertama yang masuk merupakan elemen yang pertama keluar. Data data di dalam antrian dapat bertipe integral, real, record, dalam bentuk sederhana atau terstruktur. B. Saran Di harapkan agar dapat memahami dengan betul mengenai materi queue ini. Serta dapat mempraktikan sendiri dan juga menyelesaikan studi kasus lainnya


179


180 BAB VIII PENUTUP 8.1 KESIMPULAN C++ merupukan sebuah aplikasi yang sering digunakan dalam membuat sebuah pemograman dengan menggunakan bahasa yang terstruktur. Variabel merupakan salah satu konsep media. Penyimpanan pada bahasa pemograman.begitu juga dengan Konstanta. Bahasa pemograman membutuhkan variabel Untuk menyimpan nilai baik itu huruf, Karakter atau. angka dan operator yang biasanya identik dengan hitungan angka di tipe data integer atau yang memiliki bilangan bulat. Konstanta dan variabel memiliki beberapa jenis yang digunakan dalam bahasa pemograman C++.Pemilihan dan perulangan termasuk dalam bagian dari ketiga struktur dasar algoritma yang dimulai dengan runtunan, Dengan adanya perulangan dalam suatu bahasa pemrograman, dapat membantu programmer dalam menulis sebuah kode program tanpa menulisnya berulang kali, serta membantu program menjadi lebih ringan dikarenakan kode yang digunakan telah dikurangi atau diminimalisir. Array salah satu konsep yang sangat penting pada sebuah pemograman, karena array dapat menyimpan data juga referensi objek pada jumlah yang banyak serta terindeks. Suatu variabel yang bertipe pointer tidak berisi data melainkan berisi alamat dari suatu data. stack adalah dimana node yang ditambahkan dalam list dan diambil dari list hanya pada kepala, dangan prinsip pengolahanya adalah Last-in Frist-out (LIFO). Queue (antrian) adalah salah satu list linear dari struktur data yang beroperasi dengan cara FIFO.


181 8.2 SARAN Di harapkan agar dapat memahami dengan betul mengenai materi-materi didalam laporan praktikum ini. Serta dapat mempraktikan sendiri dan juga menyelesaikan studi kasus lainnya


182 8.3 BIODATA Nama Lengkap : Nurfahira Rambay M. Achiruddin Nama Panggilan : Fahira TTL : Ternate, 26 Februari 2005 Agama : Islam Perguruan Tinggi : UNIVERSITAS KHAIRUN Program Studi : TEKNIK INFORMATIKA Kelas : 1IF2 Semester : I (satu) Riwayat Pendidikan : - SDN 27 Kota Ternate : - SMPN 4 Kota Ternate : - SMKN 1 Kota Ternate Hobi : Mendengarkan Musik Golongan Darah : O Intagram : @iraachiruddinn Email : [email protected]


183 8.4 DOKUMENTASI


184


185


Click to View FlipBook Version