Hati Ikhlas – Pikiran CerdasSlide 5 Hati Ikhlas - Pikiran Cerdas

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
a+b
a-b
a*b
a / b

Nilai / Hasil
8
-2
15
0

a%b
2
1. Bagaimana jika ekspresi

Ekspresi
i + f
i + c
i + c – ‘0’

(i + c) – (2 * f /
5)

Nilai
12.5
126
78
123.8

Type
Double
Integer
Integer
Double

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 besar
>=
Lebih besar atau sama
dengan

Teknik Elektro Unsoed, Dasar Pemrograman, Acep Taryana, #5

Page 1

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
I < j
(I + j) >= k
(j + k) > ( I +
5)
K != 3
J == 2

interpretasi
Apakah 1 kurang dari 2
Apakah 3 lebih besar atau sama dengan 3

Apakah 5 lebih besar dari 6

Nilai
Benar/ya/true
Benar/ya/true
Salah/tdk/false

Apakah 3 tidak sama dengan 3
Apakah 2 sama dengan 2

Salah/tdk/false
Benar/ya/true

Operator Logika :
Operator
Arti
&&
Dan
Atau
||

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 >
T && F
F
k)
(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
Contoh : Misal i dan j adalah variabel bertipe integer dengan nilai 5 dan 7,
f dan g adalah float dengan nilai 5.5 dan -3.25.

Teknik Elektro Unsoed, Dasar Pemrograman, Acep Taryana, #5

Page 2

Ekspresi
i += 5
f -= g

f /= 3
i %=(j – 2)

Ekspresi Yang
Ekuivalen
i = i +5
f=f-g
f=f/3
i = i % ( j – 2)

Nilai
Akhir
10
8.75
1.83333
0

Operator kondisonal :
Operator kondisional dicirikan dengan tanda (? : ). Aturan penulisan sebagai berikut :
Expression1 ? expression2 : expression3


Contoh :
1.4

Misalkan i bernilai 1, maka (i < 0) ? 0 : 5

Group Preseden Operator

Table 2. Group Presenden Operator

Kategori Operator
Unary operator

Operator - operator
- ++ ! sizeof
(type)
Perkalian, pembagian, modulo * / %
Penambahan dan pengurangan + Operator relasi
< >=
Operator persamaan

== !=
Logika And
&&
Logika Or
||
Operator Kondisional
?:
Operator Assignment
= += *= /= %=
Contoh Program :

Asosiasi
RL
LR
LR
LR
LR
LR
LR
RL

RL

Source Code 1. Increment.c

/* File : Increment.c */
/* Deskripsi : Pengaruh dari operator ++ */
#include
int main()
{
/* Kamus */
int i, j, k;
/* Algoritma */
i = 3;
j = i++; /* Post increment */
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);
/* Pre increment dan post increment i di dalam fungsi printf */
Teknik Elektro Unsoed, Dasar Pemrograman, Acep Taryana, #5

Page 3

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
int main()
{
/* Kamus */
int n = 10; /* dalam bil biner -> 1010 */
int x = 1;
/* dalam bil biner -> 0001 */
int y = 2;
/* dalam bil biner -> 0010 */
/* Algoritma */

printf("n=%d \n",n);
printf("x=%d \n",x);
printf("y=%d \n",y);
printf("n ^ 8 = %d \n",n ^ 8); /* 1010 XOR 1000 */
printf("n & 8 = %d \n",n & 8);
/* 1010 AND 1000 */
printf("n | 8 = %d \n",n | 8);
/* 1010 OR 1000 */
printf ("x & ~8 = %d \n",x & ~8); /* 0001 AND 0111 */
printf("y > 3 = %d \n",y >> 3);
/* 10 ==> 0000 = 0 */
return 0;
}
Source Code 3.oper2.c

/* File : oper2.c */
/* Deskripsi : Contoh pengoperasian bertype dasar */
#include "boolean.h"
int main()
{ /* Kamus */
boolean Bool1, Bool2, TF;
int i, j, hsl;
float x,y,res;
/* Algoritma */
Bool1=true; Bool2=false;
TF = Bool1 && Bool2; /* Boolean AND */
TF = Bool1 || Bool2; /* Boolean OR */
TF = ! Bool1;
/* Not */
TF = Bool1 ^Bool2; /* XOR */
/* Operasi Numerik */
Teknik Elektro Unsoed, Dasar Pemrograman, Acep Taryana, #5

Page 4

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 = (x < y); TF=(x > y); TF = (x = y);
return 0;
}

Teknik Elektro Unsoed, Dasar Pemrograman, Acep Taryana, #5

Page 5