.:::: AgusSudiarta ::::.

Struktur Kontrol Percabangan

Disini kita akan membahas bagaimana membuat program yang dapat mengambil keputusan berdasarkan input dari pengguna atau hasil dari suatu perhitungan.

Operator Relasional

Ada beberapa Operator Relasional
  1. >     : lebih besar
  2. >=   : lebih besar atau sama dengan
  3. <     : lebih kecil
  4. <=   : lebih kecil atau sama dengan
  5. ==   : sama dengan
  6. !=    : tidak sama dengan


Operator relasional melambangkan hubungan antara dua entitas. Entitas tersebut bisa berupa variabel, konstanta maupun fungsi . Nilai dari hubungan tersebut adalah TRUE atau FALSE.

Contoh :
1. 5>3 : bernilai benar (TRUE)
2. 6<2 : bernilai salah (FALSE)
3. 45!=34 : bernilai benar (TRUE)
4. (5 + 4) <= (3x3) : bernilai benar (TRUE)
5. 6/7 >= 12/17 : bernilai benar (TRUE)



Hasil dari operator relasional adalah nilai TRUE atau FALSE. Nilai TRUE bernilai sama dengan 1, sedangkan FALSE bernilai sama dengan 0.

Contoh dalam Bahasa C:

#include <stdio.h>
void main() {

     printf(“3<5 bernilai : %d\n”, 3<5);
     printf(“15>=3*5 bernilai : %d\n”, 15>=3*5);
     printf(“ 8 == 7 bernilai : %d\n”, 8==7);
     printf(“11<=5+4 bernilai : %d\n”, 11<=5+4);

}

Outputnya :

3<5 bernilai : 1
15>=3*5 bernilai : 1
8==7 bernilai : 0
11<=5+4 bernilai : 0  




Struktur Kontrol : Percabangan



Program dapat menentukan operasi/perintah mana yang akan dijalankan sesuai kondisi tertentu. Bentuknya seperti pilihan atas alternatif-alternatif yang disediakan.
Prinsipnya mirip seperti dibawah ini :


  • Ada 2 wanita, A dan B. A itu kurang cantik tapi baik dan pintar, sedangkan B itu cantik dan baik tapi kurang pintar. Pilih A atau B ?

