SlideShare une entreprise Scribd logo
1  sur  20
Rekursi atau recursion dalam matematika dan ilmu komputer
diartikan sebagai fungsi yang dalam definisinya mengimplementasikan
dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi
adalah fungsi yang memanggil dirinya sendiri.
Namun demikian, rekursi tidaklah hanya merupakan istilah eksak
semata. Jika kita mau memperhatikan lagi dengan lebih teliti, ternyata
ada banyak contoh rekursi di sekeliling kita. Rekursi dalam dunia nyata
bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara
berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin
itulah rekursi. Dalam dunia matematika dan komputer, rekursi
khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan
kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah
masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah
masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang
sangat kompleks dan rumit sekalipun akan lebih mudah untuk
diselesaikan.
1. Apa rekursi ?
2. Berikan contoh-contoh rekursi ?
Rekursi adalah suatu kemampuan subrutin untuk
memanggil dirinya sendiri. Adapun suatu subrutin yang
memanggil dirinya seperti itu dinamakan subrutin rekursif.
Pada beberapa persoalan, kemampuan seperti itu sangat
berguna karena mempermudah solusi. Namun demikian
rekursi juga memiliki kelemahan, yakni memungkinkan
terjadinya overflow pada stack (stack tidak mampu
menangani permintaan pemanggilan subrutin karena
kehabisan memori). Itulah sebabnya harus ada jaminan
bahwa proses rekursi akan berhenti pada suatu waktu
tertentu yang menyebabkan pemanggilan fungsi berakhir.
Stack adalah area memori yang dipakai untuk variable lokal
dan untuk mengalokasikan memori ketika suatu fungsi
dipanggil.
Manfaat
fungsi rekursif
serta
perbandingann
ya dengan
looping/perula
ngan
1. Adanya titik pemberhentian (pengendali
rekursi)
Contoh : faktorial(n), n=0, maka n!=1
2. Adanya langkah rekursi yang menuju pada
stopping state (induksi)
Contoh : faktorial = n* faktorial (n-1)
1. Sifat = perulangan, maka harus ada proses yang menghentikan
rekursi
2. Proses yang menuju penghentian rekursi
Persoalan rekursi biasa dijumpaipada matematika. Sebagai
contoh, proses rekursi dapat digunakan untuk menghitung
factorial. Dalam hal ini suatu factorial m! didefinisikan
sebagai berikut :
1. Contoh 9.1Tuliskan algoritma untuk menyelesaikan factorial seperti
yang dipaparkan pada gambar 9.1 tuangkan pula ke dalam program.
Algoritma :
SUBRUTIN factorial (n)
JIKA n = 0 ATAU 1 MAKA
NILAI-BALIK 1
SEBALIKNYA
NILAI BALIK n x factorial (n-1)
AKHIR-JIKA
AKHIR-SUBRUTIN
Program :
Implementasi dalam program C++ :
#include <iostream.h>
long int faktorial (unsigned int n)
{
if (n == 0 || n == 1)
return 1;
else
return n * faktorial (n-1);
}
int main ()
{
int n;
long int hasil;
cout << "n = ";
cin >> n;
hasil = faktorial (n);
cout << n << "! = " << hasil;
return 0;
}
2. Contoh 9.2 Fungsi Fibonacci dapat dinyatakan dalam bentuk rekursif
seperti berikut :
fib (n)= 0,untuk n = 0
fib (n)= 1,untuk n = 1
fib (n)= fib (n-1)+fib (n-2),untuk n > 1
contoh hubungan antara n dan hasil fungsi :
Tuangkanlah dalam bentuk algoritma maupun program
SUBRUTIN fib(n)
JIKA n = 0 MAKA
NILAI-BALIK 0
SEBALIKNYA
JIKA n =1 MAKA
NILAI –BALIK 1
SEBALIKNYA
NILAI-BALIK fib(n-1)+fib(n-2)
AKHIR-JIKA
AKHIR-JIKA
AKHIR-SUBRUTIN
2. FPB (factor persekutuan terbesar) dapat diselesaikan
secara rekursi dengan cara seperti berikut :
Fpb(x,y) = y jika y ≤ x dan sisa_pembagian (x,y) = 0
Fpb(x,y) = fpb(y,x) jika x < y
Fpb(x,y) = fpb(sisa_pembagian(x,y)) untuk keadaan yang lain

