Ads Home1

C# Tutorial - Statemen Pemilihan switch

http://www.xcodeplus.net/2017/09/csharp-tutorial-statemen-pemilihan-switch.html



Statemen Switch

Sama seperti C/C++ dan Java, C# juga memiliki statemen switch untuk memilih statemen yang akan dieksekusi. Bentuk umum penggunaan switch adalah sebagai berikut: switch(expresi){
       case Nilai1: pernyataan1;
            break;

case Nilai2: pernyataan2;
        break;
...
default: pernyataan_alternatif;
     break;
}


Expresi adalah variabel yang akan diperiksa nilainya, dan harus bertipe char, byte, short, int, bool, enumerasi, atau string. Pada saat program masuk ke blok pemilihan, program akan memeriksa nilai di dalam daftar yang sesuai dengan nilai expresi. Jika sama, maka program mengeksekusi pernyataan yang didefinisikan pada nilai tersebut.


Apabila nilai di dalam daftar tidak ada yang sama dengan nilai expresi maka program akan mengeksekusi pernyataan alternatif, yaitu pernyataan yang terdapat pada bagian default. Berbeda dengan C/C++ dan Java, dalam C# pernyataan break wajib kita sertakan di dalam setiap nilai yang kita definisikan, termasuk di dalam bagian default.

Fungsi dari pernyataan tersebut adalah untuk menghentikan proses pemilihan ketika nilai yang sesuai sudah ditemukan. Pada saat Anda menggunakan C/C++ dan Java, bisa saja Anda lupa menuliskan pernyataan break pada program yang Anda buat. Dalam situasi semacam ini, program Anda tetap akan dapat dikompilasi dan dieksekusi walaupun hasilnya tentu tidak sesuai dengan yang diharapkan. Namun, dalam C#, kode seperti itu tidak dapat dikompilasi.

Untuk membuktikannya berikut di bawah ini situasi yang akan menunjukan hal tersebut. PROGRAM 1.1
using System;

namespace LetsCoding{

    class Demo_switch{

         public static void Main(){
                 
         string input;
         int nilai;
  
         Console.Write("Masukan Nilai : ");
         // Melakukan proses input melalui keyboard. 
         input = Console.ReadLine();

         // Proses untuk mengkonversi tipe data string to int.
         int.TryParse(input, out nilai);
                
         switch(nilai){
         case 1:
         Console.WriteLine("Angka yang anda masukan adalah angka 1");
         break; // Menggunakan break;
         
         case 2:
         Console.WriteLine("Angka yang anda masukan adalah angka 2");
                // Salah, program tidak dapat dikompilasi 
                // tanpa menggunakan break;   
         case 3:
         Console.WriteLine("Angka yang anda masukan adalah angka 3");
         break; // Menggunakan break;
            
         default:
         break; // Tanpa pernyataan apapun.
        } 

    
         Console.ReadLine();
       }
    }
}


Jika program di atas Anda jalankan, maka Anda akan mendapatkan pesan kesalahan sebagai berikut:

http://www.xcodeplus.net/2017/09/csharp-tutorial-statemen-pemilihan-switch.html
Gambar 1.1 Tampilan kesalahan ketika tidak meletakan statemen break

Dalam C/C++ dan Java, kode di atas memang dapat dikompilasi. C/C++ dan Java tidak terlalu peduli apakah hasilnya akan sesuai dengan yang diharapkan atau tidak. Dalam C#, kita akan memperoleh pesan kesalahan ketika melakukan kompilasi kode tersebut, seperti yang terlihat pada pesan kesalahan di atas. 


Lalu, kenapa ? Itu disebabkan karena kita lupa menuliskan statemen break; pada case 2. Dengan melalui cara seperti ini C# menjamin bahwa pernyataan yang dieksekusi adalah pernyataan milik dari nilai yang sesuai, dan tidak akan jatuh ke nilai lain. Dalam termonologi C#, konsep ini disebut dengan no-fall through. 

Berikut di bawah ini adalah cara yang benar dalam menggunakan statemen pemilihan switch sebagai berikut:
PROGRAM 1.2
using System;

namespace LetsCoding{

    class Demo_switch{

         public static void Main(){
                 
         string input;
         int nama_hari;
  
         Console.Write("Urutan nama hari dalam seminggu  : ");
         // Melakukan proses input melalui keyboard. 
         input = Console.ReadLine();

         // Proses untuk mengkonversi tipe data string to int.
         int.TryParse(input, out nama_hari);
                
         switch(nama_hari){
            case 1:
            Console.WriteLine("Hari ke 1 adalah hari senin");
            break;
            
            case 2:
            Console.WriteLine("Hari ke 2 adalah hari selasa");
            break;

            case 3:
            Console.WriteLine("Hari ke 3 adalah hari rabu");
            break;
             
            case 4:
            Console.WriteLine("Hari ke 4 adalah hari kamis");
            break;

            case 5:
            Console.WriteLine("Hari ke 5 adalah hari jum'at");
            break;

            case 6:
            Console.WriteLine("Hari ke 6 adalah hari sabtu");
            break;

            case 7:
            Console.WriteLine("Hari ke 7 adalah hari minggu");
            break;
          } 

    
         Console.ReadLine();
        }
    }
}

