Function pada java merupakan bagian dari program yang memiliki nama tertentu, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian program yang menggunakan methode tersebut. Function akan di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan penggunaan Function dapat memudahkan dalam mengembangkan program. Program dibagi menjadi beberapa subprogram kecil, sehingga hal ini menjadi kunci dalam pembuatan program terstruktur. Menghemat ukuran program, karena beberapa perintah yang sama dan dijalankan beberapa kali dalam program dapat dijadikan satu kali saja dalam suatu function, kemudian function tersebut dapat dipanggil berulang kali.
Fungsi Tanpa Nilai Balikan (Void)
Suatu fungsi dengan tipe void berarti fungsi yang tidak memiliki nilai balik (return value).
Ciri-ciri :- Tidak ada keyword return.
- Tidak ada tipe data di dalam deklarasi fungsi.
- Menggunakan keyword void.
- Tidak dapat langsung ditampilkan hasilnya.
- Tidak memiliki nilai kembalian fungsi.
Void nama_fungsi(parameter1, parameter2,….){
Statement_yang_akan_dilakukan;
}
Nama_fungsi(parameter1, parameter2,….);
class Kotak{
double panjang;
double lebar;
double tinggi;
// Mendefinisikan method void (tidakmengembalikan nilai)
void cetakVolume(){
System.out.println("Volume kotak = "+ (panjang * lebar * tinggi));
}
}
public class function_void {
public static void main(String[] args) {
Kotak k1, k2, k3;
// instansiasi objek
k1 = new Kotak();
k2 = new Kotak();
k3 = new Kotak();
// mengisi data untuk objek k1
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
// mengisi data untuk objek k2
k2.panjang = 6;
k2.lebar = 5;
k2.tinggi = 4;
// mengisi data untuk objek k3
k3.panjang = 8;
k3.lebar = 7;
k3.tinggi = 6;
// memanggil method cetakVolume() untuk masing-masing objek
k1.cetakVolume();
k2.cetakVolume();
k3.cetakVolume();
}
}
- Ada keyword return
- Ada tipe data yang mengawali deklarasifungsi
- Tidak ada keyword void
- Memiliki nilai kembalian
Tipe_data nama_fungsi(parameter1, parameter2,….){
Statement_yang_akan_dilakukan;
return nmvalue;
}
Nama_fungsi(parameter1, parameter2,….);
class Kotak{
double panjang;
double lebar;
double tinggi;
// Mendefinisikan method yang mengembalikan tipe double
double hitungVolume(){
// menghitung volume
double vol = panjang * lebar *tinggi;
// mengembalikan nilai
return vol;
}
}
public class function_non_void {
public static void main(String[] args) {
Kotak k1, k2, k3;
// instansiasi objek
k1 = new Kotak();
k2 = new Kotak();
k3 = new Kotak();
// mengisi data untuk objek k1
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
// mengisi data untuk objek k2
k2.panjang = 6;
k2.lebar = 5;
k2.tinggi = 4;
// mengisi data untuk objek k3
k3.panjang = 8;
k3.lebar = 7;
k3.tinggi = 6;
System.out.println("Volume k1 =" + k1.hitungVolume());
System.out.println("Volume k2 =" + k2.hitungVolume());
System.out.println("Volume k3 =" + k3.hitungVolume());
}
}
Menurut letak penulisan, parameter dibagi menjadi dua yaitu
Parameter yang terdapat pada pendefinisian sebuah fungsi disebut Parameter
formal dan Parameter yang terdapat pada saat pemanggilan disebut Parameter
Aktual.
Contoh:
class Kotak{
double panjang;
double lebar;
double tinggi;
// Mendefinisikan method dengan parameter (Parameter formal)
void isiData(double p, double l, double t){
panjang = p;
lebar = l;
tinggi = t;
}
double hitungVolume(){
return (panjang * lebar * tinggi);
}
}
public class function_parameter {
public static void main(String[] args) {
Kotak k;
// instansiasi objek
k = new Kotak();
// Memanggil method isiData() (Parameter Aktual)
k.isiData(4,3,2);
System.out.println("Volume kotak= " + k.hitungVolume());
}
}