Sabtu, 11 Mei 2013

FUNGSI (FUNCTION)



FUNGSI (FUNCTION)

KONSEP
Ø Subprogram yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar atau bentukan).
Ø Diakses dengan memanggil namanya.
Ø Dapat memiliki parameter formal yang selalu bersifat sebagai parameter masukan.

PENDEFINISIAN FUNGSI
Ø Memiliki struktur yang sama dengan prosedur yaitu bagian header, deklarasi, dan definisi.
Bentuk pendefinisian fungsi :
function NamaFungsi(input daftarparameter, jika ada)® tipe
{Spesifikasi fungsi,menjelaskan apa yang dilakukan dan yang dikembalikan fungsi}
DEKLARASI :
   {semua nama peubah}

DEFINISI :
   {urutan instruksi/aksi}
   return ekspresi
end function

Contoh 1:
function Hitung_Nilai_Maks (input a,b : integer) ® integer
{Menghitung nilai maksimal antara dua bilangan}
DEKLARASI :
   maks  : integer
DEFINISI :
   if a > b then
      maks ¬ a
   else
      maks ¬ b
   return maks
end function

Contoh 2 :
function Faktorial (input bil:integer) ® integer
{Mencari hasil factorial bilangan, bilangan ³ 0}
DEKLARASI:
   i,fak : integer
DEFINISI :
fak¬1
for i¬1 to bil do
   fak ¬ fak * i
endfor
return fak
end function

Contoh 3 :
function Pangkat_bil(input bil, n:integer) ® integer
{Mencari hasil pangkat bil sebanyak n kali}

DEKLARASI :
   hasil,i : integer
DEFINISI :
   hasil¬1
   for i¬1 to n do
      hasil¬hasil * bil
   endfor
   return hasil
end function

PEMANGGILAN FUNGSI
Seperti prosedur, fungsi diakses dengan cara memanggil namanya dari program pemanggil seperti program utama atau subprogram lainnya diikuti dengan daftar parameter aktual jika ada.
Karena fungsi menghasilkan nilai, maka nilai tersebut dapat diproses dengan dua cara, yakni :
Ø Nilai ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi.
peubah ¬ NamaFungsi(parameter aktual, jika ada)
Sebagai contoh :
·       y¬Pangkat_bil(5, 3)
·       h¬Faktorial(6)
Ø Nilai langsung dimanipulasi seperti pada contoh berikut :
·       write(Pangkat_bil(5, 3))
·       if Faktorial(6) > 50 then
      write(‘Sukses’)
endfor

Contoh 4 (Pemanggilan Fungsi):
Algoritma Hitung_Nilai_Maks
{Menghitung nilai maksimal antara dua bilangan dengan menggunakan fungsi}
DEKLARASI :
   a,b : integer
   function Hitung_Nilai_Maks(input a, b : integer)® integer
DEFINISI :
   read(a, b)
   write(Hitung_Nilai_Maks(a, b))
End Algoritma

Contoh 5 :
Algoritma Hitung_Faktorial
{Mencari hasil factorial bilangan yang lebih besar atau sama dengan 0 dengan menggunakan fungsi}
DEKLARASI :
   Bilangan  : integer
function Faktorial (input bil:integer) ® integer
DEFINISI :
   Read(Bilangan)
Write(‘Hasil Faktorial dari ‘, Bilangan,‘= ’, Faktorial(Bilangan))
End Algoritma

Contoh 6 :
Algoritma Hitung_Pangkat_Bilangan
{Mencari hasil pangkat bil sebanyak n kali dengan menggunakan fungsi}
DEKLARASI :
   Bilangan  : integer
   Pangkat   : integer
   function Pangkat_bil(input bil, n:integer) ® integer
DEFINISI :
   Read(Bilangan)
   Read(Pangkat)
   If (Bilangan = 0) then
      Write(‘Hasil pangkat adalah 0’)
   Else
Write(‘Hasil pangkat adalah ’, Pangkat_bil(Bilangan, Pangkat))
   End for
End Algoritma

  




Tidak ada komentar:

Posting Komentar