Struct pada Bahasa Pemrograman C#, Apakah itu?

Struct pada Bahasa Pemrograman C#, Apakah itu?
Photo by Kevin Ku / Unsplash

Dalam C#, struct adalah tipe data nilai (value type) yang digunakan untuk menyimpan kumpulan data yang terkait. Struct sering digunakan untuk merepresentasikan objek yang memiliki jumlah data kecil dan bersifat tidak berubah-ubah (immutable). Struct mirip dengan class, tetapi memiliki beberapa perbedaan utama.

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

1. Apa Itu Struct dalam C#?

Struct adalah tipe data yang digunakan untuk menyimpan beberapa nilai yang membentuk satu kesatuan logis. Struct berguna ketika kita ingin membuat objek kecil yang tidak memerlukan fitur dari class, seperti pewarisan (inheritance).

Ciri-Ciri Struct

Value type → Disimpan di stack, bukan heap.
Lebih ringan dibanding class, cocok untuk data kecil.
Tidak mendukung pewarisan (inheritance).
Bisa memiliki method, properti, dan constructor.

2. Cara Membuat Struct dalam C#

Deklarasi Struct

struct Titik {
    public int X;
    public int Y;
}
  • struct Titik → Mendefinisikan struct bernama Titik.
  • Memiliki dua field X dan Y yang menyimpan koordinat titik.

Menggunakan Struct

Titik p1;
p1.X = 10;
p1.Y = 20;
Console.WriteLine($"Koordinat: ({p1.X}, {p1.Y})");

Output:

Koordinat: (10, 20)

3. Struct dengan Constructor

Struct bisa memiliki constructor untuk inisialisasi nilai saat objek dibuat.

struct Titik {
    public int X, Y;
    
    public Titik(int x, int y) {
        X = x;
        Y = y;
    }
}

Cara Menggunakannya

Titik p2 = new Titik(5, 15);
Console.WriteLine($"Koordinat: ({p2.X}, {p2.Y})");

Output:

Koordinat: (5, 15)

4. Struct dengan Method dan Property

Struct juga bisa memiliki method dan properti seperti class.

struct Persegi {
    public int Sisi;
    
    public Persegi(int sisi) {
        Sisi = sisi;
    }
    
    public int Luas() {
        return Sisi * Sisi;
    }
}

Cara Menggunakannya

Persegi kotak = new Persegi(4);
Console.WriteLine("Luas Persegi: " + kotak.Luas());

Output:

Luas Persegi: 16

5. Perbedaan Struct dan Class

Perbedaan Struct Class
Tipe Data Value Type (disimpan di stack) Reference Type (disimpan di heap)
Pewarisan ❌ Tidak mendukung ✅ Mendukung
Performa 🔥 Lebih cepat untuk objek kecil 🛑 Bisa lebih lambat karena alokasi heap
Penggunaan Data kecil & sering berubah Data kompleks dengan banyak fitur

6. Kapan Menggunakan Struct?

Gunakan struct jika:

  • Objek bersifat kecil dan ringan.
  • Tidak memerlukan pewarisan.
  • Data lebih sering dibaca daripada diubah.

Gunakan class jika:

  • Membutuhkan pewarisan dan polimorfisme.
  • Data kompleks dengan banyak metode dan logika.
  • Membutuhkan referensi ke objek yang sama di banyak tempat.

7. Kesimpulan

  • Struct adalah tipe data nilai yang lebih ringan dibanding class.
  • Cocok digunakan untuk objek kecil yang tidak memerlukan pewarisan.
  • Struct memiliki constructor, method, dan properti seperti class.
  • Gunakan struct untuk data kecil dan sering diakses, gunakan class untuk objek kompleks.

Dengan memahami struct dalam C#, Anda bisa membuat program yang lebih efisien dan optimal!

Read more