Anda di halaman 1dari 10

PROCEDURE (2)

8.1 PROCEDURE

A. PARAMETER adalah : nama-nama peubah yg dideklarasikan pada bagian header prosedur.Karena


sebagian program memerlukan pertukaran data/informasi antara prosedur (fungsi) dan titik
dimana ia dipanggil.Penggunaan parameter menawarkan mekanisme pertukaran informasi
tsb.Tiap item data di transfer antara parameter actual dan parameter formal yang bersesuian
pada waktu pemanggilan prosedur.Parameter formal adalah parameter yang di deklarasikan di
dalam bagian header prosedur itu sendiri.Ketika prosedur di panggil.Parameter actual
menggantikan parameter formal.Tiap-tiap parameter actual berpasangan dengan formal yang
bersesuaian.
8.2 PROCEDURE dengan PARAMETER
A. PARAMETER dibedakan menjadi 2 kategori yaitu :
a. Parameter Formal : parameter yang dideklarasikan mengikuti pendeklarasian program
utama.
b. Parameter Aktual : parameter yang ditulis mengikuti pemanggilan prosedur.

B. ATURAN dalam PARAMETER FORMAL & AKTUAL.


a. Banyaknya parameter actual harus sama dengan banyaknya parameter formal.
b. Tiap-tiap parameter actual harus bertipe sama dengan parameter formal yang
bersesuaian.
c. Tiap-tiap parameter actual harus di ekpresikan sesuai dengan parameter formal.

C. PENGIRIMAN PARAMETER terbagi menjadi dua :


1. Pengiriman Parameter scr Nilai (by Value) :
 Pengiriman nilai parameter scr value merupakan pengiriman searah artinya hanya
dari parameter actual ke parameter formal .
 Tiap-tiap parameter dalam prosedur utama akan berisi nilai yang di kirim oleh
parameter actual dan bersifat local di prosedur .
 Perubahan parameter formal (di prosedur ) tidak mempengaruhi terhadap nilai
parameter aktual.
2. Pengiriman Parameter scr Acuan (by Reference) :
 Merupakan pengiriman dua arah yaitu dari (parameter actual  formal & formal 
actual)
 Perubahan nilai pada parameter formal (yang ada di prosedur ) mempengaruhi pada
Parameter actual (yang ada di program utama).
 Dicirikan dengan penggunaan deklarasi VAR pada parameter didalam prosedur-nya.
EXAMPLE : P81.pas

PROCEDURE DENGAN PARAMETER BY VALUE :

Uses winCrt;
Var
X,Y,Z : integer :
Procedure Hitung (A,B,C : integer );
Begin
B :=A;
C :=A+B;
Writeln(A,B,C);
End;
Begin missal :
Write(‘input A : ‘);readln(X);<input.10>
Write(‘input B : ‘);readln(Y);<input.15>
Write(‘input C : ‘);readln(Z);<input.20>
Hitung (X,Y,Z);
Readln;
End.
EXAMPLE : P82.pas

PROCEDURE DENGAN PARAMETER BY REFERENCE

Uses winCrt;
Var
X,Y,Z : integer;

Procedure Hitung(Var A,B,C : integer);


Begin
B:=A;
C:=A+B;
Writeln(A,B,C);
End;
Begin missal
Write(‘input A : ‘);readln(X);<input.10>
Write(‘input B : ‘);readln(Y);<input.15>
Write(‘input C : ‘);readln(Z);<input.20>
Hitung (X,Y,Z);
Readln;
End.
EXAMPLE : P83.pas

1. Program berikut adalah menghitung volume silinder dengan menggunakan Procedure.


Ketentuan sebagai berikut :

Input : jari-jari & Tinggi Silinder


Proses : LA := 3,14 * Sqr (Jari);
Vol := LA * High;
Output : Volume Tabung ?

File Name : P83.Pas

Program Vol_Silinder ;
Uses wincrt;
Var R,T,LA,Vol :Real ;

Procedure volume (Jari,High :Real);


Begin
LA :l= 3.14 * Sqr(Jari) ;
Vol := LA * High ;
Writeln (‘Vol Tabung : ‘,Vol :5:3);
Readln;
End;

Begin
Clrscr;
Write(‘Jari-jari alas : ‘ );Readln(R);
Write(‘Tinggi Silinder : ‘ );Readln(T);
Writeln;
Volume(R,T) ;
End.
8.3 Rangkuman

PARAMETER adalah : nama-nama peubah yang di deklarasikan pada bagian header prosedur.Karena
sebagian program memerlukan pertukaran data/informasi antara prosedur (fungsi) dari titik dimana ia di
panggil.Penggunaan parameter menawarklan mekanisme pertukaran informasi tersebut.Tiap item data
ditransfer antara parameter actual dan parameter formal yang bersesuian.

8.4 Latihan

KLAS -3A :

1.Buatlah beberapa prosedur dalam sebuah program kalkulator yang terdiri dari
PENJUMLAHAN,PENGURANGAN,PEMBAGIAN dan PERKALIAN.

