Top Banner
1 Pertemuan 04 Pemrograman Dasar 2012
43

Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Mar 07, 2019

Download

Documents

vocong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

1

Pertemuan 04

Pemrograman Dasar

2012

Page 2: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Pada akhir pertemuan ini, diharapkan mahasiswa

akan mampu :

Memahami tentang proses sederhana (simple

process) berupa pemanggilan procedure (fungsi)

dan ekspresi serta dapat menerapkannya dalam

algorithma ataupun pemrograman dengan bahasa

pemrograman C.

2

Page 3: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Proses Sederhana (Simple Statement)

Ekspresi

Operator Penugasan (assignment)

Operator Logika

Operator Aritmetika

Operator Relasional

Operator Bitwise

3

Page 4: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Dikatakan proses sederhana karena dipandang sebagai

proses yang hanya mempunyai sebuah aliran masukan dan

sebuah aliran keluaran.

Proses sederhana dalam pemrograman komputer terdiri dari:

• Pemanggilan procedure atau fungsi

• Perhitungan arithmatika atau logika

Dalam flow-chart digambarkan sbb.:

4

Proses

Aliran Masukan

Aliran Keluaran

atauProc_name()

Aliran Keluaran

Aliran Masukan

Pemanggilan procedure/fungsi Perhitungan Arithmatika/Logika

Page 5: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Ekspresi merupakan proses sederhana dalam pemrogram-

an komputer untuk melakukan proses perhitungan

arithmatika dan logika.

Prinsip dasar perhitungan arithmatika dan logika dalam

pemrograman komputer adalah melakukan perhitungan

arithmatika atau logika kemudian hasilnya disimpan dalam

variabel tertentu. Dalam flowchart digambarkan sbb.:

5

Var perhitungan A/L Ekspresi

Dalam C

Page 6: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh:

Artinya (dibaca) nilai data dari variabel c ditambah dengan 1

hasilnya disimpan ke dalam variabel c.

Tidak boleh:

6

c + 1

c c + 1Dlm bhs pemrograman C dapat ditulis:

c=c+1; atau c+=1; atau ++c; atau c++;

Karena tidak ada proses penyimpanan

dari hasil perhitungan dari c+1 ke variabel

Page 7: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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.

Dalam pemrograman komputer penulisan perhitungan

arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh:

7

yzxy

yzxyx

Untuk itu

Untuk itu setiap operator memiliki

presedensi (hirarki) dan assosiativitas.

Page 8: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Didasarkan atas jumlah operand, operator dapat

dibedakan menjadi tiga jenis, yaitu :

• Unary operator

• Binary operator

• Ternary operator

Unary operator memerlukan 1 operand,

binary operator memerlukan 2 operand, sedangkan

ternary operator memerlukan 3 operand.

8

Page 9: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Berdasarkan jenis operasinya, operator dalam bahasa

pemrograman C dapat dikelompokkan :

• Operator Penugasan (assignment operator)

• Operator Logika

• Operator Aritmatika

• Operator Relasional

• Operator Bitwise

• Operator Pointer

9

Page 10: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Termasuk Binary operator

Digunakan untuk memberikan nilai kepada suatu

Operand. Sintak sbb:

operand1 operator operand2;

Operand1 harus berupa variabel, sedangkan operand2

dapat sebarang operand termasuk variabel dari operand1.

Urutan pengerjaan (assosiativitas) operator penugasan

dari kanan ke kiri.

10

Page 11: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh

x = 2; // konstanta

x = y; // variabel lain

x = 2 * y; // ekspresi

a = sin (y); // fungsi

Tipe hasil operasi disesuaikan dengan tipe operand

sebelah kiri.

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

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

11

Page 12: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Digunakan untuk melakukan operasi matematika

12

Simbol Fungsi Contoh

+ Penambahan x = y + 6;

- Pengurangan y = x – 5;

* Perkalian y = y * 3;

/ Pembagian z = x/y;

% Modulo A = 10 % 3;

B= 3 % 10;

++ Increment x++;

-- Decrement z--;

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

Page 13: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Modulo:• Simbol : %

• Termasuk Binary operator

• Untuk menghitung sisa hasil bagi

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

13

Page 14: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh:

N++; //post increment

++N; //pre increment

N--; //post 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;

14

Page 15: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh:

15

#include <stdio.h>

int main ()

{ int x = 44; int y = 44;

++x;

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

y++;

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

}

Page 16: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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 langsung diproses terhadap ekspresinya tanpa

ditambah 1 terlebih dahulu, pada saat selesai baru n

ditambah 1

16

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

}

Page 17: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

17

Setiap ekspesi yang berbentuk :

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

dapat diganti dengan :

<Variabel> <Operator> = <Exp>;

Operator ini sering disebut dengan Combined Operator.

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 18: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh soal:

x *= y +1; artinya sama dengan :

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

B. x = x * y + 1;

C. x = x + 1 * y;

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

Jawab: A

18

Page 19: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

19

Digunakan untuk membandingkan dua nilai, dan

hasilnya TRUE atau FALSE

Simbol Fungsi

= = Sama Dengan

!= Tidak Sama Dengan

< Lebih Kecil Dari

> Lebih Besar Dari

<= Lebih Kecil atau Sama Dengan

>= Lebih Besar atau Sama Dengan

