Sabtu, 10 November 2012

Public,Private,Protected pada java


Public, Private, Protected… Apa Sich Maksudnya..!!
Yang perlu anda ketehui, Di dalam java terdapat tiga akses yaitu,private,protected,dan public tentunya tingkat akses tersebut mempunyai fungsi dan kegunaan masing-masing.

Untuk ngebedainnya tak jelasin dari koding langsung aja yach. Penjelasan pertama kalo gak ada private, ato public, ato protected, pada bahasan ini aku sebut aja Default Package. Biasanya kalo default package itu bisa diakses di kelas yang sama ama di kelas yang satu package ama class yang mau diakses. Kalo private cuma bisa diakses oleh kelasnya sendiri. Kalo public bisa diakses oleh semua kelas. Trus kalo protected bisa diakses ama kelas sendiri ama kelas yang di package yang beda asalkan itu subclassnya. Lebih enaknya sih kalo pake contoh kode langsung. Nih kodenya.

1.Tingkat akses Private

Dengan menggukanan data dan method dengan tingkat akses private,maka data dan method tersebut hanya dapat di akses oleh kelas yang di milikinya saja. 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).


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


2.Tingkat akses Protected

Suatu data atau method yang di deklarasi kan dengan tingkat akses protected dapat di akses oleh kelas yang di milikinya saja dan juga kelas-kelas yang masih memiliki keturunan. 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.


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

3.Tingkat akses Public

Tingkatan public merupakan kebalikan dari tingkat akses private.data maupun method dapat di akses oleh semua bagian di dalam program. 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


Keyword Public
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

Tapi,…saya pun mencoba buat contoh program lain yang berbeda dengan yang di atas yang berkaitan pula dengan private, public, protected,...........
nie codingnya:

package mahasiswa;
/**
*
* @author Rudiansyah Hadi Putra
*/
public class Mahasiswa {
private String nama;
private String npm;
private String fakultas;
/**
* @param args the command line arguments
*/
public void setNama(String nama) {
this.nama=nama;
}
public void setNim(String npm){
this.npm=npm;
}
public void setJurusan(String jurusan){
this.fakultas=fakultas;
}
public String getFakultas(){
return fakultas;
}
public void tampilkan(){
System.out.println(“Nama :”+nama+”\n”);
System.out.println(“Npm :”+npm+”\n”);
}
public static void main (String [] args){
Mahasiswa siswa = new Mahasiswa();
siswa.setNama(“Rudi”);
siswa.setNpm(“26111483″);
siswa.setFakultas(“ilmu komputer”);
siswa.tampilkan();
System.out.println(“fakultas :”+siswa.getFakultas());
}
}
Nich hasil outputnya: 



Nama: Rudiansyah Hadi Putra
Kelas:2KB01
NPM: 26111483
Mata Kuliah: AP3
Dosen: Ary Bima Kurniawan.




2 komentar:

  1. hei kawan, karena kita ini mahasiswa gundar, tolong ya blognya di kasih link UG di blog kamu yang berupa widget, seperti
    - www.gunadarma.ac.id
    - www.studentsite.gunadarma.ac.id dan lain lain
    karna link link tersebut mempengaruhui kriteria penilaian mata kuliah soft skill

    Selain itu, Yuk kita ikut lomba 10 kategori lomba khusus bagi mahasiswa Universitas Gunadarma. Edisi
    Desember2012 ini diperuntukan bagi mahasiswa S1 dan D3. Tersedia 100 pemenang, atau 10 pemenang
    untuk setiap kategori. link
    http://studentsite.gunadarma.ac.id/news/news.php?stateid=shownews&idn=755

    oh iya, kalian nggak mau ketinggalan kan untuk update terhadap berita studentsite dan baak , maka dari itu, yuk pasang RSS di Studentsite kalian.. untuk info lebih lanjut bagaimana cara memasang RSS , silahkan kunjungi link ini
    http://hanum.staff.gunadarma.ac.id/Downloads/folder/0.5

    makasi :)

    BalasHapus