Pengambilan Keputusan (Decision) Pemrograman Bahasa C (Bagian 1)


Banyak persoalan yang akan diselesaikan dengan komputer memerlukan sebuah pengambilan keputusan, misalnya menyimpulkan bahwa suatu bilangan adalah bilangan genap atau bilangan ganjil.

Bahasa C menyediakan beberapa jenis pernyataan, berupa :
  • Pernyataan if
  • Pernyataan if-else
  • Pernyataan switch

Kondisi

Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam pengambilan keputusan. Pernyataan kondisi adalah pernyataan yang bernilai TRUE (benar) atau FALSE (salah) yang dibentuk oleh operator kondisi, yaitu operator relasi atau digabung dengan operator logika.

Pada bahasa C nilai hasil dari sebuah pernyataan kondisi jika dinyatakan dengan angka adalah:
  • FALSE, nilai = 0
  • TRUE, nilai != 0 (misalnya nilai = 1)

Operator Relasi

Operator relasi digunakan untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan TRUE atau FALSE.
Tabel Operator Relasi
OperatorKeterangan
>Lebih dari
>=Lebih dari atau sama dengan
<Kurang dari
<=Kurang dari atau sama dengan
==Sama dengan
!=Tidak sama dengan
Operator relasi sama dengan (==) harap dibedakan dengan operator (=) yang merupakan operator penugasan (assignment).

Contoh pemakaian operator relasi :
KondisiHasil
1 > 2 FALSEdibaca : apakah 1 lebih dari 2 ?
1 > 2 TRUEapakah 1 kurang dari 2 ?
A == 1apakah A = 1 ? TRUE, jika A bernilai 1; FALSE jika A tidak bernilai 1
'A' < 'B'apakah 'A' kurang dari ‘B‘? TRUE, karena kode ASCII untuk karakter 'A' kurang dari kode ASCII untuk karakter 'B'
jawab == 'Y'apakah jawab == 'Y' ? TRUE, jika variabel jawab berisi 'Y'; FAlSE, jika variabel jawab tidak berisi 'Y'

Operator Logika

Operator logika dipakai untuk menghubungkan ekspresi relasi.
Tabel Operator Logika
OperatorKeterangan
&&dan (AND)
||atau (OR)
!tidak (NOT)
Bentuk pemakaian operator && dan || adalah

          operand1 operator operand2

Baik operand1 maupun operand2 dapat berupa ekspresi relasi ataupun ekspresi logika. Hasil pernyataannya bisa bernilai TRUE atau FALSE.

Tabel dibawah ini memberikan penjelasan hasil operasi ekspresi logika yang menggunakan operator && maupun || untuk berbagai kemungkinan keadaan operandnya.
Tabel Ekspresi Logika
Tampak bahwa operator atau (||) menghasilkan nilai 1 jika ada operand yang TRUE dan nilai 0 jika semua operand adalah salah. Adapun operator logika dan (&&) memberikan hasil 1 hanya jika kedua operand adalah benar.

Contoh ekspresi logika di antaranya :
- (kar >='A') && (kar <= 'Z') , Hasil operasi logika && adalah TRUE hanya jika kar > 'A' dan kar < 'Z' (dalam hal ini yang diperbandingkan adalah kode ASCII dari karakter tsb).
- (jawab == 'Y') || (jawab == 'y') , Hasil operasi logika || adalah TRUE jika jawab berupa 'Y' atau 'y‘.


Prioritas Operator Relasi dan Operator Logika

Berdasarkan prioritas yang ditunjukkan pada tabel di atas, maka ekspresi seperti
(kar > 'A') && (kar < 'Z')
sama saja kalau ditulis menjadi
kar > 'A' && kar < 'Z'
Hanya saja penulisan dengan menggunakan tanda kurung akan lebih memberikan kejelasan.

Pernyataan If

Pernyataan if mempunyai bentuk umum :

          if(kondisi)
                    pernyataan;

