Sunday, November 11, 2012

Method, Public, Private dan Protected


Huy guys ane mau share tugas nih tentang Method pada java, trus Public, Private sama Protectednya....
ndak udah nunggu panjang lebar dngerin Celoteh kita langsung sikat ajah yukk hehhehe :


Method
Method atau fungsi dalam java adalah suatu cara untuk memecah program menjadi beberapa bagian, sehingga ketika mengerjakan program tersebut bisa dilakukan pembagian tugas kepada beberapa orang. Ketika kita sudah mendevelop program dalam sekala besar maka kita perlu menggunakan yang namanya method. Untuk lebih jelasnya perhatikan program dibawah ini :













tersebut merupakan method berguna untuk mencetak string "Method Print Sukses Dipanggil!!!" tersebut. Dimana method tersebut dipanggil pada bagian Print();
Keyword static disini diperlukan karena method tersebut berada di main class yang juga bersifat static sehingga method method menyertainya juga harus bersifat static.
Keyword void merupakan salah satu indikasi bahwa method ini tidak mereturn/mengembalikan nilai apapun, Method diatas adalah salah satu method yang tidak menerima passing variable apapun dan juga tidak memberikan return variable apapun, untuk contoh method yang menerima passing variable tertentu perhatikan contoh dibawah ini:

Dari contoh diatas dapat kita ketahui bahwa method Maksimum membutuhkan dua variable integer untuk dipassingkan, dan dari dua variable integer yang dipassingkan tersebut akan dicetak variable mana yang lebih besar. Selain itu ada juga method yang memiliki nilai kembalian, atau return value, sebagai contoh perhatikan program untuk mencari nilai kuadrat bilangan integer dibawah ini dibawah ini :


Untuk membuat method yang memiliki nilai kembalian/return value, maka kita harus menghilangkan keyword void pada method yang kita buat dan menggantikannya dengan jenis variable kembalian kita, dimana dalam contoh tersebut nilai kembalian / return value berupa integer. Pengenalan Teknik Rekursif Selain itu dalam suatu method kita dapat memanggil method yang lainnya, atau bahkan memanggil method itu sendiri, peristiwa pemanggilan method oleh dirinya sendiri inilah yang disebut rekursif. Contoh sederhana dari rekursif adalah faktorial (!). Untuk lebih jelasnya perhatikan contoh dibawah ini:


Dari contoh diatas dapat kita lihat bahwa sebenarnya faktorial dari bilangan n, merupakan faktorial bilangan n-1 dikali dengan n, dan begitu seterusnya hingga n=1. Ketika n=1 maka ada kasus spesial yaitu 1!=1. Untuk implementasinya pada java, perhatikan program dibawah ini :

return n * Faktorial(n - 1); merupakan rekursif case, yaitu bagian yang membuat program tersebut loopping atau melakukan perulangan secara rekursif, dan bagian return 1; adalah base case, yaitu bagian yang membuat perulangan rekursif tadi berhenti. Seperti halnya perulangan biasa, jika tidak ada base case maka method rekursif ini akan mengalami infinite loop yang akan menghabiskan memori.



Lanjut Kita Bahas Mengenai Public, Private dan Protected... guys :’D
Jadi begini nih, dalam Bahasa Pemrograman Java menangani class, method atau variabel mempunyai 3 modifier, modifier ini digunakan untuk menentukan hak akses atas class, method atau variabel tersebut.
Tiga modifier tersebut adalah public, private, protected.
Capcus kita bahas satu persatu yupz ....!!!

Public
Modifier public akan membuat class, method, variabel yang menggunakanya bersifat umum, alias 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. Coba kita lihat dan mencoba lansung pake Code yaa,,

