Anda di halaman 1dari 32

Struktur

Percabangan

PRODI. TEKNIK INFORMATIKA (S-1)


Team Teaching

Ali Akbar Lubis, S.Kom., M.TI.,


Sunaryo Winardi, S.Kom., M.TI.,
Wulan Sri Lestari, S.Kom.
Pembahasan
• If…. Else
• Switch Case
• Ekspresi AND, OR, NOT
• Percabangan Bersarang
• Contoh Permasalahan Percabangan
Control Statement
• Digunakan untuk menentukan alur eksekusi
program.
• Alasan:
• Making decisions and Making comparisons
• Repeat same processes for several times.
• Statement percabangan digunakan untuk memilih
salah satu di antara dua atau lebih aksi untuk
dijalankan.
• Statement perulangan digunakan untuk mengulang
suatu aksi selama kondisi terpenuhi.
Struktur Percabangan
• Struktur percabangan disebut pilihan atau pernyataan
bersyarat karena ada pemilih pelaksanaan pernyataan
tertentu setelah memeriksa beberapa kondisi. Jika kondisi
benar, tindakan tertentu akan dilakukan dan jika kondisi
salah, beberapa tindakan lainnya yang akan dilakukan.
Statement if
• Statement if:
• Digunakan untuk seleksi suatu kondisi
• Contoh pseudocode:
If student’s grade is greater than or equal to 60
Print “Passed”
• Contoh Flowchart:

true
grade >= 60 print “Passed”

false
Cont…

• Jika kondisi true


• Statement Print dieksekusi dan program dilanjutkan ke
statement berikutnya

• Jika kondisi false


• Statement Print diabaikan dan program dilanjutkan ke
statement berikutnya
Sintaks If
if(kondisi){ Dalam bahasa C:
statements; if ( grade >= 60 )
printf( "Passed\n" );
}
Statement if - else
• Statement if…else:
• Menspesifikasikan aksi baik untuk kondisi true maupun
untuk kondisi false.

• Contoh pseudocode:
If student’s grade is greater than or equal to 60
Print “Passed”
else
Print “Failed”
Contoh Flowchart:

false true
grade >= 60

print print
“Failed” “Passed”
Sintaks If - else
Dalam C :
if(kondisi){ if ( grade >= 60 )
printf( "Passed\n");
statements; else
printf( "Failed\n");
}
else{
statements;
}
Penulisan if harus jelas maksudnya …

Penulisan if yg kurang
jelas
If – else bertingkat / bersarang
• Statement if…else bertingkat/bersarang:
• Digunakan untuk menguji banyak kondisi dimana menempatkan statement
seleksi if…else di dalam statement if…else
• Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan
• Contoh pseudocode:
If student’s grade is greater than or equal to 90
Print “A”
else
If student’s grade is greater than or equal to 80
Print “B”
else
If student’s grade is greater than or equal to 70
Print “C”
else
If student’s grade is greater than or equal to 60
Print “D”
else
Print “F”
Sintaks If-else bertingkat
if(kondisi1){ Dalam C :
statements; if(grade>90)
} else printf(“A”);
else If(grade>80)
if(kondisi2){
printf(“B”);
statements; else If(grade>70)
} … printf(“C”);
else { else If(grade>60)
statements; printf(“D”);
} else
printf(“E”);
Compound statement
Jika ada lebih dari satu statement /aksi yang harus dieksekusi
setelah suatu kondisi dipenuhi harus ditandai dengan pasangan
{ dan }
Contoh:

