DasarDasar Pemrograman Struktur Percabangan IFELSE dan CASEOF Struktur
Dasar-Dasar Pemrograman Struktur Percabangan IF-ELSE dan CASE-OF
Struktur Kontrol l Merupakan kondisi/percabangan yang mempunyai 2 cabang, yaitu ya dan tidak. l Perintah yang digunakan: ¡IF, IF-ELSEIF-ELSE ¡CASE-OF
IF l Statement IF memiliki beberapa variasi: ¡IF tunggal sederhana ¡IF blok statement ¡IF-ELSE IF-…-ELSE ¡IF bersarang (nested IF) ¡IF dengan kondisi suatu variabel ¡IF dengan kondisi jamak.
IF Tunggal Sederhana l Bentuk: if (kondisi) then statement; l Kondisi merupakan ekspresi boolean yang akan dievaluasi ke true (tidak sama dengan 0) atau false (sama dengan 0). l Jika kondisi benar (bernilai logika 1), maka statement akan diproses, jika kondisi salah (atau bernilai logika 0), maka statement tidak akan diproses.
IF Tunggal Sederhana Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>60) then writeln(‘Anda lulus’); readln; end. Hasil: Masukkan nilai Anda : 70 Anda lulus
IF Tunggal Blok Statement l Bentuk: if (kondisi) then begin statement 1; statement 2; …… end; l Pada bentuk ini, bila kondisi benar, maka blok statement (berada dalam begin-end) akan diproses.
IF Tunggal Blok Statement Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>60) then begin writeln(‘Nilai Anda = ’, x); writeln(‘Anda lulus’); end; Hasil: readln; Masukkan nilai Anda : 70 end. Nilai Anda = 70 Anda lulus
IF-ELSE l Bentuk: if (kondisi) statement 1; else statement 2; l Pada bentuk ini, bila kondisi benar, maka statement yang akan diproses adalah statement 1 dan bila kondisi salah, maka statement yang akan diproses adalah statement 2
IF-ELSE Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>60) then writeln(‘Anda lulus’) else writeln(‘Anda gagal’); readln; end. Hasil: Masukkan nilai Anda : 70 Anda lulus
IF-ELSE Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>60) then begin writeln(‘Nilai Anda = ’, x); writeln(‘Anda lulus’); end; else begin writeln(‘Nilai Anda = ’, x); writeln(‘Anda gagal’); end; Hasil: readln; Masukkan nilai Anda : 70 end. Nilai Anda = 70 Anda lulus
IF-ELSE l Statement if-else juga dapat ditulis dengan dua buah statement tunggal dengan hasil yang sama.
IF-ELSE Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>60) then begin writeln(‘Nilai Anda = ’, x); writeln(‘Anda lulus’); end; if (x<=60) then begin writeln(‘Nilai Anda = ’, x); writeln(‘Anda gagal’); end; Hasil: readln; Masukkan nilai Anda : 70 end. Nilai Anda = 70 Anda lulus
IF-ELSE IF-…-ELSE l Bentuk: if(kondisi 1) then statement 1; else if(kondisi 2) then statement 2; else if(kondisi 3) then statement 3; else if(kondisi 4) then statement 4; … else statementlain;
IF-ELSE IF-…-ELSE l Pemilihan kondisi dimulai dari kondisi 1. l Jika kondisi 1 benar maka statement 1 diproses dan pemilihan kondisi akan berhenti. Jika kondisi 1 salah, maka proses pemilihan akan dilanjutkan ke kondisi 2. l Jika kondisi 2 benar maka statement 2 diproses dan pemilihan kondisi akan berhenti. Jika kondisi 2 tidak memenuhi, maka proses pemilihan akan dilanjutkan ke kondisi 3, dan seterusnya. l Jika tidak ada kondisi yang benar, maka statement yang diproses adalah statement yang mengikuti else. Penggunaan else bersifat opsional.
IF-ELSE IF-…-ELSE Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : ‘); readln(x); if (x>80) then writeln(‘Anda lulus dengan nilai A’) else if (x>60) then writeln(‘Anda lulus dengan nilai B’) else if (x>40) then writeln(‘Anda lulus dengan nilai C’) else if (x>20) then writeln(‘Anda lulus dengan nilai D’) else writeln(‘Anda gagal’); readln; end. Hasil: Masukkan nilai Anda : 70 Anda lulus dengan nilai B
IF-ELSE IF-…-ELSE Ex. uses crt; var x: integer; begin clrscr; write(‘Masukkan nilai Anda : if (x>80) then writeln(‘Anda if (x>60) then writeln(‘Anda if (x>40) then writeln(‘Anda if (x>20) then writeln(‘Anda else writeln(‘Anda gagal’); readln; end. ‘); readln(x); lulus dengan nilai A’); B’); C’); D’); Hasil: Masukkan nilai Anda : 70 Anda lulus dengan nilai B Anda lulus dengan nilai C Anda lulus dengan nilai D
IF Bersarang (Nested-IF) l IF bersarang merupakan IF yang berada dalam IF lainnya. l Bentuk: if(kondisi 1) then if(kondisi 2) then … if(kondisin) then statement; else statement; … else statement;
IF Bersarang (Nested-IF) l Kondisi yang diseleksi pertama kali adalah kondisi terluar (kondisi 1). Jjika tidak memenuhi maka statement setelah else terluar yang akan dieksekusi. Jika tidak terdapat else maka proses seleksi dihentikan. Jika kondisi 1 benar, maka kondisi berikutnya (kondisi 2) akan diseleksi. l Jika kondisi 2 tidak benar, maka statement setelah else (dari if kondisi 2) yang akan diproses. Jika untuk kondisi 2 tidak ada, maka proses seleksi dihentikan. l Dengan cara yang sama, proses seleksi akan dilakukan sampai kondisin bila kondisi-kondisi sebelumnya benar.
IF Bersarang (Nested-IF) Ex. uses crt; var x, y: integer; begin clrscr; write('Masukkan nilai teori : '); readln(x); write('Masukkan nilai praktek : '); readln(y); if ((x+y)/2>60) then if (x>60) then if (y>60) then writeln('Anda lulus') else writeln('Anda mengulang praktek') else writeln('Anda mengulang teori') else writeln('Anda gagal'); readln; end.
IF dengan Kondisi berupa Variabel l Kondisi yang diseleksi dapat bernilai benar (tidak sama dengan 0) atau salah (sama dengan 0).
IF dengan Kondisi berupa Variabel Ex. uses crt; var x: boolean; begin clrscr; if (x) then writeln('Halo') else writeln('hai'); readln; end. Hasil: Hai
IF dengan Kondisi Jamak l Beberapa kondisi dapat diperiksa sekaligus dalam sebuah statement IF menggunakan operator logika, yaitu and, or, not.
IF dengan Kondisi Jamak Ex. uses crt; var x: integer; begin write(‘Masukkan nilai Anda : ‘); readln(x); if (x<=100) and (x>80) then writeln(‘Anda lulus dengan nilai A’); if (x<=80) and (x>60) then writeln(‘Anda lulus dengan nilai B’); if (x<=60) and (x>40) then writeln(‘Anda lulus dengan nilai C’); if (x<=40) and (x>20) then writeln(‘Anda lulus dengan nilai D’); if (x<=20) and (x>=0) then writeln(‘Anda gagal’); readln; end.
IF dengan Kondisi Jamak Ex. uses crt; var x, y: integer; begin write(‘Masukkan nilai teori : ‘); readln(x); write(‘Masukkan nilai praktek : ‘); readln(y); if (x>60) or (y>60) then writeln(‘Anda lulus’); if (x>60) and (y<60) then writeln(‘Anda mengulang praktek’); if (x<60) and (y>60) then writeln(‘Anda mengulang teori’); if (x<60) and (y<60) then writeln(‘Anda gagal’); readln; end.
CASE-OF l CASE-OF dapat berbentuk CASE-OF tunggal atau CASE-OF bersarang (nested CASE-OF)
CASE-OF Tunggal l Bentuk: case(kondisi) of konstanta 1 : statement 1; konstanta 2 : statement 2; … konstantan : statementn; end;
CASE-OF Tunggal Ex. uses crt; var x: char; begin clrscr; write(‘Masukkan huruf (A, B, C) : ‘); readln(x); case x of ‘A’: writeln(‘Anang’); ‘B’: writeln(‘Budi’); ‘C’: writeln(‘Cinta’); end; readln; end.
- Slides: 27