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 :
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 :
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