Statemen IF
…..THEN….
Bentuk
struktur If….Then….. adalah sebagai berikut :
If Kondisi
Then Statemen
Statemen ini digunakan untuk mengendalikan jalannya suatu
program berdasarkan
suatu
kondisi atau syarat yang diberikan. Ungkapan adalah kondisi yang diseleksi oleh
statemen If.
Bila kondisi
yang diseleksi terpenuhi, maka statemen yang mengikuti
Then
akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses
statemen berikutnya. Jika kondisi bernilai
benar (TRUE) maka statemen akan
dikerjakan.
Jika kondisi
bernilai salah maka (FALSE) maka statemen tidak akan
dikerjakan.
Contoh
Program
Program Lulus;
Uses wincrt;
Var Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai); {Pemasukan data}
If nilai > 60 Then {seleksi kondisi variabel
nilai}
Writeln('Lulus');
{Dilaksanakan jika nilai > 60}
Statemen
IF.....THEN.....ELSE......
Bentuk
statemen IF...THEN...ELSE.... merupakan pengembangan dari struktur
IF.....THEN.......
Bentuk statemen tersebut adalah sebagai berikut :
1.
Bentuk Pertama
IF kondisi
THEN
statemen1
ELSE
statemen2;
2.
Bentuk Kedua
If kondisi
Then
Begin
......
......
End
Else
Begin
.......
.......
End;
Perintah ini berguna untuk memilih statemen mana yang akan dikerjakan
oleh
komputer
berdasarkan kondisi/syarat yang diberikan. Jika kondisi bernilai benar (TRUE)
maka
statemen1 akan dikerjakan. Jika kondisi bernilai
salah maka (FALSE) maka
statemen2 yang akan dikerjakan.
Statemen1 dan statemen2
dapat berupa suatu blok statemen
tersendiri yang
diapit
oleh BEGIN...END seperti dalam bentuk kedua. di atas. Apabila kata ELSE
digunakan,
maka
statemen antara THEN dan ELSE tidak diakhiri dengan tanda titik koma(;). Jika
diakhiri
dengan tanda titik koma (;), maka statemen setelah kata ELSE tidak akan dikerjakan
atau
penyeleksian kondisi akan berhenti pada statemen sebelum kata ELSE. Jika tidak
menggunakan
kata ELSE (bentuk statemen IF....THEN....) maka statemen setelah then harus
diakhiri
dengan tanda titik koma (;).
Contoh
Program
1. Program Lulus1;
Uses wincrt;
Var Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai);
If nilai > 60 Then
Writeln('Lulus')
Else
Writeln('Tidak lulus')
End.
2. Program Lulus2;
Uses wincrt;
Var Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai);
If nilai > 60 Then
Writeln('Lulus');
Else
Writeln('Tidak lulus')
End.
3. Program IF_ELSE_DEMO;
uses wincrt;
var angka,tebakan : integer;
begin
angka := 2;
writeln('Tebak angka antara 1 dan 10');
readln(tebakan);
if angka = tebakan then
writeln('Tebakan anda benar, Selamat!')
else writeln('Maaf, Tebakan anda salah.')
end.
Statemen CASE
Statemen
Case mempunyai bentuk sebagai berikut
1. Bentuk
Case…..Of
Case kondisi
of
nilai1 : statemen1;
nilai2 : statemen2;
nilai3 : statemen3;
………………….
End;
2. Bentuk
Case…..Of…Else…
Case kondisi of
nilai1 : statemen1;
…………………
nilaiN : statemenN;
Else
statemenLain;
End;
Struktur Case – Of mempunyai suatu ungkapan logika yang
disebut dengan
selector
dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label)
yang
mempunyai tipe sama dengan selector. Statement yang mempunyai case label yang
bernilai
sama dengan case label yang bernilai sama dengan nilai selector akan diproses
sedang
statemen
yang lainya tidak.
Nilai kondisi harus suatu kondisi yang nilainya berjenis
ordinal (dapat diurutkan).
Nilai1,
nilai2, dst dapat berupa sebuah nilai berjenis ordinal (sesuai dengan jenis
kondisi) atau
beberapa
nilai yang dapat dispisahkan dengan tanda titik koma.
Contoh
Program
1. Program nilai;
uses wincrt;
Var nilai : Char ;
Begin
Write ('Nilai Numerik yang didapat A,B,C,D atau :');
Readln (nilai);
Case nilai Of
'A' : write('Sangat baik');
'B' : write('Baik');
'C'
: write('Cukup');
'D' : write('Kurang');
'E' : write('Sangat kurang');
End;
End.
2. Program pilihan;
uses wincrt;
var pil : integer;
begin
writeln(' Silakan pilih');
writeln('(1) Bentuk IF...Then...');
writeln('(2) Bentuk IF...Then...Else....');
writeln('(3) entuk Case....OF');
write('Pilihan = ');readln(pil);
clrscr;
case pil of
1
: writeln('Anda memilih bentuk IF...Then...');
2 : writeln('Anda memilih bentuk IF...Then...Else...');
3 : writeln ('Anda memilih bentuk Case..Of');
end;
End.
3. Program pilihan;
uses wincrt;
var pil : integer;
begin
writeln(' Silakan pilih');
writeln('(1) Bentuk IF...Then...');
writeln('(2) Bentuk IF...Then...Else....');
writeln('(3) entuk Case....OF');
write('Pilihan = ');readln(pil);
clrscr;
case pil of
1 : writeln('Anda memilih bentuk IF...Then...');
2 : writeln('Anda memilih bentuk IF...Then...Else...');
3 : writeln ('Anda memilih bentuk Case..Of');
else
writeln('Pilihan antara 1-3');
end;
End.
Dengan
menggunakan komputer, praktekkan beberapa contoh program dibawah ini :
1. Program Maksimum;
uses wincrt;
var A, B, C : integer;
begin
writeln('Masukkan
tiga angka dengan spasi'); readln( A,B, C );
if A >= B then
begin
if A >= C then writeln( A,' adalah terbesar')
else
writeln( C,' adalah terbesar')
end
else if B >= C then writeln( B,' adalah
terbesar') else
writeln( C,' adalah terbesar')
end.
2. Program Konversi_Waktu1;
Uses
WinCrt;
var
j,m,d,dm,sisa,sisa1:integer;
begin
Writeln('Program Konversi Waktu 1');
Writeln('========================');
Writeln;
Write('Masukkan Jumlah Detik : ');readln(dm);
if (dm/3600)>0 then
begin
j:=dm div 3600;
sisa:=dm-(j*3600);
end
else
begin
j:=0;
sisa:=dm;
end;
if
(sisa/60)>0 then
begin
m:=sisa div 60;
sisa1:=sisa-(m*60);
end
else
begin
m:=0;
sisa1:=sisa;
end;
d:=sisa1;
Writeln;
Writeln('Hasil
=> ',j,' jam ',m,' menit ',d,' detik');
end.
3. Program Menghitung_Selisih_Waktu;
Uses WinCrt;
Var
j,m,d,h,j1,m1,d1,h1,hj,hm,sl,sisa,sisa1:longint;
Begin
Writeln('Program Menghitung Selisih Waktu');
Writeln('================================');
Writeln;
Write('Waktu ke-1 jam : ');readln(j);
Write('Waktu ke-1 Menit : ');readln(m);
Write('Waktu ke-1 Detik : ');readln(d);
Writeln('================================');
Write('Waktu ke-2 jam : ');readln(j1);
Write('Waktu ke-2 Menit : ');readln(m1);
Write('Waktu ke-2 Detik : ');readln(d1);
h:=(j*3600)+(m*60)+d;
h1:=(j1*3600)+(m1*60)+d1;
sl:=h1-h;
if (sl/3600)>0 then
begin
hj:=sl div 3600;
sisa:=sl-(hj*3600);
end
else
begin
hj:=0;
sisa:=sl;
end;
if (sisa/60)>0 then
begin
hm:=sisa
div 60;
sisa1:=sisa-(hm*60);
end
else
begin
hm:=0;
sisa1:=sisa;
end;
Writeln;
Writeln('Selisih
Waktu: ',hj,' jam ',hm,' Menit ',sisa1,' Detik');
End.