This article is currently in the process of being translated into Indonesian (~98% done).
The switch statement
switch statement (pernyataan 'switch') itu seperti sebuah if statement (pernyataan 'if'). Itu adalah sebuah daftar kemungkinan, dengan langkah tindakan untuk setiap kemungkinan, dan sebuah langkah tindakan default yang opsional, jika tidak ada satupun kemungkinan yang ter-evaluasi benar. Contoh sederhana switch statement seperti ini:
int number = 1;
switch(number)
{
case 0:
Console.WriteLine("The number is zero!");
break;
case 1:
Console.WriteLine("The number is one!");
break;
}
identifier yang untuk dicek diletakkan setelah kata kunci switch, dan kemudian di situ terdapat daftar dari case statement (pernyataan case), dimana kita cek identifier-nya terhadap nilai yang ditentukan. Anda akan memperhatikan bahwa ada break statement pada akhir di setiap case. C# cukup memerlukan itu kita tinggalkan blok sebelum switch statement berakhir. Jika anda menjadikannya sebuah fungsi, anda bisa gunakan return statement daripada break statement.
Pada contoh kasus ini, kita gunakan integer, tapi bisa juga sebuah string, atau tipe data sederhana yang lain. Dan juga anda bisa menentukan langkah tindakan yang sama untuk beragam kasus. Kita juga akan lakukan pada contoh berikutnya, dimana kita ambil sebuah input dari pengguna dan gunakan itu pada switch statement kita:
Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
case "yes":
case "maybe":
Console.WriteLine("Great!");
break;
case "no":
Console.WriteLine("Too bad!");
break;
}
Di contoh ini, kita bertanya pada pengguna, dan menganjurkan mereka untuk memasukkan pilihan 'yes', 'no', atau 'maybe'. Kemudian kita baca input dari pengguna, dan membuat switch statement-nya. Untuk membantu pengguna, kita ubah input menjadi huruf kecil sebelum kita cocokkan terhadap string kita yang berhuruf kecil, sehingga tidak ada perbedaan antara huruf besar dan kecilnya.
Meskipun begitu, pengguna bisa saja membuat kesalahan ketik atau mencoba menuliskan sesuatu yang sama sekali berbeda, dan dalam kasus ini, tidak ada output yang dihasilkan oleh switch statement yang khusus. Masukkan kata kunci default-nya!
Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
case "yes":
case "maybe":
Console.WriteLine("Great!");
break;
case "no":
Console.WriteLine("Too bad!");
break;
default:
Console.WriteLine("I'm sorry, I don't understand that!");
break;
}
Jika tidak ada satupun dari case statement yang terevaluasi benar, maka default statement-nya, jika ada, akan dieksekusi. Itu opsional, seperti yang kita lihat di contoh sebelumnya.