analisa algoritma
DESCRIPTION
Analisa Algoritma. Algoritma rekursif dan relasi rekurensi. Deskripsi. Materi ini membahas tentang algoritma rekursif beserta relasi rekurensnya. Tujuan Instruksional Khusus (TIK) . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/1.jpg)
Analisa Algoritma
Algoritma rekursif dan relasi rekurensi
![Page 2: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/2.jpg)
Deskripsi Materi ini membahas tentang algoritma
rekursif beserta relasi rekurensnya
![Page 3: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/3.jpg)
Tujuan Instruksional Khusus (TIK) Menjelaskan algoritma rekursif dengan
studi kasus menara hanoi dan faktorial beserta perhitungan kompleksitasnya
Menyelesaikan relasi rekurens linier dan koefisien konstan
Meyelesaikan relasi rekurens dengan teorema master
![Page 4: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/4.jpg)
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 Bentuk rekursi bertujuan untuk :
menyederhanakan penulisan program menggantikan bentuk iterasi
Syarat bentuk rekursif: ada kondisi terminal (basis) subroutine call yang melibatkan parameter yang
nilainya menuju kondisi terminal (recurrence)
![Page 5: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/5.jpg)
Menghitung kompleksitas : Studi kasus FaktorialFunction Faktorial (input n : integer) → integer
{menghasilkan nilai n!, n tidak negatif}
Algoritma
If n=0 then
Return
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)
![Page 6: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/6.jpg)
Kompleksitas waktu T(n)=1+T(n-1)=T(n)=1+1+T(n-2)=2+T(n-2)=T(n)=2+1+T(n-3)=3+T(n-3)= …= …= n+T(0)= n + 0 Jadi T(n) = n T(n)∈ O(n)
![Page 7: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/7.jpg)
Kasus 2 : Menara hanoi
Bagaimana memindahkan seluruh 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. Kata pendeta, jika pemindahan berhasil dilakukan, maka DUNIA KIAMAT !!!
A B C
![Page 8: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/8.jpg)
AlgoritmaProcedure 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
Relasi Rekurens
![Page 9: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/9.jpg)
![Page 10: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/10.jpg)
T(n)=2n+1 adalah jumlah seluruh perpindahan piringan dari satu tiang ke tiang lainnya.
Bila terdapat 64 tumpukan piringan da perpindahan 1 piringan butuh waktu 1 detik, maka waktu yang dibutuhkan : detik 264−1 detik = 10.446.744.073.709.551.615 detik= kira-kira 600 milyar tahun (???!!!)
![Page 11: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/11.jpg)
Kompleksitas algoritma rekursif Untuk mengetahui kompleksitas bentuk
rekursif, maka T(n) 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 relasi rekurens
![Page 12: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/12.jpg)
Contoh cara coba coba
Cara ini agak sulit dan perlu pengalaman. Dalam beberapa problem Yang sederhana bisa diselesaikan dengan mudah.
![Page 13: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/13.jpg)
Cara Relasi Rekurensi Merubah
T(n) xn
T(n-1) xn-1
ContohT(n)=T(n-1)+T(n-2)
xn=xn-1+xn-2
xn-xn-1-xn-2=0
Klasifikasi Linier vs non linier Homogen vs non homogen Koefisien konstan vs non konstan
![Page 14: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/14.jpg)
Klasifikasi Linier vs non linier Homogen vs non homogen Koefisien konstan vs non konstan
Yang akan dibahasRelasi rekurens Linier dan koefisien konstan
![Page 15: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/15.jpg)
Klasifikasi Relasi Rekurensi :homogen vs non homogenRelasi rekurensi
a0 xn + a1 xn−1 + + ak xn−k = f(n) untuk n ≥ k
untuk suatu fungsi f(n) dan (k + 1) buah bilangan real a0, a1, a2, …, ak dan ak ≠ 0.
Tergolong homogen jika f(n) = 0 Tergolong tidak homogen jika f(n) 0
![Page 16: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/16.jpg)
Klasifikasi relasi rekurensi
Contoh:1. 2xn + xn−1 = 0
2. xn − xn−4 = n + 3
3. xn = xn−2 +xn-12
4. xn = xn−2 +nxn-12
Relasi Rekurensi linier homogen dengan koefisien konstan, berderajat 1
Relasi Rekurensi linier nonhomogen dengan koefisien konstan, berderajat 4
Relasi Rekurensi nonlinier homogen dengan koefisien konstan, berderajat 2
Relasi Rekurensi nonlinier homogen dengan koefisien tidak konstan,
berderajat 2
![Page 17: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/17.jpg)
Solusi Relasi Rekurensi Linier Homogen Perhatikan relasi rekurensi berikut:
xn = xn-1 + xn-2, untuk n > 1 dengan x1=1, x0 = 1
Jika Anda ingin mencari x1000, maka perlu mencari x999, x998, dan seterusnya sampai x1, x0
Untuk mencari nilai xn dengan cepat, relasi tersebut perlu diubah ke bentuk eksplisit.
Bentuk eksplisit ini merupakan solusi relasi rekurensi tersebut.
Cara mencari solusi relasi rekurensi linier homogen dan nonhomogen berbeda
![Page 18: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/18.jpg)
Solusi Relasi Rekurensi Linier HomogenTahapan: 1. Bentuk: a0 xn + a1 xn−1 + … + ak xn−k = 0, n ≥ k
diubah ke bentuk persamaan karakteristik: a0λk + a1 λk-1 + … + ak-1λ + ak = 0
2. Cari akar-akar karakteristiknya: r1, r2, r3…dst berikut multiplisitasnya (m1, m2, .. dst)
3. Solusi yang dicari adalah
...)...()...( 2,22
2,21
1,21,12
2,11
1,1 2
22
1
11 nm
mmnm
mmn rbnbnbrbnbnba
4. b1,1, b1,2 … dicari dengan melakukan substitusi persamaan dengan syarat awal yang diketahui
![Page 19: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/19.jpg)
Contoh Tentukan solusi umum untuk relasi rekurensi
xn = xn-1 + xn-2, untuk n > 1 Persamaan karakteristik dari relasi rekurensi:
2 - - 1 = 0 Didapatkan akar-akar karakteristiknya:
1 = (1+5)/2 dengan pengulangan m1 = 1 dan
2 = (1-5)/2 dengan pengulangan m2 = 1 Maka solusi umumnya: nn
n BAx
2
51
2
51
![Page 20: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/20.jpg)
Contoh Tentukan solusi untuk relasi rekurensi
xn = xn-1 + xn-2, untuk n > 1 dengan syarat awal x1=1 dan x0=0 Dari solusi umum:
nn
n BAx
2
51
2
51
dimasukkan syarat awal x1=1 dan x0=0. Diperoleh:
12
51
2
51
BA
dan A + B = 0
Dari kedua persamaan ini diperoleh A=1/5 dan B=-1/5 Maka solusi yang dicari adalah
nn
nx
2
51
5
1
2
51
5
1
![Page 21: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/21.jpg)
Contoh 9 Tentukan solusi umum untuk relasi rekurensi 4xn =
20xn-1 - 17xn-2 + 4xn-3, untuk n > 3 Persamaan karakteristik dari relasi rekurensi:
42 - 202 - 17 - 4 = 0(2-1) (2 -1) (-4) = 0
Didapatkan akar-akar karakteristiknya:1 = 1/2 dengan pengulangan m1 = 2 dan
2 = 4 dengan pengulangan m2 = 1 Maka solusi umumnya:
nnn C BAnx 4)
2
1)( (
![Page 22: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/22.jpg)
Solusi Relasi Rekurensi Linier Nonhomogen Jika tn memenuhi relasi rekurensi linear tak homogen
(*) a0 xn + a1 xn–1 + … + ak xn–k = f(n) untuk n ≥ k
dan hn adalah solusi umum untuk relasi rekurensi linear homogen yang bersangkutan
(**) a0 xn + a1 xn–1 + … + ak xn–k = 0 untuk n ≥ k, maka
xn = hn + tn
adalah solusi umum untuk (*). hn disebut solusi homogen untuk (*) dan tn disebut sebuah
solusi partikulir (particular solution) untuk (*)
![Page 23: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/23.jpg)
Solusi Relasi Rekurensi Linier Nonhomogen Solusi partikulir serupa dengan bentuk f(n) Ada dua bentuk f(n):
p
i
iinAnf
0
)(1.
2.
p
i
iinAbnf n
0
)(
dengan Ai, i=1,2,…
p,b merupakan konstanta
![Page 24: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/24.jpg)
Contoh Tentukan solusi untuk relasi rekurensi xn =
2 xn-1 + 5, untuk n > 0 dengan syarat awal x0=1
Tahap 1 mencari solusi homogen: Persamaan karakteristik:
- 2 = 0 Akar karakteristik:
= 2 Solusi homogen hn = A 2n
Tahap 2 mencari solusi non homogen
![Page 25: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/25.jpg)
Contoh Dari persamaan xn = 2 xn-1 + 5
didapatkan f(n) = 5Solusi partikulir mengikuti bentuk f(n), dengan p = 0. Maka solusi partikulir tj = Dari hasil substitusi diperoleh persamaan
- 2 = 5 Persamaan ini memberikan = -5Jadi solusi partikulir tn = -5Solusi umum :
xn = hn + tn = A 2n - 5
Dengan memasukkan syarat awal x0 = 1 didapatkan A = 6
sehingga solusi yang dicari adalah xn = 6(2n) - 5
![Page 26: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/26.jpg)
Master TheoremJika diketahui suatu relasi rekurens
Dimana f(n) ∈O(nd) dimana d≥0 maka
![Page 27: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/27.jpg)
Master theorem (contoh)Diketahui suatu relasi rekurens
Dari relasi rekurens di atas, diperoleh a = 2, b = 2, d = 0. sehingga a>bd sehinggaT(n) ∈ O(nlog
2 2) atau T(n) ∈ O(n)
![Page 28: Analisa Algoritma](https://reader036.vdocuments.mx/reader036/viewer/2022081420/56813bea550346895da517a1/html5/thumbnails/28.jpg)
Latihan Diketahui suatu algoritma rekursif dengan
relasi rekurens T(n) =2T(n-1)-T(n-2) untuk n>= 0
=4 untuk n=0=1 untuk n=1
Carilah solusi non rekursifnya