Diberikan penggalan program sebagai berikut. (note: program ini merupakan Pascal-like pseudocode, secara sintaks belum tentu sama dengan Pascal)
function f (n: integer);
begin
if n=0 then f:=0
else f := n + f(n-1);
end;
Untuk f(8) program di atas menghitung:
a. 0+1+2+3+4+5+6+7+8
b. 1+2+3+4+5+6+7+8
c. 8+7+6+5+4+3+2+1
d. 8+7+6+5+4+3+2+1+0
e. Tidak ada jawaban benar
f(8)= 8 + f(7)
f(7)= 7 + f(6)
f(6)= 6 + f(5)
f(5)= 5 + f(4)
f(4)= 4 + f(3)
f(3)= 3 + f(2)
f(2)= 2 + f(1)
f(1)= 1 + f(0)
f(0)= 0
sehingga jawaban yang benar adalah 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 (D)
Kita bisa lihat dari basis dan rekurensnya. Tampak bahwa sebenarnya dia melakukan penjumlahan dari n ke 0
Mengapa 0? Karena base casenya sendiri berada pada n = 0
Maka bisa disimpulkan bahwa f(8) = 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 (D)
Masuk untuk menulis jawaban