Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus.

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

Fungsi Konsep Pemrograman.
Design and Analysis of Algorithm Recursive Algorithm Analysis
Algoritma dan Struktur Data
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
REKURSIF.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
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
Modul 1- Review Java.
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.
Method.
STRUKTUR DATA recursive function.
- PERTEMUAN 4 - PERULANGAN
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
07 Advanced Class Features
Algoritma dan Struktur Data
Fungsi Fungsi.
Design and Analysis Algorithm
Algoritma dan Struktur Data
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Struktur kontrol.
Algoritma & Pemrograman 1
STRUKTUR DATA (10) recursive function
Algoritma dan Struktur Data
Bina Nusantara Mata kuliah:K0144/ Matematika Diskrit Tahun:2008 FUNGSI REKURSIF Pertemuan 10:
1 Pertemuan Fungsi Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
LOGO “ Add your company slogan ” REKURSIF.  Rekursif adalah salah satu metode dalam dunia matema- tika dimana definisi sebuah fungsi mengandung fungsi.
Rekursif Rizki Muliono,M.Kom.
FUNGSI.
DIG1G3 Implementasi Struktur Data
Pemrograman Visual I Outline: Method Method Void & fungsi
Pernyataan Pertemuan 3 Season 1
Constructor dan Overloading
REKURSIF Learning Outcomes Pada akhir pertemuan ini, mahasiswa mampu:
MODIFIER JAVA.
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
INTERFACE Pertemuan 005.
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Algoritma dan Struktur Data
THREAD Pertemuan 9.
TEKNOLOGI INDUSTRI PERTANIAN
Percabangan dan Perulangan.
Procedure/Function/Method
Method (Metode).
FUNGSI REKURSIF Pertemuan 8 ASWAR R..
Algoritma dan Struktur Data 1 pertemuan 10
FUNGSI.
~ PERTEMUAN 8 STRUKTUR REKURSIF ~
Recursive function.
STRUKTUR DATA (10) recursive function
Algoritma Rekursif.
Tugas Akhir Java Fundamental Syahrul Mauluddin S.Kom.
FUNGSI II.
Data Structure + Algorithm = Program
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
Algoritma Rekursif Alpro-2.
Rekursif By Serdiwansyah N. A..
Pertemuan 4 Sorting (1) jual [Valdo] Lunatik Chubby Stylus.
Analisa algoritma rekursif
Dasar-Dasar Pemrograman
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Logika dan Algoritma Agung Brastama Putra.
Transcript presentasi:

Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus

Fungsi Rekursif Definisi fungsi rekursif. Contoh 1 : Triangle Contoh 2 : Faktorial Contoh 3 : Perkalian Contoh 4 : Fibonacci Contoh 5 : Tower of Hanoi

Fungsi Rekursif Fungsi biasa dipanggil oleh fungsi lain. Sedangkan fungsi rekursif dipanggil oleh dirinya sendiri. A B C D A A A A

Triangel number : 1, 3, 6, 10, 15, 21, … Ada yang tahu lanjutannya ?

Fungsi Rekursif Setara dengan proses looping/ iterasi  faktorial, perkalian Kadang rekursif lebih baik dari iterasi  tower of hanoi Terkadang sebaliknya  fibonacci Komponen : Way out  if – else + return() Recursive call dengan value baru

Ciri khas rekursif Fungsi rekursif memanggil dirinya sendiri Ketika memanggil dirinya sendiri, fungsi tersebut akan memecahkan masalah yang lebih kecil Ada satu kondisi yang tidak membuat fungsi rekursif tidak memanggil dirinya sendiri

Simple Example public class rekursi { static void rekursi( ) { System.out.println("ini rekursif"); rekursi( ); //RECURSIVE CALL } public static void main(String[] args) { rekursi( );

Triangle Triangel number : 1, 3, 6, 10, 15, 21, … Ada yang tahu lanjutannya ?

Algoritma triangle n=1  1 = 1 n=2  3 = 2+1 n=3  6 = 3+2+1 dst

Gambar triangle

Triangle dengan iterasi int triangle(int n) { int total = 0; while(n > 0) // until n is 1 total = total + n; // add n (column height) to total --n; // decrement column height } return total;

Triangle dengan rekursi Triangle bisa diselesaikan dengan menjumlahkan n dengan total sisa sebelah kanan n

return(n+sumRemainingColumns(n)); //(incomplete } int triangle(int n) { return(n+sumRemainingColumns(n)); //(incomplete version) } int triangle(int n) { return(n+sumAllColumns(n-1));// (incomplete version) }

int triangle(int n) { return( n + triangle(n-1) ); // (incomplete version) } int triangle(int n) { if(n == 1) return 1 return( n + triangle(n-1) ); // (incomplete version) }

Source code int triangle(int n) { } int x,y; if( n == 1 ) return ( 1 ); x = n – 1; y = triangle( x ); return ( n + y ); }

Latihan tracing rekursi

Faktorial ALGORITMA n! = 1 if n == 0 n! = n * ( n – 1 )! if n > 0 4! = 4 x 3! 3! = 3 x 2! 2! = 2 x 1! 1! = 1 x 0! 0! = 1 SOURCE CODE int factorial ( int n ) { int x, y; if ( n == 0 ) return ( 1 ); x = n – 1; y = factorial ( x ); return ( n * y ); }

Latihan tracing rekursi

Perkalian ALGORITMA a * b = a if b == 1 a * b = a * ( b – 1 ) + a if b > 1 6 x 3 = ( 6 x 2 ) + 6 = ( 6 x 1 ) + 6 + 6 = 6 + 6 + 6 = 18 SOURCE CODE int mult ( int x, int y ) { int a,b,sum; if(y==1) return (x); a = y-1; b = multiple(x,a); sum = x + b; return (sum); }

Latihan tracing rekursi

resume Kelebihan : Kekurangan : Program menjadi lebih singkat/sederhana Dalam beberapa kasus kasus memang dibutuhkan penggunaan rekursi Kekurangan : Kurang efektif dalam hal kecepatan Membutuhkah memori lebih, karena ketika satu fungsi / method memanggil dirinya , dibutuhkan tambahan alokasi memori. Sehingga alokasi memori total menjadi lebih besar

SOURCE CODE multiple int factorial ( int n ) { int x, y; if ( n == 0 ) SOURCE CODE TRIANGLE Int triangle(int n) { int x,y; if( n == 1 ) return ( 1 ); x = n – 1; y = triangle( x ); return ( n + y ); } SOURCE CODE multiple int multiple( int x, int y ) { int a,b,sum; if(y==1) return (x); a = y-1; b = multiple(x,a); sum = x + b; return (sum); } SOURCE CODE FACTORIAL int factorial ( int n ) { int x, y; if ( n == 0 ) return ( 1 ); x = n – 1; y = factorial ( x ); return ( n * y ); }