Pada akhir pertemuan ini, diharapkan mahasiswa me-
miliki kemampuan untuk:
Menggunakan struktur kendali pencabangan ber-
syarat dalam bahasa pemrograman.
2
Pencabangan Bersyarat
Pernyataan if dan if-else
Pernyataan nested if-else dan switch-case
Operator kondisional
3
Dalam sebuah algoritma, seringkali beberapa instruksiharus dilaksanakan bila suatu persyaratan dipenuhi(bernilai benar) dan sebaliknya.
Dalam struktur pencabangan bersyarat, suatu instruksiatau sekelompok instruksi dapat dilewati, sementarainstruksi lain dijalankan.
Pernyataan pencabangan bersyarat terdiri dari:
if
if-else
switch-case
4
Penggambaran dalam flow-chart
5
Eks.boolean
Statement;
Statement;
...
true
false
Statements sebelum if
Statements setelah if
Eks.boolean
Statement;
Statement;
...
true
false
Sintaks :
if (ekspresi boolean) statement;
atau
if (ekspresi boolean)
{
statement1;
statement2;
……
}
Jika ekspresi boolean bernilai TRUE, maka statement atau blokstatement akan dilaksanakan.
6
Blok statement
Penggambaran dalam flow-chart
7
Statements sebelum if
Statements setelah if
Eks.boolean
Statement_01;
Statement_02;
...
truefalse
Statement_11;
Statement_12;
...
Eks.boolean
Statement_01;
Statement_02;
...
truefalse
Statement_11;
Statement_12;
...
Sintaks :
if (ekspresi boolean) statement_01;
else statement_11;
atau
if (ekspresi boolean){ statement_01;
……}
else
{ statement_11;…...
}
Jika ekspresi boolean bernilai TRUE, maka statement_01 atau blokstatement_01 yang dilaksanakan, jika bernilai FALSE maka statement_01 ataublok statement_11 yang dilaksanakan.
8
Blok statement_01
Blok statement_11
Buatlah program yang akan membaca
sebuah angka integer. Jika angka di atas
75 tuliskan “Lulus”.
Algoritma :1. deklarasikan variabel bernama nilai
2. baca (nilai)
3. jika nilai > 75
tulis (“Lulus”)
Buatlah program yang akan menerima
input sebuah huruf. Jika huruf adalah ‘Y’
atau ‘y’ tuliskan “Proses diteruskan”
Algoritma :1. deklarasikan variabel char bernama huruf
2. baca (huruf)
3. jika huruf==‘Y’ atau huruf==‘y’
tulis (“Proses diteruskan”)
Contoh Program untuk mendapatkan akar-akar daripersamaan kwardrat.
Algoritma :1. Dapatkan koefisien a, b, dan c dari keyboard
2. Hitung diskriminan d = b*b – 4*a*c
3. Bila d >= 0 maka hitung x1 dan x2
Bila d < 0 maka akar imajiner dan stop
4. Stop
Menghitung x1, dengan rumus :
Menghitung x2, dengan rumus :
13
-b + d
2*a
-b - d
2*a
Buatlah program yang akan menerima input berupa nilai integer. Jika angka merupakankelipatan 5 tuliskan “Kelipatan 5”, jika tidaktuliskan “Bukan kelipatan 5”.
Algoritma :1. deklarasikan variabel bernama angka (int)
2. baca (angka)
3. jika angka%5==0
tulis (“Kelipatan 5”)
else
tulis (“Bukan kelipatan 5”)
Buatlah program yang akan menerima data berupa angka integer. Jika 5<angka<50 tuliskan “Memenuhi”, jika tidak tuliskan“Tidak memenuhi”
Algoritma :1. Deklarasikan variabel bernama nilai (int)
2. baca (nilai)
3. jika nilai>5 dan nilai<50
tulis (“Memenuhi”)
else
tulis (“Tidak memenuhi”)
Konstruksi if-else dapat digunakan secara bertingkat
atau bersarang (nested)
Contoh:
if (ekspresi boolean1) statement1;
else if (ekspresi boolean2) statement2;
else if (ekspresi boolean3) statement3;
.....
.....
else if (ekspresi booleanN) statementN;
16
Formula :• if( ekspresi_boolean1 )
statement1; else if(ekspresi_boolean2)
statement2; else
statement3;
• if(ekspresi_boolean1 ) {statement1;
} else if(ekspresi_boolean2 ) {statement2;
} else {statement3;
}
Buatlah program yang akan menerima
sebuah angka integer. Tuliskan output
sesuai ketentuan :
Angka Output
angka<50 “Kurang”
50<=angka<70 “Cukup”
Angka>=70 “Baik”
Buatlah program yang akan menentukan
vokal/konsonal sebuah huruf. Jika huruf
termasuk huruf vokal tuliskan “Vokal”,
jika bukan tuliskan “Konsonan”
20
Penulisan if-else harus jelas maksudnya....
Contoh penulisan if-else yang kurang jelas meskipun tidak
salah.
#include <stdio.h>#include <iostream.h>int main(){
int suhu;printf("Input suhu ? (F): "); scanf("%d",&suhu);if (suhu<80)
if (suhu>30)printf("Panas\n\n");
else printf("Sejuk\n\n");system("PAUSE");return(0);
}
Pernyataan switch-case dapat dipergunakan sebagaipengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulitdibaca.
Sintaks pernyataan switch-case
switch (ekspresi integer) {case constant1 : statements1; break; case constant2 : statements2; break;
.
.
[ default : statements; ]
}
21
Pernyataan switch mengevaluasi ekspresi dan
kemudian melihat isi case constant. Jika nilai ekspresi
ada didalam constant list maka pernyataan dieksekusi.
Jika tidak ada yang cocok, pernyataan default yang
dieksekusi.
Catatan: nilai ekspresi harus integer dan constant harus
integer constant termasuk char.
22
Formula :• switch( switch_ekspresi ){
case case_pilihan1: statement1;// statement2;//blok 1 break;
case case_pilihan2: statement1;// statement2;//blok 2 break;
:default:
statement1;//statement2;//blok n
}
Struktur logika switch-case dapat digambarkan sbb.:
24
case b
case a
case z
case a action(s)
case b action(s)
case z action(s)
break
break
break
default action(s)
true
true
true
false
false
false
case b
case a
case z
case a action(s)
case b action(s)
case z action(s)
break
break
break
default action(s)
true
true
true
false
false
false
public class Grade {public static void main( String[] args ){
int grade = 92;switch(grade){
case 100:System.out.println( "Excellent!" );break;
case 90:System.out.println(“Bagus!" ); break;
case 80:System.out.println(“Belajar lagi!" );break;
default:System.out.println(“Maaf, Anda gagal.");
}}
}
Buat program untuk menginput nilai IPK mahasiswa
dan berikan penilaian :
3.5 - 4.0 Sangat Memuaskan
3.0 - 3.4 Memuaskan
2.5 – 2.9 Baik Sekali
2.0 – 2.4 Baik
Dibawah 2.0 Kurang
Gunakan perintah if / if-else !
27
28
Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus:
• Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas)
Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus:
• Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas)
Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut:
Nilai Akhir Bobot Nilai Huruf
85 - 100 4 A : Sangat Baik
75 - 84 3 B : Baik
65 - 74 2 C : Cukup
50 - 64 1 D : Kurang
0 - 49 0 E : Gagal
Top Related