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

E-Book ini adalah ebook laporan praktikum algoritma dan struktur data semester 1

Nama : Ardi Salman
Kelas : 1 IF1
NPM : 07352211021

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by ardi.salman2005, 2023-01-18 22:19:09

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

E-Book ini adalah ebook laporan praktikum algoritma dan struktur data semester 1

Nama : Ardi Salman
Kelas : 1 IF1
NPM : 07352211021

Keywords: laporan praktikum algoritma dan struktur data,Algoritma,Laporan Algoritma Dan struktur data,algoritma semester 1

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 177 Penjelasan: Dimulai dengan terminator dan header flowchart, masukan fungsinya didalam simbol prepation. Lalu fungsi untuk variabel while(1), tampilkan pilihan push, pop, display, quit dan Enter your choice. Lalu masuk dalam system (choice) untuk case 1-4 ditambahkan default jika yang lain, untuk void push, tampilkan "Enter data to be pushed (0- 999)", jika nilai (temp NULL) maka tampilkan "Memory Allocation Failed jika tidak, maka top = temp dan tampilkan "Node has been inserted at Top(Front) Successfully !!. Sedangkan untuk pilihan void pop(), jika nilai (top == NULL) maka tampilkan "Stack is empty!!" jika bukan itu maka tmp = top dan tampilkan ("Popped data: %d\n",tmp->data); lalu untuk void display0), jika top == NULL maka tampikan "Empty Stack ! jika tidak, maka temp = top dan tampilkan (Stack_In"); pada while(temp = NULL) tampilkan ("In_In"); (%4d.temp- Program dari flowchart diatas sebagai berikut >data); kemudian akhiri dengan simbol terminator Berikut code program stackseperti dibawah ini: #include<stdio.h> #include<stdlib.h> #include <conio.h> typedef struct node { int data; struct node *link;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 178 }NODE; NODE *top = NULL; void push(); void pop(); 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) {


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 179 case 1 : push(); break; case 2: pop(); break; case 3: display(); break; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); } void push()


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 180 { NODE *temp; int info = 0; printf("Enter data to be pushed (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; printf("Node has been inserted at Top(Front) Successfully !!\n"); } } void pop() {


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 181 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) { printf("Empty Stack !!!\n"); } else


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 182 { temp = top; printf("____[Stack]____\n"); while(temp != NULL) { printf("\n__\n"); printf("|%4d|",temp->data); temp = temp->link; } } } Compile sampai benar :


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 183 Gambar 6. 15 Struktur pemograman Gambar 6. 16 Struktur pemograman


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 184 Tampilan running : Gambar 6. 17 Hasil running Gambar 6. 18 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 185 6.4. Kesimpulan dan Saran 6.4.1 Kesimpulan Stack adalah suatu kolekasi atau kumpulan item data yang terorganisasi dalam bentuk urutan lineir, yang operasi pemasukan dan penghapusan datanya dilakukan pada salah satu sisinya. Keunikan pada stack adalah dimana node dan ditambahkan dalam list dan diambil dari list hanya pada kepala, dengan prinsip pengolahnya adalah last-in frist-out (LIFO). 6.4.2 Saran Laporan ini masih terdapat banyak kesalahan karena terbatasnya pengetahuan dan kekurangnya referensi materi pada laporanya ini. Diharapkan pada pembaca dapat memberikan saran sebagai motivasi pembuatan laporan selanjutnya.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 186


