assalamualaikum sahabat cyber kembali lagi dengan mahasiswacyber dimana kali ini kita akan membahas tingkatan akses yang ada di bahasa pemrograman java oop disini kita akan menggunakan hak akses public private dan protected .
baik sahabat cyber sebelum kita mulai alangkah baiknya kita tahu dahulu apa itu public, private dan protected. ketiga hal ini disebut sebagai access modifier, apa fungsi acces modifier ? adalah untuk membatasi akses sebuah class, konstruktir, data, dan method ke class lain.
kemudian apa fungsi dari masing-masing access modifier tersebut dan bagaimana cara penggunaanya ? mari kita bahas.
baiklah sahabat cyber kali ini kita akan menggunakan compiler/text editor visual studio code untuk ngoding java :
1. PUBLIC
dari judulnya kita bisa melihat bahwa public artinya bisa diakses oleh siapa saja baik itu package yagng berbeda ,class yang berbeda semuanya dapat diakses bahkan ketika sesuatu diberikan class public yang tadinya private bisa menjadi public tapi dengan aturan tertentu , mari kita lihat contohnya berikut ini
disini kita membuat sebuah package bernama "bangun" dan didalamnya ada sebuah class bernama public1.java
disini kita deklarasikan variabel int nilai1,nilai2,alas,tinggi dengan public :
public int nilai1,nilai2;
public int alas,tinggi;
lalu kita membuat method dengan public juga untuk menghitung bangun datar seperti codingan diatas.
lalu kita akan menghubungkan public1 ini dengan sebuah class yang berada di package berbeda apakah bisa dihubungkan ? mari kita coba
disini kita membuat sebuah package bernama datar dan didalamnnya berisi sebuah class bernama public2.java
pertama kita akan mengimpor package nya dahulu dengan perintah
import bangun.public1;
artinya kita akan menginpor package bangun dan class public1
lalu kita akan import kotak dialog JOptionPane
import javax.swing.JOptionPane;
lalu kita hubungkan kedua package tersebut dengan
bangun.public1 pb = new public();
lalu kita coding dengan codingan diatas atau download source code disini........
kita telah menghubungkan 2 class di package yang berbeda dengan public dan akan menghasilkan output berikut ini :
2. private
sesuai dengan namanya private atau pribadi artinya hanya bisa diakses oleh pemiliknya sendiri sehingga yang diberikan access modifier private hanya bisa diakses oleh class itu sendiri ada beberapa aturan dan ketentuan khusus tentang private ini yaitu :
- Data dan method private hanya bisa diakses di dalam class yang memilikinya
- Class dan Interface tidak dapat dideklarasikan sebagai private
- Jika sebuah class memiliki konstruktor private maka kita tidak dapat membuat object dari class tersebut di luar class tersebut.
dari sini muncul sebuah pertanyaan ? apakah bisa kita menghubungkan 2 class didalam package yang sama? ternayata bisa sahabat cyber semuanya bagaimana caranya ? caranya adalah dengan menggunakan sebuah method sebagai jembatan kita yang diamana method tersebut kita beri hak akses public
mari kita coba
-pertama kita buat variabel private nya dahulu
private String nama;
private String nim,kelas;
private double nilai;
-lalu kita akan membuat private bisa diakses dengan menjadikannya method public dengan cara method dan kembalian dengan cara :
public void set_nim(String nim)
{
this.nim=nim;
}
public String get_nim()
{
return nim;
}
-lakukan seterusnya untuk semua variabel private
selanjutnya kita akan memanggil variabel tersebut di class berbeda dimana kita telah menjadikannya sebuah method dengan cara :
-pertama kita membuat scanner dahulu karena kita akan melakukan inputan
Scanner cetak = new Scanner(System.in);
-kita buat penghubung kedua class tersebut dahulu dengan cara
private pt=new private1();
-lalu kita akan memanggil variabel private yang kita buat tadi melalui method dengan cara
System.out.println("masukan nim : ");
pt.set_nim(cetak.next());
- lakukan berulang ke semua inputan
- kita membuat output dengan cara
System.out.println("nim : "+pt.get_nim);
lakukan berulang sampai semua outputan seperti codingan dibawah ini
dari codingan tersebut akan menghasilkan outputan sebagai berikut :
nah kita telah berhasil menghubungkan kedua class yang mana variabel di class tersebut memiliki hak akses private untuk source code bisa di download disini
3.PROTECTED
protected diiabaratkan kita naik kereta api dimana dalam kereta api memiliki beberapa kelas didalam 1 rangkaian misalnya ada kelas bisnis,ekonomi dan vip namun masih didalam 1 rangkaian yang sama (package).
jadi protected ini kita hubungkan ke semua class namun hanya di package yang sama.
modifier protected akan membuat member dan class hanya bisa diakses dari :
A. class itu sendiri;
B. sub class atau class anak;
C.package(class yang berada satu package dengannya).
mari kita buktikan :
-disini kita akan menghubungkan class protected1.java dan class protected2.java didalam package yang sama yaitu package bangun_datar
-kita buat variabel protected nya dahulu
protected String nama;
protected String nim,kelas;
protected String ket;
protected double nilai;
public protected1()
{
}
- lalu lakukan coding seperti dibawah ini
-lalu kita buat sebuah class lagi didalam package yang sama dengan nama protected2
-kita hubungkan kedua class tersebut
protected1 pt new protected1();
lalu lakukan codingan seperti gambar dibawah ini
- karena didalam package yang sama maka tidak akan terjadi error mari kita buktikan apakah program kita berjalan
lalu tadi saya bilang hanya bisa jika class berada di package yang sama , mari kita buktikan dengan membuat sebuah class di package yang berbeda apakah masih bisa dihubungkan :
-pertama kita akan membuat sebuah package dengan nama ml dan didalamnya ada sebuah class bernama bukti.java
import bangun_datar.protected1;
-lalu kita hubungkan kedua class tersebut
protected1 pt = new protected1();
- lalu kita coba panggil variabel nama dengan perintah
pt.nama="zainul";
System.out.print("nama saya : "+pt.nama);
apakah hal ini akan berhasil ? mari kita buktikan
program error dan tidak berjalan karena protected tidak bisa mengakses class yang berada diluar package karena protected hanya bisa mengakses hanya yang satu package dengannya
untuk source lengkapnya download disini
link download source code :
- public : klik disini
- private : klik disini
-protected : klik disini
sekian pembahasan kita tentang hak akses jika ada salah mohon koreksi dan saya minta maaf sampai jumpa di next pembahasan selanjutnya salam hangat Admin mahasiswacyber bye bye assalamualakikum
0 Komentar