Monday, October 7, 2013

Perhitungan Pangkat Secara Rekursif pada Bahasa Pemrograman Java


Pada postingan kali ini, lagi-lagi mengenai tugas perkuliahan.
Setelah melewati perkuliahan mata kuliah logika algoritma dan struktur data selama hampir satu minggu, akhirnya tiba juga batas akhir pengumpulan tugas mingguan,yaitu malam ini pukul 23.59.
Untumg saja aku berhasil mengerjakan tugas pada minggu ini, hehe.. keren kan aku??
Ok dah.. langsung saja kita ke Teee.. Kaaa... Peee...
Pada tugas kali ini, mahasiswa diberi tugas membuat program penghitungan pangkat dari penjumlahan dua bilangan yang diselesaikan secara rekursif, soalnya yakni :
(a+b)y
Apabila di inputkan nilai maka menjadi (2+3)3 =125.
Nah loe... gimana coba caranya agar nanti bisa jadi seperti itu?? Itu yang aku pikirkan di akhir perkuliahan setelah mendapat tugas ini.
Tapi bukan mahasiswa namanya kalau menyerah hanya tau soalnya seperti itu. Karena menurut aku, semua persoalan bisa selesai apabila kita berusaha untuk menyelesaikannya, tapi kalau kita cuma melihat persoalan tersebut, mengangan-angan, nggak akan pernah selesai. Gimana? Keren kan aku?? Hehe.. kayak Bapak Mario lama-lama. Yah.. Karena keseringan nonton MTGW sih..
Udah ah, bisa nggak selesai ini nanti.
Sebelumnya kita harus tau pangkat secara rekursif itu apa, ini aku kutip dari slide dosen aku.
Dalam fungsi pangkat xy, jika x pangkat o, maka nilainya adalah 1, jika x pangkat y, dengan y lebih dari 0, maka hasilnya sama dengan x dikalikan x dipangkatkan  y-1.
Jika ditulis dalam notasi matematika:







Pada x > 0, bentuk pemangkatannya muncul kembali di sisi kanan, itulah yang disebut rekursif, fungsi yang mendefinisikan fungsi itu sendiri
Waduh... semakin pusing ajah ya...
Begini penjelasan lebih lanjutnya
Rekursif selalu dimulai kasus penyetop, penghenti, yang terjadi ketika y=0. Rekursif yang lebih kompleks mengandung inti dari permasalahan yang akan dipecahkan secara sederhana.
Yang awalnya xy menjadi lebih sederhana x, hal ini dimaksudkan “menggiring” masalah kompleks ke kasus dasar atau penyetop rekursif.
Untuk x=10 dan y=0, maka xy hasilnya adalah 1
Untuk x=10 dan y=3, hasilnya dapat digambarkan:














Jadi hasil xy untuk x=10, y=3 adalah 1000.
Itu dulu deh penjelasan tentang xy. Nah, untuk kasus yang akan kita bahas ini adalah (a+b)y.
Untuk penerapan code di java yaitu sebagai berikut :



















Baik, kita oprek code diatas
1. Code untuk pengimplementasian












Penjelasan code diatas :
a. public static int pangkat (int a, int b, int y){
adalah method pangkat untuk mengimplementasi nilai int a, int b, dan int y
b. if (y==0) kondisi apabila y bernilai o maka akan mengeksekusi kondisi pertama yaitu return 1 yang hasilnya adalah 1
c. else digunakan untuk mengeksekusi kondisi kedua apabila kondisi pertama tidak digunakan
d. return (a+b) * pangkat (a, b, y-1) adalah nilai kondisi kedua yang berisi rumus untuk mencari (a+b)y

2. Dan untuk menampilkan hasilnya yaitu dengan memanggil fungsi JoptionPane seperti berikut:
penjelasannya
JoptionPane.showMessageDialog adalah jendela pesan informasi, artinya program akan menampilkan jendela pesan informasi berupa output yang sudah di inputkan


Namun untuk memanggil fungsi JOptionPane kita harus mengimport fungsi JoptionPane terlebih dahulu seperti berikut :




Setelah itu hasilnya adalah









Selesai sudah postingan kali ini tentang Perhitungan pangkat secara rekursif pada bahasa pemrograman java.
Semoga bermanfaat, dan semoga mendapatkan nilai yang bagus dengan tugas minggu ini, hehe..
Pesan dari aku “ Impossible Is Nothing ”

NIM              : 1000631038
NAMA           : PRIYO SIGIT PURNOMO
JURUSAN      : MANAJEMEN INFORMATIKA