PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 51 Gambar 2. 19 program bertipe data float Gambar 2. 20 Hasil program bertipe data float Penjelasan: Variabel a dan b bertipe data float (bilangan pecahan) Variabel c bertipe integer (bilangan bulat) Dalam operasi c=a/b menghasilkan 3 bukan 3.333, hal ini terjadi karena hasil operasinya adalah 3.333 kemudian disimpan di c menjadi 3 karena c bertipe integer (bilangan bulat).
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 52 2.10 Tipe Casting Penggunakan tipe casting membuat tipe data yang sudah ada tidak perlu dilakukan modifikasi supaya menghasilkan data yang sesuai. int a = 10; float b; b = a / 3; Maka b akan berisi nilai 3 karena operator pembagian akan menghasilkan pembulatan. Supaya hasilnya sesuai yang diinginkan tanpa merubah tipe data digunakan tipe casting, yaitu Mengubah suatu variabel/nilai sehingga menjadi tipe sesuai keinginan kita. Namun perubahan tipe ini hanya sementara. int a = 10; float b; b = (float) x / (float) 3; Sekarang operasi menghasilkan 3.333 karena operator pembagian dilakukan pada 2 bilangan pecahan (float) sehingga hasilnya bilangan pecahan, tetapi variabel a tetap bertipe integer. 2.11 Konstanta Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung. Konstanta juga termasuk dalam variabel. Perbedaannya kalau variabel nilai dapat berubah-ubah sementara konstanta nilainya bersifat tetap dan tidak bisa diganti. Konstanta harus didefinisikan terlebih dahulu di awal program. Bentuk penulisannya adalah :
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 53 #define pengenal nilai Gambar 2. 21 Program define Gambar 2. 22 hasil program define Atau menggunakan: Const tipe_data nama_variabel
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 54 Gambar 2. 23 Program Gambar 2. 24 hasil Penulisan konstanta const 2.11 Studi kasus 1. Diketahui variabel A=10 dan B=50. Tukarkan letak dari kedua nilai variabel tersebut sehingga sewaktu dicetak nilai A=50 dan B=10. Buatlah programnya Algoritma: Inisialisasi a=10 dan b=50
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 55 Masukkan nilai A=a dan B=b Tukar nilai menjadi A=b dan B=a Cetak A=b dan B=a Tampilkan hasil Flowchart: Gambar 2. 25 Flowchart Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel a=10 dan b=50 menggunakan simbol preparation. Masukkan nilai A=a dan B=b menggunakan simbol input/output. Cetak nilai A=b dan B=a menggnakan simbol
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 56 input/output. 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 a=10, b=50; cout<<"Menukar Nilai"<<endl; cout<<"A = "<<a<<endl; cout<<"B = "<<b<<endl; cout<<"Menjadi A = "<<b<<" dan B = "<<a; getch(); } Hasil mengeksekusi dari program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 57 Gambar 2. 26 program menukar nilai Gambar 2. 27 Hasil program menukar nilai 2. Buat program untuk menghitung luas bangun dan ruang berikut ini : a. Luas Persegi Panjang Gambar 2. 28 persegi panjang Algoritma: Set variabel panjang, lebar, dan luas Masukkan nilai panjang Masukkan nilai lebar
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 58 Hitung luas = panjang * lebar Tampilkan hasil perhitungan luas Flowchart: Gambar 2. 29 Flowchart luas persegi panjang Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel panjang, lebar, dan luas menggunakan simbol preparation. Masukkan nilai panjang dan lebar menggunakan simbol input/output. Selanjutnya defenisikan rumus luas persegi panjang menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan luas persegi panjang. Terakhir gunakan simbol terminator untuk menandakan program telah selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 59 Program dari flowchart diatas adalah sebagai berikut. #include<iostream> #include<conio.h> using namespace std; main() { int panjang,lebar,luas; cout<<"Menghitung luas persegi panjang"<<endl; cout<<"Masukkan panjang : "; cin>>panjang; cout<<"Masukkan lebar : "; cin>>lebar; luas=panjang*lebar; cout<<"Luas persegi panjang adalah "<<luas; return 0; } Hasil eksekusi dari program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 60 Gambar 2. 30 program menghitung luas persegi panjang Gambar 2. 31 Hasil program luas persegi panjang b. Luas dan Keliling Lingkaran Gambar 2. 32 lingkaran Algoritma:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 61 Set konstanta phi=3.14 Set variabel panjang jari-jari (r), luas, dan keliling Masukkan nilai r Hitung luas = phi * r * r Hitung keliling = 2 * phi * r Tampilkan hasil perhitungan luas dan keliling Flowchart: Gambar 2. 33 flowchart luas dan keliling lingkaran Penjelasan:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 62 Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel r, luas, keliling dan konstanta phi=3.14 menggunakan simbol preparation. Masukkan nilai r menggunakan simbol input/output. Selanjutnya defenisikan rumus luas dan keliling lingkaran menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan luas dan keliling lingkaran. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include<iostream> #include<conio.h> using namespace std; main() { const float phi = 3.14; float r,keliling,luas; cout<<"Menghitung Luas dan Keliling lingkaran"<<endl; cout<<"Masukkan jari-jari : "; cin>>r; luas=phi*r*r; keliling=2*phi*r; cout<<"Luas lingkaran adalah "<<luas<<endl; cout<<"Keliling lingkaran adalah "<<keliling; return 0;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 63 } Hasil eksekusi program diatas sebagai berikut. Gambar 2. 34 program menghitung luas dan keliling lingkaran Gambar 2. 35 Hasil program luas dan keliling lingkaran c. Volume dan Luas Alas kerucut Gambar 2. 36 Kerucut
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 64 Algoritma: Set konstanta phi = 3.14, x = 3 Set variabel r, tinggi, volume, luas alas Masukkan nilai r, tinggi Hitung volume = phi/x*r*r*tinggi Hitung luas alas = phi*r*r Tampilkan hasil perhitungan volume dan luas alas Flowchart: Gambar 2. 37 flowchart volume dan luas kerucut Penjelasan:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 65 Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel r, tinggi, volume, luas alas dan konstanta phi=3.14, x=3 menggunakan simbol preparation. Masukkan nilai r dan tinggi menggunakan simbol input/output. Selanjutnya defenisikan rumus volume dan luas alas kerucut menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan volume dan luas alas kerucut. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include<iostream> #include<conio.h> using namespace std; main() { const float phi = 3.14, x=3; float r, tinggi, volume, luas; cout<<"Menghitung volume dan luas alas kerucut"<<endl; cout<<"Masukkan jari-jari : "; cin>>r; cout<<"Masukkan tinggi : "; cin>>tinggi; luas=phi*r*r; volume=phi/x*r*r*tinggi;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 66 cout<<"Luas alas adalah "<<luas<<endl; cout<<"Volume kerucut adalah "<<volume; return 0; } Hasil eksekusi program diatas sebagai berikut. Gambar 2. 38 Program menghitung luas dan volume kerucut Gambar 2. 39 Hasil program luas alas dan volume kerucut d. Volume kubus
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 67 Gambar 2. 40 Kubus Algoritma: Set variabel rusuk, volume Masukkan nilai rusuk Hitung volume = rusuk*rusuk*rusuk Tampilkan hasil perhitungan volume Flowchart: Gambar 2. 41 Flowchart kubus
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 68 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel rusuk, volume menggunakan simbol preparation. Masukkan nilai rusuk menggunakan simbol input/output. Selanjutnya defenisikan rumus volume kubus menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan volume kubus. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas sebagai berikut. #include<iostream> #include<conio.h> using namespace std; main() { int rusuk, volume; cout<<"Menghitung volume kubus"<<endl; cout<<"Masukkan panjang rusuk : "; cin>>rusuk; volume=rusuk*rusuk*rusuk; cout<<"Volume kubus adalah "<<volume; return 0; } Hasil eksekusi dari program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 69 Gambar 2. 42 Program menghitung volume kubus Gambar 2. 43 Hasil program volume kubus e. Volume Tabung Gambar 2. 44 Tabung Algoritma: Set konstanta phi = 3.14
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 70 Set variabel r, t, volume Masukkan nilai r, t Hitung volume = phi*r*r*t Tampilkan hasil perhitungan volume ke layar Flowchart: Gambar 2. 45 Flowchart volume tabung Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi konstanta phi=3.14 dan variabel r, t, volume menggunakan simbol preparation. Masukkan nilai r dan t menggunakan simbol input/output. Selanjutnya defenisikan rumus volume tabung menggunakan simbol process. Kemudian gunakan simbol input/output
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 71 untuk menampilkan hasil perhitungan volume tabung. 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() { const float phi = 3.14; float r,t,volume; cout<<"Menghitung volume tabung"<<endl; cout<<"Masukkan jari-jari : "; cin>>r; cout<<"Masukkan tinggi : "; cin>>t; volume=phi*r*r*t; cout<<"Volume tabung adalah "<<volume; return 0; } Hasil eksekusi program diatas sebagai berikut.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 72 Gambar 2. 46 Program volume tabung Gambar 2. 47 Hasil program volume tabung
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 73
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 74 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) OLEH Gibran Hayder Achwan 07352211026 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS KHAIRUN TERNATE
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 75 BAB III STRUKTUR DASAR ALGORITMA (SELECTION DAN LOOPING) 3.1 Sequence Sequence atau runtunan adalah instruksi yang dikerjakan secara beruntun atau berurutan baris per-baris mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan. 1. Tiap instruksi dikerjakan sekali satu per-satu 2. Urutan pelaksanaan instruksi sama dengan urutan penulisan algoritma 3. Instruksi terakhir merupakan akhir dari algoritma 4. Urutan penulisan instruksi bisa menjadi penting, bila diubah dapat menyebabkan hasil yang berbeda. Gambar 3. 1 Konsep runtunan pada flowchart Dari flowchart diatas mula-mula pemroses akan melaksanakan instruksi baris program 1, instruksi baris program 2 akan dikerjakan jika instruksi baris program 1 telah selesai dikerjakan. Selanjutnya instruksi baris program 3 dikerjakan setelah instruksi baris
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 76 program 2 selesai dikerjakan. Setelah instruksi baris program 3 selesai dilaksanakan maka algoritma berhenti. Contoh program sequence sebagai berikut. Menghitung luas persegi panjang Algoritma: a) Set variabel panjang, lebar, dan luas b) Masukkan nilai panjang c) Masukkan nilai lebar d) Hitung luas = panjang * lebar e) Tampilkan hasil perhitungan luas Flowchart: Gambar 3. 2 Flowchart menghitung luas persegi panjang
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 77 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel panjang, lebar, dan luas menggunakan simbol preparation. Masukkan nilai panjang dan lebar menggunakan simbol input/output. Selanjutnya defenisikan rumus luas persegi panjang menggunakan simbol process. Kemudian gunakan simbol input/output untuk menampilkan hasil perhitungan luas persegi panjang. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Hasil eksekusi program sebagai berikut. Gambar 3. 3 Program menghitung luas persegi panjang Gambar 3. 4 Hasil program hitung luas persegi panjang
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 78 3.2 Selection Selection adalah suatu pemilihan pernyataan yang akan dieksekusi dimana pilihan tersebut didasarkan atas kondisi tertentu untuk mengarahkan perjalanan suatu proses. Artinya pernyataan yang terdapat pada suatu blok percabangan akan dieksekusi jika kondisi yang didefinisikan terpenuhi (bernilai benar) tetapi jika kondisi tersebut tidak terpenuhi (bernilai salah) maka pernyataan tersebut tidak akan dieksekusi atau diabaikan oleh compiler. Dalam pemrograman pengambilan keputusan/ proses seleksi (selection) menjadi unsur yang sangat penting, sebagai contoh program untuk menentukan kesalahan password, menentukan saldo apakah masih mencukupi atau tidak. Demikian juga proses login dalam suatu aplikasi. Gambar 3. 5 Tampilan login virtual class Unkhair Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, C++ menyediakan beberapa perintah antara lain.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 79 3.2.1 Pernyataan If Pernyataan if mempunyai pengertian, Jika kondisi bernilai benar, maka pernyataan 1 akan dikerjakan kemudian mengerjakan pernyataan 2 dan jika tidak memenuhi syarat (salah) maka akan mkengerjakan pernyataan 2 Dari pengertian tersebut dapat dilihat dari diagram alir berikut: Gambar 3. 6 Flowchart pernyataan if Bentuk penulisan pernyataan if sebagai berikut. Gambar 3. 7 Penulisan pernyataan if Jika terdapat lebih dari satu pernyataan,maka penulisan pernyataan harus berada dalam kurung kurawal {} dan menjadi blok pernyataan. Gambar 3. 8 Penulisan pernyataan if dengan blok
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 80 Contohnya: Gambar 3. 9 Contoh program pernyataan if Gambar 3. 10 Hasil contoh pogram pernyataan if Penjelasan: 1. Memberi nilai awal variabel a=5 dan variabel b=6 2. Dalam program di atas: a) Kondisinya adalah apakah a<b b) Pernyataan 1 : cout<<”nilai B lebih besar “<<endl c) Penyataan 2 : cout<<”selesai”; 3. If (a<b) artinya melakukan pengecekan apakah isi variabel a< b benar a) Jika benar kerjakan pernyataan 1 dan kemudian kerjakan pernyataan 2 b) Jika salah kerjakan pernyataan 2. 3.2.2 Pernyataan If-else Pernyataan if-else mempunyai pengertian, Jika kondisi bernilai benar, maka pernyataan 1 akan dikerjakan kemudian kerjakan pernyataan 3 dan jika pernyataan 1 tidak
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 81 memenuhi syarat maka akan mengerjakan pernyataan 2 kemudian kerjakan pernyataan 3 Dari pengertian tersebut dapat dilihat dari diagram alir berikut. Gambar 3. 11 flowchart pernyataan If-else Bentuk umum dari pernyataan if-else : Gambar 3. 12 Penulisan pernyataan if-else Contohnya:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 82 Gambar 3. 13 Contoh program pernyataan if-else Gambar 3. 14 Hasil contoh program pernyataan if-else Penjelasan: 1. Memberi nilai variabel a=1 2. Dalam program diatas: a) Kondisinya adalah apakah a=0 b) Blok pernyataan 1 : cout<<”satu“<<endl; cout<<”dua”<<endl; c) Blok pernyataan 2 : cout<<”tiga”; cout<<”empat”;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 83 d) Pernyataan 3 : cout<<”selesai”; 3. If (a=0) artinya melakukan pengecekan apakah isi variabel a=0 benar a) Jika benar kerjakan blok pernyataan 1 & pernyataan 3 b) Jika salah kerjakan blok pernyataan 2 & pertanyaan 3 4. Karena kondisi bernilai salah maka pernyataan yang dikerjakan adalah blok pernyataan 2 kemudian mengerjakan pernyataan 3 3.2.3 Pernyataan If Berkalang Pernyataan if berkalang merupakan perluasan dari struktur percabangan karena memiliki lebih dari dua kondisi. Pernyataan ini sering digunakan untuk menyelesaikan masalah keputusan yang bertingkat. Bentuk penulisan if berkalang adalah sebagai berikut. Gambar 3. 15 Penulisan pernyataan if berkalang Contohnya:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 84 Gambar 3. 16 Contoh program if berkalang Gambar 3. 17 Hasil contoh program if berkalang Gambar 3. 18 Hasil contoh program if berkalang Gambar 3. 19 Hasil contoh program if berkalang Penjelasan: 1. Set variabel a
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 85 2. Dalam program diatas. a) Kondisi pertama adalah apakah a>2 b) Blok pernyataan 1 : cout<<”Angka lebih dari 2“<<endl; c) Kondisi kedua adalah apakah a<0 d) Blok pernyataan 2 : cout<<”Angka kurang dari 0”<<endl; e) Kondisi ketiga adalah kondisi lainnya atau selain kondisi pertama dan kedua f) Blok pernyataan 3 : cout<<”Angka adalah 1”<<endl; 3. Blok pernyataan yang dikerjakan yakni berdasarkan kondisi yang bernilai benar 3.2.4 Keputusan Dengan Kondisi Jamak Keputusan dengan kondisi jamak adalah adanya suatu kondisi yang proses pengecekannya lebih dari satu (syaratnya lebih dari satu). Untuk membuat keputusan yang jamak ini dapat dipakai operator logika Tabel 3. 1 opertor logika Kon disi Mak na Ope rator AN D Dan && OR Ata u || NO T Tida k !
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 86 Kondisi AND akan dikerjakan jika kedua kondisi memenuhi persyaratan. Kondisi OR akan dikerjakan jika salah satu kondisi memenuhi persyaratan. Dan kondisi NOT akan dikerjakan jika kondisi tidak memenuhi persyaratan. Penggunaan kondisi jamak dapat digunakan tidak hanya saat satu pembanding tetapi juga dapat digunakan saat lebih dari satu kondisi. Urutan prioritas yang harus diperhatikan adalah: NOT, AND, OR. 3.2.5 Pernyataan Switch-case Bentuk dari switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Bentuk penulisan perintah ini sebagai berikut : Gambar 3. 20 Penulisan pernyataan switch-case Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang di atasnya tidak terpenuhi. Pernyataan break menunjukkan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan ke cabang – cabang yang lainnya.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 87 Contohnya: Gambar 3. 21 Contoh program switch-case Gambar 3. 22 Hasil contoh program switch-case Gambar 3. 23 Hasil contoh program switch-case
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 88 Gambar 3. 24 Hasil contoh program switch-case Penjelasan: 1. Set variabel klub 2. Dalam program diatas. a) Kondisi pertama (case 1) adalah apakah klub=1 b) Blok pernyataan case 1 : cout<<”FC Barcelona“<<endl; c) Kondisi kedua adalah apakah klub=2 d) Blok pernyataan case 2 : cout<<”Real Madrid”<<endl; e) Kondisi ketiga adalah kondisi lainnya atau selain kondisi pertama dan kedua f) Blok pernyataan default : cout<<”Tidak memilih klub”<<endl; 3. Blok pernyataan yang dikerjakan yakni berdasarkan kondisi yang bernilai benar 3.3 Looping Perulangan merupakan proses mengulang-ulang perintah tanpa henti, selama kondisi yang dijadikan acuan terpenuhi atau bernilai benar. 3.3.1 Perintah For Bentuk penulisan perintah for sebagai berikut Gambar 3. 25 Bentuk penulisan perintah for Keterangan:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 89 1. Inisialisasi merupakan nilai awal dari pengulangan, dipakai untuk inisialisasi dari variabel yang dipakai untuk mengontrol ulangan eksekusi dari blok pernyataan yang ada di dalam pernyataan for 2. Syarat dipakai untuk menyatakan suatu kondisi, eksekusi dari blok pernyataan yang ada di dalam pernyataan for akan diulang bila kondisi menghasilkan nilai benar atau true 3. Penambahan/pengurangan dipakai untuk menambah/mengurangi nilai variabel yang dipakai untuk mengontrol eksekusi dari blok pernyataan yang ada di dalam pernyataan for Contohnya: Gambar 3. 26 Contoh program perintah for Gambar 3. 27 Hasil contoh program perintah for Penjelasan: 1. Pada program diatas:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 90 a) nilai awal pengulangan 1 b) nilai akhir pengulangan jika i<=5 c) nilai penaik adalah i=i+1 d) bagian yang diulang adalah cout<<”TES”<<endl; 2. lakukan proses pengecekan, apakah nilai i (i=1) masih memenuhi i<=5 a) ya, kerjakan bagian yang diulang mencetak TES b) nilai i ditambah 1 menjadi i=2 3. lakukan proses pengecekan, apakah nilai i (i=2) masih memenuhi i<=5 a) ya, kerjakan bagian yang diulang mencetak TES b) nilai i ditambah 1 menjadi i=3 4. lakukan proses pengecekan, apakah nilai i (i=3) masih memenuhi i<=5 a) ya, kerjakan bagian yang diulang mencetak TES b) nilai i ditambah 1 menjadi i=4 5. lakukan proses pengecekan, apakah nilai i (i=4) masih memenuhi i<=5 a) ya, kerjakan bagian yang diulang mencetak TES b) nilai i ditambah 1 menjadi i=5 6. lakukan proses pengecekan, apakah nilai i (i=5) masih memenuhi i<=5 a) ya, kerjakan bagian yang diulang mencetak TES b) nilai i ditambah 1 menjadi i=6 7. lakukan proses pengecekan, apakah nilai i (i=3) masih memenuhi i<=5 a) tidak, selesai
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 91 3.3.2 Perintah for didalam for (kalang for) Perintah for didalam for yakni suatu proses perulangan yang di dalam perulangan tersebut juga harus dilakukan proses perulangan. Bentuk penulisan for didalam for sebagai berikut. Gambar 3. 28 Bentuk penulisan kalang for Contohnya: Gambar 3. 29 Contoh program perintah kalang for Gambar 3. 30 Hasil contoh program perintah kalang for Penjelasan: 1. Pada program diatas:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 92 a) For pertama akan melakukan proses pengulangan dari 1 sampai 2 b) For kedua (bagian yang diulang yang juga dalam proses perulangan) akan melakukan proses perulangan mulai dari 1 sampai 3 c) bagian yang diulang adalah cout<<”TES”<<endl; 2. Langkah-langkah pengulangan a) Ulangan i=1 : benar Ulangan j=1 : benar, kerjakan pernyataan 1 cetak TES Ulangan j=2 : benar, kerjakan pernyataan 1 cetak TES Ulangan j=3 : benar, kerjakan pernyataan 1 cetak TES Ulangan j=4 : salah, kembali ke pengulangan i b) Ulangan i=2 : benar Ulangan j=1 : benar, kerjakan pernyataan 1 cetak TES Ulangan j=2 : benar, Kerjakan pernyataan 1 cetak TES Ulangan j=3 : benar, kerjakan pernyataan 1 cetak TES Ulangan j=4 : salah, kembali ke pengulangan i c) Ulangan i=3 : salah, selesai 3.3.3 Perintah While Bentuk penulisan perintah while sebagai berikut. Gambar 3. 31 Bentuk penulisan perintah while
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 93 Keterangan: 1. While (syarat), Syarat disini adalah berisi batas dari perulangan. 2. Instruksi;, Perintah atau pernyataan yang akan diulang selama syaratnya masih terpenuhi atau bernilai benar (true), perintah atau pernyataan ini berada di dalam tanda kurung kurawal ({}). Contohnya: Gambar 3. 32 Contoh program while Gambar 3. 33 Hasil contoh program while Penjelasan: 1. Pada program diatas: a) Nilai awal =1 b) Proses pengulangan akan dilakukan selama nilai awal<=3
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 94 c) Nilai penaik adalah awal=awal+1 d) Bagian yang diulang adalah { awal=awal+1; cout<<"TES"<<endl; } 2. Cek apakah awal<=3 a) Benar, kerjakan blok pengulangan b) awal=awal+1 menjadi awal=2 c) cetak TES 3. Cek apakah awal<=3 a) Benar, kerjakan blok pengulangan b) awal=awal+1 menjadi awal=3 c) cetak TES 4. Cek apakah awal<=3 a) Benar, kerjakan blok pengulangan b) awal=awal+1 menjadi awal=4 c) cetak TES 5. Cek apakah awal<=3 a) Salah, keluar dari blok pengulangan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 95 3.3.4 Perintah do-while Pada dasarnya perulangan do-while sama saja dengan perulangan while, hanya saja pada proses perulangan dengan while, seleksi while berada di atas sementara pada perulangan do-while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do-while sesedikit-dikitnya akan terjadi satu kali perulangan. Berikut bentuk penulisan perintah perulangan do-while. Gambar 3. 34 Bentuk penulisan perintah do-while Keterangan: 1. do adalah awal dari statemen perulangan do while 2. instruksi adalah statemen yang akan dikerjakan atau yang akan diulang, baik syarat dari perulangan tersebut terpenuhi atau tidak, karena akan dijalankan instruksinya terlebih dahulu setelah mengerjakan instruksi baru dicek syaratnya, apakah syaratnya masih terpenuhi atau tidak. 3. While (syarat) adalah syarat atau batas dari perulangan, dimana perulangan tersebut akan dikerjakan jika syaratnya masih terpenuhi atau bernilai true. Contohnya:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 96 Gambar 3. 35 Contoh program perintah do-while Gambar 3. 36 Hasil contoh program perintah do-while Penjelasan: Proses akan melakukan pengecekan pengulangan di belakang dan akan mengerjakan pernyataan 1 terlebih dahulu kemudian akan melakukan pengecekan. 3.3.5 Pernyataan Break Pernyataan break dapat digunakan untuk memaksa suatu perulangan keluar dari proses perulangan walaupun sebenarnya proses tersebut masih berlangsung.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 97 Gambar 3. 37 Contoh program pernyataan break Gambar 3. 38 Hasil contoh program pernyataan break Penjelasan: Dilakukan proses mendeklarasikan variabel i dan a=3 Cek apakah i<=5, Ya maka cetak Nilai i = 0 If (a==3) cek apakah a=3, ya maka break, artinya program keluar dari proses pengulangan dan mengerjakan perintah diluar pengulangan, mencetak Selesai. Walaupun nilai i baru 0 dan belum sampai 5, proses perulangan tetap dihentikan 3.3.6 Pernyataan Continue Pernyataan continue dapat digunakan untuk mengarahkan proses kembali ke pengulangan kembali.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 98 Gambar 3. 39 Contoh program pernyataan continue Gambar 3. 40 Hasil contoh program pernyataan continue Penjelasan: Program di atas jika dijalankan akan melakukan proses pengulangan terusmenerus. Hal ini disebabkan saat nilai i=0 dilakukan pengecekan apakah 0<=2, maka proses bernilai benar dan akan mengerjakan proses continue. Akibat perintah continue ini berarti proses kembali ke pengulangan dan nilai i tidak pernah bertambah (nilai tetap i=0). 3.4 Studi kasus 1. Buatlah program untuk bilangan tersebut ganjil atau genap
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 99 Algoritma: a) Set variabel x b) Masukkan nilai x c) Jika x/2 menghasilkan 0, maka bilangan genap d) Jika x/2 menghasilkan sisa, maka bilangan ganjil e) Tampilkan hasil Flowchart:
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 100 Gambar 3. 41 flowchart contoh program 1 Penjelasan: Flowchart dimulai dengan simbol terminator untuk memulai program. Kemudian deklarasi variabel x menggunakan simbol preparation. Masukkan nilai x menggunakan simbol input/output. Selanjutnya nyatakan variabel x pada kondisi x%2==0 menggunakan simbol decision. Jika YES maka hasil genap, jika NO maka hasil ganjil. Kemudian gunakan simbol input/output untuk menampilkan hasil penentuan bilangan ganjil atau genap. Terakhir gunakan simbol terminator untuk menandakan program telah selesai. Program dari flowchart diatas adalah sebagai berikut. #include<iostream>