Anda di halaman 1dari 26

Algoritma dan Pemrograman

STRUKTUR KENDALI ALIRAN


(PENYELEKSIAN KONDISI / PERCABANGAN)

1
Latar Belakang

Sering sekali timbul masalah yang menuntut


percabangan kondisi. Setiap cabang menghasilkan
ouput yang tertentu sesuai dengan kondisinya.
Untuk itu perlu adanya mekanisme penyeleksian
kondisi yang mengendalikan aliran program.
Contoh masalah : Menentukan akar PK tergantung
harga D, Menentukan nilai akhir huruf pada mahasiswa
tergantung nilai akhir angka, dll

2
Macam-macam Statement
Struktur Kendali Aliran

1. IF … THEN …
2. IF … THEN … ELSE …
3. IF … THEN … (nested/tersarang)
4. CASE … OF

3
Struktur If … Then …
Bentuk dari struktur If-Then adalah sebagai berikut:

If <ungkapan> Then <statemen>

Ungkapan adalah kondisi yang akan diseleksi oleh If.


Bila kondisi yang diseleksi terpenuhi, maka statemen
yang mengikuti Then akan diproses.
Sebaliknya, jika kondisi tidak dipenuhi, maka yang akan
diproses adalah statemen berikutnya.

4
Bagan Alir If …. Then

If Kondisi benar
then
tidak

statemen

5
Contoh 1:
Program Nilai;
Var
NilaiUjian : real;
Ket : String[12];
Begin
Ket := ‘Tidak Lulus’;
Write (‘Nilai yang didapat ?’);
Readln (NilaiUjian);
If NilaiUjian > 60 Then Ket := ‘Lulus’;
Writeln (Ket);
Readln;
End.

6
Contoh 2

Program Magnitude;
Uses Crt;
var Angka, Angka1 : real;
begin
clrscr;
write (‘Ketikan sembarang bilangan ‘);
readln (Angka);
Angka1 := Angka;
If Angka < 0 then Angka := -1 * Angka;
Writeln (‘Magnitude dari ‘,Angka:5:2,’ adalah
= ‘, angka1:1:3);
Readln;
end.

7
Latihan 2

Program SILINDER;
Uses Crt;
Label 10;
var R, T, Isi : real;
Jawab : char;
Begin
clrscr;
10: writeln;
write (‘ Ketikkan jari-jari lingkaran alas ‘);
readln (R);

8
write (‘Ketikkan tinggi silinder ‘);
readln (T);
Isi := 3.14*R*R*T;
writeln;
writeln (‘Isi silinder tersebut adalah ‘,Isi:9:2);
writeln;
write (‘Anda ingin mengulangi lagi (Y/T) ?’);
readln (Jawab);
If (jawab = ‘Y’) or (jawab = ‘y’) then goto 10;
end.

9
b. Struktur If -Then …Else

Struktur If - Then … Else merupakan pengembangan


dari struktur If - Then dengan struktur sebagai berikut:

If kondisi Then statemen 1


Else
statemen 2;

10
Statemen 1 atau dapat berupa blok statemen akan
diproses bilamana kondisi yang diseleksi benar
(terpenuhi) sedang statemen 2 ataui dapat berupa
blok statemen akan diproses bilamana kondisi yang
diseleksi tidak tepanuhi.

11
salah Kondisi If benar

else then

statemen 2 statemen 1

12
Contoh 3:
Program Nilai;
Var
NilaiUjian : real ;
Begin
Write (‘Nilai yang didapat ?’); Readln (NilaiUjian);
If NilaiUjian > 60 Then
Writeln (‘Lulus’)
Else
Writeln (‘Tidak Lulus’);
Readln;
End.

13
Struktur If tersarang (nested)

Struktur If tersarang merupakan bentuk struktur If


berada di dalam lingkungan statemen If yang lainnya.
Struktur If tersarang dapat berbentuk:
If kondisi 1 Then
If Kondisi 2 Then
statemen 1
Else
Statemen 2

14
Bentuk lainnya:

If Kondisi 1 Then
Begin
If Kondisi 2 Then
Statemen 1
Else
Statemen 2
End;
Statemen 3

