Friday, October 4, 2013

PANGKAT REKURSIF



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 x
y 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=125
    BUILD 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 = 125
    Dari 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=125
    BUILD SUCCESSFUL (total time: 0 seconds






                                     Nama : Awalia Wahyu Juwita
                        Nim  :1200631030