Anda di halaman 1dari 53

Dasar Pemrograman Java

Ir. Nanang Syahroni M.Kom


Laboratorium Elektronika Komunikasi JJ-302
Politeknik Elekltronika Negeri Surabaya PENS-ITS
2021
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
Macam operator
• Terdapat 3 macam operator:
– Operator unary
hanya memerlukan satu operator
contoh :(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 ?:
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 : ()
Operator Unary : ++ dan - -
Operator Unary
Operator Unary : + dan -

1. X = -3;
2. Y = +3;
3. Z = -(Y+6);
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
Operator Unary
(Bitwise Logical Operator)
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 0000 …. 0000 0110  6


1 1
0000 …. 0000 0101
0000 …. 0000 0100 1111 …. 1111 1010  -6
1111 …. 1111 1011  -5
Mencari bilangan desimal dari bilangan biner
negatif

• Cara:
1. Lakukan negasi terhadap bilangan biner
tersebut
2. 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
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);


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);
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 byte
byte x = 64;
byte y = 4;
byte result = x*y;
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.
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)
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
Contoh:
Operator Binary (Operator relasi)

• Operator relasi disebut juga operator perbandingan,


membandingkan dua operand dan mengembalikan nilai
true atau false.
• Operand dapat sembarang nilai numerik.
Contoh:

• Output
Operator Binary (Equality operators)

• Operator equality
==  equals
!=  not equals
• Terdapat 4 tipe yang dapat digunakan :
– Angka (desimal atau pecahan)
– Karakter
– Boolean
– Object
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);
}
}
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 < q
f < q
f <= c
c > r
c >= q
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);
}
}
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)
}
}
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
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
Operator Binary
The Shift Operators
Operator >>
Operator >>>
Operator Binary
(Bitwise Logical Operators)

• Digunakan untuk memanipulasi bit


The Bitwise Operators:&
The Bitwise Operators: |
The Bitwise Operators: ^
|

|
^

^
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
Contoh:

• Output
• x=3y=4
Shortcut Assignment Operators

x=x+y;
• Dapat disingkat x += y;
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
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
Operators Precedence
Operators Precedence (cont.)

Anda mungkin juga menyukai