Cobalah menuangkannya dalam bentuk algoritma.
Implementasikan pula programnya.
Jawab :
2. a. Bentuk algoritma
Subrutin FPB
Jika y ≤ x dan sis (x,y) = 0 maka nilai baliknya = y
Jika x < y maka
Nilai baliknya =fpb (x,y)
Sebaliknya
Nilai baliknya fpb(y, sisa (x,y))
Akhir jika
Akhir subrutin
b. Bentuk Programnya
#include<iostream>
using namespace std;
int fpb(int x,int y)
{
int rem; if(y==0)return(x); else
{
rem =
x%y;return(fpb(y,rem));}}
int main()
{
int a,b;
cout<<"nMasukkan dua bilangan :";
cin >>a>>b;
cout<<"Faktor Persekutuan Terbesar
dari" <<a<< "dan" <<b;
cout<<"adalah"<<fpb(a,b)<<endl;
return 0;
}
3. Subrutin komite(n, k) digunakan untuk menentukan
jumlah kemungkinan komite yang terdiri dari k orang
yang dipilih dari n orang yang tersedia. Contoh,
komite(4,3) menghasilkan 4 kemungkinan. Taruhlah
keempat orang tersebut adalah A,B,C,dan D, maka
kemungkinan pasangan keempat orang untuk
membentuk komite yang terdiri atas 3 orang bisa
berupa ABC, ABD, ACD dan BCD. Subrutin tersebut
dapat dituangkan menurut rumusan seperti berikut :
Komite(n,k) = komite(n-1,k) + komite(n-1,k-1) untuk
n,k ≥1
Cobalah bentuk algoritma beserta programnya.
Algoritma
Subrutin komite(n,K)
Jika n = 0 atau n = 1 maka
Nilai balik = 1
Sebaliknya
Nilai balik = n x faktorial (n-1)
Akhir jika
Akhir subrutin
Hasil = faktorial (n/(faktorial) (k) x faktorial (n-k))
#include <iostream.h>
long int komite (int n){
if (n==0||n==1)
return 1;
else
return n*komite(n-1);
}
int main(){
int n;
int k;
long int hasil;
cout<<"Masukkan nilai n: ";
cin>>n;
cout<<"Masukkan nilai k: ";
cin>>k;
hasil= komite(n)/(komite(k)*komite(n-k));
cout<<"Komite (n,k) = Komite ("<<n<<","<<k<<") = "<<hasil;
return 0;
}
Presentation
Presentation

Contenu connexe

Tendances

Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingMelina Krisnawati
 
Matlab tutor sns77_utama
Matlab tutor sns77_utamaMatlab tutor sns77_utama
Matlab tutor sns77_utamastaffpengajar
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)nakomuri
 
Aljabar Boolean
Aljabar BooleanAljabar Boolean
Aljabar BooleanKelasd
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaDevandy Enda
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04KuliahKita
 
Recursive pertemuan 5
Recursive pertemuan 5Recursive pertemuan 5
Recursive pertemuan 5Basiroh M.Kom
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program rKhair Norrasid
 
Latihan java depandi
Latihan java depandiLatihan java depandi
Latihan java depandiDevandy Enda
 
Pelatihan Bahasa R
Pelatihan Bahasa RPelatihan Bahasa R
Pelatihan Bahasa Ranom0164
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemogramanSyahran Mohamed
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Ekha Cahya Nugraha
 

Tendances (20)

R5 h kel 2 kalk1 2
R5 h kel 2 kalk1 2R5 h kel 2 kalk1 2
R5 h kel 2 kalk1 2
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
Matlab tutor sns77_utama
Matlab tutor sns77_utamaMatlab tutor sns77_utama
Matlab tutor sns77_utama
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
 
Aljabar Boolean
Aljabar BooleanAljabar Boolean
Aljabar Boolean
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
 
Recursive pertemuan 5
Recursive pertemuan 5Recursive pertemuan 5
Recursive pertemuan 5
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Cc++
Cc++Cc++
Cc++
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Bab 4 fungsi
Bab 4 fungsiBab 4 fungsi
Bab 4 fungsi
 
Matlab 4
Matlab 4Matlab 4
Matlab 4
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program r
 
Latihan java depandi
Latihan java depandiLatihan java depandi
Latihan java depandi
 
Pelatihan Bahasa R
Pelatihan Bahasa RPelatihan Bahasa R
Pelatihan Bahasa R
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemograman
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
 

Similaire à Presentation

Modul maple untuk metnum 2014
Modul maple untuk metnum 2014Modul maple untuk metnum 2014
Modul maple untuk metnum 2014Samuel Pinto'o
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAndry Saftiawan
 
MAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxMAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxDikicandra6
 
Makalah matematika
Makalah matematikaMakalah matematika
Makalah matematikaIr Fandi
 
Makalah analisa numerik dan komputasi tugas kelompok
Makalah analisa numerik dan komputasi tugas kelompokMakalah analisa numerik dan komputasi tugas kelompok
Makalah analisa numerik dan komputasi tugas kelompokRahmank Sana-sini
 
Cruise Control System
Cruise Control SystemCruise Control System
Cruise Control SystemLusiana Diyan
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048James Montolalu
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2inggar tri
 
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdfFadhilahMargiPertiwi
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiGeorgius Rinaldo
 
