FUNCTION
Function hampir sama dengan blok pada procedure, hanya pada function harus dideklarasikan dengan tipe dari function tersebut yang merupakan tipe hasil dari function itu sendiri.
Sehingga dapat dikatakan function dapat mengembalikan nilai. Perbedaan fungsi dengan prosedur adalah:
- 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.
Hal ini dapat dilihat dari bentuk headernya yang menyebutkan jenis data dari kuantitas yang dihasilkan.Secara umum bentuk header suatu function adalah :
FUNCTION nama:jenis_hasil;
atau
FUNCTION nama(formal parameter:jenis):jenis_hasil;
Pada materi sebelumnya contoh program adalah sebuah fungsi dengan nama MAX yang dapat menentukan integer terbesar di antara dua integer.
Contoh Coding :
Uses Crt;
Function max (x,y : Integer) : Integer;
Begin
If x < y Then
max := y ;
Else
max := x;
End;
Selanjutnya kita dapat menggunakan fungsi di atas dalam suatu program, misalnya dengan menyatakannya sebagai berikut :
p := max(a,b);
z := max(a+b,a*b);
q := max(MAX(a,b),c);
………………………… dsb.
Contoh Coding :
KALIAN BISA MENCOBANYA KLIK DISINI
KALIAN BISA MENCOBANYA KLIK DISINI
uses crt;
Function hitung(Var a, b : Integer): Integer;
Begin
hitung :=a+b;
End;
Var x, y : Integer;
Begin
Write ('Nilai X ? ');
Readln (X);
Write ('Nilai Y ? ');
Readln (y);
Writeln;
Writeln (X,' + ',Y,' = ',Hitung(x,y));
End.
Perbedaan fungsi dengan prosedur adalah:
- Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung dan nilai yang dikirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi, sebagai berikut : hitung:=A+B; //nama fungsi yang berisi nilai yang akan dikirim
- Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut : writeln(X,'+',Y,'=',hitung(X,Y)); //nama fungsi yang langsung digunakan untuk ditampilkan hasilnya Atau nilai fungsi tersebut yang dapat juga dipindahkan langsung ke pengenal variabel yang lainnya, seperti berikut : Hasil := Hitung(X,Y); Writeln(X,’ + ‘,Y, ‘ + ‘,Hasil) Sedangkan pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
Contoh Coding Program Function menghitung faktorial :
Program contoh;
Uses Crt;
Function faktor(bilangan : Integer) : Real;
Begin
If (bilangan = 0) Then
faktor := 1
Else
faktor := faktor (bilangan - 1) * bilangan;
End;
Var
n : Integer;
Begin Clrscr;
Write ('Berapa Faktorial Dari = '); Readln(n);
Writeln (n,' faktorial = ', faktor (n) :9:0);
Readln;
End.
Program hitung_lingkaran;
Uses Crt;
Type warna=(merah, kuning, biru);
Const pi = 3.14;
Var jari2 : integer=7;
warna_lingkaran : warna=merah;
Function luas_lingkaran : real;
Begin
luas_lingkaran := pi * jari2 * jari2;
End;
Procedure kel_lingkaran (jari2 : integer);
Begin
Write ('Keliling Lingkaran = ');
Writeln(PI*(jari2+jari2):4:2, ' cm');
End;
Begin
Clrscr;
Writeln ('PROGRAM MENGHITUNG LUAS LINGKARAN');
Writeln ('---------------------------------');
Writeln ('Diketahui: jari-jari lingkaran = ', jari2,' cm');
Writeln ('Warna Lingkaran = ', warna_lingkaran);
Writeln ('Luas Lingkaran = ', luas_lingkaran:4:2, ' cm');
kel_lingkaran (jari2);
Readln;
End.
MATERI PASCAL
Jika kalian baru dalam pembelajaran pemrograman Pascal, Silakan belajar dari materi pertama :
Materi Ke-1 : Perintah Output
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Comments