Input : berupa dua buah data dan pilihan operator.

Proses :menyesuaikan dengan pilihan operator)

Output:

EKSPRESI ,menampilkan format data-1,operator,data-2

HASIL,sesuai operator yang di pilih

Format tampilan akhir seperti di bawah ini


FUNCTION(1)

9.1 FUNCTION
A. Fungsi adalah suatu routine terdefinisi,baik di definisikan oleh PASCAL (fungsi standar) maupun di
definisikan oloeh pemakai (user define function).Fungsi dapat kita bedakan dari hasil fungsinya,
yang dapat berupa String,Numeric atau Boolean.Berikut ini adalah fungsi-fungsi pustaka yang
sudah terdefinisi dalam PASCAL.

Exampl;e 1 :

Contoh berikut untuk mendefinisikan fungsi LuasLing(Jari : real):real untuk mencari luas
lingkaran dengan parameter jari dan hasil fungsi bertype real.Selanjutnya fungsi tersebut kita
panggil pada saat mencari volume silinder.

File Name : P61.Pas


Program fungsi ;
Uses wincrt;
Var
x,y,z : integer;
function hitung (a,b : integer):integer;
begin
hitung :=a+b;
end;
begin
write(‘Nilai Kesatu =’);
readln(x);
write(‘Nilai Kedua =’);
readln(y);
writeln(x, ’ ’ , ’ * ‘ , ’ ‘, y , ‘ ‘ , ‘ = ‘ , hitung (x,y));
end.

Hasil RUN :

Nilai Kesatu =7
Nilai KLedua =5
7 * 5 =12
9.2 Rangkuman

Fungsi adalah suatu routine terdefinisi,baik di definisikan oleh PASCAL (fungsi standar) maupun di
definisikan oloeh pemakai (user define function).Fungsi dapat kita bedakan dari hasil fungsinya, yang
dapat berupa String,Numeric atau Boolean.

9.3 Latihan

KLAS-3A :

1.Buatlah function untuk menghitung discount,total bayar,dengan syarat :

a. Input data : menu-1,menu-2,menu-3,menu-4,menu-5


b. Proses
 Total = jumlah dari harga sewa tiap-tiap jenis buku yang di pinjam
 Total bayar = Total – Discount
 Discount,dengan ketentuan :
 Total < 60000,maka tidak ada discount
 60000 <= Total <= 100000,discount 10%
 Total > 100000,discount 15 %
c. Output : Harga Menu (sesuai jenis menu).Total Discount dan Total Bayar

Format tampilan
FUNCTION (2)

10.1 FUNCTION
A. Fungsi adalah suatu routine terdefinisi,baik di definisikan oleh PASCAL (fungsi standar) maupun di
definisikan oloeh pemakai (user define function).Fungsi dapat kita bedakan dari hasil fungsinya,
yang dapat berupa String,Numeric atau Boolean.Berikut ini adalah fungsi-fungsi pustaka yang
sudah terdefinisi dalam PASCAL.

Exampl;e 1 :

Contoh berikut untuk mendefinisikan fungsi LuasLing(Jari : real):real untuk mencari luas
lingkaran dengan parameter jari dan hasil fungsi bertype real.Selanjutnya fungsi tersebut kita
panggil pada saat mencari volume silinder

File Name : P61.Pas

Program fungsil;
Uses wincrt;

Function ACC(m,n:integer) : integer;


Begin
If m=0 then
Begin
ACC : =n+1 ;
Write (n+1 , ‘ ‘);
End
Else if n=0 then
Begin
ACC :=ACC (m-1,1);
Writeln(ACC(m-1 ,1), ‘ ‘ );
End
Else
Begin
ACC :=ACC(m-1,ACC(m ,n-1) );
Writeln(ACC(m-1,ACC(m,n-1 )) , ‘ ‘ );
End;
End;

Begin
Writeln(ACC(2,1) );
End.
Hasil RUN :

2 2 2
3 2 2 2
3 3
2 2 2
3 2 2 2
3 3
3
2 2 2
3 2 2 2
3 3
4 2 2 2
3 2 2 2
3 3
4 4
5 2 2 2
3 2 2 2
3 3
4 2 2 2
3 2 2 2
3 3
4 4
5 5
5
5

10.2 Rangkuman

Fungsi adalah suatu routine terdefinisi,baik di definisikan oleh PASCAL (fungsi standar) maupun di
definisikan oloeh pemakai (user define function).Fungsi dapat kita bedakan dari hasil fungsinya,
yang dapat berupa String,Numeric atau Boolean.
10.3 Latihan
1.KLAS -3A : Buatlah program dengan Function untuk menampilkan hasil penukaran
bilangan,dengan hasil seperti di bawah ini :

Program Menukar Bilangan :


Masukkan bilangan pertama = 5
Masukkan bilangan kedua = 10
Setelah di tukarkan =10 : 5
Masukkan bilangan ketiga = 20
Masukkan bilangan keempat = 15
Setelah di tukarkan =15 : 20

Anda mungkin juga menyukai