Anda di halaman 1dari 14

Bab 8

Fungsi/Function

Dosen Pengasuh
Fatoni, M.M.,M.Kom.

1
Fungsi (Function)
• Blok fungsi (function) hampir sama dengan blok prosedur,
hanya saja fungsi harus dideklarasikan dengan tipenya. Tipe
deklarasi ini menunjukan tipe hasil dari fungsi tersebut. Tipe
tersebut ditulis pada akhir deklarasi fungsi.
Syntax : FUNCTION identitas(daftar_parameter)  Type_data

• Contoh :
Function Faktorial (Nilai:Integer)  Integer
Function Pangkat (X:Real; Y:Integer)  Real
Function Luas_Lingkaran (Jari:Real)  Real

2
Alasan Penggunaan Fungsi (Function)

• Pemrograman yang baik harus bersifat modular agar suatu


masalah program yang besar dan kompleks dapat dipecah-
pecah menjadi bagian-bagian yang lebih kecil dan sederhana.

• Fungsi adalah bagian dari program yang memiliki nama


tertentu, digunakan untuk mengerjakan suatu pekerjaan
tertentu, serta letaknya dipisahkan dari bagian program yang
menggunakan fungsi tersebut.

3
Keuntungan Menggunakan Fungsi (Function)

• Dapat melakukan pendekatan top-down dan divide-and-


conquer: program besar dapat dipisah menjadi program-
program kecil.
• Dapat dikerjakan oleh beberapa orang sehingga koordinasi
mudah.
• Kemudahan dalam mencari kesalahan-kesalahan karena alur
logika jelas dan kesalahan dapat dilokalisasi dalam suatu
modul tertentu saja.
• Modifikasi program dapat dilakukan pada suatu modul
tertentu saja tanpa mengganggu program keseluruhan.
• Mempermudah dokumentasi.
• Reusability: Suatu fungsi dapat digunakan kembali oleh
program atau fungsi lain.
4
Perbedaan Fungsi dengan Prosedur (1)

• Untuk menggambarkan perbedaan ini, dapat dilihat dari contoh berikut ini :
Algoritma Fungsi_hitung
{ .............}
Deklarasi
Var
X,Y : Integer

Function Hitung(A,B : Integer): Integer


{ .............}
Deklarasi
Deskripsi :
Hitung  A+B

Deskripsi :
Read(x,y)
Write (x,y, hitung(x,y))

5
Perbedaan Fungsi dengan Prosedur (2)

• Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (sedangkan
pada prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama
fungsinya adalah Hitung dan nilai yang dikirim balik berada pada nama fungsi
tersebut. Sehingga nama fungsi tersebut digunakan untuk menampung hasil yang
akan dikirimkan dari fungsi.
Hitung  A+B
Nama fungsi yang berisi nilai yang akan dikirimkan

• Karena nilai balik berada di nama fungsi tersebut, maka fungsi dapat langsung
digunakan untuk dicetak hasilnya atau juga dipindahkan nilainya ke variabel yang
lain.
Write (X,’ + ‘,Y,’ = ‘,Hitung(X,Y))
Nama fungsi yang langsung digunakan

Atau:
Hasil  Hitung(X,Y)
Write(X,’ + ‘,Y,’ = ‘,Hasil)

6
Yang Akan Dipelajari Disini

1 Parameter dalam Fungsi

2 Fungsi Memanggil Fungsi Lain

3 Fungsi Tersarang

4 Fungsi Memanggil Dirinya Sendiri

5 Fungsi Standar

7
Parameter dalam Function

1 Parameter Secara Nilai (by value)

2 Parameter Secara Acuan (by reference)

8
Parameter dalam Fungsi

• Untuk menggambarkan perbedaan ini, dapat dilihat dari contoh berikut ini :
Algoritma Global
{ .............}
Deklarasi
Var
N1,N2 : Real

Function Terbesar (A,B: Real): Real


{ .............}
Deklarasi
Deskripsi :
If A > B Then
Terbesar  A
Else
Terbesar  B
Endif

Deskripsi :
Read(N1, N2)
Write (Terbesar (N1, N2))

9
Parameter dalam Prosedur

• Parameter Secara Acuan (by reference):

Algoritma Global
{ .............}
Deklarasi
Var
N1,N2 : Real

Function Pangkat (Var N,P : Real): Real


{ .............}
Deklarasi
Deskripsi :
Pangkat  exp(ln(N)xp)

Deskripsi :
Read(N1, N2)
Write (Pangkat(N1, N2))

10
Fungsi Memanggil Fungsi Lain
• Contohnya :
Algoritma Memanggil_Fungsi_Lain
{ .............}
Deklarasi
Var
y : integer

Function Kesatu (x : Integer) : Integer


{ .......... }
Deklarasi
....
Deskripsi :
Kesatu  X x 2

Function Kedua (x : Integer): Integer


{ .......... }
Deklarasi
....
Deskripsi :
Kedua  Kesatu(X) + 10

Deskripsi :
Read (y)
Write (Kedua(y))

11
Fungsi Tersarang
• Contohnya :
Algoritma Fungsi_Tersarang
{ .............}
Deklarasi
Var
z : integer

Function Kesatu (x : Integer) : Integer


{ .......... }
Deklarasi
....

Function Kedua (x : Integer): Integer


{ .......... }
Deklarasi
....
Deklarasi
....
Deskripsi :
Kedua  y x 2

Deskripsi :
Kesatu Kedua(X) + 5

Deskripsi :
Read (z)
Write (Kesatu(x))

12
Fungsi Memanggil Dirinya Sendiri
• Contohnya :
Algoritma Memanggil_Fungsi_Sendiri
{ .............}
Deklarasi
Var
i : integer

Function Factorial (N : Integer) : Real


{ .......... }
Deklarasi
....
Deskripsi :
If N=0 Then
Faktorial  1
Else
Faktorial  N*Faktorial(N-1)
Endif

Deskripsi :
Read (i)
Write (Faktorial (i))

13
Mail : fatoni@binadarma.ac.id/toniubd@yahoo.com 14

Anda mungkin juga menyukai