?: Conditional assignment

Page 20: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

TRUE dalam bahasa pemrograman C nilainya Tidaksama dengan NOL

FALSE dalam bahasa pemrograman C nilainya samadengan NOL

Sedangkan nilai TRUE yang diset oleh program C saatrun time nilainya sama dengan 1.

Contoh:

int x;

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

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

20

Page 21: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh :

21

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

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

}

Page 22: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Conditional expression menggunakan ternary

operator ?:

Sintak : exp1 ? exp2 : exp3;

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

22

Page 23: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

23

#include <stdio.h>

#include <iostream.h>

int main () {

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

}

Contoh:

Page 24: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

24

Digunakan untuk melakukan operasi logika

Table Kebenaran operator logika:

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

Simbol Fungsi

&& AND

|| OR

! NOT

Page 25: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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 dibolehkan sbg

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

25

Page 26: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

26

Simbol Fungsi Contoh

& AND A & B

| OR A | B;

^ XOR A ^ B;

~ Complement 1 ~A;

>> Shift Right A >> 3;

<< Shift Left B << 2;

Page 27: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Operasinya dilakukan bit per bit

Contoh:

27

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

Page 28: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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

kedua bit tersebut berbeda, dan akan menghasilkan 0

jika kedua bit tersebut sama.

Contoh:

28

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

Page 29: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Dengan menggunakan operator komplemen (~), maka

setiap bit bernilai 0 akan dirubah menjadi 1 dan

sebaliknya.

Contoh:

int A, B=0xC3;

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

29

Catatan:

Penulisan bilangan hexadesimal pada

bhs pemrograman C menggunakan

awalan 0x atau 0X (nol-X).

0xC3 binernya: 1100 0011

Di-komplemenkan hasilnya:

0011 1100 atau dlm notasi

hexadecimal menjadi 3C

Page 30: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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

30

Catatan:

78 binernya: 00100 1110

Geser kekanan 3 bit: 000001001 = 9

Geser kekiri 2 bit : 010011000 = 312

Page 31: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Pointer operator terdiri dari :

• & (address of)

• * (value of)

31

AKAN DIBAHAS PADA TOPIK POINTER

Page 32: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

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

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

Assosiativitas berlaku untuk operator-operator yang memiliki presedensi yang sama.

32

Page 33: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

33

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 kelas Kiri-Kanan

. 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 34: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

34

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

>= 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 35: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Contoh:

Ditulis dalam bhs pemrograman C:

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

35

yzxy

yzxyx

1 2

3

4 5

6

7

8

Page 36: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

36

#include <stdio.h>

#include <iostream.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);

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

}

Page 37: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Jika semua variabel bertipe integer, maka tentukan

nilai A sbb:

B=23; C=12; D=32; E=0;

1. A = B && E;

2. A = B & C;

3. A = C || D;

4. A = B | D;

5. A = B > 2;

6. A = B >> 2;

7. A = C < 3;

8. A = C << 3;

9. A = B = C;

10. A = B == C;

37

Page 38: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

Sebutkan contoh operator yang termasuk :

1. Unary Operator

2. Binary Operator

3. Ternary Operator

Sebutkan beberapa operator yang bisa berfungsi

sebagai unary dan binary operator, dan berikan

contohnya.

38

Page 39: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

#include <stdio.h>int main(){ int x=10, y=6;

x *= 5 + y;y += y &= x;printf(“x = %d\ny = %d",x,y);return(0);

}

Apakah keluaran yang akan ditampilkan di layarmonitor bila program di atas berhasil dieksekusi ?

39

Page 40: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

40

Bagaimanakah hasil keluaran yang ditampilkan di

layar monitor dari program di atas?, Jelaskan?

#include <stdio.h>

#include <iostream.h>

int main () {

float x;

x = 7/2; printf("x = %f\n",x);

x = 7.0/2; printf("x = %f\n",x);

x = 7/2.0; printf("x = %f\n",x);

x = 7.0/2.0; printf("x = %f\n",x);

x = (float)7/2; printf("x = %f\n\n\n",x);

system("PAUSE");

return(0);

}

Page 41: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

41

#include <stdio.h>

#include <iostream.h>

int main () {

int y=33, x=45;

y = y && x; printf("y = %d\n",y);

y = y & x; printf("y = %d\n",y);

y = y || x; printf("y = %d\n",y);

y = y | x; printf("y = %d\n",y);

y &= y = x; printf("y = %d\n",y);

y ^= y = x; printf("y = %d\n",y);

system("PAUSE");

return(0);

}

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ?

Page 42: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

42

#include <stdio.h>

#include <iostream.h>

int main () {

int y, n;

n =10; y=++n; printf("y = %d\n",y);

n =10; y=n++ printf("y = %d\n",y);

n =10; n++ printf("n = %d\n",n);

system("PAUSE");

return(0);

}

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ?

Page 43: Pemrograman Dasar 2012 - adharul.lecture.ub.ac.id · dari hasil perhitungan dari c+1 ke variabel ... • Untuk menghitung sisa hasil bagi ... -> Pointer ke anggota struktur atau kelas

z = (n > 0) ? f : b;

Perhatikan conditional expression diatas, bolehkah

sekiranya variabel f dan b memiliki tipe data yang

berbeda?

43