Modul 3 - Belajar Pascal Pemula


Modul 3

Setelah  mencoba  program  Hangman,  sesuatu  pertanyaan   yang  timbul  adalah mengapa komputer  dapat mengetahui  huruf yang kita masukan ada dalam tulisan atau tidak ?
Ok, hal tersebut dapat terjadi karena adanya keputusan yang terprogram, artinya komputer dapat mengambil keputusan untuk berdasarkan aliran logika yang telah ditentukan sebelumnya yang dikenal sebagai algoritma.

Bagaimana penulisan perintah pengambilan keputusan pada Pascal ?
Salah satu perintah struktur pengambilan keputusan adalah :

If condition Then statement;

Dimana condition adalah sesuatu yang bernilai True atau False, dan statement adalah perintah yang akan dijalankan.

Dapatkah anda memberikan sebuah contoh pemakaian perintah If ?
Baiklah, misalnya kita akan membuat program menentukan pembayaran berdasarkan berdasarkan jumlah belanja, jika diatas 100000 (seratus ribu) mendapatkan potongan
3%, maka programnya adalah sebagai berikut :

Uses Crt; Var
Belanja : Real;

Begin
Clrscr;
Write(‘Jumlah belanja ? ‘); Readln(Belanja);







If Belanja > 100000 Then Belanja := Belanja * 0.97;

Writeln(‘Jumlah yang harus anda bayar ‘,Belanja:10:2); Readln;
End.

Ok, saya mengerti bahwa pada prinsipnya Statement setelah Then akan dijalankan kalau condition setelah If menghasilkan nilai True. Bagaimana kalau condition True Statement1 dijalankan, dan sebaliknya Statement2 dijalankan ?

Untuk keputusan seperti ini, pascal menyediakan struktur pengambilan keputusan berikut:

If condition Then Statement1 Else Statement2;

Atau lebih baik ditulis sebagai

If conditon Then
Statement1


Else


Statement2;



Langsung saya buatkan contoh :

Uses Crt; Var
Bilangan : Integer;

Begin
Clrscr;
Write(‘Masukan Bilangan ? ‘); Readln(Bilangan);

If (Bilangan Mod 2) = 0 Then
Writeln (‘Genap’)


Else


Writeln (‘Ganjil’);



Readln; End.

He-he-he, bagaimana kalau keputusannya  lebih dari 2, misalnya 4 Statement yang harus dijalankan berdasarkan masing-masing condition ?

Oh, hal itu bisa dilakukan dengan merangkai beberapa struktur If, misalnya :

If condition1 Then
Statement1
Else
If condition2 Then
Statement2


Else


If condition3 Then
Statement3



Els
e



Statement4;








Jadi pada prinsipnya adalah terdiri dari tiga struktur If.

Misalnya  kita  akan  membuanilai  huruf  dari  angka  dengan  kriteria  80  keatas mendapat A, 70 s/d 79 mendapat B, 60 s/d 69 mendapat C, 50 s/d 59 mendapat D, dan dibawah 49 mendapat E, maka dapat ditulis menjadi :

if mark>=80 then grade:='A'
else  { 79 or below goes here }
if mark>=70 then
grade:='B'
else   { 69 or below goes here }
if mark>=60 then
grade:='C'
else   { 59 or below goes here }
if mark>=50 then
grade:='D'
else   { 49 or below goes here }
grade:='E';

Wah panjang banget, adakah cara lain untuk melakukan hal tersebut ?

Selain struktur kendali If, pascal juga menyediakan suatu struktur Case, yang akan menjalankan statement berdasarkan range tertentu, adapun syntaxnya adalah sebagai berikut :

Case variabel Of
Range1 : Statement1;
Range2 : Statement2; Range3 : Statement3;
Else StatementN;
End;

Saya akan menggulangi contoh diatas dengan struktur Case :

Case mark of
80..100: grade:='A';
70..79 : grade:='B';
60..69 : grade:='C';
50..59 : grade:='D'; Else         grade:='E';
End;

Lebih sederhana bukan.

Opss, hampir lupa, bagaimana kalau statement yang harus dijalankan pada masing- masing condition lebih dari 1 ?

Ya, benar, sering kita perlu menjalankan beberapa Statement pada masing-masing condition, untuk keperluan tersebut kita dapat memblok perintah-perintah tersebut dengan Begin End;

Contoh :

14









If Belanja > 100000 Then
Begin
Belanja := Belanja * 0.97;
Writeln (‘Anda berhak mendapat potongan 3%’);
End;

Pertanyaan   yang  terakhir bagaimana   penulisan   conditio yang  terdir dari beberapa logika ?

Pertanyaan yang tepat sekali, untuk condition yang terdiri dari beberapa logika dapat anda gabungkan dengan operasi AND, OR. Misalnya kita akan mencari tahun kabisat.

In the Gregorian calendar, which is the calendar used by most modern countries, the following rules decides which years are leap years:

1.  Every year divisible by 4 is a leap year.
2.  But every year divisible by 100 is NOT a leap year
3.  Unless the the year is also divisible by 400, then it is still a leap year.

Maka penulisan programnya menjadi :

If ((tahun Mod 4) = 0) And Not (tahun Mod 100 = 0)) Or (tahun Mod 400) = 0 Then
Writeln (‘Tahun Kabisat !’) Else
Writeln (‘Bukan Tahun Kabisat !’);





Latihan 3


1. What does Pascal provide in order to perform conditional branching ?

2. Explain briefly each syntax !

3. How could we do nested branching ? Is it legal ?

4. Tell us how to trap arrow keys !

5. How could we trap function keys (F1 through F10) ? How is it similar  to trapping arrow keys?

6. Determine the output if i=5 and j=3 for the following excerpt :

if i<4 then writeln('Need more experience ...')
else begin
writeln('Yes, you have it !');
if j<=3 then writeln('But, I would prefer better ones.')
else writeln('Superb !');
writeln('Congratulations !');
end;

15








writeln('Thank you for using this program !');

7. Make a program to ask ages. Classify the ages into these categories :

* age < 2       ==> "You are a baby !"
* to age < 12 ==> "You are a kid !"
* 12 to age < 18 ==> "You are a teenager !"
* 18 to age < 24 ==> "You are a young adult !"
* 24 to age < 40 ==> "You are an adult !"
* 40 to age < 55 ==> "You are middle aged !"
* 55 to age < 65 ==> (Give comments yourself)
* age to 65      ==> (Give comments yourself)

Silahkan mencoba :

Readkey is a function, returning a char value. OK, let's see how it works !

program test_readkey;
uses crt;
var
c : char;
begin
c:=readkey;
case c of
#8 : writeln('You presses backspace');
#9 : writeln('You presses tab');
#13: writeln('You presses enter');
#27: writeln('You presses escape');
#32: writeln('You presses space');
else writeln('You presses other key');
end;
end.

Let us detect the arrow keys. Arrow keys, just like function keys, are  extended.  It means it generates a special codes. Now, here is the code to trap them :

program trap_arrow;
uses crt;
var
c : char;
begin
c:=readkey;
if c=#0 then   { If extended codes, }
begin
c:=readkey;  { read the code once more }
case c of
#72: writeln('Up arrow');
#75: writeln('Left arrow');
#77: writeln('Right arrow');
#80: writeln('Down arrow');
end;
end;
end.\



Kembali Ke Modul 2                                                                 Lanjut Ke Modul 4





Comments

Popular posts from this blog

[2017] Cara Hack Instagram Terbaru-Tutorial Iphone like hack