Pemprograman Terstruktur 1

advertisement
Percabangan dan Perulangan
PEMPROGRAMAN TERSTRUKTUR 1
PERCABANGAN

Struktur IF … THEN …

Struktur CASE … OF …
IF … THEN …
IF akan diikuti oleh ekspresi dan selalu
berpasangan dengan THEN kemudian diikuti
dengan statemen.
 Bila statemen yang akan dilakukan hanya satu,
maka kita tidak perlu menuliskan blok
begin…end.
 Bila statemen yang akan dilakukan lebih dari
satu, maka kita harus menuliskan statemen
pada blok begin…end.

IF … THEN …
If (ekspresi) then
statemen;
If (ekspresi) then
begin
statemen;
statemen;
……………...
end.
IF … THEN …

Satu kasus.
 if
(kondisi) then aksi;
 Bila
ekspresi
yang
diperiksa bernilai benar
maka program akan
mengeksekusi
statemen-statemen, jika
tidak maka program
tidak
akan
mengeksekusinya.
CONTOH
Program if_satu_kasus;
Var x : integer;
Begin
write(‘masukkan angka’); readln(x);
if (x > 5) then
writeln (x, ‘ lebih besar dari 5’);
Readln;
End;
IF … THEN … ELSE …

Dua Kasus
 if
(kondisi) then aksi1 else
aksi2 ;
CONTOH
Program ganjil_atau_genap;
Var bilangan : integer;
Begin
write(‘masukkan angka’); readln(bilangan);
if (bilangan mod 2 = 0) then
writeln (bilangan, ‘ adalah genap’);
else
writeln (bilangan, ‘ adalah ganjil’);
Readln;
End;
IF … THEN … ELSE …

Tiga Kasus atau Lebih
If (kondisi 1) then aksi1
Else If (kondisi 2) then aksi2
Else If (kondisi 3) then aksi3
Else If (kondisi 4) then aksi4
Else aksi5;
Jika anda menggunakan else, perlu diingat bahwa
satu baris / statemen sebelum else tidak
diperkenankan mengandung tanda “ ; “
CONTOH
Uses Crt;
var Nilai : Byte;
begin
clrscr;
write('Baca nilai :');readln(Nilai);
if nilai>=80 then write('Nilai = A') else
if nilai>=65 then write('Nilai = B') else
if nilai>=41 then write('Nilai = C') else
if nilai>=26 then write('Nilai = D') else
write('Nilai = E');
readln;
end.
LATIHAN

Buatlah program yang meminta input satu
huruf (char), kemudian menghasilkan output
yang menjelaskan input tersebut merupakan
huruf vokal atau huruf konsonan.
CASE … OF …






Digunakan jika harus memilih dari banyak
pilihan
Case (variabel) of
kondisi1 : aksi1 ;
kondisi2 : aksi2 ;
……………. ;
kondisi-n : aksi-n ;
CASE … OF …


Case (variabel) of
Kondisi1 :
begin
statemen1;
statemen2;
……………….
end;

Kondisi2 :
begin
statemen1;
statemen2;
……………….
end;

Else
begin
statemen1;
statemen2;
……………….
end;

End.
Ekspresi yang digunakan dalam statemen
Case adalah yang mempunyai tipe ordinal
 yaitu dengan batas antara (-32768 s/d 32767).
Sehingga tipe lain seperti integer yang bertipe
longint, tipe string atau real tidak boleh
digunakan.

CONTOH
Var Nilai : integer;
begin
write('Baca nilai ='); readln(Nilai);
Case Nilai of
0..25 : writeln('Nilainya = E');
26..39 : writeln('Nilainya = D');
40..64 : writeln('Nilainya = C');
65..79 : writeln('Nilainya = B');
80..100: writeln('Nilainya = A');
else
writeln('Tidak ada nilai yang dimaksud');
end;
readln;
end.
CONTOH
Program contoh_case_of;
Uses crt;
Var nomorBulan: integer;
Begin
clrscr;
write(‘masukkan nomor bulan, antara 1-12’);
readln(nomorBulan);
Case (nomorBulan) of
1 : writeln (‘ bulan pertama adalah Januari’);
2 : writeln (‘ bulan kedua adalah Februari’);
……………………………………………………………..
12 : writeln (‘ bulan kedua belas adalah Desember’);
else writeln (‘ nomor yang anda masukkan salah’);
end;
Readln;
End.
LATIHAN
Buatlah sebuah program yang akan meneriman
masukan bilangan bulat dari user. Jika bilangan
yang dimasukkan 0, maka program akan
menampilkan
string
‘Minggu’;
jika
user
memasukkan bilangan 1, maka program
akan
menampilkan
string
‘Senin’;
dan
seterusnya sampai Sabtu; jika user memasukkan
bilangan lebih dari 6, maka akan keluar
 string ‘Hari tidak valid’.

PERULANGAN

- Struktur FOR….DO….

- Struktur WHILE…DO……

- Struktur REPEAT…UNTIL….
FOR … DO …
Digunakan untuk melakukan perulangan yang
banyaknya sudah diketahui secara pasti.
 Format :



For count := awal to akhir do aksi/ blok aksi ;
Contoh :
 For
i:=1 to 5 do write(‘saya’);
 Variabel i, dideklarasikan di var.
CONTOH










Program Latihan_perulangan:
uses Crt;
var N,i :integer;
begin
clrscr;
write('Baca nilai : ');readln(N);
for i:= 1 to N do
write(i:3);
readln;
end.
CONTOH





Program latihan2;
Var i, nilai, jumlah :integer;
Begin
write (‘masukkan nilai’); readln(nilai);
jumlah := 0;
for i:= 1 to nilai do
begin
jumlah := jumlah + i;
end;
writeln (‘jumlah dari ‘,nilai,’ bilangan positif pertama adalah’,
jumlah);
Readln;
End.
LATIHAN
Buat program untuk menghitung nilai dari
faktorial.
 5 ! = 1 x 2 x 3 x 4 x 5.

WHILE … DO …
Terdapat suatu kondisi yang harus dilakukan
terlebih dahulu sebelum melakukan perulangan.
 Format

While ( kondisi ) do
 Begin

 Statemen1;
 Statemen2;
 ……………….

End;
CONTOH
Program Latihan_while;
uses crt;
var i:integer;
begin
clrscr;
write('Masukkan angka :');readln(i);
while i<5 do
begin
writeln(‘D3 Komsi UGM');
i:=i+2;
end;
Readln;
End.
LATIHAN

Buat program yang menghasilkan satu nilai x
yang memenuhi persamaan x2 + 2x – 30 = 0.
REPEAT ... UNTIL ...
Hampir sama dengan while..do..
 Perbedaannya adalah, struktur ini akan terus
melakukan perulangan apabila kondisi masih
bernilai false dan berhenti ketika kondisi sudah
bernilai true.
 Pengecekan kondisi dilakukan setelah
mengeksekusi statemen.

REPEAT ... UNTIL ...

Format
repeat
statement1;
statement2;
………………….
until ( kondisi );
CONTOH
Program latihan_repeat_until;
Var masukan : integer;
Begin
repeat
write(‘pencet nomor satu’); readln(masukan);
if (masukan<>1) then
writeln (‘wee ngeyel…’);
until (masukan = 1);
writeln (‘Pinteeerrr’);
Readln;
End.
LATIHAN

Buatlah program penjumlahan. Akan tetapi
pengguna dapat menggunakannya terus
menerus tanpa harus memberhentikan
program.
SILAHKAN DICOBA
Buat program yang menampilkan tulisan
JUM’AT
Download