Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM

Presentasi serupa


Presentasi berjudul: "Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM"— Transcript presentasi:

1

2 Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM
Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008 Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM

3 DYNAMIC PROGRAMMING Dynamic Programming adalah metode penyelesaian masalah yang dapat digunakan jika solusi sebuah problem dapat dipandang sebagai deretan dari beberapa keputusan. Dynamic Programming vs Metode Greedy Dynamic Programming menghasilkan solusi yang optimal, karena tidak menggunakan local optimum seperti Metode Greedy Dynamic Programming vs Metode Naive Metode Naive : menghitung semua Solusi Feasible Dynamic Programming tidak perlu menghitung semua kemungkinan, menghemat banyak waktu dan lebih efisien. [buku utama, bab 7.1] Bina Nusantara

4 APLIKASI DYNAMIC PROGRAMMING
Fibonacci Sequence Problem Coin Change Problem Multistage Graph Problem Travening Salesman Problem 0/1 Knapsac Problem Bina Nusantara

5 Misalkan kita memiliki deret Fibonacci f(1),f(2),f(3),f(4),...
FIBONACCI SEQUENCE Fibonacci Sequence adalah sebuah deret dimana setiap elemen merupakan hasil penjumlahan 2 elemen sebelumnya. Misalkan kita memiliki deret Fibonacci f(1),f(2),f(3),f(4),... Nilai f(3) dihitung dari f(1)+f(2). Nilai f(4) dihitung dari f(2)+f(3) dan seterusnya. [buku utama, bab 7.2] Bina Nusantara

6 FIBONACCI DENGAN METODE NAIVE
1 module fibo(n) 2 if (n=0) or (n=1) then 3 result=n 4 else 5 result=fibo(n-1)+fibo(n-2) 6 end if 7 end module 1 for i=1 to 100 do 2 display fibo(i),” ” 3 end for [buku utama, pseudocode 7.1] Bina Nusantara

7 RECURSIVE CALL TREE [buku utama, ilustrasi 7.1] Bina Nusantara

8 JUMLAH PEMANGGILAN FUNGSI
Nilai N Pemanggilan fungsi 1 2 3 5 4 9 15 6 25 7 41 8 67 ... 100 [buku utama, tabel 7.1] Bina Nusantara

9 REDUNDANSI [buku utama, ilustrasi 7.2] Bina Nusantara

10 MEMOIZATION [buku utama, ilustrasi 7.3] Bina Nusantara

11 JUMLAH PEMANGGILAN FUNGSI
Setelah ditambahkan memoization Nilai N Pemanggilan fungsi 1 2 3 5 4 7 9 6 11 13 8 15 ... 100 199 [buku utama, tabel 7.2] Bina Nusantara

12 FIBONACCI DENGAN MEMOIZATION
1 module fibo(n) 2 if (n=0) or (n=1) then 3 result=n 4 else 5 if F[n]=0 then F[n]=fibo[n-1]+fibo[n-2] 7 end if 8 result=F[n] 9 end if 10 end module 1 for 1=1 to 100 do 2 F[i]=0 3 end for 4 for i=1 to 100 do 5 display fibo(i),” ” 6 end for [buku utama, pseudocode 7.2] Bina Nusantara

13 TOP-DOWN vs BOTTOM-UP Top-Down Bottom-Up
Berusaha mencapai hasil akhir dengan cara menghitung komponen-komponen penyusun hasil tersebut. Biasanya berbentuk fungsi rekursif. Bottom-Up Berusaha membentuk solusi dengan menghitung dari awal, secara terstruktur menuju solusi. Biasanya berbentuk perulangan biasa. Bina Nusantara

14 Jelaskan cara kerjanya!
LATIHAN Pseudocode Fibonacci dengan Memoization yang terdapat dalam penjelasan pertemuan ini menggunakan pendekatan Top-Down. Buatlah versi Bottom-Up nya! Jelaskan cara kerjanya! Bina Nusantara

15 Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya?
REVIEW Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya? Bina Nusantara


Download ppt "Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM"

Presentasi serupa


Iklan oleh Google