Bu Naim Dasprog - Pertemuan 3 Kondisional 2

20
KONDISIONAL KONDISIONAL

description

Materi Dasar Pemrograman C++

Transcript of Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Page 1: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

KONDISIONALKONDISIONAL

Page 2: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Kondisi ifKondisi if

Kondisi if memeriksa apakah suatu kondisi dinyatakan Kondisi if memeriksa apakah suatu kondisi dinyatakan benar (benar (truetrue).).

Kondisi merupakan suatu operasi logika. Kondisi merupakan suatu operasi logika.

Jika kondisi bernilai Jika kondisi bernilai truetrue maka program akan melakukan maka program akan melakukan suatu pernyataan yang telah ditentukan untuk kondisi suatu pernyataan yang telah ditentukan untuk kondisi tersebut.tersebut.

Proses A

Benar

Page 3: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

STRUKTUR KONDISI IFSTRUKTUR KONDISI IF Bentuk umum dari kodisi if adalah:Bentuk umum dari kodisi if adalah:

iif (kondisi) pernyataanf (kondisi) pernyataan

Contoh:Contoh:

1. if(harga>100000)1. if(harga>100000)discount = harga * 0.1;discount = harga * 0.1;

2. 2. iif((x>0) && (x<20))f((x>0) && (x<20)){{

y = x * 10;y = x * 10; z = y + 25;z = y + 25;

}}

Page 4: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 1Contoh 1void main()void main(){{

int Num1, Num2;int Num1, Num2;

printf(“masukkan nilai 1:”);printf(“masukkan nilai 1:”);scanf(“%d”, &Num1);scanf(“%d”, &Num1);printf(“masukkan nilai 2:”);printf(“masukkan nilai 2:”);scanf(“%d”, &Num2);scanf(“%d”, &Num2);

if(Num1>Num2)if(Num1>Num2) printf(“\n%d+%d = %d\n\n”, Num1, Num2, printf(“\n%d+%d = %d\n\n”, Num1, Num2, Num1+Num2);Num1+Num2);

}}

Page 5: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 2Contoh 2void main()void main(){{

int Num1, Num2;int Num1, Num2;

printf(“masukkan nilai 1:”);printf(“masukkan nilai 1:”);scanf(“%d”, &Num1);scanf(“%d”, &Num1);printf(“masukkan nilai 2:”);printf(“masukkan nilai 2:”);scanf(“%d”, &Num2);scanf(“%d”, &Num2);

if(Num1if(Num1<<Num2)Num2)printf(“%d lebih kecil dari %d\n\n”, Num1, Num2);printf(“%d lebih kecil dari %d\n\n”, Num1, Num2);

if(Num1==Num2)if(Num1==Num2)printf(“%d sama dengan %d\n\n”, Num1, Num2);printf(“%d sama dengan %d\n\n”, Num1, Num2);

if(Num1>Num2)if(Num1>Num2)printf(“%d lebih besar dari %d\n\n”, Num1, Num2);printf(“%d lebih besar dari %d\n\n”, Num1, Num2);

}}

Page 6: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 3Contoh 3void main()void main(){{ char c;char c;

printf(“ketikkan sebuah huruf:”);printf(“ketikkan sebuah huruf:”);scanf(“%c”, &c);scanf(“%c”, &c);

if(c==’a’||c=if(c==’a’||c===’e’||c==’i’ ||c=’e’||c==’i’ ||c===’o’||c==’u’)’o’||c==’u’)printf(“anda mengetik huruf vokal”);printf(“anda mengetik huruf vokal”);

}}

Page 7: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

LatihanLatihan

Tulislah sebuah program yang Tulislah sebuah program yang membandingkan dua bilangan integer membandingkan dua bilangan integer yang dimasukan oleh pemakai dan yang dimasukan oleh pemakai dan mengeluarkan pesan bilangan mana yang mengeluarkan pesan bilangan mana yang lebih kecil.lebih kecil.

