12
FUNGSI

FUNGSI

Embed Size (px)

DESCRIPTION

FUNGSI MATEMATIKA

Citation preview

Page 1: FUNGSI

FUNGSI

Page 2: FUNGSI

Fungsi Fungsi adalah sub program yang

memberikan/mengembalikan sebuah nilai dari tipe tertentu. Sebagaimana halnya prosedur, fungsi diakses dengan memanggil namanya.

Fungsi juga dapat mengandung daftar parameter formal. Parameter formal pada fungsi selalu berupa parameter masukan, karena parameter pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai

Page 3: FUNGSI

Deklarasi fungsi

function NamaFungsi(daftar parameter masukan) :tipe datadeklarasideskripsi

Bagian Pernyataan

Page 4: FUNGSI

Pemanggilan Fungsi

Fungsi diakses dengan cara memanggil namanya dari program utama atau sub program lain, diikuti dengan daftar parameter aktual (jika ada).

Karena fungsi menghasilkan nilai, maka nilai tersebut dapat ditampung dalam suatu variabel (peubah) yang bertipe sama dengan tipe fungsi.(i). peubah := NamaFungsi(daftar parameter aktual);atau dimanipulasi langsung seperti :(ii) write(NamaFungsi(daftar parameter aktual));(iii) if NamaFungsi(daftar parameter aktual) > 0 then....(iv) y := 2* NamaFungsi(daftar parameter aktual) +3;

Page 5: FUNGSI

ContohFunction Maks(X,Y : integer) : integerDeskripsi

if X > Y then Maks Xelse Maks Yend if

Pemanggilan : Write(Maks(3,6)) ZMaks(4,5) If Maks(A,B) > 0 then… ZMaks(A,B) * 2

Page 6: FUNGSI

REKURSI Suatu subprogram tidak hanya bisa memanggil sub

program lain, tetapi juga bisa memanggil dirinya sendiri. Cara ini dikenal dengan sebutan rekursi.

Rekursi banyak dipakai pada persoalan yang dapat dipecahkan secara induktif. Misalnya untuk menghitung faktorial.

Pemecahan secara rekursif :0 ! = 1 (penghentian rekursi)jika m > 0, m ! = m x (m-1) ! (langkah induksi)

00

....4321,1

!

mm

jikajika

xmxxxm

Page 7: FUNGSI

Fungsi Rekursif Fungsi yang memanggil dirinya sendiri

disebut fungsi rekursif. Contoh fungsi rekursif untuk menghitung faktorial.

Function FaktorialR(m:byte) : longintdeskripsi

If m = 0 then FaktrialR 1else FaktorialR m * FaktorialR(m-1)

End if

Page 8: FUNGSI

Latihan

function move(input n : integer):integer;deklarasi if (n=1) then move 1 else

move 2*move(n-1)+1end if

Berapa move(8) ?

Page 9: FUNGSI

Latihanfunction Z (input ki, ka : integer):integerdeskripsiif ki<ka then Z Z(1,((ki+ka) div 2)-1) + Z( ((ki+ka) div 2 ) +1, ka)+1 else Z 1end if

Berapakah nilai Z(1,7) ?

Page 10: FUNGSI

Prosedur RekursifProcedure Balik (X : integer)Deklarasi Sisa : integerDeskripsi

write (X mod 10)Sisa X div 10;If Sisa <> 0 Then Balik(Sisa)

End if

Jika prosedur di atas dipanggil dengan Balik(1024) apa hasilnya ?

Page 11: FUNGSI

LatihanProcedure Star(input t : integer)deskripsi if (t<2) then write (‘*’) else star (t-1) star (t-2) end if

Berapa kali simbol ‘*’ dituliskan jika prosedur dipanggil dengan perintah Star(6) ?

Page 12: FUNGSI

Latihan

1. Lihat kembali Algoritma Euclidean untuk menghitung nilai FPB. Buatlah prosedur untuk menghitung nilai FPB berdasarlan Algoritma Euclidean, secara rekursif.

2. Buatlah fungsi rekursif dan non rekursif untuk menghitung nilai XN, dengan X bilangan riil dan N bilangan bulat