Pertemuan ke-5
OPERATOR DAN EKSPRESI
1.1 Operator Aritmatika
Ada 5 operator aritmatika dalam C yaitu :
Operator Tujuan
+ Penambahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa pembagian
integer
Contoh : Diketahui bilangan integer a dan b dengan nilainya a=3; b=5, bilangan integer i = 7, float f =5.5, dan variabel c bertipe char menyatakan karakter w.
Ekpresi Nilai / Hasil Ekspresi Nilai Type
a + b 8 i + f 12.5 Double
a - b -2 i + c 126 Integer
a * b 15 i + c –‘0’ 78 Integer
a / b 0 (i + c) – (2 * f /
5)
123.8 Double
a % b 2
1. Bagaimana jika ekspresi f % a ? …..
1.2 Operator Unary
Adalah Operator yang hanya mengoperasikan satu operand ( -, ++, -- ) Contoh :
++i , i++, i--, --i
2. Apa perbedaan tanda operan didepan dengan di belakang ! Berikan contoh programnya
1.3 Operator Relasional dan Logika
Ada 4 operator relasi dalam C yaitu :
Operator Arti
< Lebih kecil
<= Lebih kecil atau sama dengan
> Lebih besar
Operator Persamaan :
Operator Arti
== Samadengan
!= Tidak sama dengan
Contoh : Misal I, j, dan k adalah variabel integer yang nilainya 1,2 dan 3.
Maka isilah ekspresi dibawah ini :
Table 1. Ekspresi-Interpretasi-Nilai
Ekspresi interpretasi Nilai
I < j Apakah 1 kurang dari 2 Benar/ya/true
(I + j) >= k Apakah 3 lebih besar atau sama dengan 3 Benar/ya/true (j + k) > ( I +
5)
Apakah 5 lebih besar dari 6 Salah/tdk/false
K != 3 Apakah 3 tidak sama dengan 3 Salah/tdk/false
Contoh : Misal i, j, dan k adalah variabel integer yang nilainya 1,2 dan 3. Maka isilah ekspresi dibawah ini :
Ekspresi interpretasi Nilai
(i < j) && (j > k)
T && F F
(i < j) || (j > k) T || F T
Operator Assignment :
Aturan dasar operator assignment adalah sebagai berikut :
Identifier = expression
Dan perluasannya sebagai berikut :
Identifier1 = Identifier2= Identifier3= ……… = expression Contoh : Misal I adalah variabel bertipe integer,
Ekspresi Nilai
I = 3.3 3
I =-3.9 -3
Dan juga assignment ekspresi ke ekspresi : Expression1 += expression2
Expression1 -= expression2
Ekspresi Ekspresi Yang
Operator kondisional dicirikan dengan tanda (? : ). Aturan penulisan sebagai berikut :
Expression1 ? expression2 : expression3
Contoh : Misalkan i bernilai 1, maka (i < 0) ? 0 : 5
1.4 Group Preseden Operator Table 2. Group Presenden Operator
Kategori Operator Operator - operator Asosiasi
Unary operator - ++ ! sizeof
Source Code 1. Increment.c
/* File : Increment.c */
/* Deskripsi : Pengaruh dari operator ++ */
#include <stdio.h>
printf("Nilai i setelah Post Increment : %d\n",i); printf("Nilai j setelah assignment dari i: %d\n", j); k = ++i; /* Pre increment */
printf("Nilai i setelah Pre increment : %d\n",i); printf("Nilai k setelah assignment dari i: %d\n",k);
printf("Nilai i : %d\n", ++i); printf("Nilai k : %d\n",k++); return 0;
}
Source Code 2. Oper1.c
/* File : Oper1.c */ /* Deskripsi : Pemakaian beberapa operator terhadap bit */ #include <stdio.h>
/* Deskripsi : Contoh pengoperasian bertype dasar */ #include "boolean.h"
Bool1=true; Bool2=false;
TF = Bool1 && Bool2; /* Boolean AND */ TF = Bool1 || Bool2; /* Boolean OR */ TF = ! Bool1; /* Not */
i=5; j=2;
hsl = i + j; hsl=i-j; hsl= i/j; hsl = i * j; hsl = i/j; /* Pembagian */
hsl = i % j; /* Modulo */ /* Operasi Numerik */ x = 5.0; y=2.0;
res = x + y; res=x - y; res = x / y; res=x * y; /* operator relasional numerik */
TF = (i==j); TF = (i!=j);
TF = (i < j); TF=(i > j); TF =(i<=j); TF = (i>=j);
TF = (x < y); TF=(x > y); TF = (x <= y); TF = (x >= y); return 0;