Selasa, 17 Februari 2009

Pengenalan Bahasa Pascal

A. Apakah Bahasa Pascal itu?

Bahasa Pascal didesain pertama kali oleh Niklaus Writh pada tahun 1968 dan dipublikasikan pada tahun 1970. Setelah itu bermunculan beberapa varian dari Bahasa Pascal. Salah satu yang paling terkenal adalah Bahasa Turbo Pascal dan Delphi yang semuanya dibuat oleh Anders Helsjenberg yang juga membuat bahasa C#. Turbo Pascal sering digunakan dalam pengajaran matakuliah pemrograman komputer khususnya tentang algorithma dan struktur data.

B. Hello World!

Berikut adalah contoh program sangat sederhana dengan Pascal:

Program Hello(output);
begin
Write('Hello World!');
end.

Berikut ini adalah contoh program dengan Pascal yang menggunakan variabel:

Program Luas(input,output);
var r,L: Real;
begin
Write('Berapakah jari-jari lingkaran ?'); ReadLn(r);
L := 22/7*r*r;
WriteLn('Luas lingkaran = ',A);
end.

C. Tipe data dalam Pascal

Tipe data menunjukkan sifat dan ciri khas dari variabel. Tipe data menentukan jangkauan data yang bisa disimpan dalam variabel dan operasi-operasi apa saja yang diperbolehkan untuk variabel itu.

Beberapa tipe data sederhana dalam Pascal:
1. Integer: bilangan bulat antara -32768 sampai 32767.
2. Real: bilangan pecahan antar 1E-38 to 1E+38.
3. Boolean: bisa True atau False saja.
4. Char: semua karakter ASCII.
5. Enumerasi: semua nama anggota yang didaftarkan.

Contoh deklarasi variabel untuk masing-masing tipe data:

var
I: Integer;
X: Real;
Ulang: Boolean;
Kar: Char;
Warna: (Coklat,Merah,Kuning,Hijau,Biru,Nila,Ungu);

D. Struktur Data dalam Pascal

Selain memiliki beberapa tipe data sederhana, Pascal juga memiliki beberapa pembentuk tipe baru:

1. Sub range dari tipe data ordinal (selain tipe data real)

Di dalam Pascal anda bisa membentuk sebuah tipe data yang memiliki jangkauan nilai yang merupakan bagian dari jangkauan nilai tipe data ordinal.

var
Anak: 1..15;
HurufKecil: 'a'..'z';
WarnaKayu: Coklat..Hijau;

2. Set

Sebagaimana layaknya sebuah himpunan, anda bisa melakukan penambahan, pengurangan, interseksi dari variabel set.

var
Him1: set of 1..10;
Him2: set of 'a'..'z';
Him3: set of Coklat..Hijau;

3. Alias

Di dalam pascal anda bisa membuat tipe data yang merupakan alias dari tipe data yang lain.

type
IntegerKu = Integer;
IntegerAdikKu = IntegerKu;

4. Array

Array menyimpan banyak data dalam satu nama dan tersimpan di memori secara berurutan (kontigu) dan memiliki tipe data yang sama.

var
NilaiSiswa: array[1..100] of Integer;

5. Record

Record menyimpan banyak data dalam satu nama dan tersimpan di memori secara berurutan (kontigu) dengan tipe data yang berbeda-beda.

type
Siswa = record
NIM: array[1..10] of Char;
Nama: array[1..40] of Char;
Alamat: array[1..80] of Char;
NamaWali: array[1..40] of Char;
end;

Pemakaian record selain untuk menyimpan data di memory juga sering digunakan untuk penyimpanan data di file. Sehingga mirip dengan sebuah tabel database.

E. Pointer

Pascal mendukung penggunaan pointer. Tipe data pointer tidak menyimpan data yang sebenarnya tetapi menyimpan alamat data di memori. Pointer bisa digunakan untuk mengakses data yang dialokasikan secara dinamis di memori.

Berikut sebuah contoh program yang memakai pointer:

Program MakePtr(input,output);

type
x = ^y;
y = record
a: Integer;
b: Char;
end;

var
pointertob: x;
contohb: y;

begin
(* Sebuah pointer yang menunjuk ke variabel yang lain *)
contohb.a := 12;
contohb.b := 'C';
pointertob := @contohb;
WriteLn('pointertob^.a = ',pointertob^.a);
WriteLn('pointertob^.b = ',pointertob^.b);

(* Sebuah pointer yang menunjuk ke alamat di memori yang dialokasikan *)
new(pointertob);
pointertob^.a := 10;
pointertob^.b := 'A';
WriteLn('pointertob^.a = ',pointertob^.a);
WriteLn('pointertob^.b = ',pointertob^.b);
dispose(pointertob);
end.

E. Struktur Kendali

Pascal adalah bahasa terstruktur, berarti kendali aliran terstruktur di dalam elemen-elemen stanar, yang idealnya tidak menggunakan perintah 'go to'.

while a <> b do writeln('Waiting');

if a > b then
writeln('Condition met')

else
writeln('Condition not met');


for i := 1 to 10 do writeln('Iteration: ', i:1);

repeat

a := a + 1;
until a = 10;

case i of
0: write('zero');
1: write('one');
2: write('two')
end;

F. Prosedur dan Fungsi

Pascal membagi program ke dalam prosedur dan fungsi.

program mine(output);

var
i : integer;

procedure print(var j: integer);

function next(k: integer): integer;
begin
next := k + 1
end;

begin
writeln('The total is: ', j);
j := next(j)
end;

begin
i := 1;
while i <= 10 do print(i);
end.

Prosedur dan fungsi bisa bersarang sampai level berapapun, konstruk program menjadi blok logis terluar.

Tidak ada komentar:

Creating Linux Daemon or Windows Service with Lazarus

Daemon Application in Linux or Service Application in Windows is an application that running in the background, usually automatically starte...