Você está na página 1de 10

Struktur Program Pascal

Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok
program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu : bagian
deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri
dari :
1. Judul program
2. Blok program
a. Bagian deklarasi
- deklarasi label
- deklarasi konstanta
- deklarasi tipe
- deklarasi variable
- deklarasi prosedur
- deklarasi fungsi
b. Bagian pernyataan
Judul Program
Judul program ini digunakan untuk memberi nama program dan sifatnya optional.
Jika
ditulis harus terletak pada awal dari program dan diakhiri dengan titik koma (;).
Contoh penulisan judul program :
PROGRAM coba;
PROGRAM gaji(input,output);
PROGRAM latihan_1;
Bagian Deklarasi
Bagian ini menjelaskan secara rinci semua data yang akan digunakan pada suatu
program. Dalam penulisannya tidak boleh sama dengan katakata cadangan (reserved words)
dan selalu diakhiri dengan titik koma (;).
Deklarasi Label
Digunakan jika pada penulisan program akan menggunakan statemen GOTO
(untuk meloncat ke suatu statemen tertentu).
Deklarasi Konstanta
Deklarasi ini digunakan untuk mengidentifikasikan data yang nilainya sudah
ditentukan dan pasti, tidak dapat dirubah dalam program.
Deklarasi Tipe
Deklarasi ini digunakan untuk menyebutkan tipe setiap data yang akan digunakan
pada program Pascal. Tipe data menentukan jangkauan nilai yang mungkin dari data
yang digunakan.
Pascal menyediakan beberapa macam tipe data, yaitu :
1. Tipe data sederhana, terdiri dari :

a. Tipe data standar : integer, real, char, string, boolean.


b. Tipe data didefinisikan pemakai : enumerated atau scalar, subrange
2. Tipe data terstruktur : array, record, file, set.
3. Tipe data penunjuk
Deklarasi variabel
Deklarasi ini berisi data-data yang bisa berubah-ubah nilainya di dalam program.
Deklarasi variabel harus diletakkan setelah deklarasi tipe (jika ada).
Unit
Suatu unit adalah kumpulan dari konstanta, tipe-tipe data, variable, prosedur dan
fungsi-fungsi. Tiap-tiap unit tampak seperti suatu program Pascal yang terpisah. Unit
standar sudah merupakan kode mesin (sudah dikompilasi), bukan kode sumber Pascal
lagi dan sudah diletakkan di memori pada waktu menggunakan pascal. Untuk
menggunakan suatu unit, harus diletakkan suatu anak kalimat Uses diawal blok
program, diikuti oleh daftar nama unit yang digunakan.
Unit CRT
Digunakan untuk memanipulasi layar teks (windowing, peletakkan cursor dilayar,
color untuk teks, kode extanded keyboard dan lainnya). Unit standar crt hanya dapat
digunakan oleh program yang digunakan dikomputer IBM PC, IBM AT, IBM PS/2 atau
yang kompatibel dengannya.
Bagian Pernyataan / Terproses
Bagian yang akan diproses dan terdapat dalam suatu blok yang diawali dengan
BEGIN dan diakhiri dengan END, setiap statamen yang merupakan instruksi program
diakhiri dengan tanda titik koma (;).
Bentuk umumnya adalah sebagai berikut :
BEGIN
..............
statemen;
..................
END.
Contoh program
Program Coba1;
uses wincrt;
Label satu;
CONST a = 15;
{ selalu menggunakan tanda = }
TYPE nyata = real; { selalu menggunakan = }
VAR b : integer;
c :nyata; { selalu menggunakan : }
Begin
b:=1;
c:=a+b;

writeln ('Hasil = ',c:3:2);


writeln(c);
WRITELN('Universitas ');
GOTO SATU;
WRITELN('Sains dan Teknologi');
satu:
WRITELN('Jayapura');
End.
Output Program
Hasil : 16.00
Universitas
Jayapura
Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai
subprogram (program bagian). Diawali dengan kata cadangan Procedure didalam bagian
deklarasi prosedur. Procedure biasanya bersifat suatu aktifitas seperti menghitung luas,
meghitung faktorial, mencari nilai maksimum/minimum,dsb. Prosedur banyak digunakan
pada program yang terstruktur karena :
1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang
rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedurprosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja
dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila
diperlukan.
3. Membuat kode program lebih mudah dibaca.
4. Dapat digunakan untuk menyembunyikan detil program
Notasi Algoritmik
program tukar
kamus : A,R : integer {}
procedure tukar (in/out : A,R : integer)
algoritma : input (A,R)
Tukar (A,R)
Output (A,R)

