Rabu, 02 November 2011

PENGAMBILAN KEPUTUSAN DENGAN IF-ELSE



5.1. Tujuan Pembahasan Materi
1.      Mengenal dan memahami operator dan control bahasa C.
2.       Mengerti dan memahami struktur kontrol if-else.
3.      Dapat menggunakan struktur control if-else dalam pemrograman.
5.2. Pokok Pembahasan
            Banyak cara yang diperlukan untuk membuat keputusan, seperti cara untuk mengatur agar computer bisa melakukan suatu pengambilan keputusan, salah satu contoh yakni  agar computer bisa mennyimpulkan bahwa suatu bilangan merupakan bilangan genap atau bilangan ganjil, oleh sebab itu, untuk menyikapi keperluan seperti itu maka terdapat beberapa jenis pernyataan yang terdapat pada program bahasa C diantaranya dengan pernyataan if-else.
            Pernyataan dengan if dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Selain itu juga terdapat perpanjangan dari pernyataan if tersebut, yakni biasa disebut dengan pernyataan if bertingakat, diantara pernyataan-pernyataan tersebut diantaranya adalah pernyataan  if-else, if dalam if dan else-if. Pernyataan if-else biasanya digunakan untuk menyeleksi nilai suatu bilangan pembagi, sedangkan if dalam if digunakan untuk menyeleksi beberapa pernyataan sampai ditemukannya suatu pernyataan yang dianggap bernilai benar. Dan pernyataan else-if adalah merupakan suatu jenis operasi yang dikenakan bergantung pada jenis operator yang dimasukkan oleh pengguna program.
            Sedangkan operator yang digunakan untuk menghasilkan kondisi benar atau salah, bisa menggunakan operator relasi atau juga berupa operator logika.
            Operator relasi merupakan operator yang biasa dipakai untuk membandingkan dua buah nilai. Hasil pembanding bisa berupa keadaan benar atau  juga keadaan salah. Sedangkan operator logika merupakan operator yang biasa digunakan untuk menghubungkan ungkapan relasi.
5.3. Dasar Teori
            Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk operator dan struktur dasar pemilihan ini :
5.3.1 Operator relasi
            Operator relasi biasa digunakan untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Adapun operator relasi dalam bahasa C, sebagai berikut :
                          Table 5.1. Tanda Operator Relasi
> 
lebih dari
> =
lebih dari atau sama dengan
< 
kurang dari
< =
kurang dari atau sama dengan
= =
sama dengan
! =
tidak sama dengan

5.3.2. operator kondisi
            Operator logika biasa digunakan untuk menghubungkan ungkapan relasi. Adapun operator logika dalam bahasa C adalah sebagai berikut :
                                    Table 5.2. Operator Logika
Operator
makna
&&
and (AND)
||
atau (OR)
!
tidak (NOT)

            Dalam operator ini juga terdapat operand operand, diantaranya operand1, operand 2 dan operand3.
            Operand1 dan operand2 dapat berupa ekspresi relasi ataupun ekspresi logika. Hasil ekspresi bisa bernilai salah atau benar. Pada bahasa C nilai hasil dari sebuah ekspresi relasi maupun ekspresi logika jika dinyatakan dengan angka adalah :
·         Salah               nilai  = 0
·         Benar               nilai ! = 0 ( misalnya nilai = 1)
Table dibawah ini akan memberikan penjelasan hasil operasi ekspresi logika yang mnggunakan operator && maupun | | untuk berbagai kemungkinan keadaan operand-nya
Tabel 5.3.  Table Logika.
Operand1
Operand2
Hasil
| |
&&
Salah
salah
0
0
Salah
benar
1
0
Benar
salah
1
0
Benar
benar
1
1

Tampak bahwa operator atau ( | | ) menghasilkan nilai 1 jika ada operand yang benar. Hasil berupa 0 jika semua operand bernilai salah. Adapun operator logika dan (&&) memberikan hasil 1 hanya jika kedua operand adalah benar.
Sedangkan bentuk pemakaian operator logika ! adalah :
                        !operand
Dengan operand  dapat berupa ekspresi logika maupun ekspresi relasi.
Hasil operasi ! bernilai :
·         1 jika operand bernilai salah
·         0 jika operand bernilai benar
Perhatikan contoh potongan program dibawah ini :
            If (!sudah_benar!)
     Printf(“masukan anda salah!\n”)

