Kamis, 18 Oktober 2012

Artikel Tentang Pangkat Rekursif


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

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