Bentuk ini menyatakan :
  • Kondisi diuji dulu, nilainya TRUE ataukah FALSE
  • Jika kondisi yang diseleksi adalah TRUE (bernilai logika = 1), maka pernyataan yang mengikutinya akan diproses.
  • Sebaliknya, jika kondisi yang diseleksi adalah FALSE (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan diproses.
Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Diagram alir dapat dilihat seperti gambar di bawah ini.

Contoh Program :
#include <stdio.h>
main(){
    
    float total, diskon;
    printf("Total belanja : ");
    scanf("%f", &total); 
    if(total >= 100000)
 diskon = total * 0.1; //diskon 10%
    printf("Total yang harus dibayar : %0.2f\n", total-diskon);

}
Output Program :

Penjelasan : 
Program akan meminta input total belanja dari user. Jika total belanja lebih dari atau sama dengan 100000, maka total belanja akan mendapat diskon (pernyataan baris nomor 8 akan dieksekusi).
Jika total belanja kurang dari 100000, maka total belanja tidak akan mendapat diskon (pernyataan baris nomor 8 tidak akan dieksekusi).

Untuk pernyataan if yang diikuti dengan pernyataan majemuk, bentuknya adalah sebagai berikut :
if (kondisi)
{                    //tanda awal pernyataan majemuk
    pernyataan_1;
    pernyataan_2;
    -
    -
    pernyataan_n;
}                    //tanda akhir pernyataan majemuk

Pernyataan-pernyataan yang berada di antara tanda kurung { dan } akan dijalankan hanya jika kondisi if bernilai TRUE

Pernyataan If Else

Pernyataan if else bentuk umumnya :

if(kondisi)
          pernyataan_1;
else
          pernyataan_2;

Diagram alir dapat dilihat seperti pada gambar dibawah ini.
Arti dari pernyataan if else :
  • Kondisi diuji dulu, nilainya TRUE ataukah FALSE
  • Jika kondisi TRUE atau benar, maka pernyataan-1 dijalankan.
  • Sedangkan bila kondisi bernilai FALSE atau salah, maka pernyataaan-2 yang dijalankan.
Contoh penggunaan pernyataan if-else adalah untuk menyeleksi nilai suatu bilangan pembagi. Jika nilai bilangan pembagi adalah nol, maka hasil pembagian dengan nilai nol akan mendapatkan hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses pembagian tidak akan dilakukan. Contoh program :
#include <stdio.h>
main(){
    
    //inisialisasi variabel
    float bil1, bil2;
    
    //input output
    printf("Masukkan bilangan 1 : ");
    scanf("%f", &bil1);
    printf("Masukkan bilangan 2 : ");
    scanf("%f", &bil2); 
    
    //if else
    if(bil2 == 0)
    printf("Tidak dapat dibagi dengan nol");
    else
    printf("hasil pembagian = ", bil1/bil2);

}
Output :

Pernyataan if else juga bisa diikuti dengan pernyataan majemuk :
if (kondisi)
{                    //tanda awal blok if
    pernyataan_1;
    pernyataan_2;
    -
    -
    pernyataan_n;
}                    //tanda akhir blok if
else
{                    //tanda awal blok else
    pernyataan_1;
    pernyataan_2;
    -
    -
    pernyataan_n;
}                    //tanda akhir blok else

Pernyataan-pernyataan pada blok if akan dijalankan hanya jika kondisi if bernilai TRUE.
Pernyataan-pernyataan pada blok else akan dijalankan hanya jika kondisi if bernilai FALSE.


Baca artikel selanjutnya :  Pengambilan Keputusan (Decision) Pemrograman Bahasa C (Bagian 2).





Sekian artikel tentang Pengambilan Keputusan (Decision) Pemrograman Bahasa C. Terima kasih dan semoga bermanfaat :)

"Setiap teknologi memiliki resiko yang dapat menghancurkan kehidupan. Tapi kita juga memerlukan teknologi tersebut untuk membangun kehidupan yang lebih baik."

Related Posts

Previous
Next Post »
Load comments

Ketentuan Komentar !!!
------------------------------
1. Komentar sesuai dengan artikel di atas
2. Komentar SPAM otomatis di blokir dan tidak akan dimunculkan
3. Komentar meninggalkan link aktif otomatis terhapus
4. Berkomentar dengan etika

Terima kasih atas komentarnya, semoga postingan di atas bermanfaat :)