Interpolasi lagrange dan newton
Interpolasi lagrange dan newtonInterpolasi lagrange dan newton
Interpolasi lagrange dan newtonYuni Dwi Utami
 

Similaire à Presentation (20)

Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
Matlab
MatlabMatlab
Matlab
 
Modul maple untuk metnum 2014
Modul maple untuk metnum 2014Modul maple untuk metnum 2014
Modul maple untuk metnum 2014
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
 
MAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxMAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docx
 
Makalah matematika
Makalah matematikaMakalah matematika
Makalah matematika
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Makalah analisa numerik dan komputasi tugas kelompok
Makalah analisa numerik dan komputasi tugas kelompokMakalah analisa numerik dan komputasi tugas kelompok
Makalah analisa numerik dan komputasi tugas kelompok
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Cruise Control System
Cruise Control SystemCruise Control System
Cruise Control System
 
Fungsi
FungsiFungsi
Fungsi
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
 
Praktikum
PraktikumPraktikum
Praktikum
 
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf
3122500055_Fadhilah Margi Pertiwi_1 D3 IT B_Laporan Praktikum WPW 1.pdf
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
Function
FunctionFunction
Function
 
Interpolasi lagrange dan newton
Interpolasi lagrange dan newtonInterpolasi lagrange dan newton
Interpolasi lagrange dan newton
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
 

Plus de Ainy Sara

1. small office
1. small office1. small office
1. small officeAiny Sara
 
Bagian 3 instalasi perangkat lan
Bagian 3 instalasi perangkat lanBagian 3 instalasi perangkat lan
Bagian 3 instalasi perangkat lanAiny Sara
 
Bagian 2 Sistem Konukias
Bagian 2 Sistem KonukiasBagian 2 Sistem Konukias
Bagian 2 Sistem KonukiasAiny Sara
 
konsep dasar jaringan komputer
konsep dasar jaringan komputerkonsep dasar jaringan komputer
konsep dasar jaringan komputerAiny Sara
 
konsep dasar jaringan komputer
konsep dasar jaringan komputerkonsep dasar jaringan komputer
konsep dasar jaringan komputerAiny Sara
 
01 konsep jaringan komputer
01 konsep jaringan komputer01 konsep jaringan komputer
01 konsep jaringan komputerAiny Sara
 

Plus de Ainy Sara (7)

2
22
2
 
1. small office
1. small office1. small office
1. small office
 
Bagian 3 instalasi perangkat lan
Bagian 3 instalasi perangkat lanBagian 3 instalasi perangkat lan
Bagian 3 instalasi perangkat lan
 
Bagian 2 Sistem Konukias
Bagian 2 Sistem KonukiasBagian 2 Sistem Konukias
Bagian 2 Sistem Konukias
 
konsep dasar jaringan komputer
konsep dasar jaringan komputerkonsep dasar jaringan komputer
konsep dasar jaringan komputer
 
konsep dasar jaringan komputer
konsep dasar jaringan komputerkonsep dasar jaringan komputer
konsep dasar jaringan komputer
 
01 konsep jaringan komputer
01 konsep jaringan komputer01 konsep jaringan komputer
01 konsep jaringan komputer
 

Dernier

Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxrizalhabib4
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxKISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxDewiUmbar
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMRiniGela
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxHaryKharismaSuhud
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxJawahirIhsan
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024ssuser0bf64e
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptxnursariheldaseptiana
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxFitriaSarmida1
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanAyuApriliyanti6
 

Dernier (20)

Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxKISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 

