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 Nirkartika, 2023-01-23 03:34:28

LAPORAN PRAKTIKUM ALGORITMA

LAPORAN PRAKTIKUM ALGORITMA

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 86 4. Compile program dengan menekan F9 5. Running programnya dengan menekan F11 4.1 Compile 4.2 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 87 4.4 Studi Kasus 4.4.1 Latihan Hasil Kerja Praktikum 1 1. Tools yang digunakan Dev C++ 2. Buatlah sebuah program untuk menghitung jumlah rata-rata dari nilai yang ada di dalam variabel array. 3. Flowchart Penjelasan: mulai Float Data [5] Input data [k] Output Nirkartika Kamal NPM: 07352211017 Judul: Array 1 dimensi Float rata, total = 0 Int K = 0 Gambar 4.3 Flowchart Array 1 Dimensi K < 5 1 K++ 1 Int j = 0 K++ j < 5 Rata = total / 5 Total = total + data [j] Output rata Selesai False Tru e Tru e False


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 88 Program dimulai dengan mendeklarasikan variabel ujian[5] atau memiliki 5 data dengan tipe data integer. Lalu program mendeklarasikan variabel k = 0 sebagai tipe data integer. Kemudian program masuk ke syarat perulangan jika k < 5 maka input nilai k sebanyak 5 kali atau syarat tersebut tidak terpenuhi lagi. Setelah syarat tadi sudah tidak terpenuhi maka dengan mendeklarasikan variabel j = 0 dengan tipe data integer. Lalu program akan masuk ke syarat perulangan baru jika j < 5 maka tampilkan data-data yang telah diinputkan tadi mulai dari data indeks ke-0 hingga data indeks ke-4 atau sampai syaratnya tidak terpenuhi. 4. Langkah-langkah praktikum a. Bukalah software Dev C++ b. Ketik source code berdasarkan algoritma #include <iostream> using namespace std; int main(){ float data[5]; float rata, total = 0; cout << "| Nama : Nirkartika Kamal |" << endl; Gambar 4.4 jendela kerja Dev C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 89 cout << "| NPM : 07352211017 |" << endl; cout << "| Judul: Array 1 Dimensi |" << endl; cout << " ----------------------------- " << endl; //input data ke array for (int k=0;k<5;k++){ cout<<"masukkan data["<<k<<"] = "; cin>>data[k]; } //menghitung total nilai pada array for (int j=0;j<5;j++){ total = total + data[j]; } //menghitung rata - rata rata = total / 5; cout<<"rata - rata data pada array = "<<rata<<endl; return 0; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 90 c. Compile program dengan menekan F9 d. Jalankan program dengan menekan F10 e. Simpan file dengan praktikum 1 Gambar 4.5 Compile 4.6 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 91 4.4.2 Laporan Hasil Praktikum 2 1. Tools yang digunakan Dev C++ 2. Buatlah sebuah program untuk menemukan data yang terdapat didalam element 3. Flowchart mulai For (elemen = o ; elemen) Input x Selesai ditemukan Tidak ditemukan Data [elemen] == x If (ketemu == 0) Int data [0] [4] = {4,1,0.-9.8,-1,2,3,-7} Int elemen, ketemu x Ketemu = ! ketemu Gambar 4.7 Flowchart Mencari sebuah data


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 92 Penjelasan: Flowchart diatas menjelaskan cara mencari sebuah data dengan cara mendeklasarikan data, elemen, ketemu dan x, kemudian input nilai x setelah itu masukkan nilai kondisi dan bandingkan, jika IF (ketemu == 0) maka data di temukan, dan kondisi bernilai salah maka data tidak ditemukan 4. Langkah-langkah praktikum a. Bukalah software Dev C++ b. Ketik source code programnya #include <iostream> using namespace std; int main(){ cout << "| Nama : Nirkartika Kamal |" << endl; cout << "| NPM : 07352211017 |" << endl; cout << "| Judul: Array 1 Dimensi |" << endl; Gambar 4.8 jendela kerja Dev C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 93 cout << " ----------------------------- " << endl; int data[10] = {4, 1, 0, -9, 8, 5, -1, 2, 3, -7}; int elemen, ketemu, x; cout << "Data yang dicari : "; cin >> x; ketemu = 0; for(elemen=0; elemen<= 9; elemen++){ if (data[elemen] == x){ ketemu = !ketemu; break; } } if (ketemu == 0){ cout << "Data tidak ditemukan "; } else{ cout << "Data ada di elemen : " << elemen; } return 0; }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 94 c. Compile program dengan menekan F9 Gambar 4.9 Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 95 d. Jalankan program dengan menekan F10 e. Simpan file dengan nama praktikum 2 4.4.3 Laporan Praktikum 1. Tools yang digunakan Dev C++ 2. Buatlah sebuah program matrix array 2 dimensi 3. Flowchart 4.10 Hasil Running 4.11 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 96 penjelasan: Flowchart diatas menjelaskan cara perkalian matrix dengan cara mendeklarasikan int matrix [3] [4] beserta nilainya kemudian masukkan kondisi pertama, for (int i = 0, i < 3; i++) dan kondisi kedua for (int j : 0 < 4 ; j++). Menggunakan symbol prepation, setelah itu tampilkan hasil matriks [i] [j], akhir dengan symbol terminal. 4. Langkah-langkah praktikum a. Bukalah software Dev C++ Mulai For (int I = 0; i<3; i++ Selesai Cetak matriks [i] [j] For (int j = o; j<4; j++ Int matrix [3] [4] {{4,7,67,-9} {5,70,1,8} {9,0,45,3}} Gambar 4.12 Flowchart Perkalian matrix


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 97 b. ketik source kode programnya #include <iostream> using namespace std; int main(){ cout << "| Nama : Nirkartika Kamal |" << endl; cout << "| NPM : 07352211017 |" << endl; cout << "| Judul: Array 1 Dimensi |" << endl; cout << " ----------------------------- " << endl; int matrix[3][4] = {{5,10,1,11},{4,7,67,-9},{9,0,45,3}}; for (int i = 0; i<3; i++){ for (int j=0; j<4; j++){ cout<<matrix[i][j]<<" "; } Gambar 4.13 jendela kerja Dev C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 98 cout<<endl; } return 0; } c. Compile program dengan menekan F9 d. Jalankan program dengan menekan F10 Gambar 4.14 Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 99 e. Simpan program dengan nama praktikum 3 4.5 Kesimpulan dan Saran 4.5.1 Kesimpulan Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Setiap elemen array dapat diakses melalui indeks. Dalam bahasa C indeks dimulai dari 0 (nol). 4.5.2 Saran Array yang akan dipergunakan harus dideklarasikan terlebih dahulu. Ketika akan mendeklarasikan array kita harus memperhatika hal-hal berikut : Indeks array selalu dimulai dari 0 Mengetahui besaran, karena array tidak bisa diperbesar ataupun diperkecil Mengetahui tipe data yang ingin dimasukan kedalam array, karena jika inputan berbeda dengan initial array maka akan terjadi eror. 4.15 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 100


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 101 BAB V POINTER 5.1 Pendahuluan 5.1.1 Pointer Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori. Lokasi memori tersebut bisa diwakili sebuah variabel atau juga berupa alamat memori secara langsung. 1) Ada dua operator yang digunakan pada tipe data pointer 1. Operator Deference (&) Operator ini biasanya disebut dengan address of atau operator alamat. Dengan menggunakan operator deference (&) ini, suatu variabel akan menghasilkan alamat memori. Contoh: int x = 45; cout << &x; Pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x. 2. Operator reference (*) Operator ini biasanya disebut value pointed by. Dengan menggunakan operator ini, kita dapat mengakses secara langsung nilai yang terdapat pada suatu alamat memori. Contoh: int x = 45; cout <<*&x;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 102 Pada program di atas, akan ditampilkan nilai dari alamt memori &x. (https://bundet.com/d/995-pengertian-pointer-dalam-c) 2) Cara mengakses pointer Variabel pointer adalah variabel yang memiliki alamat memori sebagai nilai dari variabel pointer tersebut. Dan pada pointer kita dimungkinkan untuk mengakses nilai dari pointer itu sendiri dan mengakses nilai dari alamat memori yang dimiliki(ditunjuk) oleh pointer. Pointer merupakan variabel, untuk mengakses pointer tidak jauh beda dengan cara mengakses variabel. Untuk mengakses nilai dari pointer kita hanya cukup memanggil identiatas dari pointer tersebut. pInt pemanggilan itu akan menghasilkan nilai dari pointer yang berupa alamat memori dari variabel yang ditunjuk oleh pointer tersebut. Karena pointer hanya dapat mememiliki nilai berupa alamat memori, untuk mengubah nilai dari pointer atau mengubah tujuan dari pointer kita membutuhkan operator address-of (&) pada operand sumber. pInt = &myVar operand sumber akan menghasilkan alamat memori dari myVar, dan hal itu merupakan nilai yang dibutuhkan oleh variabel pointer. Variabel pointer hanya dapat meneriman alamat memori dari variabel yang memiliki tipe data yang sama. (https://www.belajarcpp.com/tutorial/cpp/pointer/) 5.2 Tujuan Praktikum a. Mengetahui cara penggunaan operator pada pointer b. Mampu mempraktekkan struktur pointer pada program C++ c. Membuat file kerja dengan bahasa program C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 103 5.3 Langkah-langkah Praktikum Pointer 1. Tampilan awal Dev C++ 2. Ketik source kode program 3. Hasil running Gambar 5.1 Tampilan Dev C++ Gambar 5.2 Struktur kode C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 104 5.4 Latihan Kegiatan Praktikum 1. Latihan 1 (Pointer konstanta) #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; main() { cout<<"Nama : Nirkartika Kamal"<<endl; cout<<"NPM : 07352211017"<<endl; cout<<"================================"<<endl; char const *nama= "Borland c++"; Gambar 5.3 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 105 cout<<"Nama Program ="<<nama<<endl; nama = "Visual C++"; cout<<"Nama Program ="<<nama<<endl; getch(); } Gambar 5.4 Struktur kode program Gambar 5.5 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 106 2. Latihan 2 (Pounter variabel) #include <stdio.h> #include <conio.h> #include <iostream> #include <windows.h> using namespace std; main() { cout<<"Nama : Nirkartika Kamal<<endl; cout<<"NPM : 07352211017"<<endl; cout<<"================================="<<endl; int cika, caca, *lidya; cika = 75; caca = cika; lidya = &cika; cout<<"Nilai CIKA = "<<cika<<endl; cout<<"Nilai CACA = "<<caca<<endl;


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 107 cout<<"Nilai LIDYA = "<<lidya<<endl; getch(); } Gambar 5.6 Struktur kode program Gambar 5.7 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 108 5.5 Studi Kasus a. Operasi Aritmatika pada pointer Penjelasan Flowchart : Dimulai dengan simbol terminal,mendeklarasi Int nilai [3], *penunjuk, nilai [0] = 125, nilai [1] = 345, nilai [2] = 750, penunjuk = &nilai [0] menggunakan simbol proses, lalu tampilkan nilai Mulai Int nilai[3], *penujuk Nilai[0] = 125 Nilai[1] = 345 Nilai[2] = 750 Penunjuk = & nilai[0] Selesai Tampilkan Nilai[0] ada didalam memori petunjuk Nilai[1] ada didalam memori petunjuk+1 Nilai[2] ada didalam memori petunjuk+2 Gambar 5.8 flowchart


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 109 [1] ada di dalam memori penunjuk +1, dan nilai [2] ada di dalam penunjuk +2 menggunakan simbol input/output. Diakhiri dengan symbol terminal. #include <iostream> #include <conio.h> using namespace std; main() { cout<<"Nama : Nirkartika Kamal"<<endl; cout<<"NPM : 073522110017"<<endl; cout<<"=================================="<<endl; int nilai[3], *penunjuk; nilai[0]=125; nilai[1]=345; nilai[2]=750; penunjuk = &nilai[0]; cout<<"Nilai"<<*penunjuk<<"ada di alamat memori"<<penunjuk<<endl; cout<<"Nilai"<<*(penunjuk+1)<<"ada di alamat memori"<<(penunjuk+1)<<endl; cout<<"Nilai"<<*(penunjuk+2)<<"ada di alamat memori"<<(penunjuk+2)<<endl; getch(); }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 110 Gambar 5.9 Struktur kode program Gambar 5.10 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 111 b. Pointer Dalam Array Penjelasan Flowchart : Dimulai dengan menggunakan simbol terminal, kemudian mendeklarasi Char C[4], lalu memasukkan kondisi for (int i=0; i<4; ++i) mengunakan simbol preparation, lalu print address menggunakan simbol input/output, dan akhiri menggunakan simbol terminal. #include <iostream> #include <conio.h> using namespace std; main() { Mulai Char C[4] For(Int i=0; i<4;; ++1 Print Address Selesai False True Gambar 5.11 flowchart


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 112 cout<<"Nama : Nirkartika Kamal"<<endl; cout<<"NPM : 07352211017"<<endl; cout<<"=============================="<<endl; char c[4]; int i; for(i=0;i<4;++i) { printf("Address of c[%d]=%x\n",i,&c[i]); } getch(); } Gambar 5.12 Struktur kode program


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 113 5.6 Kesimpulan dan Saran 5.6.1 Kesimpulan Suatu variabel yang bertipe pointer tidaklah berisi data melainkan alamat suatu data. Tipe variable pointer sama dengan tipe yang dikenal oleh variable biasa, misalnya int, float, char dan sebagainya. nama dari variabel pointer juga mengikuti ketentuan nama variable biasa. perbedaan variabel pointer dengan variable biasa yaitu penggunaan tanda asterisk (*) didepan nama varibel pada waktu deklarasi. 5.6.2 Saran Penggunaan pointer pada proses program harus benar-benar diperhatikan. Sedikit saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada program. Karena pointer bisa langsung menunjukan pada lokasi memori, apabila lokasi yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu program anda akan menjadi salah juga. Gambar 5.13 Hasil running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 114


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 115 BAB VI STACK 6.1 Pendahuluan 6.1.1 Stack Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain. Dengandemikian stack adalah struktur data yang menggunakan konsep LIFO (Last In First Out). Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yangdiambil. Dalam proses komputasi, untuk meletakkan sebuah elemen pada bagian atas daristack, maka dilakukan operasi push. Dan untuk memindahkan dari tempat yang atas tersebut,maka dilakukan operasi pop. Berikut ini adalah operator-operator atau nama method yang biasa digunakan dalam pemrograman algoritma stack. PUSH : penyisipan (Memasukkan elemen). POP : penghapusan (Mengeluarkan elemen puncak). IsEmpty : operator yang memeriksa apakah stack kosong. IsFull : operator yang memeriksa apakah stack penuh. Clear : operator untuk menghapus semua elemen didalam stack. 6.2 Tujuan Praktikum a. Memahami konsep Stack b. Mempraktikan cara penggunaan Stack dalam C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 116 6.3 Latihan Kegiatan Praktikum Buatlah program stack dengan menggunakan array 1. Buatlah program baru dengan cara File – menu – source atau gunakan CTRL + N 2. Selanjutnya ketik source programnya seperti dibawah ini: /* Program of stack using array*/ #include <iostream> using namespace std; #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){ printf("| Nama : Nirkartika Kamal |\n"); printf("| NPM : 07352211017 |\n");


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 117 printf("| Judul: Stack |\n"); printf(" ----------------------------- \n"); if (top == -1){ cout<< "\n STACK IS EMPTY" <<endl; } else if (top == (MAX - 1)){ cout<<"\n STACK IS FULL" <<endl; } else { cout<<"\n PLEASE PUSH/POP DATA" <<endl; } printf("\n 1. 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:


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 118 pop(); break; case 3: display(); break; case 4: printf("\n ==== PROGRAM SELESAI ====\n"); exit(1); default: printf("\n PILIHAN TIDAK TERSEDIA\n"); } getch(); system("cls"); } return 0; } void push() { int pushed_item; if(top == (MAX - 1)){ printf("Stack Overflow\n"); } else{


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 119 printf("\nEnter the item to be pushed in stack : "); scanf("%d",&pushed_item); 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; printf("==================="); if(top == -1){ printf("\n| Stack is empty |\n"); }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 120 else { printf("\n| Stack elements: |\n"); for(i = top; i >=0; i--){ cout << "| [ " << stack_arr[i] << " ] |\n"; } } printf("==================="); } 3. Compile program dengan menekan F9 6.1 Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 121 6.2 Lanjutan Compile 6.3 Lanjutan Compile 6.4 Lanjutan Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 122 4. Running programnya dengan menekan F10 6.5 Hasil Running 6.6 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 123 6.4 Studi Kasus 6.4.1 Latihan Hasil Kerja Praktikum 1 1. Tools yang digunakan Dev C++ 2. Buatlah program stuck 6.7 Hasil Running 6.8 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 124 3. Flowchart Penjelasan: Gambar 6.9 flowchart


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 125 Program dimulai dengan mendeklarasikan variabel data dengan tipe data integer. Dan mendeklarasikan *link dengan struct node. Dan mendeklarasikan NODE *top = NULL. Lalu program memanggil fungsi push(), pop(), dan display(). Kemudian mendeklarasikan variabel choice = 1 dengan tipedata integer. Kemudian masuk proses penginputan nilai ke variabel choice. Kemudian masuk ke seleksi syarat jika inputan yang diterima adalah 1 maka jalankan fungsi push(). Jika inputan yang diterima adalah 2 maka jalankan fungsi pop(). Jika inputan yang diterima adalah 3 maka jalankan fungsi display(). Jika inputan yang diterima adalah 4 maka program selesai. Jika inputan yang diterima selain dari syarat di atas maka tampilkan “pilihan tidak tersedia” lalu program akan melakukan perulangan secara terus menerus kecuali nilai yang diinputkan adalah 4 karena program akan selesai. 4. Langkah-langkah praktikum a. Bukalah software Dev C++ b. ketik source kode pada programnya #include<stdio.h> #include<stdlib.h> #include <conio.h> typedef struct node { Gambar 6.10 jendela kerja Dev C++


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 126 int data; struct node *link; }NODE; NODE *top = NULL; void push(); void pop(); void display(); int main(){ int choice = 0; int temp; while(1) { printf("| Nama : Nirkartika Kamal |\n"); printf("| NPM : 07352211017 |\n"); printf("| Judul: Stack |\n"); printf(" ----------------------------- \n"); 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 | TEKNIK INFORMATIKA UNKHAIR 127 case 1 : push(); getch(); system("cls"); break; case 2: pop(); getch(); system("cls"); break; case 3: display(); break; 30; case 4: exit(0); default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); }


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 128 void push() { 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(){ NODE *temp; if(top == NULL){ printf("Stack is empty!!\n"); } else {


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 129 temp = top; printf("Popped data : %d\n", temp->data); top = top->link; free(temp); } } void display(){ NODE *temp; if(top == NULL){ printf("Empty Stack !!!\n"); } else{ temp = top; printf("Stack : \n"); while(temp != NULL){ printf("\n ____\n"); printf("|%4d|",temp->data); temp = temp->link; } } getch(); system("cls");


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 130 } c. compile programnya dengan menekan F9 Gambar 6.11 Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 131 Gambar 6.12 Lanjutan Compile Gambar 6.13 Lanjutan Compile


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 132 d. jalankan proframnya dengan menekan F10 Gambar 6.14 Lanjutan Compile 6.15 Hasil Running 6.16 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 133 e. Simpan file dengan nama praktikum 1 6.5 Kesimpulan dan Saran 6.5.1 Kesimpulan Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO (Last In First Out). Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil. 6.17 Hasil Running 6.18 Hasil Running


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 134 6.5.2 Saran Laporan ini masih terdapat banyak kesalahan karena terbatasnya pengetahuan dan kurangnya referensi materi pada laporannya ini. Diharapkan kepada pembaca dapat memberikan saran sebagai motivasi pembuatan laporan selanjutnya.


PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 135


Click to View FlipBook Version