Control Structure
Control Structure Suatu program tidak hanya linear/berurut, tetapi dapat bercabang, mengulang kode, atau mengambil keputusan Terdapat beberapa stuktur kontrol yang dikenali C++ : if, select, while, do while, for
Let s make a decision!
if 1 statemen Syntax. if(kondisi) statemen; Ex. if(a==1) cout<< nilai a adalah 1 ;
if > 1 statemen menggunakan { Syntax. if(kondisi) { statemen1; statemen2;. Ex. if(a==1) { a++; cout<< nilai a= <<a;
if 2 kemungkinan Syntax. if(kondisi) {.. else {. Ex. if(a>0) cout<< positif ; else { cout<< tidak positif ;
if Struktur 3 kondisi Syntax. if(kondisi) {.. else if (kondisi){.. else {
if Mencoba menghitung akar pers. Kuadrat 1. Input a,b,c 2. Hitung Determinan 3. Jika D positif hitung x1, x2 Jika D=0 hitung x1=x2 Jika D negatif x1,x2 imaginer 4. Tampilkan di layar
if Menghitung akar2 pers. Kuadrat x, x 1 2 b 2 b 2a 4ac #include<iostream> //memasukkan cmath utk mmanggil sqrt() #include<cmath> using namespace std; int main(){ int a,b,c; float D,x1,x2; int flag; //Meminta user untuk menentukan koefisien persamaan kuadrat cout<<"masukkan nilai a: "; cin>>a; cout<<"masukkan nilai b: "; cin>>b; cout<<"masukkan nilai c: "; cin>>c; cout<<endl; START Input data a,b,c Source : Mengungkap Rahasia Pemrograman C++, Budi Raharjo
if //Determinan D=(b*b)-(4*a*c); //akar2 pers kuadrat if ( D > 0 ) { x1=((-b) + sqrt(d)) / (2*a); x2=((-b) - sqrt(d)) / (2*a); flag=1; else if ( D == 0 ) { x1=((-b)+sqrt(d)) /(2*a); x2=x1; flag=1; else { flag=0; x1, x2 Hitung Determinan 2 D b 4ac D positif D? D=0 b D 2a x 1 x 2 b D 2a D negatif Imaginer, flag0 Source : Mengungkap Rahasia Pemrograman C++, Budi Raharjo
if //Menampilkan akar2 pers kuadrat if(flag==1){ cout<<"x1 = "<<x1<<endl; cout<<"x2 = "<<x2<<endl; else { cout<<"x1 dan x2 imaginer"; system("pause"); return 0; ya Tampilkan x1,x2, di layar Imagine r? END tidak Tampilkan x1x2 imaginer Source : Mengungkap Rahasia Pemrograman C++, Budi Raharjo
if If bersarang Ex. Perhitungan nilai kuliah int ujian; bool tugas; cout<<"masukkan nilai ujian => "; cin>>ujian; cout<<"tugasnya masuk? (1=>masuk/0=>tidak ) =>"; cin>>tugas; cout<<"nilainya : "; if (ujian >= 80) { cout<<"a \n"; else { if (tugas) { cout<<"b \n"; else { cout<<"c \n";
if #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main(int nnumberofargs, char* pszargs[]) { // input the first argument... int arg1; cout << "Enter arg1: "; cin >> arg1; //...and the second Source : C++ 4 Dummies 5 th Edition
if int arg2; cout << "Enter arg2: "; cin >> arg2; // now decide what to do: if (arg1 > arg2) { cout << "Argument 1 is greater than argument 2 << endl; else { cout << "Argument 1 is not greater than argument 2"<< endl; Source : C++ 4 Dummies 5 th Edition
if // wait until user is ready before terminating program // to allow the user to see the program results system("pause"); return 0; Source : C++ 4 Dummies 5 th Edition
switch Apakah ada alternatif lain? Dapat menggunakan switch Switch (variabel){ case nilaivar1 : statemen2 break; case nilaivar2 : statemen2 break; case nilaivar3 : statemen2 break;.. default : statemen2
switch Ex. int m=1; switch (m) { case 1 : cout<<"kaya terus masuk surga"; break; case 2 : cout<<"miskin tapi masuk surga"; break; case 3 : cout<<"kaya tapi masuk neraka"; break; default : cout<<"miskin, di akhirat menderita "; break; Tetapi switch memiliki kelemahan : switch hanya memeriksa nilai konstan
Pengulangan Anda bayangkan jika kode harus diulang-ulang, sangat tidak efisien. cout<<"ini urutan ke 1"<<endl; cout<<"ini urutan ke 2"<<endl; cout<<"ini urutan ke 3"<<endl; cout<<"ini urutan ke 4"<<endl; cout<<"ini urutan ke 5"<<endl; cout<<"ini urutan ke 6"<<endl;..
for Struktur for untuk melakukan pengulangan sebanyak yang diperlukan for (inisialisasi; kondisi; increment/decrement) statemen; for (inisialisasi; kondisi; increment/decrement) {.. Ex. for (int i=1;i<5;i++) cout<<"ini urutan ke"<<i<<endl;
while While berguna utk melakukan pengulangan secara terus-menerus sampai kondisi tidak terpenuhi while (kondisi) statemen while (kondisi) { statemen1;statemen2;..
while // WhileDemo - input a loop count. Loop while // outputting astring arg number of times. #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; int main(int nnumberofargs, char* pszargs[]) { // input the loop count int loopcount; cout << "Enter loopcount: "; cin >> loopcount; // now loop that many times Source : C++ 4 Dummies 5 th Edition
while while (loopcount > 0) { loopcount = loopcount - 1; cout << "Only " << loopcount << " loops to go\n"; // wait until user is ready before terminating program // to allow the user to see the program results system("pause"); return 0; Source : C++ 4 Dummies 5 th Edition
while Mengulang sebanyak x kali while (x-->0) { cout<< Hitung mundur <<x<<endl; while (x>0) { cout<< Hitung mundur <<x<<endl; x--; Keluaran while di atas beda loh, kenapa coba..
while while juga dapat dibuat sprt for inisialisasi while (kondisi){ increment
do while Mirip dengan while Minimal terjadi 1 kali pengulangan (looping) do statemen while (kondisi) do{. while (kondisi)
do while #include <iostream.h> int main () { unsigned long n; do { cout << "Enter number (0 to end): "; cin >> n; cout << "You entered: " << n << "\n"; while (n!= 0); return 0; Source : www.cplusplus.com
Terserah Anda mau milih yang mana apakah while, do while, atau for
peloncatan/jump Pada struktur pengulangan/loop, kadang2 kita ingin pengulangan berhenti di tengah atau ingin meloncat/memaksa program untuk berpidah ke kode lainnya. Maka dapat digunakan beberapa metode, diantaranya break, continue, goto, dan exit()
break Berhenti saat proses pengulangan dan meloncat ke bag. bawah pengulangan Ex. int x=0; while (x<10) { cout<<"hitungan ke-"<<x<<endl; if (x==4) {cout<<"stop \n"; break; x++; cout<<"next code \n";
continue Continue berguna untuk melakukan skip kode yang ada di bwhnya (masih dalam struktur pengulangan) kemudian loncat ke bagian awal pengulangan Ex. int x=0; while (x<10) { x++; if (x==4) {cout<<"skip this step \n"; continue; cout<<"hitungan ke-"<<x<<endl; cout<<"next code \n";
goto Statemen goto melakukan peloncatan struktur kode ke bagian manapun Ex.... goto Bandung; cout<<"surabaya ada di Jatim \n"; Bandung: cout<<"bandung ibukota Jabar \n";
exit() Berfungsi untuk keluar dari program Ex. char n; while(true){ cout<<"anda ingin keluar program? (Y/not Y) => "; cin>>n; if ((n=='y') (n=='y')) exit(0); 0 berarti keluar secara normal, selain itu berarti terjadi error
Ex. Contoh : Membuat Kalender #include<iostream> using namespace std; int main(){ cout<<"sen \tsel \trab \tkam \tjum \tsab \tminggu"<<endl; int tgl=1,seminggu=7; while ( tgl < 31 ) { for (int i=0 ; i<7 ; i++) { cout<<tgl<<"\t"; tgl++; if(tgl>31){break; cout<<endl; seminggu=7; system("pause"); return 0;