15
Statemen Case-Of

Pemilihan proses menggunakan statemen if selalu


didasarkan atas 2 pilihan yang dapat terjadi. Jika untuk
mentest lebih dari dua pilihan harus menggunakan
sejumlah statemen if (jamak).
Untuk mengatasi pemilihan proses lebih dari dua pilihan
dengan cara sederhana digunakan statemen Case-Of .

16
Bentuk-bentuk statemen Case

Ada dua struktur Statemen Case


a. Struktur Case - of
b. Statemen Case - of ... Else

17
Struktur Case - Of

Struktur Case - Of mempunyai suatu ungkapan logika yang


disebut dengan selector dan sejumlah statemen yang
diawali dengan label permasalahan (case label) yang
mempunyai type sama dengan selector.
Statemen yang mempunyai case label yang bernilai sama
dengan nilai selector akan diproses sedangkan statemen
yang lainnya tidak.

18
bentuk umum statemen case, yaitu:

case ungkapan of
label 1: statemen 1;
label 2: statemen 2;
……………
label n: statemen n
end;

19
Perlu diingat bahwa semua kemungkinan nilai
ungkapan yang dihitung harus dinyatakan dalam
label kasus
Jika nilai ungkapan yang dihasilkan tidak terdapat
dalam label kasus, langkah yang akan diambil
oleh statemen case tidak terdifinisikan; hal ini
akan berakibat fatal.

20
Contoh:
Program NILAI_UJIAN;
Uses crt;
Var
Nama_Mahasiswa : string[25];
Nomor_induk : string[5];
Skor : Integer;
Indeks_skor : Integer;
begin textbackground (4);
clrscr;
write (‘Ketikkan nama mahasiswa :’);
readln (Nama_Mahasiswa);

21
write (‘Ketikkan nomor induk mahasiswa :’);
readln (Nomor_Induk);
write (‘Ketikkan nilai ujian : (0 … 100) ’);
readln (Skor); writeln;
Indeks_Skor := Skor div 20;
case Indeks_Skor of
4,5 : writeln(‘Nilai yang diperoleh A’);
3 : writeln(‘Nilai yang diperoleh B’);
2 : writeln(‘Nilai yang diperoleh C’);
1 : writeln(‘Nilai yang diperoleh D’);
0 : writeln(‘Nilai yang diperoleh E’);
end;
End.

22
Latihan 1:

Program DISKON;
var Pembelian, Potongan : Integer;
begin
Write (‘Total Pembelian ’);
readln (Pembelian);
Case Pembelian of
0..1000 : Potongan := 100;
1001 ..10000 : Potongan := 500;
10001..30000 : Potongan := 2000;
end;
23
writeln (‘Jumlah Pembelian = Rp ‘, Pembelian:7);
Writeln (‘Potongan = Rp ’, Potongan:7);
Writeln(‘ -------------------’);
writeln (‘Jumlah Bayar = Rp ‘,Pembelian –
Potongan:7);
End.

24
Perbedaar If - Then dengan Case - Of

 Statemen If menyeleksi suatu kondisi dan terpenuhi,


setelah memproses statemen dalam lingkungan yang
yang terpenuhi tersebut, proses penyeleksian masih
dilakukan terhadap statemen If berikutnya yang lain
 Pada struktur Case - Of bila salah satu kondisi
terpenuhi dan statemen tersebut telah diproses,
statemen-statemen yang lain dalam lingkungan Case
tidak akan diseleksi lagi

25
Struktur Case - Of …. Else

Struktur Case - Of ... Else merupakan pengembangan dari


struktur Case - Of dan juga menrupakan pengambangan
dari standar Pascal.
Pada struktur Case - Of bila tidak ada kondisi yang
terpenuhi berarti tidak ada statemen di dalam lingkungan
Case - Of yang diproses.
Dengan Struktur Case - Of … Else, bila tidak ada kondisi
yang terpenuhi, maka statemen yang akan diproses dalaim
lingkungan Case - Of adalah statetmen yang ada di Else

26

Anda mungkin juga menyukai