Materi Pengertian Dan Fungsi Perintah This Dan Static
Materi Pengertian Dan Fungsi Perintah This Dan Static
FUNGSI PERINTAH
THIS
DHANY INDRA GUNAWAN
PENGERTIAN PERINTAH THIS
• Dalam bahasa Java, this adalah perintah khusus untuk mengakses object saat ini.
Perintah this biasanya dipakai untuk menghindari kesalahan akses antara property dan
argument method yang memiliki nama sama. Pengertian ini akan lebih jelas saat kita
masuk ke praktek kode program. public class lapthis {
lapthis(String merk){
Silahkan pelajari sejenak kode program berikut: System.out.println("Laptop Merk : " +merk);
}
}
class belthis{
Hasil kode program: public static void main (String[] args){
lapthis laptopdhany = new lapthis("Asus");
Laptop merk Asus }
}
PENJELASAN
• Di baris 1-5, terdapat pendefinisian class lapthis dengan sebuah constructor. Constructor
tersebut menerima satu parameter merk untuk kemudian diakses dari dalam
perintah System.out.println().
• Proses instansiasi class lapthis dilakukan pada baris 9. Karena constructor butuh 1
parameter, maka kita isi dengan new Laptop("Asus"). Hasilnya, akan tampil string
"Laptop merk Asus".
CONTOH PROGRAM
public class lathis { • Kali ini di dalam class lathis saya membuat
String merk = "Acer"; property merk di baris 2. Property merk langsung
lathis(){ diisi string "Acer" untuk selanjutnya di tampilkan
System.out.println("Laptop Merk : " +merk);
} dari dalam constructor dengan
} perintah System.out.println() di baris 4.
Pertanyaannya, apa teks yang akan tampil? apakah "Laptop merk Asus", atau "Laptop merk
Acer"? Berikut hasilnya:
LANJUTAN
class belgabthis{
public static void main (String[] args){ Hasil kode program:
gabthis laptopDhany = new gabthis("Asus"); Laptop Merk : Acer
}
}
PERINTAH THIS UNTUK public class realthis {
String merk;
PROSES INISIALISASI String pemilik;
realthis (String merk, String pemilik){
PROPERTY this.merk = merk;
this.pemilik = pemilik;
}
• Untuk praktek yang lebih real,
keyword this sering dipakai saat proses String infolaptop(){
return "Laptop " + merk + " Milik " + pemilik;
inisialisasi property di dalam constructor. }
}
• Berikut contoh kasusnya:
class belrealthis{
Hasil kode program: public static void main (String[]args){
• Class realthis sekarang memiliki 2 buah property: merk dan pemilik, namun keduanya belum
di isi nilai apapun (baris 2-3).
• Proses pengisian atau inisialisasi property merk dan pemilik di lakukan dari dalam constructor
pada baris 5-6, yang nilainya berasal dari parameter constructor.
• Pada saat object realthis di-instansiasi dengan perintah new realthis("Asus","Dhany") di baris
17, string "Asus" akan mengisi property merk, dan string "Dhany" akan mengisi
property pemilik.
• Dengan cara ini, method cekInfo() bisa mengakses kedua property dan mengembalikan nilainya
dalam sebuah string "Laptop "+merk+" milik "+pemilik.
• Jadi perintah this disini berfungsi untuk menghindari salah akses apakah yang dimaksud
itu property, atau parameter.
LANJUTAN
• Dalam bahasa Java, static adalah perintah khusus yang public class sta {
String cekInfo(){
memungkinkan sebuah property atau method diakses
return "Laptop Lenovo Milik Gunawan";
langsung tanpa melalui object, tapi cukup menulis nama }
class saja. }
• Dalam kode program ini, class sta di definisikan pada baris 1-5. Di dalamnya terdapat
method cekInfo() yang mengembalikan string "Laptop Lenovo milik Gunawan".
• Agar bisa mengakses method cekInfo(), kita harus buat object dari class sta terlebih
dahulu. Proses instansiasi ini dilakukan pada baris 10, dimana
class LaptopGunawan akan berisi object dari class sta. Selanjutnya, isi method bisa
diakses dari LaptopGunawan.cekInfo().
• Jika kita coba akses method cekInfo() secara langsung tanpa membuat object, hasilnya
akan error:
• contoh
CONTOH
class belsta{
public static void main (String[]args){
System.out.println(LaptopGunawan.cekInfo());
}
}
Belsta.java:10:
Hasil kode program: error: non-static method cekInfo() cannot be referenced from a static context
System.out.println(Laptop.cekInfo());
^
1 error
LANJUTAN
• Selain untuk method, keyword static juga bisa dipakai public class stapro {
untuk property. Cara penulisan dan efek yang static String processor = "intel core i9";
}
dihasilkan juga sama, dimana kita bisa mengakses
property tersebut tanpa harus membuat object terlebih class belstapro{
dahulu: public static void main (String[] args){
System.out.println(stapro.processor);
• Di baris 2, property processor ditambahkan }
keyword static, sehingga bisa langsung diakses }
dengan perintah stapro.processor di baris 8. Hasil kode program:
Intel Core i9
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:
KODE PROGRAM
• Di dalam class hitsta, terdapat satu static property dengan
public class hitsta { nama totalLaptop. Sebagai nilai awal, property ini diisi angka
static int totalLaptop = 0; 0 di baris 2.
hitsta(){ • Property totalLaptop selanjutnya di increment dari dalam
totalLaptop++;
constructor dengan perintah totalLaptop++. Artinya,
System.out.println(" class hitsta ke- "+ totalLaptop + "
dibuat"); nilai totalLaptop akan naik 1 angka setiap kali constructor
} diakses
} • Sebagai tambahan, di dalam constructor juga terdapat
class belhitsta{ perintah System.out.println() sekedar menampilkan isi
public static void main (String[] args){ property totalLaptop.
hitsta LaptopDhany = new hitsta(); • Masuk ke dalam class Belhitsta, saya membuat 3 buah object
hitsta LaptopIndra = new hitsta();
dari class Laptop antara baris 11-14. Setiap kali class hitsta di
hitsta LaptopGunawan = new hitsta();
} instansiasi, itu akan menjalankan constructor yang pada
} gilirannya menaikkan nilai static property totalLaptop.
Hasil kode program:
• Inilah cara untuk menghitung berapa kali class Laptop dibuat
class hitsta ke- 1 dibuat
menggunakan static property.
class hitsta ke- 2 dibuat
class hitsta ke- 3 dibuat