SlideShare a Scribd company logo
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

More Related Content

What's hot

R5 h kel 2 kalk1 2
R5 h kel 2 kalk1 2R5 h kel 2 kalk1 2
R5 h kel 2 kalk1 2
matematikaunindra
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
Matlab tutor sns77_utama
Matlab tutor sns77_utamaMatlab tutor sns77_utama
Matlab tutor sns77_utama
staffpengajar
 
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 java
Devandy Enda
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
Simon Patabang
 
Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
KuliahKita
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
Vocational High School 3 Tegal
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
Matlab 4
Matlab 4Matlab 4
Matlab 4
Hastih Leo
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program r
Khair Norrasid
 
Latihan java depandi
Latihan java depandiLatihan java depandi
Latihan java depandi
Devandy Enda
 
Pelatihan Bahasa R
Pelatihan Bahasa RPelatihan Bahasa R
Pelatihan Bahasa R
anom0164
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemograman
Syahran Mohamed
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
Asnita Meydelia C K
 
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
Ekha Cahya Nugraha
 

What's hot (19)

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
 
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
 

Similar to Presentation

Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
Antonius Rachmat C
 
Matlab
MatlabMatlab
Modul maple untuk metnum 2014
Modul maple untuk metnum 2014Modul maple untuk metnum 2014
Modul maple untuk metnum 2014
Samuel Pinto'o
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
Andry Saftiawan
 
MAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxMAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docx
Dikicandra6
 
Makalah matematika
Makalah matematikaMakalah matematika
Makalah matematika
Ir Fandi
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
Icha Dicaprio
 
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
Rahmank Sana-sini
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
Muhammad Hairullah
 
Cruise Control System
Cruise Control SystemCruise Control System
Cruise Control System
Lusiana Diyan
 
Fungsi
FungsiFungsi
Fungsi
Rahmat Rijal
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
James Montolalu
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
inggar tri
 
Praktikum
PraktikumPraktikum
Praktikum
inggar 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.pdf
FadhilahMargiPertiwi
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
Georgius Rinaldo
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
Eko Widyanto Napitupulu
 
Function
FunctionFunction
Function
Akmal Fajar
 
Interpolasi lagrange dan newton
Interpolasi lagrange dan newtonInterpolasi lagrange dan newton
Interpolasi lagrange dan newton
Yuni Dwi Utami
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
ahmad haidaroh
 

Similar to 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
 

More from Ainy Sara

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

More from 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
 

Recently uploaded

Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
NirmalaJane
 
Pemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptxPemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptx
ssuser4dafea
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Fathan Emran
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
JALANJALANKENYANG
 
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptxPPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
AqlanHaritsAlfarisi
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
YongYongYong1
 
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs KonsekuensiAksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
sabir51
 
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdekaSOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
NiaTazmia2
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Yayasan Pusat Kajian dan Perlindungan Anak
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
HendraSagita2
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
esmaducoklat
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
SABDA
 
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdfSeminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
inganahsholihahpangs
 
Pemaparan budaya positif di sekolah.pptx
Pemaparan budaya positif di sekolah.pptxPemaparan budaya positif di sekolah.pptx
Pemaparan budaya positif di sekolah.pptx
maulatamah
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
AsyeraPerangin1
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
MashudiMashudi12
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
junarpudin36
 
pelayanan prima pada pelanggan dan karyawan
pelayanan prima pada pelanggan dan karyawanpelayanan prima pada pelanggan dan karyawan
pelayanan prima pada pelanggan dan karyawan
EvaMirzaSyafitri
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Sosdiklihparmassdm
 
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdfMODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
sitispd78
 

Recently uploaded (20)

Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
 
Pemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptxPemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptx
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
 
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptxPPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
 
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs KonsekuensiAksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
Aksi Nyata Disiplin Positif: Hukuman vs Restitusi vs Konsekuensi
 
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdekaSOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
 
Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?Pelatihan AI GKA abdi Sabda - Apa itu AI?
Pelatihan AI GKA abdi Sabda - Apa itu AI?
 
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdfSeminar Pendidikan PPG Filosofi Pendidikan.pdf
Seminar Pendidikan PPG Filosofi Pendidikan.pdf
 
Pemaparan budaya positif di sekolah.pptx
Pemaparan budaya positif di sekolah.pptxPemaparan budaya positif di sekolah.pptx
Pemaparan budaya positif di sekolah.pptx
 
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdfKONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
KONSEP TEORI TERAPI KOMPLEMENTER - KELAS B KELOMPOK 10.pdf
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
 
pelayanan prima pada pelanggan dan karyawan
pelayanan prima pada pelanggan dan karyawanpelayanan prima pada pelanggan dan karyawan
pelayanan prima pada pelanggan dan karyawan
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
 
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdfMODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
 

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; }