Monday, October 5, 2015

Algoritma percabangan dalam bahasa pemrograman c-sharp

Selection statement atau percabangan digunakan untuk menentukan bagian mana dari program yang akan dieksekusi selanjutnya. C# menyediakan dua jenis selection statement, yaitu if dan switch statement.
a.       if
If statement digunakan untuk mengeksekusi kode program jika kondisi tertentu terpenuhi. Misalnya dalam hal melakukan operasi pembagian, program harus mencek terlebih dahulu apakah pembagi bernilai 0 atau tidak agar tidak terjadi runtime error.
using System;
namespace ConsoleApplication1
{
    class ContohIf
    {
        public static void Main2()
        {
            Console.Write("Masukkan nilai x : "); int x = int.Parse(Console.ReadLine());
            Console.Write("Masukkan nilai y : "); int y = int.Parse(Console.ReadLine());
            if (y != 0)
            {
                double hasil = x / y;
                Console.WriteLine("Hasil pembagian x/y = {0}",
                hasil);
            }
            Console.ReadLine();
        }
    }
}

Dalam contoh di atas, operasi pembagian dilakukan hanya jika y tidak bernilai 0. Bagaimana jika y bernilai 0? Program tidak akan mengeksekusi apa-apa jika nilai y sama dengan 0.
b.      if-else
Satu variasi dari if statement adalah if-else. Dalam statement ini, selain menentukan langkah apa yang harus dilakukan jika suatu kondisi terpenuhi, kita juga bisa menentukan langkah apa yang mesti dilakukan kalau kondisi tersebut TIDAK terpenuhi. Masih berhubungan dengan contoh sebelumnya, jika y bernilai 0, kita ingin mencetak pesan ke layar untuk memberitahukan kepada user bahwa operasi pembagian tidak bisa dilakukan karena pembagi bernilai 0
using System;
namespace ConsoleApplication1
{
    class ContohIfElse
    {
        public static void Main()
        {
            Console.Write("Masukkan nilai x : "); int x = int.Parse(Console.ReadLine());
            Console.Write("Masukkan nilai y : "); int y = int.Parse(Console.ReadLine());
            if (y != 0)
            {
                double hasil = x / y;
                Console.WriteLine("Hasil pembagian x/y = {0}", hasil);
            }
            else
            {
                Console.WriteLine("Error: y bernilai 0");
            }
            Console.ReadLine();
        }
    }
}
c.    switch
Seringkali dalam program kita ingin melakukan pengecekan untuk beberapa kemungkinan nilai dari suatu variable. Bila ini dilakukan dengan menggunakan if, bentuknya akan seperti berikut:
using System;
namespace csahrpku
{
    class ContohIfElseIf
    {
        public static void Main()
        {
            if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
            {
                Console.WriteLine("Sekarang hari Minggu");
            }
            else if (DateTime.Now.DayOfWeek == DayOfWeek.Monday)
            {
                Console.WriteLine("Sekarang hari Senin");

            }
            else if (DateTime.Now.DayOfWeek == DayOfWeek.Tuesday)
            {
                Console.WriteLine("Sekarang hari Selasa");
            }
            else
            {
                Console.WriteLine("Sekarang hari apa ya?");
            }
            Console.ReadLine();
        }
    }
}
Walaupun cara di atas dapat digunakan dan benar, ada cara lain yang lebih sederhana yaitu dengan menggunakan switch. Contohnya adalah sbb.:

using System;
namespace csharpku
{
    class ContohSwitch
    {
        public static void Main()
        {
            switch (DateTime.Now.DayOfWeek)
            {
                case DayOfWeek.Sunday:
                    {
                        Console.WriteLine("Sekarang hari Minggu"); break;
                    }
                case DayOfWeek.Monday:
                    {
                        Console.WriteLine("Sekarang hari Senin");
                        break;
                    }
                case DayOfWeek.Tuesday:
                    {
                        Console.WriteLine("Sekarang hari Selasa");
                        break;
                    }
                default:
                    {
                        Console.WriteLine("Sekarang hari apa ya?");
                        break;
                    }
            }
            Console.ReadLine();
        }
    }
}

Perhatikan hal-hal berikut dari contoh di atas:
Variabel yang dicek bisa bernilai angka atau string. Bandingkan dengan C yang hanya bisa menggunakan variabel bertipe angka
Keyword break harus digunakan untuk setiap case. Dalam C, break tidak mesti digunakan.

Bagian default dari switch berfungsi sepert else dalam if, artinya jika tidak ada kecocokan dalam case-case lainnya, maka bagian dalam case default yang akan dieksekusi. Bagian ini sebaiknya dibiasakan untuk diisi.

0 komentar

Post a Comment