PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 101 using namespace std; int main() { int x; cout<<"Menentukan bilangan genap dan ganjil"<<endl; cout<<"Input bilangan : "; cin>>x; if (x%2==0){ cout<<x<<" adalah bilangan genap"; } else { cout<<x<<" adalah bilangan ganjil"; } return 0; } Hasil eksekusi program diatas sebagai berikut
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 102 Gambar 3. 42 Contoh program 1 Gambar 3. 43 Hasil contoh program 1 Gambar 3. 44 Hasil contoh program 1 2. Diinputkan dua buah bilangan sembarang dari keyboard, tentukanlah bilangan terbesar dari kedua bilangan-bilangan tersebut. Buat program C++ Algoritma: a) Set variabel a,b b) Masukkan nilai a,b
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 103 c) Jika a>b, maka a lebih besar dari b d) Jika b>a, maka b lebih besar dari a e) Tampilkan hasil Flowchart: Gambar 3. 45 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 penyataan a>b menggunakan simbol decision. Jika YES maka hasil a lebih besar
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 104 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. 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 105 Hasil eksekusi program diatas sebagai berikut. Gambar 3. 46 Contoh program 2 Gambar 3. 47 Hasil contoh program 2 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 Jika nilai 20>=nilai>0 Maka nilai E Algoritma: a) Set variabel nilai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 106 b) Masukkan nilai “nilai” c) 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 d) Tampilkan hasil Flowchart:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 107 Gambar 3. 48 Flowchart contoh program 3 Penjelasan:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 108 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. 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){
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 109 cout<<"hasil = A"; } else if(nilai>=60&&nilai<=80){ cout<<"hasil = B"; } else if(nilai>=40&&nilai<=60){ cout<<"hasil = C"; } else if(nilai>=20&&nilai<=40){ cout<<"hasil = D"; } else { cout<<"hasil = E"; } return 0; }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 110 Hasil eksekusi dari program diatas sebagai berikut. Gambar 3. 49 Contoh program 3 Gambar 3. 50 Hasil contoh program 3 Gambar 3. 51 Hasil contoh program 3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 111 Gambar 3. 52 Hasil contoh program 3 Gambar 3. 53 Hasil contoh program 3 Gambar 3. 54 Hasil contoh program 3 4. Buatlah program Switch Case memilih pilihan pekerjaan rumah Algoritma: a) Set variabel pekerjaan_rumah case 1=ingin menyapu kamar, case 2=ingin mengepel ruang tamu, default (selain case 1 dan 2)=Tidak bekerja b) Input nilai pekerjaan_rumah c) Jika 1, maka ingin menyapu kamar d) Jika 2, maka ingin mengepel ruang tamu e) Jika default (selain 1 dan 2), maka Tidak bekerja f) Tampilkan hasil
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 112 Flowchart: Gambar 3. 55 Flowchart contoh program 4 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel pekerjaan_rumah menggunakan simbol preparation. Masukkan nilai pekerjaan_rumah menggunakan simbol input/output. Selanjutnya nyatakan variabel pekerjaan_rumah pada penyataan pekerjaan_rumah=1 menggunakan simbol decision. Jika YES maka hasil ingin menyapu kamar, jika NO maka nyatakan variabel pekerjaan_rumah pada penyataan pekerjaan_rumah=2 menggunakan simbol decision. Jika YES maka hasil ingin mengepel ruang tamu,
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 113 jika NO maka menghasilkan Tidak bekerja. Kemudian gunakan simbol input/output untuk menampilkan hasil pekerjaan rumah. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; main() { int pekerjaan_rumah; cout<<"Pekerjaan Rumah\n"; cout<<"1. Menyapu kamar"<<endl; cout<<"2. Mengepel ruang tamu"<<endl; cout<<"Masukan pilihan pekerjaan rumah yang akan dilakukan : "; cin>>pekerjaan_rumah; switch(pekerjaan_rumah) { case 1 : cout<<"ingin menyapu kamar"; break; case 2 : cout<<"ingin mengepel ruang tamu"; break;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 114 default : cout<<"Tidak bekerja"; } getch(); } Hasil eksekusi program diatas sebagai berikut. Gambar 3. 56 Contoh program 4 Gambar 3. 57 Hasil contoh program 4 Gambar 3. 58 Hasil contoh program 4
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 115 Gambar 3. 59 Hasil contoh program 4 5. Contoh program Statement For 1 Algoritma: a) Set variabel a=0 b) Cek Kondisi apakah nilai a <=10 jika kondisi bernilai benar maka cetak nilai a c) Nilai a ditambahkan 1 d) Cek kondisi kembali apakah nilai a <=10 bila kondisi bernilai benar (true) maka cetak kembali nilai a e) Iterasi terus dilakukan hingga kondisi bernilai salah (false) f) Selesai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 116 Flowchart: Gambar 3. 60 flowchart contoh program 5 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel a=0 menggunakan simbol preparation. Selanjutnya nyatakan variabel a pada penyataan a<=10 menggunakan simbol decision. Jika NO maka gunakan simbol terminator untuk menandakan program telah selesai. Jika YES maka tampilkan nilai a menggunakan simbol input/output, lalu nyatakan variabel a
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 117 pada pernyataan a=a+1 menggunakan simbol process. Selanjutnya kembali nyatakan variabel a pada pernyataan a<=10 menggunakan simbol decision sehingga terjadi proses ulangan. Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Kemudian terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; int main() { int a; for (a=0;a<=10;a++) cout<<a<<""; getch(); } Hasil eksekusi program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 118 Gambar 3. 61 Contoh program 5 Gambar 3. 62 Hasil contoh program 5 6. Contoh program Statement For 2 Algoritma: a) Set variabel a=20 b) Cek Kondisi apakah nilai a >=1 jika kondisi bernilai benar maka cetak nilai a c) Nilai a dikurangi 2 d) Cek kondisi kembali apakah nilai a >=1 bila kondisi bernilai benar (true) maka cetak kembali nilai a e) Iterasi terus dilakukan hingga kondisi bernilai salah (false) f) Selesai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 119 Flowchart: Gambar 3. 63 flowchart contoh program 6 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel a=20 menggunakan simbol preparation. Selanjutnya nyatakan variabel a pada penyataan a>=1 menggunakan simbol decision. Jika NO maka
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 120 gunakan simbol terminator untuk menandakan program telah selesai. Jika YES maka tampilkan nilai a menggunakan simbol input/output, lalu nyatakan variabel a pada pernyataan a=a-2 menggunakan simbol process. Selanjutnya kembali nyatakan variabel a pada pernyataan a>=1 menggunakan simbol decision sehingga terjadi proses ulangan. Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Kemudian terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; int main() { for (int a=20;a>=1;a-=2) cout<<a<<endl; getch(); }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 121 Hasil eksekusi program diatas sebagai berikut. Gambar 3. 64 Contoh program 6 Gambar 3. 65 Hasil contoh program 6 7. Contoh progam Nested For (kalang for) Algoritma: a) Set variabel bil b) Masukkan nilai bil
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 122 c) Looping for 1 I) Set variabel i=1 II) Cek Kondisi apakah nilai i <=bil jika kondisi bernilai benar maka masuk looping for 2 III) Nilai a ditambahkan 1 IV)Cek kondisi kembali apakah nilai i <=bil bila kondisi bernilai benar (true) maka masuk looping for 2 V) Iterasi terus dilakukan hingga kondisi bernilai salah (false) d) Looping for 2 I) Set variabel j=1 II) Cek Kondisi apakah nilai j <=i jika kondisi bernilai benar maka cetak “*” III) Nilai j ditambahkan 1 IV)Cek kondisi kembali apakah nilai j <=i bila kondisi bernilai benar (true) maka cetak “*” V) Iterasi terus dilakukan hingga kondisi bernilai salah (false), kemudian kembali ke looping for 1 e) Selesai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 123 Flowchart: Gambar 3. 66 flowchart contoh program 7 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel bil menggunakan simbol preparation. Masukkan nilai bil menggunakan simbol input/output. Selanjutnya deklarasikan variabel i=1 dan nyatakan variabel i dan bil pada penyataan i<=bil menggunakan simbol decision. Jika NO maka gunakan simbol terminator untuk menandakan program telah selesai. Jika YES maka deklarasikan variabel j=1 dan nyatakan variabel j dan i
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 124 pada penyataan j<=i menggunakan simbol decision. Jika YES maka tampilkan * menggunakan simbol input/output, lalu nyatakan variabel j pada pernyataan j=j+1 menggunakan simbol process dan kembali nyatakan variabel j dan i pada pernyataan j<=i menggunakan simbol decision sehingga terjadi proses ulangan. Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Jika NO maka nyatakan variabel i pada pernyataan i=i+1 menggunakan simbol process dan kembali nyatakan variabel i dan bil pada pernyataan i<=bil sehingga terjadi proses ulangan. Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Kemudian terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; int main() { int bil; cout<<"Inputkan Jumlah Bintang = ";cin>>bil; for (int i=1;i<=bil;i++) { for (int j=1;j<=i;j++) {
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 125 cout<<"*"; } cout<<endl; } getch(); } Hasil eksekusi program diatas sebagai berikut. Gambar 3. 67 Contoh program 7 Gambar 3. 68 Hasil contoh program 7
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 126 8. Contoh program while, program konversi angka ke huruf Algoritma: a) Set variabel integer angka, i=1 (integer) b) Set variabel huruf=‟A‟ (char) c) Masukkan nilai angka d) Cek kondisi apakah i <= angka jika ya maka cetak output nilai i “--->” nilai huruf e) nilai i dan nilai angka ditambahkan 1 f) cek kondisi kembali apakah i <=angka jika benar maka kembali mencetak output nilai i “--->” nilai huruf dan nilai i dan nilai angka ditambahkan 1 g) iterasi terus dilakukan hingga kondisi bernilai salah (false) Flowchart:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 127 Gambar 3. 69 flowchart contoh program 8 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel angka, i=1 dengan tipe data integer dan huruf=‟A‟ dengan tipe data character menggunakan simbol preparation. Masukkan nilai variabel angka menggunakan simbol input/output. Selanjutnya nyatakan variabel i dan angka
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 128 pada penyataan i<=angka menggunakan simbol decision. Jika NO maka gunakan simbol terminator untuk menandakan program telah selesai. Jika YES maka tampilkan nilai i “--->” nilai huruf menggunakan simbol input/output, lalu nyatakan variabel i dan huruf pada pernyataan i=i+1 dan huruf=huruf+1 menggunakan simbol process. Selanjutnya kembali nyatakan variabel i dan angka pada pernyataan i<=angka menggunakan simbol decision sehingga terjadi proses ulangan. Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Kemudian terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; int main() { cout<<"Program Konversi angka ke huruf"<<endl; cout<<endl; cout<<"Masukkan Angka : "; int angka,i; char huruf; cin>>angka; cout<<endl;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 129 i=1; huruf='A'; while (i<=angka) { cout<<i<<"-->"<<huruf<<endl; i++; huruf++; } getch(); } Hasil eksekusi program diatas sebagai berikut. Gambar 3. 70 Contoh program 8
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 130 Gambar 3. 71 Hasil contoh program 8 9. Contoh program Do-While, kelipatan 2 dengan batas angka 30 Algoritma: a) Set nilai awal angka = 0 b) nilai angka ditambahkan 1 c) Cek kondisi apakah nilai angka%2==0, jika kondisi bernilai benar maka cetak nilai angka, jika salah maka dilanjutkan ke proses selanjutnya d) Kemudian cek kondisi apakah angka<30, jika kondisi bernilai benar maka selanjutnya nilai i kembali ditambahkan 1 e) cek kondisi apakah nilai angka%2==0, jika ya maka cetak nilai angka, jika salah maka dilanjutkan ke proses selanjutnya f) Kemudian cek kondisi apakah angka<30, jika kondisi bernilai benar maka selanjutnya nilai i kembali ditambahkan 1 g) Iterasi terus dilakukan hingga kondisi bernilai false h) selesai. Flowchart:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 131 Gambar 3. 72 flowchart contoh program 9 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel angka=0 menggunakan simbol preparation. Selanjutnya nyatakan variabel angka pada penyataan angka=angka+1 menggunakan simbol process. Kemudian nyatakan variabel angka pada pernyataan angka%2==0 menggunakan simbol decision. Jika NO maka lanjutkan ke proses selanjutnya. Jika YES maka tampilkan nilai angka menggunakan simbol input/output, lalu lanjutkan ke proses selanjutnya dengan nyatakan variabel angka pada pernyataan angka<30. Jika NO maka gunakan simbol terminator untuk mengakhiri program. Jika YES maka kembali nyatakan variabel angka pada pernyataan angka=angka+1 menggunakan simbol process sehingga terjadi proses ulangan.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 132 Proses iterasi terus dilakukan hingga kondisi bernilai salah (false) atau NO. Kemudian terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; int main() { int angka=0; do { angka++; if(angka%2==0) cout<<angka<<""; } while (angka<30); getch(); } Hasil eksekusi program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 133 Gambar 3. 73 Contoh program 9 Gambar 3. 74 Hasil contoh program 9 3.5 Kesimpulan dan saran 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
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 134 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, dan switch case. Sebelum kita membuat program mengenai perulangan (looping) maka kita terlebih dahulu harus memahami mengenai looping dan macam-macam looping.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 135
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 136 BAB IV ARRAY OLEH Gibran Hayder Achwan 07352211026 PROGRAM STUDI NFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE 2023
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 137 BAB IV 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 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 138 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 Contoh program menampilkan isi variabel array dimensi satu sebagai berikut. Contoh menampilkan isi variabel array dengan mendeklarasikan sekaligus memberi nilai awal array sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 139 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 Contoh menampilkan isi variabel array dengan mendeklarasikan variabel array satu persatu sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 140 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 Contoh menampilkan isi variabel array dengan menggunakan perulangan perintah For sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 141 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 Contoh menampilkan isi variabel array dengan memasukkan nilai variabel array sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 142 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 array x[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 143 4.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; Untuk menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. int nilai[3][2] = {{8,-3},{9,0},{5,2}};
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 144 Contoh program menampilkan isi variabel array dimensi 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 Contoh menampilkan isi variabel array dengan mendeklarasikan sekaligus memberi nilai awal array sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 145 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 Contoh menampilkan isi variabel array dengan menggunakan perulangan perintah For sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 146 Gambar 4. 14 Contoh program menampilkan isi variabel array 3 Gambar 4. 15 Hasil contoh program menampilkan isi variabel array 3 4.3 Latihan Kegiatan 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()
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 147 { //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() ; } Hasil eksekusi program diatas sebagai berikut. Gambar 4. 16 Program latihan 1
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 148 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() { 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
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 149 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(); } Hasil eksekusi program diatas sebagai berikut. Gambar 4. 18 Program latihan 2
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 150 Gambar 4. 19 Hasil program latihan 2 4.4 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: