FUNGSI REKURSIF
Tujuan Praktikum :
1. Dapat menciptakan tipe dan bentuk dalam program
2. Dapat mengenal dan memahami fungsi rekursif
3. Dapat mengimplementasikan fungsi rekursif pada bahasa c/c++
4. Dapat menciptakan program mengguankan fungsi rekursif
Dasar teori :
Rekursi (recursion) adalah merupakan suatu fungsi yang dapat memanggil diriya sendiri . Fungsi rekursif dipakai karena memiliki kelebihan ,yaitu penulisan baris program menjadi lebih singkat. akan tetapi fungsi ini juga memiliki kekurangan ,yaitu membutuhkan banyak memori karena setiapprogram dipangil oleh dirinya sendiri ,dibutuhkan sejumlah ruang tambahan.
Berikut contoh Fungsi Rekursuf :
Xn n adalah bilangan bulat positif. Contoh kasus : Jika n = =1 maka Xn = X selain itu : Xn = X * Xn-1
Misal X = 2 dan n = 3,
2. Dapat mengenal dan memahami fungsi rekursif
3. Dapat mengimplementasikan fungsi rekursif pada bahasa c/c++
4. Dapat menciptakan program mengguankan fungsi rekursif
Praktikum 3.1
Dalam perhitungan matematika dikenal perpangkatan dengan menentukan bilangan dasar yang akan dipangkatkan dan menentukan pangkat yang akan diterapkan pada bilangan dasar tersebut, bagaimana perhitungan matematika tersebut jika dibuat kedalam program.
Script :
#include <stdio.h> // Lan-balon.blogspot.co.id
#include <conio.h>
int pangkat (int x, int y) //parameter pangkat
{ //struktur pemilihan if else
if (y == 0) //bila memasukan pangkat 0 maka akan dikalikan 1
{
return 1;
}
else
{ //bila selain angka satu maka akan diproses perkalian
return x * pangkat (x, y - 1);
}
}
int main()
{
int x, y; //variabel untuk bil bulat dan bil pangkat
printf ("Masukan bilangan yang akan dipangkatkan = ");
scanf ("%d", &x); //inputan bilangan bulat
printf ("\nPangkat Bilangan = ");
scanf ("%d", &y); //inputan pangkat
printf ("\nHasil bilangan %d pangkat %d adalah %d", x, y, pangkat (x, y)); //pemanggilan fungsi pangkat
getch();
return 0;
}
Hasil Runningnya :
Penjelasannya :
Program ini di Buat untuk memudah kan Kalian untuk Mempangkatkan Suatu bilangan dengan Mudah dan Praktis ..
Praktikum 3.2
Bilangan yang ada merupakan runtutan jumlah dari bilangan sebelumnya, dengan demikian kita dapat mengetahui deret bilangan sebelumnya dengan melakukan faktorisasi dari bilangan tersebut. Hasil dari deret bilangan tersebut dapat dilakukan dengan sebutan faktorial.
Contoh 4 difaktorialkan (4!) => 4 3 2 1 : (hasil kali 4!) = 24
Contoh 4 difaktorialkan (4!) => 4 3 2 1 : (hasil kali 4!) = 24
#include <iostream.h> // lan-balon.blogspot.co.id
int factorial (int a) //parameter faktorial
{ //struktur pemiihian if
if (a == 0)
{ //fungsi rekursif
return 0;
}
else
if(a > 1)
{
return (a * factorial (a-1));
}
else
{
return 1;
}
}
int main()
{
int a;
cout << "\t\tProgram Menampilkan Deret Nilai Faktorial" << endl;
cout << "\nMasukan nilai factorial : ";
cin >> a; //imputan faktorial
cout << endl;
cout << "\nRekursif --> Hasil perkalian semua nilai dari " << a << "! = " << factorial (a); //pemanggilan dan menampilkan faktorial
return 0;
}
Hasil Runningnya :
Penjelasanya :
Fungsi Rekursif ini berfungsi untuk perkalian Berderet misal 5 maka hasilnya 120 seperti Gambar di atas .. 5*4*3*2*1 jadi Berderet perkaliannya ..
Praktikum 3.3
Bilangan fibonacci adalah bilangan yang melakukan penambahan terhadap dirinya sendiri dari nilai penjumlahan dari bilangan pada dirinya yang sebelumnya seperti teorinya berikut ini :
f0 = 0, f1 = 1, fn>2 = fn-1 + fn-2
f2 = f0 + f1 = 0 + 1 = 1
f3 = f1 + f2 = 1 + 1 = 2
f4 = f2 + f3 = 1 = 2 = 3
f5 = f3 + f4 = 2 + 3 = 5
Script :
#include <stdio.h> // lan-balon.blogspot.co.id
#include <conio.h>
#include <iostream.h>
int fibo (int i) //parameter fibo
{ //struktur pemilihan
if (i == 0)
{
return 0;
}
else
if (i == 1)
{
return 1;
}
else
{ //fungsi rekursif
return fibo (i - 1) + fibo (i - 2);
}
}
int main()
{
int bil, i;
// judul program
cout << "\tFungsi Rekursif Bilangan Fibonacci" << endl;
cout << "\t----------------------------------" << endl;
cout << "Masukan bilangan : ";
cin >> bil; //input nilai fibo
//pemanggilan nilai fibonacci
for (i = 1; i <= bil; i++)
{//pemanggilan fungsi
cout << " " << fibo (i);
}
cout << "\nFibonacci (" << bil << ") = " << fibo (bil); //tampilan hasil deret fibo
getche();
return 0;
}
Hasil Runningnya :
Penjelasannya :
Program ini di gunakan untuk penjumlahan dari 1 ke n jadi misalkan 10 maka Penjumlahannya 1 1 2 3 5 8 13 21 34 55 dangat Mudah Kan Guys ..
- Latihan 3.1
- Latihan 3.2
- Latihan 3.3
0 Comment to "Modul 3 - Fungsi Rekursif"
Posting Komentar