MATERI 9 FUNGSI REKURSIF.

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

Perulangan Pertemuan ke-5 Bahasa C.
STRUKTUR PERULANGAN Statemen ini di gunakan untuk memproses statemen-statemen tertentu berulang kali. Struktur perulangan While … Do Jenis perulangan.
STRUKTUR DASAR ALGORITMA
Suksesor bilangan asli adalah bilangan asli
MATERI 8 CHOICE / PILIHAN.
REKURSIF.
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
Struktur Perulangan Week 4 & 5.
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
Dasar Pemrograman MODUL 07 PERULANGAN.
M.K. Pemrograman Web (AK )
Rekursif Yuliana Setiowati.
Desain dan Analisis Algoritma
Pertemuan 2 INDUKSI MATEMATIKA & FUNGSI REKURSIF
sebuah fungsi yang memanggil dirinya sendiri
LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.
Algoritma dan Struktur Data
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
Selamat datang Di Prosedur dan Fungsi. Sub Program “Adl Program kecil yg dpt di panggil berulang-ulang sesuai dg kebutuhan”  Manfaatnya: 1.Memudahkan.
Procedure & Function Sub Program.
Pemprograman Terstruktur 1
Prak.Dasar-Dasar Pemrograman
Materi 5 Nama dan Environment Dasar-Dasar Pemrograman.
BAB 3 RECURSIVE FUNCTION. RECURSIVE Fungsi rekursif adalah fungsi yang melakukan pemanggilan terhadap dirinya sendiri, sehingga proses yang terjadi adalah.
Dasar-Dasar Pemrograman
TPI4202 e-tp.ub.ac.id Perulangan (Looping) Lecture 5.
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Percabangan Percabangan Bersyarat If ….Then….Else
Dasar-Dasar Pemrograman
Metode Perancangan Program
SUBRUTIN.
Bahasa Pemprograman Dasar Pertemuan 7
Pernyataan Pengulangan Proses
Pernyataan Pengulangan Proses
Materi 10 LOGIKA & ALGORITMA.
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
PEMROGRAMAN WEB DEWI SULISTIYARINI, S.KOM
REKURSI Struktur data.
Pengulangan.
AP2A Perulangan & Array PJ : Wawan Setiawan 07
Struktur Dasar Algoritma dan Runtunan
Algoritma dan Pemrograman Subrutin (Function)
MATERI 3 Sub Program PRAKTIKUM DDP.
Dasar-Dasar Pemrograman
Seleksi Kondisi merupakan perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Operator yang digunakan.
Algoritma dan Pemrograman Rekursif
Dasar-Dasar Pemrograman
LOOPING / PERULANGAN FOR - DO WHILE - DO REPEAT - UNTIL
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Pemrograman Choice Ramos Somya, S.Kom., M.Cs..
PENYELEKSIAN KONDISI.
Algoritma Rekursif.
Dasar-Dasar Pemrograman
Dasar-Dasar Komputer FKIP Prodi Matematika Univ. Muhammadiyah Gresik
UJIAN TERDIRI ATAS 50 SOAL
Algoritma Rekursif Alpro-2.
Dasar-Dasar Pemrograman
Analisa algoritma rekursif
Rekursif Oleh : Oman Somantri, S.Kom
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
UJIAN TERDIRI ATAS 50 SOAL
Dasar-Dasar Pemrograman
Dasar-Dasar Pemrograman
Tim ALPRO Teknik Informatika
Dasar-Dasar Pemrograman
STATEMEN FOR STATEMEN WHILE STATEMEN REPEAT
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Dasar-Dasar Pemrograman
Transcript presentasi:

MATERI 9 FUNGSI REKURSIF

Pengantar Rekursif merupakan suatu metode pada procedure atau function yang di dalamnya terdapat perintah untuk memanggil procedure atau function itu sendiri. Contoh sederhana : def a(p) = if p=0 then exit fi printnumber(p); a(p-1); enddef a(5); base Rekursif Program 9.1

