My Little Daemon™

Simple, C ProgrammingAugust 15, 2007 4:33 am

Ekspresi adalah bentukan dari operator dan operand. Beberapa ekspresi termasuk assignment dan fungsi dapat berupa statement. Untuk statement a=5, maka berarti angka 5 diisikan ke dalam variabel a. ‘5‘ merupakan ekspresi dengan nilai angka 5 yang merupakan integer. Pemberian/pengisian nilai ke suatu variabel dikenal sebagai assignment.

Setelah assignment di atas, nilai a akan menjadi 5 sehingga jika dituliskan b=a maka efeknya akan sama dengan bila dituliskan b=5. Jadi a dapat disebut sebagai ekspresi pada kasus ini.

Contoh ekspresi yang lebih kompleks adalah fungsi. Misalnya terdapat fungsi berikut :

coba(){
    return 5;
}

menuliskan a=coba(), sesungguhnya sama dengan menuliskan a=5 karena fungsi adalah ekspresi dengan nilai sesuatu yang dikeluarkannya (return value). Bahasa C merupakan expression-oriented yang berarti hampir segala sesuatunya berupa ekspresi.

Nilai kebenaran dari suatu ekspresi adalah angka 1 untuk benar dan 0 untuk salah.

Perhatikan contoh berikut :

File ekspresi.c  

#include <stdio.h>

main(){
printf(”nilai 2>1 = %d\n”, 2>1);
printf(”nilai 2<1 = %d\n", 2<1);
}

$ gcc -o ekspresi ekspresi.c
$ ./ekspresi
nilai 2>1 = 1
nilai 2<1 = 0
$

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, C Programming 4:30 am

Operator Presedence adalah urutan atau tingkatan eksekusi dari suatu operator. Operator dengan tingkatan lebih tinggi akan dieksekusi lebih dahulu, contoh :

a = 8 - 3 * 2;

variabel a akan bernilai 2 bukannya 10. Operator * (perkalian) memiliki tingkatan yang lebih tinggi daripada operator - (pengurangan), sehingga 3 * 2 akan dieksekusi dahulu baru kemudian 8 dikurangi dengan hasil 3 * 2 ini, dan bukannya 8 - 3 lalu hasilnya dikalikan dengan 2.

Beberapa operator memiliki tingkatan presedence yang sama. Untuk kasus seperti ini digunakan aturan associativity (asosiativitas) dari operator tersebut. Contoh :

b = 8 / 4 * 2;

operator pembagian (/) dan perkalian (*) memiliki associativity left (dari kiri ke kanan) sehingga urutan eksekusinya adalah 8 / 4 dan hasilnya dikalikan dengan 2.

Daftar selengkapnya associativity dari operator adalah seprti berikut ini :

Operator Prioritas Associativity
() [] -> . Tertinggi Left to right
! ~ ++ — + - * & (type) sizeof   Right to left
* / %   Left to right
+ -   Left to right
<< >>    Left to right
< <= > >=    Left to right
== !=   Left to right
&   Left to right
^   Left to right
|   Left to right
&&   Left to right
||   Left to right
?:   Right to Left
= += -= *= /= %= &= ^= |= <<= >>=   Right to left
, Terendah Left to right

 

Catatan : Unary +, -, dan * memiliki precedence lebih tinggi daripada operator binary.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, C Programming 4:27 am

Operator Logika

Contoh Operasi Hasil
a && b and benar jika a dan b adalah benar
a || b or benar jika salah satu dari a atau b adalah benar
!a not benar jika a tidak benar

 

Operator Perbandingan

Contoh Operasi Hasil
a == b sama dengan benar jika a sama dengan b
a != b tidak sama dengan benar jika a tidak sama dengan b
a < b kurang dari benar jika a kurang dari b
a > b lebih dari benar jika a lebih dari b
a <= b kurang dari atau sama dengan benar jika a kurang dari atau sama dengan b
a >= b lebih dari atau sama dengan benar jika a lebih dari atau sama dengan b

 

Perhatikan contoh berikut :

File logika.c

#include <stdio.h>

main(){
int a,b;
a=2;
b=3;
if (a>1 && b>1){
printf(”oke\n”);
}else{
printf(”gak oke\n”);
}
}

$ gcc -o logika logika.c
$ ./logika
oke
$

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, C Programming 4:25 am

Operator ini bertugas untuk meberikan nilai pada suatu variabel. Operator assignment adalah “-”. Artinya operand yang di sebelah kiri diisi dengan nilai dari ekspresi di sebelah kanannya.

 

Contoh :

a = (b=4) + 6;

Pada contoh ini b berisi 4 dan a berisi 10. Bahasa C menyediakan operator untuk memendekkan penulisan operasi assignment yaitu operator kombinasi (combined operator). Jadi ekspresi berikut :

x = x+5;

akan setara dengan :

x +=5;

Hal yang serupa berlaku juga untuk :

x -= 5;
x *= 5;
x /= 5;
x %=5;

Perhatikan contoh berikut :

File assignment.c

#include <stdio.h>

main(){
int a;
a = 3;
a += 5;
printf(”%d\n”,a);
}

$ gcc -o assignment assignment.c
$ ./assignment
8
$
 
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa