Function(Fungsi) adalah salah satu bagian program terpisah seperti prosedur. Fungsi dapat berupa fungsi standart (fungsi yang sudah disediakan pascal) atau fungsi yang dibuat sendiri oleh user. Dalam pendeklarasian fungsi hampir sama dengan prosedur, hanya saja fungsi harus dideklarasikan dengan tipe datanya.
Bentuk Umum : Function indentifier(daftar-parameter):type;
Contoh :
>> Buatlah Program Hitung Nilai dengan ketentuan sebagai berikut :
Layar Masukan
Hitung Nilai
---------------
Nama Siswa :
Nilai Mid Test :
Nilai Final Test :
Nilai Tugas Mandiri :
Proses
Buatlah fungsi untuk hitung nilai akhir dengan konten proses:
Nilai murni final test = nilai final test x 30%
Nilai murni mid test = nilai mid test x 30%
Nilai murni tugas mandiri = nilai tugas mandiri x 40%
Nilai akhir = summary nilai murni
Buatlah fungsi grade untuk mencari nilai akhir berdasarkan nilai akhir:
Nilai akhir >=85, grade = A
Nilai akhir >=76, grade = B
Nilai akhir >=67, grade = C
Nilai akhir <67, grade = D
Layar Keluaran:
Hasil Perhitungan
---------------------
Nilai Mid Test : …x 30%
Nilai Final Test : …x 30%
Nilai Tugas Mandiri : …x 40%
---------------------------------------
Nilai Akhir :
Grade :
=====================================================================================
=> Berikut ini adalah listingnya :
program lat_function;
uses crt;
function n_akhir(var nm,nf,nt,na : real):real;
begin
na:=(nm*0.3)+(nf*0.3)+(nt*0.4);
end;
function grade(g : real):char; //Fungtion Identifier nya
begin
if g >= 85 then
grade := ‘A’
else
if g >= 76 then
grade := ‘B’
else
if g >= 67 then
grade := ‘C’
else
grade := ‘D’;
end;
var nama:string;
mid, final, mandiri, akhir, a, b, c, d :real;
begin
clrscr;
writeln(’Hitung Nilai’);
writeln(’————’);
writeln;
write(’Nama Siswa : ‘); readln(nama);
write(’Nilai Mid Test : ‘); readln(mid);
write(’Nilai Final test : ‘); readln(final);
write(’Nilai Tugas Mandiri : ‘); readln(mandiri);
clrscr;
writeln(’Hasil Perhitungan’);
writeln(’—————–’);
writeln;
writeln(’Nama Siswa : ‘, nama);
a:=mid*0.3;
writeln(’Nilai Mid Test : ‘, mid:0:0, ‘* 30 % : ‘, a:0:0);
b:=final*0.3;
writeln(’Nilai Final test : ‘, final:0:0, ‘* 30 % : ‘, b:0:0);
c:=mandiri*0.4;
writeln(’Nilai Tugas Mandiri : ‘, mandiri:0:0, ‘* 40 % : ‘, c:0:0);
writeln(’———————————————-’);
akhir:=a+b+c;
writeln(’Nilai Akhir : ‘, akhir:0:0);
writeln(’Grade : ‘, grade(akhir));
readln;
end.
Saatnya Beralih dari Flash ?
3 weeks ago
