Kamis, Juli 02, 2015

Programming in C - Part 6: Pengambilan Keputusan (percabangan) dalam bahasa C

Pengambilan keputusan adalah sesuatu yang sangat mendasar dan sangat sering dilakukan dalam bahasa pemrograman.Pengambilan keputusan atau percabangan yang dimaksudkan disini adalah ketika kita harus memilih melakukan pekerjaan A, B atau C dst. Apabila masing masing pekerjaan tersebut membutuhkan persyaratan tertentu, misalnya untuk dapat melakukan pekerjaan A,maka syarat A harus terpenuhi, atau jika syarat A tidak terpenuhi maka kita bisa memilih untuk melakukan pekerjaan lainnya. mungkin contoh yang lebih mudah adalah jika anda mengingat sistem penilaian di perguruan tinggi, dimana (syarat) jika anda mendapat nilai > 90 (tindakan berikutnya) maka anda akan mendapat nilai A, jika kurang dari 90 tapi lebih dari 80 maka akan mendapat B dst..

Pengambilan keputusan dengan IF ...

sebagai ilustrasi, perhatikan gambar pengambilan keputusan diatas dan ilustrasi di bawah ini :

JIKA Andi lulus kuliah (syarat/kondisi) MAKA ia akan mengadakan acara selamatan dan mencukur rambutnya (pekerjaan)
dalam bahasa C analogi ini dapat ditulis :

if (andi lulus kuliah)
{
    adakan acara selamatan ;
    cukur rambut ;
}


dalam bahasa pemrograman, (andi lulus kuliah) adalah sebuah kondisi. Sebuah kondisi harus bernilai BENAR agar semua perintah yang berada di antara tanda kurung kurawal {}  atau disebut juga "blok perintah" dapat dilaksanakan. Jika tidak bernilai benar atau (andi tidak lulus), maka perintah tidak akan dilaksanakan.
Pada contoh diatas, (andi lulus kuliah) harus bernilai benar atau dengan kalimat "andi lulus".

Anda bisa melihat kembali pembahasan mengenai operator untuk dapat memahami kondisi ini. Namun dalam tulisan ini  saya akan memberi contoh sederhana

2 < 5    bernilai benar dua kurang dari lima
10 > 4    bernilai benar
10 < 4    bernilai salah

Sebagai tambahan, nilai SALAH dalam bahasa pemrograman dapat dieskpresikan dalam bentuk angka 0 (nol). selain angka 0 akan dianggap BENAR

lihat contoh berikut ini:


/* =======================================
 * Contoh pengambilan keputusan dengan IF....
 * Created by: Sastrawan
 * Topik : IF..
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
   
    int a = 10, b=100 ;
   
    if(a > b)
    {
        printf("a lebih dari b") ;
    }
   
    if(a < b)
    {
        printf("a kurang dari b") ;
    }
   
    if(a == b)
    {
        printf("a sama dengan b") ;
    }
    return 0;
   
 }


Jika program ini dijalankan maka hanya akan ada satu baris keluaran pada monitor. Anda pasti bisa menebak yang mana?. Disini ada tiga blok perintah bersyarat. Akan tetapi karena hanya ada 1 syarat yang terpenuhi maka hanya ada satu perintah yang dijalankan.
Cobalah untuk mengganti angka a menjadi 100 dan jalankan program sekali lagi.
Cobalah untuk mengganti angka a menjadi 125 dan jalankan program sekali lagi.

Pengambilan keputusan dengan IF ... ELSE ...


perhatikan contoh berikut

JIKA Andi lulus kuliah (syarat/kondisi) MAKA ia akan mengadakan acara selamatan dan mencukur rambutnya (pekerjaan) TAPI JIKA TIDAK maka ia akan belajar lebih giat dan berhenti main playstation.

dalam bahasa C analogi ini dapat ditulis :

if (andi lulus kuliah)
{
    adakan acara selamatan ;
    cukur rambut ;
}
else
{
    belajar lebih giat;
    berhenti main playstation;
   
}

   
saya kira ilustrasi ini sangat jelas. Jika kondisi terpenuhi maka blok perintah pertama akan dieksekusi sendangkan blok perintah setelah kata 'else' akan diabaikan. sebaliknya jika kondisi tidak terpenuhi maka blok perintah pertama akan diabaikan dan blok perintah setelah else akan dilaksanakan.

contoh:

/* =======================================
 * Contoh pengambilan keputusan dengan IF....
 * Created by: Sastrawan
 * Topik : IF...ELSE
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
   
    int a = 10, b=100 ;
   
    if(a > b)
    {
        printf("a lebih dari b") ;
    }
    else
    {
        printf("a tidak lebih besar daripada b");
    }
   
    return 0;
   
 }


Coba tebak apa yang akan anda dapatkan setelah mengeksekusi program di atas ?


Cobalah untuk mengganti angka a menjadi 100 dan jalankan program sekali lagi.
Cobalah untuk mengganti angka a menjadi 125 dan jalankan program sekali lagi.

Pengambilan keputusan dengan IF ... ELSE IF ... ELSE


perintah ini digunakan untuk mengevaluasi lebih dari dua kondisi. perhatikan contoh berikut

/* =======================================
 * Contoh pengambilan keputusan dengan IF....
 * Created by: Sastrawan
 * Topik : IF...ELSE IF
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
   
    int a = 10, b=100 ;
   
    if(a > b) {
        printf("a lebih dari b") ;
    }     else if (a == b) {
        printf ("a sama dengan b");
    }    else {
        printf("a lebih kecil daripada b");
    }
   
    return 0;
   
 } 

Pengambilan keputusan dengan statemen SWITCH


Statemen 'switch' memudah kita untuk mengambil keputusan dari banyak pilihan tersedia. 

perhatikan contoh berikut

 /* =======================================
 * Contoh pengambilan keputusan dengan IF....
 * Created by: Sastrawan
 * Topik : IF...ELSE IF
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
   
    int a = 10, b=100 ;
    switch(a) {
         case 10:
                    printf("nilai a = 10");
                    break ;
         case 100:
                    printf("nilai a = 100");
                    break ;
         case 125:
                    printf("nilai a = 125");
                    break ;
         default:
                    printf("nilai a bukan 10, 100, atau 125");
    }
   
    printf("\nnilai a adalah %d dan nilai b adalah %d", a,b)   ;
   
    return 0;
   
 }
 

 
Statemen switch(a) digunakan untuk menevaluasi nilai a. selanjutnya statement 'case' digunakan untuk menangkap hasil evaluasi tersebut dan menjalankan perintah yang ada dibawahnya jika 'case' sesuai.
Statement 'break' digunakan untuk memerintahkan program untuk keluar dari blok switch. jika tidak digunakan perintah break maka perintah berikutnya akan dilaksanakan.
Statemen 'default' digunakan untuk menangkap semua yang tidak dapat ditangkap oleh 'case'. perhatikan bahwa kita tidak memerlukan perintah break untuk default karena blok perintah switch memang sudah selesai.

Cobalah untuk mengganti angka a menjadi 100 dan jalankan program sekali lagi.
Cobalah untuk mengganti angka a menjadi 125 dan jalankan program sekali lagi.
Cobalah untuk mengganti angka a menjadi 90 dan jalankan program sekali lagi.


Pengambilan keputusan dengan ? :

Bentuk ? : sebenarnya adalah bentuk pendek dari if .. else ... yang biasanya hanya berisi satu perintah pada blok if dan else. penulisannya dilakukan dengan cara

(kondisi) ? kondisi terpenuhi : kondisi tidak terpenuhi ;

perhatikan contoh berikut ini

/* =======================================
 * Contoh pengambilan keputusan dengan IF....
 * Created by: Sastrawan
 * Topik : ? :
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
   
    int a = 10 ;
   
    (a == 10) ? printf("a sama dengan 10") : printf("a tidak sama dengan b");
       
    return 0;
   
 }


 bisakan anda melihat perbedaannya dengan metode yang lain ?

 

0 comments:

Posting Komentar

Write your comment here