PERTEMUAN10 METHOD Recent site activity Chaky_182 PERTEMUAN10 METHOD
Method java
FEMI DWI ASTUTI
Method
merupakan bagian code yang dapat dipanggil
oleh program utama atau method lain untuk
melakukan suatu fungsi tertentu.
Beberapa ciri method:
Dapat me-return value atau tidak sama sekali.
Setelah method telah selesai dieksekusi, proses
kembali kepada method yang memanggilnya.
Program java yang sudah dibuat sebelumnya
sebenarnya juga sudah berisi sebuah method
yaitu main().
Method main adalah sebuah method dalam
java yang namanya harus sama. Method main
digunakan pada saat program dijalankan
untuk memanggil perintah-perintah java atau
method yang lain. Tanpa main, program
dijalankan tidak akan menghasilkan apa-apa.
Format method secara umum
tipe_return-value nama_method(parameter1,
parameter2, …, parameterN)
{
deklarasi dan pernyataan;
}
Elemen yang diperlukan dari deklarasi method
adalah tipe kembalian method, nama, kurung
buka dan tutup ( ) dan isi method yang diawali
dan diakhiri dengan kurung kurawal buka dan
tutup { }.
deklarasi method mempunyai 6
komponen
1. Modifier - seperti public, private, dan yang
lain yang akan kita pelajari kemudian.
2. Tipe kembalian (return type)—tipe data dari
nilai yang dikembalikan oleh method, atau
void jika method tidak mempunyai nilai
kembalian.
3. Nama method—aturan untuk penamaan
field diterapkan untuk nama method tetapi
kesepakatannya adalah sedikit berbeda.
Deklarasi method mempunyai 6
komponen
4. Daftar parameter – pemisah antar parameter
input adalah koma, diawali oleh tipe datanya,
yang diletakkan diantara tkita kurung ( …daftar
parameter…. ). Jika tidak ada parameter, harus
menggunakan kurung buka tutup saja ( ).
5. Daftar exception—tidak akan masuk dalam
pembahasan di sini
6. Isi method, diletakkan di antara tkita kurung
kurawal buka dan tutup { }—kode-kode
method, termasuk deklarasi variabel lokal ada
di sini.
Penamaan method
Meskipun penamaan method bisa saja
merupakan identifier yang benar, kesepakatan
pemberian nama method tetap membatasi.
Secara kesepakatan, nama method harus sebuah
kata kerja dalam huruf kecil atau beberapa kata
yang dimulai dengan kata kerja huruf kecil,
diikuti dengan kata sifat, benda, dan lain-lain.
Dalam penamaan beberapa kata huruf pertama
dari kata berikutnya harus huruf besar.
Contoh penamaan
Lari
lariCepat
getLatarBelakang
getDataAkhir
bandingkanDengan
setX
isKosong
Method
Dalam pemanggilan method / fungsi anggota
kelas, ada beberapa fasilitas yang
disediakan :
1.pemanggilan method / fungsi tanpa
menyertakan parameter / argument
2.pemanggilan method / fungsi dengan
menyertakan parameter / argument
3.pemanggilan method / fungsi dengan
menghasilkan nilai balik (return)
Method tanpa parameter
Contoh:
1. public class Fungsi1{
2.
3.
public static void garis(){
4.
System.out.println("================");
5.
}
6.
7.
public static void main(String args[]){
8.
9.
10.}
garis();
}
Method diatas bersifat static dan bertipe void. Method
yang bersifat static bisa langsung dipanggil dengan nama
methodnya saja.Sebuah method juga bisa dipanggil lebih
dari satu kali.
1. public class Fungsi2{
2.
public static void kalimat(){
3.
System.out.println("Di dalam method kalimat");
4.
}
5.
6.
public static void main(String args[]){
7.
kalimat();
8.
System.out.println("Di dalam main");
9.
kalimat();
10.
}
11.}
output
Di dalam method kalimat
Di dalam main
Di dalam method kalimat
Method juga bisa dituliskan di bawah method utama
1. public class Fungsi2{
2.
public static void main(String args[]){
3.
kalimat();
4.
System.out.println("Di dalam main");
5.
kalimat();
6.
}
7.
8.
public static void kalimat(){
9.
System.out.println("Di dalam method kalimat");
10.
}
11.}
Hasilnya sama seperti contoh sebelumnya
Method dengan tipe
Method juga bisa mempunyai tipe. Tipe dari method sama dengan
tipe yang digunakan untuk sebuah variabel.
1.public class Fungsi3{
2.
public static int jumlah(){
3.
int a = 8, b = 10;
4.
return (a + b);
5.
}
6.
7.
public static void main(String args[]){
8.
System.out.println("Hasil pemanggilan method
jumlah");
9.
10.
11.}
System.out.println(jumlah());
}
PEMANGGILAN METHOD
DENGAN MENCIPTAKAN OBYEK
CLASS
Penggunaan sifat static pada method
menyebabkan method tidak perlu dipanggil
dengan penciptaan obyeknya. Method main
dideklarasikan static agar pada saat
penggunaan tidak perlu menciptakan obyeknya.
Sebagian method tidak dideklarasikan static.
Method yang demikian, bisa dipanggil dengan
cara menciptakan obyek class dari method
tersebut
contoh
public class Fungsi3a{
public int jumlah(){
int a = 8, b = 10;
return (a + b);
}
public static void main(String args[]){
Fungsi3a obyek = new Fungsi3a();
System.out.println("Hasil pemanggilan
method jumlah");
9.
System.out.println(obyek.jumlah());
10.
}
11. }
1.
2.
3.
4.
5.
6.
7.
8.
Method dengan parameter
Dalam contoh terakhir, dua buah bilangan
dan penjumlahannya terletak pada method
jumlah. Sehingga untuk pemanggilan yang
lain, hasilnya tetap sama. Jika diinginkan
untuk difungsikan sebagai method penjumlah
dua bilangan, tetapi bilangannya selalu
berbeda, maka digunakan parameter.
contoh
public class Fungsi4{
public int jumlah(int a){
return (a + a);
}
public static void main(String args[]){
Fungsi4 obyek = new Fungsi4();
System.out.println("Panggil method jumlah dengan
parameter 5");
8. System.out.println(obyek.jumlah(5));
9. System.out.println("Panggil method jumlah dengan
parameter 13");
10. System.out.println(obyek.jumlah(13));
11. }
12. }
1.
2.
3.
4.
5.
6.
7.
KETERANGAN
Parameter pada baris ke 2, disebut sebagai
parameter formal.
Parameter formal adalah parameter yang
tertulis dalam definisi method.
Sedangkan parameter pada baris ke 8 dan 10
disebut sebagai parameter aktual.
Parameter aktual adalah parameter yang
berada pada inputan langsung pada saat
penggunaan method tersebut.
Nilai parameter aktual dapat berupa variabel
maupun langsung berupa nilai yang bertipe sama
dengan parameter formal.
CATATAN
Parameter bisa lebih dari satu dengan
dipisahkan tanda koma.
Yang perlu diperhatikan pada saat
pemanggilan method adalah jumlah, urutan
dan tipe parameter aktual harus sesuai
dengan jumlah, urutan dan tipe parameter
formal.
CONTOH
public class Fungsi5{
public float jumlah(int a, float b){
return (a + b);
}
public static void main(String args[]){
Fungsi5 obyek = new Fungsi5();
System.out.println("Panggil method jumlah dengan
parameter 5 dan 5.5");
8.
System.out.println(obyek.jumlah(5, 5.5f));
9.
System.out.println("Panggil method jumlah dengan
parameter 13 dan 1.3");
10.
System.out.println(obyek.jumlah(13, 1.3f));
11.
}
12. }
1.
2.
3.
4.
5.
6.
7.
OUTPUT
Panggil method jumlah dengan parameter 5
dan 5.5
10.5
Panggil method jumlah dengan parameter 13
dan 1.3
14.3
Method tanpa parameter
class organisasiku
{
private
String nama;
int
umur;
public void ngisi_data(String NAMA, int UMUR)
{ if (UMUR >= 17)
{ nama = NAMA;
umur = UMUR;
}
}
Method tanpa parameter
void cetak_data ( )
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
organisasiku obyek1 = new organisasiku();
obyek1.ngisi_data ("AgungBP",19);
obyek1.cetak_data();
}
}
Method dengan parameter
class organisasiku
{
private
String nama;
int
umur;
public void ngisi_data( String NAMA, int UMUR
)
{ if (UMUR >= 17)
{ nama = NAMA;
umur = UMUR;
}
}
Method dengan parameter
void cetak_data ( )
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
organisasiku obyek1 = new organisasiku();
obyek1.ngisi_data ( "AgungBP",19 );
obyek1.cetak_data();
}
}
Method dengan nilai balik
class organisasiku
{
private
String nama;
int
umur;
public String ngisi_data(String NAMA, int UMUR)
{ String pesan="";
if (UMUR >=17)
{
nama = NAMA;
umur = UMUR;
pesan = "Anda telah diterima";
}
return ( pesan );
}
Method dengan nilai balik
void cetak_data ()
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
String TangkapPesan;
organisasiku obyek1 = new organisasiku();
TangkapPesan = obyek1.ngisi_data("AgungBP",19);
System.out.println(TangkapPesan);
}
}
Catatan
dalam java, perintah return harus ditulis
pada kurung { } yang paling luar
dalam java tidak diperkenankan pembuatan
variabel yang memungkinkan terjadinya
‘blank value’ (apalagi variabel yang akan
digunakan sebagai return value) sehingga
variabel harus langsung diberi harga awalnya
misalnya 0 atau “ ”.
Contoh function
java
//function tanpa nilai balikan
void sayHello(String nama){
System.out.println(nama);
}
//function dengan nilai balikan
int hitungLuas(int panjang,int lebar){
int hasil = panjang * lebar;
return hasil;
}
Baca analogi ini baik - baik :
Ibu membuang sampah. Ibu hanya berpikir pekerjaannya
sudah selesai tanpa ada tindak lanjut atas sampah maupun
tong sampah. disini tong sampah adalah tempat akhir dari
proses membuang sampah, sehingga tidak diperlukan
pengawasan/pemrosesan lanjutan.
Ibu meminta bibi untuk membeli minyak goreng di warung
terdekat karena ibu ingin menggoreng ikan. Disini ibu
membutuhkan minyak goreng sebagai bahan
pemrosesan lanjutan, yang tanpa minyak goreng tersebut
ibu tidak akan bisa menghasilkan ikan goren yang lezat.
Jika anda perhatikan maka akan ada 2 hal yang jelas tertera
di analogi tersebut, yaitu : fungsi yang tidak dibutuhkan
untuk proses lanjutan atau tidak memberikan nilai
balikan, dan fungsi yang dibutuhkan untuk pemrosesan
lanjutan atau memberikan nilai balikan.
Mengapa menggunakan function?
Method/function diperlukan apabila kita memerlukan
sesuatu secara berulang - ulang.
contoh : awalnya boss mengerjakan semua hal, lalu
kerjaan boss menjadi banyak dan memakan waktu dan
perhatian, kemudian boss mempunyai anak buah yang
pertama sekretaris, lalu administrasi umum, lalu office
boy agar boss bisa fokus dengan kerjaan utama
sementara office boy membuat kopi untuk boss.
Jelaskah analogi ini ?
Awal : Bos -> mengerjakan semua hal
Next : Bos -> fokus kerjaan utama
sekretaris -> surat menyurat dan jadwal
admin umum -> pembelian dan lain2
office boy -> bersih - bersih kantor
contoh
public double luasLingkaran(int jari)
{
double luas = pi*(jari*jari);
return luas;
}
keterangan
public -> method ini dapat dipanggil dari luar. misal
main = new Main();
System.out.println(main.luasLingkaran(10));
double -> method ini akan menghasilkan data
bertype double.
jika ingin mengubah menjadi tidak menghasilkan
apapun gunakan void
return -> kembalikan. ini karena method
mempunyai deklarasi typedata double. sehingga
java akan memaksa pengembalian bertypedata
double. dengan begitu return disini
tergantung dari typedata yang didefinisikan diawal.
Untuk typedata void, berarti tidak ada return.
contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Mahasiswa {
int usia;
String nama;
void setNilai(String namaMhs, int usiaMhs) {
nama = namaMhs;
usia = usiaMhs;
}
String cetakData() {
return "Nama : " + nama + " Usia : " + usia; }
}
class AksesClass {
public static void main(String[] args) {
Mahasiswa mhs = new Mahasiswa();
mhs.setNilai("aku", 23);
System.out.println(mhs.cetakData());
}
}
penjelasan
Di dalam class Mahasiswa kita mendeklarasikan
method setNilai yang memiliki dua parameter
untuk mengisikan nilai property nama dan usia.
Di dalam class Mahasiswa kita juga
mendeklarasikan sebuah method yang bernama
cetakData untuk menampilkan nilai dari property
nama dan usia, karena bertipe data String yang
mengembalikan nilai maka kita harus
menggunakan kata kunci return.
Lalu selanjutnya di dalam class AksesClass kita
membuat instance atau objek dari class
Mahasiswa. Selanjutnya kita mengisikan metode
setNilai dengan tipe data String dan integer.
Melewatkan Argumen Tipe Data
Primitif
Argumen primitive, seperti int atau double,
dimasukkan ke dalam method dalam bentuk
nilai.
Hal ini berarti bahwa setiap perubahan
terhadap nilai dari parameter ada hanya di
dalam ruang lingkup method tersebut.
Pada saat method dikembalikan, parameterparameter tersebut dihilangkan dan setiap
perubahan terhadapnya hilang.
CONTOH
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class PassPrimitiveByValue {
public static void main(String[] args) {
int x = 3;
//memanggil passMethod() dengan x sebagai argumen
passMethod(x);
// mencetak x untuk melihat jika nilainya berubah
System.out.println("Sesudah memanggil passMethod, x
= " + x);
}
// mengubah parameter dalam passMethod()
public static void passMethod(int p) {
p = 10;
}
}
Contoh
Output
10
10
Melewatkan argumen tipe data
reference
Parameter tipe data referensi seperti objects
juga dimasukkan ke dalam methods melalui
nilai (value).
Artinya adalah bahwa pada saat method
kembali ke program yang memanggilnya,
referensi yang dilewatkan akan tetap
mereferensi object yang sama seperti
sebelumnya.
Namun nilai dari field object bisa diubah
didalam method bila mereka mempunyai
tingkat akses yang sesuai.
Contoh
Output
10
11
12
50
51
52
contoh
public void pindahLingkaran(Lingkaran
lingkaran, int deltaX, int deltaY)
{
// kode untuk memindahkan nilai awal
lingkaran ke x+deltaX, y+deltaY
lingkaran.setX(lingkaran.getX() + deltaX);
lingkaran.setY(lingkaran.getY() + deltaY);
//kode yang dituliskan ke sebuah referensi baru
ke lingkaran
lingkaran = new Lingkaran(0, 0);}
Method overloading
Overloading adalah suatu keadaan dimana
beberapa method memiliki nama yang sama
tetapi fungsionalitasnya berbeda.
Ciri Overloading :
Nama method harus sama.
Daftar parameter harus berbeda.
Return type boleh sama, boleh berbeda.
Contoh Method overloading
1. class Manusia {
2. String nama;
3. int usia;
4. void cetak(String namaManusia) { // method yang akan
di-overload
5.
nama = namaManusia;
6.
System.out.println(”Nama : “ + nama);
7. }
8. void cetak(int usiaManusia) { // overloading method
cetak
9.
usia = usiaManusia;
10. System.out.println(“Usia : “ + usiaManusia);
11. }
12.}
contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public double kuadrat(double b){
System.out.println("Di method bertipe double");
return (b * b);
}
public int kuadrat(int b){
System.out.println("Di method bertipe integer");
return (b * b);
}
public static void main(String args[]){
Fungsi6 obyek = new Fungsi6();
System.out.println("Panggil method kuadrat dengan parameter 5.5");
System.out.println(obyek.kuadrat(5.5));
System.out.println("Panggil method kuadrat dengan parameter 5");
System.out.println(obyek.kuadrat(5));
}
}
output
Panggil method kuadrat dengan parameter
5.5
Di method bertipe double
30.25
Panggil method kuadrat dengan parameter 5
Di method bertipe integer
25
catatan
Dalam program diatas, method kuadrat
dipanggil dengan parameter 5.5 (tipe double)
dan 5 (tipe integer) tidak mengalami
kesalahan. Hal ini disebabkan karena pada saat
pemanggilan method, program mencari
parameter yang sesuai dengan yang dibawa.
Sehingga method yang sesuai yang dijalankan
oleh compiler.
Dalam method overloading, return value boleh
sama. Jika return value sama, parameternya
harus berbeda.
FEMI DWI ASTUTI
Method
merupakan bagian code yang dapat dipanggil
oleh program utama atau method lain untuk
melakukan suatu fungsi tertentu.
Beberapa ciri method:
Dapat me-return value atau tidak sama sekali.
Setelah method telah selesai dieksekusi, proses
kembali kepada method yang memanggilnya.
Program java yang sudah dibuat sebelumnya
sebenarnya juga sudah berisi sebuah method
yaitu main().
Method main adalah sebuah method dalam
java yang namanya harus sama. Method main
digunakan pada saat program dijalankan
untuk memanggil perintah-perintah java atau
method yang lain. Tanpa main, program
dijalankan tidak akan menghasilkan apa-apa.
Format method secara umum
tipe_return-value nama_method(parameter1,
parameter2, …, parameterN)
{
deklarasi dan pernyataan;
}
Elemen yang diperlukan dari deklarasi method
adalah tipe kembalian method, nama, kurung
buka dan tutup ( ) dan isi method yang diawali
dan diakhiri dengan kurung kurawal buka dan
tutup { }.
deklarasi method mempunyai 6
komponen
1. Modifier - seperti public, private, dan yang
lain yang akan kita pelajari kemudian.
2. Tipe kembalian (return type)—tipe data dari
nilai yang dikembalikan oleh method, atau
void jika method tidak mempunyai nilai
kembalian.
3. Nama method—aturan untuk penamaan
field diterapkan untuk nama method tetapi
kesepakatannya adalah sedikit berbeda.
Deklarasi method mempunyai 6
komponen
4. Daftar parameter – pemisah antar parameter
input adalah koma, diawali oleh tipe datanya,
yang diletakkan diantara tkita kurung ( …daftar
parameter…. ). Jika tidak ada parameter, harus
menggunakan kurung buka tutup saja ( ).
5. Daftar exception—tidak akan masuk dalam
pembahasan di sini
6. Isi method, diletakkan di antara tkita kurung
kurawal buka dan tutup { }—kode-kode
method, termasuk deklarasi variabel lokal ada
di sini.
Penamaan method
Meskipun penamaan method bisa saja
merupakan identifier yang benar, kesepakatan
pemberian nama method tetap membatasi.
Secara kesepakatan, nama method harus sebuah
kata kerja dalam huruf kecil atau beberapa kata
yang dimulai dengan kata kerja huruf kecil,
diikuti dengan kata sifat, benda, dan lain-lain.
Dalam penamaan beberapa kata huruf pertama
dari kata berikutnya harus huruf besar.
Contoh penamaan
Lari
lariCepat
getLatarBelakang
getDataAkhir
bandingkanDengan
setX
isKosong
Method
Dalam pemanggilan method / fungsi anggota
kelas, ada beberapa fasilitas yang
disediakan :
1.pemanggilan method / fungsi tanpa
menyertakan parameter / argument
2.pemanggilan method / fungsi dengan
menyertakan parameter / argument
3.pemanggilan method / fungsi dengan
menghasilkan nilai balik (return)
Method tanpa parameter
Contoh:
1. public class Fungsi1{
2.
3.
public static void garis(){
4.
System.out.println("================");
5.
}
6.
7.
public static void main(String args[]){
8.
9.
10.}
garis();
}
Method diatas bersifat static dan bertipe void. Method
yang bersifat static bisa langsung dipanggil dengan nama
methodnya saja.Sebuah method juga bisa dipanggil lebih
dari satu kali.
1. public class Fungsi2{
2.
public static void kalimat(){
3.
System.out.println("Di dalam method kalimat");
4.
}
5.
6.
public static void main(String args[]){
7.
kalimat();
8.
System.out.println("Di dalam main");
9.
kalimat();
10.
}
11.}
output
Di dalam method kalimat
Di dalam main
Di dalam method kalimat
Method juga bisa dituliskan di bawah method utama
1. public class Fungsi2{
2.
public static void main(String args[]){
3.
kalimat();
4.
System.out.println("Di dalam main");
5.
kalimat();
6.
}
7.
8.
public static void kalimat(){
9.
System.out.println("Di dalam method kalimat");
10.
}
11.}
Hasilnya sama seperti contoh sebelumnya
Method dengan tipe
Method juga bisa mempunyai tipe. Tipe dari method sama dengan
tipe yang digunakan untuk sebuah variabel.
1.public class Fungsi3{
2.
public static int jumlah(){
3.
int a = 8, b = 10;
4.
return (a + b);
5.
}
6.
7.
public static void main(String args[]){
8.
System.out.println("Hasil pemanggilan method
jumlah");
9.
10.
11.}
System.out.println(jumlah());
}
PEMANGGILAN METHOD
DENGAN MENCIPTAKAN OBYEK
CLASS
Penggunaan sifat static pada method
menyebabkan method tidak perlu dipanggil
dengan penciptaan obyeknya. Method main
dideklarasikan static agar pada saat
penggunaan tidak perlu menciptakan obyeknya.
Sebagian method tidak dideklarasikan static.
Method yang demikian, bisa dipanggil dengan
cara menciptakan obyek class dari method
tersebut
contoh
public class Fungsi3a{
public int jumlah(){
int a = 8, b = 10;
return (a + b);
}
public static void main(String args[]){
Fungsi3a obyek = new Fungsi3a();
System.out.println("Hasil pemanggilan
method jumlah");
9.
System.out.println(obyek.jumlah());
10.
}
11. }
1.
2.
3.
4.
5.
6.
7.
8.
Method dengan parameter
Dalam contoh terakhir, dua buah bilangan
dan penjumlahannya terletak pada method
jumlah. Sehingga untuk pemanggilan yang
lain, hasilnya tetap sama. Jika diinginkan
untuk difungsikan sebagai method penjumlah
dua bilangan, tetapi bilangannya selalu
berbeda, maka digunakan parameter.
contoh
public class Fungsi4{
public int jumlah(int a){
return (a + a);
}
public static void main(String args[]){
Fungsi4 obyek = new Fungsi4();
System.out.println("Panggil method jumlah dengan
parameter 5");
8. System.out.println(obyek.jumlah(5));
9. System.out.println("Panggil method jumlah dengan
parameter 13");
10. System.out.println(obyek.jumlah(13));
11. }
12. }
1.
2.
3.
4.
5.
6.
7.
KETERANGAN
Parameter pada baris ke 2, disebut sebagai
parameter formal.
Parameter formal adalah parameter yang
tertulis dalam definisi method.
Sedangkan parameter pada baris ke 8 dan 10
disebut sebagai parameter aktual.
Parameter aktual adalah parameter yang
berada pada inputan langsung pada saat
penggunaan method tersebut.
Nilai parameter aktual dapat berupa variabel
maupun langsung berupa nilai yang bertipe sama
dengan parameter formal.
CATATAN
Parameter bisa lebih dari satu dengan
dipisahkan tanda koma.
Yang perlu diperhatikan pada saat
pemanggilan method adalah jumlah, urutan
dan tipe parameter aktual harus sesuai
dengan jumlah, urutan dan tipe parameter
formal.
CONTOH
public class Fungsi5{
public float jumlah(int a, float b){
return (a + b);
}
public static void main(String args[]){
Fungsi5 obyek = new Fungsi5();
System.out.println("Panggil method jumlah dengan
parameter 5 dan 5.5");
8.
System.out.println(obyek.jumlah(5, 5.5f));
9.
System.out.println("Panggil method jumlah dengan
parameter 13 dan 1.3");
10.
System.out.println(obyek.jumlah(13, 1.3f));
11.
}
12. }
1.
2.
3.
4.
5.
6.
7.
OUTPUT
Panggil method jumlah dengan parameter 5
dan 5.5
10.5
Panggil method jumlah dengan parameter 13
dan 1.3
14.3
Method tanpa parameter
class organisasiku
{
private
String nama;
int
umur;
public void ngisi_data(String NAMA, int UMUR)
{ if (UMUR >= 17)
{ nama = NAMA;
umur = UMUR;
}
}
Method tanpa parameter
void cetak_data ( )
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
organisasiku obyek1 = new organisasiku();
obyek1.ngisi_data ("AgungBP",19);
obyek1.cetak_data();
}
}
Method dengan parameter
class organisasiku
{
private
String nama;
int
umur;
public void ngisi_data( String NAMA, int UMUR
)
{ if (UMUR >= 17)
{ nama = NAMA;
umur = UMUR;
}
}
Method dengan parameter
void cetak_data ( )
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
organisasiku obyek1 = new organisasiku();
obyek1.ngisi_data ( "AgungBP",19 );
obyek1.cetak_data();
}
}
Method dengan nilai balik
class organisasiku
{
private
String nama;
int
umur;
public String ngisi_data(String NAMA, int UMUR)
{ String pesan="";
if (UMUR >=17)
{
nama = NAMA;
umur = UMUR;
pesan = "Anda telah diterima";
}
return ( pesan );
}
Method dengan nilai balik
void cetak_data ()
{ System.out.println("Nama : " + nama);
System.out.println("Umur : " + umur);
}
}
class ProgramUtama
{ public static void main(String[] args)
{
String TangkapPesan;
organisasiku obyek1 = new organisasiku();
TangkapPesan = obyek1.ngisi_data("AgungBP",19);
System.out.println(TangkapPesan);
}
}
Catatan
dalam java, perintah return harus ditulis
pada kurung { } yang paling luar
dalam java tidak diperkenankan pembuatan
variabel yang memungkinkan terjadinya
‘blank value’ (apalagi variabel yang akan
digunakan sebagai return value) sehingga
variabel harus langsung diberi harga awalnya
misalnya 0 atau “ ”.
Contoh function
java
//function tanpa nilai balikan
void sayHello(String nama){
System.out.println(nama);
}
//function dengan nilai balikan
int hitungLuas(int panjang,int lebar){
int hasil = panjang * lebar;
return hasil;
}
Baca analogi ini baik - baik :
Ibu membuang sampah. Ibu hanya berpikir pekerjaannya
sudah selesai tanpa ada tindak lanjut atas sampah maupun
tong sampah. disini tong sampah adalah tempat akhir dari
proses membuang sampah, sehingga tidak diperlukan
pengawasan/pemrosesan lanjutan.
Ibu meminta bibi untuk membeli minyak goreng di warung
terdekat karena ibu ingin menggoreng ikan. Disini ibu
membutuhkan minyak goreng sebagai bahan
pemrosesan lanjutan, yang tanpa minyak goreng tersebut
ibu tidak akan bisa menghasilkan ikan goren yang lezat.
Jika anda perhatikan maka akan ada 2 hal yang jelas tertera
di analogi tersebut, yaitu : fungsi yang tidak dibutuhkan
untuk proses lanjutan atau tidak memberikan nilai
balikan, dan fungsi yang dibutuhkan untuk pemrosesan
lanjutan atau memberikan nilai balikan.
Mengapa menggunakan function?
Method/function diperlukan apabila kita memerlukan
sesuatu secara berulang - ulang.
contoh : awalnya boss mengerjakan semua hal, lalu
kerjaan boss menjadi banyak dan memakan waktu dan
perhatian, kemudian boss mempunyai anak buah yang
pertama sekretaris, lalu administrasi umum, lalu office
boy agar boss bisa fokus dengan kerjaan utama
sementara office boy membuat kopi untuk boss.
Jelaskah analogi ini ?
Awal : Bos -> mengerjakan semua hal
Next : Bos -> fokus kerjaan utama
sekretaris -> surat menyurat dan jadwal
admin umum -> pembelian dan lain2
office boy -> bersih - bersih kantor
contoh
public double luasLingkaran(int jari)
{
double luas = pi*(jari*jari);
return luas;
}
keterangan
public -> method ini dapat dipanggil dari luar. misal
main = new Main();
System.out.println(main.luasLingkaran(10));
double -> method ini akan menghasilkan data
bertype double.
jika ingin mengubah menjadi tidak menghasilkan
apapun gunakan void
return -> kembalikan. ini karena method
mempunyai deklarasi typedata double. sehingga
java akan memaksa pengembalian bertypedata
double. dengan begitu return disini
tergantung dari typedata yang didefinisikan diawal.
Untuk typedata void, berarti tidak ada return.
contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Mahasiswa {
int usia;
String nama;
void setNilai(String namaMhs, int usiaMhs) {
nama = namaMhs;
usia = usiaMhs;
}
String cetakData() {
return "Nama : " + nama + " Usia : " + usia; }
}
class AksesClass {
public static void main(String[] args) {
Mahasiswa mhs = new Mahasiswa();
mhs.setNilai("aku", 23);
System.out.println(mhs.cetakData());
}
}
penjelasan
Di dalam class Mahasiswa kita mendeklarasikan
method setNilai yang memiliki dua parameter
untuk mengisikan nilai property nama dan usia.
Di dalam class Mahasiswa kita juga
mendeklarasikan sebuah method yang bernama
cetakData untuk menampilkan nilai dari property
nama dan usia, karena bertipe data String yang
mengembalikan nilai maka kita harus
menggunakan kata kunci return.
Lalu selanjutnya di dalam class AksesClass kita
membuat instance atau objek dari class
Mahasiswa. Selanjutnya kita mengisikan metode
setNilai dengan tipe data String dan integer.
Melewatkan Argumen Tipe Data
Primitif
Argumen primitive, seperti int atau double,
dimasukkan ke dalam method dalam bentuk
nilai.
Hal ini berarti bahwa setiap perubahan
terhadap nilai dari parameter ada hanya di
dalam ruang lingkup method tersebut.
Pada saat method dikembalikan, parameterparameter tersebut dihilangkan dan setiap
perubahan terhadapnya hilang.
CONTOH
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class PassPrimitiveByValue {
public static void main(String[] args) {
int x = 3;
//memanggil passMethod() dengan x sebagai argumen
passMethod(x);
// mencetak x untuk melihat jika nilainya berubah
System.out.println("Sesudah memanggil passMethod, x
= " + x);
}
// mengubah parameter dalam passMethod()
public static void passMethod(int p) {
p = 10;
}
}
Contoh
Output
10
10
Melewatkan argumen tipe data
reference
Parameter tipe data referensi seperti objects
juga dimasukkan ke dalam methods melalui
nilai (value).
Artinya adalah bahwa pada saat method
kembali ke program yang memanggilnya,
referensi yang dilewatkan akan tetap
mereferensi object yang sama seperti
sebelumnya.
Namun nilai dari field object bisa diubah
didalam method bila mereka mempunyai
tingkat akses yang sesuai.
Contoh
Output
10
11
12
50
51
52
contoh
public void pindahLingkaran(Lingkaran
lingkaran, int deltaX, int deltaY)
{
// kode untuk memindahkan nilai awal
lingkaran ke x+deltaX, y+deltaY
lingkaran.setX(lingkaran.getX() + deltaX);
lingkaran.setY(lingkaran.getY() + deltaY);
//kode yang dituliskan ke sebuah referensi baru
ke lingkaran
lingkaran = new Lingkaran(0, 0);}
Method overloading
Overloading adalah suatu keadaan dimana
beberapa method memiliki nama yang sama
tetapi fungsionalitasnya berbeda.
Ciri Overloading :
Nama method harus sama.
Daftar parameter harus berbeda.
Return type boleh sama, boleh berbeda.
Contoh Method overloading
1. class Manusia {
2. String nama;
3. int usia;
4. void cetak(String namaManusia) { // method yang akan
di-overload
5.
nama = namaManusia;
6.
System.out.println(”Nama : “ + nama);
7. }
8. void cetak(int usiaManusia) { // overloading method
cetak
9.
usia = usiaManusia;
10. System.out.println(“Usia : “ + usiaManusia);
11. }
12.}
contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public double kuadrat(double b){
System.out.println("Di method bertipe double");
return (b * b);
}
public int kuadrat(int b){
System.out.println("Di method bertipe integer");
return (b * b);
}
public static void main(String args[]){
Fungsi6 obyek = new Fungsi6();
System.out.println("Panggil method kuadrat dengan parameter 5.5");
System.out.println(obyek.kuadrat(5.5));
System.out.println("Panggil method kuadrat dengan parameter 5");
System.out.println(obyek.kuadrat(5));
}
}
output
Panggil method kuadrat dengan parameter
5.5
Di method bertipe double
30.25
Panggil method kuadrat dengan parameter 5
Di method bertipe integer
25
catatan
Dalam program diatas, method kuadrat
dipanggil dengan parameter 5.5 (tipe double)
dan 5 (tipe integer) tidak mengalami
kesalahan. Hal ini disebabkan karena pada saat
pemanggilan method, program mencari
parameter yang sesuai dengan yang dibawa.
Sehingga method yang sesuai yang dijalankan
oleh compiler.
Dalam method overloading, return value boleh
sama. Jika return value sama, parameternya
harus berbeda.