Jumat, 30 Maret 2012

Pernyataan If dan Case


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.

Tidak ada komentar:

Posting Komentar

Tinggalkan Komentar