Skip to content


Percabangan C++

Dasar Teori.

Struktur Kontrol

Suatu program tidak terbatas hanya pada instruksi yang terurut saja, tetapi juga memungkinkan terjadinya percabangan, perulangan, dan pengambilan keputusan. Untuk memenuhi kebutuhan itu C++ menyediakan struktur kontrol yang dapat menangani hal hal tersebut, selanjutnya akan ditemuii istilah block of instructions. Blok instruksi adalah sekumpulan instruksi yang dibatasi dengan tanda semicolon (;) tetapi dikelompokkan dalam satu blok yang dibatasi tanda ( {} )

Percabangan

Percabangan dapat menjadikan program menjadi lebih fleksibel. Percabangan yang dimaksud adalah suatu pemilihan statemen( baris program ) yang akan dieksekusi apabila suatu kondisi yang didefinisikan terpenuhi(bernilai benar), dan tidak dieksekusi apabila tidak terpenuhi(bernilai salah). Dalam C++ terdapat dua jenis struktur yang digunakan untuk implementasi suatu percabangan. Pertama, struktur if dan yang kedua struktur switch.

1. Struktur Kondisional : if and else.

Digunakan untuk mengeksekusi sebuah atau satu blok instruksi jika kondisi terpenuhi. Bentuk umum dari statemen if adalah :

if (kondisi) statement;

Tingkatan if… else, disesuaikan dengan kebutuhan. Kondisi yang harus dipenuhi dapat berbentuk ekspresi dengan operator logika dan operator relasi. Operator logika yang bisa digunakan antara lain:

Simbol
Arti
&&
AND
||
OR
!
NOT
Sedangkan operator relasi antara lain:
Simbol
Arti
==
Sama dengan
>=
Lebih dari sama dengan
>
Lebih dari
<=
Kurang dari sama dengan
<
Kurang dari
!=
Tidak sama dengan
Implementasi struktur if pada program secara ringkas dari yang paling sederhana hingga yang lebih rumit dapat dibagi menjadi empat yakni struktur satu kondisi, dua kondisi, tiga kondisi, dan if bersarang.

a. Struktur Satu Kondisi.

Bentuk umum

1
If (kondisi) statement;
Atau;
1

2

3

4

5

6

7

If (kondisi)

{

statement1;

statement2;

. . . .

statementN;

}

Kondisi merupakan ekspresi yang di evaluasi. Jika kondisi bernilai true, maka statement akan dijalankan. Jika false, maka statement akan diabaikan dan program menjalankan instruksi selanjutnya. Jika ada lebih dari satu instruksi (statement) yang akan dijalankan maka harus dibuat blok instruksi dengan menggunakan kurung kurawal {}.

Contoh pada program

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

//contoh dengan satu kondisi

#include<iostream>

using namespace std;

int main()

{

int bilangan;

char huruf;

cout<< “Masukkan sebuah bilangan bulat: ”;

cin>>bilangan;

if((bilangan>0) && (bilangan < 10) )

cout<<bilangan<<”lebih besar dari nol dan lebih kecil dari sepuluh”;

cout<<”Masukkan sebuah huruf: “;

if((huruf == ‘A’) || (huruf == ‘a’) ||

(huruf == ‘I’) || (huruf == ‘I’) ||

(huruf == ‘U’) || (huruf == ‘u’) ||

(huruf == ‘E’) || (huruf == ‘e’) ||

(huruf == ‘O’) || (huruf == ‘o’) )

{

cout<<”huruf berhasil dikenali \n”;

cout<<”Huruf yang anda masukkan adalah huruf vokal”;

}

return 0;

}

b. Struktur Dua Kondisi

Konsep struktur dua kondisi ini terdapat sebuah statement khusus yang berguna untuk mengatasi kejadian apabila kondisi yang didefinisikan tersebut tidak terpenuhi(bernilai salah). Bentuk umum:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

if(kondisi)

{

statement1;

statement2;

statementN;

}

else

{

statementN;

}

//Atau

if (kondisi)statement1_jika_kondisi_terpenuhi else statement2_jika_kondisi_tidak_terpenuhi