Ada 3 macam perintah percabangan di C:


  • If (kondisi) 
          <statement>


  • If (kondisi)
          {...<statement>...}
          else
          {...<statement>...}


  • switch (expression) {...<statement>...}

        • Perintah percabangan pertama, sintaksnya :
                  If (kondisi)
                         <statement>
        • (kondisi) diisi dengan operator relasional
        §  Contoh : (nilai > 80)
        • <statement> adalah perintah yang dijalankan jika kondisi terpenuhi
        §  Contoh : printf(“Nilai anda : A”);
        Lengkapnya menjadi :
                       
                        if(nilai > 80)
                                        printf(“Nilai anda : A”);
        • Pada bentuk
                       If (kondisi)
                           <statement>
        Ada kemungkinan untuk menjalankan lebih dari 1 perintah, menjadi:
                        If (kondisi) {
                                       
                                       <statement>
                                       
                        }
        Contoh:
                       
                        if(nilai > 80) {
                                        printf(“selamat anda lulus alpro\n”);
                                      printf(“nilai anda : A”);
                        }    
        • Perintah percabangan kedua, sintaksnya :
                        If (kondisi)
                                        <statement A>
                        else
                                        <statement B>
        Mirip dengan bentuk pertama, tapi yang ini ditambah dengan else, yang memuat perintah-perintah yang dijalankan jika (kondisi) tidak terpenuhi
        Contoh:
        Bila jumlah membolos lebih dari 5 maka tampilkan pesan “tidak boleh ujian”, jika tidak maka tampilkan pesan “boleh ujian”.
                       
                        if(bolos>5)
                                        printf(“tidak boleh ujian”);
                        else
                                        printf(“boleh ujian); 
        Penulisan if-else tersebut dapat menggunakan conditional operator seperti berikut:
        bolos > 5? printf(“tidak boleh ujian”) : printf(“boleh ujian”);
              (kondisi)?<statement 1> : <statement 2>;
        Jumlah alternatif kondisi bisa lebih dari 1, seperti contoh berikut :
                       
                        if(suhu>=100)
                                        printf(“berwujud gas”);
                        else if(suhu<=0)
                                        printf(“wujud padat”);
                        else
                                        printf(“wujud cair”);  
        Pada C, kondisi yang bernilai tidak sama dengan 0 (nol) berarti bernilai TRUE, jika nilainya 0 maka bernilai FALSE.  
        Contoh:
        If(4+5)                  à bernilai TRUE  
        Bagaimana dengan if(4-5)? Apa nilainya?
        • Bentuk ketiga menggunakan switch.
        • Formatnya:
         
                        switch(expression) {
                            case <constant expr> : <statement>;
                                                                          break;
                            …
                            case <constant expr> : <statement>;
                                                                         break;
                                        default : <statement>;
                        }
        • switch (expression)
        §  Expression di sini biasanya adalah variabel/fungsi
        • Constant-expr : konstanta
        §  Berupa konstanta, misal ‘A’, 4, 20 dan sebagainya
        Kode program menjadi lebih mudah dibaca bila ditulis menggunakan switch dibanding if-else-if
        • default : à perintah yang dijalankan bila tidak memenuhi kriteria-kriteria yang ada 
         
        Contoh:
                        switch(nilai) {
                                        case ‘A’ : bobot = 4;
                                                        break;
                                        case ‘B’ : bobot = 3;
                                                        break;
                                        case ‘C’ : bobot = 2;
                                                        break;
                                        default : bobot = 1;
                        }
        Keyword break digunakan untuk keluar dari operasi switch. Jika tidak ditemukan break, maka operasi akan dilanjutkan ke constant-expression berikutnya.
        Operasi Logical
        Pada struktur kontrol percabangan, (kondisi) yang dicek selain menggunakan operator relasional juga dapat dikombinasikan dengan operator logical
        • Operator logical : AND (&&), OR (||), NOT (!) 
        • Operator precedence
                       
                  !                                  not
                  *      /                          perkalian dan pembagian
                  <=  =>  >         
                  ==     !=
                 &&                              AND
                 ||                                  OR
        • Operator Logical AND 
         
        A
        B
        A && B
        TRUE
        TRUE
        TRUE
        TRUE
        FALSE
        FALSE
        FALSE
        TRUE
        FALSE
        FALSE
        FALSE
        FALSE
         
        • Operator Logical OR
         
        A
        B
        A || B
        TRUE
        TRUE
        TRUE
        TRUE
        FALSE
        TRUE
        FALSE
        TRUE
        TRUE
        FALSE
        FALSE
        FALSE
          
        • Operator Logical NOT
         
        A
        !A
        TRUE
        FALSE
        FALSE
        TRUE
        • Apa nilai dari expression berikut ?
         
                        (5==5)||(6==7)
                        (!5)||(5>=6) && (3==3)
                        !(4 < 3) && (5<=10) || (‘b’ < ‘d’) && (!0)
        • Kita dapat menggunakan operator logical untuk digunakan sebagai pengecekan kondisi pada percabangan if
         
            Contoh:
                        if((nilai>40) && (nilai < 60))
                                        printf(“nilai huruf : C”);
                        else if((nilai > 61) && (nilai < 80))
                                        printf(“nilai huruf : B”);
                        else if(nilai > 81)
                                        printf(“nilai huruf : A”);
        Nasted If
        Jika diperlukan, kita bisa melalukan operasi percabangan dalam percabangan (nested if), Jika statement di dalam if tersebut lebih dari satu, maka perlu ditambahkan curly bracket {  } untuk mengelompokkannya.
        Contoh Nasted If :
        int a = 10; int b = 15; int c = 20;
                        if(a>b) {
                                        if(a>c)
                                                        printf(“a yang terbesar”);
                                        else
                                                        printf(“c yang terbesar”);
                        }  else if (b>c) {
                                        if(b>a)
                                                        printf(“b yang terbesar”);
                                        else
                                                        printf(“a yang terbesar”);
                        } else if(c>a) {
                                        if(c>b)
                                                        printf(“c yang terbesar”);
                                        else
                                                        printf(“b yang terbesar”);
                        }
        0 komentar:

        Post a Comment

        Catatan

        About Me

        My photo
        Ikuti kata hati kemana kaki harus melangkah

        Obrolan

        Followers


        free counters
        Avenged Sevenfold ~ Dear God

        Get more songs & code at www.stafaband.info

        Slipknot - Snuff