SUBRUTIN&
REKURSI
SUBRUTIN
Untuk mencapai suatu tujuan besar, maka tujuan tersebutharus dibagi-bagi menjadi tujuan kecil
sampai tujuan kecil itu merupakan tujuan yang dapatdicapai berdasarkan kondisi dan potensi yang dimiliki saat itu
(Al-Khuwarizmi)
Program Utama
Subrutin
Subrutin
Subrutin
Melakukan tugas-tugas yang lebih spesifi k
Prosedur
Fungsi
Subrutin
• Buatlah algoritma untuk mencetak kata “Subrutin” sebanyak yang diinginkan
Contoh 1
Algoritma
Start
Input : jumcetak
cetakkata(jumcetak)
End
Analisis :1. Subrutin untuk mencetak kata memerlukan
satu parameter input (jumlah pencetakan)
Subrutin
End
i 1
Write(‘Subrutin’)
i i + 1
i <=jumcetakyes
no
cetakkata(jumcetak)
• Buatlah algoritma untuk mengitung luas segi empat dengan menggunakan subrutin
Contoh 2
Algoritma
Start
Input : panjang, lebar
hitungluas(panjang, lebar)
Output : luas
End
Analisis :1. Subrutin untuk menghitung luas memerlukan
dua parameter input (panjang dan lebar) 2. Parameter output dari subrutin
adalah hasil perhitungan luas segi empat
Subrutin
hitungluas p * l
Return(hitungluas)
hitungluas(panjang, lebar)
REKURSI
f(n) = nf(n - 1) , untuk n > 1f(1) = 1Hitunglah nilai f(4)Jawab :
f(4) = 4f(3)f(4) = 4(3)f(2)f(4) = 4(3)(2)f(1)f(4) = 4(3)(2)(1)f(4) = 24
Rekursi dalam Matematika
Basis (Terminasi)
Rekurens(Definisi Rekursi)
Rekursi
• Buatlah algoritma untuk menghitung deret bilangan positif secara rekursi
Contoh 1
Algoritma
Start
Input : n
jumlah(n)
End
Analisis :1. Subrutin untuk menghitung
deret bilangan positif memerlukan satu parameter input (jumlah deretbilangan)
2. Parameter output dari subrutinadalah hasil penjumlahan deretbilangan
3. Basis : jumlah(0) = 04. Rekurens :
jika n > 0 makajumlah(n) = n + jumlah(n - 1)
Subrutin
Output : jumlah
Return(jumlah)
jumlah 0
n = 0yesno
jumlah n + jumlah(n - 1)
jumlah(n)
• Buatlah algoritma untuk menghitung bilangan faktorial secara rekursi
Contoh 2
Algoritma
Start
Input : n
fak(n)
End
Analisis :1. Subrutin untuk menghitung
bilangan faktorial memerlukan satu parameter input (bilangan yangakan dicari faktorialnya)
2. Parameter output dari subrutinadalah hasil faktorial
3. Basis : fak(0) = 14. Rekurens :
jika n > 0 makafak(n) = n * fak(n - 1)
Subrutin
Output : fak
Return(fak)
fak 1
n = 0yesno
fak n * fak(n - 1)
fak(n)
• Buatlah algoritma untuk mencari bilangan fibonaci pada posisi yang diinginkan
Contoh 3
Algoritma
Start
Input : n
fibo(n)
End
Analisis :1. Subrutin untuk mencari bilangan fibonaci
memerlukan satu parameter input (posisi bilangan yang ingin dicari)
2. Parameter output dari subrutinadalah nilai bilangan fibonaci pada posisi yang diinginkan
3. Basis : fibo(0) = 1, fibo(1) = 14. Rekurens :
jika n > 1 makafibo(n) = fibo(n-2) + fibo(n-1)
Subrutin
Output : fibo
Return(fibo)
fibo 1
n = 0 or n = 1
yesno
fibo fibo(n-1) + fibo(n-2)
fibo(n)