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 50 : 2 = 25 sisa 0 dibalik 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 Artinya : 7 6 5 4 3 2 1 0 Yang dijumlah adalah yang True (1) 22222222 Dan karena digeser kekiri 2 (<< 2) 7 6 3 Bitnya adalah 8 bit. =1.2 +1.2 +1.2 maka ditambah 0 sebanyak dua = 128 + 64 + 8 dibagian belakangnya = 200 Yaitu : Jadi 50 << 2 = 200 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 Artinya : 7 6 5 4 3 2 1 0 Yang dijumlah adalah yang True (1) 22222222 Dan karena digeser kekanan 2 (>> 2) 3 2 Bitnya adalah 8 bit. =1.2 +1.2 Ketika digeser kekanan, maka 1 1 0 0 1 0 =8+4 tingal 1 1 0 0 = 12 maka ditambah 0 sebanyak dua didepannya Jadi 50 << 2 = 12 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 00100000 1 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 = True T and F = T F = False F and T = T 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 = True T and F = T F = False F and T = T 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 11001101
Dibalik
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 Y = X x 0,2 Cout(‘Potongan =’,Y)
( x adalah tanda kali)
(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