Pada contoh potongan program diatas, dilakukan pengecekan ondisi terhadap nilai-nilai dari variable sudah_benar bernilai 0, maka kondisi !sudah_benar akan bernilai benar (true) sehngga instruksi : “Printf(“masukan anda salah!\n”) ;”
Akan diproses.
5.3.3. prioritas operator logika dan relasi
            Table berikut ini akan memberikan penjelasan singkat tentang prioritas diantara berbagai operator logika dan operator relasi.
                            Table 5.4. Prioritas Operator logika
Tertinggi :
!

 >, > =, <, < =

= =, !=

&&
Terendah
| |
Berdasarkan priorits diatas, maka ekspresi seperti :
            ( kar > ‘A’) && ( kar < ‘Z’)
Sama saja kalau ditulis menjadi
            Kar > ‘A’ && kar < ‘Z’
Hanya saja penulisan dengan menggunakan tanda kueung akan lebih memberikan kejelasan.
5.3.4. Statement If
            Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada beberapa macam, diantaranya :
a.    Bentuk If tunggal sederhana
Sintaks :
if ( kondisi ) statement ;
Bentuk ini menunjukkan jika kondisi bernilai benar, maka statement yang mngikutinya akan di-eksekusi. Jika tidak maka statement selanjutnya yang akan diproses.
b.    Bentuk If tunggal blok statement
Sintaks :
if ( kondisi ) {
blok statement;
}
Perbedaan dengan bentuk sebelumnya statement yang akan dilaksanakan ada dalam satu blok kurung kurawal.
Contoh program :                                                   



5.3.5. Statement If...Else
a. Bentuk If..Else
sintaks :
if ( kondisi )
statement1;
else
statement2;
Statement setelah kondisi atau statement sesudah else dapat berupa statment kosong, statement tunggal maupun blok statement. statement1 akandijalankan jika kondisi benar, jika salah maka statement2 yang akan diproses.
contoh :
//Program menentukan ganjil atau genap
#include
int main(){
int Bilangan;
char Lagi;
printf("Mencari Bilangan Ganjil atau Genap\n\n");
printf("Input Bilangan : ");
scanf("%d", &Bilangan);
if(Bilangan %2 == 1)
printf("\n\nIni Bilangan Ganjil");
else
printf("\n\nIni Bilangan Genap");
return 0; }
Output : Mencari Bilangan Ganjil atau Genap
Input Bilangan : 15
Ini Bilangan Ganjil
b. Bentuk If..else if…else
Sintaks :
if ( kondisi 1)
statement1;
else if ( kondisi 2 )
statement2;
else if ( kondisi 3)
statement3;
.
else
statement default;
Proses akan mulai dari penyeleksian kondisi 1, jika benar maka statement yang mengikutinya akan dieksekusi, jika salah maka akan masuk proses seleksi kondisi 2, begitu seterusnya. Jika semua kondisi tidak ada yang terpenuhi, maka program akan menjalankan statement default.
contoh :
//Program Mencari Mutu Nilai
#include
int main(){
int Nilai; char Mutu;
printf("Mencari Mutu Nilai\n\n");
printf("Input Nilai Mahasiswa : ");scanf("%d", &Nilai);
if (Nilai<50) Mutu = 'E';
else if(Nilai<65) Mutu = 'D';
else if(Nilai<75) Mutu ='C';
else if (Nilai<85) Mutu ='B';
else Mutu = 'A';
printf("\n\nNilai Mahasiswa yang diinput = %d", Nilai);
printf("\nMutu Nilai = %c", Mutu);
return 0; }
Output : Mencari Mutu Nilai
Input Nilai Mahasiswa : 78
Nilai Mahasiswa yang diinput = 78
Mutu Nilai = B
c. Bentuk If bersarang ( nested if )
Sintaks :
if ( kondisi 1)
if ( kondisi 2)
.
.
if (kondisi n )
statement;
else
statement;
.
.
else
statement
else statement;
Kondisi yang akan diseleksi pertama kali adalah kondisi yang paling luar (kondisi1). Jika bernilai tidak benar maka statement setelah else yang terluar ( pasangn dari if yang bersangkutan ) yang akan diproses.
d. Bentuk If dengan kondisi berupa variable
Contoh :
if ( D == 0 )
printf (“Nilai D sama dengan Nol \n”);
else
printf (“Nilai D tidak sama dengan Nol \n”);
e. Bentuk If dengan kondisi Jamak
Beberapa kondisi dapat diseleksi sekaligus dalam statement if dengan menggunakan operator logika AND ( && ), OR ( || ),atau NOT ( ! )

5.4. Percobaan Praktikum
5.4.1. Contoh Penggunaan If-Else (Program Mencari nilai terbesar dan terkecil) :
Out Putnya :





Tidak ada komentar:

Posting Komentar

Komentar Anda sangat berguna untuk Saya ?!!