Presentation

  • 1.
  • 2. Rekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri. Namun demikian, rekursi tidaklah hanya merupakan istilah eksak semata. Jika kita mau memperhatikan lagi dengan lebih teliti, ternyata ada banyak contoh rekursi di sekeliling kita. Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi. Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.
  • 3. 1. Apa rekursi ? 2. Berikan contoh-contoh rekursi ?
  • 4. Rekursi adalah suatu kemampuan subrutin untuk memanggil dirinya sendiri. Adapun suatu subrutin yang memanggil dirinya seperti itu dinamakan subrutin rekursif. Pada beberapa persoalan, kemampuan seperti itu sangat berguna karena mempermudah solusi. Namun demikian rekursi juga memiliki kelemahan, yakni memungkinkan terjadinya overflow pada stack (stack tidak mampu menangani permintaan pemanggilan subrutin karena kehabisan memori). Itulah sebabnya harus ada jaminan bahwa proses rekursi akan berhenti pada suatu waktu tertentu yang menyebabkan pemanggilan fungsi berakhir. Stack adalah area memori yang dipakai untuk variable lokal dan untuk mengalokasikan memori ketika suatu fungsi dipanggil.
  • 6. 1. Adanya titik pemberhentian (pengendali rekursi) Contoh : faktorial(n), n=0, maka n!=1 2. Adanya langkah rekursi yang menuju pada stopping state (induksi) Contoh : faktorial = n* faktorial (n-1)
  • 7. 1. Sifat = perulangan, maka harus ada proses yang menghentikan rekursi 2. Proses yang menuju penghentian rekursi Persoalan rekursi biasa dijumpaipada matematika. Sebagai contoh, proses rekursi dapat digunakan untuk menghitung factorial. Dalam hal ini suatu factorial m! didefinisikan sebagai berikut :
  • 8.
  • 9. 1. Contoh 9.1Tuliskan algoritma untuk menyelesaikan factorial seperti yang dipaparkan pada gambar 9.1 tuangkan pula ke dalam program. Algoritma : SUBRUTIN factorial (n) JIKA n = 0 ATAU 1 MAKA NILAI-BALIK 1 SEBALIKNYA NILAI BALIK n x factorial (n-1) AKHIR-JIKA AKHIR-SUBRUTIN Program : Implementasi dalam program C++ :
  • 10. #include <iostream.h> long int faktorial (unsigned int n) { if (n == 0 || n == 1) return 1; else return n * faktorial (n-1); } int main () { int n; long int hasil; cout << "n = "; cin >> n; hasil = faktorial (n); cout << n << "! = " << hasil; return 0; }
  • 11. 2. Contoh 9.2 Fungsi Fibonacci dapat dinyatakan dalam bentuk rekursif seperti berikut : fib (n)= 0,untuk n = 0 fib (n)= 1,untuk n = 1 fib (n)= fib (n-1)+fib (n-2),untuk n > 1 contoh hubungan antara n dan hasil fungsi :
  • 12. Tuangkanlah dalam bentuk algoritma maupun program SUBRUTIN fib(n) JIKA n = 0 MAKA NILAI-BALIK 0 SEBALIKNYA JIKA n =1 MAKA NILAI –BALIK 1 SEBALIKNYA NILAI-BALIK fib(n-1)+fib(n-2) AKHIR-JIKA AKHIR-JIKA AKHIR-SUBRUTIN
  • 13. 2. FPB (factor persekutuan terbesar) dapat diselesaikan secara rekursi dengan cara seperti berikut : Fpb(x,y) = y jika y ≤ x dan sisa_pembagian (x,y) = 0 Fpb(x,y) = fpb(y,x) jika x < y Fpb(x,y) = fpb(sisa_pembagian(x,y)) untuk keadaan yang lain Cobalah menuangkannya dalam bentuk algoritma. Implementasikan pula programnya.
  • 14. Jawab : 2. a. Bentuk algoritma Subrutin FPB Jika y ≤ x dan sis (x,y) = 0 maka nilai baliknya = y Jika x < y maka Nilai baliknya =fpb (x,y) Sebaliknya Nilai baliknya fpb(y, sisa (x,y)) Akhir jika Akhir subrutin
  • 15. b. Bentuk Programnya #include<iostream> using namespace std; int fpb(int x,int y) { int rem; if(y==0)return(x); else { rem = x%y;return(fpb(y,rem));}} int main() { int a,b; cout<<"nMasukkan dua bilangan :"; cin >>a>>b; cout<<"Faktor Persekutuan Terbesar dari" <<a<< "dan" <<b; cout<<"adalah"<<fpb(a,b)<<endl; return 0; }
  • 16. 3. Subrutin komite(n, k) digunakan untuk menentukan jumlah kemungkinan komite yang terdiri dari k orang yang dipilih dari n orang yang tersedia. Contoh, komite(4,3) menghasilkan 4 kemungkinan. Taruhlah keempat orang tersebut adalah A,B,C,dan D, maka kemungkinan pasangan keempat orang untuk membentuk komite yang terdiri atas 3 orang bisa berupa ABC, ABD, ACD dan BCD. Subrutin tersebut dapat dituangkan menurut rumusan seperti berikut : Komite(n,k) = komite(n-1,k) + komite(n-1,k-1) untuk n,k ≥1 Cobalah bentuk algoritma beserta programnya.
  • 17. Algoritma Subrutin komite(n,K) Jika n = 0 atau n = 1 maka Nilai balik = 1 Sebaliknya Nilai balik = n x faktorial (n-1) Akhir jika Akhir subrutin Hasil = faktorial (n/(faktorial) (k) x faktorial (n-k))
  • 18. #include <iostream.h> long int komite (int n){ if (n==0||n==1) return 1; else return n*komite(n-1); } int main(){ int n; int k; long int hasil; cout<<"Masukkan nilai n: "; cin>>n; cout<<"Masukkan nilai k: "; cin>>k; hasil= komite(n)/(komite(k)*komite(n-k)); cout<<"Komite (n,k) = Komite ("<<n<<","<<k<<") = "<<hasil; return 0; }