Berikut di bawah ini adalah hasil yang akan diberikan oleh kode program di atas.

http://www.xcodeplus.net/2017/09/csharp-tutorial-statemen-pemilihan-switch.html
Gambar 1.2 Tampilan hasil program nama-nama hari dalam seminggu


Dalam penggunaan statemen switch, di dalam C# kita diperbolehkan menggunakan ekpresi yang bertipe string, berikut ini adalah contoh program yang menunjukan konsep tersebut.

PROGRAM 1.3
using System;

namespace LetsCoding{

    class Demo_switch{

         public static void Main(){        

         string nama_bulan;
  
         Console.Write("Urutan nama bulan dalam se-tahun  : ");
         // Melakukan proses input melalui keyboard. 
         nama_bulan = Console.ReadLine();
                
         switch(nama_bulan){
            case "januari":
            Console.WriteLine("Januari adalah bulan pertama");
            break;
            
            case "februari":
            Console.WriteLine("Februari adalah bulan kedua");
            break;

            case "maret":
            Console.WriteLine("Maret adalah bulan ke tiga");
            break;

            case "april":
            Console.WriteLine("April adalah bulan ke empat");
            break;

            case "mei":
            Console.WriteLine("Mei adalah bulan ke lima");
            break;

            case "juni":
            Console.WriteLine("Juni adalah bulan ke enam");
            break;

            case "juli":
            Console.WriteLine("Juli adalah bulan ke tujuh");
            break;

            case "agustus":
            Console.WriteLine("Agustus adalah bulan ke delapan");
            break;

            case "september":
            Console.WriteLine("September adalah bulan ke sembilan");
            break;

            case "oktober":
            Console.WriteLine("Oktober adalah bulan ke sepuluh");
            break;

            case "november":
            Console.WriteLine("Maret adalah bulan ke sebelas");
            break;

            case "desemeber":
            Console.WriteLine("Desember adalah bulan ke dua belas");
            break;

             // Tanpa menggunakan statemen default
            
          } 

    
         Console.ReadLine();
        }
    }
}

http://www.xcodeplus.net/2017/09/csharp-tutorial-statemen-pemilihan-switch.html
Gambar 1.3 Tampilan hasil program untuk menentukan nama bulan

Seperti yang saya telah sampaikan sebelumnya, selain tipe interger maupun string kita juga dapat menggunakan expresi dari bermacam tipe data lainnya seperti char, bool dan sebagainya. Apabila expresi yang digunakan adalah bertipe bool maka nilai yang ada di dalam daftar hanyalah berupa nilai true dan false. Untuk selengkapnya Anda dalam mempelajarinya sendiri.

Catatan :
Untuk expresi default di dalam statemen switch anda bisa menggunakannya ataupun tidak sama sekali karna hal tersebut bersifat opsional.

Dalam memahami penggunaan dari statemen switch memang tidaklah sulit, apalagi jika Anda sebelumnya pernah mempelajari mengenai penggunaan statemen if. Namun, yang harus Anda pahami yaitu bagaimana cara menempatkan suatu statemen baik itu statemen switch maupun if dengan logika yang seharusnya. Walaupun serupa namun pada implementasinya sangatlah berbeda mereka memilki fungsi dalam menangani masalahnya masing-masing.

Jika ada penjelasan yang saya sampaikan belum dapat Anda pahami, silahkan berikan pertanyaan pada kolom komentar di bawah, dan jangan lupa subcribes xcodeplus agar Anda tidak ketinggalan mengenai informasi sepuatar tutorial pemrograman dari kami.

XCODEPLUS - THE BEST RESOURCE TO LEARN TO CODE :  [C# TUTORIALS]
C# (dibaca: C Sharp) merupakan bahasa pemrograman generasi baru yang mewah, kaya akan fitur, dan dapat digunakan untuk membuat beraneka raga program/aplikasi di berbagai bidang. C# mendukung beberapa paradigma pemrograman: imperatif, deklaratif, fungsional, serta pemrograman berorientasi objek. C# termasuk dalam keluarga C, dan fitur-fiturnya banyak diadopsi dari Java dan C++. C# menggunakan pustaka (library) yang terdapat dalam .NET Framework, kelengkapan di dalam pustaka .NET Framework menjadikan proses pengembangan program/aplikasi menggunakan C# relatif lebih mudah dan cepat jika dibandingkan dengan C++ dan Java.

No comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.