34
Ekspresi, Pernyataan & Operasi Aritmetika/Logika Ekspresi (expression) Pernyataan (statements) Operator Penugasan (assignment) Operator Aritmetika Operator Relasional Operator Logika Operator Bitwise 1 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

  • Upload
    phungtu

  • View
    243

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Ekspresi, Pernyataan &

Operasi Aritmetika/Logika

� Ekspresi (expression)

� Pernyataan (statements)

� Operator Penugasan (assignment)

� Operator Aritmetika

� Operator Relasional

� Operator Logika

� Operator Bitwise

1Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 2: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Ekspresi (Expression)

� Ekspresi adalah sebuah konstruksi yang tersusun dari variabel,

operator, dan pemanggilan fungsi, yang dikonstruksi sesuai dengan

sintaks dari bahasa pemgrograman, dan dapat dievaluasi menjadi

sebuah nilai.

� Contoh:

x = 1 x = 1

hasil = 1 + 2

1 * 2 * 3

x + y / 100 // ambiguous

(x + y) / 100 // unambiguous, recommended

2Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 3: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Ekspresi (Expression)

� 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.

3Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 4: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Pernyataan (Statements)

� Secara sederhana analogis dengan ‘kalimat’ dalam bahasa natural.

� Sebuah pernyataan membentuk unit eksekusi yang komplit (a complete

unit of execution), dapat dieksekusi oleh komputer.

� Ekspresi dapat diubah menjadi pernyataan (sehingga dapat dieksekusi)

dengan mengakhiri penulisannya dengan titik koma atau semicolon (;)

� Contoh:

x = 10; x = 10;

y = x + 1;

printf(“%d”, x);

x++;

� Contoh di atas termasuk pernyataan ekspresi (expression statements)

� Selain itu, ada macam pernyataan lainnya, yaitu pernyataan deklarasi

(declaration statement) dan pernyataan aliran kendali (control flow

statement)

4Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 5: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Pernyataan (Statements)

� Selain pernyataan ekspresi, ada macam pernyataan

lainnya, yaitu pernyataan deklarasi (declaration statement)

dan pernyataan aliran kendali (control flow statement)

� Contoh pernyataan deklarasi:

int x;

char ch = ‘A’; char ch = ‘A’;

� Pernyataan aliran kendali dapat berupa pencabangan

bersyarat (selection) atau pengulangan (repetition). Akan

dibahas di topik lain kelak.

5Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 6: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Presedensi & Asosiativitas

� Presedensi menentukan urutan pengerjaan operator berdasarkan prioritas. Operator yang memiliki tingkat presedensi lebih tinggi akan dikerjakan lebih dahulu.

� Assosiativitas menentukan urutan pengerjaan operator � Assosiativitas menentukan urutan pengerjaan operator berdasarkan lokasinya dalam sebuah ekspresi (apakah dari kiri atau dari kanan).

6Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 7: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Presedensi & Asosiativitas

KATEGORI SIMBOL NAMA PRIORITASURUTAN

PENGERJAAN

Resolusi Lingkup :: Resolusi Lingkup 1 Kiri-Kanan

Kurung, indeks

larik dan elemen

struktur data

() Kurung

2

Kiri-Kanan

[] Elemen array Kiri-Kanan

->Pointer ke anggota struktur atau

kelasKiri-Kanan

. Anggota struktur, union atau kelas Kiri-Kanan

7Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

. Anggota struktur, union atau kelas Kiri-Kanan

Operator Unary

++ Pre-increment

3

Kanan-Kiri

-- Pre-decrement Kanan-Kiri

! Logika not Kanan-Kiri

~ Komplemen Bitwise Kanan-Kiri

- Unary minus Kanan-Kiri

+ Unary plus Kanan-Kiri

& Alamat Kanan-Kiri

* Indirection Kanan-Kiri

(type) Type casting Kanan-Kiri

sizeof Ukuran tipe data Kanan-Kiri

new Alokasi memori Kanan-Kiri

delete Dealokasi memori Kanan-Kiri

Page 8: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Presedensi & Asosiativitas

KATEGORI SIMBOL NAMA PRIORITASURUTAN

PENGERJAAN

Operator aritmatika

perkalian

* Perkalian

4 Kiri-Kanan/ Pembagian

% Sisa Pembagian

Operator penambahan+ Penambahan

5 Kiri-Kanan- Pengurangan

Pergeseran bit<< Geser Kiri

6 Kiri-Kanan>> Geser Kanan

Operator Relational

< Lebih kecil

7 Kiri-Kanan<= Lebih kecil sama dg

> Lebih besar

8Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

> Lebih besar

>= Lebih besar sama dg

Operator Relational== Sama dengan

8 Kiri-Kanan!= Tidak sama dengan

Operator Bitwise

& Bitwise AND 9

Kiri-Kanan^ Bitwise XOR 10

| Bitwise OR 11

Operator Logika&& Logika AND 12

Kiri-Kanan|| Logika OR 13

Operator Ternary ?: Operator kondisi 14 Kanan-Kiri

Operator Penugasan

Majemuk

=, +=, -=, *=,

/=, %=Operator penugasan arithmatika

15 Kanan-Kiri&=, ^=, |=,

<<=, >>=Operator penugasan bitwise

Operator koma , Operator Koma 16 Kiri-Kanan

Page 9: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Presedensi & Asosiativitas

� Contoh:

� Ditulis dalam bhs pemrograman C:

yzxy

yzxyx

+←

x = (x * y + y * z)/(x * y – y * z);

9

1 2

3

4 5

6

7

8

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 10: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Presedensi & Asosiativitas

#include <stdio.h>

#include <stdlib.h>

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);

10

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);

}

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 11: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator

� Didasarkan atas jumlah operand, operator dapat

dibedakan menjadi tiga jenis, yaitu :

� Unary operator

� Binary operator

� Ternary operator� Ternary operator

� Unary operator memerlukan 1 operand,

binary operator memerlukan 2 operand, sedangkan

ternary operator memerlukan 3 operand.

11Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 12: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator

� Berdasarkan jenis operasinya, operator dalam bahasa

pemrograman C dapat dikelompokkan :

� Operator Penugasan (assignment operator)

� Operator Logika� Operator Logika

� Operator Aritmatika

� Operator Relasional

� Operator Bitwise

� Operator Pointer

12Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 13: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Penugasan (assignment)

� Termasuk binary operator

� Digunakan untuk memberikan nilai kepada suatu operand.

Sintaks:

operand1 operator operand2;

� operand1 harus berupa variabel, sedangkan

operand2 dapat sembarang operand termasuk variabel

dari operand1 .

� Urutan pengerjaan (assosiativitas) operator penugasan

dari kanan ke kiri.

13Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 14: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Penugasan

� Contoh

x = 2; // konstanta

x = y; // variabel lain

x = 2 * y; // ekspresi

a = sin (y); // fungsia = sin (y); // fungsi

� Tipe hasil operasi disesuaikan dengan tipe operand sebelah kiri.

int x = 7/2; /*nilai x sama dengan 3 */

float y = 3; /*nilai y sama dengan 3.000 */

14Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 15: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmetika

� Digunakan untuk melakukan operasi matematika

Simbol Fungsi Contoh

+ Penambahan x = y + 6;

- Pengurangan y = x – 5;

15

- Pengurangan y = x – 5;

* Perkalian y = y * 3;

/ Pembagian z = x/y;

% Modulo A = 10 % 3;

++ Increment x++;

-- Decrement z--;

() Menaikan Priority x=(2+3)*5

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 16: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmetika

� Modulo:� Simbol : %

� Termasuk Binary operator

� Untuk menghitung sisa hasil bagi

� n % 2, dapat digunakan untuk menguji apakah integer n bernilai genap atau ganjilgenap 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

16Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 17: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmatika

� Contoh:

N++; //post increment

++N; //pre increment

N--; //post decrement

--N; //pre decrement--N; //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;

17Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 18: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmatika

� Contoh:

#include <stdio.h>

int main ()

{ int x = 44; int y = 44;

++x;

18

++x;

printf(”x = %d\n”, x);/* hasilnya 45 */

y++;

printf(”y = %d\n”, y); /* hasilnya 45 */

}

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 19: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmetika

� 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++

� n langsung diproses terhadap ekspresinya tanpa ditambah 1 terlebih dahulu,

pada saat selesai baru n ditambah 1

19

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);

}Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 20: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmetika

� Setiap ekspesi yang berbentuk :

<Variabel> = <Variabel> <Operator><Exp>;

dapat diganti dengan :

<Variabel> <Operator> = <Exp>;

� Operator ini sering disebut dengan Combined Operator.

20Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

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;

Page 21: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Aritmetika

Contoh soal:

x *= y +1; artinya sama dengan :

A. x = x * (y + 1);

B. x = x * y + 1;B. x = x * y + 1;

C. x = x + 1 * y;

D. x = (x + 1) * y;

J

21Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 22: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Relasional

Simbol Fungsi

= = Sama Dengan

Digunakan untuk membandingkan dua nilai, dan hasilnya

