Menggunakan kata kunci keyword this di program Java
Menggunakan Keyword this Di Program Java
Di artikel Konsep Variabel Kelas Tersembunyi Di Java, Anda dapat mengetahui perbedaan antara variabel kelas dan variabel lokal beserta cakupannya. Variabel kelas (class variable) adalah variabel yang dideklarasikan di dalam sebuah kelas dan bertindak sebagai data field dari kelas tersebut, sedangan variabel local (local variable) adalah variabel yang dideklarasikan di dalam sebuah metoda.

Cakupan variabel lokal dimulai dari posisi variabel tersebut dideklarasikan sampai dengan akhir dari blok metoda yang ditandai dengan closing brace (}). Cakupan dari variabel kelas meliputi keseluruhan kelas.

Pemberian nama yang sama antara variabel kelas dan variabel lokal mungkin saja terjadi. Misalnya, metoda set (mutator) yang digunakan untuk mengubah nilai variabel kelas, bisa saja mendeklarasikan parameter dengan nama sama seperti nama variabel kelas yang nilainya akan diubah.

Di dalam metoda set, untuk mengacu ke variabel kelas yang nilainya akan diubah, Anda perlu menggunakan kata kunci (keyword) this. Bila variabel kelas tersebut dideklarasikan dengan modifier static, maka variabel kelas dapat diakses dengan nama-kelas.variabel-static.

Di contoh program kelas Warna terdapat dua variabel kelas yaitu variabel merah dan biru. Kelas Warna juga mendeklarasikan dua metoda yaitu metoda setMerah yang memiliki parameter merah dan setBiru yang memiliki parameter biru.

Parameter kedua metoda memiliki kesamaan nama dengan dua variabel kelas atau data field dari kelas Warna. Berikut ini adalah kode program kelas Warna yang dapat memberi pemahaman lebih jelas tentang penggunaan kata kunci this untuk mengacu ke variabel kelas:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// Deklarasi kelas
class Warna {
 
   // Deklarasi variabel kelas (data field)
   int merah = 7;
   static double biru = 2;
 
   // Deklarasi metoda 
   void setMerah(int merah) {
      this.merah = merah;
   }
 
   // Deklarasi metoda static
   static void setBiru( double biru) {
      Warna.biru = biru;
   }
}

Misalnya, c1 adalah variabel yang mengacu ke obyek dari kelas Warna. Memanggil metoda dengan pernyataan c1.setMerah(5); sama dengan mengeksekusi c1.merah = 5;, dimana kata kunci this diganti dengan c1.

Baris nomor 10 adalah pernyataan pemberian yaitu memberikan nilai parameter merah ke data field merah dari obyek pemanggil, misalnya c1. Sedangkan pernyataan di baris nomor 15 mempunyai arti bahwa nilai di parameter biru diberikan ke data field statik biru dari kelas Warna.

Selain menggunakan kata kunci this untuk maksud di atas, kata kunci this juga dapat digunakan di dalam konstruktor untuk memanggil konstruktor yang lain dari kelas yang sama sebagaimana contoh kode program kelas Lingkaran di bawah ini.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Nama file : Lingkaran.java
// Mendefinisikan kelas Lingkaran
 
// Mendeklarasikan kelas Lingkaran
public class Lingkaran {
 
   // Deklarasi variabel kelas (data field)
   private double jari2 = 1.0;
   private static int jumlahObyek = 0;
 
   // Konstruktor pertama
   public Lingkaran() {
      this(1.0);
      Lingkaran.jumlahObyek++;
   }
 
   // Konstruktor kedua
   public Lingkaran(double jari2) {
      this.jari2 = (jari2 > 0) ? jari2 : 1.0;
      Lingkaran.jumlahObyek++;
   }
 
   // Mengembalikan nilai data field jari2 melalui metoda get
   public double getJari2() {
      return this.jari2;
   }
 
   // Merubah nilai data field melalui metoda set
   public void setJari2(double jari2) {
      this.jari2 = (jari2 > 0) ? jari2 : 1.0;
   }
 
   // Mengembalikan jumlah obyek lingkaran yang dibuat
   public static int getJumlahObyek() {
      return Lingkaran.jumlahObyek;
   }
 
   // Metoda menghitung keliling lingkaran
   public double hitungKeliling() {
      return 2 * this.jari2 * Math.PI;
   }
 
   // Metoda menghitung luas lingkaran
   public double hitungLuas() {
      return Math.PI * this.jari2 * this.jari2;
   }
}

this di pernyataan baris nomor 13 digunakan untuk memanggil kontruktor yang memiliki parameter yaitu konstruktor di baris nomor 18 - 21. this di pernyataan baris nomor 19 dan 30 digunakan untuk mengacu ke data field jari2 yang dideklarasikan di baris nomor 8 dari obyek kelas Lingkaran yang dikonstruksi.

This di pernyataan baris nomor 25, 40 dan 45 mewakili obyek dari kelas Lingkaran. Setiap instance variable yaitu variabel kelas dari kelas yang telah dikonstruksi adalah milik obyek dari kelas yang diwakili oleh kata kunci this, dimana this disini sering tidak ditulis atau diabaikan.

SILAHKAN BAGIKAN ARTIKEL INI!
Pin It

Produk Laris Toko Gerzal

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Beli di Shopee
Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Beli di Shopee
QUEED Power Supply Station Generator 220V 69800mAh

QUEED Power Supply Station Generator 220V 69800mAh

Beli di Shopee
Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi TI TPA3255

Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi

Beli di Shopee
Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Beli di Shopee