Jumat, 16 November 2012

Method dan Modifier pada Java


Method.

Pada bahasa – bahasa pemograman yang lain method disebut juga fuction atau procedure. Dalam pemograman berorientasi object method adalah suatu operasi atau kegiatan yang dapat dilakukan suatu object. Misalnya Manusia memiliki kegiatan seperti makan, tidur, minum dan lain – lain. Kegiatan – kegiatan inilah yang disebut method.

Ada dua bagian utama dalam definisi method, yaitu deklarasi method dan body method.
Deklarasi method mendefinisikan semua atribut method, seperti level akses, tipe kembalian (jika ada), dan argumen-argumen (jika ada).

Method main
method main merupakan method khusus yang berperan sebagai entry point pada aplikasi. Setiap kelas disuatu Aplikasi boleh memiliki method main, namun hanya satu yang ditetapkan untuk dieksekusi saat aplikasi dijalankan.

public static void main(String args[]){
//isi method main
}

method main harus didefinisikan sebagai public, static, tidak mengembalikan suatu nilai(void), dan memiliki argumen berupa array string. Apabila interpreter tidak menemukan method main di suatu aplikasi, akan muncul pesan kesalahan yang diakibatkan tidak adanya entry point.

Contoh Program :

Public class Contoh{
static{
System.out.println("Java ");
System.exit(0);
}
}


Modifier

Dalam bahasa pemograman terdapat 4 modifier. Modifier ini berguna untuk melakukan enkapsulisasi(membungkus data) pada objek. Dengan menggunakan modifier, kita dapat menentukkan siapa saja yang dapat menggunakan atau mengakses objek tersebut. Modifier ini digunakan untuk hak akses user pada class, method, atau variabel. Modifier tersebut antara lain :
1.     Default
Modifier default menspesifikasikan kelas-kelas sepaket yang mengakses. Tidak ada keyword khusus untuk mendeklarasikan default modifier, bila tidak ada  modifier pada deklarasi class, method atau variabel berarti modifier yang digunakan adalah default modifier.
Contoh:
class Mahasiswa {
String nama;

String kata() {
    return “JAVA”;
  }
}

2.     Public
Pada modifier public ini bersifat umum, yaitu class, method, atau variable dapat dipanggil oleh semua kelas. Baik dari satu paket yang sama atau berlainan paket. Public juga akan memperbolehkan akses terhadap semua kelas yang diinstan dari kelas tersebut.
Contoh:
class Mahasiswa {
public String nama;

public String kata() {
    return “JAVA”;
  }
}

3.     Private.
Modifier private ini menunjukkan bahwa suatu class, method atau variabel hanya dapat diakses dari dalam kelas tersebut. modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna untuk kelas yang lain).
Contoh:
class Mahasiswa {
private String nama;

private String kata() {
    return “JAVA”;
  }
}

4.     Protected.
Modifier protected ini digunakan kalau suatu class, method atau variabel ingin digunakan hanya oleh kelas-kelas yang satu paket dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang satu paket atau lain paket.
Contoh:
class Mahasiswa {
protected String nama;

protected String kata() {
    return “JAVA”;
  }
}

Final Modifier
Modifier final berarti konstan / tetap dan tidak dapat dimodifikasi (diubah). Variabel final harus diinisialisasi saat dideklarasikan. Apabila diterapkan pada metode berarti metode tidak dapat ditimpa. Metode yang diberi modifier finaltidak dapat lagi diperluas dan ditimpa (override) di subkelas-subkelasnya. Modifier final berarti anggota kelas itu versi akhir (final version).
Variabel final serupa dengan variabel const di C++. Variabel ini harus selalu telah diinisialisasi saat deklarasi dan selanjutnya nilainya tidak dapat diubah.

Static Modifier
Modifier static berarti variabel diasosiasikan dengan kelas dan dipakai bersama objek-objek kelas itu. Variabel staticdisebut variabel kelas (class variable). Kita memanggilnya pada kelas bukan pada satu objek.
Serupa dengan data statis, kita juga membuat metode yang hanya bertindak pada kelas, jadi hanya dapat mengaksesvariabel static saja bukan data instan tertentu. Kita mendeklarasikan dengan memberi modifier static.
Terdapat kebutuhan variabel atau metode yang common (dipakai bersama) untuk semua objek tertentu. Modifier static menspesifikasikan bahwa variabel atau metode sama untuk semua objek kelas itu. Metode atau variabel yang memiliki modifier static adalah milik kelas. Metode static hanya dapat mengakses variabel statis. Metode nonstatis dapat mengakses variabel instan dan variabel static . Metode kelas (class method, yaitu dengan modifier statis) hanya diizinkan mengakses variabel static Metode static adalah final.
Metode static yang public yang dapat diakses tanpa perlu menciptakan instan kelas. Metode System.out.println ()adalah static, sehingga dapat dipanggil tanpa diinisialisasi objek System. Variabel out adalah anggota static kelasSystem, akibatnya untuk mengaksesnya kita tidak perlu melakukan inisialisasi objek out

Abstract Modifier
Modifier abstract berarti mengidentifikasi metode yang tidak dapat dijalankan dan harus didefinisikan subkelas tidak abstrak dari kelas yang dideklarasikan. Metode abstract tidak mempunyai badan metode, jadi langsung diakhiri dengan titik koma (;)

Synchronized Modifier
Modifier synchronized berarti metode harus memperoleh look di satu objek atau kelas sebelum dapat dieksekusi.Modifier synchronized untuk menspesifikasikan bahwa metode adalah thread safe. Ini berarti hanya satu jalur eksekusi yang diizinkan di metode synchronized pada satu waktu. Pada lingkungan multithread seperti Java, dimungkinkan lebih dari satu jalur eksekusi berjalan di kode yang sama. Modifier synchronized mengubah aturan ini dengan hanya mengizinkan satu pengaksesan thread tunggal pada satu saat, memaksa thread-thread lain menunggu giliran.

Native Modifier
Modifier native berarti metode ditulis di bahasa selain bahasa Java. Seperti pada metode abstract, badan metode diganti atau diakhiri dengan titik koma (;).
Modifier native untuk menspesifikasikan metode dengan implementasi di bahasa lain. Modifier native menginformasikan ke kompilator Java bahwa implementasi metode di file C/C++ eksternal. Hal ini menjadi alasan kenapa deklarasi metodenative terlihat berbeda dari pada metode-metode lain   , yaitu tanpa badan metode.

Storage Modifier
·    transient
Modifier transient mengacu ke objek dan nilai primitif di Java virtual machine. Modifier ini untuk menyatakan bahwavariabel tidak menjadi sasaran serialisasi.
·    volatile
Modifier volatile mengacu ke objek dan nilai primitif yang dapat dimodifikasikan secara asinkron. Variabel-variabel ini diperlakukan secara spesial oleh kompilator untuk mengendalikan cara variabel-variabel itu diperbarui.

Berikut merupakan contoh program :


 dan outputnya adalah :

Pembuktian pengaksesan modifier.
1. Public

Pada saat menggunakan modifier public, kita dapat melakukan pengaksesan secara bebas tanpa khawatir program tidak dapat jalan, misalnya pada contoh program diatas. 

2. Private
maka pada saat kita me-run program ini. outputnya yang keluar adalah :
pada saat kita menggunakan modifier private, kelas lain tidak dapat mengakses kelas tersebut.

3. Protected
pada modifier protected ini, kelas lain juga tidak dapat melakukan pengaksesan, kecuali kelas turunan dari kelas coba ini.





Tidak ada komentar:

Posting Komentar