package satu;
public class publicClass{
public static int kuadrat(int bilangan){
return bilangan*bilangan;
}
}
class pengakses{
public static void main (String[] args) {
publicClass a=new publicClass();
System.out.println (“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dijalankan, outputnya adalah
Hasil dari 9 kuadrat adalah 81
package dua;
import satu.publicClass;
public class pengakses1 extends satu.publicClass{
static publicClass a=new publicClass();
public static void main (String[] args) {
System.out.println (“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dijalankan, outputnya adalah
Hasil dari 9 kuadrat adalah 81
package dua;
import satu.publicClass;
public class pengakses2 {
static publicClass a=new publicClass();
public static void main (String[] args) {
System.out.println (“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}

Begitu dijalankan, outputnya adalah
Hasil dari 9 kuadrat adalah 81

private
Modifier private, 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).
Misalkita langsung cobain pake codenya yaitu
Keyword Private

Ini adalah file privateClass.java
package satu;
public class privateClass{
private static int kuadrat(int bilangan){
return bilangan*bilangan;
}
}
class pengakses{
public static void main (String[] args) {
privateClass a=new privateClass();
System.out.println (“Hasil 3 kuadrat = “+a.kuadrat(3));
}
}

Begitu dicompile, maka akan keluar pesan kesalahan:
kuadrat(int) has private access in satu.privateClass
Ini adalah file pengakses1 yang terletak di package yang berbeda tetapi merupakan subclass atau anak kelas dari privateClass.
package dua;
import satu.privateClass;
public class pengakses1 extends satu.privateClass{
static privateClass a=new privateClass();
public static void main (String[] args) {
System.out.println (“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dicompile, akan keluar kode kesalahan:
kuadrat(int) has private access in satu.privateClass
Ini adalah file pengakses2 yang terletak pada package yang berbeda tapi bukan termasuk anak kelas dari privateClass.
package dua;
import satu.privateClass;
public class pengakses2 {
static privateClass a=new privateClass();
public static void main (String[] args) {
System.out.println (a.kuadrat(9)); //kuadrat(int) has protected access in satu.privateClass
}
}
Begitu dicompile, akan keluar pesan kesalahan:
kuadrat(int) has private access in satu.privateClass

protected
Modifier protected, 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.
Yang default bagaimana?
class, method atau variable yang tidak dibumbui dengan salah satu modifier diatas, oleh java dianggap menggunakan modifier default.  hal ini membuat class, method atau variabel tersebut tidak dapat diakses oleh kelas lain dari luar paket kelas tersebut. Mari kita lihat dan cobain code Protectednya yuk,,,
Keyword Protected

Ini adalah isi file protectedClass.java
package satu;
public class protectedClass{
protected static int kuadrat(int bilangan){
return bilangan*bilangan;
}
}
class pengakses{
public static void main (String[] args) {
protectedClass a=new protectedClass();
System.out.println (“Hasil 3 kuadrat = “+a.kuadrat(3));
}
}
Output dari program di atas adalah:
Hasil dari 9 kuadrat adalah 81
Ini adalah isi file pengakses1 yang terletak pada package yang berbeda tetapi merupakah subclass dari class protectedClass. Pada proses compile tidak akan terjadi proses kesalahan.
package dua;
import satu.protectedClass;
public class pengakses1 extends satu.protectedClass{
static protectedClass a=new protectedClass();
public static void main (String[] args) {
System.out.println (“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}

Output dari program di atas adalah:
Hasil dari 9 kuadrat adalah 81
Di bawah ini adalah isi file pengakses2 yang terletak pada package yang berbeda dan bukan subclass dari class protectedClass.
package dua;
import satu.protectedClass;
public class pengakses2 {
static protectedClass a=new protectedClass();
public static void main (String[] args) {
System.out.println (a.kuadrat(9)); //error
}
}
Jika program dicompile, maka akan muncul pesan kesalahan:
Kuadrat (int) has protected access in satu.protectedClass

Gimana guys Sekrang sudah ngak galau lagi kan karena agak sedikit dapat pencerahan  tentang bahasan Method, public ,private dan protectednya,, semoga bermanfaat yaa :D 

No comments:

Post a Comment