Struct pada Bahasa Pemrograman C#, Apakah itu?
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 bernamaTitik
.- Memiliki dua field
X
danY
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!