Halo gays kembali
lagi bersama saya mr.Owels, kali ini saya akan memberikan sebuah kasus dan
penyelesaiannya,, kali ini kasus nya menggunakan rekursif. Apa itu
rekursif?bisa dibuka disini.
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 sebuah
program?
Syntax
#include<stdio.h> // hader yang digunakan untuk printf & scanf
#include<conio.h> // hader yang digunakan untuk getch
int pangkat(int x, int y); // nama fungsi baru untuk variabel
main()
{
int x,y; //deklarasi
variabel
printf("Masukan Bilangan Yang Akan
Dipangkatkan = "); // keluaran / cetakan
scanf("%d",&x); // penarikan nilai dari cetakan
printf("\nPangkat Bilangan = "); //keluaran
scanf("%d",&y); // penarikan nilai
printf("\nHasil Bilangan
%d Pangkat %d
adalah %d",x,y,pangkat(x,y)); //
pemanggilan nilai hasil
getch(); //
pemberhentian atau enter
return 0; //
}
int pangkat (int x, int y) // nama fungsi baru untuk variabel
{
if(y==0){ // bagan
proses
return 1;
}else{
return x*pangkat(x,y-1);
}
}
Running
Penjelasan
Dalam kasus ini proses yang
digunakan adalah proses rekursif yaitu pemanggilan kembali nilai diri sendiri,
seperti dalam kasus di atas untuk penghitungan pemangkatan data menggunakan
pengulangan diri sendiri (x*pangkat(x,y-1)).
Gunakan header yang akan digunakan, lalu buatlah nama fungsi di awal atau
define, lalu masuk ke dalam main, setelah itu masukan deklarasi variabel, lalu
cetaklah menggunakan fungsi seperti printf untuk cetakan atau permintaan nilai
masukan , lalu untuk penarikan nilai yang dimasukan menggunakan scanf, setelah
itu keluarkan cetakan untuk hasil akhir. Disini proses dalam fungsi diletakan
setelah main, dalam proses fungsi digunakan Else if, jika Y == 0 maka akan
kembali ke awal (return 1), atau Y bukan = 0 maka akan dilakukan proses
rekursif seperti ini (x*pangkat(x,y-1)).
