Anda di halaman 1dari 6

PEMROGRAMAN C++

(Catatan Kuliah 14 November 2009 )

JENIS OPERATOR C+ +
1. Operator C+ + Aritmatika (x, /, +, -, %)
Contoh : a) 10 % 3 = 1 (hasilnya 3 sisa 1)
b) 9 % 2 = 1 (hasilnya 4 sisa 1)
2. Operator C+ + Unary (-. +)
Contoh : 2 + 3
Operator
Operand
3. Operator C+ + Penugasan (=)
Contoh : A = 1
A=A+1
A+=1
4. Operator C+ + Majemuk
Pada dasarnya Operator Aritmatika bisa dijadikan Operator Majemuk.
Contoh : A + = 1
Ax=1 A=Ax1
A%=1 A=A%1
5. Operator C+ + Penambah & Pengurang (Increment & Decrement)
Contoh yang Increment : a = a + 1 sama dengan a + +
Contoh yang Decrement : a = a + 1 sama dengan a - -
6. Operator C+ + Relasi (= =, !=, <, <=, >, >=)
Digunakan untuk membandingkan 2 buah nilai
Contoh : A = = B
7. Operator C+ + Logika (And, Or, Not) simbulnya (&&, ||, !)
Ketentuannya sama dengan Logika Matematika yaitu :
T and T = T
T and F = F T = True
F and T = F F = False
F and F = F
8. Operator C+ + Bitwise
Digunakan untuk memanipulasi data dalam bentuk bit (~, <<, >>, &, |, ^)
Arti simbul : ~ adalah NOT
<< adalah GESER KE KIRI
>> adalah GESER KE KANAN
& adalah AND
| adalah OR
^ adalah X OR
Semua operator Biswise dikompresikan ke biner

Page 1 of 6 www.joshaxis.co.cc
PEMROGRAMAN C++
(Catatan Kuliah 14 November 2009 )

Contoh menggunakan geser ke kiri ( << ) :


50 << 2 = ?
Jawab :
50 desimal = ... biner ? menjadi = 110010
Caranya (dari desimal ke biner) :
50 0
2 Artinya :
25 1
2 dibalik 50 : 2 = 25 sisa 0
12 0
2 25 : 2 = 12 sisa 1
6 0
2 12 : 2 = 6 sisa 0
3 1
2 6 : 2 = 3 sisa 0
1
3 : 2 = 1 sisa 1
sisa 1
Cara dari biner ke desimal adalah :
Diketahui 110010 biner = 50 desimal yaitu dari :
110010
5 4 3 2 1 0 Artinya :
222222 Yang dijumlah adalah yang True (1)
Yaitu :
= 1 . 25 + 1 . 24 + 1 . 21 110010 1 . 25
= 32 + 16 + 2
5 4 3 2 1 0 1 . 24
= 50
222222 1 . 21

Bila menggunakan Geser kekiri << sbb :


Contoh :
50 << 2 = ... ?

50 sudah kita ketahui binernya, yaitu seperti diatas = 1 1 0 0 1 0


Jadi ;
11001000
7 6 5 4 3 2 1 0 Artinya :
22222222 Yang dijumlah adalah yang True (1)
Dan karena digeser kekiri 2 (<< 2)
7
=1.2 +1.2 +1.2 6 3 Bitnya adalah 8 bit.
= 128 + 64 + 8 maka ditambah 0 sebanyak dua
= 200 dibagian belakangnya
Jadi 50 << 2 = 200 Yaitu :
Dari biner 50 = 1 1 0 0 1 0
Menjadi : 1 1 0 0 1 0 0 0

Page 2 of 6 www.joshaxis.co.cc
PEMROGRAMAN C++
(Catatan Kuliah 14 November 2009 )

Bila menggunakan Geser kekanan >> sbb :


Contoh :
50 >> 2 = ... ?

50 sudah kita ketahui binernya, yaitu seperti diatas = 1 1 0 0 1 0


