Tutorial OOP Java Part 12: Pengertian dan Fungsi Perintah static

Melanjutkan tutorial OOP Java di Duniailkom, sekarang kita akan membahas pengertian dan fungsi dari perintah static.


Pengertian Perintah Static

Dalam bahasa Java, static adalah perintah khusus yang memungkinkan sebuah property atau method diakses langsung tanpa melalui object, tapi cukup menulis nama class saja.

Normalnya, kita hanya bisa mengakses property dan method setelah class tersebut di instansiasi menjadi object. Berikut contohnya:

class Laptop {
  String cekInfo() { 
    return "Laptop Lenovo milik Rudi"; 
  }
}
  
class BelajarJava {
  public static void main(String args[]){
    
    Laptop laptopRudi = new Laptop();
    System.out.println(laptopRudi.cekInfo());

  }
}

Hasil kode program:

Laptop Lenovo milik Rudi

Dalam kode program ini, class Laptop di definisikan pada baris 1-5. Di dalamnya terdapat method cekInfo() yang mengembalikan string “Laptop Lenovo milik Rudi”.

Agar bisa mengakses method cekInfo(), kita harus buat object dari class Laptop terlebih dahulu. Proses instansiasi ini dilakukan pada baris 10, dimana class laptopRudi akan berisi object dari class Laptop. Selanjutnya, isi method bisa diakses dari laptopRudi.cekInfo().

Jika kita coba akses method cekInfo() secara langsung tanpa membuat object, hasilnya akan error:

class Laptop {
  String cekInfo() { 
    return "Laptop Lenovo milik Rudi"; 
  }
}
  
class BelajarJava {
  public static void main(String args[]){
  
    System.out.println(Laptop.cekInfo());
    
  }
}

Hasil kode program:

BelajarJava.java:10: 
error: non-static method cekInfo() cannot be referenced from a static context
System.out.println(Laptop.cekInfo());
                          ^
1 error

Error terjadi karena “normalnya”, sebuah method hanya bisa diakses dari object, bukan langsung dari class.

Akan tetapi jika kita menambahkan keyword static sebelum nama method cekInfo(), method tersebut bisa diakses tanpa membuat object terlebih dahulu:

class Laptop {
  static String cekInfo() { 
    return "Laptop Lenovo milik Rudi"; 
  }
}
  
class BelajarJava {
  public static void main(String args[]){
    
    System.out.println(Laptop.cekInfo());

  }
}

Hasil kode program:

Laptop Lenovo milik Rudi

Dengan penambahan keyword static di awal baris 2, method cekInfo() sekarang bisa diakses dengan perintah Laptop.cekInfo() seperti di baris 10. Disini kita tidak perlu membuat object terlebih dahulu.


Static Property Bahasa Java

Selain untuk method, keyword static juga bisa dipakai untuk property. Cara penulisan dan efek yang dihasilkan juga sama, dimana kita bisa mengakses property tersebut tanpa harus membuat object terlebih dahulu:

class Laptop {
  static String processor = "Intel Core i9";
}
  
class BelajarJava {
  public static void main(String args[]){
    
    System.out.println(Laptop.processor);
    
  }
}

Hasil kode program:

Intel Core i9

Di baris 2, property processor ditambahkan keyword static, sehingga bisa langsung diakses dengan perintah Laptop.processor di baris 8.


Menghitung Jumlah Object dengan Static Property

Keyword static umumnya dipakai untuk kode program yang cukup kompleks seperti design pattern. Salah satu penggunaan sederhana adalah untuk menghitung atau men-tracking jumlah object dari sebuah class.

Misalnya kita ingin mengetahui berapa kali class Laptop di instansiasi sepanjang kode program. Caranya, buat sebuah static property sebagai counter dan tempatkan di dalam constructor. Berikut kode yang dimaksud:

class Laptop {
  static int totalLaptop = 0;
  Laptop() {
    totalLaptop++;
    System.out.println("Class Laptop ke-"+ totalLaptop +" dibuat");
  }
}
  
class BelajarJava {
  public static void main(String args[]){
    Laptop laptopAndi = new Laptop();
    Laptop laptopLisa = new Laptop();
    Laptop laptopRudi = new Laptop();
    Laptop laptopAlex = new Laptop(); 
  }
}

Hasil kode program:

Tutorial OOP Java Pengertian dan Fungsi Perintah static

Di dalam class Laptop, terdapat satu static property dengan nama totalLaptop. Sebagai nilai awal, property ini diisi angka 0 di baris 2.

Property totalLaptop selanjutnya di increment dari dalam constructor dengan perintah totalLaptop++. Artinya, nilai totalLaptop akan naik 1 angka setiap kali constructor diakses. Dan seperti yang sudah kita pelajari di tutorial tentang constructor bahasa Java, constructor otomatis dijalankan setiap kali object dibuat.

Sebagai tambahan, di dalam constructor juga terdapat perintah System.out.println() sekedar menampilkan isi property totalLaptop.

Masuk ke dalam class BelajarJava, saya membuat 4 buah object dari class Laptop antara baris 11-14. Setiap kali class Laptop di instansiasi, itu akan menjalankan constructor yang pada gilirannya menaikkan nilai static property totalLaptop.

Inilah cara untuk menghitung berapa kali class Laptop dibuat menggunakan static property.


Demikian pembahasan kita tentang pengertian dan fungsi perintah static dalam bahasa Java.

Jika diperhatikan, keyword static sebenarnya sudah kita pakai sejak pertama kali belajar bahasa Java, yakni di dalam perintah utama public static void main(String args[]). Barulah di tutorial kali ini kita membahasnya dengan lebih dalam.

Untuk tutorial berikutnya, akan dibahas tentang pengertian dan fungsi perintah final dalam bahasa pemrograman Java.

Add Comment