Tuesday, 30 August 2016

7. Pengambilan Keputusan C# (Basic/Dasar)

Hello guys kali ini kita akan membahas tentang pengambilan keputusan dalam pemrograman, pengambilan keputusan dalam bahasa pemrograman. Pengambilan keputusan sangatlah penting dalam dunia pemrograman dan ini paling banyak dipakai saat melakukan pengecekan kondisi dan menjalankan logika ketika program berjalan.

Yang paling umum dipakai dalam bahasa pemrograman adalah syntax:

if(kondisi) // jika kondisi benar maka jalankan
{
    jalankan logika
}
else if(kondisi yang lainnya) // jika kondisi benar maka jalankan
{
    jalankan logika dengan kondisi yang lainnya
}
else // jika kondisi tidak ada yang benar maka jalankan
{
    jalankan logika yang lain jika tidak termasuk dalam kondisi sebelumnya
}

Secara umum bisa diilustrasikan sebagai berikut:


1. IF Statement



IF statement adalah untuk melakukan pengecekan hanya pada satu kondisi tertentu tanpa ada alternatif kondisi yang lain.

if(kondisi)
{
    jalankan logika
}

Contoh program untuk simulasi kondisi if:

using System;
namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         /* local variable definition */
         int a = 10;
         /* check the boolean condition using if statement */
         if (a < 20)
         {
            /* if condition is true then print the following */
            Console.WriteLine("a is less than 20");
         }
         Console.WriteLine("value of a is : {0}", a);
         Console.ReadLine();
      }
   }
}

Hasil program ketika dijalankan:

a is less than 20;
value of a is : 10

2. IF ... ELSE Statement


If ... else statement digunakan untuk melakukan pengecekan pada beberapa alternatif kondisi, jika kondisi pertama tidak ada maka jalankan pengecekan pada kondisi yang lainnya.

if(kondisi_1)
{
    jalankan logika 1
}
else if(kondisi_2)
{
    jalankan logika 2
}
else
{
    jalankan logika jika tidak termasuk salah satu dari kondisi sebelumnya
}

Berikut adalah contoh untuk statement if ... else:

using System;
using System;
namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         /* local variable definition */
         int a = 100;
         
         /* check the boolean condition */
         if (a == 10)
         {
            /* if condition is true then print the following */
            Console.WriteLine("Value of a is 10");
         }
         
         else if (a == 20)
         {
            /* if else if condition is true */
            Console.WriteLine("Value of a is 20");
         }
         
         else if (a == 30)
         {
            /* if else if condition is true  */
            Console.WriteLine("Value of a is 30");
         }
         
         else
         {
            /* if none of the conditions is true */
            Console.WriteLine("None of the values is matching");
         }
         Console.WriteLine("Exact value of a is: {0}", a);
         Console.ReadLine();
      }
   }
}

Setelah program dijalankan akan mendapatkan hasil sebagai berikut:

None of the values is matching
Exact value of a is: 100

3. IF Statement di dalam IF (Bersarang)

Kondisi if bersarang adalah pengecekan dimana kita melakukan pengecekan lagi dengan kondisi if didalam blok if.

if(kondisi_1)
{
    jalankan logika

    if(kondisi_3)
    {
        jalankan logika
    }
}
else if(kondisi_2)
{
    jalankan logika

    if(kondisi_4)
    {
        jalankan logika
    }
}
else
{
    jalankan logika
}

Berikut adalah contoh program untuk kondisi bersarang:

using System;
namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         //* local variable definition */
         int a = 100;
         int b = 200;
         
         /* check the boolean condition */
         if (a == 100)
         {
            /* if condition is true then check the following */
            if (b == 200)
            {
               /* if condition is true then print the following */
               Console.WriteLine("Value of a is 100 and b is 200");
            }
         }
         Console.WriteLine("Exact value of a is : {0}", a);
         Console.WriteLine("Exact value of b is : {0}", b);
         Console.ReadLine();
      }
   }
}

Hasil setelah program dijalankan:

Value of a is 100 and b is 200
Exact value of a is : 100
Exact value of b is : 200

4. SWITCH Statement


Switch statement digunakan untuk melakukan pengecekan untuk beberapa kondisi sekaligus, jika kondisi sudah di temukan maka akan keluar dari blok switch dengan statement break.

switch(ekspresi)
{
    case konstanta-ekspresi:
        jalankan logika
        break;

    case kontanta-ekspresi:
        jalankan logika
        break;

    default:
        jalankan logika jika tidak ada yang cocok dengan konstanta-ekspresi
}

Dari format diatas terdapat default, fungsi default disini adalah sama dengan kondisi else pada statement if ... else.

Contoh program untuk kondisi switch:

using System;
namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         /* local variable definition */
         char grade = 'B';
         
         switch (grade)
         {
            case 'A':
               Console.WriteLine("Excellent!");
               break;
            case 'B':
            case 'C':
               Console.WriteLine("Well done");
               break;
            case 'D':
               Console.WriteLine("You passed");
               break;
            case 'F':
               Console.WriteLine("Better try again");
               break;
               default:
            Console.WriteLine("Invalid grade");
               break;
         }
         Console.WriteLine("Your grade is  {0}", grade);
         Console.ReadLine();
      }
   }
}

Setelah program dijalankan akan mengeluarkan hasil sebagai berikut:

Well done
Your grade is B

5. SWITCH Statement di dalam SWITCH (Bersarang)

Pada dasarnya sama seperti switch statement hanya saja ada pengecekan dengan switch lagi.

Berikut adalah contoh program untuk switch bersarang:

using System;
namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         int a = 100;
         int b = 200;
         
         switch (a) 
         {
            case 100: 
            Console.WriteLine("This is part of outer switch ");
            switch (b)
            {
               case 200:
               Console.WriteLine("This is part of inner switch ");
               break;
            }
            break;
         }
         Console.WriteLine("Exact value of a is : {0}", a);
         Console.WriteLine("Exact value of b is : {0}", b);
         Console.ReadLine();
      }
   }
} 

Hasil setelah program dijalankan:

This is part of outer switch
This is part of inner switch
Exact value of a is : 100
Exact value of b is : 200

Kita juga bisa melakukan kombinasi antara kondisi if else dengan switch untuk mendapatkan hasil pengambilan keputausan yang baik.

Operator (kondisi) ? (jalankan logika)  : (jalankan logika lainnya):

Operator ? : adalah operator untuk shortcut kondisi if ... else, biasanya digunakan untuk pengecekan yang tidak memerlukan statement logika yang panjang.

ekspresi_1 ? ekspresi_2 : ekspresi_3;

Akan melakukan pengecekan pada ekspresi_1 jika ekspresi_1 bernilai benar maka jalankan ekspresi_2 jika tidak maka jalankan ekspresi_3.

Contoh program untuk simulasi (kondisi) ? (jalankan logika)  : (jalankan logika lainnya):

namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         bool m_bool = true;

         // melakukan pengecekan jika m_bool bernilai benar maka isi a dengan 100
         // tetapi jika m_bool bernilai salah maka isi a dengan 50
         int a = m_bool ? 100 : 50;
         
         Console.WriteLine("Exact value of a is : {0}", a);
         Console.ReadLine();
      }
   }
}

Hasil keluaran program akan seperti berikut:

Exact value of a is : 100

Ok guys selamat berkarya dan belajar, sampai ketemu lagi di next tutorial Loot/Pengulangan.

No comments:

Post a Comment