Jadi ;
00001100
7 6 5 4 3 2 1 0 Artinya :
22222222 Yang dijumlah adalah yang True (1)
Dan karena digeser kekanan 2 (>> 2)
3
=1.2 +1.2 2 Bitnya adalah 8 bit.
=8+4 Ketika digeser kekanan, maka 1 1 0 0 1 0
= 12 tingal 1 1 0 0
Jadi 50 << 2 = 12 maka ditambah 0 sebanyak dua didepannya
Yaitu :
Dari biner 50 = 1 1 0 0 1 0
Menjadi : 0 0 0 0 1 1 0 0 8 bit

Untuk Operator AND yaitu sbb :


Contoh :
50 & 40 = ...?

50 sudah kita ketahui biner 8 bit nya, yaitu seperti diatas = 0 0 1 1 0 0 1 0


Untuk yang 40 kita cari sbb :
2 40 0 Jadi 40 = 0 0 1 0 1 0 0 0
2 20 0
2 10 0 00110010
2 5 1 00101000
2 2 0
1 00100000

Kemudian
00100000
7 6 5 4 3 2 1 0
22222222

= 1 . 25
= 32
Jadi 50 & 40 = 32

Page 3 of 6 www.joshaxis.co.cc
PEMROGRAMAN C++
(Catatan Kuliah 14 November 2009 )

Untuk Operator OR yaitu benar bernilai benar jika ada salah satu operand yang
digabungkan ada yang bernilai benar
, sbb ;
T and T = T
T and F = T T = True
F and T = T F = False
F and F = F

Contoh :

00110010
00101000
00111010

Kemudian
00111010
7 6 5 4 3 2 1 0
22222222

= 1 . 25 + 1 . 24 + 1 . 24 + 1 . 21
= 32 + 16 + 8 + 2
= 58
Jadi 50 | 40 = 58

Untuk Operator X OR yaitu benar dua bit yang dibandingkan hanya sebuah yang bernilai
benar, sbb ;
T and T = F
T and F = T T = True
F and T = T F = False
F and F = F

Contoh :

00110010
00101000
00011010

Kemudian
00011010
7 6 5 4 3 2 1 0
22222222

= 1 . 24 + 1 . 23 + 1 . 21

Page 4 of 6 www.joshaxis.co.cc
PEMROGRAMAN C++
(Catatan Kuliah 14 November 2009 )

= 16 + 8 + 2
= 26
Jadi 50 ^ 40 = 26

Untuk negasi NOT digunakan membalik nilai bit dari suatu operand.
Misal ~ 50 yaitu :

00110010 Dibalik
11001101
7 6 5 4 3 2 1 0
22222222

= 1 . 27 + 1 . 26 + 1 . 23 + 1 . 22 + 1 . 20
= 128 + 64 + 8 + 2
= 58
Jadi ~ 50 = 58

PENYELESAIAN KONDISI

Penyelesaian Kondisi kalau dalam flowchart dinyatakan dengan tanda :

No
?

Yes

?
Atau dalam program dinyatakan :
IF... Than... Else...

(Kondisi) (Pernyataan) (Bila tidak / jika bukan kondisi yang pertama)

Contoh 1 :
Pembelian kurang dari 50.000 tidak ada potongan, jika pembelian lebih / sama dengan
50.000 maka ada potongan sebesar 20% dari total pembelian.

Jawab :

X = Pembelian, Y = Potongan

Page 5 of 6 www.joshaxis.co.cc
PEMROGRAMAN C++
(Catatan Kuliah 14 November 2009 )

IF X < 50.000 Then


Cout (‘Tidak Ada Potongan’)
Else ( x adalah tanda kali)
Y = X x 0,2
Cout(‘Potongan =’,Y)

(bila lebih dari satu pernyataan, maka diberi tanda { dan } sebagai pemisahnya.
Seperti :
{
Y= X x 0,2
}
{
.....
}

Contoh 2 :
Jika menjual hingga 20.000, komisi 10.000 + 10% dari pendapatan
Jika menjual diatas 20.000, komisi 20.000 + 15% dari pendapatan
Jika menjual diatas 50.000, komisi 30.000 + 20% dari pendapatan

Jawab :

X = Penjualan, K = Komisi

IF X <= 20.000 Then


K = 10.000 + 0,1 x X

IF (X > 20.000) AND ( X <= 50.000) Then


K = 20.000 + 0,15 x X

Else
K = 30.000 + 0,2 x X

[ Terima kasih \

Page 6 of 6 www.joshaxis.co.cc