Apa itu Pascal?
Pascal adalah bahasa pemrograman
yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota
International Federation of Information Processing (IFIP) pada tahun 1971.
Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama
kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal
ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada
mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk
melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Kelebihan dari bahasa pemrograman Pascal adalah:
* Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan
bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real,
char, string,
* User defined Data Types, programmer dapat membuat tipe data lain yang
diturunkan dari tipe data standar.
* Strongly-typed, programmer harus menentukan tipe data dari suatu variabel,
dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain
dari format yang ditentukan.
* Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah
menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan
berulang-ulang.
* Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat
mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan
dipahami.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa
pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu,
Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in
Informatics).
Dalam bahasa Pascal terdapat
beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau
konstanta pada program. Tipe Data tersebut antara lain adalah
Tipe
Data
|
Deskripsi
(range variabel)
|
|
angka dari 0 sampai 255
|
|
angka dari -32768 to 32767
|
|
semua nilai pecahan dari 1E-38 to
1E+38
|
|
nilai TRUE atau FALSE
|
|
semua karakter dari tabel ASCII
|
|
semua huruf, spasi, frase
|
1. Reserved
Word (Kata Tercadang) Bahasa Pascal
Reserved Word adalah kata-kata yang sudah didefinisikan pada Pascal dan
mempunyai arti tertentu. Kata-kata tersebut tidak boleh digunakan sebagai identifier
(Pengenal).
Contoh
: Program, Begin, End, If, For, While, Repeat, Write, Read.
2. Skema dari program pascal
Skema
dari program Pascal adalah sebagai berikut.
Program
nama_program;
[
Deklarasi label ]
[
Deklarasi konstanta ]
[
Deklarasi tipe ]
[
Deklarasi variabel ]
[
Deklarasi subprogram ]
Begin
Pernyataan;
….
Pernyataan;
End.
|
3. Deklarasi Prosedur dan Fungsi
Deklarasi
Prosedur (Procedure) dan Fungsi ( Function) digunakan apabila
program memiliki subprogram (bagian program) yg diletakkan terpisah dalam blok
sendiri.
3.1 Prosedur
Prosedur
adalah subprogram yang menerima masukan tetapi tidak mempunyai keluaran secara
langsung. Cara mendeklarasikan sebuah prosedur adalah sebagai berikut :
procedure A; { nama prosedur adalah A }
begin
{ statement }
end;
|
Pendeklarasian
prosedur di atas adalah untuk prosedur yang tidak memerlukan parameter.
Parameter adalah data masukan untuk subprogram yang nantinya akan diproses
lebih lanjut dalam subprogram tersebut. Dalam Pascal, dikenal dua macam
parameter yaitu :
1) Parameter
nilai (value parameter), dan
2) Parameter
referensi (reference parameter).
Cara
mendeklarasikan parameter tersebut adalah sebagai berikut :
procedure B(X : integer; var Y : integer);
begin
{ statement }
end;
|
3.2 Fungsi
Fungsi
adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung.
Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :
function A : integer; { nama fungsi adalah A dengan }
begin { tipe data keluaran adalah integer }
{ statement }
A := 3; { nilai yang dikeluarkan fungsi }
end;
|
Sebagaimana
dalam prosedur, fungsi juga dapat diberikan parameter. Cara mendeklarasikan
fungsi dengan parameter juga tidak jauh berbeda dengan pendeklarasian parameter
pada prosedur.
function B(X : integer) : integer;
begin
{ statement }
B := X * 2;
end;
|
3.4 Rekursi
Dalam
Pascal, ada satu kelebihan dalam cara pemanggilan subprogram. Pascal
mengijinkan pemanggilan suatu subprogram dari dalam subprogram itu sendiri.
Tidak semua bahasa pemrograman mengijinkan cara pemanggilan subprogram seperti
itu karena akan banyak memakan memori. Untuk lebih jelasnya perhatikan potongan
program di bawah ini:
procedure Z;
begin
{ statement }
Z;
end
|
Dalam
bahasa Pascal, secara garis besar dikenal dua macam tipe data yaitu tipe data
sederhana (primitive type) dan tipe data kompleks (complex type).
Tipe data sederhana adalah tipe data yang hanya mampu menyimpan satu nilai tiap
satu variabelnya. Contoh tipe data sederhana adalah tipe numerik (integer
dan real), tipe data karakter, tipe data boolean dan tipe data
ennumerasi. Tipe data kompleks adalah tipe data yang mampu menyimpan lebih dari
satu nilai dalam tiap satu variabelnya. Contoh tipe data kompleks adalah string,
array (larik), record dan object.
Bentuk umum
dari deklarasi tipe data adalah
Keterangan:
pengenal : nama pengenal
yang menyatakan tipe data.
tipe
: tipe data
yang berlaku dalam Turbo Pascal.
4.1 Tipe Data Sederhana
4.1.1 Tipe Ordinal
Semua tipe sederhana disebut tipe
ordinal kecuali real. Karakteristik tipe data ordinal antara lain :
- Semua kemungkinan nilai dari suatu tipe
ordinal merupakan himpunan berurutan dan setiap nilai berkaitan dengan
ordinalitasnya yaitu nilai integral.
- Fungsi standard ord dapat
diterapkan pada sembarang tipe ordinal untuk mengetahui ordinalitasnya.
- Fungsi standard pred dapat
diterapkan untuk mengetahui predesesor.
- Fungsi standard succ dapat
diterapkan untuk mengetahui suksesor.
4.1.2 Tipe Integer
Tipe integer adalah tipe data
yang nilainya tidak mempunyai titik desimal. Ada lima tipe data yang termasuk
dalam kelompok ini seperti terlihat pada tabel di bawah ini.
Tipe
|
Batas Nilai
|
Ukuran dalam
byte
|
byte
|
0..255
|
1
|
shortint
|
-128..127
|
1
|
integer
|
-32768..32767
|
2
|
word
|
0..65535
|
2
|
longint
|
-2147483648..2147483647
|
4
|
Tipe data juga menentuka operasi yang
bisa dikerjakan. Pada tipe integer operator-operator yang bisa
dikerjakan antara lain:
Tabel
2.2 Operator-operator pada tipe
integer
Operator
|
Kegunaan
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
div
|
Pembagian
|
mod
|
Sisa pembagian
|
4.1.3 Tipe Boolean
Data tipe boolean mempunyai dua
nilai yakni benar dan salah. Dengan memakai operator and, or atau
not maka dapat dibentuk ungkapan boolean yang lebih rumit.
4.1.4 Tipe Char
Tipe char digunakan untuk
mendefinisikan tipe data yang nilainya merupakan himpunan karakter yang dikenal
komputer seperti yang tersaji dalam tabel ASCII. Dalam program, konstanta
bertipe char ditulis diantara tanda petik, misalnya 'A' . Perlu diingat
bahwa data bertipe char hanya terdiri dari 1 karakter.
4.1.5 Tipe Terbilang
Disebut tipe terbilang karena semua
nilai disebut satu persatu, contoh
Type Toko = (baru, ramai, sukses, rapi,
gadjah)
|
Perlu diperhatikan bahwa dalam tipe
terbilang semua data harus diletakkan di antara kurung, urutan datanya harus
diperhatikan karena akan mempengaruhi fungsi pred dan succ.
4.1.6 Tipe
Subjangkauan
Tidak jarang terjadi batas nilai yang
mungkin untuk suatu perubah merupakan bagian atau subjangkauan dari tipe data
yang telah didefinisikan, contoh nilai ujian adalah dari 0 sampai 100.
4.1.7 Tipe Real
Konstanta bertipe real adalah
bilangan yang berisi titik desimal. Dalam Pascal paling sedikit harus ada satu
digit sebelum dan sesudah titik desimal, tidak boleh ada koma dan nilainya bisa
positif atau negatif.
Dalam Turbo Pascal terdapat lima macam
tipe real yaitu real, single, double, extended
dan comp seperti terlihat pada tabel di bawah ini.
Tipe
|
Batasan Nilai
|
Angka
Signifikan
|
Ukuran dalam
byte
|
real
|
2.9 x
10E-39..1.7 x 10E38
|
11-12
|
6
|
single
|
1.5 x
10E-45..3.4 x 10e38
|
7-8
|
4
|
double
|
5.0 x
10E-324..1.7 x 10E308
|
15-16
|
8
|
extended
|
1.9 x
10E-4951..1.1 x 10E4932
|
19-20
|
10
|
comp
|
-2E63 +
1..2E63 – 1
|
19-20
|
8
|
Operator-operator
pada tipe real adalah :
Operator
|
Kegunaan
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
/
|
Pembagian
|
4.2.2 Tipe Data Kompleks
4.2.2.1 Tipe String
Data yang bertipe string adalah
data yang berisi sederetan karakter yang banyaknya karakter bisa berubah-ubah
sesuai kebutuhan yaitu dari 1 sampai 255 karakter.
Bentuk umum dari deklarasi tipe string
adalah:
type
pengenal = string <[panjang]>
|
Keterangan:
pengenal : nama tipe data.
panjang :
bilangan bulat yang menentukan banyaknya karakter, bila parameter panjang
karakter tidak ditulis maka dianggap 255 karakter.
4.2.2.2 Tipe Larik
Larik (array) adalah tipe
terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen
mempunyai tipe data yang sama. Posisi masing-masing komponen dalam larik
dinyatakan sebagai nomor indeks.
Bentuk umum dari tipe larik adalah
type pengenal = array [tipe_index]
of tipe;
pengenal : nama tipe data.
tipe_index : tipe data untuk nomor
index.
tipe : tipe data komponen.
Contoh,
type Vek = array [1..100] of
integer;
|
4.2.2.3 Tipe Rekaman
Sama halnya dengan larik, rekaman (record)
adalah kumpulan data. Perbedaan antara larik dengan rekaman adalah dalam larik
semua elemennya harus bertipe sama tetapi dalam rekaman setiap elemen bisa
mempunyai tipe data yang berbeda satu sama lainnya.
Bentuk umum deklarasi rekaman adalah
type pengenal = record
medan1 :tipe1;
medan2 :tipe2;
.
.
.
medann :tipen;
end;
|
Keterangan:
pengenal :
pengenal yang menunjukkan tipe data yang akan dideklarasikan.
medan1,…,
medann : nama medan yang akan digunakan.
tipe1,…,
tipen : sembarang tipe data yang telah dideklarasikan sebelumnya.
Contoh
deklarasi rekaman,
type Tgl_Kalender = record
Tanggal :1..31;
Bulan : 1..12;
Tahun : 1900..2000;
end;
|
4.2.2.4 Tipe Himpunan
Tipe himpunan adalah kumpulan obyek
yang mempunyai tipe data yang sama dan urutan penulisannya tidak
diperhatikan.Setiap onyek di dalam suatu himpunan disebut dengan anggota atau
elemen himpunan
Bentuk umum deklarasi himpunan adalah
type pengenal = set of
tipe_data;
|
atau dapat juga
langsung dideklarasikan dalam bagian deklarasi perubah seperti berikut
var pengenal = set of tipe_data;
|
Keterangan:
pengenal : nama perubah atau pengenal yang akan
dinyatakan sebagai tipe himpunan.
tipe_data :
tipe data dari anggota himpunan, harus bertipe ordinal.
Contoh
deklarasi himpunan adalah sebagai berikut.
type Irama = (jazz, rock, blues,
country, classic);
Musik = set of
Irama;
Nilai = set of
0..10;
Untai = set of char;
Huruf = set of
'A'..'Z';
Sakit = (pusing,
mual, lemas, lesu, letih);
Penyakit = set of
sakit;
|
4.2.2.5 Tipe Berkas
Berkas (file) adalah kumpulan
sejumlah komponen yang bertipe data sama yang jumlahnya tidak tentu dan
biasanya tersimpan dalam suatu media penyimpan luar. Jumlah komponen dalam
berkas dapat ditambah jika diperlukan.
Dalam Pascal, berkas menyediakan data
yang nantinya akan digunakan oleh suatu program. Berkas dapat berupa berkas
yang disimpan di dalam cakram magnetis, pita magnetis, kartu plong dan
sejenisnya atau berupa piranti logika yang selama ini kita gunakan, yaitu
dengan statemen input dan output, yang menunjukkan piranti masukan
keluaran standar (papan ketik dan layar tampilan).
Bentuk umum dari deklarasi berkas
adalah
type pengenal = file of pengenal1;
|
Keterangan:
pengenal : pengenal yang
akan dinyatakan sebagai tipe data berkas.
pengenal1 : tipe data
komponen berkas.