Mengenal Lebih Jauh Method Pada Java

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 :

  1. public class Main  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         Print();  
  6.     }  
  7.     static void Print()  
  8.     {  
  9.         System.out.println("Method Print Sukses Dipanggil!!!");  
  10.     }  
  11. }  



  1. 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 :


  1. public class Main  
  2. {  
  3.   
  4.     public static void main(String[] args)  
  5.     {  
  6.         Maksimum(57);  
  7.     }  
  8.     static void Maksimum(int a, int b) {  
  9.         if(a>b) {  
  10.             System.out.println("Nilai Maksimumnya Adalah : "+a);  
  11.         }  
  12.         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 :

  1. public class Main  
  2. {  
  3.   
  4.     public static void main(String[] args) {  
  5.         System.out.println( Kuadrat(5) );  
  6.     }  
  7.     static int Kuadrat(int a)  
  8.     {  
  9.         return a * a;  
  10.     }  
  11. }  
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 :

  1. 5! = 4! * 5  
  2. 4! = 3! * 4  
  3. 3! = 2! * 3  
  4. 2! = 1! * 2  
  5. 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 :

  1. public class Main{  
  2.   
  3.     public static void main(String[] args) {  
  4.         System.out.println(Faktorial(5));  
  5.     }  
  6.     static int Faktorial(int n){  
  7.         if (n == 1){  
  8.             return 1;  
  9.         }  
  10.         else{  
  11.             return n * Faktorial(n - 1);  
  12.         }  
  13.     }  
  14. }  
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.