Jumat, 31 Maret 2017

3. PENGAMBILAN KEPUTUSAN (CONTROL FLOW)

Dalam bab ini akan dijelaskan beberapa hal :

- Menjelaskan tentang operator relasi dan logika
- Menjelaskan penggunaan if
- Menjelaskan penggunaan if - else
- Menjelaskan penggunaan if dalam if
- Menjelaskan penggunaan else - if
- Menjelaskan penggunaan switch

3.1. Operator Relasi.

Operator relasi berfungsi untuk membandingkan dua buah opreran atau nilai, hasil perbandingan tersebut berupa keadaan benar atau salah. gambar dibawah menunjukan operator relasi.



**Operator relasi sama dengan ( == ) tidak sama dengan operator ( = ) yang merupakan operator penugasan (assingment operator)

1 > 3 ---> Bernilai SALAH karena 1 lebih kecil dari 3
1 < 2 --->  Bernilai BENAR karena 1 lebih kecil dari 2
A == 1 ---> Bernilai BENAR jika A bernilai 1 dan SALAH jika A tidak bernilai 1
'A' < 'B' ---> Bernilai BENAR Karena dalam kode ASCII karakter A bernilai kurang dari karakter B

3.2. Operator Logika.

Operator logika digunakan untuk membandingkan dua nilai logika yaitu logika BENAR (TRUE) dan SALAH (FALSE). Operator ini sering digunakan dalam penyelesaian kondisi yang rumit dengan statement if, while dan do-while. gambar dibawah merupakan operator logika


&& disebut operator logika AND yang jika kedua operand bernilai 1 ( kedua operand tidak 0 ) maka kondisi menjadi BENAR (TRUE)

| | disebut operator logika OR yang jika salah satu operand bernilai 1 maka kondisi menjadi BENAR (TRUE)



! disebut operator logika NOT digunakan untuk membalikan kondisi dari operand, jika kondisi BENAR (TRUE) Maka Operator logika NOT akan mengubahnya menjadi SALAH (FALSE)

Perhatikan juga Penjelasan operator logika dengan gaya penulisan  yang berbeda di gambar bawah ini


3.3. Prioritas Operator Relasi dan Operator Logika

Perhatikan gambar dibawah ini  :










Berdasarkan prioritas gambar diatas, ekspresi ( 'A' < 'B' ) && ( 'B' > 'A' ) sama saka jika ditulis seperti berikut 'A' < 'B' && 'B' > 'A'

3.4. Pernyataan if

Pernyataan if digunakan unutk menyeleksi suatu kondisi, jika kondisi tersebut terpenuhi dengan kata lain kondisi tersebut benar maka statement yang mengikuti bentuk if tersebut akan dijalankan, jika tidak terpenuhi atau salah maka statement tersebut tidak dijalankan.

Bentuk penulisan pernyataan if dalam bahasa C
if (kondisi)
{statment yang akan dijalankan jika kondisi benar ;}


Contoh program menggunakan if dalam bahasa C:

#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a>b) //kondisi yang harus dipenuhi
    printf("data yang dimasukan a lebih besar dari pada b");
}


Dari contoh diatas statement  printf("data yang dimasukan a lebih besar dari pada b"); Hanya akan dijalankan jika kondisi if a > b terpenuhi.

3.5. Pernyataan if - else

Dalam Pernyataan if - else ditambahkan sebuah statement yang akan dijalankan jika  kondisi if tidak terpenuhi atau kondisi tersebut salah. jika kondisi benar statement pertama yang akan dijalankan jika salah statement kedua yang dijalankan (statement yang mengikuti else)

Bentuk penulisan pernyataan if - else dalam bahasa C
if (kondisi)
{statement yang akan dijalankan jika kondisi if terpenuhi/Benar ;}
else
{statement yang akan dijalankan jika kondisi if tidak terpenuhi/ kondisi salah
;}


Contoh Program menggunakan if - else dalam bahasa C
#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a>b) //kondisi yang harus dipenuhi
    printf("data yang dimasukan a lebih besar dari pada b");

    else
    printf("data yang dimasukan a lebih kecil atau sama dengan b");
}
 


Dari contoh program diatas jika kalian memasukan nilai variabel a lebih kecil atau sama dengan b maka statement kedua yang mengikuti else printf("data yang dimasukan a lebih kecil atau sama dengan b"); yang akan dijalankan. 

 3.5 Pernyataan if di dalam if

Dalam pernyataan if atau if - else bisa saja terdapat pernytaan if lagi atau dengan kata lain if di dalam if, bentuk seperti ini dinamakan nested if.

Berikut bentuk penulisan nested if atau if dalam if dalam bahasa C

