Anda di halaman 1dari 30

Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi

FUNCTION
ALGORITMA 2
Definisi Fungsi

• Definisi fungsi sebenarnya sama dengan procedure,


perbedaanya hanya pada fungsi terdapat pengembalian
nilai, sehingga pada saat pemanggilan fungsi dapat
langsung digunakan untuk mengisikan sebuah ekspresi .
Pseudocode :
menghitung persegi panjang
• Program persegi_panjang ;
• Deklarasi
p, l : byte
ls, kel : integer

• Algortima :
• Write ( “program untuk menghitung luas dan keliling”)
• Read ( p, l )
• ls p*l
• Kel (2*p) +(2*l)
• Write ( “ luas “ , ls )
• Write ( “ keliling “, kel)
Program Tanpa function
menghitung persegi panjang
Menggunakan fungsi
• Fungsi digunakan agar pemrogram dapat menghindari penulisan
bagian program (kode) berulang-ulang, selain itu juga dapat
menyusun kode program agar terlihat lebih rapi dan kemudahan
dalam debugging program tersebut.
• Langkah-langkah program yang sama dan sering digunakan
berulang-ulang dapat ditulis sekali saja secara terpisah dalam
bentuk fungsi-fungsi, selanjutnya bagian program yang
membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi
tersebut.
Format Umum Function
Function NAMA_FUNGSI (daftar parameter formal)  tipe hasil
{Spesifikasi fungsi, berisi penjelasan tentang apa yang dilakukan
dan yang dikembalikan oleh fungsi ini}

DEKLARASI
{semua nama yang digunakan dalam fungsi dan hanya berlaku
lokal di dalam fungsi didefinisikan di sini}

DESKRIPSI
{badan fungsi, berisi kumpulan instruksi}

return hasil {pengembalian nilai yang dihasilkan fungsi}


FUNGSI Dalam program
bersesuaian dengan Matematika

• Dalam matematika :
# f(x,y) = 3x – y + xy

# F(x)=2x2 + 5x – 8 ; x=2 maka ; f(2)= 2 . 22 + 5.2 – 8 = 10

# H(x,y)= 3x – y + xy ; x=1; y=2 ; f(1,2)= 3.1 – 2 + 1.2 = 3

 F adalah sebuah fungsi dengan parameter x dan y, nilai 10 dan 3 pada


contoh diatas adalah nilai yang diberikan ( return ) oleh fungsi F .
Pseudocode Function

Function F (input x : real ) real


{ mengembalikan nilai F( X ) = 2x2 + 5x - 8 }

Deklarasi
{ tidak ada }

Algoritma :
Return 2 * X * X + 5 * X – 8
Deklarasi Function
• Struktur fungsi sama dengan struktur Procedure, yaitu :
bagian judul, bagian deklarasi, dan badan fungsi.
• Setiap fungsi memiliki nama unik serta daftar parameter
formalnya (jika ada).
• Tipe hasil / tipe kembalian(pada header)
menspesifikasikan tipe data dari nilai yang diberikan
fungsi / nilai return.

{ parameter } { Tipe kembalian }


Contoh Deklarasi
Bentuk Umum :
Function Identifier (daftar-parameter) : type;

Contoh :

Function Faktorial (Var Fak,Hasil : Integer) : Integer;

Function Pangkat (X,Y : Real) : Real;

Function NamaBulan ( X : integer ) : string ;


Function Proses

• Fungsi dapat tanpa parameter.


• Fungsi diakses dengan memanggil
namanya (sama seperti prosedur).
• Fungsi dapat mengandung parameter
formal berjenis parameter masukan,
Function tanpa parameter

Fungsi diakses dengan


memanggil namanya
dapat di panggil seperti
procedure
Mengirimkan Nilai ke
Parameter
Parameter dalam fungsi dapat dikirimkan secara Nilai (By
Value) atau secara Acuan (By Reference).

Fungsi yang menggunakan parameter dengan pengiriman


secara Nilai adalah tampak sebagai berikut :
Function Hitung(A,B : Integer): Integer;

Fungsi yang menggunakan parameter dengan pengiriman


secara Acuan / Referensi adalah dengan menambahkan
kata cadangan Var sebagai berikut :
Function Hitung(Var A,B : Integer):Integer;
Function dengan parameter
Function dengan
parameter
Function By Reference
Pemanggilan Fungsi
• Fungsi diakses dengan memanggil namanya dari program
pemanggil (program utama atau modul program lain), diikuti dengan
daftar parameter aktual (jika ada).

Karena fungsi menghasilkan nilai, maka :


• nilai tersebut dapat ditampung dalam sebuah peubah yang bertipe
sama dengan tipe fungsi :
Peubah  NAMA_FUNGSI(daftar parameter aktual)
• nilai yang diberikan oleh fungsi dapat langsung dimanipulasi
write(NAMA_FUNGSI(daftar parameter))
if 2 * NAMA_FUNGSI(daftar parameter) < 0 then …
Memasukan nilai fungsi ke
variabel

Memasukan
nilai fungsi ke
variabel
Function dapat langsung
di manipulasi

Manipulasi
Pemanggilan func melalui
parameter actual

Parameter
actual
Fungsi Memanggil Fungsi
Yang Lain
Suatu Fungsi dapat juga
memanggil Fungsi yang
lainnya. Fungsi yang
dipanggil letaknya harus
berada diatas Fungsi yang

memanggil.

Output :
PERHATIKAN!
• Cara pendefinisian fungsi
• Penggunaan parameter masukan,
• Parameter aktual dan formal
• Variabel lokal dan Variabel Global
• Cara pemanggilan fungsi (bandingkan
dengan prosedur)
Prosedur atau Fungsi ?
• Sebaiknya buat modul program dalam bentuk :
– Fungsi
 jika modul program menghasilkan sebuah nilai.
– Prosedur
 jika modul menghasilkan dari satu/sekumpulan aksi.
• Modul Program dengan output lebih dari satu tidak
elegan dituliskan sebagai fungsi, meskipun hal itu
mungkin dilakukan.
Perbedaan fungsi dan
procedure
Procedure

Nama procedure tidak dapat di


Gunakan langsung
Yang dapat di gunakan langsung
Adalah parameternya
Sumber
• Algoritma dan Pemrograman dalam
Bahasa Pascal dan C (Buku 1), Rinaldi
Munir, Informatika Bandung
• Bahan Matakuliah Algoritma dan
Pemrograman Univ Indraprasta
Tugas / latihan 3
• Buatlah 5 buah program mengunakan procedure dan
output nya ?
• Buatlah 5 buah program mengunakan fungsi dan output
nya ?
• Buatlah fungsi jarak yang menerima masukan dua buah
titik p(x,y) dan menghitung jarak kedua titik tersebut
gunakan rumus
d  (x  x )  ( y  y )
1 2
2
1 2
2

Anda mungkin juga menyukai