As’ad Djamalilleil http://kampusku.uni.me asad.kom@gmail.com Function (method) As’ad Djamalilleil http://kampusku.uni.me asad.kom@gmail.com
Syntax Function Function dikenal juga dengan istilah method Penulisan function di Java memiliki sintaks sebagai berikut: tipe namaFunc() { //definisi function [return ekspresi;] } -- atau --
tipe namaFunc([param1, param2, …]) { //definisi function [return ekspresi;] } Keterangan: tipe tipe data dari ekspresi/nilai yang akan dikembalikan ke pemanggil function. Apabila tidak ada yang dikembalikan, maka tipe diganti dengan keyword “void”
namaFunc nama dari function namaFunc nama dari function. Pemberian nama function mengikuti aturan pemberian nama (seperti pada nama variabel) return statement yang digunakan untuk mengembalikan sebuah ekspresi/nilai. Tipe data dari ekspresi harus sama dengan tipe dari function. Statement return tidak digunakan bila tipe function berupa void
param1, param2, … daftar parameter berupa variabel/objek yang akan menerima nilai dari pemanggil function. Penggunaan parameter bersifat opsional, boleh digunakan/tidak
Contoh penggunaan function (7.1) class Coba{ //function yg tidak mengembalikan nilai void salam(){ System.out.print("Assalamu alaikum"); } public static void main(String args[]){ Coba saja = new Coba(); saja.salam();
Program 7.2 class Coba{ //function yg mengembalikan nilai double kuadrat(float n){ double hasil; hasil = n * n; return hasil; } public static void main(String args[]){ Coba saja = new Coba(); float a = 5f; System.out.print(saja.kuadrat(a));
Parameter Passing Penggunaan function pada Java juga mendukung dua macam teknik parameter passing, yaitu passing by value dan passing by reference Teknik passing by reference secara otomatis diaplikasikan apabila parameternya berupa objek dan array
Contoh passing by reference menggunakan objek sebagai parameter (7.3) class Coba{ int A; } class Lagi{ void ubahNilai(Coba ji){ ji.A = 7; public static void main(String args[]){ Coba saja = new Coba(); saja.A = 3; Lagi pusing = new Lagi(); pusing.ubahNilai(saja); System.out.println(saja.A); //mencetak nilai 7
Pada contoh kode di atas terdapat dua buah class, yaitu class Coba dan Lagi Class Lagi memiliki sebuah function ubahNilai() dengan parameter berupa objek dari class Coba, yaitu “ji” Pada class Lagi dibuat objek “saja” dengan nilai property A adalah 3 Argumen (berupa objek dengan nama “saja”) yang dikirimkan ke dalam function ubahNilai() diterima oleh parameter “ji” dan diubah nilai property A menjadi bernilai 7, maka perubahan nilai tersebut akan direfleksikan juga pada objek “saja”
Function Over-loading Function over-loading adalah salah satu fitur di Java yang memungkinkan kita membuat lebih dari satu function dengan nama yang sama Untuk membedakan antara satu function dengan function lain yang namanya sama, maka harus memiliki perbedaan pada jumlah atau tipe parameter
Contoh function over-loading (7.4) class Coba{ double isi(float panjang){ //volume kubus return panjang * panjang * panjang; } double isi(float tinggi, float jari){ //volume tabung return 3.14f * jari * jari * tinggi; public static void main(String args[]){ Coba saja = new Coba(); //hitung vol kubus System.out.println(saja.isi(5)); //hitung vol tabung System.out.println(saja.isi(5,3));
Pada contoh kode di atas, pemanggil function isi yang pertama akan memanggil function untuk menghitung volume kubus dikarenakan argumen yang dikirimkan hanya satu, cocok dengan jumlah parameter function isi tersebut Sedangkan pemanggil function kedua akan memanggil function untuk menghitung volume tabung karena jumlah argumen sama dengan jumlah parameter dari function tersebut