Professional Documents
Culture Documents
Pertemuan 04
Contents (1 of 2)
1
3 Rumus Deret Untuk Menghitung Efisiensi
2
Rumus Deret Untuk Hitung Efisiensi
Deret Geometri U n ar n 1
Suku pertama (a) Un
Suku Ke-n (Un) r ,r 1
U n-1
Rasio (r)
Jumlah sampai suku ke-n (Sn)
a r n 1 r 1
S n r 1n
a 1 r r 1
Contoh : 1 + 2 + 4 + 8 + .. 1 r
a = 1, r = 2
U n 2 n 1
Sn
2 1 2
n
n
1
2 1
3
Rumus Deret Untuk Hitung Efisiensi
Deret Fibonacci
Deret : 0,1,1,2,3,5,8,13,21,34,55,….
n n
1 5 1 5
Un
n
1 5 1 5
n
2
2 n n
2n 5 1 5 1 5
2 2
dimana, 2 1 0,
- b b 2 4ac 1 - 1 4.1. 1 1 5
2
sehingga 1, 2
2a 2.1 2
1 5 1 5
1 dan 2 serta berlaku 1
2 2
4
Rumus Deret Untuk Hitung Efisiensi
Deret Fibonacci
Deret : 0,1,1,2,3,5,8,13,21,34,55,….
1
dimana, 2 1 0, 2 1,
1
Deret i adalah 0 , 1 , 2 ,.., n 1, , ,.., i 0,1,.., n
1, , 1 , 1 ,.. 1, , 1 , 2 ,..
1, , 1 , 1 ,.. 1, , 1 , 2 1 , 2 1 ,..
1, , 1 , 2 1 , 2 2 ,.. 1, , 1 , 2 1 , 2 1 ,..
1, , 1 , 2 1 , 3 2 , 3 2 ,.. 1, , 1 , 2 1 , 3 2 , 3 2 2 ,..
1, , 1 , 2 1 , 3 2 , 3 1 2 ,.. 1, , 1 , 2 1 , 3 2 , 5 3 ,..
1, , 1 , 2 1 , 3 2 , 5 3 , 8 5 , 13 8 , 21 13 , 34 21 ,..
5
Rumus Deret Untuk Hitung Efisiensi
Deret Fibonacci
Deret : 0,1,1,2,3,5,8,13,21,34,55,….
1
Deret i adalah 0 , 1 , 2 ,.., n 1, , ,.., i 0,1,.., n
1, , 1 , 2 1 , 3 2 , 5 3 , 8 5 , 13 8 , 21 13 , 34 21 ,..
Deret i - i dengan i 0,1,.., n
1 1, , 1 1 , 2 1 2 1 , 3 2 3 2 ,..
0, , ,2 ,3 ,5 ,8 ,13 ,21 ,..
Jika deret i - i dibagi dengan , maka akan menjadi deret Fibonacci :
i - i 0 2 3 5 8 13
, , , , , , , ,..
i - i
0,1,1,2,3,5,8,13,..
6
Rumus Deret Untuk Hitung Efisiensi
Deret Fibonacci
Deret : 0,1,1,2,3,5,8,13,21,34,55,….
n n
1 5 1 5
Un
n
1 5 1 5
n
2 2 n n
2 5n
1 5 1 5
2 2
n
Sn
i i 0 0 n i i 0 n i i n
i i
i 0 i 1
i 1
i 1
dengan menggunakan deret geometri didapatkan
Sn
1
n 1 1 n 1
2 n
1 2
1
n
1 1
7
Rumus Deret Untuk Hitung Efisiensi
Deret Fibonacci
Deret : 0,1,1,2,3,5,8,13,21,34,55,….
n n
1 5 1 5
Un
n
1 5 1 5
n
2
2 n n
2n 5 1 5 1 5
2 2
Sn
1
n 1 1 n
1
2 n
1
2
1 n
1 1
2
n
2
n
1 1 5 1 5 1 5 1 5
Sn 1 1
5 2 2 2 2
8
Contents (2 of 2)
1
3 Fungsi Rekursif
10
Apa itu fungsi rekursif?
11
Apa itu fungsi rekursif?
12
Apa itu fungsi rekursif?
13
Format Fungsi Rekursif
14
Format Fungsi Rekursif
15
Latihan
Buatlah fungsi rekursif untuk menghitung nilai
Xn
16
Algorithm pangkat(X, n)
//algoritma untuk menghitung nilai Xn secara rekursif
//input : integer positif X dan n
//output : nilai Xn
if n = 1
return X
else return (X * pangkat(X, n-1))
Pohon rekursifnya?
17
Latihan
Buatlah fungsi rekursif untuk menghitung
bilangan fibonacci ke n
18
Algorithm fib(n)
//algoritma untuk menghitung bilangan fibonacci ke n
//secara rekursif
//input : n
//output : bilangan fibonacci ke n
if n = 0 or n = 1
return n
else return (fib(n - 1) + fib(n - 2))
Pohon rekursifnya?
19
Analisa Efisiensi Algoritma Rekursif
Algorithm pangkat(X, n)
//algoritma untuk menghitung nilai Xn secara rekursif
//input : integer positif X dan n
//output : nilai Xn
if n = 1
return X
else return (X * pangkat(X, n-1))
20
Analisa Efisiensi Algoritma Rekursif
21
Analisa Efisiensi Algoritma Rekursif
2 : Basic operation
23
Analisa Efisiensi Algoritma Rekursif
3 : Case
24
Analisa Efisiensi Algoritma Rekursif
25
Analisa Efisiensi Algoritma Rekursif
27
Analisa Efisiensi Algoritma Rekursif
29
Analisa Efisiensi Algoritma Rekursif
31
Analisa Waktu Algoritma
Relasi rekurens
T(n)=0 untuk n=1
T(n)=T(n-1)+1 untuk n>1
Analisa waktu:
T(n) = T(n - 1) + 1
T(n) = (T(n - 2) + 1) + 1 = T(n - 2) + 2
T(n) = (T(n - 3) + 1) + 2 = T(n - 3) + 3
…
T(n) = T(1) + n
T(n) = 0 + n = n times
Anggota kelas n
32
Latihan
Buatlah fungsi rekursif untuk menghitung nilai
faktorial bilangan n
33
Menghitung kompleksitas pada Faktorial
Function Faktorial (input n : integer) → integer
{menghasilkan nilai n!, n ≥ 0}
Algoritma
If n=0 then
Return 1
Else
Return n*faktorial (n-1)
Endif
Kompleksitas waktu :
untuk kasus basis, tidak ada operasi perkalian → (0)
untuk kasus rekurens, kompleksitas waktu diukur dari jumlah perkalian (1)
ditambah kompleksitas waktu untuk faktorial (n-1)
Contoh 1
Buatlah fungsi rekursif untuk menghitung
permasalahan Menara Hanoi
36
Relasi rekurens :
T(n) = 1 untuk n=1
T(n) = 2T(n-1) + 1 untuk n>1
Analisis waktu:
T(n) = 2T(n - 1) + 1
T(n) = 2(2T(n - 2) + 1) + 1 = 22T(n - 2) + 2 + 1
T(n) = 22(2T(n - 3) + 1) + 2 + 1= 23T(n - 3) + 22 + 2 + 1
…
T(n) = 2n-1 + … + 23 + 22 + 2 + 1
T(n) = 2n - 1 = 2n - 1 times
Anggota kelas 2n
37
Bukti Pernyataan
T(n) = 2n-1
Jumlah seluruh perpindahan piringan. Jika
perpindahan 1 piringan membutuhkan waktu 1
detik, maka waktu yang dibutuhkan untuk
memindahkan 64 piringan :
264 -1 detik
= 10.446.744.073.709.551.615
38
Soal Latihan 1
Algoritma
Fibonacci adalah algoritma rekursif yang bertujuan untuk
menampilkan angka fibonacci.
Pertanyaan :
a. Gambarkan pohon rekursifnya untuk fib(5) !
b. Analisis dan hitung kompleksitas dari
C(n) = C(n-1) + C(n-2) + 1 !
(diasumsikan C(1)=1 dan C(0)=1).
Un
1 5 1 5
n n
, dimana n 0,1,..
2n 5
1 5 2 1 5 n
1 1 5 1 5
2 n
Sn 1 1
5 2 2
2 2
39
Soal Latihan 2
Algoritma Mistery adalah algoritma rekursif yang
bertujuan untuk menampilkan angka fibonacci 3
tahap.
Pertanyaan :
a. Gambarkan pohon rekursifnya untuk Mistery(5) !
b. Analisis dan hitung kompleksitas dari
C(n) = C(n-1) + C(n-2) + C(n-3) + 2 !
(diasumsikan C(2)=1, C(1)=1 dan C(0)=1).
40
Click to edit subtitle style