Algoritma dan Struktur Data

Slides:



Advertisements
Presentasi serupa
Pertemuan 4 ALGORITMA REKURSIF Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009.
Advertisements

Fungsi Konsep Pemrograman.
Desain Dan Analisis Algoritma
Kompleksitas Algoritma
Algoritma dan Struktur Data
Aryo Pinandito, ST, M.MT - PTIIK UB
Design and Analysis of Algorithm Recursive Algorithm Analysis
Suksesor bilangan asli adalah bilangan asli
Menciptakan Fungsi.
Algoritma dan Struktur Data
Membuat Fungsi A’ud Solehuddin::Februari2012. Materi Mendefinisikan fungsi Memahami variabel lokal dan variabel global Fungsi rekursif Validasi masukan.
Desain Dan Analisis Algoritma
1 Ruli Manurung & Ade AzuratFasilkom UI - IKI /2008 – Ganjil – Minggu 4 Dasar-dasar Rekursif.
Rekursif Yuliana Setiowati.
Desain dan Analisis Algoritma
Pertemuan 2 INDUKSI MATEMATIKA & FUNGSI REKURSIF
Pertemuan 4 ALGORITMA REKURSIF
REKURSIF Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
Pemrograman Terstruktur
Fungsi Rekursif.
sebuah fungsi yang memanggil dirinya sendiri
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.
STRUKTUR DATA recursive function.
Searching.
Algoritma dan Struktur Data
Design and Analysis Algorithm
11. STRATEGI PARTISI DAN DIVIDE & CONQUER 11.1 Partisi Strategi Divide & Conquer Divide & Conquer M-ary 11.2 Contoh Divide & Conquer Sortir dengan Bucket.
BAB 3 RECURSIVE FUNCTION. RECURSIVE Fungsi rekursif adalah fungsi yang melakukan pemanggilan terhadap dirinya sendiri, sehingga proses yang terjadi adalah.
Sorting 2007/2008 – Ganjil – Minggu 5.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
Analisa Algoritma Running Time.
PART 6 Algoritma DOSEN : AHMAD APANDI, ST.
STRUKTUR DATA (10) recursive function
Algoritma dan Struktur Data
Bina Nusantara Mata kuliah:K0144/ Matematika Diskrit Tahun:2008 FUNGSI REKURSIF Pertemuan 10:
Rekursif Rizki Muliono,M.Kom.
Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus.
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
DIG1G3 Implementasi Struktur Data
Pernyataan Pertemuan 3 Season 1
Struktur Program TEE 2103 Algoritma dan Pemrograman
Algoritma rekursif dan relasi rekurensi
REKURSIF Learning Outcomes Pada akhir pertemuan ini, mahasiswa mampu:
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
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
Algoritma dan Struktur Data
Teknik Pemrograman Terstruktur 2
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Kompleksitas Algoritma
PART 6 Algoritma DOSEN : AHMAD APANDI, ST.
Faktor analisa algoritma
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Struktur Data 1 pertemuan 10
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Algoritma dan Pemrograman Rekursif
Recursive function.
STRUKTUR DATA (10) recursive function
Quiz Logika & Algoritma
Kompleksitas Algoritma
Algoritma Rekursif Alpro-2.
Rekursif By Serdiwansyah N. A..
Analisa algoritma rekursif
Analisis Algoritma E. Haodudin Nurkifli 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 dan Struktur Data Pertemuan 4 Analisa Efisiensi Fungsi Rekursif

Recursive Factorial Recursive version int factorial (int n) { if (n == 0) return 1; else return n * factorial (n-1); }

Metrik untuk ukuran input Jika sesuatu pada input lebih besar, maka komputasi bertambah Pada sequential search adalah banyaknya elemen array Pada kasus ini adalah nilai n. Jika n membesar, maka banyaknya komputasi atau pemanggilan fungsi rekursi bertambah Untuk memahaminya coba gambar pohon rekursifnya.

Pada algoritma iteratif adalah kode pada loop terdalam Basic operation Pada algoritma iteratif adalah kode pada loop terdalam Pada algoritma rekursif merupakan salah satu operasi pada recursive casenya Basic operationnya adalah * yang dilakukan 1 kali untuk setiap pemanggilan fungsi rekursif return n * factorial (n-1),

Banyaknya eksekusi basic operation Jika algoritma faktorial dieksekusi dengan input n, maka basic operation dieksekusi satu kali. Namun pada saat eksekusi, algoritma tersebut juga memanggil dirinya sendiri dengan input n-1. Hal ini menyebabkan secara internal basic operation dieksekusi lagi. Proses rekursi dilakukan terus selama nilai n > 1. return n * factorial (n-1),

Banyaknya eksekusi basic operation Jika C(n) menyatakan banyaknya basic operation dieksekusi untuk input n dan C(n - 1) menyatakan banyaknya basic operation dieksekusi untuk input n-1, maka hubungan antara C(n) dan C(n - 1) dinyatakan dengan C(n) = C(n - 1) + 1 untuk n > 1 C(1) = 0, base case

Case Apakah ada best case, average case dan worst case? Tidak ada Untuk input tertentu misal 5, recursion treenya selalu sama. Sehingga banyaknya komputasi yang dilakukan tetap. Sehingga tidak ada best case, average case dan worst case

Perhitungan efisiensi waktu Untuk mengetahui efisiensi waktunya kita harus menemukan persamaan langsung (non recursive) dari C(n)

Perhitungan efisiensi waktu Menggunakan metode backward substitution, dicari pola dari C(n) : C(n) = C(n - 1) + 1 C(n) = (C(n - 2) + 1) + 1 = C(n) = C(n - 2) + 2 C(n) = (C(n - 3) + 1) + 2 = C(n) = C(n - 3) + 3 dst Pola atau bentuk umum yang didapatkan adalah C(n) = C(n - i) + i.

Perhitungan efisiensi waktu Nilai initial condition C(1) disubtitusikan ke C(n - i) pada bentuk umum C(n). C(n) = C(n - i) + i C(n) = C(1) + i C(n) = i

Perhitungan efisiensi waktu Nilai initial condition C(1) disubtitusikan ke C(n - i) pada bentuk umum C(n). C(n) = C(n - i) + i C(n) = C(1) + i C(n) = i

Perhitungan efisiensi waktu Subtitusi tersebut mensyaratkan C(n - i) = C(1) atau n – i = 1 i = n – 1 nilai i = n – 1 disubtitusikan ke bentuk umum C(n) = i sehingga C(n) = n – 1 C(n) Є O(n) Apa artinya? Ingat materi pertemuan sebelumnya