dasar pemrograman java

53
Dasar Pemrograman Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2008

Upload: sloane-chan

Post on 03-Jan-2016

69 views

Category:

Documents


0 download

DESCRIPTION

Dasar Pemrograman Java. Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2008. Topik. Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan |. Short – Circuit operator - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dasar Pemrograman Java

Dasar Pemrograman Java

Nana RamadijantiLaboratorium Computer Vision

Politeknik Elekltronika Negeri Surabaya PENS-ITS2008

Page 2: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Topik

• Unary operator• Arithmetic operator• Shift operator: <<, >>, dan >>>• Comparison operator• Bitwise operator: &, ^, dan |.• Short – Circuit operator• Conditional operator : ?• Assignment operator • Operator lain : new, instanceof • Urutan pemrosesan

Page 3: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Macam operator

• Terdapat 3 macam operator:– Operator unary

hanya memerlukan satu operatorcontoh :(menambah nilai pada operand dengan 1)

y = 3; ++y ; (y=4)– Operator binary

Memerlukan dua operand.• Operator aritmatika• Operator relas• Bitwise Logical Operators• Operator instanceof • Operator shift• Operator Short-Circuit Logical • Shortcut Assignment Operators

Contoh : (menambah nilai dari dua operand) a=2;b=3; a = a+b; (a=5)– Operator ternary

memerlukan tiga operand. Hanya mempunyai satu operator yaitu ?:

Page 4: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary

1. Operator increment dan decrement : ++ dan - -

2. Operator unary plus dan minus : + dan –

3. Operator bitwise inversion : ~

4. Operator boolean complement : !

5. Cast : ()

Page 5: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary : ++ dan - -

Page 6: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary

Page 7: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary : + dan -

1. X = -3;

2. Y = +3;

3. Z = -(Y+6);

Page 8: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary

• The Bitwise Inversion Operator: ~– converting all the 1 bits in a binary value to 0s and all

the 0 bits to 1s.Example:00001111 11110000

• The Boolean Complement Operator: !– inverts the value of a boolean expression.Example:!true false!false true

Page 9: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary(Bitwise Logical Operator)

Page 10: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Mencari nilai biner suatu bil negatif

• Cara:

1. Tulis biner bilangan positifnya

2. Dikurangi dengan 1

2. ~(hasil)• Misal: Bagaimana representasi biner untuk bilangan –5 ?

0000 …. 0000 0101 5

1

0000 …. 0000 0100

1111 …. 1111 1011 -5

0000 …. 0000 0110 61

0000 …. 0000 01011111 …. 1111 1010 -6

Page 11: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Mencari bilangan desimal dari bilangan biner negatif

• Cara:1. Lakukan negasi terhadap bilangan biner

tersebut2. Ditambah dengan 1

• Misal : 1111 …. 1111 1011

1111 …. 1111 1011 berapa? 1111 …. 1111 1010 berapa?

0000 …. 0000 0100 0000…. 0000 0101 1 1

0000 … 0000 0101 --> -5 0000…. 0000 0110 -> -6

Page 12: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary : cast (type)

• Casting digunakan untuk melakukan konversi tipe secara eksplisit ke dalam type baru yang ada dalam tanda ().

• Akan dilakukan pengecekan tipe terlebih dahulu.

• Contoh:

int keliling = (int) (Math.PI * diameter);

Page 13: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Unary :cast (type)

• Bisa diaplikasikan pada tipe obyek.

1. Vector v = new Vector();

2. v.add(“Hello”);

3. String s = (String) v.get(0);

Page 14: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary - Operator Aritmetic

• The Multiplication and Division Operators: * and /– Perkalian dan pembagian dua bilangan (char, byte, short, int dan long)

hasil akan disimpan dalam int atau long. – Contoh

• Loses precision.int x = 7;int y = 4;int result = x/ y;

• Error hasil perkalian berupa int tapi disimpan dalam bytebyte x = 64;byte y = 4;byte result = x*y;

Page 15: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Kondisi Arithmetic Error

• Tipe data (char, byte, short, int, and long) dibagi dengan 0 akan menyebabkan ArithmeticException.– 1. int x = 2;– 2. int y =0;– 3. int z = x/y;

• Untuk tipe data float dan double pembagian dengan nol tidak membangkitkan error tapi menghasilkan infinity (IPOSITIVE_INFINITY or NEGATIVE_INFINITY).

• Mencari akar dari bilangan negatif (float atau double) akan membangkitkan nilai NaN (Not a Number), tapi bukan exception.

Page 16: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Nan

• In general, an NaN value indicates that the calculation has no meaningful result in ordinary arithmetic.

• Two NaN values are defined in the java.lang package: Float.NaN, and Double.NaN.

• Because NaN means not a sensible value, all the following value of the double variable x, including NaN:– x < Double.NaN– x <= Double.NaN– x > Double.NaN– x >= Double.NaN– x == Double.NaN

