Home

Fungsi dalam Pascal

BY 

@Agus_Briyan

– November 20, 2012POSTED IN: MATERI KULIAH

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

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s