Pascal tidak memerlukan header seperti Bahasa C atau bahasa pemrograman sejenis. Tapi, pascal menyediakan unit yang juga hampir sama kegunaannya yaitu untuk menyimpan sekumpulan function, prosedur, tipe data dan menghubungkan dg library. Sekalipun kita tidak mendeklarasikan unit sebenarnya ada satu unit default yang sudah digunakan dalam kode program yaitu unit "system". Selain unit system, salah satu unit yang sering digunakan digunakan adalah unit CRT. Perhatikan contoh berikut :
Program di atas menggunakan unit CRT dan menggunakan prosedur "clrscr"
yang ada di dalam unit tersebut. Fungsi clrscr adalah untuk membersihkan
layar. Selain fungsi clrscr, masih ada function dan prosedur lain dalam
unit CRT. Selain unit CRT, ada banyak unit lain yang bisa digunakan
dalam bahasa pascal.
Beberapa unit yang biasa ada sebagai bawaan compiler pascal di OS windows, yaitu :
Untuk
menggunakan unit, kita bisa meletakkan di folder yang sama dengan kode
programnya. Sebaiknya, hindari nama kode program yang sama dengan nama
unit. Jika nama unitnya adalah "coba.ppu", jangan gunakan nama file
"coba.pas" sebagai nama file untuk kode programnya.
Uses CRT;
Var i : Integer;
Begin
write('Angka : ');Readln(i);
clrscr;
write('Angkaku adalah : ', i);
readln;
End.
Beberapa unit yang biasa ada sebagai bawaan compiler pascal di OS windows, yaitu :
- Sistem
- CRT
- DOS
- String
- windows
- dll
Kita
juga bisa membuat unit buatan kita sendiri. Setelah unit dibuat, kita
bisa menggunakannya dengan meletakkannya di folder yang sama dengan
tempat kode program atau project yang menggunakannya.
Unit terdiri dari bagian interface dan implementation.
Interface berisi deklarasi "prototype" function atau procedure. Selain
itu kita bisa mendeklarasikan tipe data buatan kita sendiri. Unit berisi
dengan kode program yang diawali dengan nama unit, misalnya "unit
coba". Nama file harus sama dengan nama unit, jika nama unitnya adalah
"coba", maka nama filenya adalah "coba.pas". Hasil dari kode program
untuk unit adalah file dengan ekstensi "*.ppu".
unit coba; interface type unknown=array[0..256] of char; function Persegi_panjang( length, width: real): real; function Lingkaran(r: real) : real; function Segitiga( s1, s2, s3: real): real; procedure tulis(s:string); procedure tulis(r:real); implementation function Persegi_panjang( length, width: real): real; begin Persegi_panjang := length * width; end; function Lingkaran(r : real) : real; begin lingkaran := 22 * r * r / 7; end; function Segitiga( s1, s2, s3: real): real; var s0, area: real; begin s0 := (s1 + s2 + s3)/2.0; area := sqrt(s0 * (s0 - s1)*(s0 - s2)*(s0 - s3)); Segitiga := area; end; procedure tulis(r:real); begin writeln(r:0:2); end; procedure tulis(s:string); begin writeln(s); end; end.
uses coba, crt;
var x:real=0;
var a:unknown;
begin
clrscr;
a[0]:='A';
x:=lingkaran(7);
tulis(x);
readln;
end.