Thursday, 8 January 2015
Pascal
1 STRUKTUR PROGRAM PASCALSecara umum, yang disebut dengan program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehinggga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. Dengan demikian ada beberapa hal yang perlu diperhatikan dalam penyusunan program, karena bahasa yang satu dengan yang lain berbeda aturannya. Dengan memahami aturan tersebut diharapkan program yang tersusun akan bisa dijalankan dengan baik dan memberikan hasil yang memuaskan.
Berikut struktur program Pascal :
program BAGAN_PROGRAM; {* nama program *}
uses ................ {* deklarasi piranti *}
label ................ {* deklarasi label *}
const ................ {* deklarasi konstanta *}
type ................ {* deklarasi tipe data *}
var ................ {* deklarasi perubah *}
procedure SATU;
procedure DUA;
function TAMBAH;
begin {* awal program utama *}
---
( statement – statement dari program BAGAN_PROGRAM )
---
end. { * akhir program utama *}
2 TOKEN DAN KONSTANTA
2.1 Simbol-simbol Khusus dan Kata Baku
Token adalah unit terkecil dari teks dalam program Pascal yang mempunyai arti khusus, dan dikelompokkan menjadi simbol, pengenal (identifier), label, bilangan dan konstanta untai (string constant).
Dalam Pascal, token dibentuk dengan menggunakan sejumlah karakter yang merupakan subhimpunan dari himpunan karakter ASCII (American Standard Code for Information Interchange). Karakter-karakter yang digunakan adalah :
- Huruf : A sampai Z dan a sampai z
- Digit : angka 0 sampai 9
- Digit heksadesimal : angka 0 sampai 9, huruf A sampai F dan huruf a sampai f
Simbol-simbol khusus dan kata baku adalah karakter-karakter yang mempunyai satu atau lebih arti yang tetap. Karakter-karakter berikut adalah simbol-simbol khusus :
+ - * / = < > [ ] . , ( ) : ; ^ @ { } $ #
Pasangan karakter-karakter berikut ini juga merupakan simbol-simbol khusus :
<= >= := . . (* *) (. .)
2.2 Pengenal
Pengenal digunakan untuk menunjukkan konstanta, tipe, perubah, prosedur, fungsi, unit, program dan medan-medan dalam rekaman. Panjang pengenal bisa terdiri dari beberapa karakter, tetapi yang digunakan adalah 63 karakter pertama.
2.3 Label
Label adalah deretan digit antara 0 sampai 9999. Digit 0 pertama tidak diperhatikan . Label ini digunakan oleh statement goto untuk melompatkan suatu proses eksekusi ke suatu statement tertentu. Dalam Pascal, pengenal juga bisa berfungsi sebagai label.
1.2.4 Bilangan
Konstanta bilangan riil atau bulat biasanya dinyatakan dalam sistem bilangan desimal. Konstanta bilangan bulat juga sering dituliskan menggunakan sistem bilangan heksadesimal yang diawali dengan tanda $. Konstanta bilangan riil juga bisa ditulis menggunakan notasi eksponensial. Sebagai contoh, bilangan 7E-2 artinya adalah 7 x 10-2, bilangan 12.9e+4 atau 12.9e4 mempunyai arti yang sama, yaitu sama dengan 12.9 x 104.
Bilangan yang mempunyai titik desimal atau yang ditulis menggunakan notasi eksponensial selalu berupa bilangan riil. Bilangan riil bisa ditulis menggunakan notasi fixed point, misalnya 12.5, atau menggunakan notasi floating point misalnya 1.25e1.
2.5 Untai Karakter
Untai karakter adalah deretan dari sejumlah karakter yang terdapat dalam tabel ASCII, yang harus ditulis diantara tanda kutip, ’. Untai karakter yang tidak mempunyai apa-apa diantara tanda kutip tersebut disebut karakter kosong (null string). Panjang untai karakter dinyatakan sebagai banyaknya karakter yang ditulis diantara tanda kutip.
2.6 Konstanta
Deklarasi konstanta menunjukkan nilai yang tetap dari suatu pengenal dan berlaku pada blok dimana deklarasi tersebut dinyatakan. Bentuk umum dari deklarasi konstanta adalah :
const pengenal = nilai;
dengan pengenal : nama pengenal
nilai : nilai konstanta
Berikut disajikan contoh deklarasi konstanta :
const Awal = 0;
Akhir = 100;
Rata = (Akhir – Awal) div 2;
Huruf = [ ‘A’ . . ‘Z’, ‘a’ . . ‘z’ ];
Angka = [ ‘0’ . . ‘9’ ]
2.7 Baris Komentar
Baris komentar adalah suatu kalimat yang biasanya digunakan untuk menjelaskan antara lain kegunaan dari program, batasan-batasannya dan lain-lain. Baris komentar ini bersifat unexecutable statement
3 TIPE DATA
Dalam Pascal, semua perubah yang akan dipakai harus sudah ditentukan tipe datanya. Dengan menentukan tipe data suatu perubah, sekaligus menentukan batasan nilai perubah tersebut dan jenis operasi yang bisa dilaksanakan atas perubah tersebut.
Bentuk umum dari deklarasi tipe data adalah :
type pengenal = tipe;
dengan pengenal : nama pengenal yang menyatakan tipe data
tipe : tipe data yang berlaku dalam Pascal
3.1 Tipe Sederhana
Tipe data sederhana juga disebut dengan tipe data skalar, yang bisa diartikan bahwa dalam sebuah perubah hanya dimungkinkan untuk menyimpan sebuah nilai data. Tipe sederhana terbagi menjadi dua, yaitu tipe ordinal dan tipe real.
3.1.1 Tipe Ordinal
Tipe ordinal adalah subset dari tipe sederhana. Semua tipe data sederhana disebut tipe ordinal kecuali real. Pascal memiliki 7 (tujuh) tipe ordinal standad, yaitu integer, shortint, longint, byte, word, boolean dan char. Disamping itu ada dua tipe ordinal yang bisa didefinisikan sendiri oleh pemakai (user-defined data types), yaitu tipe subjangkauan (subrange) dan terbilang (enumerated).
3.1.1.1 Tipe Integer
Tipe integer adalah tipe data yang nilainya tidak mempunyai titik desimal. Dalam Pascal hanya digit yang bisa muncul sebagai integer, dengan demikian tidak ada karakter lain, misalnya koma yang diperbolehkan. Tanda plus atau minus dapat mendahului bilangan tersebut.
3.1.1.2 Tipe Boolean
Data tipe boolean mempunyai dua nilai, yakni benar dan salah. Dengan menggunakan operator and, or, atau not dapat dibentuk ungkapan boolean yang lebih rumit.
3.1.1.3 Tipe Char
Dalam Pascal kata char digunakan untuk mendefinisikan tipe data yang nilainya merupakan himpunan karakter dalam tabel ASCII. Dalam program konstanta bertipe char ditulis diantara tanda petik dan hanya terdiri dari satu karakter, misalnya :
‘A’ ‘B’ ‘,’ ‘4’
3.1.1.4 Tipe Terbilang
Disebut tipe terbilang karena semua nilai disebut satu persatu. Dalam penulisannya semua data harus diletakkan diantara tanda kurung. Urutan dalam data tipe terbilang perlu diperhatikan karena akan mempengaruhi nilai fungsi pred dan succ. Sebagai contoh :
type Hari = ( Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu )
3.1.1.5 Tipe Subjangkauan
Tidak jarang terjadi batas nilai yang mungkin untuk suatu perubah merupakan bagian (subjangkauan) dari tipe data yang telah didefinisikan. Data bertipe subjangkauan dapat didefinisikan pada tipe ordinal yang sebelumnya telah didefinisikan terlebih dahulu. Deklarasi tipe subjangkauan mempunyai bentuk umum :
type pengenal = konstanta1 . . konstanta2;
dengan pengenal : nama tipe data yang akan dideklarasikan
konstanta1 : batas bawah nilai data
konstanta2 : batas atas nilai data
Sebagai contoh :
type Nilai = 0 . . 100;
3.1.2 Tipe Riil
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. Bilangan riil juga bisa dinyatakan dalam bentuk eksponensial. Contoh :
0.00017543 adalah 1.7543E-4
3.2 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. Tipe string yang tidak dinyatakan panjang karakternya dianggap mempunyai 255 karakter.
Bentuk umum dari deklarasi tipe string adalah :
type pengenal = string < [ panjang ] >
dengan pengenal : nama tipe data
panjang : bilangan bulat yang menunjukkan banyaknya karakter
3.3 Tipe Terstruktur
Dalam tipe terstruktur setiap perubah bisa menyimpan lebih dari sebuah nilai data. Masing-masing nilai data tersebut disebut dengan komponen.
Pascal mempunyai 4 (empat) buah tipe data terstruktur, yaitu larik, rekaman, himpunan dan berkas.
3.3.1 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 index.
Bentuk umum dari deklarasi tipe larik adalah :
type pengenal = array [ tipe_index ] of tipe;
dengan pengenal : nama tipe data
tipe_index : tipe data untuk nomor index
tipe : tipe data komponen
3.3.2 Tipe Rekaman
Sama halnya dengan larik, rekaman (record) adalah kumpulan data. Perbedaan antara larik dengan rekaman adalah bahwa dalam larik semua elemennya harus bertipe sama, tetapi dalam rekaman setiap elemen bisa mempunyai tipe data yang berbeda satu sama lain.
Bentuk umum deklarasi rekaman adalah :
type pengenal = record
medan1 : tipe1;
medan2 : tipe2;
--
medann : tipen
end;
3.3.3 Tipe Himpunan
Himpunan adalah kumpulan objek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan.Setiap objek didalam suatu himpunan disebut dengan anggota atau elemen himpunan.
Bentuk umum deklarasi himpunan adalah :
type pengenal = set of tipe_data;
Himpunan juga dapat langsung dideklarasikan dalam bagian deklarasi perubah :
var pengenal : set of tipe_data;
dengan pengenal : nama pengenal yang akan dinyatakan sebagai tipe himpunan
tipe_data : tipe data dari anggota himpunan, harus bertipe ordinal
3.3.4 Tipe Berkas
Berkas (file) adalah kumpulan sejumlah komponen yang bertipe sama, yang jumlahnya tidak tertentu, dan biasanya tersimpan dalam suatu media penyimpan luar. Jumlah komponen dalam berkas dapat ditambah jika diperlukan.
Bentuk umum deklarasi berkas adalah :
type pengenal = file of pengenal1;
dengan pengenal : pengenal yang akan dinyatakan sebagai bertipe data berkas
pengenal1 : tipe data komponen berkas
3.4 Tipe Pointer
Semua tipe data yang telah dijelaskan diatas, apabila digunakan untuk mendeklarasikan suatu perubah, maka sifat perubah tersebut adalah perubah yang statis. Pascal dilengkapi fasilitas yang memungkinkan pemakai untuk menggunakan perubah yang bersifat dinamis, yang disebut dengan pointer.
4 PERUBAH
Perubah sebenarnya mewakili suatu nilai data tertentu yang akan dioperasikan dalam suatu program. Setiap perubah harus dinyatakan tipe datanya.
Bentuk umum deklarasi perubah adalah :
var pengenal : tipe_data;
dengan pengenal : nama perubah yang akan dideklarasikan
tipe_data : tipe data yang akan digunakan
5 PROSEDUR DAN FUNGSI
Prosedur dan fungsi memungkinkan kita untuk menambahkan sekelompok statemen yang seolah-olah terpisah dari program utama tetapi sesungguhnya merupakan bagian dari program utama. Prosedur diaktifkan menggunakan statemen prosedur (pemanggil prosedur) dan fungsi diaktifkan dengan suatu ungkapan yang hasilnya akan dikembalikan lagi sebagai nilai baru dari ungkapan tersebut.
5.1 Prosedur
Semua deklarasi dalam prosedur (deklarasi label, konstanta, tipe data dan perubah) disebut deklarasi lokal, sehingga hanya bisa digunakan dalam prosedur saja. Sedangkan deklarasi dalam program utama bersifat global, sehingga bisa digunakan dalam bagian program manapun.
Bentuk umum deklarasi prosedur :
procedure nama <(dafpar)>;
dengan nama : nama prosedur
dafpar : daftar parameter formal
5.2 Fungsi
Secara umum fungsi hampir sama dengan prosedur, perbedaannya nama fungsi sekaligus berfungsi sebagai suatu perubah, sehingga dalam deklarasi fungsi harus dinyatakan tipe datanya.
Bentuk umum deklarasi fungsi :
function nama <(dafpar)> : tipe;
dengan nama : nama fungsi
dafpar : daftar parameter formal
tipe : tipe data dari fungsi tersebut
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment