S election Statement
4.2 S election Statement
Selecti on statement digunakan untuk m enentukan bagian mana dari program yang akan dieksek usi selanjutnya. C# menye iakan dua jenis selectio d n statement, yaitu if dan switch statement.
4.2.1 i f
If stat ement digunakan untu k mengeksekusi kode program jika kondisi tertentu terpenu hi. Misalnya dal am hal melakukan operasi pembagian, program harus mencek terlebih dahulu apakah pembagi bernilai 0 atau tidak agar tidak terjadi runtime error.
u s i ng Sy s t em;
names pac e or g. got dot net . ot ak {
c l as s Cont ohI f {
publ i c s t at i c v oi d Mai n2( ) {
Cons ol e. Wr i t e( " Mas uk k an ni l ai x : " ) ;
i nt x = i nt . Par s e( Cons ol e. ReadLi ne( ) ) ;
Cons ol e. Wr i t e( " Mas uk k an ni l ai y : " ) ;
i nt y = i nt . Par s e( Cons ol e. ReadLi ne( ) ) ;
if ( y ! =0)
{ doubl e has i l = x / y ; Cons ol e. Wr i t eLi ne( " Has i l pembagi an x / y =
h as i l ) ;
Cons ol e. ReadLi ne( ) ; }
Dalam contoh di atas, operasi pembagian dilakukan hanya jik a y tidak bernilai 0. Bagaimana jika y bernilai 0? Program tidak akan mengeksekusi apa- apa jika nilai y sama d engan 0.
4.2.2 i f-else
Satu v ariasi dari if state ment adalah if-else. Dalam statement ini, selain menentukan langka h apa yang harus dilakukan jika suatu kondisi terpenuhi, kita juga bisa menentukan langkah ap a yang mesti dilakukan kalau kondisi tersebut TIDAK terpe nuhi. Masih berhubungan dengan conto h sebelumnya, jika y bernilai 0, kita ingin mencetak pesan ke layar untuk memberitahukan kepa da user bahwa operasi pembagian tidak bisa dilakuk an karena pembagi bernilai 0.
us i ng Sy s t em;
names p ac e or g. got dot net . ot ak {
c l as s Cont ohI f El s e { publ i c s t at i c v oi d Mai n( ) {
Cons ol e. Wr i t e( " Mas uk k an ni l ai x : " ) ;
i nt x = i nt . Par s e( Cons ol e. ReadLi ne( ) ) ;
Cons ol e. Wr i t e( " Mas uk k an ni l ai y : " ) ;
i nt y = i nt . Par s e( Cons ol
e. ReadLi ne( ) ) ;
i f ( y ! =0) { doubl e has i l = x / y ;
Cons ol e. Wr i t eLi ne( " Has i l pembagi an x / y = { 0} " , has il);
} el s e {
Cons ol e. Wr i t eLi ne( " Er r or : y ber ni l ai 0" ) ;
Cons o l e. ReadLi ne( ) ;
4.2.3 s witch
Ser i ngk al i dal am pr ogr am k i t a i ngi n mel ak uk an pengec ek an unt uk beber apa k emungk i nan ni l ai da r i s uat u v ar i abl e. Bi l a i ni di l ak uk an d engan menggunak an i f , bent uk ny a ak an s eper t i ber i k ut :
us i ng Sy s t em;
names pac e or g. got dot net . ot ak {
c l as s Cont ohI f El s eI f {
publ i c s t at i c v oi d Mai n( ) {
t eTi me. Now. Day Of Week ==Day Of Week . Sunday ) i f ( Da
Cons ol e. Wr i t eLi ne( " Sek ar ang har i Mi nggu" ) ;
el s e i f ( Dat e Ti me. Now. Day Of Week ==Day Of Week . Monday )
Cons ol e. Wr i t eLi ne( " S ek ar ang har i Seni n" ) ;
} el s e i f ( Dat eTi me. Now. Day Of Week ==Day Of Week . Tues day )
{ s ol e. Wr i t eLi ne( " Sek ar ang har i Sel as a" ) ; Con
el s e {
Cons ol e. Wr i t eLi ne( " Sek ar ang har i apa y a?" ) ;
Cons ol
e. ReadLi ne( ) ;
Walaup un cara di atas dapat digunakan dan b enar, ada cara lain yang lebih sederhana yaitu d engan menggunakan switch. C ontohnya adalah sbb.:
us i ng Sy s t em;
names pac e or g. g ot dot net . ot ak {
c l as s Cont ohSwi t c h {
publ i c s t at i c v oi d Mai n( )
s wi t c h ( Dat eTi me. Now. Day Of Week ) {
c as e Day Of Week . Sunday : {
Cons ol e. Wr i t eLi ne( " Sek ar ang har i Mi nggu" ) ;
br eak ;
c as e Day Of Week . Monday : {
Cons ol e. Wr i t eLi ne( " Sek ar ang har i Seni n" ) ;
br eak ; }
c as e Day Of Week . Tues day : { s ol e. Wr i t eLi ne( " Sek ar ang har i Sel as a" ) ; Con ak ;
br e
def aul t : {
Cons ol e. Wr i t eLi ne( " Sek ar ang har i apa y a?" ) ;
br eak ; } }
Cons ol e. R eadLi ne( ) ; }
Perhatikan hal-hal berikut dari contoh di atas:
V ariabel yang dicek bisa bernilai a ngka atau string. Bandingkan dengan C yang hanya bi sa m enggunakan variab el bertipe angka.
Keywo rd break harus digunakan untuk setiap case. Dalam C, break tidak mesti diguna kan. Bagian default dari sw itch berfungsi seper t else dalam if, artinya jika tidak ada kecoco ka n da m ca la se-case lainnya, maka bagian dalam case default yang akan dieksek usi. Bagian ini sebaiknya dib iasakan untuk diisi.