A.PENGERTIAN
REKURSIF
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.
B.CONTOH FUNGSI REKURSIF
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.
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.
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 * 1
- 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 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
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 mempelajari materi diatas
mari kita coba soal dengan membuat program penghitung pangkat dari penjumlahan
dua bilangan yang diselesaikan secara rekursif.
TUGAS
Buatlah program penghitungan pangkat dari penjumlahan
dua bilangan yang diselesaikan secara rekursif.
(a+b)y
(2+3)3 = 125
Buatlah tutorial mengenai langkah-langkah pembuatan
program tersebut beserta penjelasannya, kemudian postinglah di blog anda
Pada bagian akhir artikel anda di blog, tulislah
dengan nama lengkap anda
Kemudian submit URL lengkap postingan anda di
elearning
JAWAB.
- Sorce
Code
- Output :
- Sorce
Code.package materitugas;public class MateriTugas {public static int hitungPangkat (int a, int b){if (b == 0){return 1;} else {return a * hitungPangkat (a, b - 1);}}public static void main(String[] args) {System.out.println("hasil (2 + 3) pangkat 3=" + hitungPangkat (5, 3));}}
- Output run:hasil (2 + 3) pangkat 3=125BUILD SUCCESSFUL (total time: 0 seconds
-
Keterangan:
- Public class Pangkat Rekursif,langkah pertama yaitu membuat class terlebih dahulu dengan nama Pangkat Rekursif.
- Public static int Hitung Pangkat (int a, int b, int y),Method main yang merupakan parameter penghitung pangkat 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)*Hitung Pangkat (a, b, y-1),maka nilainya adalah a ditambah b dikali isi dari parameter penghitung pangkat (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 = 125Dari hasil diatas maka dapat kita tarik kesimpulan dengan menggunakan metode rekursif pada java, proses perhitungan akan jauh lebih mudah dan pemahaman kita jauh lebih meningkat tentang intruksi baru pada java tentang rekursif.Dan kita tidak akan kesulitan lagi mempelajarinya.
Run;hasil (2 + 3) pangkat 3=125BUILD SUCCESSFUL (total time: 0 seconds
Nama : Awalia Wahyu Juwita
Nim :1200631030