Class dan Object dalam Bahasa Pemrograman C#

Class dan Object dalam Bahasa Pemrograman C#
Photo by Zan Lazarevic / Unsplash

Dalam pemrograman berorientasi objek (OOP), konsep class dan object adalah dasar dari struktur kode yang modular dan terorganisir. C# sebagai bahasa OOP mendukung penggunaan class dan object untuk membantu pengembang membuat kode yang lebih efisien, reusable, dan mudah dikelola.

Artikel ini akan membahas apa itu class dan object dalam C#, bagaimana cara mendefinisikannya, serta contoh penggunaannya dalam berbagai skenario pemrograman.

1. Apa Itu Class dan Object?

Class

Class adalah template atau blueprint yang digunakan untuk membuat object. Class mendefinisikan properti (atribut) dan method (fungsi) yang dapat digunakan oleh object.

Object

Object adalah instance dari sebuah class. Setiap object memiliki nilai atribut dan bisa menjalankan method yang didefinisikan di dalam class.

2. Mendefinisikan Class dan Object dalam C#

2.1 Membuat Class

Class dideklarasikan menggunakan keyword class di dalam C#.

class Mobil {
    public string merek;
    public string model;
    public int tahun;
}
  • class Mobil → Mendefinisikan class bernama Mobil.
  • public string merek, model → Variabel (atribut) dalam class.
  • public int tahun → Variabel lain dengan tipe int.

2.2 Membuat Object dari Class

Object dibuat menggunakan keyword new, yang menginisialisasi class ke dalam sebuah variabel.

using System;

class Program {
    static void Main() {
        Mobil mobil1 = new Mobil();
        mobil1.merek = "Toyota";
        mobil1.model = "Avanza";
        mobil1.tahun = 2022;

        Console.WriteLine("Mobil: " + mobil1.merek + " " + mobil1.model + ", Tahun: " + mobil1.tahun);
    }
}

Output:

Mobil: Toyota Avanza, Tahun: 2022

Penjelasan:

  • Mobil mobil1 = new Mobil(); → Membuat object mobil1 berdasarkan class Mobil.
  • mobil1.merek = "Toyota"; → Mengatur nilai atribut.
  • Console.WriteLine(...) → Menampilkan informasi mobil ke layar.

3. Constructor dalam Class

Constructor adalah method khusus yang dipanggil secara otomatis ketika object dibuat. Constructor digunakan untuk menginisialisasi atribut dalam class.

3.1 Constructor Default

class Mobil {
    public string merek;
    public string model;
    public int tahun;

    // Constructor
    public Mobil() {
        merek = "Belum Ditentukan";
        model = "Belum Ditentukan";
        tahun = 0;
    }
}

Object yang dibuat akan memiliki nilai default untuk setiap atributnya.

Mobil mobil1 = new Mobil();
Console.WriteLine(mobil1.merek); // Output: Belum Ditentukan

3.2 Constructor dengan Parameter

Constructor bisa menerima parameter untuk menginisialisasi nilai saat object dibuat.

class Mobil {
    public string merek;
    public string model;
    public int tahun;

    // Constructor dengan parameter
    public Mobil(string merek, string model, int tahun) {
        this.merek = merek;
        this.model = model;
        this.tahun = tahun;
    }
}

Membuat object dengan nilai yang diberikan:

Mobil mobil1 = new Mobil("Honda", "Civic", 2023);
Console.WriteLine("Mobil: " + mobil1.merek + " " + mobil1.model + ", Tahun: " + mobil1.tahun);

Output:

Mobil: Honda Civic, Tahun: 2023

Penjelasan:

  • Constructor menerima nilai untuk menginisialisasi object saat dibuat.
  • this.merek = merek; → Menunjukkan bahwa atribut class merek diisi dengan nilai dari parameter.

4. Method dalam Class

Method adalah fungsi yang didefinisikan dalam class untuk menjalankan aksi tertentu.

class Mobil {
    public string merek;
    public string model;
    public int tahun;

    public void InfoMobil() {
        Console.WriteLine("Mobil: " + merek + " " + model + ", Tahun: " + tahun);
    }
}

Memanggil method dari object:

Mobil mobil1 = new Mobil();
mobil1.merek = "Suzuki";
mobil1.model = "Ertiga";
mobil1.tahun = 2021;

mobil1.InfoMobil(); // Output: Mobil: Suzuki Ertiga, Tahun: 2021

5. Encapsulation dalam Class

Encapsulation adalah konsep dalam OOP yang menyembunyikan atribut class agar tidak bisa diakses langsung dari luar.

class Mobil {
    private string merek;
    private string model;
    private int tahun;

    public void SetMerek(string merek) {
        this.merek = merek;
    }

    public string GetMerek() {
        return merek;
    }
}

Menggunakan method getter dan setter untuk mengakses atribut yang bersifat private:

Mobil mobil1 = new Mobil();
mobil1.SetMerek("BMW");
Console.WriteLine(mobil1.GetMerek()); // Output: BMW

6. Kapan Menggunakan Class dan Object dalam C#?

Jika ingin membuat program dengan struktur kode yang lebih terorganisir.
Jika ingin memanfaatkan fitur OOP seperti inheritance dan polymorphism.
Jika ingin membuat objek dengan atribut dan method yang dapat digunakan kembali.

Jangan gunakan class jika hanya butuh method statis tanpa state (data).

7. Kesimpulan

  • Class adalah blueprint untuk membuat object, sedangkan object adalah instance dari class.
  • Constructor digunakan untuk menginisialisasi nilai saat object dibuat.
  • Encapsulation membantu menjaga keamanan data dalam class.
  • Menggunakan class dalam C# membantu membuat kode lebih terstruktur, reusable, dan lebih mudah dipelihara.

Dengan memahami class dan object dalam C#, Anda dapat mengembangkan program yang lebih modular dan efisien untuk berbagai keperluan pemrograman!

Read more