header-photo

Percabangan & Perulangan/Looping Pascal 1.5

Percabangan
Salah satu dari tiga konstruksi fundamental adalah percabangan/branching. Dalam pascal, percabagan menggunakan syntax if then else dan case of.
Syntax:
IF kondisi THEN
BEGIN

END;
Dengan ELSE:
IF kondisi [and] kondisi [or] kondisi THEN
BEGIN


END {memang tanpa titik koma di sini; sebelum ELSE tidak perlu titik koma!!!}
ELSE
BEGIN

END;Apabila kondisi terpenuhi, maka program akan menjalankan b\perintah yang ada setelah THEN. Tapi jika kondisi tidaki terpenuhi, maka program akan menjalankan program setelah ELSE.
Contoh penggunaan:
Var i: integer;
Begin
Write(‘Masukkan bilangan antara 1-100: ‘); readln(i);
If i<=50 then
Write(‘bilangan kecil’)
Else
Write(‘bilangan besar’);
End.

Penggunaan CASE … OF:
Penggunaan Case OF ini lkebih berguna jika kondisi yang dibandingkan berupa range. Lihat contoh berikut:
CASE nilai OF
80..100 : grade:=’A';
70..79 : grade:=’B';
55..69 : grade:=’C';
45-54 : grade:=’D';
ELSE grade:=’E';
END;
Looping
Selain percabangan, konstruksi fundamental pemrograman yang lainnya adalah looping atau perulangan. DI Pascal ada 3 macam looping. Kita akan pelajari satu per satu:
1. For … to … do
Syntax:
FOR variable := nilai_awal TO nilai_akhir DO
BEGIN
…apa_yang_diulang….
END;
Contoh penggunaan:
FOR i:=1 TO 5 DO
BEGIN
Writeln(i);
END;
Program di atas akan menuliskan angka 1 sampai 5 ke bawah di layar.
Jika ingin melakukan perhitungan mundur dari 5 ke 1, gunakan perintah DOWNTO sebagai pengganti TO (FOR i:=5 DOWNTO 1 DO).
BONUS!!! Untuk variabel yang bertipe char, bisa juga menggunakan FOR dengan cara berikut:
FOR c:=’A’ TO ‘Z’ DO write(c,’ ‘);
Atau boleh juga menulisnya dengan
FOR c:=’Z’ DOWNTO ‘a’ DO write(c,’ ‘);
Atau untuk tipe boolean, bisa juga seperti ini:
FOR b:=false TO true DO writeln(b);
Bagaimana? Keren kan?
2. While … do
Syntax:
WHILE kondisi DO
BEGIN
…apa_yang_dilakukan…
END;
Bedanya dengan FOR … DO, adalah pada WHILE … DO, sebelum memulai masuk ke blok begin end, ada kondisi yang harus dicek. Jika terpenuhi baru masuk ke blok BEGIN END dan terus-menerus diulang hingga kondisi tidak tercapai. Jadi bisa saja yang di dalam blok BEGIN END tidak dijalankan sama sekali.
Contoh penggunaan:
i:=1;
WHILE i<6 DO
BEGIN
Writeln(i);
i:=i+1;
END;
3. Repeat … until
Syntax:
REPEAT
…apa_yang_dilakukan…
UNTIL kondisi
Ini adalah kebalikan dari WHILE DO, jika pada WHILE DO, sebelum menjalankan statement, maka kondisi dicek terlebih dahulu. Maka sebaliknya, pada REPEAT UNTIL, program menjalankan statement dalam blok BEGIN END satu kali terlebih dahulu, baru di akhir dilakukan pengecekan kondisi. Jika kondisi terpenuhi, maka Blok statement akan diulang lagi, sampai kondisi sudah tidak terpenuhi. Jadi, minimal blok program dalam REPEAT UNTIL dijalankan satu kali.
Contoh penggunaan:
i:=1;
REPEAT
Writeln(i);
i:=i+5;
UNTIL i>5;
Nah, itu semua adalah dasar dari pemrograman Pascal. Untuk lebih lanjut akan dibahas pada waktu berikutnya (semoga saya sempat membuat tutorial berikutnya). Berikut ini saya berikan bonus program BINTANG BERGERAK MEMANTUL-MANTUL DI LAYAR.
PROGRAM BintangMantulMantulSampaiDitekanEscape;
USES crt;
CONST
lebar=80;
tinggi=25;
xawal=1;
yawal=1;
VAR
x,y : byte;
dx,dy : shortint;
c : char;
BEGIN
{inisialisasi awal}
x:=xawal;
y:=yawal;
dx:=1;
dy:=1;
c:=#0;
REPEAT
clrscr; {bersihkan layar}
gotoxy(x,y);
write(‘*’); {mencetak bintang pada posisi X,Y}
x:=x+dx; {ubah koordinat x}
y:=y+dy; {ubah koordinat y}
{cek, jika sudah sampai di batas layar,
maka ubah dx & dy untukk ganti arah}
IF (X>=lebar) OR (X<=1) THEN dx:=-dx;
IF (Y>=tinggi) OR (Y<=1) THEN dy:=-dy;
{jika ada penekanan tombol, maka tombol tersebut dideteksi}
IF keypressed THEN c:=readkey;
delay(100); {menunda selama 100ms}
UNTIL c=#27;
END.
4. Repeat N Times
Contoh Program
Var
n:integer;
Repeat n times
…… Apa yang di ulang
End.

0 komentar:

Posting Komentar