boolean

33
1 Boolean

Upload: takara

Post on 07-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Boolean. Topik. Boolean Type int sbg Boolean Boolean expressions Boolean Operators Precedence (keutamaan) Kesalahan umum. Boolean. “type” khusus yg bernilai hanya: false dan true . Digunakan utk kondisi seleksi dan loop dalam algoritma. Type int sbg Boolean. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Boolean

1

Boolean

Page 2: Boolean

2

Topik

• Boolean

• Type int sbg Boolean

• Boolean expressions

• Boolean Operators

• Precedence (keutamaan)

• Kesalahan umum

Page 3: Boolean

3

Boolean

• “type” khusus yg bernilai hanya: false dan true.

• Digunakan utk kondisi seleksi dan loop dalam algoritma

Page 4: Boolean

4

Type int sbg Boolean

• Dlm C, integers di pakai sbg Boolean

• Nilai integer 0 adalah false.

• Dan integer non-zero adalah true.

Page 5: Boolean

5

#include <stdio.h>

/* Test Boolean. */

int main(){ int whatever = 0;

if (whatever) { printf(“Apakan ini “true”,Wied?\n”); } else { printf(“Tidak, Marge.\n”); } return 0;}

contoh: Outputnya apa?

Page 6: Boolean

6

#include <stdio.h>

/* Test some Booleans. */

int main(){ int whatever = 1;

if (whatever) {

printf(“Apakan ini “true”,Wied?\n”);

} else { printf(“No, Marge.\n”); } return 0;}

contoh: Outputnya apa?

Page 7: Boolean

7

#include <stdio.h>

/* Test some Booleans. */

int main(){ int whatever = -100;

if (whatever) {

printf(“Apakan ini “true”,Wied?\n”);

} else { printf(“No, Marge.\n”); } return 0;}

contoh: Outputnya apa?

Page 8: Boolean

8

#include <stdio.h>

/* Test some Booleans. */

int main(){ int whatever = ’A’;

if (whatever) {

printf(“Apakan ini “true”,Wied?\n”);

} else { printf(“No, Marge.\n”); } return 0;}

contoh: Outputnya apa?

Page 9: Boolean

9

#include <stdio.h>

/* Test some Booleans. */

int main(){ int whatever = 0.003;

if (whatever) {

printf(“Apakan ini “true”,Wied?\n”);

} else { printf(“No, Marge.\n”); } return 0;}

contoh: Outputnya apa?

Page 10: Boolean

10

contoh: Outputnya apa?

#include <stdio.h>

/* Test some Booleans. */

int main(){ float whatever = 0.003;

if (whatever) {

printf(“Apakan ini “true”,Wied?\n”);

} else { printf(“No, Marge.\n”); } return 0;}

hasilnya “undefined.”

Page 11: Boolean

11

Boolean Expressions

• ...ekspresi yg dpt di evaluasi dg tegas true atau false.

• Boolean expression mengevaluasi true jika nilai integer 1; lainnya, 0.

Page 12: Boolean

12

Boolean Operators

• ...dipakai membentuk ekspresi boolean. • ...dikenal sbg operator “logical” • And (&&)• Or (||)• Not (!)• Equality (==)• Inequality (!=)• Comparison (<, >, <=, >=)

Page 13: Boolean

13

And

• True jika dan hanya jika kedua argumennya adalah true.

1 && 2

1 && 0 && -1

tall && dark && handsome

Contoh:

Page 14: Boolean

14

And

• True jika dan hanya jika kedua argumennya adalah true.

1 && 2

1 && 0 && -1

tall && dark && handsome

Contoh:

Beda dg “bitwise

AND” (&)

Page 15: Boolean

15

Or

• True jika hanya salah satu argumennya true (atau keduanya true).

1 || 2

11 || 0 || 1

good || bad || ugly

Examples:

Page 16: Boolean

16

Or

• True jika hanya salah satu argumennya true (atau keduanya true).

1 || 2

