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

Ebook ini Adalah Ebook Laporan Praktikum Algoritma Dan Struktur Data

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by farida rustam2, 2023-01-28 22:22:52

Ebook Laporan Praktikum Algoritma Dan Struktur Data

Ebook ini Adalah Ebook Laporan Praktikum Algoritma Dan Struktur Data

Keywords: laporan praktikum algoritma dan struktur data,algoritma dan struktur data

251 } } voiddequeue() { if(front==-1||front>rear) { printf("QueueUnderflow\n"); return; } else { printf("Elementdeleted from queue is : %d\n", queue_arr[front]); front=front+1;


252 } } voiddisplay() { inti; if(front==-1) printf("Queueisempty\n"); else { printf("Queueis:\n"); for(i=front;i<=rear;i++) printf("%d",queue_arr[i]); printf("\n"); }} Compilesampaibenar


253 Gambar7.9StrukturProgram


254 Gambar7.10StukturProgram


255 Gambar7.11StukturProgram Setelahprogram diperbaikidandicompile,makatampilanhasil runningakantampaksepertigambardibawahini:


256 Gambar7.12Tampilanhasilrunning 7.5StudiKasus


257 a.Latihan Mulai #include <stdlib.h> #include <stdio.h> #include Intdata; Structnode *link; }NODE NODE *front,*rear=NULL Voidenqueue0; Intchoice=0; While(1) Switch(choi ce) Printf(“\n1.push\n”);printf(“2.pop\n”); Printf(“3.Display\n”);printf(“4.Quit\n\n”); Printf(“Enteryourchoice:”);scanf(“%d”,&choice); Case1 Case2 Case3 Void enqueue0 Void dequeue0 VoidDisplay0 Case4 Dafault: Exit(0);


258 Penjelasan: Dimulaidengaterminatordanheader,laludilanjutkandengan menginputvariabelqueue.setelahitumasukkedalam sistem atau prosesSwitchuntukmemasukikasusataupilihanyangdiberikan (enqueue,dequeue,display,exitdan defaultjika pesan tidak di temukan)laluditutupdengangethchuntukpenyelesaiannya. BuatlahprogrambarudengancaraklikCtrl–Nkemudianketiksource codeprogramnyasepertidibawahini: #include<stdlib.h> #include<stdio.h> #include<conio.h> typedefstructnode { intdata; structnode*link; Getch0; Printf(“\nPILIHANTIDAK TERSEDIA\n”); Selesai


259 }NODE; NODE*front,*rear=NULL; voidenqueue(); voiddequeue(); voiddisplay(); intmain() { intchoice=0; while(1) { printf("\n1.Push\n"); printf("2.Pop\n"); printf("3.Display\n"); printf("4.Quit\n\n"); printf("Enteryourchoice:"); scanf("%d",&choice);


260 switch(choice) { case1: enqueue(); break; case2: dequeue(); break; case3: display(); break; case4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n");


261 } } getch(); } voidenqueue() { NODE*temp; intinfo=0; printf("Enterdatatobeenqueued(0-9999):"); scanf("%d",&info); temp=(NODE*)malloc(sizeof(NODE)); if(temp==NULL) printf("\nMemoryAllocationFailed"); else { temp->data=info;


262 temp->link=NULL; if(front==NULL) { front=rear=temp; } else { rear->link=temp; rear=temp; } printf("Nodehasbeeninsertedat EndSuccessfully!!"); } } voiddequeue() {


263 NODE*temp; intinfo; if(front==NULL) { printf("Underflow!!!"); } else { temp=front; info=front->data; if(front==rear) { rear=NULL; } front=front->link; temp->link=NULL;


264 printf(" Deleted Node(From Front)withtheData:%d\n",info); free(temp); } } voiddisplay() { NODE*temp; if(front==NULL) printf("EmptyQueue\n"); else { temp=front; printf("Front->"); while(temp) {


265 printf("[%d]->",temp->data); temp=temp->link; } printf("Rear\n"); } } Compilesampaibenar


266 Gambar7.13Strukturprogram


267 Setelahprogram diperbaikidandicompile,makatampilanhasilrunningakan tampaksepertigambardibawahini: Gambar7.14HasilRunning


268 7.6kesimpulandansaran a)kesimpulan Queueatauantrianmerupakankumpulanelemenyangpengisiandan penghapusanelemen yang dilakukan darisisiataugerbang yang berbeda beda.Pengisian dilakukan darigerbang belakang dan penghapusangerbangdepan.Halinimenunjukanbahwauntukqueue mempunyaiduagerbangyaitugerbangdepandanbelakang.Dengan demikiandapatdlihatbahwaqueuemempunyaisifatFIFO(Fristin, Fristout),yaituelemenyangpertamamasukakankeluarpertamajuga. Represnatsiqueuedapatdeklarasidenganmenggunakanarrayatau linkedlistresresntasiqueuedenganarrayataulinkedlist. Representasiqueue dengan arrayada penunjuk depan dan belakangyangdigunakanuntukmenunjukelemenposisidepandan elemenposisibelakang.sehinggadapatdiketahuiqueuekosongatau tidak.Queuedapatditambahselamabelakangtidaksamadenganisi danmaksimum array.Operasipenyisipanelemenqueuedigunakan untukmengambilataumenghapuselemendansuatuqueue.Operasi penghapusanelemenpadacircularyangdihapusadalahselaluyang beradadidepansehinggapenunjukdepanakannaiksatu(depan+1)


269 jikadepanlebihkecildarimaksimum elemenarray.tetapidpenadi aturmenjadisatu(depan=1)jikadepansamadenganmaksimum elemenarray. b).saran Laporaninimasihterdapatbanyakkesalahankarenaterbatasnya pengetahuan dan kurangnya referensi mataeri pada laporan ini, diharapkan pembaca dapat memberikan saran sebagai motivasi pembuatanlaporanselanjutnya.


270


271


Click to View FlipBook Version