Deklarasi Method
Method
atau fungsi dalam java adalah suatu cara untuk memecah program menjadi
beberapa bagian, sehingga ketika mengerjakan program tersebut bisa
dilakukan pembagian tugas kepada beberapa orang. Ketika kita sudah
mendevelop program dalam sekala besar maka kita perlu menggunakan yang
namanya method. Untuk lebih jelasnya perhatikan program dibawah ini :
- public class Main
- {
- public static void main(String[] args)
- {
- Print();
- }
- static void Print()
- {
- System.out.println("Method Print Sukses Dipanggil!!!");
- }
- }
- static void Print()
tersebut
merupakan method berguna untuk mencetak string "Method Print Sukses
Dipanggil!!!" tersebut. Dimana method tersebut dipanggil pada bagian
Print();
Keyword static disini
diperlukan karena method tersebut berada di main class yang juga
bersifat static sehingga method method menyertainya juga harus bersifat
static.
Keyword void merupakan
salah satu indikasi bahwa method ini tidak mereturn/mengembalikan nilai
apapun, untuk method yang mereturn/mengembalikan suatu nilai tertentu
akan kita bahas nanti.
Method
diatas adalah salah satu method yang tidak menerima passing variable
apapun dan juga tidak memberikan return variable apapun, untuk contoh
method yang menerima passing variable tertentu perhatikan contoh dibawah
ini :
- public class Main
- {
- public static void main(String[] args)
- {
- Maksimum(5, 7);
- }
- static void Maksimum(int a, int b) {
- if(a>b) {
- System.out.println("Nilai Maksimumnya Adalah : "+a);
- }
- else if(a<b) );="" +b);="" :="" adalah="" besar="" bilangan="" dua="" else="" maksimumnya="" nilai="" sama="" system.out.println(="" tersebut="" {="" }=""></b)>
Dari
contoh diatas dapat kita ketahui bahwa method Maksimum membutuhkan dua
variable integer untuk dipassingkan, dan dari dua variable integer yang
dipassingkan tersebut akan dicetak variable mana yang lebih besar.
Selain itu ada juga method yang memiliki nilai kembalian, atau return
value, sebagai contoh perhatikan program untuk mencari nilai kuadrat
bilangan integer dibawah ini dibawah ini :
- public class Main
- {
- public static void main(String[] args) {
- System.out.println( Kuadrat(5) );
- }
- static int Kuadrat(int a)
- {
- return a * a;
- }
- }
Untuk
membuat method yang memiliki nilai kembalian/return value, maka kita
harus menghilangkan keyword void pada method yang kita buat dan
menggantikannya dengan jenis variable kembalian kita, dimana dalam
contoh tersebut nilai kembalian / return value berupa integer.
Pengenalan Teknik Rekursif Selain itu dalam suatu method kita dapat
memanggil method yang lainnya, atau bahkan memanggil method itu sendiri,
peristiwa pemanggilan method oleh dirinya sendiri inilah yang disebut
rekursif. Contoh sederhana dari rekursif adalah faktorial (!). Untuk
lebih jelasnya perhatikan contoh dibawah ini :
- 5! = 4! * 5
- 4! = 3! * 4
- 3! = 2! * 3
- 2! = 1! * 2
- 1! = 1
Dari
contoh diatas dapat kita lihat bahwa sebenarnya faktorial dari bilangan
n, merupakan faktorial bilangan n-1 dikali dengan n, dan begitu
seterusnya hingga n=1. Ketika n=1 maka ada kasus spesial yaitu 1!=1.
Untuk implementasinya pada java, perhatikan program dibawah ini :
- public class Main{
- public static void main(String[] args) {
- System.out.println(Faktorial(5));
- }
- static int Faktorial(int n){
- if (n == 1){
- return 1;
- }
- else{
- return n * Faktorial(n - 1);
- }
- }
- }
return
n * Faktorial(n - 1); merupakan rekursif case, yaitu bagian yang
membuat program tersebut loopping atau melakukan perulangan secara
rekursif, dan bagian return 1; adalah base case, yaitu bagian yang
membuat perulangan rekursif tadi berhenti. Seperti halnya perulangan
biasa, jika tidak ada base case maka method rekursif ini akan mengalami
infinite loop yang akan menghabiskan memori.