LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

Rekursi ALPROG II Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II 1.
PROSEDUR DAN FUNCTION PROSEDUR
- PERTEMUAN 5 & 6 – PERULANGAN
- PERTEMUAN 7 – SUB PROGRAM
STRUKTUR DASAR ALGORITMA
Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : Mudah dikodekan Mudah dipahami.
Suksesor bilangan asli adalah bilangan asli
7. PENJUMLAHAN DUA BUAH MATRIKS
MATERI 9 FUNGSI REKURSIF.
Membuat Fungsi A’ud Solehuddin::Februari2012. Materi Mendefinisikan fungsi Memahami variabel lokal dan variabel global Fungsi rekursif Validasi masukan.
Rekursi, Overloading, Konversi
Pengantar Algoritma.
- PERTEMUAN 4 – PERCABANGAN
Rekursif Yuliana Setiowati.
Desain dan Analisis Algoritma
Pertemuan 2 INDUKSI MATEMATIKA & FUNGSI REKURSIF
sebuah fungsi yang memanggil dirinya sendiri
Kondisi (Pemilihan).
Algoritma dan Struktur Data
R EKURSI Gerlan A. Manu,ST
Notasi Algoritma.
ALGORITMA & LOGIKA PEMROGRAMAN
Procedure & Function Sub Program.
Design and Analysis Algorithm
Algoritma dan Struktur Data
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
BAB 3 RECURSIVE FUNCTION. RECURSIVE Fungsi rekursif adalah fungsi yang melakukan pemanggilan terhadap dirinya sendiri, sehingga proses yang terjadi adalah.
INF-301 FEB 2006 Univ. INDONUSA Esa Unggul PERTEMUAN V Tujuan Instruksional Umum : Permutasi & Kombinasi Tujuan Instruksional Khusus : Mahasiswa dapat.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Algoritma dan Struktur Data
Function (Fungsi).
{Pertemuan 4 Struktur Kondisi IF}
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Algoritma dan Pemrograman Subrutin
Materi 9 LOGIKA & ALGORITMA.
{Pertemuan 4 Struktur Kondisi IF}
Algoritma rekursif dan relasi rekurensi
Struktur Program Minimal
{Pertemuan 4 Struktur Kondisi IF}
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
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
Algoritma dan Pemrograman Subrutin
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
REKURSI Struktur data.
Algoritma Percabangan
Struktur Dasar Algoritma dan Runtunan
Algoritma dan Struktur Data 1 pertemuan 10
Algoritma dan Pemrograman Subrutin (Function)
Rekursif.
Algoritma dan Pemrograman Subrutin
FUNGSI.
Algoritma dan Pemrograman Rekursif
TEL 2112 Dasar Komputer & Pemograman Fungsi
Rekursif- studi kasus.
Algoritma Rekursif.
Algoritma Rekursif Alpro-2.
Rekursif By Serdiwansyah N. A..
Analisa algoritma rekursif
Rekursif Oleh : Oman Somantri, S.Kom
Dasar-Dasar Pemrograman
Dasar-Dasar Pemrograman
Pengulangan FOR - DO Temu 9.
Dasar-Dasar Pemrograman
Pemilihan Dua Kasus, tiga kasus dan banyak kasus
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Transcript presentasi:

LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI

Pengantar Rekursi adalah proses dimana sebuah subprogram yang memanggil dirinya sendiri. Rekursif  menyelesaikan masalah dengan menggunakan konsep tumpukan. Adapun syarat suatu subprogram dapat disebut subprogram rekursi : Subprogram itu memanggil dirinya sendiri. Terdapat anchor (kondisi dimana fungsi rekursi selesai) untuk menghentikan proses rekursi. Namun, penggunaan rekursi tidak dianjurkan, karena lebih banyak menggunakan sumber daya memori saat program dijalankan.

Contoh Rekursi (1) n! = n*(n-1)! , jika n>1 Faktorial Fungsi faktorial dari bilangan bulat positif n didefinisikan sbb : n! = n*(n-1)! , jika n>1 n! = 1 , jika n = 0, n=1

Fungsi Menghitung Faktorial Function Faktorial (input integer)  integer Deklarasi {tidak ada} Deskripsi If (n = 0) or (n = 1) then Return(1) Else Return(n*Faktorial(n-1)) Endif Jika n diinputkan oleh dengan angka 5, bagaimana hasilnya ? N = 5 : nilai kembalian  5*faktorial(4) N = 4 : nilai kembalian  4*faktorial(3) N = 3 : nilai kembalian  3*faktorial(2) N = 2 : nilai kembalian  2*faktorial(1) N = 1 : nilai kembalian  1 Hasil : 120

Kondisi tumpukan rekursi faktorial Di dalam memori komputer saat rekursi ini dieksekusi akan membentuk stack (tumpukan). N Faktorial N=1 1 N=2 2 * Faktorial(1) N=3 3 * Faktorial(2) N=4 4 * Faktorial(3) N=5 5 * Faktorial(4)

Bagan pemanggilan modul rekursi Instruksi 1 Instruksi 2 Call Modul 1 End Modul 1 Instruksi 1 Instruksi 2 Call Modul 1 End Modul 1 Instruksi 1 Instruksi 2 Call Modul 1 End Modul 1 Instruksi 1 Instruksi 2 Call Modul 1 End Modul 1 Instruksi 1 Instruksi 2 ……… End Modul 1 N=5 N=4 N=3 N=2 N=1

Contoh Rekursif(2) Procedure rekursi (input n:integer) Deklarasi {tidak ada} Deskripsi Write(n) If(n<5) then Rekursi(n+1) End if Jika n diinputkan oleh user dengan angka 1, bagaimana hasilnya ? N = 1 : Cetak 1 (1<5) rekursi(1+1)=2 N = 2 : Cetak 2 (2<5) rekursi(2+1)=3 N = 3 : Cetak 3 (3<5) rekursi(3+1)=4 N = 4 : Cetak 4 (4<5) rekursi(4+1)=5 N = 5 : Cetak 5 (5<5) SALAH  STOP Hasil : 1, 2, 3, 4, 5

Contoh Rekursif(3) Procedure rekursi (input n:integer) Deklarasi {tidak ada} Deskripsi If(n<5) then Write(n) Rekursi(n+1) End if Jika n diinputkan oleh user dengan angka 1, bagaimana hasilnya ? N=1  (1<5)  Cetak 1 rekursi(1+1)=2 N=2  (2<5)  Cetak 2 rekursi(2+1)=3 N=3  (3<5)  Cetak 3 rekursi(3+1)=4 N=4  (4<5)  Cetak 4 rekursi(4+1)=5 N=5  (5<5)  SALAH  STOP Hasil : 1,2,3,4

Contoh Rekursif (4) Procedure rekursi (input n:integer) Deklarasi {tidak ada} Deskripsi If(n<5) then Rekursi(n+1) End if Write(n) Jika n diinputkan oleh user dengan angka 1, bagaimana hasilnya ? N=1  (1<5)  rekursi(1+1)=2 N=2  (2<5)  rekursi(2+1)=3 N=3  (3<5)  rekursi(3+1)=4 N=4  (4<5)  rekursi(4+1)=5 N=5  (5<5)  SALAH  STOP Cetak 5 Cetak 4 Cetak 3 Cetak 2 Cetak 1 Hasil : 5, 4, 3, 2, 1 (Ingat Konsep Stack !!)

LATIHAN 8 Dengan menggunakan rekursif, tampilkan deret fibonacci sebagai berikut : Input = 10 Output = 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 Output = 55, 34, 21, 13, 8, 5, 3, 2, 1, 1