Sebelum melanjutkan pembahasan penjumlahan dua bilangan yang diselesaikan secara Rekursif, kita akan menjelaskan apa itu PANGKAT REKURSIF.
Pangkat Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi ini akan terusberjalan sampai kondisi berhenti terpenuhi, oleh karena itu dalam sebuah fungsi rekursif perlu terdapat 2 blok penting, yaitu blok yang menjadi titik berhenti dari sebuah prosesrekursi dan blok yang memanggil dirinya sendiri.
Salah satu contoh fungsi rekursif 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.dan jika di tulis dalm notaasi matematika adalah sebagai berikut :
xy = 1, jika y = 0
xy = x * x(y-1) , jika y > 0
Dapat kita lihat pada definisi diatas yaitu y > 0 , bahwa bentuk pemangkatannya muncul kembali disisi kanan. Dan disitulah yang disebutkan rekursif yaitu fungsi yang mendefinisikan fungsi itu sendiri. Dan definisi rekursif selalu dimulai dari kasus penyetop, penghenti, yang terjadi ketika y = 0, dan dalam hal ini yang tadinya x dipangkatkan dengan y, kini bentuk pemangkatannya 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:
Untuk mencari hasil perpangkatan dengan langkah seperti dibawah ini:
- 103 = 10 * 102 ( untuk mencari definisi tersebut menggunakan rumus Xy = X*X(Y-1) )
- Lalu hasil dari X(Y-1) menjadi pangkat untuk penghitungan yang berikutnya yaitu 102 = 10 * 101
- Dan 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=1
- Dan hasil dari 101 = 10 * 1=10 dan 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
Note : Fungsi pangkat akan memanggil dirinya sendiri dan menghasilkan n x n x n x n x n sampai m bernilai 0. Begitulah rekursif bekerja.
Memecahkan suatu masalah dengan rekursif adalah sebagai berikut:
- Menentukan kasus batas di mana pemanggilan rekursif tidak lagi diperlukan.
- Menerapkan suatu langkah untuk meneruskan kasus kompleks ke kasus pembatasnya dengan metode yang mencerminkan fungsinya.
Setelah kita lihat dari penjelasan diatas marilah kita latihan mencoba jabarkan melalui code – code di java dengan membuat program penghitungan pangkat dari penjumlahan dua bilangan yang diselesaikan secara rekursif (a+b)y , dengan nilai (2+3)3 .
public class PangkatRekursif { // langkah pertama yaitu membuat kelas terlebih dahulu dengan nama kelas PangkatRekursif
public static int hitungpangkat(int a,int b, int y){ // method main yang merupakan parameter hitungpangkat yaitu (int a, int b, int y)
if (y==1){ // merupakan syarat pangkat , jika y sama dengan 1
return a+b; // maka nilai pertambahannya adalah pertambahan variable a dengan variable b
}else{ // lalu kemudian kita lihat syaratnya , jika pangkat selain dengan pangkat y sama dengan 0
return (a+b)*hitungpangkat(a,b, y-1); //Maka nilainya adalah a ditambah b di kali isi dari parameter hitungpangkat (a,b,variable untuk pangkat y-1
}
}
public static void main(String[] args) {//kita implementasikan method dibawah ini
System.out.println("hasil (2+3) pangkat 3 = "+ hitungpangkat(2,3, 3));
//maka untuk mencetak output hasil perhitungan pangkat dari nilai (2,3, 3)
}
}
Hasil outputnya
Hasil (2+3) pangkat 3 = 125
Berikut adalah hasil pembuatan program perhitungan pangkat penjumlahan dua program yang diselesaikan secara rekursif:
Kesimpulan
Dengan membuat program perhitungan pangkat penjumlahan dua program yang diselesaikan secara rekursif pada java akan semakin mempermudah dalam perhitungan dan membuat kita mengenal instruksi-instruksi java.
IIS DAHLIA
1200631047
MI A
Tidak ada komentar:
Posting Komentar