Pengantar Pada pemanggilan pertama a(5), definisi a akan dijalankan yang pada awal definisi akan mencetak nilai p, yaitu 5. Setelah itu ada pemanggilan definisi a lagi dengan parameternya adalah p-1 yaitu 4. Pemanggilan definisi a ini akan menjalankan definisi a, kali ini dengan nilai p adalah 4. Yang dicetak di layar adalah nilai p yaitu 4. Setelah itu kembail terjadi pemanggilan definisi a dengan parameter p-1, yaitu 3. Proses ini berulang lagi, dengan mencetak nilai 3 kemudian memanggil a dengan parameter 2. Begitu seterusnya secara berulang-ulang.

Penentuan Kondisi Program 9.1 merupakan contoh program rekursif namun masih memiliki cacat, yaitu perulangan yang terjadi tidak akan pernah berhenti karena dengan nilai parameter berapapun, pasti terjadi proses rekursif (pemanggilan kembali definisi a). Untuk melengkapi definisi a, perlu ditentukan kapan dilakukan proses rekursif dan kapan tidak. Jika misalnya diinginkan untuk melakukan proses rekursif selama nilai parameter yang diberikan > 0 maka Program 9.1 dapat dilengkapi seperti pada Program 9.2.

Penentuan Kondisi def a(p) = printnumber(p); if (p>1) then a(p-1) fi enddef a(5); Base Rekursif Program 9.2

Penentuan Kondisi Dengan demikian proses rekursif hanya akan terjadi pada saat nilai p > 0, yaitu mulai dari pemanggilan pertama, 5, kemudian pada saat rekursif dengan nilai p = 4, p = 3, p = 2 dan p = 1. Pada saat pemanggilan a(p) dengan nilai p adalah 1, maka yang dikerjakan adalah mencetak nilai p, yaitu 1. Setelah itu karena kondisi (p>1) untuk nilai p=1 akan bernilai false maka tidak akan terjadi proses rekursif. Penentuan kondisi ini merupakan hal yang sangat penting dan harus dituliskan dengan benar untuk menghindarkan program dari kesalahan. Proses rekursif akan memberikan solusi yang sulit diselesaikan dengan menggunakan repetition biasa. Misalnya pada kasus menghitung faktorial.

Pengertian Rekursif Program yang dalam prosesnya memanggil dirinya sendiri, tetapi dengan nilai parameter yang berbeda. 2 hal yang harus diperhatikan Ada nilai batas (base) Fungsi rekursifnya konvergen (mendekat) ke arah nilai batas

Rekursif dengan simbol matematika Dalam matematika rekursif biasa disimbolkan seperti berikut ini Kalau diberikan x=5 maka nilai fungsi tersebut f(5) = 5 * f(4) 5*24 = 120 f(4) = 4 * f(3) 4 * 6 = 24 f(3) = 3 * f(2) 3 * 2 = 6 f(2) = 2 * f(1) 2*1 = 2 f(1) = 1 Jadi hasilnya f(5) = 120 sama saja dengan 1*2*3*4*5 base rekursif

Rekursif pada Pascal Program 9.3 merupakan contoh program rekursif pada bahasa Pascal untuk menghitung hasil faktorial dari suatu bilangan.

Bandingkan dengan simbol matematika di hal 8 dan eksekusinya uses crt; function f(n : integer); begin if (n=1) then f := 1; else f := n * f(n-1); end; BEGIN write(f(5)); END. Program 9.3 Bandingkan dengan simbol matematika di hal 8 dan eksekusinya

Output Program 9.3 : Pemanggilan f(5) : = 5 * f(4) = 5 * 4 * f(3) = 5 * 4 * 3 * 2 * 1 = 120

Latihan 1 Terjemahkan dalam Rekursif (menggunakan pascal) untuk menghitung apa f(x,y) berikut ini ? Ubah program pascal tersebut dengan menggunakan perintah perulangan while … do atau for Buatlah tabel analisis untuk membuktikan bahwa program yang anda buat adalah benar dengan f(3,5)!

Latihan 2 Terjemahkan dalam Rekursif (menggunakan pascal) untuk menghitung apa f(k) berikut ini ? Tuliskan langkah-langkah eksekusinya dengan tabel analisis (agar mengerti) untuk f(5)

Latihan 3 Terjemahkan dalam Rekursif (menggunakan pascal) untuk menghitung bilangan berpangkat x^(n)? Buatlah tabel analisis untuk program di atas jika diketahui 4^8.

-selesai-