BAB VII QUEUE OLEH Ardi Salman 07352211021 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITASKHAIRUN TERNATE 2023


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 189 BAB VII QUEUE 7.1 Definis Queue (Antri) 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 linkedlist. 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.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 190 7.2 Contoh queue (antrian) Operasi-operasi dasar dari sebuah queue adalah: 1. Enqueue: proses penambahan atau memasukkan satu elemen di belakang 2. Dequeue: proses pengambilan atau mengeluarkan satu elemen di posisi depan. 7.3 Contoh Program Queue 7.3.1 Latihan 1 Buatlah program baru dengan cara file-new-source atau gabungan Ctrl – N kemudian ketik source code programnya seperti dibawah ini : #include <stdio.h> #include <iostream>


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 191 #include <conio.h> #define MAX 8 using namespace std; typedef struct{ int data[MAX]; int head; int tail; }Queue; Queue antrian; void Create(){ antrian.head=antrian.tail=-1; } int IsEmpty(){ if(antrian.tail==-1) return 1;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 192 else return 0; } int IsFull(){ if(antrian.tail==MAX-1) return 1; else return 0; } Enqueue(int data) { if(IsEmpty()==1) { antrian.head=antrian.tail=0; antrian.data[antrian.tail]=data; printf("%d sudah dimasukan",antrian.data[antrian.tail]); } else


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 193 if(IsFull()==0) { antrian.tail++; antrian.data[antrian.tail]=data; printf("%d sudah dimasukan",antrian.data[antrian.tail]); } } int Dequeue() { int i; int e = antrian.data[antrian.head]; for(i=antrian.head; i<=antrian.tail-1;i++) { antrian.data[i]=antrian.data[i+1]; } antrian.tail--; return e; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 194 void Clear() { antrian.head=antrian.tail=-1; printf("CLEAR"); } void Tampil() { if(IsEmpty()==0) { for(int i=antrian.head;i<=antrian.tail;i++) { printf(" %d",antrian.data[i]); } }else printf("data kosong!\n"); } main() { int pil;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 195 int data; Create(); do{ cout<<endl<<endl; cout<<" =============================="<<endl; cout<<" =\t PROGRAM QUEUE ="<<endl; cout<<" =============================="<<endl; cout<<" = 1. ENQUEUE = "<<endl; cout<<" = 2. DEQUEUE = "<<endl; cout<<" = 3. TAMPIL = "<<endl; cout<<" = 4. CLEAR = "<<endl; cout<<" = 5. EXIT ="<<endl; cout<<" =============================="<<endl; cout<<" Masukan Pilihan : ";cin>>pil; switch(pil) { case 1: cout<<"Masukan Data : ";cin>>data;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 196 Enqueue(data); break; case 2: Dequeue(); break; case 3: Tampil(); break; case 4: Clear(); break; case 5: break;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 197 } getch(); } while(pil!=5); return 0; } Tampilan diDevC++ akan seperti dibawah ini: Gambar 7. 1 Tampilan source code diatas diDevC++ 1 (bagian 1)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 198 Gambar 7. 3 Tampilan source code diatas diDevC++ 1 (bagian 2) Gambar 7. 2 Tampilan source code diatas diDevC++ 1 (bagian 3)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 199 Gambar 7. 5 Tampilan source code diatas diDevC++ 1 (bagian 4) Gambar 7. 4 Tampilan source code diatas diDevC++ 1 (bagian 5)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 200 7.4 Latihan Queue 7.4.1 Kasus Queue dalam Array 1 Gambar 7. 6 flowchart contoh soal queue 1


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 201 Penjelasan flowchart di atas: Dimulai dengan terminator dan header lalu dimasukkan variabel yang diinginkan. Memasuki decision while untuk melanjutkan case yang diinginkan atau tidak sama sekali. Diberikan case berupa case 1 enqueue, memasuki decision if rear==MAX-1, Jika Yes print Queue Overflow, Jika No memasuki proses rear=rear+1 dan kembali ke decision while. Case 2 dequeue, memasuki decision if front==-1 II front > rear, Jika Yes Print Queue Underflow, Jika No memasuki proses front=front+1 dan kembali ke decision while. Case 3 display, memasuki decision if front==-1, Jika Yes print Queue is empty, Jika No memasuki ulangan for (i=front;i<=rear;i++), lalu print queue_arr[i], kemudian kembali ke decision while. Case 4 exit, proses exit lalu end dengan simbol terminator. Jika tidak dipilih maka pilihan tidak tersedia dan ditutup dengan simbol terminator sebagai penyelesaiannya. Program dari flowchart di atas adalah sebagai berikut: #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()


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 202 { 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; case 2 : dequeue(); break; case 3: display(); break; case 4:


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 203 exit(1); default: printf("PILIHAN TIDAK TERSEDIA\n"); } } getch(); } 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 ; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 204 } 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() { int i; if (front ==-1) printf("Queue is empty\n"); else { printf("Queue is :\n"); for(i = front; i <= rear; i++)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 205 printf("%d ",queue_arr[i]); printf("\n"); } } Hasil eksekusi program di atas adalah sebagai berikut: Gambar 7. 7 program queue 1 (1)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 206 Gambar 7. 8 program queue 1 (2) Gambar 7. 9 program queue 1 (3)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 207 Gambar 7. 10 hasil running program queue 1 (1)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 208 7.4.2 Kasus Queue 2 Gambar 7. 11 flowchart contoh soal queue 2


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 209 Penjelasan flowchart di atas: Dimulai dengan terminator dan header lalu dimasukkan variabel yang diinginkan. Proses berlanjut ke dalam sistem switch untuk masuk kedalam kasus atau pilihan yang diberikan yaitu case 1 enqueue, memasuki decision if temp==NULL, Jika Yes print Memory Allocation Failed, Jika No maka masuk decision if front==NULL, Jika Yes proses front=rear=temp lalu print Node has been inserted at End Succesfully. Jika No proses rear=temp lalu print Node has been inserted at End Succesfully. Kemudian end dengan simbol terminator. Case 2 dequeue, memasuki decision if front==NULL, Jika Yes print underflow!!!, Jika No proses rear=NULL lalu print Deleted Node(From Front) with the Data: %d\n, kemudian end dengan simbol terminator. Case 3 display, memasuki decision if front==NULL, Jika Yes print Empty Queue, Jika No proses while lalu print Rear, kemudian end dengan simbol terminator. Case 4 exit, lalu end dengan simbol terminator. default jika pesan tidak ditemukan. Print PILIHAN TIDAK TERSEDIA, Lalu tutup dengan simbol terminator untuk penyelesaiannya. Program dari flowchart di atas adalah sebagai berikut: #include <stdlib.h> #include <stdio.h> #include <conio.h> typedef struct node { int data; struct node *link; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 210 NODE; 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); switch(choice) { case 1 : enqueue(); break; case 2: dequeue();


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 211 break; case 3: display(); break; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } 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 {


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 212 temp->data = info; temp->link = NULL; if (front == NULL) { 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!!!"); } else


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 213 { 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() { NODE *temp; if (front == NULL) printf("Empty Queue\n"); else { temp = front; printf("Front->"); while (temp)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 214 { printf("[%d]->", temp->data); temp = temp->link; } printf("Rear\n"); } } Hasil eksekusi program di atas adalah sebagai berikut: Gambar 7. 12 program queue 2 (1)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 215 Gambar 7. 13 program queue 2 (2)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 216 Gambar 7. 14 program queue 2 (3)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 217 Gambar 7. 15 hasil running program queue 2 (1) Gambar 7. 16 hasil running program queue 2 (2)


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 218 7.5 Kesimpulan dan Saran 7.5.1 Kesimpulan 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. 7.5.2 Saran Di harapkan agar dapat memahami dengan betul mengenai materi queue ini. Serta dapat mempraktikan sendiri dan juga menyelesaikan studi kasus lainnya. Dan memahami strukturt data yang digunakan dalam antrian (queue).


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 219


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 220 DAFTAR PUSTAKA YOKYAKARTA, U. A. (2018). Algoritma Struktur Data. Algoritma Struktur Data , 2026. Ahmad muhardian. (2019, may 26). Belajar Pemrograman C #15: Apa itu Pointer? Retrieved 12 20, 2022, from Belajar Pemrograman C#15: apa itu pointer?-Petani Kode: https://www.petanikode.com/c-pointer/ Fajar . (2019, maret 4). Pointer. Retrieved 12 20, 2022, from Ponter-Belajar C++: https://www.belajarcpp.com/tutorial/cpp/pointer/ Muhammad Sholeh, Rochmat Haryanto, A. P. (2013). Panduan Belajar Pemograman Terstruktur. Universitas Amikom Yogyakarta. (2018). Algoritma Struktur Data. Diakses pada 28 November 2022, dari http://materi.amikom.ac.id/2020/10/25102020_Modul%20Teori%20Algoritma%20Struktur% 20Data.pdf Delima.Konsep Dasar Algoritma Pemrograman dan Bahasa Pemrograman. Diakses pada 28 November 2022, dari Fakultas Ilmu Tarbiyah dan Keguruan UINSU. https://osf.io/cp5zr/download/?format=pdf Nur Hidayati, M.Kom. (2016). Modul Struktur Data. Jakarta: Bina SaranaInformatika. Tersedia dari. https://repository.bsi.ac.id/index.php/unduh/item/283413/Modul_strukturData.pdf. diakses pada 29 November 2022


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK I TEKNIK INFORMATIKA UNKHAIR 221 Budiman, Edy. (2020). Algoritma dan Pemograman. Samarinda:Fakultas Teknologi Informasi dan Komputer (FTIK) Universitas Mulawarnman. Tersedia dari https://repository.unmul.ac.id/bitstream/handle/123456789/4927/Buku%20Algoritma %20dan%20Pemrograman.pdf


Click to View FlipBook Version