Konsep fungsi dalam pascal hamper sama dengan konsep fungsi dalam matematika. Sebuah fungsi digunakan untuk menghitung sebuah nilai berdasar satu atau beberapa nilai masukan. Dalam pascal, fungsi akan membantu mewujudkan pemecahan masalah yang lebih sederhana, sehingga program semakin mudah dibaca dan lebih mudah diubah atau dimodifikasi.

Fungsi dalam pascal mempunyai nama dan baris baris statemen yang merupakan implementasi fungsi tersebut. Sebuah fungsi dapat mempunyai satu atau lebih parameter.fungsi akan mengirimkan sebuah nilai yang tipenya sudah didefinisikan. Aturan penulisan deklarasi fungsi adalah sebagai berikut:

Function nama-fungsi(parameter) : tipe-hasil;

Begin

{statemen statemen implementasi fungsi}

Nama-fungsi :=nilai yang dikirimkan/hasil

End;

 parameter yang digunakan pada saat pendeklarasian fungsi disebut dengan parameter formal.

Berikut ini adalah beberapa contoh untuk memperjelas konsep fungsi

Contoh 1:

Buatlah sebuah fungsi untuk menghitung gaya yang dihasilkan berdasar massa dan percepatan yang telah diketahui.

Analisis: fungsi memiliki dua parameter yaitu percepatan dan massa yang akan mengirimkan gaya. Tipe hasil, gaya tergantung kepada tipe massa dan percepatan.

Function gaya(m,a:real) : real;

{m=massa,a=percepatan, megirimkan gaya,f=m*a}

Begin

Gaya:=m*a;

End;

Contoh 2:

Buatlah fungsi yang mengirimkan nilai terbesar dari dua buah integer yang diberikan.

Function maks(a,b:integer) :integer;

{mengirimkan a jika a>b dan b jika sebaliknya}

Begin

If a>b then

Maks:=a

Else maks :=b;

End;

Contoh 3:

Buatlah fungsi yang menghitung jumlah deret integer mulai dari 1 sampai dengan batas.

Function jumlah_deret (batas:integer): integer;

{mengirimkan jumlah 1+2+3+…+batas,batas>0}

Var i,jumlah:integer;

Begin

{penghitungan jumlah}

Jumlah:=0;

For i=1 to batas do

Jumlah:=jumlah+i;

{pengiriman hasil}

Jumlahderet:=jumlah;

End;

Catatan: nama fungsi tidak boleh dilibatkan dalam perhitungan

Contoh 4:

Buat fungsi yang menerima sebuah integer dan menetukan apakah integer itu kelipatan tiga atau bukan. Jika ya maka fungsi kan mengirimkan true, dan mnegirimkan false jika sebaliknya.

Function kelipatan3(n:integer): Boolean;

{mengrimkan true jika n kelipatan tiga}

Begin

If (n mod 3 = 0) then

Kelipatan3:=true

Else kelipatan3:=false;

End;

PEMANGGILAN FUNGSI

Contoh1: buat program yang menerima dua buah integer dan menentukan integer terbesar diantara keduanya menggunakan fungsi.

Program terbesar;

Var angka1,angka2:integer;

Terbesar:integer;

Function maks(a,b : ineteger) : integer;

Begin

If  a>b then

Maks:=a

Else maks:=b;

End;

{program utama}

Begin

Write (‘angka pertama=’);readln(angka1);

Write (‘angka kedua=’);readln(angka2);

Terbesar:=maks(angka1,angka2);

Write (‘angka terbesar adalah’,terbesar);

End.

Parameter yang digunakan pada waktu pemanggilan fungsi disebut dengan parameter actual. Ada beberapa syarat yang harus dipenuhi waktu menggunakan parameter actual:

  1. Jumlah parameter actual harus sama dengan parameter formal pada pendeklarasian fungsi. Pada contoh diatas,terdapat dua parameter formal yaitu a dan b serta terdapat dua parameter actual yaitu angka1, dan angka2.
  2. Tipe parameter formal harus sama dengan parameter actual
  3. Urutan penulisan partameter actual harus sama dengan urutan penulisan partameter formal sesuai yang dimaksudkan.

 

Contoh 2:

Buatlah sebuah fungsi untuk mengkonversi nilai mata uang dalam rupiah ke dolar, yang menerima dua buah integer yang masing masing menyatakan nilai uang dalam rupiah dan nilai tukar 1 dolar dalam rupiah, serta mengirimkan nilai rupiah tersebut dalam dolar

Penyelesain:

Program kurs_uang;

Var         rupiah,kursdolar:integer;

Dolar:real;

Function nilaidolar(rp,kurs : integer) : real

Begin

Nilaidolar:=rp/kurs;

End;

{program utama}

Begin

Write(‘masukan nilai rupiah=’);readln(rupiah);

Write(‘kurs 1 dolar=’);readln(kursdolar);

Dolar:=nilaidolar(rupiah,kursdolar);

Write(‘Rp’, rupiah, ‘=’, dolar:3:2 ‘dolar’);

End.

 

oleh: syariful fahmi

Kampus IV (Kampus Utama)
Gedung Utama, Lantai 7

Universitas Ahmad Dahlan
Jl. Ahmad Yani (Ringroad Selatan) Tamanan Banguntapan Bantul Yogyakarta 55166
Telepon : (0274) 563515, 511830, 379418, 371120 Ext.
Telepon : +6281-1250-0800
Faximille : 0274-564604
Email : prodi(at)pmat.uad.ac.id

Daftar di UAD dan kembangkan potensimu dengan banyak program yang bisa dipilih untuk calon mahasiswa

Informasi PMB
Universitas Ahmad Dahlan

Telp. (0274) 563515
Hotline PMB
S1 – 0853-8500-1960
S2 – 0878-3827-1960