procedure tukar2(in/out : A,R : integer)


kamus lokal : B : integer
algoritma : B A
AR
RA
Pada flowchart, untuk menuliskan prosedur digunakan notasi Predefined Process. Secara
skematis, penggunaan prosedur dapat dilihat pada gambar 6.6.

Gambar 6.6. menunjukkan ada proses utama yang terjadi, dan ada prosedur yang sebenarnya
merupakan bagian dari proses utama ini. Ketika proses utama membutuhkan suatu tugas
tertentu, maka proses utama akan memanggil prosedur tertentu menyelesaikan tugas tersebut.
Perhatikan contoh berikut:
Contoh 6.3. Prosedur
Buatlah algoritma menghitung luas segitiga, segiempat, dan lingkaran.
Penyelesaian:
Untuk membuat algoritma ini kita dapat memandang proses perhitungan luas segitiga, luas
segiempat, dan luas lingkaran sebagai bagian program yang berdiri sendiri. Kita dapat
membuat prosedur untuk masing-masing proses. Dan kita akan memanggil prosedur tersebut
dari proses utama (gambar 6.7).

Urutan proses pada gambar 6.7 adalah sebagai berikut.

Pembacaan data

Pada proses utama akan terjadi pengecekan pada data yang dibaca,

Apabila data yang dibaca adalah untuk segitiga, maka proses utama akan memanggil
prosedur hitung luas segitiga dengan membawa nilai variable yang diperlukan oleh
prosedur luas hitung segitga.

Proses perhitungan luas segitiga hanya dilakukan pada prosedur tersebut.

Setelah proses perhitungan, maka hasil perhitungan akan dibawa kembali ke proses
utama untuk dicetak hasilnya.

Urutan proses yang sama juga terjadi jika data yang dibaca adalah untuk segi-empat atau
lingkaran.
Prosedur yang baik memiliki ciri-ciri sebagai berikut:

Hanya memiliki satu fungsi tujuan (logical inherent).


Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak bercampur
dengan tujuan-tujuan lain. Hal ini untuk membuat prosedur lebih focus, sehingga
tujuan akan dapat tercapai dengan baik.

Tidak tergantung pada prosedur lain (independent).


Sebuah prosedur harusnya bersifat mandiri, artinya prosedur ini dapat berjalan dan
diuji tanpa menunggu bagian lainnya selesai. Selain itu variable-variabel yang
digunakan dalam prosedur tersebut tidak mempengaruhi variable-variabel yang
digunakan pada bagian lain di keseluruhan program.

Berukuran kecil (small size).


Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode program
pada suatu prosedur. Ukuran kecil akan mudah dibaca dan diperbaiki. Apabila sebuah
modul sudah terlalu besar maka sebaiknya dipertimbangkan untuk dipecah-pecah
menjadi beberapa modul yang lebih kecil.

FUNGSI
Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi
mempunyai output dengan tipe variabel yang kita tentukan. Dan cara pemanggilan variabel
ada 2 macam dalam pascal. Yaitu :

Mengoutputkan nilai dari fungsi tersebut Contoh : Writln (namafungsi(parameter));

Dengan assignment Variabel1 := namafungsi(parameter);

Berbeda dengan procedure yang bisa tidak menggunakan parameter, fungsi harus
menggunakan parameter dalam penggunaannya.
algoritmik
program faktorial
kamus : a : integer
function faktor (a : integer) integer
algoritma
input (a)
output (faktor(a))
function faktor (a:integer) integer
kamus :
i, hasil : integer
algoritma :
hasil 1
i traversal [a..1]