Tulislah sebuah program untuk membagi Tulislah sebuah program untuk membagi dua bilangan integer yang dimasukkan dua bilangan integer yang dimasukkan oleh pemakai. Tampilkan pesan tidak oleh pemakai. Tampilkan pesan tidak dapat dibagi nol jika bilangan yang kedua dapat dibagi nol jika bilangan yang kedua sama dengan nol.sama dengan nol.

Page 8: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Kondisi if - elseKondisi if - else

Bentuk umum:Bentuk umum: if(kondisi) pernyataan1 else pernyataan 2if(kondisi) pernyataan1 else pernyataan 2

Jika kondisi bernilai Jika kondisi bernilai truetrue, sistem mengeksekusi , sistem mengeksekusi pernyataan 1. Jika kondisi bernilai pernyataan 1. Jika kondisi bernilai falsefalse sistem sistem akan mengeksekusi pernyataan 2akan mengeksekusi pernyataan 2

Proses B Proses A

BenarSalah

Page 9: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

ContohContoh

void main()void main(){{

char c;char c;

printf(“ketikkan sebuah huruf:”);printf(“ketikkan sebuah huruf:”);scanf(“%c”,&c);scanf(“%c”,&c);

if(c==’a’||c=’if(c==’a’||c=’==e’||c==’i’ ||c=e’||c==’i’ ||c===’o’||c==’u’)’o’||c==’u’)printf(“anda mengetik huruf vokal\n\n”);printf(“anda mengetik huruf vokal\n\n”);

elseelseprintf(“bukan huruf vokal\n\n”);printf(“bukan huruf vokal\n\n”);

} }

Page 10: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Kondisi if else bertingkatKondisi if else bertingkat

if(tes1)if(tes1){ if(tes2){ if(tes2)

{ if (tes3){ if (tes3){…}{…}

}}elseelse {…………………}{…………………}

}}elseelse

{………………}{………………}

Proses A

Benar Salah

Page 11: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

ContohContohvoid main()void main(){{

int Ultah = 13;int Ultah = 13;int tebak;int tebak;

printf(“tebak tanggal lahir dari 1 sampai 31\n”);printf(“tebak tanggal lahir dari 1 sampai 31\n”);printf(“masukkan tebakan anda : “);printf(“masukkan tebakan anda : “);scanf(“%d”,&tebak);scanf(“%d”,&tebak);if (tebak<0)if (tebak<0)

printf(“tanggal tidak negatif”);printf(“tanggal tidak negatif”);else if(tebak>31)else if(tebak>31)

printf(“tidak ada tanggal diatas 31\n”);printf(“tidak ada tanggal diatas 31\n”);else else { if(tebak==ultah){ if(tebak==ultah)

printf(“anda benar”);printf(“anda benar”); else if(tebak<ultah)else if(tebak<ultah)

printf(“tebakan terlalu rendah”);printf(“tebakan terlalu rendah”); else else

printf(“tebakan terlalu tinggi”);printf(“tebakan terlalu tinggi”);}}

}}

Page 12: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

LatihanLatihan

Buat Program untuk mencari nilai terbesar Buat Program untuk mencari nilai terbesar dari 3 bilangan yang dimasukkan.dari 3 bilangan yang dimasukkan.

Tulislah sebuah program untuk membagi Tulislah sebuah program untuk membagi dua bilangan integer yang dimasukkan dua bilangan integer yang dimasukkan oleh pemakai. Tampilkan pesan tidak oleh pemakai. Tampilkan pesan tidak dapat dibagi nol jika bilangan yang kedua dapat dibagi nol jika bilangan yang kedua sama dengan nol. Tampilkan hasil sama dengan nol. Tampilkan hasil pembagian jika bilangan kedua tidak sama pembagian jika bilangan kedua tidak sama nol.nol.

Page 13: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

SwitchSwitch

multiway

expression

value1

action 1

value2

action 2

value3

action 3

value4

action 4

Page 14: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

STRUKTUR KONDISI SWITCHSTRUKTUR KONDISI SWITCH

switch(ekspresi){

case……..: pernyataan; break;

case……..: pernyataan; break;

case……..: pernyataan; break;

.

.default: pernyataan; //pilihan

}

Page 15: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Aturan SwitchAturan Switch

Label pada Label pada casecase harus berupa konstanta. harus berupa konstanta. Konstanta pada label case berupa integer Konstanta pada label case berupa integer

atau karakter.atau karakter. Tidak boleh terdapat 2 Tidak boleh terdapat 2 casecase yang yang

mempunyai nilai label sama. mempunyai nilai label sama. Dua label Dua label casecase dapat melakukan perintah dapat melakukan perintah

yang sama. yang sama. defaultdefault tidak harus ada. tidak harus ada. defaultdefault hanya satu dan diletakkan pada hanya satu dan diletakkan pada

akhir pilihan. akhir pilihan.

Page 16: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

action

action

action

action

case 1

case 2

case 3

default

Page 17: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 1Contoh 1void main()void main(){{

int angka;int angka;printf(“tulis angka antara 1 sampai 5:”);printf(“tulis angka antara 1 sampai 5:”);scanf(“%d”, &angka);scanf(“%d”, &angka);switch(angka)switch(angka){ { case 1: printf(“anda menuliskan angka %d”, angka);case 1: printf(“anda menuliskan angka %d”, angka); break;break; case 2: printf(“anda menuliskan angka %d”, angka);case 2: printf(“anda menuliskan angka %d”, angka); break;break;

case 3: printf(“anda menuliskan angka %d”, angka);case 3: printf(“anda menuliskan angka %d”, angka); break;break;

case 4: printf(“anda menuliskan angka %d”, angka);case 4: printf(“anda menuliskan angka %d”, angka); break; break;

case 5: printf(“anda menuliskan angka %d”, angka);case 5: printf(“anda menuliskan angka %d”, angka); break;break;

default:default:printf(“%d tidak antara 1 sampai 5”,angka);printf(“%d tidak antara 1 sampai 5”,angka);

}}}}

Page 18: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 2Contoh 2

char char1;char char1;char1 = char1 = ggetetcche();he();switch (char1)switch (char1){ case 'a': { case 'a':

case 'A': ProcessChoiceA(); case 'A': ProcessChoiceA(); break; break;

case 'b': case 'b': case 'B': ProcessChoiceB(); case 'B': ProcessChoiceB();

break; break; case 'q': case 'q': case 'Q': ProcessChoiceQ(); case 'Q': ProcessChoiceQ();

break; break; default: cout << "Not a valid choice\n"; default: cout << "Not a valid choice\n";

}}

Page 19: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

Contoh 3Contoh 3

switchswitch((intint(score)/10){(score)/10){case case 10:10:case case 9:9: cout << "Grade = A" << endl;cout << "Grade = A" << endl;case case 8:8: cout << "Grade = B" << endl;cout << "Grade = B" << endl;case case 7:7: cout << "Grade = C" << endl;cout << "Grade = C" << endl;case case 6:6: cout << "Grade = D" << endl;cout << "Grade = D" << endl;default:default:cout << "Grade = F" << endl;cout << "Grade = F" << endl;

}}

Page 20: Bu Naim Dasprog - Pertemuan 3 Kondisional 2

switch dan if-elseswitch dan if-else

switchswitch

switchswitch((intint(score)/10){(score)/10){case case 10:10:case case 9:9: cout<<"Grade = A";cout<<"Grade = A";

breakbreak;;case case 8:8: cout<<"Grade = B";cout<<"Grade = B";

breakbreak;;case case 7:7: cout<<"Grade = C";cout<<"Grade = C";

breakbreak;;case case 6:6: cout<<"Grade = D";cout<<"Grade = D";

breakbreak;;default:default:cout<<"Grade = F";cout<<"Grade = F";}}

if-elseif-else

ifif (score >= 90) (score >= 90) cout << "Grade = A";cout << "Grade = A";else ifelse if (score >= 80) (score >= 80) cout << "Grade = B";cout << "Grade = B";else ifelse if (score >= 70) (score >= 70) cout << "Grade = C";cout << "Grade = C";else ifelse if (score >= 60) (score >= 60) cout << "Grade = D";cout << "Grade = D";elseelse // score < 59// score < 59 cout << "Grade = F";cout << "Grade = F";