Keyword This pada Bahasa Pemrograman C#

Keyword This pada Bahasa Pemrograman C#
Photo by Mohammad Rahmani / Unsplash

Dalam C#, keyword this digunakan untuk merujuk ke instance dari class saat ini. Keyword ini sering digunakan dalam constructor, method, dan properti untuk membedakan antara field class dan parameter dengan nama yang sama.

Artikel ini akan membahas apa itu keyword this dalam C#, bagaimana cara menggunakannya, serta contoh implementasinya dalam berbagai skenario pemrograman.

1. Apa Itu Keyword this dalam C#?

Keyword this mengacu pada instance saat ini dari class yang sedang dieksekusi. Keyword ini berguna untuk:

  • Membedakan antara field class dan parameter method yang memiliki nama yang sama.
  • Mengakses method dan properti dalam class yang sama.
  • Memanggil constructor lain dalam class yang sama.

Contoh Penggunaan Dasar this

class Mobil {
    private string merek;
    
    public Mobil(string merek) {
        this.merek = merek; // 'this' digunakan untuk membedakan antara field dan parameter
    }
    
    public void TampilkanMerek() {
        Console.WriteLine("Merek Mobil: " + this.merek);
    }
}

class Program {
    static void Main() {
        Mobil mobil1 = new Mobil("Toyota");
        mobil1.TampilkanMerek();
    }
}

Output:

Merek Mobil: Toyota

Penjelasan:

  • this.merek = merek; → Menggunakan this untuk membedakan antara field class (merek) dan parameter (merek).
  • this.merek mengacu pada atribut dalam class Mobil, bukan pada parameter constructor.

2. Menggunakan this untuk Memanggil Constructor Lain

Dalam C#, kita dapat menggunakan this untuk memanggil constructor lain dalam class yang sama. Ini disebut sebagai constructor chaining.

class Produk {
    public string Nama;
    public double Harga;
    
    // Constructor pertama
    public Produk(string nama) {
        this.Nama = nama;
        this.Harga = 0; // Nilai default
    }
    
    // Constructor kedua memanggil constructor pertama
    public Produk(string nama, double harga) : this(nama) {
        this.Harga = harga;
    }
}

class Program {
    static void Main() {
        Produk p1 = new Produk("Laptop");
        Produk p2 = new Produk("Smartphone", 5000000);
        
        Console.WriteLine("Produk: " + p1.Nama + ", Harga: " + p1.Harga);
        Console.WriteLine("Produk: " + p2.Nama + ", Harga: " + p2.Harga);
    }
}

Output:

Produk: Laptop, Harga: 0
Produk: Smartphone, Harga: 5000000

Penjelasan:

  • Constructor kedua memanggil constructor pertama dengan : this(nama), sehingga kita tidak perlu menulis ulang inisialisasi field Nama.
  • Ini membantu dalam kode yang lebih ringkas dan lebih mudah dipelihara.

3. Menggunakan this untuk Memanggil Method dalam Class yang Sama

Keyword this juga bisa digunakan untuk memanggil method lain dalam class yang sama.

class Persegi {
    public int Sisi;
    
    public Persegi(int sisi) {
        this.Sisi = sisi;
    }
    
    public int HitungLuas() {
        return this.Sisi * this.Sisi;
    }
    
    public void TampilkanLuas() {
        Console.WriteLine("Luas Persegi: " + this.HitungLuas());
    }
}

class Program {
    static void Main() {
        Persegi p = new Persegi(5);
        p.TampilkanLuas();
    }
}

Output:

Luas Persegi: 25

Penjelasan:

  • this.HitungLuas() digunakan untuk memanggil method HitungLuas dari method TampilkanLuas dalam class yang sama.

4. Kapan Harus Menggunakan this?

Gunakan this jika:

  • Nama field dalam class sama dengan nama parameter dalam method atau constructor.
  • Perlu memanggil constructor lain dalam class yang sama.
  • Perlu menegaskan bahwa method atau properti yang dipanggil berasal dari instance class saat ini.

Jangan gunakan this jika:

  • Tidak ada ambiguitas antara field class dan parameter method.
  • Memanggil method atau properti tanpa perlu menegaskan bahwa itu berasal dari instance yang sama.

5. Kesimpulan

  • Keyword this digunakan untuk merujuk pada instance saat ini dari class.
  • Digunakan untuk membedakan field class dari parameter yang memiliki nama yang sama.
  • Dapat digunakan untuk memanggil constructor lain dalam class yang sama (constructor chaining).
  • Memudahkan pemanggilan method atau properti dari dalam class yang sama.
  • Membantu meningkatkan keterbacaan kode dan menghindari ambiguitas.

Dengan memahami keyword this dalam C#, Anda bisa menulis kode yang lebih rapi, mudah dipelihara, dan lebih efisien!

Read more