Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Access dan Non Access Modifier Java dan Fungsinya

Java menyediakan banyak sekali modifier yang dapat digunakan untuk keperluan pengembangan program.Modifier pada Java digunakan untuk mengendalikan mekanisme akses dan juga menyediakan informasi mengenai fungsi class untuk JVM.

Sebelum lebih lanjut mempelajari materi tentang Cara Access dan Non Access Modifier Java dan Fungsinya, terlebih dahulu pelajari materi tentang: Menampilkan Komponen Penting Java Menggunakan Abstraksi, Pengertian Polimorfisme Java dan Dynamic Method Dispatch, dan Pengertian Asosiasi Komposisi dan Agregasi Java.

Dalam pemrograman Java, modifier digunakan untuk mengatur akses, perilaku, dan sifat suatu entitas seperti variabel, metode, atau kelas. Access modifier mengontrol tingkat akses ke entitas tersebut, sementara non-access modifier memodifikasi sifat tertentu dari entitas tersebut. Dalam artikel ini, akan dibahas cara menggunakan access dan non-access modifier dalam Java beserta fungsinya.

Modifier Java dibagi menjadi dua kategori, yaitu:

Access Modifier: Java access modifier adalah public, private, protected, dan default. Java juga mendefinisikan level access default yang disebut dengan package-private. Cara Menggunakan Access Modifier:
  • Public: Memberikan akses ke entitas tersebut dari mana saja, baik dari kelas yang sama, paket yang sama, atau paket yang berbeda. Public digunakan ketika anggota dari class dimodifikasi sebagai private, maka anggota tersebut hanya bisa diakses oleh anggota lain dari class itu sendiri. Dari hal ini, dapat dipahami alasan kenapa main() hanya selalu diawali dengan modifier tipe public. Tujuan dari deklarasi tersebut agar kode program dapat diakses dari luar program oleh Java run-time system. Ketika tidak ada akses modifier yang digunakan, maka secara default anggota dari class adalah tipe public beserta package-nya, namun tidak bisa diakses dari luar dari package itu sendiri.
  • Private: Memungkinkan akses ke entitas tersebut di dalam kelas yang sama, paket yang sama, dan kelas turunannya di paket yang berbeda. Private mengakses entitas tersebut hanya di dalam kelas tempat entitas tersebut dideklarasikan. Entitas private tidak dapat diakses dari kelas lain, termasuk kelas turunannya.
  • Protected: diterapkan hanya ketika inheritance dilibatkan.
  • Default (Tidak ada modifier): Juga dikenal sebagai package-private. Entitas yang tidak memiliki access modifier akan memiliki tingkat akses default, yang berarti hanya dapat diakses di dalam paket yang sama.

Contoh: Penggunaan akses modifier.

public class Mobil 

