MATERI 6 Function - R. Denny Ari Wibowo`s Blog

advertisement
Algoritma dan Pemrograman II
MATERI 6
Function
Blok function hamper sama dengan blok procedure, hanya fungsi harus
dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dan fungsi.
Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahuli dengan titik koma,
sebagai berikut :
Function identifier (daftar-parameter) : tipe;
Blok function sama dengan blok procedure yang diawali dengan kata cadangan
begin dan diakhiri dengan kata cadangan end dan titik koma.
CONTOH :
Program Fungsi_1;
Uses Crt;
Var X, Y : integer;
Function Hitung(Var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Begin
Clrscr;
Write ('Nilai X = '); Readln(X);
Write ('Nilai Y = '); Readln(Y);
Writeln;
Writeln(X,' + ',Y,' = ',Hitung(X,Y));
Readln;
End.
Function Tanpa Parameter
Suatu function yang tanpa parameter berarti nilai balik yang akan dihasilkannya
merupakan nilai yang sudah pasti. Parameter digunakna untuk memberikan imput
pada fungsi dan fungsi akan memberikan hasil balik sesuai dengan parameter yang
diberikannya. Sedangkan pada function yang tidak mempunyai parameter, maka
function tersebut tidak dapat diatur dari modul yang menggunakannya, karena tidak
ada parameter yang dikirimkan. Dengan demikian function yang tanpa menggunakan
parameter jarang dipergunakan.
CONTOH :
Program Fungsi_2;
Uses Crt;
Function Garis: String;
Begin
Garis-Garis := '-------------------------';
End;
R. Denny Ari Wibowo, S.Kom
hal. 1
Algoritma dan Pemrograman II
Begin
Clrscr;
Writeln(Garis);
Writeln('STMIK BINA NUSANTARA JAYA');
Writeln(Garis);
Readln;
End.
Parameter Dalam Function
Sama denganprocedure, parameter dalam function dapat dikirimkan secara nilai atau
secara acuan.
CONTOH (Parameter Secara Nilai) :
Program Fungsi_3;
Var Nilai1, Nilai2 : Real;
Function Garis: String;
Begin
Garis := '----------------------';
End;
Function Terbesar(X,Y : Real) : Real;
Begin
IF X > Y Then Tertinggi := X
Else Tertinggi := Y;
End;
Begin
Clrscr;
Writeln(Garis);
Writeln('MENCARI NILAI TERBESAR');
Writeln(Garis);
Write ('Nilai Pertama = '); Readln(Nilai1);
Write ('Nilai Kedua
= '); Readln(Nilai2);
Writeln(Garis);
Writeln ('Nilai Terbesar Adalah = ', Terbesar(Nilai1,Nilai2):0:0);
Readln;
End.
CONTOH (Parameter Secara Acuan) :
Program Fungsi_3;
Uses Crt;
Var X, Y, Z : Byte;
Function Hitung(Var A,B,C : Real) : Real;
Begin
Hitung := A + B;
C := A * B;
End;
Begin
Clrscr;
Write ('Nilai X =
Write ('Nilai Y =
Writeln;
Writeln (X,' + ',
Writeln (X,' * ',
Readln;
End.
R. Denny Ari Wibowo, S.Kom
'); Readln(X);
'); Readln(Y);
Y , ' = ', Hitung(X,Y,Z));
Y , ' = ', Z);
hal. 2
Algoritma dan Pemrograman II
Function Memanggil Function Yang Lain
Suatu function dapat juga memanggil function yang lainnya. Function yang dipanggil
letaknya harus berada di atas function yang memanggil.
CONTOH
Program Fungsi_5;
Uses Crt;
Function Fungsi_2(Y : Byte) : Byte;
Begin
Fungsi_2 := Y * 2;
End;
Function Fungsi_1(X : Byte) : Byte;
Begin
Fungsi_1 := Fungsi_2(X) + 5;
End;
Begin
Clrscr;
Writeln (Fungsi_1(3));
Readln;
End.
Function Tersarang
Function tersarang merupakan function yang letaknya berada di dalam function yang
lainnya.
CONTOH
Program Fungsi_6
Uses Crt;
Function Fungsi_1(X : Byte) : Byte;
Function Fungsi_2(Y : Byte) : Byte;
Begin
Fungsi_2 := Y * 2;
End;
Begin
Fungsi_1 := Fungsi_2(X) + 5;
End;
Begin
Clrscr;
Writeln (Fungsi_1(3));
Readln;
End.
PUSTAKA
Jogiyanto H. M., Turbo Pascal 5.0, Jilid 1, Andi Offset, Yogyakarta, 1999.
R. Denny Ari Wibowo, S.Kom
hal. 3
Algoritma dan Pemrograman II
PRAKTEK
1. Buatlah program dengan output sebagai berikut, dengan menggunakan function
(gunakan parameter nilai) :
-----------------------------Program Persegi Panjang
-----------------------------Masukkan Panjang = .....
Masukkan Lebar
= .....
Luas Persegi Panjang
-----------------------------Luas = .....
Keliling Persegi Panjang
-----------------------------Keliling = .....
2. Buatlah program perpangkatan (XY), menggunakan function. Gunakan proses
perulangan didalam function, untuk menghasilkan pangkat !
3. Buatlah program menggunakan function, untuk mencari jumlah n bilangan positif
yang pertama !
R. Denny Ari Wibowo, S.Kom
hal. 4
Download