Contoh program
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{
double x, y, z;

cout<<”Masukkan bilangan yang akan dibagi : “;

cin>>x;

cout<<”Masukkan bilangan pembagi : “;

cin>>y;

if(Y==0)

{

cout<<”Kesalahan : Bilangan pembagi tidak boleh nol”;

}

else

{

z=x/y;

cout.precision = 2;

cout<<”Hasil bagi : “<<z;

}

return 0;

}

c. Struktur Tiga Kondisi

Contoh program

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include<iostream>
using namespace std;

int main()

{

double nilai;

char indeks;

cout<<”Masukkan nilai yang diperoleh”;

cin>>nilai;

if(nilai>=85)

{indeks=’A’}

else if (nilai>=70){indeks=’B’}

else if (nilai>=55){indeks=’C’}

else if (nilai>=40){indeks=’D’}

else {indeks=’E’}

cout<<”Nilai indeks dari “<<nilai<<” adalah : “<<indeks<<endl;

return 0;

}

d. Struktur if Bersarang(Nested)

Bentuk umum

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

if(kondisi)

{

statement1;

…;

statementN;

if (kondisi2)

{

statement1;

… ;

statementN;

}

else if(kondisi3) AND (kondisi4)

{

if(kondisi5) {statement;}

else if(kondisi5){statement;}

else {statement}

}

else

{

statementN;

}

}

Contoh program
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#include<iostream>

using namespace std;

int main()

{

int nilai;

cout<<”Masukkan Angka (0-20)”;

cin>>nilai;

if(nilai<=20)

{

If(nilai>10)

{cout<<”Nilai yang dimasukkan adalah lebih dari sepuluh”;}

else{cout<<”Nilai yang dimasukkan kurand dari atau sama dengan sepuluh”;}

else{cout<<”\n Anda memasukkan nilai yang lebih dari 20”;

}

return 0;

}

2. Struktur Kondisional : switch – case.

Selain menggunakan struktur if, C++ juga menawarkan penggunaan keyword switch.

Tipe data untuk ekspresi pada keyword switch haruslah berupa bilangan bulat atau karakter. Selain tipe data tersebut, C++ tidak mengijinkan.

Bentuk umum

Switch(ekspresi)

{
case nilai_konstan1 : Statemen_statemen; break;

case nilai_konstan2 : statemen_statemen; break;

………

case nilai_konstanN : statemen_statemen; break;

default

statemen_statemen_alternatif;

}

Statement default digunakan untuk mengeksekusi program jika seluruh case tidak terpenuhi maka complier akan mengeksekusi statemen alternative yaitu, jika nilai yang dimasukkan ternyata tidak sesuai dengan nilai-nilai konstan yang telah didefinisikan. Nilai konstan didefinisikan dengan statement case. Dalam bahasa C++diizinkan untuk menggukan statemen case sebanyak 16.384 buah dalam sebuah struktur percabangan menggunakan kata kunci switch. Namun, pada prakteknya lebih baik membacasi penggunaan case untuk efisiensi. Statemen break berfungsi sebagai statemen peloncatan.

Soal soal latihan

  1. Buatlah program yang bisa menghitung nilai determinan dari sebuah persamaan kuadrat kemudian tentukan nilai masing masing akarnya. Setelah nilai determinan diketahui, terdapat tiga kemungkinan yang dapat menentukan akar-akar persamaan kuadrat, yaitu:
  1. Jika D>0, maka x1 dan x2 bersifat ril dan berbeda, rumus untuk penentuan nilainya adalah sebagai berikut:
    x1 = (-b + sqrt(D))/2a
x2 = (-b – sqrt(D))/2a
  1. Jika D = 0, maka x1 dan x2 bersfat ril dan sama
  2. Jika D < 0, maka x1 dan x2 bersifat imaginer.
  1. Buatlah program untuk menentukan bilangan terbesar dari tiga buah bilangan yang diinputkan oleh user
Contoh:

inputkan bilangan 1 : 15

inputkan bilangan 2 : 7

inputkan bilangan 3 : 22

bilangan terbesar adalah 22

  1. Buatlah program yang menentukan hari dengan inputan berupa angka dari user.
Contoh:

Input bilangan 1 : senin

Input bilangan 2 : selasa

Dst…

Posted in Computer and Electronics, Depan.

Tagged with , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.