TRUE atau FALSE

= = Sama Dengan

!= Tidak Sama Dengan

< Lebih Kecil Dari

> Lebih Besar Dari

<= Lebih Kecil atau Sama Dengan

>= Lebih Besar atau Sama Dengan

?: Conditional assignment

22Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 23: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Relasional

� TRUE dalam bahasa pemrograman C bernilai “tidak samadengan NOL”

� FALSE dalam bahasa pemrograman C bernilai “samadengan NOL”

� Sedangkan nilai TRUE yang diset oleh program C saat run time bernilai sama dengan 1.

� Contoh:

int x;

x = (20 > 10); //nilai x sama dgn 1

x = (20 == 10); //nilai x sama dgn 0

23Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 24: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Relasional

� Contoh :

#include<stdio.h>

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);

24

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 kecil atau sama dengan %d\n",

x,y);

if ( x >= y) printf("%d lebih besar atau sama dengan %d\n",

x,y);

return(0);

}

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 25: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Ekspresi Kondisional

(Conditional Expression)

� Ekspresi Kondisional menggunakan ternary operator

?:

� Sintaks : exp1 ? exp2 : exp3;

� Jika exp1 bernilai true, maka exp2 dieksekusi. Sebaliknya jika � 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.

25Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 26: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Ekspresi Kondisional

#include <stdio.h>

#include <iostream.h>

int main () {

int bil, abs;

Contoh:

26

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);

}

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 27: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Logika

Simbol Fungsi

&& AND

|| OR

! NOT

� Digunakan untuk melakukan operasi logika

27

! NOT

� Table Kebenaran operator logika:

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

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

Page 28: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

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 integer yang sama dengan nol (0), tetapi nilai data integer tidak dibolehkan menjadi 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

28Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 29: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Bitwise

Simbol Fungsi Contoh

& AND A & B

| OR A | B;

29

| OR A | B;

^ XOR A ^ B;

~ Complement 1 ~A;

>> Shift Right A >> 3;

<< Shift Left B << 2;

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 30: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Bitwise

� Operasinya dilakukan bit per bit

� Contoh:

a=24 Binernya: 011000

30

a=24 Binernya: 011000

b=35 Binernya: 100011

(a&b) per bit hasilnya :

000000 desimalnya 0

(a | b) per bit hasilnya :

111011 desimalnya 59

int a=24; int b=35;

int c;

c = a & b; //nilai

c = 0

c = a | b; //nilai

c = 59

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 31: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Bitwise

� Dua buah bit di-XOR-kan akan menghasilkan 1 jika kedua bit

tersebut berbeda, dan akan menghasilkan 0 jika kedua bit

tersebut sama.

� Contoh:

31

Desimal 45 binernya: 0101101

Desimal 75 binernya: 1001011

Kemudian bit per bit di XOR kan maka

hasilnya: 1100110 atau (102 desimal).

int A,B=45;

A=B^75; //Nilai

A=102

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 32: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Bitwise

� Dengan menggunakan operator komplemen (~), maka setiap

bit bernilai 0 akan dirubah menjadi 1 dan sebaliknya.

� Contoh: 0xC3 binernya: 1100 0011

Di-komplemenkan hasilnya:int A, B=0xC3;

A=~B; //nilai A=0x3C;

32

Catatan:

Penulisan bilangan hexadesimal pada bhs

pemrograman C menggunakan awalan 0x atau

0X (nol-X).

Di-komplemenkan hasilnya:

0011 1100 atau dlm notasi

hexadecimal menjadi 3C

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 33: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Bitwise

� Operator shift-right (>> 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 (<< n) dapat dipergunakan untuk menggeser n � Operator shift-left (<< n) dapat dipergunakan untuk menggeser n

bit ke kiri dan diberi nilai 0 (nol) sejumlah n bit dari paling kanan

yang ditinggalkan.

� Contoh:

int A, B=78;

A = B>>3; //nilai A=9

A = B<<2; //nilai A=312

33

Catatan:

78 binernya: 00100 1110

Geser kekanan 3 bit: 000001001 = 9

Geser kekiri 2 bit : 010011000 = 312Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

Page 34: Ekspresi, Pernyataan & Operasi Aritmetika/Logika fileOperator Relasional Operator Logika Operator Bitwise Ekspresi Pernyataan Operasi ... Ekspresi adalah sebuah konstruksi yang tersusun

Operator Pointer

� Pointer operator terdiri dari :

� & (address of)

� * (value of)

AKAN DIBAHAS PADA TOPIK POINTER

34

AKAN DIBAHAS PADA TOPIK POINTER

Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010