hasil hasil * i
faktor hasil
FUNCTION identifier (daftar parameter) : type ;
Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan
End dan titik koma.
Perbedaan fungsi dengan prosedur adalah :
1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya ( kalau pada
prosedur pada parameter yang dikirimkan secara acuan).
2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat
langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga
langsung dipindahkan ke pengenal variable yang lainnya.
3. Pada prosedur, nama prosedur tidak dapat digunakan lagsung, yang dapat langsung
digunakan adalah parameternya yang mengandung nilai balik.
Mengapa menggunakan prosedur dan fungsi ?
1. Memecahkan program yang rumit dan besar menjadi program-program yang lebih
sederhana.
2. Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan berulang-ulang.
3.
1.Bilangan bulat ( integer )

Tipe data ini menerima angka dan bisa dilakukan proses aritmatika. Tipe data ini
adalah tipe data bilangan bulat, yaitu Bilangan atau angka yang tidak memiliki titik
desimal atau pecahan.
Contoh :
Program display_maxint;uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
2. Bilangan biasa ( real )

Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, Tipe data ini
menerima angka dan koma serta bisa dilakukan proses aritmatika.
Contoh :

a' 'B' '+', dsb.


3. Boolean

Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu true dan
false. Biasanya digunakan untuk operasi logika dengan ungkapan AND, OR, atau
NOT
Contoh :
Program display_bool;uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.
4. Karakter ( char )

Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga
simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: A,
B, .....,Z, ?,!, dst. Tipe data ini adalah tipe data yang menerima kumpulan
karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan proses aritmatika.
4. 2. String

String adalah tipe data bentukan yang merupakan deretan karakter yang membentuk
satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip. Tipe data yang
menerima kumpulan karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan
proses aritmatika
5. Tipe Data Terstruktur
1. Array

Array atau lark adalah tipe terstruktur yang mempunyai komonen dalam jumlah yang
tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing
komponen dalam array dinyatakan sebagi nomor index.
Contoh:
Type
Tipe_saya=array[1..100] of integer
Var
Var_baru : tipe_saya;
2. Record

Definisi Record hampir sama dengan Array, tetapi yang membedakan antara
keduanya adalah kalau Array semua komponennya bertipe data yang sama sedangkan
Record setiap komponennya bisa bertipe data yang beda-beda.
Contoh:
TYPE my_rec = RECORD
Nama : STRING[90]; Npm : STRING[ 8] ;
Nilai : REAL;
END;
VAR
Data nya : my re c;
3. Set

Himpunan (set) adalah kumpulan obyek yang mempunyai tipe data yang sama dan
urutan penulisannya tidak diperhatikan. Setiap obyek dalam suatu himpunan disebut
dengan anggota atau elemen himpunan.
Contoh:
TYPE irama = (JAZZ, POP, ROCK ,DANGDUT, SKA);
Musik = SET OF irama;
VAR
Jenis musik : Musik;
4. File

File (Berkas) adalah kumpulan sejumlah komponen yang bertipe data sama, yang
jumlahnya tidak tertentu, dan biasanya tersimpan dalam suatu media penyimpan luar
TIPE DATA PENUNJUK
6. Pointer

Tipe data pointer merupakan tipe data yang berbeda dengan yang lainnya. Semua tipe
data yang lainnya bersifat STATIS sedangkan tipe Pointer bersifat DINAMIS. Tipe ini
merupakan tipe data untuk suatu variabel, dimana isi variabel ini berupa alamat
variabel lain, dalam artian variabel pointer adalah variabel yang menunjuk nilai atau
alamat variabel lainnya.

Unknown identifier
Pengenal belum dideklarasika
Syntax error
Suatu karakter tidak sah telah ditemukan di program sumber.
Kemungkinan kesalahan ini disebabkan lupa menuliskan tanda
petik diantara suatu konstanta string.

String constant exceeds line


Konstanta string melebihi suatu baris
Type mismatch
Kesalahan ini disebabkan karena tiepe variabel dan ungkapan
yang tidak sesuai di statement pengerjaan, tipe parameter
formal dan parameter nyata yang tidak sesuai pada penggunaan
suatu prosedur atau fungsi, tipe ungkapan dan tipe indeks yang
tidak sesuai untuk indeks suatu larik dan tipe operand yang
tidak sesuai di suatu ungkapan.

Você também pode gostar