• As a corollary to the preceding example, consider– double x = 7.0/0.0; – x != Double.NaN (return true)

Page 17: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary (Operator Modulo : %)

• Adalah sisa pembagian

• Bisa diaplikasikan pada:– Bilangan integer– Bilangan floating - point

Example:

x = 7 % 4; //so x = 3

y = 7.6 % 2.9; //so y = 1.8

Page 18: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Contoh:

Page 19: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary (Operator relasi)

• Operator relasi disebut juga operator perbandingan, membandingkan dua operand dan mengembalikan nilai true atau false.

• Operand dapat sembarang nilai numerik.

Page 20: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Contoh:

• Output

Page 21: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary (Equality operators)

• Operator equality== equals

!= not equals

• Terdapat 4 tipe yang dapat digunakan :– Angka (desimal atau pecahan)– Karakter– Boolean– Object

Page 22: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Equality untuk primitif

class ComparePrimitives{

public static void main(String [] args) {

System.out.println(‘a’ ==‘a’);

System.out.println(‘a’ ==‘b’);

System.out.println(5 != 6);

System.out.println(5.0 == 5L);

System.out.println(true==false);

}

}

Page 23: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary (Operator relasi)

int p = 9;int q = 65;int r = 12;float f = 9.0f;char c = ‘A’;

Berikut ini akan menghasilkan true:p < qf < qf <= cc > rc >= q

Page 24: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Equality untuk Object

import java.awt.Button;

class CompareReference {

public static void main(String [] args) {

Button a = new Button(“Exit”);

Button b = new Button(“Exit”);

Button c = a;

System.out.println(a==b);

System.out.println(a==c);

}

}

Page 25: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator instanceof

• Operator instance of digunakan untuk mengecek class suatu obyek.

• Pengecekan dilakukan pada saat runtime.

import java.awt.*;

class CompareTest {

public static void main(String [] args) {

Button b = new Button(“Exit”);

boolean compare1 = b instanceof Button;

boolean compare2 = b instanceof Componenet;

System.out.println(“Is b a Button?” + compare1)

System.out.println(“Is b a Component?” + compare2)

}

}

Page 26: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator instanceof

• Hasil:

Is b a Button? true

Is b a Component? true

• Argumen sebelah kiri adalah object reference expression.

• Argumen sebelah kanan adalah class, interface, atau array

Page 27: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary

The Shift Operators

• Shift operator:– << : left shift– >> : sign right shift– >>> : unsigned right shift

• Fundamentals of Shifting– moving the bit pattern left or right.– applied to arguments of integral types only.

• Pada operator << dan >>>: Nilai bit yang baru adalah 0• Pada operator >> : Nilai bit yang baru tergantung pada bit pada

posisi terkiri yang akan digeser, jika nilainya : – 1 negatif, maka nilai baru adalah 1– 0 positif, maka nilai baru adalah 0

Page 28: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary The Shift Operators

Page 29: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator >>

Page 30: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 31: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator >>>

Page 32: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 33: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 34: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 35: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operator Binary(Bitwise Logical Operators)

• Digunakan untuk memanipulasi bit

Page 36: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

The Bitwise Operators:&

Page 37: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

The Bitwise Operators: |

Page 38: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

The Bitwise Operators: ^

Page 39: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 40: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

|

|

Page 41: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

^

^

Page 42: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

The Short-Circuit Logical Operators

– For an AND operation, if one operand is false, the result is false, without regard to the other operand.

– For an OR operation, if one operand is true, the result is true, without regard to the other operand.

• Jadi, untuk nilai boolean x:– false && X = false– true || X = true

Page 43: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 44: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 45: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 46: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Contoh:

• Output

• x = 3 y = 4

Page 47: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 48: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Shortcut Assignment Operators

x = x + y ;• Dapat disingkat x += y;

Page 49: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Shortcut Assignment Operators

• x = x + 2 * 5;

• Disingkat x+=2*5

• x = (x * 2) + 5; disingkat x*=2+5

• Ekspresi pada bagian kanan = selalu dievaluasi terlebih dahulu

Page 50: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

The Conditional Operator: ?:

• known as the ternary operator• takes three operands• code simple conditions (if/else) into a single expression.

• Example:a = x ? b : c;

• Aturan:– Tipe data b, c dan a sebaiknya sama. Jika tidak sama? Terjadi

promosi– Tipe ekspresi x harus boolean– Contoh nilai x (6>7)– Jika ekspresi x benar maka akan menghasilkan b– Jika ekspresi x salah maka akan menghasilkan c

Page 51: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Page 52: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operators Precedence

Page 53: Dasar Pemrograman Java

Laboratorium Computer VisionPoliteknik Elektronika Negeri Surabaya PENS-ITS

Operators Precedence (cont.)