1. Jelaskan yg di maksud dengan function ?
=> Function yaitu Sebuah kumpulan Statement yang akan
mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan
Function harus ditampung kedalam sebuah variabel.
2. Jelaskan peebedaan antara function nonparameter dan
function paramater?
=> Function non-parameter adalah function yang tidak memerlukan
nilai parameter, sedangkan function dengan parameter adalah function yang harus
memasukkan nilai parameter pada saat pemanggilannnya.
3. Jelaskan perbedaan mendasar procedure di bandingkan
dengan function!
=> Perbedaan procedure dan function :
a) Fungsi yaitu
Sebuah kumpulan Statement yang akan mengembalikan sebuah nilai balik pada
pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam sebuah
variabel.
b) sub program
yang digunakan untuk melakukan proses tertentu dan tidak mengembalikan nilai,
bisa disimpan dalam database sebagai object skema, sehingga suatu procedure
bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.
c) pada fungsi
nilai yg dikirimkan balik terdapat pada nama fungsinya(kalau pada prosedur pada
parameter yg dikirimkan secara acuan).
d) karena nilai
balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung
digunakan untuk di cetak hasilnya. Atau nilai fungsi tersebut dapat juga
langsung dipindahkan ke pengenal variable yg lainnya.
e) Nama prosedur
tidak dapat digunakan langsung, tidak seperti nama fungsi yg dapat langsung
digunakan dari sebuah prosedur adalah parameternya yang mengandung nilai balik.
f) Pada dasarnya
tidak ada perbedaan yang signifikan antara prosedur dan fungsi pada bahasa C,
hanya dibedakan dari return value. Jika suatu sub program tersebut memiliki
nilai balik (return value) maka sub program tersebut disebut function jika
tidak memiliki nilai balik maka sub program tersebut merupakan procedure.
4. Tuliskan function untuk menghitung rata-rata deret
bilangan dari 1 sampai 20!
=> Contoh program :
program rata_deret;
uses crt;
var
hasil : real;
x, total :
integer;
function rataderet(x,
y : real) : real;
begin
rataderet := x/y;
end;
begin
clrscr;
x := 1;
total := 0;
while x <= 20
do
begin
total :=
total + x;
x := x + 1;
end;
x := x - 1;
hasil :=
rataderet(total,x);
writeln('Rata-rata dari Deret Bilangan 1 - 20');
writeln('====================================');
writeln;
writeln('Hasil = ',hasil:0:2);
readln;
end.