The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

LAPORAN PRAKTIKUM ALGORITMA (sani putri)

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by pratiwisaniputri, 2023-01-20 06:05:07

LAPORAN PRAKTIKUM ALGORITMA (sani putri)

LAPORAN PRAKTIKUM ALGORITMA (sani putri)

137


138 Gambar 6.10 struktur code latihan C++


139 Gambar 6.11 lanjutan struktur code latihan C++


140 Gambar 6.12 lanjutan struktur code latihan C++ Setelah program di compile dan diperbaiki hingga benar maka akan tampil jendela hasil running seperti dibawah ini :


141


142 Gambar 6.13 tampilan hasil running 6.5 STUDY KASUS Buatlah program baru dengan cara file-new-source file atau gunakan Ctrl+N kemudian ketik source code program seperti di bawah ini:


143


144 Gambar 6.1 flowchart study kasus


145 Gambar 6.2 lanjutan flowchart study kasus Penjelasan : Dimulai dengan terminator dan header flowchart, masukkan fungsinya didalam simbol preparation. lalu fungsi untuk variabel while(1), tampilkan pilihan push,pop,display,quit dan scanf. lalu masuk dalam system (choice) untuk case1-4 ditambahkan default jika yang lain, untuk void push, if (top==MAX -1) maka tampilan "Stack Overflow" jika tidak, maka tampilan nilai yang masuk dan masukkan nilainya dengan nilai sudah diurutkan top = top+1; stack_arr[top] = pushed_item; sedangkan untuk pilihan void pop(). jika nilai (top== -1) maka tampilan "Stack Overflow" jika bukan itu maka tampilan nilai yang dihapuskan dan diurutkan top=top-1;lalu sedangkan void display(), masukkan variabel int I,jika if (top== -1) maka tampilan "Stack Overflow" jika tidak, maka else {printf("\nStack elements :\n"); untuk tampilan for(i=top;i>=0;i--) pintf("%d\n", stack_arr[i]); kemudian diselesaikan dengan getch();.dan diakhiri dengan terminator.


146 Ketikkan source code program C++ berikut ini : /*Program of stack using array*/ #include<stdio.h> #include<stdlib.h> #include<conio.h> #define MAX 5 int top = -1; int stack_arr[MAX]; void push(); void pop(); void display(); int main() { int choice; while(1) {


147 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 : push(); break; case 2: pop(); break; case 3: display(); break;


148 case 4: exit(1); default: printf("\npilihan tidak tersedia\n"); } } getch(); } void push() { int pushed_item; if(top ==(MAX-1)) printf("stack overflow\n"); else { printf("\nenter the item to be pushed in stack :"); scanf("%d",&pushed_item);


149 top=top+1; stack_arr[top]=pushed_item; } } void pop() { if(top==-1) printf("stack underflow\n"); else{ printf("popped element is : %d\n",stack_arr[top]); top=top-1; } } void display() { int i; if(top==-1)


150 printf("stack is empty\n"); else{ printf("\nstack elements :\n"); for(i=top;i>=0;i--) printf("%d\n",stack_arr[i]); } } Compile dan perbaiki program hingga benar.


151


152 Gambar 6.14 struktur code program C++


153 Gambar 6.15 lanjutan struktur code program C++


154 Gambar 6.16 lanjutan struktur code program C++ Setelah program di compile dan diperbaiki hingga benar, maka akan tampil jendela hasil running program seperti gambar dibawah ini:


155


156 Gambar 6.17 tampilan hasil running 6.6 KESIMPULAN DAN SARAN a. Kesimpulan Stack adalah suatu koleksi atau kumpulan item data yang terorganisasi dalam bentuk urutan linier, yang operasi pemasukkan dan penghapusan datanya dilakukan pada salah satu sisinya.Keunikkan pada stack adalah dimana node yang ditambahkan dalam list dan diambil dari list hanya pada kepala, dengan prinsip pengolahanya adalah Last-in First-out (LIFO). b. Saran Diperlukan perhatian lebih pada saat pembuatan program, karena banyaknya struktur code program dan terdapat banyak simbol yang digunakan oleh karena itu, sangat dibutuhkan kefokusan saat mengetik source code nya agar tidak terjadi kesalahan atau eror pada program.


