PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 84 2. Diinputkan dua buah bilangan sembarang dari keyboard, tentukanlah bilangan terbesar dari kedua bilangan-bilangan tersebut. Buat program C++ Algoritma: 1. Set variabel a,b 2. Masukkan nilai a,b 3. Jika a>b, maka a lebih besar dari b 4. Jika b>a, maka b lebih besar dari a 5. Tampilkan hasil Gambar 3. 38 Hasil compiler dan running program
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 85 Flowchart menentukan bilangan terbesar antar dua bilangan Gambar 3. 39 Flowchart contoh program 2 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel a,b menggunakan simbol preparation. Masukkan nilai x menggunakan simbol input/output. Selanjutnya nyatakan variabel a,b pada penyataana>b menggunakan simbol decision. Jika YES maka hasil a lebih besar dari b, jika NO maka hasil b lebih besar dari a. Kemudian gunakan simbol input/output untuk menampilkan hasil penentuan bilangan terbesar. Terakhir gunakan simbol terminator untuk menandakan program telah selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 86 Program dari flowchart diatas adalah sebagai berikut. #include<iostream> using namespace std; int main() { int a,b; cout<<"Menentukan bilangan terbesar dua bilangan"<<endl; cout<<"Input bilangan A = "; cin>>a;; cout<<"Input bilangan B = "; cin>>b; if (a>b){ cout<<a<<" lebih besar dari "<<b; } else { cout<<b<<" lebih besar dari "<<a; } return 0; }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 87 Hasil eksekusi program diatas sebagai berikut. 3. Buatlah program konversi angka ke nilai huruf Jika nilai 100>=nilai>80 Maka nilai A Jika nilai 80>=nilai>60 Maka nilai B Jika nilai 60>=nilai>40 Maka nilai C Jika nilai 40>=nilai>20 Maka nilai D Gambar 3. 40 Hasil eksekusi program Gambar 3. 41 Hasil compiler dan running program
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 88 Jika nilai 20>=nilai>0 Maka nilai E Algoritma: 1. Set variabel nilai 2. Masukkan nilai “nilai” 3. Jika nilai 80-100 Maka nilai A Jika nilai 60-80 Maka nilai B Jika nilai 40-60 Maka nilai C Jika nilai 20-40 Maka nilai D Jika nilai 0-20 Maka nilai E
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 89 Flowchart angka ke huruf: Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel nilai menggunakan simbol preparation. Masukkan nilai “nilai” menggunakan simbol input/output. Selanjutnya nyatakan variabel nilai pada penyataan nilai>=80&&<=100 menggunakan simbol decision Gambar 3. 42 Flowchart contoh program 3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 90 Jika YES maka hasil A, jika NO maka nyatakan variabel nilai pada penyataan nilai>=60&&<=80 menggunakan simbol decision.Jika YES maka hasil B, jika NO maka nyatakan variabel nilai pada penyataan nilai>=40&&<=60 menggunakan simbol decision. Jika YES maka hasil C, jika NO maka nyatakan variabel nilai pada penyataan nilai>=20&&<=40 menggunakan simbol decision.Jika YES maka hasil D, jika NO maka menghasilkan nilai E. Kemudian gunakan simbol input/output untuk menampilkan hasil koversi nilai angka ke nilai huruf. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> using namespace std; int main() { int nilai; cout<<"Konversi nilai angka ke huruf"<<endl; cout<<"Input nilai : "; cin>>nilai; if(nilai>=80&&nilai<=100){ cout<<"hasil = A"; } else if(nilai>=60&&nilai<=80){ cout<<"hasil = B";
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 91 } else if(nilai>=40&&nilai<=60){ cout<<"hasil = C"; } else if(nilai>=20&&nilai<=40){ cout<<"hasil = D"; } else { cout<<"hasil = E"; } return 0; } Hasil eksekusi dari program diatas sebagai berikut. Gambar 3. 43 hasil eksekusi program menentukan nilai A,B,C,D,E
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 92 Hasil A: Hasil B: Hasil C: Gambar 3. 44 Hasil A Gambar 3. 45 Hasil B Gambar 3. 46 Hasil C
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 93 Hasil D: Hasil E: Gambar 3. 47 Hasil D Gambar 3. 48 Hasil E
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 94 3.5 Saran dan Kesimpulan 3.5.1 Kesimpulan Dari materi diatas dapat ditarik kesimpulan bahwa perencanaan dalam membuat sebuah program/konsep dasar pemograman meliputi proses bagaimana mengimplementasi urutan langkah untuk menyelesaikan sutu masalah. Proses dari masalah sehingga terbentuk suatu algoritma yang dapat disebut tahap pemecahan masalah sedangkan tahap dari algoritma hingga membentuk suatu solusi disebut dengan tahap implementasi. Solusi yang dimaksud adalah suatu program merupakan proses implementasi dari algoritma yang disusun. Dari contoh program C++ pada perulangan while dan do while, cara kerja kedua perulangan ini berbeda karena yang satu pengecekan kondisi awal sementara yang lain diakhiri dengan statement. Ini sangat berguna bila pada beberapa kasus tertentu yang membutuhkan cara kerja yang berbeda, sehingga kita harus memilih perulangan mana yang kita gunakan. 3.5.2 Saran Dalam menulisan program kita harus lebih memerhatikan aturan-aturan penulisan program. Kita harus teliti dalam membuat program. Ketika menggunakan selection jangan lupa gunakan if, then, if then else, nested if, case of dan switch case. Sebelum kita membuat program mengenai perulangan (looping) maka kita terlebih dahulu harus memahami mengenai looping dan macam-macam looping.
BAB IV ARRAY DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 95 BAB IV ARRAY 4.1 Pengertian Array Array adalah suatu struktur data berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu, elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori.Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu secara acak ataupun berurutan. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.Array terbagi dalam dua jenis yaitu array satu dimensi dan dua dimensi. 4.1.1 Array Dimensi Satu Pada array satu dimensi hanya terdapat satu baris dan bayak kolom. Deklarasi Array satu dimensi secara umum sebagai berikut. Gambar 4. 1 Penulisan deklarasi Array satu dimensi Keterangan: tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll) nama_var_array : menyatakan nama variabel yang dipakai. ukuran : menunjukkan jumlah maksimal elemen larik/ banyak array. Untuk menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan, dengan cara sebagai berikut: int nilai[6] = {1,3,5,7,9};
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 96 bisa disederhanakan sehingga menjadi : int nilai = {1,3,5,7,9}; Contoh diatas berarti anda memesan tempat di memori komputer sebanyak 5 tempat dengan indeks dari 0-4, dimana indeks ke-0 bernilai 1, ke-1 bernilai 3, dst, dan semua elemennya bertipe data integer. Tiga hal penting dalam array yang harus dipahami yaitu: 1. Index, dapat disebut dengan urutan, index pada array secara default dimulai dari 0 (nol). 2. Value, yang mengisi di setiap elemen array, dan elemen-elemen ini dapat diakses oleh program menggunakan suatu indeks tertentu secara acak ataupun berurutan. 3. Reference, alamat memori dari masing-masing elemen array. Gambar 4. 2 Ilustrasi Array Satu Dimensi
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 97 Contoh program menampilkan isi variabel array dimensi satu sebagai berikut. Contoh menampilkan isi variabel array dengan mendeklarasikan sekaligus memberi nilai awal array sebagai berikut. Gambar 4. 3 Contoh program menampilkan isi variabel array 1 Gambar 4. 4 Hasil contoh program menampilkan isi variabel array 1 Penjelasan: 1. Mendeklarasikan variabel array x dan sekaligus memberi nilai awal pada array 2. Menampilkan isi array satu persatu
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 98 Contoh menampilkan isi variabel array dengan mendeklarasikan variabel array satu persatu sebagai berikut. Gambar 4. 5 Contoh program menampilkan isi variabel array 2 Gambar 4. 6 Hasil contoh program menampilkan isi variabel array 2 Penjelasan: 1. Mendeklarasikan variabel array x sebanyak 5 (dihitung mulai 0) 2. Mengisi variabel array satu persatu 3. Menampilkan isi array satu persatu
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 99 Contoh menampilkan isi variabel array dengan menggunakan perulangan perintah For sebagai berikut. Gambar 4. 7 Contoh program menampilkan isi variabel array 3 Gambar 4. 8 Hasil contoh program menampilkan isi variabel array 3 Penjelasan : 1. Mendeklarasikan variabel array x dan sekaligus memberi nilai awal pada array 2. Menampilkan isi array dengan menggunakan perulangan perintah for
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 100 Contoh menampilkan isi variabel array dengan memasukkan nilai variabel array sebagai berikut. Gambar 4. 9 Contoh program menampilkan isi variabel array 4 Gambar 4. 10 Hasil contoh program menampilkan isi variabel array 4 Penjelasan : 1. Mendeklarasikan variabel array x sebanyak 5 (dihitung mulai 0) 2. Mengisi variabel array x[0] dengan 1 3. Mengisi variabel array x[1] dengan 3 4. Mengisi variabel array x[3] dengan 7 5. Mengisi variabel arrayx[2] dengan meminta data dari masukan keyboard 6. Mengisi variabel array x[4] dengan meminta data dari masukan keyboard 7. Menampilkan semua isi array dengan menggunakan perulangan perintah for
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 101 4.1.2 Array Dimensi Dua Array dua dimensi yang sering digambarkan sebagai sebuah matrik dimana array dua dimensi memiliki banyak baris dan banyak kolom. Deklarasi array dua dimensi secara umum: Gambar 4. 11 Penulisan deklarasi array dua dimensi Keterangan: tipe_data :menyatakan jenis tipe data elemen larik (int, char, float, dll) nama_var_array :menyatakan nama variabel yang dipakai. batas_baris :menyatakan jumlah/ukuran baris pada array batas_kolom :menyatakan jumlah/ukuran komlom pada array. Contoh : Inisialisasi atau memberikan nilai pada array hampir sama dengan variabel tunggal, hanya dalam memberikan nilai ini diperjelas dengan memberi nomor array. x[0][0] = -45; x[0][1]= 6; x[1][0]= 0; x[1][1]= 72; x[2][0]= 4; x[2][1]= 34;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 102 Untuk menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. int nilai[3][2] = {{8,-3},{9,0},{5,2}}; Contoh program menampilkan isi variabel arraydimensi dua sebagai berikut. Contoh menampilkan isi variabel array dengan mendeklarasikan variabel array satu persatu sebagai berikut. Gambar 4. 12 Contoh program menampilkan isi variabel array 2 Penjelasan: 1. Mendeklarasikan variabel array x dan sekaligus memberi nilai awal pada array 2. Menampilkan isi array satu persatu
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 103 Contoh menampilkan isi variabel array dengan mendeklarasikan sekaligus memberi nilai awal array sebagai berikut. Gambar 4. 13 Contoh program menampilkan isi variabel array 2 Penjelasan: 1. int x[2][2]= { { 1,2},{3,4},}; Mendeklarasikan variabel x sebanyak 2 baris dan 2 kolom serta memberikan inisialisasi variabel array tersebut 2. int huruf[8][8] Mendeklarasikan array 2 dimensi dan memberi nilai awal
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 104 Contoh menampilkan isi variabel array dengan menggunakan perulangan perintah For sebagai berikut. Gambar 4. 14 Contoh program menampilkan isi variabel array 3 Gambar 4. 15 Hasil contoh program menampilkan isi variabel array 3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 105 4.1 Latihan Praktikum 1. Latihan 1 Buatlah program baru pada Dev C++ dengan cara klik file – new – source file atau tekan tombol Ctrl+N pada keyboard, kemudian ketik program dibawah ini : #include<conio.h> #include<iostream> using namespace std ; int main() { //int ujian [5] = {90,95,78} ; int ujian [5] ; for (int k=0;k<3;k++){ cout<<" Masukkan data nilai ujian ["<<k<<"] = " ; cin>>ujian[k] ; } for (int j=0;j<3;j++){ cout<<"Data nilai ujian["<<j<<"] = "<<ujian[j]<<endl ; } getch() ; }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 106 Hasil eksekusi program diatas sebagai berikut. Gambar 4. 16 Program latihan 1 Gambar 4. 17 Hasil program latihan 1 2. Latihan 2 Buatlah program baru pada Dev C++ dengan cara klik file – new – source file atau tekan tombol Ctrl+N pada keyboard, kemudian ketik program dibawah ini : #include <iostream> #include <conio.h> using namespace std; int main()
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 107 { float data [3]; float data_total = 0; float total, rata; //input data ke array for (int k=0; k<3; k++) { cout<<"Masukan data ["<<k<<"] = "; cin>> data [k]; } //menghitung total nilai array for (int J=0; J<3; J++) { total = total + data [J]; } //menghitung rata-rata rata = total / 3; cout<<"Nilai Rata-Rata data pada Array = "<<rata<<endl; getch(); }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 108 Hasil eksekusi program diatas sebagai berikut. Gambar 4. 18 Program latihan 2 Gambar 4. 19 Hasil program latihan 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 109 4.2 Studi Kasus 1. Buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik programnya seperti dibawah ini: Flowchart: Gambar 4. 20 Flowchart program studi kasus 1
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 110 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel int ujian[5] menggunakan simbol preparation. Selanjutnya deklarasi variabel k=0 dan nyatakan variabel k pada penyataan k<5 menggunakan simbol decision.Jika YES maka tampilkan “masukkan data nilai ujian [“<<k<<]=” menggunakan simbol input/output, lalu input ujian[k] menggunakan simbol input/output pula, nyatakan variabel k pada pernyataan k=k+1 menggunakan simbol process kemudiannyatakan kembali nilai k pada pernyataan k<5 sehingga terjadi perulangan. Jika NO maka lanjutkan deklarasi j=0 dan nyatakan variabel j pada pernyataan j<5 menggunakan simbol decision. Jika YES maka tampilkan “data nilai ujian[“<<j<<”]=”ujian[j], lalu nyatakan variabel j pada pernyataan j=j+1, kemudian nyatakan kembali variabel j pada pernyataakn j<5 sehingga terjadi perulangan.Jika NO gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include <iostream> #include <conio.h> using namespace std; int main() { //inisialisasi array // int ujian[5]= {90,95,78,85}; int ujian[5];
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 111 //input data ke array for (int k=0;k<5;k++) { cout<<"masukkan data nilai ujian["<<k<<"] = "; cin>>ujian[k]; } //tampil data array for (int j=0;j<5;j++) { cout<<"data nilai ujian["<<j<<"] = "<<ujian[j]<<endl; } getch(); } Hasil eksekusi program diatas sebagai berikut. Gambar 4. 21 Program studi kasus 1
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 112 Gambar 4. 22 Hasil program studi kasus 1 2. Buatlah sebuah program untuk menemukan data yang terdapat didalam element. Buatlah program baru dengan cara file – menu – source atau gunakan CTRL + N kemudian ketik programnya seperti dibawah ini: Flowchart: Gambar 4. 23 Flowchart program studi kasus 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 113 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Deklarasi variabel. Lakukan pemilihan untuk (int k=0;k<5) sebagai syarat jika benar maka tampilkan masukan data [<<k<<]. Lalu input data [k] dengan syarat k=k+1. Jika salah lakukan pemilihan kembali (int j=0;j<5) sebagai syarat jika benar maka proses rumus total=total+data(j). Jika salah maka proses rumus rata=total/5. Lalu tampilkan rata-rata pada pada array= rata. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include <iostream> #include <conio.h> using namespace std; main() { float data[5]; float rata, total = 0; //input data ke array for (int k=0;k<5;k++) { cout<<"masukkan data["<<k<<"] = "; cin>>data[k]; } //menghitung total nilai pada array
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 114 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; getch(); } Hasil eksekusi program diatas sebagai berikut. Gambar 4. 24 Program studi kasus 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 115 Gambar 4. 25 Hasil program studi kasus 2 3. Contoh program array 1 dimensi 3 Flowchart: Gambar 4. 26 Flowchart program studi kasus 3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 116 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel int data[10] = {4, 1, 0, -9, 8, 5, -1, 2, 3, -7}, int elemen, ketemu, x menggunakan simbol preparation. Selanjutnya tampilkan “Data yang dicari : “ menggunakan simbol input/output lalu input nilai x menggunakan simbol input/output pula. Nyatakan variabel ketemu pada pernyataan ketemu=0 menggunakan simbol process. kemudian deklarasikan elemen=0 dan nyatakan variabel elemen pada penyataan elemen<=9 menggunakan simbol decision. Jika NO maka lanjut pada tahap berikut yakni pernyataan ketemu==0. Jika YES nyatakan varabel elemen pada pernyataan data[elemen]==x, jika YES maka masuk syarat ketemu=!ketemu;break; kemudian lanjut pada tahap berikut yakni pernyataan ketemu==0. Jika NO maka nyatakan variabel elemen pada pernyataan elemen=elemen+1, kemudian nyatakan kembali variabel elemen pada pernyataan elemen<=9 sehingga terjadi proses perulangan. Jika NO maka lanjut pada tahap berikut yakni pernyataan ketemu==0. Pada pernyaaan ketemu==0, nyatakan variabel ketemu pada pernyataan ketemu==0 menggunakan simbol decision. Jika YES maka tampilkan “Data ada di elemen : “ elemen lalu gunakan simbol terminator untuk menandakan program telah selesai. Jika NO maka tampilkan “Data tidak ditemukan “lalu gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include<iostream> #include<conio.h> using namespace std;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 117 int main() { 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; getch(); } Hasil eksekusi program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 118 Gambar 4. 27 Program studi kasus 3 Hasil eksekusi program jika data ditemukan sesuai urutannya dan menampikan elemen. Gambar 4. 28 Hasil program studi kasus 3 Hasil eksekusi jika data tidak ditemukan Gambar 4. 29 Hasil program studi kasus 3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 119 4. Contoh program Array dua dimensi Flowchart: Gambar 4. 30 Flowchart program studi kasus 4 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Deklarasi variabel. Deklarasi int matrix [3][4]={{5,10,1,11}},{{4,7,67,-9}},{9,0,45,3}}. Masukan syarat pemilihan int i=0;i<3. Jika tidak memenuhi maka proses selesai.Jika memenuhi masukan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 120 syarat pemilihan kedua int j=0;j<4 jika tidak memenuhi kembali ke proses i=i+1 lalu ke pemilihan int i=0;i<3 dan seleksi kembali. Jika sudah tidak memenuhi maka selesai. Jika seleksi kedua memenuhi tampilkan mattix [i][j] lalu proses j=j+1 dan ke seleksi j=0;j<4 jika tidak maka proses i=i+1 lalu seleksi syarat i=0;i<3 seleksi tidak memenuhi maka proses selesai. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include <iostream> #include <conio.h> using namespace std; int main() { 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]<<" "; } cout<<endl; } getch();
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 121 } Hasil eksekusi program diatas sebagai berikut. Gambar 4. 31 Program studi kasus 4 Gambar 4. 32 Hasil program studi kasus 4
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 122 4.3 Kesimpulan dan Saran 4.4.1 Kesimpulan Array adalah suatu struktur data berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu, elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori.Array menggunakan indeks integer untuk menemukan urutan elemen-elemennya, dan juga elemen pertamanya akan dimulai dari indeks 0, dan yang kedua mempunyai indeks 1, serta seterusnya. Array dideklarasikan dibagian deklarasi variabel dibedakan menjadi dua yaitu, Array Satu Dimensi dan Array Dua Dimensi. 4.4.2 Saran Array yang akan dipergunakan harus dideklarasikan terlebih dahulu. Ketika akan mendeklarasikan array kita harus memperhatika hal-hal berikut : 1. Indeks array selalu dimulai dari 0 2. Mengetahui besaran, karena array tidak bisa diperbesar ataupun diperkecil 3. Mengetahui tipe data yang ingin dimasukan kedalam array, karena jika inputan berbeda dengan initial array maka akan terjadi error.
BAB V POINTER DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 123 BAB V POINTER 5.1. Pointer Pointer adalah variabel yang berisi alamat memori sebagai nilainya dan berbeda dengan variabel biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variabel yang mempunyai nilai tertentu. Pointer tidak hanya berlaku untuk variabel, kita juga bisa menerapkannya ke fungsi, objek, dll. Implementasinya masih sama seperti yang kita lakukan dengan variabel. X Variabel x berisidata 10 Alamat variabel x0x55d7245e Sebuah pointer dapat berisi alamat dari variabel lain, dan akses langsung ke nilai dalam variabel pointer dapat dilakukan dengan menggunakan operator. Jadi, setiap variabel mempunyai data (isi data) dan alamat memori yang menunjukkan variabel tersebut disimpan dimana. Ada dua jenis pointer yang disediakan oleh borland c++, yaitu Operator Deference (&) Dan OperatorReference(*). 10 10
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 124 a. Operator Deference (&) Operator deference adalah operator yang memungkinkan kita untuk mendapatkan/melihat alamat memori milik variable, operator ini juga sering disebut sebagai address of operator(&). Penggunaannya adalah dengan meletakkan simbol “&” sebelum variabel yang berarti alamat. Ini akan memaksa kompiler untuk memberikan alamat memori alih-alih konten/nilai memori itu. b. OperatorReference(*) Operatorreferenceadalah operator yang memungkinkan untuk mendapatkan konten/nilai memori dari alamat memori, operator ini biasa disebut dengan value pointedby.Operator ini akan menampilkan nilai yang terdapat pada alamat memori,bukan alamat memori. Selama program berjalan, kita bebas mengubah tujuan penunjuk, mengubahnya untuk menunjuk ke alamat memori variabel lain, atau menunjuk ke alamat memori yang bukan variabel. 5.1.1 Cara Membuat Pointer Setelah memahami fungsi dari kedua operator yang telah dijelaskan di atas. Sekarang Anda dapat membuat pointer menggunakan dua operator tersebut. Bentuk penulisan Gambar 5. 1 Bentuk Penulisan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 125 Contoh Penulisan Gambar 5. 2 Contoh penulisan Secara umum pointer sebenarnya adalah variabel, aturan untuk variabel juga berlaku untuk pointer, jadi tidak jauh berbeda dengan variabel. pointer hanya mendapatkan beberapa perbedaan, yaitu menambahkan dua operator akan menjadikan variabel tersebut sebagai variabel pointer. Untuk mengatur variabel pointer, kita hanya perlu menambahkan operator dereferencing sebelum identitas. Operator dereference tidak harus terikat dengan identitas, ia juga dapat ditempatkan setelah tipe data atau di antara tipe data dan identitas. Dari berbagai cara penulisan yang berbeda memiliki arti yang sama, yaitu operator deference hanya akan berlaku untuk satu variabel. 5.1.2 Cara Mengakses Pointer Variabel pointer adalah variabel yang memiliki alamat memori sebagai nilai variabel pointer. Dan di pointer kita dimungkinkan untuk mengakses nilai pointer itu sendiri dan nilai alamat memori yang dimiliki (ditunjuk) oleh pointer.Pointer adalah variabel, menggunakan pointer tidak jauh berbeda dengan menggunakan variabel. Untuk mendapatkan nilai pointer kita hanya perlu memanggil identitas pointer. plnt panggilan akan mengembalikan nilai penunjuk yang merupakan alamat memori dari variabel yang ditunjuk oleh pointer tersebut. Karena pointer hanya dapat
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 126 memiliki nilai berupa alamat memori, untuk mengubah nilai pointer atau mengubah tujuan pointer, kita memerlukan operator address-of (&) pada operan sumber. plnt = &myVar operan sumber mengembalikan alamat memori myVar, dan ini adalah nilai yang diminta oleh variabel pointer. variabel pointer hanya dapat meneriman alamat memori dari variabel yang memiliki tipe data yang sama. 5.2 Latihan Praktikum 1. Pointer Konstanta Flowchart Gambar 5. 3 flowchart pointer konstanta
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 127 Penjelasan flowchart : Program dimulai dengan start lalu, menampilkan judul. Kemudian mendeklarasikan variabel konstan yaitu *nama = “Borlan C++” bertipe data char. Kemudian tampilkan isi dari variabel nama. Lalu dilanjutkan dengan memproses nama = “ Visual C++ “. Dan tampilkan lagi isi dari variabel nama tersebut. Program selesai. Program Gambar 5. 4 contoh program pointer konstanta Gambar 5. 5 hasil running program pointer konstanta
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 128 2. Pointer Variabel Flowchart Gambar 5. 6 flowchart pointer deference Penjelasan: Program dimulai dengan start, lalu mendeklarasikan variabel ilham, amir, dan raka sebagai tipedata integer. Kemudian memproses ilham = 75, amir = ilham, dan raka = &ilham. Kemudian tampilkan nilai dari ilham, amir, dan raka. program selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 129 Program Gambar 5. 7 program pointer deference Gambar 5. 8 hasil running program pointer deference