• Contoh:
struct Botol
{
public string merk;
public string warna;
public int kapasitas;
}
...
Struktur (Cont.)
...
static void Main(string[] args)
{
Botol botol1 = new Botol();
Botol botol2 = new Botol();
botol1.merk = "Upperware";
botol1.warna = "hijau";
botol1.kapasitas = 1500;
botol2 = botol1; //assign botol 1 ke botol 2
Console.WriteLine("Botol 2 memiliki merk {0} warna {1}
dengan kapasitas {2} mL.", botol2.merk, botol2.warna,
botol2.kapasitas);
Console.ReadKey();
}
Struktur (Cont.)
• Program di atas memiliki objek botol1 dan botol2 dengan tipe
struktur Botol.
• botol1 diberikan merk “Upperware”, warna “hijau”, dan kapasitas
“1500”.
• Setelah itu, botol1 di-assign ke botol2, sehingga sekarang kedua
objek memiliki field-field dengan nilai yang sama.
Struktur (Cont.)
• Operator perbandingan “==“ tidak dapat dilakukan secara langsung
kepada objek struktur, tetapi harus membandingkan masing-masing
field pada struktur objek.
• Contoh:
Hari hariKelahiran;
int angka = 4;
hariKelahiran = (Hari)2;
Console.WriteLine(hariKelahiran); //output: Rabu
hariKelahiran = (Hari)angka;
Console.WriteLine(hariKelahiran); //output: Jumat
Enumerasi (Cont.)
• Cara untuk mengonversi enumerasi menjadi nilai integer:
intVar = (int)TipeEnumerasi.Enumerator;
atau
intVar = (int)namaEnumerasi;
• Contoh:
Hari hariKelahiran = Hari.Minggu;
int angka;
angka = (int)Hari.Senin;
Console.WriteLine(angka); //output: 0
angka = (int)hariKelahiran;
Console.WriteLine(angka); //output: 6
Enumerasi (Cont.)
• Cara untuk mengonversi nilai string menjadi enumerasi:
namaEnum = (TipeEnum)Enum.Parse(typeof(TipeEnum), “string");
atau
namaEnum = (TipeEnum)Enum.Parse(typeof(TipeEnum), varString);
• Contoh:
Hari hariKelahiran;
string namaHari = "Jumat";
hariKelahiran = (Hari)Enum.Parse(typeof(Hari), "Kamis");
Console.WriteLine(hariKelahiran);
hariKelahiran = (Hari)Enum.Parse(typeof(Hari), namaHari);
Console.WriteLine(hariKelahiran);
Enumerasi (Cont.)
enum Hari
{
Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu
}
static void Main(string[] args)
{
Hari hariKelahiran;
int angka;
Console.Write("Masukkan hari kelahiran [0-6] : ");
angka = int.Parse(Console.ReadLine());
hariKelahiran = (Hari)angka;
Console.WriteLine("Hari kelahiran anda = {0}", hariKelahiran);
Console.ReadKey();
}
Enumerasi (Cont.)
• Nilai default pada enumerator dimulai dengan angka 0, tetapi kita
dapat memberikan nilai sendiri secara manual.
• Apabila enumerator diberi suatu angka, maka enumerator yang
mengikutinya bernilai angka selanjutnya.
• Contoh:
enum Buah
{
Apel, Jeruk=2, Mangga, Anggur, Nenas=9, Semangka
}
• Pada kasus di atas, Apel bernilai 0, Jeruk bernilai 2, Mangga
bernilai 3, Anggur bernilai 4, Nenas bernilai 9, dan Semangka
bernilai 10.
Enumerasi (Cont.)
enum Warna
{
Merah = 1, Kuning, Hijau
}
static void Main(string[] args)
{
Warna lampu;
int angka;
Console.Write("Masukkan angka [1-3] : ");
angka = int.Parse(Console.ReadLine());
lampu = (Warna)angka;
switch (lampu)
{
case Warna.Merah:
Console.WriteLine("Berhenti");
break;
...
Enumerasi (Cont.)
...
case Warna.Kuning:
Console.WriteLine("Bersiap");
break;
case Warna.Hijau:
Console.WriteLine("Jalan");
break;
default:
Console.WriteLine("Tidak valid");
break;
}
Console.ReadKey();
}
Latihan
1. Buatlah enumerasi dengan tipe Bulan dimana enumeratornya
berisi nama-nama bulan dari Januari sampai Desember.
Kemudian minta user untuk memasukkan kode 1 sampai 12
untuk menampilkan nama bulan berdasarkan kode yang
dimasukkan!
2. Buatlah enumerasi dengan tipe Temperature dimana
enumeratornya terdiri dari High, Medium, dan Low. Jika user
memilih:
• High, tampilkan “Masaklah ayam ini selama 1 jam!”
• Medium, tampilkan “Masaklah ayam ini selama 3 jam!”
• Low, tampilkan “Masaklah ayam ini selama 6 jam!”
3. Buatlah data mahasiswa yang berisi NIM, nama, jurusan dan
jenis kelamin dengan menggunakan struktur. Buat pula jurusan
(TI, SI, MN, AK, MI) dan jenis kelamin (Pria, Wanita) dengan
menggunakan enumerasi. Setelah data diinput, tampilkan
hasilnya!
Lesson Summary
• Mahasiswa sekarang mampu:
• Memahami penggunaan enumerasi
Summary
• Sekarang mahasiswa mampu:
• Memahami penggunaan struktur
• Memahami penggunaan enumerasi
Question & Answers