if ( grade >= 60 )
printf( "Passed.\n" );
else {
printf( "Failed.\n" );
printf( "You must take this course
again.\n" );
}

Maka statement :
printf("You must take this course again.\n");
Akan dieksekusi secara otomatis.
Contoh If else Bersarang(1)
if (cond1){
if (cond2){
S1
}
}
else{
S2
}
False True
Cond1

True
Cond2
S2 False S1
Contoh If else Bersarang(2)
if (cond1){
if (cond2){
S1
}
else{
S2
}
} False True
else{ Cond1
S3
}
False True
Cond2

S3 S2 S1
Contoh If else Bersarang(3)
if (cond1){
S1
if(cond2){
S2
}
S3
}
else{
if(cond3){
S4
}
else{
S5
}
}
Contoh If else Bersarang(3)

False True
Cond1

False True S1
Cond3

S5 S4
True
Cond2

False S2

S3
Contoh If else Bersarang(4)
if (cond1){
S1
if (cond2){
S2
}
else{
S3
}
}
else{
if(cond3){
S4
}
else{
S5
}
S6
}
Contoh If else Bersarang(4)

False
Cond1 True

False True S1
Cond3

S5 S4 True
False Cond2

S3 S2

S6
Contoh If else Bersarang(5)
if(cond1){
S1
}
else{
if(cond2){
S2
}
else{
if(cond3){
S3
}
else{
if(cond4){
S4
}
else{
S5
}
}
}

}
Contoh If else Bersarang(5)
False True
Cond1

False True S1
Cond2

False
Cond3 True S2

True
False S3
Cond4

S5 S4
endif

endif

endif

endif
Statement Switch
• Statement switch:
• Berguna pada waktu sebuah variabel atau ekspresi diuji
terhadap semua nilai yang mungkin dan masing-masing
mengambil aksi yang berbeda
• Format penulisan:
• Sederetan label case dan opsional default case
switch ( value ){
case '1':
actions
case '2':
actions
default:
actions
}
• Flowchart statement switch:

true
case a case a action(s) break
false

true
case b case b action(s) break
false

.
.
.

true
case z case z action(s) break
false

default action(s)
Contoh program dengan switch
#include <stdio.h>
#include <conio.h>

void main(){
int kode;
clrscr();
printf("Menentukan Hari\n");
printf("1 = Senin; 2 = Selasa; 3 = Rabu; 4 =
Kamis\n");
printf("5 = Jumat; 6 = Sabtu; 7 = Minggu\n");
printf("\nKode Hari (1..7) = "); scanf("%d",
&kode);
switch(kode){
case 1: printf("\nNama Hari : Senin\n");
break;
Cont…
case 2: printf("\nNama Hari : Selasa\n");
break;
case 3: printf("\nNama Hari : Rabu\n");
break;
case 4: printf("\nNama Hari : Kamis\n");
break;
case 5: printf("\nNama Hari : Jum\'at\n");
break;
case 6: printf("\nNama Hari : Sabtu\n");
break;
case 7: printf("\nNama Hari : Minggu\n");
break;
default: printf("\nKode Hari Tidak Terdaftar \n");
}
getch();
}
Break Statement
Dalam C, pernyataan Break memiliki dua kegunaan.
• Untuk mengakhiri pernyataan dalam pernyataan switch.
• Dapat digunakan untuk keluar dari perulangan.
Nested switch
• Kita dapat juga membuat statement switch di dalam switch yang lain
switch(count) {
case 1:
switch(target) { // nested switch
case 0:
printf("target is zero");
break;
case 1: // no conflicts with outer switch
printf("target is one");
break;
} // switch(target)
break;
case 2: // ...
Label & Goto Statement
• Bahasa C masih menyediakan statement goto ke suatu label.
• Sintak:
goto label;
……
label :
……
• Penulisan label diakhiri dengan titik dua
• Hindari menggunakan goto karena bisa menyebabkan program menjadi tidak terstruktur
Contoh Label & Goto
Statement
#include <stdio.h>
#include<conio.h>
int main () {
printf("pernyataan pertama\n");
goto akhir;
printf("pernyataan kedua");
akhir: printf("pernyataan ketiga");
printf("\n");
getch();
return 0;
}

Anda mungkin juga menyukai