{

public String merek;

private int tahunProduksi;

protected double harga;

String warna; 

// Default access modifier


public Mobil(

String merek

int tahunProduksi

double harga

String warna

{

this.merek = merek;

this.tahunProduksi = tahunProduksi;

this.harga = harga;

this.warna = warna;

}

    

public void display() {

System.out.println("Mobil " 

+ merek 

+ " tahun " 

+ tahunProduksi 

+ ", warna " 

+ warna 

+ ", harga: " 

+ harga);

}


}


public class Main 

{

public static void 

main(String[] args

{

Mobil mobil = new Mobil("Toyota", 2020,

 200000000, "Merah");

mobil.display(); 

// Output: Mobil Toyota

// tahun 2020, warna

// Merah, harga: 200000000

        

// Contoh akses variabel

// dengan access modifier

// berbeda


// public

mobil.merek = "Honda"


// protected

mobil.harga = 180000000


// mobil.tahunProduksi = 2022; // Error karena private

// mobil.warna = "Biru"; 

// Error karena default

}

}


Baca Juga:

Non-access modifier: Pada Java terdapat tujuh tipe non-access modifier, dimana semua non-access modifier tersebut digunakan bersamaan dengan class, method, variabel, constructor, dan lain sebagainya untuk menyediakan informasi mengenai behavior-nya terhadap JVM. Non-access modifier mengubah sifat suatu entitas tanpa mempengaruhi tingkat aksesnya. Berikut adalah beberapa non-access modifier yang umum digunakan dalam Java:
  • #1, static: Membuat variabel atau metode menjadi milik kelas, bukan milik instance objek. Variabel statis digunakan untuk menyimpan nilai yang bersifat konstan di antara semua instansi kelas, sedangkan metode statis dapat dipanggil tanpa membuat objek dari kelas tersebut.
  • #2, final: Menginisialisasi entitas yang tidak dapat diubah. Jika diterapkan pada kelas, kelas tersebut tidak dapat diturunkan. Jika diterapkan pada variabel, nilainya tidak dapat diubah setelah diinisialisasi.
  • #3, abstract: Digunakan untuk membuat kelas abstrak yang tidak dapat diinstansiasi. Metode abstrak dalam kelas abstrak harus diimplementasikan oleh kelas turunannya.
  • #4, synchronized: Digunakan dalam konteks thread untuk memastikan bahwa hanya satu thread yang dapat mengakses suatu blok kode pada satu waktu, menghindari masalah konkurensi.
  • #5, transient
  • #6, volatile
  • #7, native

Contoh: Penggunaan Non-Access Modifier.

public class Counter 

{

private static int count = 0; // Variabel static


public Counter() 

{count++;}


public static void displayCount() { 

// Metode static

        System.out.println("Jumlah"

+ " objek Counter: " 

+ count);

}

    

public final void info() { 

// Metode final

        System.out.println("Ini adal"

+ "ah kelas Counter");

}


}


public class Main {

public static void 

main(String[] args

{

Counter c1 = new Counter();

Counter c2 = new Counter();

Counter c3 = new Counter();

        

Counter.displayCount(); 

// Output: Jumlah

// objek Counter: 3

        

c1.info(); 

// Output: Ini 

// adalah kelas Counter

}

}


Kelebihan Access Modifier:
  • Kontrol Akses yang Ketat: Access modifier memungkinkan pengembang untuk mengontrol tingkat akses ke variabel, metode, dan kelas dalam kode program. Dengan membatasi akses hanya kepada bagian-bagian yang diperlukan, pengembang dapat meningkatkan keamanan dan mencegah akses yang tidak sah atau tidak diinginkan.
  • Modularitas yang Tinggi: Dengan menggunakan access modifier dengan bijak, pengembang dapat membagi kode program ke dalam unit-unit yang terpisah dan mandiri. Ini memfasilitasi pemeliharaan kode, penyelesaian masalah, dan pengembangan lebih lanjut dengan cara yang terstruktur dan terorganisir.
  • Kesesuaian dengan Prinsip Enkapsulasi: Access modifier membantu dalam penerapan prinsip enkapsulasi, di mana detail implementasi internal suatu kelas disembunyikan dan hanya interaksi yang diizinkan melalui antarmuka yang didefinisikan. Hal ini memungkinkan pengembang untuk membuat kode yang lebih modular, terpisah, dan dapat dimodifikasi tanpa mempengaruhi bagian-bagian lain dari sistem.

Kelebihan Non-Access Modifier:
  • Memperluas Fungsionalitas Entitas: Non-access modifier memungkinkan pengembang untuk mengubah perilaku dan sifat suatu entitas tanpa mempengaruhi tingkat aksesnya. Dengan menggunakan non-access modifier seperti static, final, atau abstract, pengembang dapat menambahkan fungsionalitas tambahan ke variabel, metode, atau kelas.
  • Penggunaan Kode Ulang yang Efisien: Non-access modifier seperti static memungkinkan variabel dan metode untuk berbagi nilai atau perilaku yang sama di antara semua instansi kelas. Hal ini mengurangi duplikasi kode dan meningkatkan efisiensi penggunaan memori.
  • Kontrol Keamanan dan Keselamatan: Non-access modifier seperti final dapat digunakan untuk mengamankan variabel atau metode dari perubahan yang tidak diinginkan. Dengan membuat variabel atau metode final, pengembang dapat memastikan bahwa nilai atau perilaku yang diberikan tetap konsisten dan tidak dapat diubah.

Kesimpulan

Access dan non-access modifier adalah fitur penting dalam pemrograman Java yang memungkinkan pengembang untuk mengatur tingkat akses dan sifat entitas dalam kode program. Dengan memahami penggunaan modifier ini, pengembang dapat mengembangkan kode yang lebih aman, modular, dan mudah dimengerti.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Inggit Herfilia Prativi Edianti, Ismi Zulfani, Mauluda Fitriyana, Muhammad Iqbal As Syegaf, dan Nadya Yuli Rismawati.

6 komentar untuk "Cara Access dan Non Access Modifier Java dan Fungsinya"

  1. Apa yang dimaksud dengan access modifier pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Akses modifier pada Java digunakan untuk menentukan class mana yang dapat diakses oleh class tertentu yang sesuai dengan field, constructor, dan methodnya. Access modifier dapat ditentukan secara terpisah untuk sebuah class, constructor, field, dan method pada Java.

      Hapus
    2. Access modifier atau access specifier adalah sebuah keyword dalam pemrograman berorientasi objek yang mengatur bagian aksesibilitas class, method, dan anggota lainnya. Pada bahasa pemrograman java, tidak dimiliki keyword sebelum ada default yang menuju ke package private modifier.

      Hapus
    3. Pada Java access specifier dikenal juga sebagai visibility specifier atau access modifier, adalah suatu akses yang digunakan untuk mengatur class, field, dan method pada Java, yang digunakan sebagai menentu apakah suatu bidang atau field tersebut yang berada dalam suatu class dapat digunakan atau dipanggil oleh method lain pada class atau subclass lainnya.

      Hapus
  2. Apa yang dimaksud dengan non access modifier pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Pada Java, variabel, method, dan class dapat memiliki bentuk final non-access modifier. Dengan keywordnya dalah final yang digunakan untuk non-access modifier. Keyword tersebut digunakan untuk membuat class, method, ataupun variabel dalam bentuk final. Setelah variabel final tersebut diinisialisasi, maka user tidak dapat melakukan berubahan lagi pada nilai variabel tersebut.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -