Operator Relasional Operator logika

120 Direktorat Pembinaan SMK | 2008 Operator relasi digunakan untuk membandingkan hubungan antara dua buah operand sebuah nilai atau variable atau digunakan untuk mewakili sebuah nilai logika nilai boolean, dari suatu persamaan atau nilai. Jenis-jenis operator relasi,sepeti terlihat pada tabel dibawah ini: Tabel 3.9. Operator relasi OPERATOR ARTI CONTOH Kurang dari x y Apakah x kurang dari y = Kurang dari sama dengan x = y Apakah x kurang dari sama dengan y Lebih dari x y Apakah x lebih dari y = Lebih dari sama dengan x = y Apakah x lebih dari sama dengan y == Sama dengan x == y Apakah x sama dengan = Tidah sama dengan x = y Apakah x tidak sama dengan y

3.8.3. Operator logika

Operator logika digunakan untuk membandingkan logika hasil dari operator-operator relasi atau digunakan untuk mengoperasikan operand konstanta, variabel, atau suatu ekspresi secara logis. Operator logika ada tiga macam yaitu operator AND, OR dan operator NOT. Untuk lebih jelasnya perhatikan dalam tabel berikut: Tabel 3.10. Operator logika OPERATOR ARTI CONTOH AND a b a b 0 0 1 0 1 0 0 1 1 1 21 31 = 0 0 = 0 24 31 = 0 1 0 = 0 || OR a b a || b 0 0 1 1 1 0 1 1 1 1 21 || 41 = 0 || 0 = 0 24 || 31 = 1 1 || 0 = 0 NOT a a 23 = 1 1 0 = 1 1 Program Operasi logika pada Operator Binary Logika 2008 | Direktorat Pembinaan SMK 121 Program 3.19 include conio.h include iostream using namespace std; main { int x, x1, x2, y, y1, y2, z, z1, z2, a, b, c; a = 125 ; b = 100 ; c = 25 ; x1 = a b; x2 = a b; y1 = c = b; y2 = c = b; z1 = a == c; z2 = a = c; x = x1 x2; y = y1 || y2; z = z1; cout \nA = a b c ; cout \nX1 = ; cout \n = a b ; cout \n = x1 ; cout \nX2 = ; cout \n = a b ; cout \n = x2 ; cout \nY1 = ; cout \n = c b ; cout \n = y1 ; cout \nY2 = ; cout \n = c b ; cout \n = y2 ; cout \nZ1 = ; cout \n = a c ; cout \n = z1 ; cout \nZ2 = ; cout \n = a b ; cout \n = z2 ; cout \nX = ; cout \n = x1 x2 ; 122 Direktorat Pembinaan SMK | 2008 cout \n = x ; cout Y\n = ; cout \n = y1 y2 ; cout \n = y ; cout Z\n = ; cout \n = z1 ; cout \n = z ; getch; return ; } Keluaran program diatas adalah sebagai berikut: A = 125 B = 100 C = 25 X1 = a b = 125 100 = X2 = a b = 125 100 = 1 V1 = C = B = 25 = 100 = 1 V2 = C = B = 25 = 100 = Z1 = A = C = 125 = 25 = Z2 = A == B = 125 == 100 = 1 X = X1 X2 = 0 1 = Y = Y1 || Y2 = 1 || 0 = 1 Z = Z1 = = 1 2008 | Direktorat Pembinaan SMK 123

3.8.4. Operator Bitwise atau manipulasi bit

Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori. Semua operator bitwise hanya bisa dikenakan pada operand bertipe integer atau karakter. Operator bitwise sebagaimana terlihat dalam tabel dibawah ini: Tabel 3.11. Operator bitwise OPERATOR ARTI CONTOH Pergeseran bit ke kiri 9 2 Pergeseran bit ke kanan 9 2 Bitwise AND 9 2 Bitwise XOR Exclusive OR 9 2 | Bitwise OR 9 | 2 ~ Bitwise NOT ~ 9 Perhatikan contoh operasi bitwise XOR antara data 9D dengan 2D maka akan menghasilkan data 11D 9D = 00001001B di XOR dengan 2D = 00000010B 11D = 00001011B = hasil XOR Atau contoh lain misalnya antara data 9D dengan 7D maka akan dihasilkan data 14D seperti dibawah ini: 9D = 00001001B di XOR dengan 7D = 00000111B 14D = 00001110B = hasil XOR Tabel 3.12. Kebenaran XOR A B A XOR B 1 1 1 1 1 1 Pada tabel XOR tersebut diatas adalah: data keluaran akan bernilai 0 jika data masukannya bernilai sama baik 0 semua atau 1 semua. Dalam operasi aritmetika sebuah data 9D misalnya akan digeser kekanan atau 124 Direktorat Pembinaan SMK | 2008 kekiri untukan operasi baik OR, AND, OR maupun NOT. Perhatikan contoh pergeseran data 9D yang digeser kekiri maka nilai akan berubah. Perubahan tersebut akan mewakili sebuah operasi perkalian, pembagian atau operasi yang lain. Perhatikan contoh pergeseran data 9D dibawah ini: 9D = 00001001B digeser kekiri: 1x = 00010010B = 18D 2x = 00100100B = 36D Kalau digeser kekanan: 1x = 00000100B = 4D 2x = 00000010B = 2D 9D = 00001001B di AND dengan 2D = 00000010B 0D = 00000000B = hasil AND 9D = 00001001B di OR dengan 2D = 00000010B 11D = 00001011B = hasil OR 9D = 00001001B di NOT menjadi: ~9D = 11110110B = ‐10D model komplemen 2 Selain hasil tersebut diatas, dapat dibuktikan dengan cara melakukan komplemen kedua. Komplemen satu yaitu dengan melakukan konversi data 0 menjadi 1 atau sebaliknya, sedangkan komplemen kedua yaitu dengan melakukan penambahan data 01 pada hasil komplemen pertama. Untuk lebih jelasnya perhatikan contoh dibawah ini: 10D = 00001010B ‐10D = 11110101B model komplemen 1 = 11110110B model komplemen 2 Untuk menyatakan bilangan negatip dalam bilangan biner dipakai model komplemen. Model komplemen 2 diperoleh dengan cara model komplemen 1 ditambah 1. Program 3.20. Operasi bit pada Operator Bitwise include conio.h include iostream