11 || 0 || 1

good || bad || ugly

contoh:

Beda dg “bitwise OR” (|)

Page 17: Boolean

17

Not

• True jika argumen Boolean adalah false.

! 1

! 0

! happy

contoh:

Page 18: Boolean

18

Equality

• True jika kedua argumennya bernilai sama

1 == 2

1 == 0

42 == 42

truth == beauty

contoh:

Page 19: Boolean

19

Equality

• True jika kedua argumennya bernilai sama

1 == 2

1 == 0

42 == 42

truth == beauty

contoh:

Beda dg assignment

(=)

Page 20: Boolean

20

Inequality

• True jika argumennya berbeda nilai.

1 != 2

1 != 0

42 != 42

truth != beauty

contoh:

Page 21: Boolean

21

Comparison

• True jika memenuhi suatu relasi

1 < 2

0 > 1

42 <= 42

age >= 18

contoh:

Page 22: Boolean

22

Comparison

• True jika memenuhi suatu relasi

1 < 2

0 > 1

42 <= 42

age >= 18

Hati-hati!

contoh:

Page 23: Boolean

23

Keutamaan• Urutan keutamaan dr Highest ke lowest:

– Bracket (kurung)

– Not (!)

– Comparison (<, >, <=, >=)

– Equality (==)

– Inequality (!=)

– And (&&)

– Or (||)

Note: operator assignment (=) adalah

urutan terendah yg diutamakan dari pada

operator Boolean / Logical.

Page 24: Boolean

24

contoh:#include <stdio.h>

int main(){ int age = 18; int haveMoney = 0; int haveCard = 1; float thirst = 0.31; int afterHours = 1;

int result;

result = age >= 18 && (haveMoney || haveCard) && thirst > 0.3 && ! afterHours;

printf("%d\n", result);

return 0;} bool.c

Page 25: Boolean

25

Kesalahan Umum

• Penggunaan = di banding ==

Page 26: Boolean

26

contoh:

#include <stdio.h>

/* Kesalahan umum pd pemrograman c. */

int main(){ int score;

scanf("%d", &score);

if (score = 48 || score = 49) { printf("Almost!\n"); }

return 0;}

boolerr1.c

Page 27: Boolean

27

Example:

#include <stdio.h>

/* Kesalahan umum pd pemrograman c. */

int main(){ int score;

scanf("%d", &score);

if (score = 48 || score = 49) { printf("Almost!\n"); }

return 0;}

boolerr1.c

Biasanya pesan error (jika ada): “LValue required...”

Page 28: Boolean

28

Example:

#include <stdio.h>

/* Kesalahan umum pd pemrograman c. */

int main(){ int score;

scanf("%d", &score);

if (score == 48 || score == 49) { printf("Almost!\n"); }

return 0;}

boolerr1.c

Page 29: Boolean

29

Kesalahan Umum

• Penggunaan = drpd ==• Pada perbandingan yang banyak

Page 30: Boolean

30

contoh:

#include <stdio.h>

/* Another common C error. */

int main(){ int score;

scanf("%d", &score);

if ( 0 < score < 48 ) { printf("Fail\n"); }

return 0;}

boolerr2.c

Page 31: Boolean

31

#include <stdio.h>

/* Another common C error. */

int main(){ int score;

scanf("%d", &score);

if ( 0 < score < 48 ) { printf("Fail\n"); }

return 0;}

contoh:

boolerr2.c

0 atau 1

Page 32: Boolean

32

#include <stdio.h>

/* Another common C error. */

int main(){ int score;

scanf("%d", &score);

if ( 0 < score < 48 ) { printf("Fail\n"); }

return 0;}

contoh:

boolerr2.c

0 or 1

Selalu 1

Page 33: Boolean

33

contoh:

#include <stdio.h>

/* Another common C error. */

int main(){ int score;

scanf("%d", &score);

if ( 0 < score && score < 48 ) { printf("Fail\n"); }

return 0;}

boolerr2.c