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 ?!!