MODUL VIII
REKURSIF (BAGIAN 2)
Pertemuan : 14
Waktu : 2 x 60 menit (di Laboratorium)
5! = 5x4! = 120
4! = 4x3! = 24
3! = 3x2! = 6
2! = 2x1! = 2
1! = 1 x 0!=1
0! =1
b. Contoh yang lain dari fungsi rekursif adalah fungsi pangkat. Sebagai contoh
kita akan menghitung 35, maka proses rekursif akan tampak pada bagan
berikut ini :
35 3 34 3 81 243
34 3 33 3 27 81
33 3 32 3 9 27
32 3 31 3 3 9
31 3 30 3 1 3
30 1
Berdasarkan kondisi di atas maka :
3N = 3 x 3(N-1), untuk N > 0
30 = 1
Contoh ini menunjukan penghitungan fungsi pangkat dapat menggunakan definisi
rekursif.
Secara umum, skema dasar fungsi rekursif sebagai berikut :
Function F(input x : x_type) : function_type;
{mengembalikan nilai F}
Kamus Data :
y : y_type
Algoritma :
if T(x) then
return N(x) {Basis}
else
R1(x)
Return F(g(x)) {Rekurens}
R2(x)
endif
b. Rekurens
Bagian ini mendefinisikan objek dalam terminology dirinya sendiri
1. Fungsi faktorial
Algoritma :
input(bil)
output(Fak(bil))
2. Fungsi Pangkat
Notasi algoritma Bahasa C
Algoritma Fungsi : #include <stdio.h>
bil : real
n : integer
Function Pangkat(input a : real,
input n : integer) : real
Algoritma :
input(bil, n)
output(pangkat(bil,n))
Algoritma :
/*masukkan data array*/
input(n)
for i←1 to n do
input(Data[i])
endfor
/*pemanggilan fungsi*/
input(x)
output(cari(Data,n, x, 1))
Perhatikan bahwa laporan ini harus merupakan hasil karya sendiri. Kesamaan
seluruh/sebagian isi laporan dengan mahasiswa lain akan mengakibatkan nilai
laporan menjadi Nol.