kompleksitas waktu untuk algoritma...
TRANSCRIPT
![Page 1: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/1.jpg)
Kompleksitas Waktu
untuk Algoritma
Rekursif
ZK Abdurahman Baizal
![Page 2: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/2.jpg)
Algoritma Rekursif
Bentuk rekursif :
suatu subrutin/fungsi/ prosedur yang
memanggil dirinya sendiri.
Bentuk dimana pemanggilan subrutin
terdapat dalam body subrutin
Dengan rekursi, program akan lebih mudah
dilihat
![Page 3: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/3.jpg)
Bentuk rekursi bertujuan untuk :
menyederhanakan penulisan program
menggantikan bentuk iterasi
Syarat bentuk rekursif:
ada kondisi terminal (basis)
ada subroutine call yang melibatkan
parameter yang nilainya menuju kondisi
terminal (recurrence)
![Page 4: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/4.jpg)
Menghitung kompleksitas bentuk
rekursif
Untuk bentuk rekursif, digunakan teknik
perhitungan kompleksitas dengan relasi
rekurens
![Page 5: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/5.jpg)
Menghitung faktorial
Function Faktorial (input n : integer) → integer
{menghasilkan nilai n!, n tidak negatif}
Algoritma
If n=0 then
Return 1
Else
Return ( n*faktorial (n-1) )
Endif
![Page 6: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/6.jpg)
Menghitung faktorial
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)
![Page 7: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/7.jpg)
Menghitung faktorial
Jadi relasi rekurens :
0,1)1(
0,0
nnT
nnT
![Page 8: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/8.jpg)
11 nTnT
22211 nTnT
33312 nTnT
= …..
= n + T(0)
= n + 0
Jadi T(n) = n → O(n)
Menghitung faktorial
![Page 9: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/9.jpg)
Menara Hanoi
Legenda di Hanoi, tentang kisah pendeta
Budha bersama murid-muridnya.
![Page 10: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/10.jpg)
Bagaimana memindahkan seluruh piringan (64 piringan)tersebut
ke sebuah tiang yang lain (dari A ke B); setiap kali hanya satu
piringan yang boleh dipindahkan, tetapi tidak boleh ada piringan
besar di atas piringan kecil. Ada tiang perantara C.
B A C
![Page 11: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/11.jpg)
Kata pendeta, jika pemindahan
berhasil dilakukan, maka DUNIA
KIAMAT !!!
![Page 12: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/12.jpg)
Procedure Hanoi (input n, A, B, C:integer)
Algoritma
If n=1 then
Write (‘Pindahkan piringan dari’,A,’ke’,B)
Else
Hanoi(n-1,A,C,B)
Writeln(‘Pindahkan piringan dari’,A,’ke’,B)
Hanoi(n-1,C,B,A)
Endif
Menara Hanoi
![Page 13: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/13.jpg)
Relasi Rekurrens :
1,112
1,1
nnT
nnT
Menara Hanoi
![Page 14: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/14.jpg)
121 nTnT
222122121 2 nTnT
32221321221 322 nTnT
= …….
122.......221 122 Tnn
1.2.....221 12 n
12 n
Menara Hanoi
![Page 15: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/15.jpg)
Menara Hanoi
Jadi
n
n
OnT
nT
2
12
![Page 16: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/16.jpg)
12 nnT
Menara Hanoi
= kira-kira 600 milyar tahun (???!!!)
1264 detik
= 10.446.744.073.709.551.615
adalah jumlah seluruh perpindahan piringan dari satu
tiang ke tiang lainnya.
Jika perpindahan 1 piringan butuh waktu 1 detik, maka
waktu yang dibutuhkan :
![Page 17: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/17.jpg)
Persoalan Minimum &
Maksimum
procedure MinMaks2(input A : TabelInt, i, j : integer,
output min, maks : integer)
{ Mencari nilai maksimum dan minimum di dalam tabel A yang berukuran n elemen secara Divide and Conquer.
Masukan: tabel A yang sudah terdefinisi elemen-elemennya
Keluaran: nilai maksimum dan nilai minimum tabel
}
Deklarasi
min1, min2, maks1, maks2 : integer
![Page 18: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/18.jpg)
Persoalan Minimum &
Maksimum
if i=j then { 1 elemen }
minAi
maksAi
else
if (i = j-1) then { 2 elemen }
if Ai < Aj then
maksAj
minAi
else
maksAi
minAj
endif
![Page 19: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/19.jpg)
Persoalan Minimum &
Maksimum
else { lebih dari 2 elemen }
k(i+j) div 2 { bagidua tabel pada posisi k }
MinMaks2(A, i, k, min1, maks1)
MinMaks2(A, k+1, j, min2, maks2)
if min1 < min2 then
minmin1
else
minmin2
endif
if maks1<maks2 then
maksmaks2
else
maksmaks2
endif
![Page 20: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/20.jpg)
Persoalan Minimum &
Maksimum
2,2)2/(2
2,1
1,0
)(
nnT
n
n
nT
Relasi rekurrens:
![Page 21: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/21.jpg)
Persoalan Minimum &
Maksimum
Penyelesaian:
Asumsi: n = 2k, dengan k bilangan bulat positif,
maka
T(n) = 2T(n/2) + 2
= 2k – 1 T(2) +
1
1
2k
i
i
= 2k – 1 1 + 2k – 2
= ...
= 4 (2T(n/8) + 2) + 4 + 2 = 8T(n/8) + 8 + 4 + 2
= 2(2T(n/4) + 2) + 2 = 4T(n/4) + 4 + 2
![Page 22: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/22.jpg)
Persoalan Minimum &
Maksimum
222 log1log 22
nn
= n/2 + n – 2
22
3 nnT
nOnT
Jadi
= 3n/2 – 2
![Page 23: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/23.jpg)
Untuk mengetahui kompleksitas bentuk rekursif, maka
nT harus diubah dalam bentuk yang bukan rekursif
Bagaimana mengubah bentuk rekursif ke non rekursif ?
Ada dua macam cara untuk menyelesaikan masalah ini,
yaitu cara coba-coba dan dengan persamaan karakteristik :
1. Cara coba-coba (deret).
2. Metode dengan persamaan karakteristik
![Page 24: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/24.jpg)
Cara coba-coba.
Cara ini dilakukan dengan menentukan pola
deret yang terbentuk (cara deret). Contoh
untuk cara ini telah ditunjukkan dalam
mencari kompleksitas waktu untuk beberapa
bentuk rekursif sebelumnya. Cara ini agak
sulit dan perlu pengalaman.
![Page 25: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/25.jpg)
Cara coba-coba
Contoh :
321
2,1
nbnTnT
nanT
![Page 26: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/26.jpg)
Cara coba-coba
babaabTTT 2213
babbaabTTT 232324
babbababTTT 45232435
bbababTTT 4523546
T(1) = T(2) = a
= 8a + 7b
→ Sulit untuk diformulasikan
![Page 27: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/27.jpg)
Metode dengan persamaan
karakteristik
Bentuk Persamaan Linier Tak Homogen
Langkah-langkahnya adalah sebagai berikut:
1. Perhatikan bentuk rekursifnya :
nfknTanTanTanT k ....21 21
nPtnf d
n
k
dd
d bnbnbnP ....1
10
→ polinomial dengan orde / derajat terbesar d
→ didapatkan nilai t dan d
![Page 28: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/28.jpg)
Metode dengan persamaan
karakteristik
knTanTanTanT k ....21 21
nxnT
kn
k
nnn xaxaxax ...2
2
1
1
0...2
2
1
1 kn
k
nnn xaxaxax
2. Asumsi nf = 0
Misal
knx Persamaan di atas kemudian dibagi dengan
knx (ini jika adalah suku dengan orde terkecil), sehingga
didapatkan : 0...2
2
1
1
k
kkk axaxax
→ bentuk homogen
![Page 29: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/29.jpg)
Metode dengan persamaan
karakteristik
3. Diperoleh persamaan karakteristik :
0...12
2
1
1 d
k
kkk txaxaxax
t dan d didapatkan dari langkah 1.
![Page 30: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/30.jpg)
Metode dengan persamaan
karakteristik
4. Ada 2 macam kasus :
....332211 nnn
xcxcxcnT
,...,, 321 xxxKasus 1
Semua akar karakteristik berbeda
Solusi Umum:
,...,, 321 ccc adalah konstanta yang harus dicari
xxx ....21
nxncncnccnT ....3
4
2
321
Kasus 2
Semua akar karakteristik sama, yaitu
Solusi Umum:
![Page 31: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/31.jpg)
Masalah faktorial
0,11
0,0
nnT
nnT
11 nTnT
1nf
0.11 nn
(i)
→ t = 1 d = 0
![Page 32: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/32.jpg)
Masalah faktorial
1 nTnT
01 nTnT
01 nn xx1nx
(ii) persamaan homogen (kita anggap f(n)=0)
nxnT Misal , maka
Persamaan terakhir ini dibagi dengan
(suku dengan orde terkecil), didapatkan :
x – 1 = 0
![Page 33: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/33.jpg)
Masalah faktorial
11 x 12 x
nnccnT 1.21
ncc 21
(iii) Persamaan karakteristik
(x – 1)(x – 1) = 0
Akar – akarnya adalah :
Akar sama, jadi termasuk kasus 2, sehingga solusi umum :
![Page 34: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/34.jpg)
Masalah faktorial
00 T
1101 TT
10 cT
211 ccT
Dari relasi rekurens :
Dari solusi umum:
………(**)
………..(*)
Cari c1 dan c2 :
![Page 35: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/35.jpg)
Masalah faktorial
01 c
121 cc
01 c 12 c
nccnT 21
nnT nOnT
Dari (*) dan (**) didapatkan persamaan :
Dari kedua persamaan terakhir ini diperoleh
dan
Dengan demikian diperoleh :
Jadi kompleksitas waktunya adalah dan
= n
![Page 36: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/36.jpg)
Kasus Menara Hanoi
1,121
1,1
nnT
nnT
1nf
0.11 nn
Relasi rekurrens :
112 nTnT(i)
→ t = 1 d = 0
![Page 37: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/37.jpg)
Kasus Menara Hanoi
nxnT
12 nTnT
012 nTnT
02 1 nn xx1nx
(ii) Persamaan homogen
Persamaan terakhir ini dibagi
didapatkan :
x – 2 = 0
Misal
(suku dengan orde terkecil),
![Page 38: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/38.jpg)
Kasus Menara Hanoi
21 x 12 x
nn ccnT 12 21
212 cc n
(iii) Diperoleh persamaan karakteristik :
(x – 2)(x – 1) = 0
Dari persamaan karakterik diperoleh akar-akar :
→ akar-akar berbeda, sehingga termasuk dalam kasus 1,
sehingga solusi umum:
![Page 39: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/39.jpg)
Kasus Menara Hanoi
32
11
T
T
21
21
42
21
ccT
ccT
Cari c1 dan c2 :
Dari relasi rekurrens : Dari Solusi umum:
……(**)………(*)
Dari (*) dan (**)
34
12
21
21
cc
ccc1 = 1 dan c2 = -1
![Page 40: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/40.jpg)
Kasus Menara Hanoi
212 ccnT n
12 n
12 nnT
nOnT 2
Jadi
Jadi kompleksitas waktu :
Kompleksitas waktu Asimptotik:
![Page 41: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/41.jpg)
Persoalan Minimum &
Maksimum
2,22
2,1
1,0
2 nT
n
n
nT
n
Relasi Rekurrens
22
222
mm TT
222 1 mT
22 2 nTnT(i)
mn 2Dimisalkan
2mf
021 mm
→ t = 1 d = 0
![Page 42: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/42.jpg)
Persoalan Minimum &
Maksimum
1222 mm TT
0222 1 mm TT
02 1 mm xx
(ii) Persamaan homogen :
1mxPersamaan terakhir ini dibagi dengan
(suku dengan orde terkecil), didapatkan :
mm xT 2Misal
x – 2 = 0
![Page 43: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/43.jpg)
Persoalan Minimum &
Maksimum
012 xx
21 x 12 x
mm ccmT 12 21
nn ccnT log
2
log
1
22
12
21 cnc
(iii) Diperoleh persamaan karakteristik :
Akar-akarnya :
Solusi umum :
mn 2Karena nm log2→
![Page 44: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/44.jpg)
Persoalan Minimum &
Maksimum
Cari c1 dan c2 :
Dari relasi rekurrens :
2224 TT = 4……..(*)
2428 TT = 10
21
21
88
44
ccT
ccT
Dari solusi umum:
………..(**)
44 21 cc
108 21 cc
23
1 c
22 c
Dari (*) dan (**)
22
3
nnT
nOnT
Jadi kompleksitas waktu :
Kompleksitas waktu asimptotik
![Page 45: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/45.jpg)
Bentuk Persamaan Linier Homogen
nfknTanTanTanT k ....21 21
knTanTanTanT k ....21 21
Bentuk Persaman Linier Homogen adalah :
Dengan
Jadi bentuk Persaman Linier Homogen adalah :
nf = 0
![Page 46: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/46.jpg)
Barisan Fibonacci
Relasi rekurrens :
121
11
00
nnTnT
n
n
nT
nxnT
021 nnn xxx
(i) Persamaan rekursi :
21 nTnTnT =0
, makaMisal
![Page 47: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/47.jpg)
Barisan Fibonacci2nxPersamaan terakhir ini dibagi , didapatkan :
12 xx = 0 → persamaan karakteristik
2
511
x
2
512
x
nn
ccnT
2
51
2
5121
(ii) Akar persamaan karakteristik adalah :
dan
→ akar-akar berbeda, sehingga termasuk dalam kasus 1,
sehingga solusi umum:
![Page 48: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/48.jpg)
Barisan Fibonacci
(iii) Cari c1 dan c2 :
Dari relasi rekurrens dan solusi umum diperoleh :
12
51
2
511
02
51
2
510
1
2
1
1
0
2
0
1
ccT
ccT
5
1
Dari 2 persamaan terakhir ini, diperoleh
dan c2 =5
1c1 =
![Page 49: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/49.jpg)
Deret Fibonacci
5
2
51
2
51nn
nT
(iv) Masukkan ke solusi umum kembali, sehingga didapatkan :
![Page 50: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/50.jpg)
Contoh lain
Misal kita punya relasi rekurrens :
23921517
22
11
00
nnTnTnT
n
n
n
nT
![Page 51: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/51.jpg)
Contoh lain
03319157 23 xxxxxx
3nxPersamaan terakhir ini dibagi
→ persamaan karakteristik
(suku dengan orde terkecil) didapatkan :
03921517 nTnTnTnT
09157 321 nnnn xxxx
(i) Persamaan rekursi :
Misal T(n) = xn, maka persamaan di atas menjadi :
![Page 52: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/52.jpg)
Contoh lain
11 x 332 xx
nnn ncccnT 331 321
(ii) Akar persamaan karakteristik adalah :
→ tidak semua akar-akarnya sama (juga tidak semua berbeda)
jadi perpaduan antara kasus 1 dan kasus 2,
sehingga solusi umumnya adalah :
![Page 53: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/53.jpg)
Contoh lain
2)3)(0(312
1)3)(0(311
0)3)(0(310
2
3
2
2
2
1
1
3
1
2
1
1
0
3
0
2
0
1
cccT
cccT
cccT
2189
133
0
321
321
21
ccc
ccc
cc
(iii) Cari c1 dan c2 dan c3:
Dari relasi rekurrens dan solusi umum diperoleh :
Disederhanakan menjadi :
11 c
3
1c2 = 1, dan c3 =
![Page 54: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/54.jpg)
Contoh lain
nnn nnT 33
13111
1331 nn n
(iv) Masukkan ke solusi umum kembali,
sehingga didapatkan :
)3()( nnOnT
![Page 55: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/55.jpg)
Teorema Master
Cara yang telah dibahas didepan adalah
bagaimana mencari T(n) untuk algoritma
rekursif, yang berlaku secara umum.
Khusus untuk strategi Divide & Conquer, kita
bisa juga mencari kompleksitas waktu
asimptotik (ingat! hanya kompleksitas waktu
asimptotik, bukan T(n) ) dengan
menggunakan teorema Master.
![Page 56: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/56.jpg)
Teorema Master
nfb
naTnT
Teorema Master :
Untuk suatu general Divide and Conquer recurrence :
dnOnf Jika
0ddimana dalam persamaan general Divide
and Conquer recurrence di atas, maka
da
dd
dd
banO
bannO
banO
nTb log
log
(analogous results hold for the and notations, too)
![Page 57: Kompleksitas Waktu untuk Algoritma Rekursifphg-simulation-laboratory.com/wp...Waktu-untuk-Algoritma-Rekursif.pdf · Algoritma Rekursif Bentuk rekursif : ... Barisan Fibonacci xn 2](https://reader033.vdocuments.site/reader033/viewer/2022050702/5a7522dc7f8b9a9c548c4582/html5/thumbnails/57.jpg)
Contoh :
Persoalan Minimum & Maksimum (procedure MinMax2)
2,22
2,1
1,0
2 nT
n
n
nT
n
→ salah satu contoh strategi divide and conquer.
dba nOnT
Dari relasi rekurens di atas, diperoleh a = 2, b = 2, d = 0.
atau
.
sehingga
2log2
nOnT →