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

Friday, July 21, 2017


Banyak duduk masalah yang akan diselesaikan dengan komputer memerlukan sebuah pengambilan keputusan, contohnya menyimpulkan bahwa suatu bilangan yaitu 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 yaitu pernyataan yang bernilai TRUE (benar) atau FALSE (salah) yang dibuat oleh operator kondisi, yaitu operator korelasi atau digabung dengan operator logika.

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

Operator Relasi

Operator korelasi 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 korelasi sama dengan (==) harap dibedakan dengan operator (=) yang merupakan operator penugasan (assignment).

Contoh pemakaian operator korelasi :
KondisiHasil
1 > 2 FALSEdibaca : apakah 1 lebih dari 2 ?
1 > 2 TRUEapakah 1 kurang dari 2 ?
A == 1apakah A = 1 ? TRUE, kalau A bernilai 1; FALSE kalau A tidak bernilai 1
'A' < 'B'apakah 'A' kurang dari ‘B‘? TRUE, alasannya instruksi ASCII untuk huruf 'A' kurang dari instruksi ASCII untuk huruf 'B'
jawab == 'Y'apakah jawab == 'Y' ? TRUE, kalau variabel jawab berisi 'Y'; FAlSE, kalau variabel jawab tidak berisi 'Y'

Operator Logika

Operator logika digunakan 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 korelasi ataupun ekspresi logika. Hasil pernyataannya sanggup bernilai TRUE atau FALSE.

Tabel dibawah ini memperlihatkan klarifikasi hasil operasi ekspresi budi yang memakai operator && maupun || untuk banyak sekali kemungkinan keadaan operandnya.
Tabel Ekspresi Logika
Tampak bahwa operator atau (||) menghasilkan nilai 1 kalau ada operand yang TRUE dan nilai 0 kalau semua operand yaitu salah. Adapun operator budi dan (&&) memperlihatkan hasil 1 hanya kalau kedua operand yaitu benar.

Contoh ekspresi budi di antaranya :
- (kar >='A') && (kar <= 'Z') , Hasil operasi budi && yaitu TRUE hanya kalau kar > 'A' dan kar < 'Z' (dalam hal ini yang diperbandingkan yaitu instruksi ASCII dari huruf tsb).
- (jawab == 'Y') || (jawab == 'y') , Hasil operasi budi || yaitu TRUE kalau 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 memakai tanda kurung akan lebih memperlihatkan kejelasan.

Pernyataan If

Pernyataan if memiliki bentuk umum :

          if(kondisi)
                    pernyataan;

Bentuk ini menyatakan :
  • Kondisi diuji dulu, nilainya TRUE ataukah FALSE
  • Jika kondisi yang diseleksi yaitu TRUE (bernilai budi = 1), maka pernyataan yang mengikutinya akan diproses.
  • Sebaliknya, kalau kondisi yang diseleksi yaitu FALSE (bernilai budi = 0), maka pernyataan yang mengikutinya tidak akan diproses.
Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan sanggup berupa sebuah pernyataan tunggal, pernyataan beragam atau pernyataan kosong. Diagram alir sanggup dilihat ibarat 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 yaitu sebagai berikut :
if (kondisi) {                    //tanda awal pernyataan beragam     pernyataan_1;     pernyataan_2;     -     -     pernyataan_n; }                    //tanda final pernyataan beragam  
Pernyataan-pernyataan yang berada di antara tanda kurung { dan } akan dijalankan hanya kalau kondisi if bernilai TRUE

Pernyataan If Else

Pernyataan if else bentuk umumnya :

if(kondisi)
          pernyataan_1;
else
          pernyataan_2;

Diagram alir sanggup dilihat ibarat 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 yaitu untuk menyeleksi nilai suatu bilangan pembagi. Jika nilai bilangan pembagi yaitu nol, maka hasil pembagian dengan nilai nol akan mendapat hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses pembagian tidak akan dilakukan. Contoh kegiatan :
#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 sanggup dibagi dengan nol");     else     printf("hasil pembagian = ", bil1/bil2);  }
Output :

Pernyataan if else juga sanggup diikuti dengan pernyataan beragam :
if (kondisi) {                    //tanda awal blok if     pernyataan_1;     pernyataan_2;     -     -     pernyataan_n; }                    //tanda final blok if else {                    //tanda awal blok else     pernyataan_1;     pernyataan_2;     -     -     pernyataan_n; }                    //tanda final blok else  
Pernyataan-pernyataan pada blok if akan dijalankan hanya kalau kondisi if bernilai TRUE.
Pernyataan-pernyataan pada blok else akan dijalankan hanya kalau 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 biar bermanfaat :)
Sumber https://wapwibowo.blogspot.com/