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

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

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

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
 

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

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
 

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

Arlianda_2021 B_Analisis Kritis Jurnal.pdf
Arlianda_2021 B_Analisis Kritis Jurnal.pdfArlianda_2021 B_Analisis Kritis Jurnal.pdf
Arlianda_2021 B_Analisis Kritis Jurnal.pdfArlianda
 
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)AdeFarida4
 
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfAndiCoc
 
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdfKEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdfMurniWahyuningsih3
 
Bukti dukung E kinerja kepala sekolah.pdf
Bukti dukung E kinerja  kepala sekolah.pdfBukti dukung E kinerja  kepala sekolah.pdf
Bukti dukung E kinerja kepala sekolah.pdfZulkhaidirZulkhaidir
 
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxCONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxAhmadBarkah2
 
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKAMODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKAAndiCoc
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfHernowo Subiantoro
 
Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024SABDA
 
piktogram 12345. pdf
piktogram 12345.                     pdfpiktogram 12345.                     pdf
piktogram 12345. pdfJihanavivaa
 
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJARAKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJARcakrasyid
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxlastri261
 
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptxPPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptxBerbagiKebaikan2
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawassuprihatin1885
 
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)LabibAqilFawaizElB
 
Presentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptxPresentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptxDWIHANDOYOPUTRO2
 
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptxModul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptxSriayuAnisaToip
 
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.comModul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.comFathan Emran
 
perumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.pptperumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.pptAryLisawaty
 

Recently uploaded (20)

Arlianda_2021 B_Analisis Kritis Jurnal.pdf
Arlianda_2021 B_Analisis Kritis Jurnal.pdfArlianda_2021 B_Analisis Kritis Jurnal.pdf
Arlianda_2021 B_Analisis Kritis Jurnal.pdf
 
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
 
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR PENDIDIKAN PANCASILA (PPKN) KELAS 1 KURIKULUM MERDEKA.pdf
 
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
 
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdfKEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
 
Bukti dukung E kinerja kepala sekolah.pdf
Bukti dukung E kinerja  kepala sekolah.pdfBukti dukung E kinerja  kepala sekolah.pdf
Bukti dukung E kinerja kepala sekolah.pdf
 
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxCONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
 
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKAMODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
 
Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024
 
piktogram 12345. pdf
piktogram 12345.                     pdfpiktogram 12345.                     pdf
piktogram 12345. pdf
 
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJARAKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptxPPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
 
Presentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptxPresentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptx
 
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptxModul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
 
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.comModul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
 
perumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.pptperumusan visi, misi dan tujuan sekolah.ppt
perumusan visi, misi dan tujuan sekolah.ppt
 

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