Contoh :Misal akan dibuat suatu procedure untuk menentukan bilangan bulat terbesar diantaratiga bulangan bulat, maka procedure tersebut adalah sebagai berikut :PROCEDURE maksimum;
VAR max : integer;
BEGIN
IF a > b THEN max := a ELSE max := b;
IF c > max THEN max := c;
WRITELN(max);
END.
Selanjutnya, di dalam suatu program, procedure ini dapat digunakan dengan bentuk penulisan
sebagai berikut :Contoh 1 PROGRAM contoh_1; VAR a,b,c : integer; PROCEDURE maksimum; VAR max : integer; BEGIN IF a>b THEN max := a ELSE max := b; IF c>max THEN max := c; WRITELN(max); END; BEGIN READLN(a,b,c); Maksimum End.Contoh 2 PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real; PROCEDURE kotak; VAR v,pl : real; BEGIN v := p * l * t ; pl := p + 2.0 * t; writeln(v,pl); END; BEGIN writeln(‘panjang’ : 10,’lebar’ : 10,’tinggi’ : 10); readln(p,l,t); kotak; END.
Procedure dan Parameter
Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.
Contoh : Prosedur Tanya_hitung; Var X,Y :real; Begin Write (‘Nilai X ?’); Readln(X); Y:=X*X; Writeln(‘Nilai Y = ‘,Y:6:2); End; Begin Tanya_Hitung; End.
Hasilnya : Nilai X ? 5 Nilai Y = 25.00
Keterangan : Variabel X dan Y sifatnya adalah lokal untuk prosedur Tanya_hitung, artinya hanya dapat digunakan pada modul itu saja, Pada modul yang lain tidak dapat digunakan, contoh : Prosedur Tanya_hitung; Var X,Y :real; Begin Write (‘Nilai X ?’); Readln(X); Y:=X*X; End; Begin Tanya_Hitung; Writeln(‘Nilai Y = ‘,Y:6:2); End.
Hasilnya : Error 31: Unknown identifier
Supaya nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara : 1. Dibuat bersifat global2. Dikirimkan sebagai parameter ke modul yang membutuhkannya.
Prosedur Standar Prosedur yang disediakan oleh Turbo Pascal : 1. Prosedur standar EXIT :Digunakan untuk keluar dari suatu blok.
2. Prosedur standar HALT :Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
3. Prosedur standar MOVE {Bentuk umum : MOVE (Var source,dest; count : word);} : Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest.
4. Prosedur standar FILLCHAR :Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut FillChar(x;count :word;ch);
X adalah variabel yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal Ch sebanyak count byte.
FUNCTION
- Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya(kalau pada prosedur parameter yang dikirimkan secara acuan).
- 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 variabel yang lainnya.
- Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
Fungsi Standar
1. Fungsi standar arutmatika
• Fungsi standar ABS
Bentuk umum : ABS(x); Digunakan untuk memutlakkan suatu nilai yang
ditunjukkan oleh argumen x.
Contoh :
Begin
X:=-2.3;
Write(‘Nilai X = ‘,X,’ Nilai mutlaknya = ‘,Abs(X):3:1);
End.
• Fungsi standar EXP
Bentuk Umum : EXP(x:):real; Digunakan untuk menghitung nilai pangkat dari bilangan e yaitu sebesar ex. Hasilnya berupa nilai real.
• Fungsi standar LN
Bentuk umum : LN(x):real; Digunakan untuk menghitung nilai logaritma
alam (natural logarithm) dari nilai x. Hasilnya berupa nilai real.
• Fungsi standar INT
Bentuk umum : INT(x:real):real; Digunakan untuk menghasilkan nilai
integer dari x. hasil dari fungsi adalah tipe real dengan nilai yang berupa pembulatan ke bawah (nilai pecahan dibuang) dari nilai x.
Contoh :
Begin
X:=9.99;
Write(‘Nilai yang akan dibulatkan = ‘,X);
Writeln(‘Nilai pembulatannya = ‘,Int(X):3:2);
End.
Hasil :
Nilai yang akan dibulatkan = 9.99
Nilai pembulatannya = 9.00
• Fungsi standar FRAC
Bentuk umum : FRAC(x:):real; Digunakan untuk mendapatkan nilai
pecahan dari argumen x. Argumen x dapat bernilai real maupun integer dan
hasil dari fungsi adalah real.
Contoh :
Begin
X:=9.99;
Write(‘Nilai X = ‘,X,’ Nilai pecahannya = ‘,Frac(X):4:3);
End.
Hasilnya : Nilai X = 9.99 Nilai pecahannya = 0.990
• Fungsi standar SQR
Bentuk umum : SQR(x); Digunakan untuk menghitung nilai pangkat
kuadrat dari argumen x.
Contoh :
Begin
X :=2;
Write(‘Nilai X = ‘,X,’ Nilai kuadratnya = ‘,sqr(x));
End.
Hasilnya : Nilai X = 2 Nilai kuadratnya = 4
• Fungsi standar SQRT
Bentuk umum : SQRT(x) : real;Digunakan untuk menghitung nilai akar dari argumen x, hasilnya berupa real.
• Fungsi standar PI, SIN, COS, ARCTAN
2. Fungsi Standar Transfer
Digunakan untuk merubah suatu nilai ke bentuk nilai lain.
• Fungsi standar CHR
Bentuk umum : CHR(x:byte):char; Digunakan untuk merubah nilai dari byte x ke bentuk karakter yang sesuai dengan kode ASCII.
Contoh :
X := 66;
Write(‘Nilai X = ‘,x,’ Nilai karakternya = ‘,CHR(X));
Hasilnya : Nilai X = 66 Nilai karakternya = B
• Fungsi standar ORD
Bentuk umum : ORD(x):longint; Digunakan untuk merubah nilai x ke
bentuk nilai longint yang sesuai dengan kode ASCII, merupakan kebalikan dari fungsi CHR.
• Fungsi standar ROUND
Bentuk umum : ROUND(x:real):longint; Digunakan untuk membulatkan
nilai dari real x ke nilai longint yang terdekat.Bila nilai pecahan sama dgn atau lebih besar dari 0.5 akan dibulatkan ke atas, sedang kalau lebih kecil
dari 0.5 akan dibulatkan ke bawah.
Contoh :
Write(’10 dibagi 3 hasil pembulatan terdekat ‘,Round(10/3));
Writeln(’20 dibagi 3 hasil pembulatan terdekat adalah ‘,Round(20/3);
Hasilnya :
10 dibagi 3 hasil pembulatan terdekat adalah 3
20 dibagi 3 hasil pembulatan terdekat adalah 7
• Fungsi standar TRUNC
Bentuk umum : TRUNC(x:real):longint; Digunakan untuk membulatkan nilai
dari real x ke nilai longint terkecil. Atau dengan kata lain membulatkan ke
bawah.
Contoh :
Write(’10 dibagi 3 hasil pembulatan terdekat ‘,Trunc(10/3));
Writeln(’20 dibagi 3 hasil pembulatan terdekat adalah ‘,Trunc(20/3);
Hasilnya :
10 dibagi 3 hasil pembulatan terdekat adalah 3
20 dibagi 3 hasil pembulatan terdekat adalah 6
3. Fungsi Standar Lainnya
Fungsi standar yang tidak termasuk dalam kelompok pembagian di atas : • Fungsi standar Hi, Lo, Swap
• Fungsi standar Random
Bentuk umum : Random [(range :word)]; Digunakan untuk menghasilkan
angka random berkisar dari nilai lebih besar atau sama dengan nol dan
lebih kecil dari satu. Bila range tidak disebutkan, hasil dari fungsi ini adalah
real, bila range disebutkan, hasilnya adalah word.
• Fungsi standar SizeOf
Bentuk umum : SizeOf(x):word; Digunakan untuk menunjukkan besarnya
byte yang digunakan oleh suatu variabel x, hasilnya berupa nilai word.
• Fungsi standar UPCASE
Bentuk umum : UpCase(Ch:char):char; Digunakan untuk merubah argumen
suatu karakter yang ditunjukkan oleh Ch
menjadi bentuk karakter huruf besar (upper case).