Algoritma rekursif dan relasi rekurensi

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

soal Advanced class Fertures
Rekursi dan Relasi Rekurens
Gilles Brassard and Paul Bratley
Suksesor bilangan asli adalah bilangan asli
Hour 12: APPLIED RECURSION
REKURSIF.
MATERI 9 FUNGSI REKURSIF.
MATEMATIKA DISKRIT KELOMPOK 8: Gina Putri Lestari ( ) 2j
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Rekursif Yuliana Setiowati.
Pertemuan-4 : Recurrences
Desain dan Analisis Algoritma
Design and Analysis of ALGORITHM (Session 3)
sebuah fungsi yang memanggil dirinya sendiri
PART 7 TEKNIK REKURSIF DOSEN : AHMAD APANDI, ST.
Sumber Kepustakaan : indryz.lecture.ub.ac.id/.../analisa-efisiensi- algoritm... 1  Fungsi yang memanggil dirinya sendiri  Sebuah fungsi f juga merupakan.
LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.
Notasi Algoritma.
Memecahkan Relasi Recurrence
PERSAMAAN DIFERENSIAL LINIER
Design and Analysis Algorithm
Algoritma dan Struktur Data
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Analisa Algoritma Running Time.
STRUKTUR DATA (10) recursive function
Algoritma dan Struktur Data
Algoritma dan Pemrograman Subrutin
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
CSG3F3/ Desain dan Analisis Algoritma
PERSAMAAN DIFERENSIAL
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Analisa Algoritma (IF1282)
Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu,
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEL 2112 Dasar Komputer & Pemograman Fungsi
Algoritma dan Struktur Data
Faktor analisa algoritma
Algoritma dan Pemrograman Subrutin
Matematika Informatika 2
PD Tingkat n (n > 1 dan linier) Bentuk umum :
Modul 6 : Analisis Algoritma dan Struktur Data
Analisa Algoritma : Pendahuluan
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Pemrograman Subrutin (Function)
Algoritma dan Pemrograman Subrutin
FUNGSI.
Algoritma dan Pemrograman Rekursif
Rekursif- studi kasus.
STRUKTUR DATA (10) recursive function
PART 7 TEKNIK REKURSIF DOSEN : AHMAD APANDI, ST.
Algoritma Rekursif.
Modul 4 : Analisis Algoritma & Struktur Data
Matematika Pertemuan 14 Matakuliah : D0024/Matematika Industri II
Algoritma Brute Force.
Analisa Algoritma Asimtotik.
Algoritma Divide and Conquer
Algoritma Rekursif Alpro-2.
Algoritma Divide and Conquer
Rekursif By Serdiwansyah N. A..
Matematika Diskrit TIF (4 sks) 3/9/ /5/2010.
Algoritma Divide and Conquer
Analisa algoritma rekursif
UJIAN TERDIRI ATAS 50 SOAL
ALPRO Analisa Rekurens
Tim ALPRO Teknik Informatika
Dasar-Dasar Pemrograman
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Transcript presentasi:

Algoritma rekursif dan relasi rekurensi Analisa Algoritma Algoritma rekursif dan relasi rekurensi

Deskripsi Materi ini membahas tentang algoritma rekursif beserta relasi rekurensnya

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

Rekursif Bentuk rekursif : Bentuk rekursi bertujuan untuk : 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)

Menghitung kompleksitas : Studi kasus Faktorial Function 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)

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)

Kasus 2 : Menara hanoi A B C 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 !!!

Algoritma 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 Relasi Rekurens

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 (???!!!)

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

Contoh cara coba coba Cara ini agak sulit dan perlu pengalaman. Dalam beberapa problem Yang sederhana bisa diselesaikan dengan mudah.

Cara Relasi Rekurensi Merubah T(n)  xn T(n-1)  xn-1 Contoh T(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

Klasifikasi Linier vs non linier Homogen vs non homogen Koefisien konstan vs non konstan Yang akan dibahas Relasi rekurens Linier dan koefisien konstan

Klasifikasi Relasi Rekurensi : homogen vs non homogen 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

Klasifikasi relasi rekurensi Relasi Rekurensi linier homogen dengan koefisien konstan, berderajat 1 Contoh: 2xn + xn−1 = 0 xn − xn−4 = n + 3 xn = xn−2 +xn-12 xn = xn−2 +nxn-12 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

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

Solusi Relasi Rekurensi Linier Homogen Tahapan: 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 4. b1,1, b1,2 … dicari dengan melakukan substitusi persamaan dengan syarat awal yang diketahui

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:

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: dimasukkan syarat awal x1=1 dan x0=0. Diperoleh: dan A + B = 0 Dari kedua persamaan ini diperoleh A=1/5 dan B=-1/5 Maka solusi yang dicari adalah

Contoh 9 Tentukan solusi umum untuk relasi rekurensi 4xn = 20xn-1 - 17xn-2 + 4xn-3, untuk n > 3 Persamaan karakteristik dari relasi rekurensi: 42 - 202 - 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:

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 (*)

Solusi Relasi Rekurensi Linier Nonhomogen Solusi partikulir serupa dengan bentuk f(n) Ada dua bentuk f(n): dengan Ai, i=1,2,… p,b merupakan konstanta 1. 2.

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

Contoh Dari persamaan xn = 2 xn-1 + 5 didapatkan f(n) = 5 Solusi partikulir mengikuti bentuk f(n), dengan p = 0. Maka solusi partikulir tj =  Dari hasil substitusi diperoleh persamaan  - 2  = 5 Persamaan ini memberikan  = -5 Jadi solusi partikulir tn = -5 Solusi 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

Master Theorem Jika diketahui suatu relasi rekurens Dimana f(n) ∈O(nd) dimana d≥0 maka

Master theorem (contoh) Diketahui suatu relasi rekurens Dari relasi rekurens di atas, diperoleh a = 2, b = 2, d = 0. sehingga a>bd sehingga T(n) ∈ O(nlog2 2) atau T(n) ∈ O(n)

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