Kasus Pertama : Perpangkatan
function pangkat(x : integer, y : integer) :
integer
if y = 0 then
pangkat ß 1
else
pangkat ß x
* pangkat (x, y-1)
Endif
Endfunction
Algoritma
Input x, y
Output pangkat
(x,y)
Menghitung nilai T(n)
T(n) = [ 0 , n = 0
T(n-1)+1, n > 0
T(n) = 1 + T(n-1)
= 1 + 1 + T(n-2) = 2 + T(n-2)
= 2 + 1 + T(n-3) = 3 + T(n-3)
= ........
= n + T(0)
= n + 0
Jadi, T(n) = n
Penjelasan
Program di atas akan berhenti jika pangkatnya 0. Contohnya 3^5 berarti kita akan mengurangi pangkatnya sebesar 1 menjadi 3 x 3^4 dan kita akan mencari hasil nya , hasilnya adalah 243
Prosesnya adalah , Selama pangkaynya > 0 , maka pangkat nya -1 jika pangkatnya sudah 0 , maka program tersebut akan berhenti
Contohnya;
3^5 = 3 x 3^4 = 3 x 81 = 243
3^4 = 3 x 3^3 = 3 x 27 = 81
3^3 = 3 x 3^2 = 3 x 9 = 27
3^2 = 3 x 3^1 = 3 x 3 = 9
3^1 = 3 x 3^0 = 3 x 1 = 3
3^0= 3 x 1 = 3
Program di atas akan berhenti jika pangkatnya 0. Contohnya 3^5 berarti kita akan mengurangi pangkatnya sebesar 1 menjadi 3 x 3^4 dan kita akan mencari hasil nya , hasilnya adalah 243
Prosesnya adalah , Selama pangkaynya > 0 , maka pangkat nya -1 jika pangkatnya sudah 0 , maka program tersebut akan berhenti
Contohnya;
3^5 = 3 x 3^4 = 3 x 81 = 243
3^4 = 3 x 3^3 = 3 x 27 = 81
3^3 = 3 x 3^2 = 3 x 9 = 27
3^2 = 3 x 3^1 = 3 x 3 = 9
3^1 = 3 x 3^0 = 3 x 1 = 3
3^0= 3 x 1 = 3
Kasus Kedua : Menara Hanoi
procedure Hanoi (input n, A, B, C:integer)
Algoritma
if n = 1 then
output('Pindahkan piringan dari',A,'ke',B)
else
Hanoi(n-1,A,C,B)
output('Pindahkan piringan dari',A,'ke',B)
Hanoi(n-1,C,B,A)
Endif
Endprocedure
Input n
Output Hanoi (A, B, C)
Menghitung nilai T(n)
T(n) = [ 1 , n = 1
2T(n-1)+1, n > 1
T(n) = 1 + 2T(n-1)
= 1 + 2(1 + 2T(n-2)) = 1 + 2 + 22 T(n-2)
=1 + 2 + 22(1 + 2T(n-3)) = 1 + 2 + 22 + 23T(n-3)
= ........
= (1 + 2 + 22 + .......+ 2n-2)+ 2n-1 T(1)
= 1 + 2 + 22 + .......+ 2n-1.1
= 2n - 1
Jadi, T(n) = 2n - 1
Kasus Ketiga : Persoalan Minimum dan Maksimum
procedure MinMaks (input A : TabelInt, i, j :integer, output min, maks : integer)
Masukan: tabel A yang sudah terdefinisi elemen-elemennya
Keluaran: nilai maksimum dan nilai minimum tabel
}
Kamus
min1, min2, maks1, maks2 : integer
Algoritma
if i = j then {1 elemen}
min <-- Ai
maks <-- Ai
else
if (i = j-1) then {2 elemen}
if Ai < Aj then
maks <-- Aj
min <-- Ai
else
maks <-- Ai
min <-- Aj
endif
else {lebih dari 2 elemen}
k <-- (i+j) div 2 {bagidua tabel pada posisi k}
MinMaks2(A, i, k, min1, maks2)
MinMaks2(A, i, k+1,j, min2, maks2)
if min1 < min2 then
min <-- min1
else
min <-- min2
endif
if maks1 < maks2 then
maks <-- maks2
else
maks <-- maks2
endif
Endprocedure
Input A
Output MinMaks (i,j,min,maks)
Menghitung nilai T(n)
T(n) = [ 0 , n = 1
1 , n = 2
2T(n/2)+2, n > 2
T(n) = 2T(n/2) + 2
= 2(2T(n/4) + 2) + 2 = 4T(n/4) + 4 + 2
= 4(2T(n/8) + 2) + 4 + 2 = 8T(n/8) +8 + 4 + 2
= ........

