Materi 3 C++ Elemen Dasar Cont

Download Report

Transcript Materi 3 C++ Elemen Dasar Cont

Ekspresi
As’ad Djamalilleil
http://kampusku.web.id
[email protected]
Contoh ekspresi
operand
(3 + M) * 5 > hitung()
operator
Ekspresi adalah rangkaian
operator, operand, dan
tanda baca yang
menentukan sebuah
komputasi/perhitungan.
Operator
Operator adalah simbol
(token) yang memicu
beberapa proses
perhitungan jika dikenakan
pada variabel dan objekobjek lain pada sebuah
ekspresi
Operator memiliki beberapa sifat:
• Unary  operator dengan sifat ini hanya
dapat melibatkan sebuah operand
-29
• Binary  operator ini melibatkan dua buah
operand
3 + 8
• Ternary  operator ini melibatkan tiga buah
operand
(a > b) ? a : b
Macam-macam Operator
•
•
•
•
•
•
•
•
Arithmetic
Assignment
Bitwise
Conditional
Equality
Logical
Relational
sizeof
Operator Arithmetic
• Unary
+ (tanda positif)
+34 atau 34
- (tanda negatif)
-67
Operator increment & decrement
++ekspresi (pre-increment)
ekspresi++ (post-increment)
int a = 5;
a++; sama saja dengan a = a + 1;
--ekspresi (pre-decrement)
ekspresi-- (post-decrement)
Bila letak operator di depan ekspresi, maka operasi
inc/dec akan dilakukan lebih dulu, barulah kemudian
ekspresi akan dievaluasi. Begitu pula sebaliknya.
Operator Arithmetic
• Binary
+ (penjumlahan)
– (pengurangan)
* (perkalian)
/ (pembagian)
% (modulus)
5 / 2 menghasilkan nilai 2, sedangkan
5 % 2 menghasilkan nilai 1, yaitu sisa hasil bagi
dari 5 / 2.
Operator Assignment (binary)
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Contoh:
A = 23
A *= 5 sama saja dengan A = A * 5
Operator Bitwise
Operand-nya harus bertipe bilangan bulat.
Unary
~ bitwise complement, membalik nilai setiap bit
Binary
& bitwise AND, membandingkan 2 bit dan menghasilkan nilai 1 hanya
jika kedua bit bernilai 1
| bitwise inclusive OR, membandingkan 2 bit dan menghasilkan nilai 0
hanya jika kedua bit bernilai 0
^ bitwise exclusive OR, membandingkan 2 bit dan menghasilkan nilai 1
hanya jika kedua bit berbeda nilainya
>> bitwise shift right, memindahkan susunan bit ke kanan dan
membuang bit paling kanan serta memberikan nilai 0 pada bit paling
kiri
<< bitwise shift left; memindahkan susunan bit ke kiri dan membuang bit
paling kiri serta memberikan nilai 0 pada bit paling kanan
Operator Conditional (ternary)
?:
Contoh:
int a = 5;
cout << (a > 5 ? “benar” : “salah”);
Output:
salah
if(a > 5)
cout << “benar”;
else
cout << “salah”;
Operator Equality (binary)
== (perbandingan sama dengan)
!= (perbandingan tidak sama dengan)
Contoh:
76 == 54
98 != 43
“kata” == “KaTa”
ekspresi ini tidak dapat memberikan hasil
yang tepat. Untuk membandingkan dua string
dapat menggunakan fungsi strcmp() & stricmp()
di dalam file header string.h
Operator Logical
&& logical AND, memberikan nilai true (1) jika
kedua operand bernilai true (selain 0). Jika
operand pertama bernilai false (0), operand
kedua tidak akan dievaluasi
||
logical OR, memberikan nilai false (0) jika
kedua operand bernilai false (0). Jika operand
pertama bernilai true (selain 0), operand kedua
tidak akan dievaluasi
!
logical negation (unary), memberikan nilai
kebalikan (negasi) dari operand. Ekspresi !E
sama dengan (0 == E)
Operator Relational (binary)
> (lebih dari)
< (kurang dari)
>= (lebih dari atau sama dengan)
<= (kurang dari atau sama dengan)
Contoh:
67 < 98
‘a’ >= ‘B’
Nilai selain 0 (nol) akan dikembalikan bila
ekspresinya bernilai benar, dan nilai 0 (nol) bila
ekspresinya salah.
Operator sizeof (unary)
Operator ini akan memberikan nilai berupa ukuran
memory yang digunakan oleh operand ditentukan
oleh tipe-nya, dengan beberapa pengecualian.
Ukuran memory yang disediakan untuk setiap tipe,
berbeda pada setiap mesin (prosesor).
Contoh:
sizeof int
sizeof char
Operator Precedence
()
.
:>
!
*
+
<<
<
==
&
^
|
&&
||
?:
=
^=
,
[]
??
~
/
>>
<=
!=
*=
|=
+
%
-
>
>=
/=
<<=
%=
>>=
++
--
&
+=
-=
&=
left to right
left to right
left to right
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
left to right
right to left
left to right
Tanda Baca
Macam-macam Tanda Baca
• Macam-macam tanda baca (punctuator) atau
biasa disebut pemisah (separator) di Borland
C++ adalah sebagai berikut:
[ ] kurung-siku/brackets
digunakan sebagai penanda data berbentuk
array tunggal maupun multi-dimensi
( ) tanda-kurung/parentheses
digunakan untuk mengelompokkan beberapa
buah ekspresi, mengisolasi ekspresi
kondisional, menaikkan tingkatan preseden
operator, bagian dari pemanggil fungsi dan
parameter fungsi
{ } kurung-kurawal/braces
menandakan awal dan akhir dari sebuah
blok/gabungan beberapa statement
, koma/comma
sebagai pemisah antar parameter pada fungsi
serta ekspresi
; titik-koma/semicolon
menandakan akhir dari sebuah
pernyataan/statement
: titik-ganda/colon
menandakan statement berlabel untuk
perintah goto
... ellipsis
mengindikasikan parameter tambahan pada
fungsi
* asterisk
selain digunakan untuk simbol operasi
perkalian, juga digunakan sebagai penanda
pointer
# tanda-pagar/pound-sign
sebagai penanda pengarah pra-proses (preprocessor directives)