146 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 menunjukkan bahwa untuk queue mempunyai dua gerbang yaitu gerbang depan dan belakang. dengan demikian dapat dilihat bahwa queue mempunyai sifat FIFO (first in, first out),yaitu elemen yang pertama masuk akan keluar pertama juga. 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 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


147 kecil dari maksimum elemen array, tetapi depan diatur menjadi satu (depan =1) jika depan sama dengan maksimum elemen array. 7.2 TUJUAN PRAKTIKUM a. Memahami konsep Queue. b. Mempraktekkan cara penggunaan Queue dalam C++. 7.3 LANGKAH-LANGKAH KEGIATAN PRAKTIKUM a. Bukalah aplikasi Dev C++ melalui start menu :


148 Gambar 7.1 aplikasi Dev C++ b. Tampilan awal akan tampak seperti gambar di bawah ini : Gambar 7.2 tampilan awal Dev C++ c. Buatlah program baru dengan file-new-source file atau gunakan Ctrl+N atau seperti dibawah ini :


149 Gambar 7.3 membuat program baru d. Ketik source code programnya seperti gambar di bawah ini :


150


151 Gambar 7.4 struktur code program


152 Gambar 7.5 lanjutan struktur code program


153 Gambar 7.6 lanjutan struktur code program Gambar 7.7 lanjutan struktur code program e. Setelah menulis source-nya, tekan compile and run seperti dibawah :


154 Gambar 7.8 proses compile and run f. Akan muncul dialog untuk menyimpan program. Berikan nama sesuai yang diinginkan.


155 Gambar 7.9 proses penyimpanan g. Setelah klik save, akan muncul jendela yang menampilkan hasil program seperti dibawah ini :


156


157 Gambar 7.10 tampilan hasil running h. Anda telah berhasil membuat sebuah program dengan bahasa pemrograman C++ menggunakan Dev C++. 7.4LATIHAN KEGIATAN PRAKTIKUM Buatlah program baru dengan cara file-new-source file atau menggunakan Ctrl+N,kemudian ketikkan source code seperti dibawah ini : #include<stdio.h> #include<stdlib.h> #include<conio.h> #define MAX 5 int rear =-1; int front=-1; int queue_arr[MAX];


158 void enqueue(); void dequeue(); void display(); main() { 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) {


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


160 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; } } void dequeue() { if(front==-1||front>rear)


161 { printf("queue underflow\n"); return; } else { printf("elemen deleted from queue is :%d\n",queue_arr[front]); front=front + 1; } } void display() { int i; if(front==-1) printf("queue is empty\n"); else {


162 printf("queue is empty\n"); for(i=front;i<=rear;i++) printf("%d",queue_arr[i]); printf("\n"); } } Compile dan perbaiki program hingga benar :


163


164 Gambar 7.11 struktur code program


165 Gambar 7.12 lanjutan struktur code program


166 Gambar 7.13 lanjutan struktur code program Setelah program di compile dan diperbaiki, maka akan muncul jendela yang menampilkan hasil running seperti gambar dibawah ini :


167


168 Gambar 7.14 tampilan hasil running 7.5 STUDY KASUS Latihan 30 Queue


169


170 Gambar 7.1 flowchart study kasus Penjelasan : Dimulai dengan terminator dan header, lalu dilanjutkan 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 getch untuk penyelesaianya. Buatlah program baru dengan cara file-new-source file atau gunakan Ctrl+N, kemudian ketik source code seperti dibawah ini : #include<stdlib.h> #include<stdio.h> #include<conio.h> typedef struct node { int data; struct node*link; } NODE;


171 NODE*front,*rear=NULL; void enqueue(); 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);


172 switch(choice) { case 1: enqueue(); break; case 2: dequeue(); break; case 3: display(); break; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\N"); } }


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


174 front=rear=temp; } 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!!!");


Click to View FlipBook Version