~ Asliyani_unm10@yahoo.co.id PERTEMUAN 8 STRUKTUR REKURSIF ~ Asliyani_unm10@yahoo.co.id.

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

soal Advanced class Fertures
Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Algoritma dan Struktur Data
REKURSIF.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Dasar Pemrograman MODUL 06 PERCABANGAN.
Rekursif Yuliana Setiowati.
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
PART 7 TEKNIK REKURSIF DOSEN : AHMAD APANDI, ST.
By; NILA FEBY PUSPITASARI
PENGENALAN c++ DAN STRUKTUR DASAR C++
STRUKTUR DATA recursive function.
Function(2).
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Fungsi.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
Pertemuan 6 IF Bersarang / IF Bertingkat Nested IF Dasar Pemrograman.
Fungsi Fungsi.
Design and Analysis Algorithm
Algoritma dan Struktur Data
Tenia Wahyuningrum, S.Kom., MT
Algoritma dan Pemrograman 2C
Bab 05 Tipe Data dan Mengisi Variabel
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
Rekursi (Recursion) Fungsi rekursi adalah fungsi yang didalam function body- nya ada statement yang memanggil dirinya sendiri. Fungsi rekursif, sangat.
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.
Rekursif Rizki Muliono,M.Kom.
Pengertian FUNGSI.
if (condition) statement if (x == 100) cout << "x is 100";
Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus.
Transfer of control (pemindahan langkah)
Statement Control (if dan switch)
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
Person 8.
Algoritme dan Pemrograman
REKURSIF Learning Outcomes Pada akhir pertemuan ini, mahasiswa mampu:
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
Algoritma dan Struktur Data
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
Algoritme dan Pemrograman
REKURSI Struktur data.
Algoritma dan Pemrograman
FUNGSI.
Pemograman Berorientasi Object Sistem Informasi Semster III
Algoritma dan Pemrograman Rekursif
PERBEDAAN C DAN C++ Meriska Defriani, S
Recursive function.
STRUKTUR DATA (10) recursive function
PART 7 TEKNIK REKURSIF DOSEN : AHMAD APANDI, ST.
Algoritma Rekursif.
SEARCHING Ada 3 metode pencarian yang akan kita bahas disini:
Rekursif By Serdiwansyah N. A..
if (condition) statement if (x == 100) cout << "x is 100";
Teknik Pemrog. Terstuktur 2
Dasar-Dasar Pemrograman
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Teknik Pemrog. Terstruktur 2
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
SEARCHING Ada 3 metode pencarian yang akan kita bahas disini:
SEARCHING ( PENCARIAN )
Transcript presentasi:

~ Asliyani_unm10@yahoo.co.id PERTEMUAN 8 STRUKTUR REKURSIF ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id STRUKTUR REKURSIF Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri. Contoh konsep penggunaan Rekursif Masalah : Memotong Roti tawar tipis-tipis sampai habis Algoritma : 1. Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai. 2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa potongannya. ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Contoh Fungsi Rekursif Fungsi pangkat Faktorial Fibonancy Menara Hanoi ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Fungsi Pangkat Menghitung 10 pangkat n dengan menggunakan konsep rekursif. Secara Notasi pemrograman dapat ditulis : 10 0 = 1 …………………………..(1 ) 10 n = 10 * 10 n-1 .....................................( 2 ) Contoh : 10 3 = 10 * 10 2 10 2 = 10 * 10 1 10 1 = 10 * 10 0 10 0 = 1 ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Faktorial 0! = 1 N! = N x (N-1)! Untuk N > 0 Scr notasi pemrograman dapat ditulis sebagai : FAKT (0) = 1 .............................................. (1) FAKT(N) = N * FAKT (N-1).................................... (2) Contoh : FAKT(5) = 5 * FAKT(4) FAKT(4) = 4 * FAKT(3) FAKT(3) = 3 * FAKT(2) FAKT(2) = 2 * FAKT(1) FAKT(1) = 1 * FAKT(0) Nilai Awal ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Misal : hitung 5!, maka dapat dilakukan secara rekursif dgn cara : 5! = 5 * 4! Scr rekursif nilai dr 4! Dpt dihitung kembali dgn 4 * 3!, shg 5! Menjadi :5! = 5 * 4 * 3! Scr rekursif nilai dr 3! Dpt dihitung kembali dgn 3 * 2!, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2! Scr rekursif nilai dr 2! Dpt dihitung kembali dgn 2 * 1, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2 * 1 = 120. ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Contoh Listing Faktorial #include <iostream.h> #include <iomanip.h> Unsigned long faktorial (unsigned long); Int main() { for (int i=0; i:<=10; i++) cout << setw(2) << i << “! Faktorial(i) << endl; return 0; } // recursive definition of function factorial Unsigned long factorial (unsigned long number) if (number <=1) // base case return 1; else return number * factorial(number – 1); ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Fibonancy Deret Fibonancy : 0,1,1,2,3,5,8,13,......... Secara notasi pemrograman dapat ditulis sebagai : Fibo (1) = 0 & Fibo (2) = 1 ....................................... (1) Fibo (N) = Fibo (N-1) + Fibo (N-2) ................................. (2) Contoh : Fibo(5) = Fibo(4) + Fibo(3) Fibo(4) = Fibo(3) + Fibo(2) Fibo(3) = Fibo(2) + Fibo(1) Nilai Awal ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Contoh Listing Fibonancy #include <iostream.h> Void a(void); void b(void); void c(void); // function prototype Int x=1 ; // global variable Int main() { int x=5; //local variable to main cout << “local x in outer scope of main is” << x << endl; int x=7; cout << “local x in inner scope of main is” << x << endl; } a(); b(); c(); a(); b(); c(); cout << “local x in main is” << x << endl; return 0; Void a(void) int x=25; cout << endl << “local x in a is”<< x << “after entering a”<< endl; ++x; cout << "local x in a is " << x << " before exiting a" << endl; ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Contoh Listing Fibonancy (lanjutan) void b( void ) { static int x = 50; // Static initialization only // first time b is called. cout << endl << "local static x is " << x << " on entering b" << endl; ++x; cout << "local static x is " << x << " on exiting b" << endl; } void c( void ) cout << endl << "global x is " << x << " on entering c" << endl; x *= 10; cout << "global x is " << x << " on exiting c" << endl; ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Konsep Menara Hanoi. Tiang Asal Tiang Bantuan Tiang Tujuan A B C Jika n=1, maka langsung pindahkan saja piringan dr tiang A ke tiang C & selesai. Pindahkan n-1 piringan yg paling atas dr tiang A ke tiang B. Pindahkan piringan ke n (piringan terakhir) dr tiang A ketiang C Pindahkan n-1 piringan dari tiang B ke tiang C. ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Langkah pemindahan tsb diatas dpt diubah dengan notasi sbb: Menara (n,asal,bantu,tujuan) Utk jml piringan n>1 dpt dibagi menjadi 3 notasi penyelesaian Menara (n-1, Asal,Tujuan, Bantu); Menara (n, Asal, Bantu, Tujuan); atau Asal  Tujuan; Menara (n-1, Bantu, Asal, Tujuan); ~ Asliyani_unm10@yahoo.co.id

Langkah Pemindahan Piringan MENARA(1,A,C,B) ....... A  B MENARA(2,A,B,C) A  C ......... A  C MENARA(1,B,A,C) ........B  C MENARA(3,A,C,B) AB .......................…………...................… A  B MENARA(1,C,B,A) .......C  A MENARA(2,C,A,B)C  B ........................ C  B MENARA(1,A,C,B) ................ A  B MENARA AC ..........……..........................................................A  C (4,A,B,C) MENARA(1,B,A,C) ...... B  C MENARA(2,B,C,A) B  A ........B  A MENARA(1,C,B,A) ....... C  A MENARA(3,B,A,C) B C ......................................... B  C MENARA(1,A,C,B) ........ A  B MENARA(2,A,B,C) A  C ............... A  C MENARA(1,B,A,C) ........ B  C ~ Asliyani_unm10@yahoo.co.id

~ Asliyani_unm10@yahoo.co.id Ilustrasi diatas menghasilkan 15 langkah penyelesaian dari permasalahan konsep menara Hanoi dgn jumlah piringan sebanyak 4 buah18 Rumus Langkah Pemindahan : N = Jumlah Piringan 2N - 1 ~ Asliyani_unm10@yahoo.co.id

Sampai ketemu pertemuan berikutnya ~ Asliyani_unm10@yahoo.co.id