Anda di halaman 1dari 13

Umi rochayati

Adalah bagian dari program yg dibuat terpisah


untuk melaksanakan fungsi tertentu yang
menghasilkan suatu nilai untuk dikembalikan
ke program utama.

Fungsi pada hakekatnya serupa dengan


prosedur dalam pelaksanaannya, tetapi harus
mengembalikan suatu nilai ke program yang
menggunakan fungsi. Prosedur hanya bisa
mengembalikan nilai melalui parameter
input/optput.
Fungsi nama_fungsi(parameter formal) tipe_hasil
{spesifikasi fungsi}
Deklarasi
{variabel lokal}
Deskripsi
{langkah/proses yg dilakukan oleh fungsi}
..........
..........
return hasil,
f(x) = x2 + 8x +10

Function F (input x:real ) real


{menghitung nilai fungsi f(x)= x2 + 8x +10}
Deklarasi
real x
Deskripsi
y x*x+8*x+10;
return y;
Function Kabisat(input th:integer) boolean
{true jika th adalah kabisat, false jika tidak}
Deklarasi
{tidak ada}
Deskripsi
if(th mod 4=0 and th mod 100 ≠0) or (th
mod 400=0) then
return true {th kabisat}
else
return false {bukan th kabisat}
endif
Function NamaBulan(input bln:integer) string
{mengembalikannama bulan berdasarkan nomor
bulan}
Deklarasi
Nama : string
Deskripsi
case bln
1:Nama “Januari”
2:Nama “Februari”
3:Nama “Maret”
...............
endcase
return Nama
Function Fak ( input n:integer) integer
Deklarasi
i,f : integer
Deskripsi
f 1
for i 1 to n do
f f*i
endfor
return f
Fungsi diakses dengan memanggil namanya
dari program pemanggil, diikuti dengan
daftar parameter aktual (bila ada)
Algoritma Tahun Kabisat
{program untuk menentukan apakah suatu tahun
merupakan tahun kabisat atau bukan}
Deklarasi
tahun:integer
function Kabisat(input th:integer) boolean
Deskripsi
read (tahun)
if Kabisat (tahun) then
write (“tahun kabisat”)
else
write (“bukan tahun kabisat”)
endif
Algoritma Bulan
{memanggil fungsi untuk menampilkan nama bulan}
Deklarasi
bulan:integer
function NamaBulan(input bln:integer) string
Deskripsi
write (“bulan:”)
read (bulan):
nama_bulan NamaBulan (bulan);

Function NamaBulan(input bln:integer) string


{mengembalikannama bulan berdasarkan nomor bulan}
Deklarasi
Nama : string
Deskripsi
case bln
1:Nama “Januari”
2:Nama “Februari”
3:Nama “Maret”
...............
endcase
return Nama
Jawab : Fungsi digunakan apabila modul
program mengembalikan sebuah nilai,
sementara prosedur digunakan bila
modulmenghasilkan efek netto dari
sekumpulan aksi. (Namun kadang tidak jelas).

“pemilihan apakah sebuah modul direalisasikan


sebagai fungsi atau prosedur bergantung
pada kebutuhan dan seni memprogram”.
Function Maks (inp a,b Procedure Maks (inp a,b
:integer) integer :integer, output
Deklarasi maks:integer)
Deskripsi Deklarasi
Deskripsi
if a ≥ b then
if a ≥ b then
return a
maks a
else else
return b maks b
endif endif
Procedure HitungRataRata Function RataRata (inp
(inp Ndata :int, out :real) Ndata:int) real
Deklarasi Deklarasi
x,i , jumlah: integer x,i , jumlah: integer
Deskripsi Deskripsi
jumlah 0 jumlah 0
for i 1 to Ndata do for i 1 to Ndata do
read (x) read (x)
jumlah jumlah+x jumlah jumlah+x
endfor endfor
U jumlah/Ndata return jumlah/Ndata

Anda mungkin juga menyukai