if(kondisi 1)
if(kondisi 2)

{statement yang dijalankan jika kondisi 1 dan berlanjut kondisi 2 benar;}
else
{statement else pasangan if kondisi ke 2 yang akan dijalankan jika if kondisi ke 2 bernilai salah;}

else
{statement else terluar pasangan if kondisi pertama, dijalankan jika if kondisi pertama bernilai salah;}


- penulisan if dalam if tersebut bisa dengan sampai kondisi ke n, atau tak terhingga jadi tidak harus 2 kondisi saja

Contoh program menggunakan if dalam if dalam bahasa C
#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a >= b) //kondisi 1 yang harus terpenuhi
    if(b == a) //kondisi 2 yang harus terpenuhi
      { a * b ;
        printf("a * b = %d\n", a*b); }
    else
    {a / b ;  //jika if kondisi 2 bernilai salah maka else pasangan if   kondisi 2 ini yang dijalankan
     printf("a / b = %d\n", a/b);}
    else
    {a + b ; //jika if kondisi 1 bernilai salah maka else terluar pasangan if kondisi 1 ini yang dijalankan
     printf("a + b = %d\n", a+b);}
}

- Dari contoh program if dalam if diatas, jika kita memasukan nilai a lebih kecil dari b maka statement dari else terluar a+b yang akan dijalankan
- jika kita memasukan a lebih besar dari b maka if kondisi pertama terpenuhi tetapi if kondisi kedua tidak, maka sebab itu statement else yang mengikuti if kondisi kedua yang akan dijalankan yaitu a/b.
- jika kita memasukan nilai a sama dengan nilai b berarti if kondisi pertama dan kedua terpenuhi maka statement if kedua yang dijalankan yaitu a*b.

3.6 Pernyataan else-if

Pernyataan else-if juga termasuk pada kategori nested if. Pada else-if statement pada masing masing if akan dijalankan jika bernilai benar atau kondisi terpenuhi. Pada pernyataan else-if ini akan ditambahkan else yang statement yang mengkutinya akan dijalankan jika if dan else-if bernilai salah.

Bentuk penulisan else-if dalam bahasa C
if kondisi 1 )
{statement yang akan dijalankan jika kondisi pertama bernilai benar ;}
else if (kondisi 2)
{statement yang akan dijalankan jika kondisi 1 bernilai salah dan kondisi 2 bernilai benar ;}
 else
{statement yang akan dijalankan jika kondisi 1 dan 2 berniai salah ;}

Contoh program else-if menggunakan bahasa C
#include <stdio.h>
main()
{
    int a, b, c;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a > b) //kondisi 1 yang harus terpenuhi
    { c = a * b  ;
    printf("a * b = %d\n", c);}
    else if (a < b ) //kondisi 2 yang harus terpenuhi
    { c = b / a  ;
    printf(" b / a = %d\n", c);}
    else
    {printf("variabel a = variabel b");}
}

-Dari contoh program diatas jika kita memasukan nila a > b maka statement yang mengikuti if kondisi 1 akan dijalankan, dengan operasi aritmatika "c = a * b
-Jika kita memasukan nilai a < dari b maka yang dijalankan statement yang mengikuti else if yaitu dengan operasi aritmatika c = b / a
-tetapi jika kita memasukan a = b maka yang dijalankan statement yang mengikut else yaiut variabel a = variabel b.

 3.7. Pernyataan Switch.

Pernyataan switch  digunakan untuk menangani pengambilan keputusan yang banyak alternatifnya, pernyataan switch seringkali digunakan untuk menggantikan pernyataan nested if, tetapi kelemahan dari pernyataan switch yaitu tidak bisa menuliskan kondisi seperti di pernyataan if.

Bentuk penulisan pernyataan switch dalam bahasa C:
switch(nama_variabel)
{
          case syarat1 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;
         
case syarat2 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;

          case syarat3 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;
          default : kode yang akan dijalankan jika syarat diatas
          tidak terpenuhi;

}


Contoh program switch menggunakan bahasa C:
#include <stdio.h>
main()
{
    int a, b, hasil;
    char operator_aritmatika;
    printf("masukan nilai variabel a, operator_aritmatika dan b = ");
    scanf("%d, %c, %d", &a, &operator_aritmatika, &b);

    switch(operator_aritmatika)
    {
        case '*' :
        hasil = a * b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '/' :
        hasil = a / b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '+' :
        hasil = a + b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '-' :
        hasil = a - b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        default: printf("operator aritmatika tidak sesuai syarat");
     }
}

Pemrograman bahasa C, if, if-else, if-if, else-if dalam bahasa c, belajar bahasa c.





0 komentar:

Posting Komentar