Anda di halaman 1dari 10

FUNCTION

Konsep fungsi dalam pascal sama halnya serupa


dengan konsep fungsi dalam matematika. Sebuah
fungsi bisa digunakan untuk menghitung sebuah nilai
berdasar satu atatu beberapa nilai masukan.

Fungsi didefinisikan atau dideklarasikan terlebih


dahulu sebelum dipanggil atau digunakan, biasanya
disebut dengan user-defined function dan
kebalikannya fungsi tanpa dibuat terlebih dahulu
disebut built-in function
Fungsi sedikit lebih rumit dari
prosedur karena dia selain menerima
parameter, fungsi juga dapat
menghasilkan nilai keluaran (output)
dari hasil pemrosesannya sehingga
dalam pemanggilannya pun sedikit
berbeda,
Bentuk umum penulisan sebuah fungsi :

Function Nama_Fungsi(parameter):tipe-fungsi;
Begin
pernyataan fungsi
End;
Program cobafungsi;
uses wincrt;
function inputnama (x:string):string;
var salam:string;
begin
salam:='Selamat Datang '+X;
inputnama:=salam;
end;
var nama,kalimat:string;
begin
clrscr;
write('masukan Nama Anda : ');readln(nama);
kalimat:=inputnama(nama);
write(kalimat);
readln;
end.
Disarankan dalam pemakain fungsi,
sebaiknya segala bentuk perintah
penerimaan input dilakukan diluar
fungsi sehingga fungsi hanya
menerima parameter, melakukan
proses dan mengeluarkan output
tanpa harus menerima input dari
keyboard.
program kurs_uang; CONTOH PROGRAM KURS DOLAR
uses wincrt;
var
rupiah, kursdolar : integer;
dolar : real;

function nilaidolar (rp, kurs : integer ) : real;


begin
nilaidolar := rp / kurs;
end;

begin
write (' Nilai Rupiah = ');
readln (rupiah);
write (' Kurs 1 dolar = ');
readln (kursdolar);

dolar := nilaidolar (rupiah, kursdolar);


write (' Rp.', rupiah, ' = ', dolar :3:2, ' dolar');
end.
Studi Kasus 6

Buat sebuah program pencari huruf mutu


mahasiswa dengan menggunakan fungsi
dengan ketentuan :
Nilai > 75 <=100  A Buat dengan fungsi ?
Nilai > 65 <=75  B
Nilai > 50 <=65  C
Nilai > 40 <=50  D
Nilai >= 0 <=40  E
Uses wincrt;
JAWABAN function carihuruf (X:integer) : char;
KASUS var jawab:char;
begin
jawab:='?';
if (x>75) and (X<=100) then
jawab:='A'
else if (x>65) and (X<=75) then
jawab:='B'
else if (x>50) and (X<=65) then
jawab:='C'
else if (x>40) and (X<=50) then
jawab:='D'
else if (x>0) and (X<=40) then
jawab:='E';
carihuruf:=jawab;
end;
Var nilai:integer;
hurufmutu:char;
Begin
Write('Masukan Nilai : ');readln(nilai);
hurufmutu:=carihuruf(nilai);
Write('Huruf Mutu : ',hurufmutu);
End.
SELESAI