Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehIvan Gunardi Telah diubah "6 tahun yang lalu
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.