Think Different Materi DPK: Operand Operator
Pertemuan 04
Proses Sederhana
Dasar Pemrograman Komputer [TKL-4002]
2010
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
Memahami tentang proses sederhana (simple
process) berupa pemanggilan procedure
(fungsi) dan ekspresi serta dapat
menerapkannya dalam algorithma ataupun
pemrograman dengan bahasa pemrograman
C.
2
Outline Materi
Proses Sederhana (Simple Statement)
Ekspresi
Operator
Operator
Operator
Operator
Operator
Penugasan (assignment)
Logika
Aritmetika
Relasional
Bitwise
3
Proses Sederhana
Dikatakan proses sederhana karena dipandang sebagai
proses yang hanya mempunyai sebuah aliran masukan
dan sebuah aliran keluaran.
Proses sederhana dalam pemrograman komputer terdiri
dari:
• Pemanggilan procedure atau fungsi
• Perhitungan arithmatika atau logika
Dalam flow-chart
digambarkan sbb.:
Aliran Masukan
Aliran Masukan
Proc_name
()
Aliran Keluaran
Pemanggilan procedure/fungsi
atau
Proses
Aliran Keluaran
Perhitungan Arithmatika/Logika
4
Ekspresi
Ekspresi merupakan proses sederhana dalam
pemrogram-an komputer untuk melakukan proses
perhitungan arithmatika dan logika.
Prinsip dasar perhitungan arithmatika dan logika
dalam pemrograman komputer adalah melakukan
perhitungan arithmatika atau logika kemudian hasilnya
disimpan dalam variabel tertentu. Dalam flowchart
digambarkan sbb.:
Dalam C
Var perhitungan A/L
Ekspresi
5
Ekspresi
Contoh:
cc+
1
Dlm bhs pemrograman C dapat ditulis:
c=c+1; atau c+=1; atau ++c; atau c++;
Artinya (dibaca) nilai data dari variabel c ditambah
dengan 1 hasilnya disimpan ke dalam variabel c.
Tidak boleh:
c+1
Karena tidak ada proses penyimpanan
dari hasil perhitungan dari c+1 ke variabel
6
Ekspresi
Komponen utama ekspresi adalah operand dan
operator.
Operand dapat berupa variabel, konstanta, nilai data
konstan maupun fungsi. Setiap operand harus memiliki
nilai data.
Operator adalah simbol yang mengolah nilai pada operand
dan menghasilkan satu nilai baru.
Dalam pemrograman komputer penulisan perhitungan
arithmatika/logika TIDAK BOLEH
Contoh:
Untuk itu BERTINGKAT.
setiap operator memiliki
xy yz
presedensi (hirarki) dan assosiativitas.
x
xy yz
Untuk itu
7
Presedensi dan Assosiativitas
Operator
Presedensi menentukan urutan pengerjaan operator
berdasarkan prioritas. Operator yang memiliki
tingkat presedensi lebih tinggi akan dikerjakan lebih
dahulu.
Assosiativitas menentukan urutan pengerjaan
operator berdasarkan lokasinya dalam sebuah
ekspresi (apakah dari kiri atau dari kanan).
Assosiativitas berlaku untuk operator-operator yang
memiliki presedensi yang sama.
8
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
SIMBOL
Resolusi Lingkup
::
()
[]
Resolusi Lingkup
Kurung
Elemen array
1
Kiri-Kanan
Kiri-Kanan
Kiri-Kanan
->
Pointer ke anggota struktur atau kelas
2
Kiri-Kanan
Kurung, indeks
larik dan elemen
struktur data
.
Operator Unary
++
-!
~
+
&
*
(type)
sizeof
new
delete
NAMA
PRIORITAS
URUTAN
PENGERJAAN
KATEGORI
Anggota struktur, union atau kelas
Kiri-Kanan
Pre-increment
Pre-decrement
Logika not
Komplemen Bitwise
Unary minus
Unary plus
Alamat
Indirection
Type casting
Ukuran tipe data
Alokasi memori
Dealokasi memori
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
3
9
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
KATEGORI
SIMBOL
*
/
%
+
Operator penambahan
>
<
>=
==
Operator Relational
!=
&
Operator Bitwise
^
|
&&
Operator Logika
||
?:
Operator Ternary
=, +=, -=,
*=, /=, %=
Operator Penugasan
Majemuk
&=, ^=, |=,
=
,
Operator koma
Operator aritmatika
perkalian
NAMA
Perkalian
Pembagian
Sisa Pembagian
Penambahan
Pengurangan
Geser Kiri
Geser Kanan
Lebih kecil
Lebih kecil sama dg
Lebih besar
Lebih besar sama dg
Sama dengan
Tidak sama dengan
Bitwise AND
Bitwise XOR
Bitwise OR
Logika AND
Logika OR
Operator kondisi
PRIORITAS
URUTAN
PENGERJAAN
4
Kiri-Kanan
5
Kiri-Kanan
6
Kiri-Kanan
7
Kiri-Kanan
8
Kiri-Kanan
9
10
11
12
13
14
Kiri-Kanan
Kiri-Kanan
Kanan-Kiri
Operator penugasan arithmatika
15
Kanan-Kiri
16
Kiri-Kanan
Operator penugasan bitwise
Operator Koma
10
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
xy yz
x
xy yz
Contoh:
Ditulis dalam bhs pemrograman C:
x = (x * y + y * z)/(x * y – y * z);
1
4
2
5
6
3
7
8
11
Precedence dan Associativity
#include
#include
int main () {
int a, b, z=100; float x, y;
printf("Melihat pengaruh prioritas dan urutan pengerjaan\n\n");
printf("Masukkan sebarang nilai integer: ");
scanf("%d",&a);
x = a/3*3; y = a*3/3; z += b = a;
printf("\n\nx = %d/3*3, diperoleh x = %f\n\n",a,x);
printf("y = %d*3/3, diperoleh y = %f\n\n",a,y);
printf("bila z=100, maka untuk z += b = %d diperoleh z = %d\n\n\n",a,z);
system("PAUSE");
return(0);
}
12
Operator
Didasarkan atas jumlah operand, operator dapat
dibedakan menjadi tiga jenis, yaitu :
• Unary operator
• Binary operator
• Ternary operator
Unary operator memerlukan 1 operand,
binary operator memerlukan 2 operand,
sedangkan ternary operator memerlukan 3
operand.
13
Operator
Berdasarkan jenis operasinya, operator dalam
bahasa pemrograman C dapat dikelompokkan :
• Operator Penugasan (assignment operator)
• Operator Logika
• Operator Aritmatika
• Operator Relasional
• Operator Bitwise
• Operator Pointer
14
Operator Penugasan
(assignment)
Termasuk Binary operator
Digunakan untuk memberikan nilai kepada suatu
Operand. Sintak sbb:
operand1 operator operand2;
Operand1 harus berupa variabel, sedangkan operand2
dapat sebarang operand termasuk variabel dari operand1.
Urutan pengerjaan (assosiativitas) operator penugasan
dari kanan ke kiri.
15
Operator Penugasan
Contoh
x=
x=
x=
a=
2;
y;
2 * y;
sin (y);
// konstanta
// variabel lain
// ekspresi
// fungsi
Tipe hasil operasi disesuaikan dengan tipe
operand sebelah kiri.
int x = 7/2;
/*nilai x sama dgn 3 */
float y = 3; /*nilai y sama dengan 3.000 */
16
Operator Aritmatika
Digunakan untuk melakukan operasi matematika
Simbol
Fungsi
Contoh
+
Penambahan
x = y + 6;
-
Pengurangan
y = x – 5;
*
/
Perkalian
Pembagian
y = y * 3;
z = x/y;
%
++
--
Modulo
Increment
Decrement
A = 10 % 3;
x++;
z--;
()
Menaikan Priority
x=(2+3)*5
17
Operator Aritmatika
Modulo:
•
•
•
•
Simbol : %
Termasuk Binary operator
Untuk menghitung sisa hasil bagi
n % 2, dapat digunakan untuk menguji apakah integer n
bernilai genap atau ganjil
n % 2 = 0 n GENAP
n % 2 = 1 n GANJIL
Increment dan Decrement:
• Simbol : ++(increment), --(decrement)
• Termasuk unary operator
• Menaikkan (++) dan menurunkan (--) nilai variabel
dengan 1
• Posisinya bisa di depan (pre) atau dibelakang (post)
variabel
18
Operator Aritmatika
Contoh:
N++;
++N;
N--;
--N;
//post increment
//pre increment
//post decrement
//pre decrement
Jika statement increment stand alone. Maka N++;
atau ++N; sama artinya N=N+1;
Jika statement decrement stand alone. Maka N--;
atau --N; sama artinya N=N-1;
19
Operator Aritmatika
Contoh:
#include
int main ()
{ int x = 44; int y = 44;
++x;
printf(”x = %d\n”, x);
y++;
printf(”y = %d\n”, y);
}
/* hasilnya 45 */
/* hasilnya 45 */
20
Operator Aritmatika
Jika ++n dan n++ sebagai statement yang terikat
dalam ekspresi lainnya (sub expresi), keduanya
mempunyai arti yang berbeda.
++n -> n ditambah 1, baru diproses terhadap
ekspresinya
n++ -> n langsung diproses terhadap ekspresinya
tanpa ditambah 1 terlebih dahulu, pada saat selesai
baru n ditambah 1
int main () {
int x=44; int y = 44; int z;
z = ++x;
/* z, x nilainya 45 */
z = y++;
/* z nilainya 44 dan y nilainya 45 */
return(0);
}
21
Operator Aritmatika
Setiap ekspesi yang berbentuk :
= ;
dapat diganti dengan :
= ;
Operator ini sering disebut dengan Combined Operator.
Ekspresi
Dapat diganti dengan
a = a + b;
a += b;
a = a – b;
a -= b;
a = a * b;
a *= b;
a = a / b;
a /= b;
a = a % b;
a %= b;
a=a^b;
a ^= b;
22
Operator Aritmatika
Contoh soal:
x *= y +1; artinya sama dengan :
x
x
x
x
=
=
=
=
Jawab:
A
A.
B.
C.
D.
x * (y + 1);
x * y + 1;
x + 1 * y;
(x + 1) * y;
23
Operator Relasional
Digunakan untuk membandingkan dua nilai, dan
hasilnya TRUE atau FALSE
Simbol
Fungsi
==
!=
<
>
=
Lebih Besar atau Sama Dengan
?:
Conditional assignment
24
Operator Relasional
TRUE dalam bahasa pemrograman C nilainya Tidak
sama dengan NOL
FALSE dalam bahasa pemrograman C nilainya sama
dengan NOL
Sedangkan nilai TRUE yang diset oleh program C
saat run time nilainya sama dengan 1.
Contoh:
int x;
x = (20 > 10); //nilai x sama dgn 1
x = (20 == 10); //nilai x sama dgn 0
25
Operator Relasional
Contoh :
#include
int main()
{ int x=5,y=6;
if ( x == y) printf("%d sama dengan %d\n",x,y);
if ( x != y) printf("%d tidak sama dengan %d\n",x,y);
if ( x < y) printf("%d lebih kecil daripada %d\n",x,y);
if ( x > y) printf("%d lebih besar daripada %d\n",x,y);
if ( x = y) printf("%d lebih besar atau sama dengan %d\n",x,y);
return(0);
}
26
Conditional Expressions
Conditional expression menggunakan ternary
operator ?:
Sintak : exp1 ? exp2 : exp3;
• Jika exp1 bernilai true, maka exp2 dieksekusi. Sebaliknya jika
exp1 bernilai false, maka exp3 dieksekusi.
Contoh yang sama artinya dgn statement diatas:
z = (a > b) ? a : b;
Jika (a>b) bernilai benar maka z=a. Sebaliknya jika
(a>b) bernilai salah maka z=b.
27
Conditional Expressions
Contoh:
#include
#include
int main () {
int bil, abs;
printf("Menentukan nilai absolut\n\n");
printf("Masukkan bilangan integer: ");
scanf("%d",&bil);
abs = (bil >= 0) ? bil : - bil;
printf("Nilai absolutnya adalah : %d \n\n",abs);
system("PAUSE");
return(0);
}
28
Operator Logika
Digunakan untuk melakukan operasi logika
Simbol
Fungsi
&&
AND
||
OR
!
NOT
Table Kebenaran operator logika:
A
B
!A
A && B
A || B
True
True
False
True
True
True
False
False
False
True
False
True
True
False
True
False
False
True
False
False
29
Operator Logika
Operand pada operator logika harus mempunyai nilai
boolean, yaitu TRUE atau FALSE. Meskipun dalam
bahasa C/C++ nilai TRUE dinyatakan dalam bentuk
nilai integer yang tidak sama dengan nol (0) dan
sebaliknya nilai FALSE dinyatakan dalam bentuk nilai
integer yang sama dengan nol (0), tetapi nilai data
integer tidak dibolehkan sbg operand dari operator
logika.
Contoh:
int x=5; int y=0, a , b;
a = x && y;
//error (hasil yg salah)
b = (x > y) && (y>=0);
//ok
30
Operator Bitwise
Simbol
Fungsi
Contoh
&
AND
A&B
|
OR
A | B;
^
XOR
A ^ B;
~
Complement 1
>>
Shift Right
A >> 3;
n) dapat dipergunakan untuk
menggeser n bit ke kanan dan diberi nilai 0 (nol)
sejumlah n bit dari paling kiri yang ditinggalkan.
Operator shift-left (>3; //nilai A=9
A = B> 2;
7. A = C < 3;
8. A = C
Proses Sederhana
Dasar Pemrograman Komputer [TKL-4002]
2010
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
Memahami tentang proses sederhana (simple
process) berupa pemanggilan procedure
(fungsi) dan ekspresi serta dapat
menerapkannya dalam algorithma ataupun
pemrograman dengan bahasa pemrograman
C.
2
Outline Materi
Proses Sederhana (Simple Statement)
Ekspresi
Operator
Operator
Operator
Operator
Operator
Penugasan (assignment)
Logika
Aritmetika
Relasional
Bitwise
3
Proses Sederhana
Dikatakan proses sederhana karena dipandang sebagai
proses yang hanya mempunyai sebuah aliran masukan
dan sebuah aliran keluaran.
Proses sederhana dalam pemrograman komputer terdiri
dari:
• Pemanggilan procedure atau fungsi
• Perhitungan arithmatika atau logika
Dalam flow-chart
digambarkan sbb.:
Aliran Masukan
Aliran Masukan
Proc_name
()
Aliran Keluaran
Pemanggilan procedure/fungsi
atau
Proses
Aliran Keluaran
Perhitungan Arithmatika/Logika
4
Ekspresi
Ekspresi merupakan proses sederhana dalam
pemrogram-an komputer untuk melakukan proses
perhitungan arithmatika dan logika.
Prinsip dasar perhitungan arithmatika dan logika
dalam pemrograman komputer adalah melakukan
perhitungan arithmatika atau logika kemudian hasilnya
disimpan dalam variabel tertentu. Dalam flowchart
digambarkan sbb.:
Dalam C
Var perhitungan A/L
Ekspresi
5
Ekspresi
Contoh:
cc+
1
Dlm bhs pemrograman C dapat ditulis:
c=c+1; atau c+=1; atau ++c; atau c++;
Artinya (dibaca) nilai data dari variabel c ditambah
dengan 1 hasilnya disimpan ke dalam variabel c.
Tidak boleh:
c+1
Karena tidak ada proses penyimpanan
dari hasil perhitungan dari c+1 ke variabel
6
Ekspresi
Komponen utama ekspresi adalah operand dan
operator.
Operand dapat berupa variabel, konstanta, nilai data
konstan maupun fungsi. Setiap operand harus memiliki
nilai data.
Operator adalah simbol yang mengolah nilai pada operand
dan menghasilkan satu nilai baru.
Dalam pemrograman komputer penulisan perhitungan
arithmatika/logika TIDAK BOLEH
Contoh:
Untuk itu BERTINGKAT.
setiap operator memiliki
xy yz
presedensi (hirarki) dan assosiativitas.
x
xy yz
Untuk itu
7
Presedensi dan Assosiativitas
Operator
Presedensi menentukan urutan pengerjaan operator
berdasarkan prioritas. Operator yang memiliki
tingkat presedensi lebih tinggi akan dikerjakan lebih
dahulu.
Assosiativitas menentukan urutan pengerjaan
operator berdasarkan lokasinya dalam sebuah
ekspresi (apakah dari kiri atau dari kanan).
Assosiativitas berlaku untuk operator-operator yang
memiliki presedensi yang sama.
8
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
SIMBOL
Resolusi Lingkup
::
()
[]
Resolusi Lingkup
Kurung
Elemen array
1
Kiri-Kanan
Kiri-Kanan
Kiri-Kanan
->
Pointer ke anggota struktur atau kelas
2
Kiri-Kanan
Kurung, indeks
larik dan elemen
struktur data
.
Operator Unary
++
-!
~
+
&
*
(type)
sizeof
new
delete
NAMA
PRIORITAS
URUTAN
PENGERJAAN
KATEGORI
Anggota struktur, union atau kelas
Kiri-Kanan
Pre-increment
Pre-decrement
Logika not
Komplemen Bitwise
Unary minus
Unary plus
Alamat
Indirection
Type casting
Ukuran tipe data
Alokasi memori
Dealokasi memori
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
Kanan-Kiri
3
9
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
KATEGORI
SIMBOL
*
/
%
+
Operator penambahan
>
<
>=
==
Operator Relational
!=
&
Operator Bitwise
^
|
&&
Operator Logika
||
?:
Operator Ternary
=, +=, -=,
*=, /=, %=
Operator Penugasan
Majemuk
&=, ^=, |=,
=
,
Operator koma
Operator aritmatika
perkalian
NAMA
Perkalian
Pembagian
Sisa Pembagian
Penambahan
Pengurangan
Geser Kiri
Geser Kanan
Lebih kecil
Lebih kecil sama dg
Lebih besar
Lebih besar sama dg
Sama dengan
Tidak sama dengan
Bitwise AND
Bitwise XOR
Bitwise OR
Logika AND
Logika OR
Operator kondisi
PRIORITAS
URUTAN
PENGERJAAN
4
Kiri-Kanan
5
Kiri-Kanan
6
Kiri-Kanan
7
Kiri-Kanan
8
Kiri-Kanan
9
10
11
12
13
14
Kiri-Kanan
Kiri-Kanan
Kanan-Kiri
Operator penugasan arithmatika
15
Kanan-Kiri
16
Kiri-Kanan
Operator penugasan bitwise
Operator Koma
10
OPERATOR dengan
Prioritas dan Urutan Pengerjaan
xy yz
x
xy yz
Contoh:
Ditulis dalam bhs pemrograman C:
x = (x * y + y * z)/(x * y – y * z);
1
4
2
5
6
3
7
8
11
Precedence dan Associativity
#include
#include
int main () {
int a, b, z=100; float x, y;
printf("Melihat pengaruh prioritas dan urutan pengerjaan\n\n");
printf("Masukkan sebarang nilai integer: ");
scanf("%d",&a);
x = a/3*3; y = a*3/3; z += b = a;
printf("\n\nx = %d/3*3, diperoleh x = %f\n\n",a,x);
printf("y = %d*3/3, diperoleh y = %f\n\n",a,y);
printf("bila z=100, maka untuk z += b = %d diperoleh z = %d\n\n\n",a,z);
system("PAUSE");
return(0);
}
12
Operator
Didasarkan atas jumlah operand, operator dapat
dibedakan menjadi tiga jenis, yaitu :
• Unary operator
• Binary operator
• Ternary operator
Unary operator memerlukan 1 operand,
binary operator memerlukan 2 operand,
sedangkan ternary operator memerlukan 3
operand.
13
Operator
Berdasarkan jenis operasinya, operator dalam
bahasa pemrograman C dapat dikelompokkan :
• Operator Penugasan (assignment operator)
• Operator Logika
• Operator Aritmatika
• Operator Relasional
• Operator Bitwise
• Operator Pointer
14
Operator Penugasan
(assignment)
Termasuk Binary operator
Digunakan untuk memberikan nilai kepada suatu
Operand. Sintak sbb:
operand1 operator operand2;
Operand1 harus berupa variabel, sedangkan operand2
dapat sebarang operand termasuk variabel dari operand1.
Urutan pengerjaan (assosiativitas) operator penugasan
dari kanan ke kiri.
15
Operator Penugasan
Contoh
x=
x=
x=
a=
2;
y;
2 * y;
sin (y);
// konstanta
// variabel lain
// ekspresi
// fungsi
Tipe hasil operasi disesuaikan dengan tipe
operand sebelah kiri.
int x = 7/2;
/*nilai x sama dgn 3 */
float y = 3; /*nilai y sama dengan 3.000 */
16
Operator Aritmatika
Digunakan untuk melakukan operasi matematika
Simbol
Fungsi
Contoh
+
Penambahan
x = y + 6;
-
Pengurangan
y = x – 5;
*
/
Perkalian
Pembagian
y = y * 3;
z = x/y;
%
++
--
Modulo
Increment
Decrement
A = 10 % 3;
x++;
z--;
()
Menaikan Priority
x=(2+3)*5
17
Operator Aritmatika
Modulo:
•
•
•
•
Simbol : %
Termasuk Binary operator
Untuk menghitung sisa hasil bagi
n % 2, dapat digunakan untuk menguji apakah integer n
bernilai genap atau ganjil
n % 2 = 0 n GENAP
n % 2 = 1 n GANJIL
Increment dan Decrement:
• Simbol : ++(increment), --(decrement)
• Termasuk unary operator
• Menaikkan (++) dan menurunkan (--) nilai variabel
dengan 1
• Posisinya bisa di depan (pre) atau dibelakang (post)
variabel
18
Operator Aritmatika
Contoh:
N++;
++N;
N--;
--N;
//post increment
//pre increment
//post decrement
//pre decrement
Jika statement increment stand alone. Maka N++;
atau ++N; sama artinya N=N+1;
Jika statement decrement stand alone. Maka N--;
atau --N; sama artinya N=N-1;
19
Operator Aritmatika
Contoh:
#include
int main ()
{ int x = 44; int y = 44;
++x;
printf(”x = %d\n”, x);
y++;
printf(”y = %d\n”, y);
}
/* hasilnya 45 */
/* hasilnya 45 */
20
Operator Aritmatika
Jika ++n dan n++ sebagai statement yang terikat
dalam ekspresi lainnya (sub expresi), keduanya
mempunyai arti yang berbeda.
++n -> n ditambah 1, baru diproses terhadap
ekspresinya
n++ -> n langsung diproses terhadap ekspresinya
tanpa ditambah 1 terlebih dahulu, pada saat selesai
baru n ditambah 1
int main () {
int x=44; int y = 44; int z;
z = ++x;
/* z, x nilainya 45 */
z = y++;
/* z nilainya 44 dan y nilainya 45 */
return(0);
}
21
Operator Aritmatika
Setiap ekspesi yang berbentuk :
= ;
dapat diganti dengan :
= ;
Operator ini sering disebut dengan Combined Operator.
Ekspresi
Dapat diganti dengan
a = a + b;
a += b;
a = a – b;
a -= b;
a = a * b;
a *= b;
a = a / b;
a /= b;
a = a % b;
a %= b;
a=a^b;
a ^= b;
22
Operator Aritmatika
Contoh soal:
x *= y +1; artinya sama dengan :
x
x
x
x
=
=
=
=
Jawab:
A
A.
B.
C.
D.
x * (y + 1);
x * y + 1;
x + 1 * y;
(x + 1) * y;
23
Operator Relasional
Digunakan untuk membandingkan dua nilai, dan
hasilnya TRUE atau FALSE
Simbol
Fungsi
==
!=
<
>
=
Lebih Besar atau Sama Dengan
?:
Conditional assignment
24
Operator Relasional
TRUE dalam bahasa pemrograman C nilainya Tidak
sama dengan NOL
FALSE dalam bahasa pemrograman C nilainya sama
dengan NOL
Sedangkan nilai TRUE yang diset oleh program C
saat run time nilainya sama dengan 1.
Contoh:
int x;
x = (20 > 10); //nilai x sama dgn 1
x = (20 == 10); //nilai x sama dgn 0
25
Operator Relasional
Contoh :
#include
int main()
{ int x=5,y=6;
if ( x == y) printf("%d sama dengan %d\n",x,y);
if ( x != y) printf("%d tidak sama dengan %d\n",x,y);
if ( x < y) printf("%d lebih kecil daripada %d\n",x,y);
if ( x > y) printf("%d lebih besar daripada %d\n",x,y);
if ( x = y) printf("%d lebih besar atau sama dengan %d\n",x,y);
return(0);
}
26
Conditional Expressions
Conditional expression menggunakan ternary
operator ?:
Sintak : exp1 ? exp2 : exp3;
• Jika exp1 bernilai true, maka exp2 dieksekusi. Sebaliknya jika
exp1 bernilai false, maka exp3 dieksekusi.
Contoh yang sama artinya dgn statement diatas:
z = (a > b) ? a : b;
Jika (a>b) bernilai benar maka z=a. Sebaliknya jika
(a>b) bernilai salah maka z=b.
27
Conditional Expressions
Contoh:
#include
#include
int main () {
int bil, abs;
printf("Menentukan nilai absolut\n\n");
printf("Masukkan bilangan integer: ");
scanf("%d",&bil);
abs = (bil >= 0) ? bil : - bil;
printf("Nilai absolutnya adalah : %d \n\n",abs);
system("PAUSE");
return(0);
}
28
Operator Logika
Digunakan untuk melakukan operasi logika
Simbol
Fungsi
&&
AND
||
OR
!
NOT
Table Kebenaran operator logika:
A
B
!A
A && B
A || B
True
True
False
True
True
True
False
False
False
True
False
True
True
False
True
False
False
True
False
False
29
Operator Logika
Operand pada operator logika harus mempunyai nilai
boolean, yaitu TRUE atau FALSE. Meskipun dalam
bahasa C/C++ nilai TRUE dinyatakan dalam bentuk
nilai integer yang tidak sama dengan nol (0) dan
sebaliknya nilai FALSE dinyatakan dalam bentuk nilai
integer yang sama dengan nol (0), tetapi nilai data
integer tidak dibolehkan sbg operand dari operator
logika.
Contoh:
int x=5; int y=0, a , b;
a = x && y;
//error (hasil yg salah)
b = (x > y) && (y>=0);
//ok
30
Operator Bitwise
Simbol
Fungsi
Contoh
&
AND
A&B
|
OR
A | B;
^
XOR
A ^ B;
~
Complement 1
>>
Shift Right
A >> 3;
n) dapat dipergunakan untuk
menggeser n bit ke kanan dan diberi nilai 0 (nol)
sejumlah n bit dari paling kiri yang ditinggalkan.
Operator shift-left (>3; //nilai A=9
A = B> 2;
7. A = C < 3;
8. A = C