Pengertian
dari Pangkat Rekursif:
Rekursif adalah salah satu metode yang diimplementasikan dalam
sebuah fungsi yang memanggil dirinya sendiri.
secara umum bentuk dari sub program rekursif memiliki statemen kondisional:
if dimana kondisi khusus tak di penuhi
then dimana di panggil diri-sendiri dengan parameter yang sesuai
else di lakukan instruksi yang akan di ekssekusi bila kondisi khusus di penuhi
secara umum bentuk dari sub program rekursif memiliki statemen kondisional:
if dimana kondisi khusus tak di penuhi
then dimana di panggil diri-sendiri dengan parameter yang sesuai
else di lakukan instruksi yang akan di ekssekusi bila kondisi khusus di penuhi
Fungsi
Rekursif salah satunya adalah fungsi pangkat.
Dalam
fungsi pangkat xy , kita tahu bahwa semua bilangan selain 0, jika dipangkatkan
dengan 0 nilainya sama dengan 1. Jika x dipangkatkan dengan y, dengan y lebih
dari 0, maka hasilnya sama dengan x dikalikan dengan x dipangkatkan y – 1. Jika
dituliskan dalam notasi matematika definisinya adalah sebagai berikut:
Xy=1,
jika y=0
Xy=x
* xy-1, jika y>0
lihat
definisi di atas y > 0, bentuk pemangkatan muncul kembali di sisi
kanan. Itulah yang disebut rekursif. Definisi rekursif selalu dimulai
dengan kasus penyetop, penghenti, dalam hal ini terjadi ketika nilai y = 0.
Dalam hal ini yang tadinya x dipangkatkan dengan y, kini
bentuk pemangkatan menjadi lebih sederhana, yaitu y – 1. Hal ini dimaksudkan
untuk “menggiring” masalah kompleks ke kasus dasar atau penyetop rekursinya.
Untuk x = 10 dan y = 0, hasil dari xy adalah 1. Untuk x = 10 dan y = 3 hasilnya
dapat digambarkan sebagai berikut:
Ide
dasar dalam memecahkan suatu masalah dengan rekursif adalah sebagai berikut:
Langkah untuk mencari hasil
perpangkatan :
- 103 = 10 * 102 ( untuk mencari definisi tersebut menggunakan rumus Xy = X*X(Y-1) )
- Kemudian hasil dari X(Y-1) menjadi pangkat untuk penghitungan berikutnya yaitu 102 = 10 * 101
- Kemudian hasil dari X(Y-1) menjadi pangkat untuk penghitungan berikutnya yaitu 101 = 10 * 100
- Kemudian hasil dari X(Y-1) menjadi 100 hasil dari 100=1
- Dari hasil 100=1 menjadi nilai untuk hasil rumus X(Y-1) menjadi 101 = 10 * 1=10
- Dan hasil dari 101 = 10 * 1=10 kemudian menjadi nilai untuk rumus X(Y-1) menjadi
102 = 10 * 10=100 -->
- Dan hasil dari 102 = 10 * 10=100 kemudian menjadi nilai untuk rumus X(Y-1) menjadi 103= 10 * 10=1000
Dari Penjelasan di atas maka latihan
hitunglah
pangkat dari (a+b)y dengan nilai (2+3)3 menggunakan
pangkat rekursif !
Lihat Code-code di bawah ini:
Lihat Code-code di bawah ini:
public class
HitungPangkatPenjumlahan
{//nama class HitungPangkatPenjumlahan
public static int hitungPangkatPenjumlahan(int a, int b, int y) {//Method main sbgai Parameter hitungPangkatPenjumlahan (int
a,int b,int y)
if (y == 1) {//jika y==1 maka hasilnya 1
return a + b; //perulangan/pengembalian
dari a+b dengan ketentuan pangkat y sama dengan 1
} else {//jika di kompile benar dari perulangan a+b
sebelumnya maka,
return (a +
b) * hitungPangkatPenjumlahan (a,
b, y - 1);//pengulangan akan terus menerus maka a+b *
hitungPangkatPenjumlahan dari a,b,y-1
}
}
public static void main(String[] args) {// kemudian implementasikan method di bawah ini
System.out.println(hitungPangkatPenjumlahan(2,
3, 3));//maka di cetak hasil output dari
PangkatPenjumlahan dari 2,3,4 adalah 125
}
}
Hasil dari (2+3) pangkat 3 adalah 125
Hasil dari (2+3) pangkat 3 adalah 125