11-Java Methods
11-Java Methods
METHODS (FUNCTION/PROCEDURE)
Method adalah sekumpulan kode yang hanya berjalan saat dipanggil. Kita dapat mengirimkan data,
yang disebut parameter, ke dalam method. Method digunakan untuk melakukan tindakan tertentu,
dan mereka juga dikenal sebagai fungsi. Java hanya mengenal fungsi, tidak mengenal prosedur.
Prosedur pada Java adalah method yang tidak menghasilkan nilai atau void.
Mengapa menggunakan metode? Untuk menggunakan kembali kode: tentukan kode sekali, dan
gunakan berkali-kali.
MEMBUAT METHOD
Method harus dideklarasikan di dalam kelas. Method didefinisikan dengan nama metode, diikuti
dengan tanda kurung (). Java menyediakan beberapa metode yang telah ditentukan sebelumnya,
seperti System.out.println (), tetapi kita juga dapat membuat metode sendiri untuk melakukan
tindakan tertentu.
Contoh :
public class Main {
static void myMethod() {
// code to be executed
}
}
Setiap method harus menghasilkan nilai oleh karena itu, setiap method harus memiliki parameter
output.
Contoh :
public class Main {
static long hitungLuas() {
// code to be executed
return panjang * lebar;
}
}
• long menandakan bahwa metode ini akan menghasilkan nilai dengan tipe data long.
• return digunakan untuk mengembalikan nilai kepada output. Setiap metode harus di return
kecuali yang bernilai void
MEMANGGIL METHOD
Untuk memanggil metode di Java, cukup dengan menuliskan nama metode diikuti dengan dua
kurung “()” dan semicolon “;”
Contoh :
public class Main {
static void myMethod() {
System.out.println("I just got executed!");
}
MULTIPLE PARAMETERS
Kita dapat memiliki parameter sebanyak yang kita suka:
public class Main {
static void myMethod(String fname, int age) {
System.out.println(fname + " is " + age);
}
RETURN VALUES
Kata kunci void, yang digunakan dalam contoh di atas, menunjukkan bahwa metode tersebut tidak
boleh mengembalikan nilai. Jika kita ingin metode mengembalikan nilai, kita dapat menggunakan tipe
data primitif (seperti int, char, dll.) Daripada void, dan gunakan kata kunci return di dalam metode:
Contoh :
public class Main {
static int myMethod(int x) {
return 5 + x;
}
Contoh berikut mengembalikan nilai dari dua parameter yang dimiliki metode:
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
Kita juga dapat menampung nilai balik dari metode ke dalam sebuah variable untuk digunakan
kepentingan lain.
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
METHOD OVERLOADING
Dengan menggunakan method overloading, kita dapat membuat beberapa nama metode yang sama
tetapi menggunakan parameter yang berbeda.
Contoh :
int myMethod(int x)
float myMethod(float x)
double myMethod(double x, double y)
perhatikan contoh berikut, kita menggunakan dua metode yang memiliki nama yang sama tetapi
parameter berbeda. Kita dapat menggunakannya secara bersama-sama.
static int plusMethodInt(int x, int y) {
return x + y;
}
Daripada menentukan dua metode yang harus melakukan hal yang sama, lebih baik untuk membebani
satu metode.
JAVA SCOPE
Pada Bahasa pemrograman Java, variable hanya dapat diakses pada ruang lingkup variable tersebut
dideklarasikan. Ini yang kemudian kita sebut dengan scope.
Variable yang dideklarasikan pada kelas akan dapat diakses oleh setiap bagian dalam kelas tersebut.
Variable yang dideklarasikan pada metode akan dapat diakses oleh setiap bagian pada metode
tersebut. Sedangkan Variable yang dideklarasikan pada blok pernyataan hanya dapat diakses oleh
bagian pada blok tersebut.
int x;
}
}
REKURSI
Rekursi adalah teknik membuat pemanggilan fungsi itu sendiri. Teknik ini memberikan cara untuk
memecah masalah yang rumit menjadi masalah sederhana yang lebih mudah dipecahkan. Rekursi
mungkin agak sulit dipahami. Cara terbaik untuk mengetahui cara kerjanya adalah dengan
bereksperimen dengannya.
Contoh : Menjumlahkan dua angka secara bersamaan mudah dilakukan, tetapi menambahkan
serangkaian angka lebih rumit. Dalam contoh berikut, rekursi digunakan untuk
Ketika fungsi sum () dipanggil, ia menambahkan parameter k ke jumlah semua angka yang
lebih kecil dari k dan mengembalikan hasilnya. Ketika k menjadi 0, fungsinya hanya
mengembalikan 0. Saat dijalankan, program mengikuti langkah-langkah berikut:
10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
...
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
Karena fungsi tidak memanggil dirinya sendiri saat k bernilai 0, program berhenti di sana dan
mengembalikan hasilnya.
Sama seperti loop dapat mengalami masalah perulangan tak terbatas, fungsi rekursif dapat
mengalami masalah rekursi tak terbatas. Rekursi tak terbatas adalah saat fungsi tidak pernah
berhenti memanggil dirinya sendiri. Setiap fungsi rekursif harus memiliki kondisi terhenti,
yaitu kondisi di mana fungsi berhenti memanggil dirinya sendiri. Pada contoh sebelumnya,
kondisi terhenti adalah ketika parameter k menjadi 0.
Sangat membantu untuk melihat berbagai contoh yang berbeda untuk lebih memahami
konsep tersebut. Dalam contoh ini, fungsi menambahkan rentang angka antara awal dan
akhir. Kondisi terhenti untuk fungsi rekursif ini adalah ketika akhir tidak lebih besar dari awal: