Pertemuan 13 DYNAMIC PROGRAMMING : FIBONACCI SEQUENCE PROBLEM

Slides:



Advertisements
Presentasi serupa
Algoritma dan Struktur Data
Advertisements

MATERI 9 FUNGSI REKURSIF.
Rekursif Yuliana Setiowati.
Desain dan Analisis Algoritma
Pertemuan 2 INDUKSI MATEMATIKA & FUNGSI REKURSIF
Design and Analysis of ALGORITHM (Session 3)
Fungsi Rekursif.
Sumber Kepustakaan : indryz.lecture.ub.ac.id/.../analisa-efisiensi- algoritm... 1  Fungsi yang memanggil dirinya sendiri  Sebuah fungsi f juga merupakan.
Program Dinamis (Dynamic Programming)
Design and Analysis of Algorithm Dynamic Programming
STRUKTUR DATA recursive function.
Pertemuan 6 TREE & BINARY TREE
PERTEMUAN 1 Pendahuluan Materi - Endra Rahmawati, S.Kom -
Program Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage)
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 1 PENGENALAN PERANCANGAN & ANALISIS ALGORITMA.
Metode Perancangan Program
Matakuliah : T0034 / Perancangan & Analisis Algoritma
Pertemuan 23 BRANCH AND BOUND (1)
Pertemuan 24 BRANCH AND BOUND (2)
Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS
OPERASI JUMP DAN EXCEPTION HANDLING
Pertemuan 7 PRIORITY QUEUE & HEAP
1 Pertemuan 9 DIVIDE And CONQUER Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Pertemuan 16 DYNAMIC PROGRAMMING : TRAVELING SALESMAN PROBLEM (TSP)
Pertemuan 13 Dynamic Programming
Pertemuan 5 STACK & QUEUE
Finite Automata I (FA) Pertemuan 23:
Pertemuan Pengembangan Algoritma
1 Pertemuan 11 METODA GREEDY Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Pertemuan 4 ANALISIS KOMPLEKSITAS ALGORITMA
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 9 DIVIDE AND CONQUER (1)
Pertemuan 21 BASIC SEARCH AND TRAVERSAL
STRUKTUR DATA (10) recursive function
Pertemuan 22 BACKTRACKING
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
Metode Perancangan Program
Program Dinamis.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Analisa Algoritma (IF1282)
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
ALGORITMA GREEDY, KRUSKAL, MINIMUM SPANNING TREE
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 26 PRAKTEK ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
LATIHAN 26 Buatlah sebuah algoritma untuk menampilkan jumlah faktor pembagi bilangan X, dengan X adalah 1 hingga N ! Misal Jumlah faktor dari 1 adalah.
Pertemuan 20 GRAPH COLORING
Pertemuan 11 ANALISA PERANCANGAN PROGRAM Bagian 1.
MODEL RANTAI MARKOV Pertemuan 11
Program Dinamis (Dynamic Programming)
REKURSI Struktur data.
Program Dinamis (Dynamic Programming)
STRUKTUR DATA Struktur Data Graf.
Modul-7 : Analisis Algoritma dan Struktur data
FUNGSI.
STRUKTUR DATA (10) recursive function
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
ANALISA PERANCANGAN PROGRAM.
Pertemuan 16 Deret bilangan
Pertemuan 18 CODE OPTIMIZATION
Algoritma Rekursif Alpro-2.
Rekursif By Serdiwansyah N. A..
Analisa algoritma rekursif
DASAR-DASAR ALGORITMA
Pertemuan 19 HUFFMAN CODE
Dasar-Dasar Pemrograman
Kuliah 1-2 (Algoritma) Pseudocode Prosedure dan Fungsi
Dasar-Dasar Pemrograman
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Transcript presentasi:

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

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

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

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

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

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

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

REDUNDANSI [buku utama, ilustrasi 7.2] Bina Nusantara

MEMOIZATION [buku utama, ilustrasi 7.3] Bina Nusantara

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

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 6 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

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

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

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