Struktur Kontrol Pada C++ Tujuan : mahasiswa dapat menerapkan struktur kendali untuk membuat program dengan C++ Materi : 1. Macam struktur kontrol 2. Struktur if- 3. Struktur switch-case 4. Struktur for 5. Struktur while 6. Struktur do-while 7. Keyword continue dan break Decision Making Constructs Struktur ini digunakan untuk menguji suatu kondisi, kemudian melaksanakan satu urutan perintah. Konstruksi pilihan dalam C++ meliputi : - Perintah if - Perintah if- - Perintah switch Perintah if Syntax (aturan penulisan) if (condition) statement; atau if (condition) <sequence of statement> Contoh : 1. if (menit==60) jam = jam+1; 2. if (sisi>0) luas = panjang * lebar; isi = luas * tinggi; Contoh Soal 1 : Hitung dan tampilkan nilai luas segitiga jika nilai alas tidak sama dengan nilai tinggi. Pembahasan : Input : nilai alas (a), tinggi (t) Struktur Kendali Dalam C++ Page 1
Kondisi : a!=t benar : hitung luas segitiga (ls) = (a*t)/2 Output : ls // Struktur Seleksi if float a,t,ls; cout << "Inputkan nilai alas = "; cin>>a; cout << "Inputkan nilai tinggi = "; cin>>t; if (a!=t) ls=(a*t)/2; cout << "Luas segitiga = "<< ls << endl; Contoh Soal 2 : Tentukan dan tampilkan nilai yang diinputkan apakah termasuk bilangan genap Pembahasan : Input : nilai bilangan (x) Kondisi : x%2==0 benar : bil. Tsb adalah bilangan genap Output : pesan // Struktur Seleksi if Struktur Kendali Dalam C++ Page 2
int x; cout << "Inputkan bilangan = "; cin>>x; if (x%2==0) cout << "Bilangan tsb adalah bilangan genap" << endl; Perintah if- Perintah ini memberikan satu alternatif dari dua kemungkinan, kemudian diikuti dengan urutan perintah sebagai hasil uji boolean. Syntax : if (condition) <sequence #1 of statement> <sequence #2 of statement> Contoh : if (pembagi!=0) hasil = nilai/pembagi; cout << Hasil = << hasil << \n ; hasil = 0; cout << Hasil tidak ada -> pembagi = << pembagi << \n ; Struktur Kendali Dalam C++ Page 3
Contoh Soal 1 : Tentukan dan tampilkan nilai yang diinputkan apakah termasuk bilangan ganjil atau bilangan genap. Pembahasan : Input : nilai bilangan (x) Kondisi : x%2==0 benar (true) : Bilangan tsb adalah bilangan genap Salah (false) : Bilangan tsb adalah bilangan ganjil Output : pesan // Struktur Seleksi if- int x; cout << "Inputkan bilangan = "; cin>>x; if (x%2==0) cout << "Bilangan tsb adalah bilangan genap" << endl; cout << "Bilangan tsb adalah bilangan ganjil" << endl; Hasil program : Contoh Soal 2 : Hitung dan tampilkan luas persegi panjang jika nilai panjang tisak sama dengan nilai lebar, jika tidak hitung dan tampilkan keliling persegi penjang. Pembahasan : Input : nilai panjang (P), nilai lebar (L) Kondisi : P!=L benar (true) : LPP= P*L; Tampilkan nilai LPP Salah (false) : KLL=2*(P+L); Tampilkan nilai KPP Output : LPP atau KPP // Struktur Seleksi if- Struktur Kendali Dalam C++ Page 4
int P,L,LPP,KPP; cout << "Inputkan nilai panjang = "; cin>>p; cout << "Inputkan nilai lebar = "; cin>>l; if (P!=L) LPP=P*L; cout << "Luas Persegi Panjang = " << LPP << endl; KPP=2*(P+L); cout << "Keliling Persegi Panjang = " << KPP << endl; Contoh Soal 3 : Tentukan apakah input yang diberikan termasuk huruf atau bukan Contoh Program : #include <ctype.h> // toupper char c; cout << "masukkan huruf = "; cin>>c; c = toupper(c); if (c>='a' && c <='Z') cout << "Huruf yang dimasukkan " << c << endl; cout << "Input anda adalah huruf\n"; cout << "Input anda bukan huruf\n"; Struktur Kendali Dalam C++ Page 5
Multiple if- C++ memberikan fasilitas nested if- untuk mendukung fleksibilitas dalam program aplikasi. Syntax : if (tested_condition1) statement1 <sequence #1 of statement> if (tested_condition1) statement2 <sequence #2 of statement>... if (tested_conditionn) statementn <sequence #N of statement> Contoh: char op; float x,y,z; int opok=1; cout << Enter operand1 operator operand2 : ; cin >> x >> op >> y; if (op== + ) z = x + y; if (op== - ) z = x - y; if (op== * ) z = x * y; if (op== / && y!=0) z = x / y; opok=0; Contoh Soal 1 : Tentukan apakah karakter yang dimasukkan adalah alphanumerik atau bukan Listing Program: Struktur Kendali Dalam C++ Page 6
char c; cout << "masukkan satu karakter = "; cin>>c; if (c>='a' && c <='Z') cout << "Input anda adalah huruf besar\n"; if (c>='a' && c <='z') cout << "Input anda adalah huruf kecil\n"; if (c>='0' && c <='9') cout << "Input anda adalah satu angka\n"; cout << "Input anda bukan alphanumeric\n"; Switch Perintah memiliki bentuk yang digunakan untuk pilihan berjumlah banyak Syntax : switch (expression) case constant1_1 : [ case constant1_2 :...] <one or more statements> case constant2_1 : [ case constant2_2 :...] <one or more statements>... case constantn_1 : [ case constantn_2 :...] <one or more statements> default: Struktur Kendali Dalam C++ Page 7
<one or more statements> Contoh : opok = 1; switch (op) case + : z=x+y; case - : z=x-y; case * : z=x*y; case / : if (y!=0) z=x/y; opok=0; default : opok=0; char c; cout << "masukkan satu karakter = "; cin>>c; switch (c) case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : case '8' : case '9' : cout << "Input anda adalah angka\n"; default : Struktur Kendali Dalam C++ Page 8
cout << "Input anda bukan angka\n"; Struktur Kendali Dalam C++ Page 9