.quickedit{display:none;}

Pages

Macam Macam Operator Pemrograman Java


Operator
---------
Operator Aritmetika
Operator Relasional
Operator Logika
Operator Bitwise


Operator Aritmetika
-------------------
Operator Aritmetika : operator yg digunakan untuk melakukan perhitungan-perhitungan matematis seperti penjumlahan, pengurangan, perkalian dan pembagian.

Operator Keterangan
--------------------------
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus (sisa bagi)
++ Increment (menaikkan nilai dgn 1)
-- Decrement (menurunkan nilain dgn 1)

Operand dari operator aritmetika harus bertipe numerik.
Untuk tipe char, masih dapat dilakukan operasi aritmetika.

Contoh :
int a = 2, b = 4;
b = b + a;

Operator sama dengan (=) disebut dgn operator assignment, yaitu operator yg digunakan untuk memasukkan nilai ke dalam suatu variabel.

b = b + a; //sama dengan b += a;

Operator untuk menyingkat proses assignment
Operator Keterangan
----------------------------------
+= Assignment penjumlahan
-= Assignment pengurangan
*= Assignment perkalian
/= Assignment pembagian
%= Assignment sisa bagi

Contoh :
b += a; //sama dgn b = b + a;
b -= a; //sama dgn b = b - a;
b *= a; //sama dgn b = b * a;
b /= a; //sama dgn b = b / a;
b %= a; //sama dgn b = b % a;

//PROGRAM 3-1
class DemoAritmetikaDasar {
public static void main(String[] args) {

System.out.println("Operasi aritmetika " +
"pada tipe integer");
int a = 2 + 1;
int b = a - 1;
int c = a * b;
int d = c / 3;
int e = -a;
System.out.println("Nilai a: " + a);
System.out.println("Nilai b: " + b);
System.out.println("Nilai c: " + c);
System.out.println("Nilai d: " + d);
System.out.println("Nilai e: " + e);
System.out.println();

System.out.println("Operasi aritmetika " +
"pada tipe floating-point");
double fa = 2 + 1;
double fb = fa - 1;
double fc = fa * fb;
double fd = fc / 3;
double fe = -a;
System.out.println("Nilai fa: " + fa);
System.out.println("Nilai fb: " + fb);
System.out.println("Nilai fc: " + fc);
System.out.println("Nilai fd: " + fd);
System.out.println("Nilai fe: " + fe);
}
}

Hasil progr
am diatas :
Operasi aritmetika pada tipe integer
Nilai a: 3
Nilai b: 2
Nilai c: 6
Nilai d: 2
Nilai e: -3


Operasi aritmetika pada tipe floating-point
Nilai fa: 3.0
Nilai fb: 2.0
Nilai fc: 6.0
Nilai fd: 2.0
Nilai fe: -3.0

Operator Modulus
----------------
Operator modulus digunakan untuk menentukan sisa bagi dari sebuah operasi pembagian bilangan bulat (integer) maupun bilangan riil (floating-point).

//PROGRAM 3-2
class DemoModulus {
public static void main(String[] args) {
int a=11, b=4;
int c = a % b;

double da = 13.75;
double dc = da % b;

System.out.println("Sisa bagi " + a + "/" + b +
" adalah " + c);
System.out.println("Sisa bagi " + da + "/" + b +
" adalah " + dc);
}
}

Hasil program diatas
Sisa bagi 11/4 adalah 3
Sisa bagi 13.75/4 adalah 1.75

Operator Increment dan Decrement
--------------------------------
Operator Increment untuk menaikkan nilai operand dgn nilai 1
Operator Decrement unutk menurunkan nilai operand dgn nilai 1

a = a + 1;

dpt ditulis dgn operator increment :

a++;

proses decrement

a = a - 1;

dgn decrement

a--;

Operator increment/decrement terbagi dua je
nis post-increment/post-decrement dan pre-increment/pre-decrement.
Pre-increment, operator ++ akan ditulis di depan operand contoh ++a.
Post-increment, operator ++ akan ditulis di belakang operand contoh a++.

Pre-increment, nilai operand dinaikkan 1 terlebih dahulu sebelum diproses
Post-increment, diproses terlebih dahulu sebelum nilainya dinaikkan

//PROGRAM 3-3
class DemoIncrement {
public static void main(String[] args) {

int a=5;

System.out.println("Pre-increment");
System.out.println("a\t: " + a);
System.out.println("++a\t: " + ++a);
System.out.println("a\t: " + a);

int b=5;

System.out.println("\nPost-increment");
System.out.println("b\t: " + b);
System.out.println("b++\t: " + b++);
System.out.println("b\t: " + b);
}
}

Hasil program
Pre-increment
a : 5
++a : 6
a : 6

Post-increment
b : 5
b++ : 5
b : 6


Dari hasil diatas ++a berarti menaikkan nilai a terlebih dahulu sebelum ditampilkan
b++ berarti nilai b ditampilkan terlebih dahulu sebelum dinaikkan


//PROGRAM 3-4
class DemoDecrement {
public static void main(String[] args) {

int a=5;

System.out.println("Pre-decrement");
System.out.println("a\t: " + a);
System.out.println("--a\t: " + --a);
System.out.println("a\t: " + a);

int b=5;

System.out.println("\nPost-decrement");
System.out.println("b\t: " + b);
System.out.println("b--\t: " + b--);
System.out.println("b\t: " + b);
}
}

Hasil program
Pre-decrement
a : 5
--a : 4
a : 4

Post-decrement
b : 5
b-- : 5
b : 4


Operator Relasional
-------------------
Operator relasional : operator yang menyatakan hubungan antara satu operand dgn operand yg lainnya, apakah sama dgn, tdk sama dgn, lebih besar, lebih kecil, lebih kecil atau sama dgn, ataukah lebih besar atau sama dgn. Hasil yang diberikan akan bernilai boolean (true/false)

Operator Keterangan
--------------------------
== Sama dengan
!= Tidak sama dengan
> Lebih besar
< Lebih kecil
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan

Operator == dan != dpt diterapkan ke tipe apapun, baik numerik, karakter, maupun boolean.
Keempat operator lainnya hanya dpt digunakan untuk tipe numerik dan char.

//PROGRAM 3-5
class DemoRelasional {
public static void main(String[] args) {

int a=5, b=10;

System.out.println("a == b bernilai " + (a == b));
System.out.println("a != b bernilai " + (a != b));
System.out.println("a > b bernilai " + (a > b));
System.out.println("a < b bernilai " + (a < b));
System.out.println("a >= b bernilai " + (a >= b));
System.out.println("a <= b bernilai " + (a <= b));
}
}

Hasil program
a == b bernilai false
a != b bernilai true
a > b bernilai false
a < b bernilai true
a >= b bernilai false
a <= b bernilai true

Operator Logika
---------------
Operator Logika digunakan untuk melakukan operasi terhadap dua operand yang bertipe boolean.
Hasil yg diberikan operasi ini juga akan bertipe boolean.

Operator Keterangan
--------------------------
&& Operasi AND
|| Operasi OR
^ Operasi XOR (Exclusive OR)
! Operasi NOT (negasi)

Operasi terhadap dua operand bertipe boolean
-----------------------------------------------------------------------
A B A && B A||B A ^ B !A
-----------------------------------------------------------------------
TRUE TRUE TRUE TRUE FALSE FALSE
TRUE FALSE FALSE TRUE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE TRUE
-----------------------------------------------------------------------

AND : bernilai TRUE apabila kedua operand (A dan B) bernilai TRUE
OR : bernilai FALSE apabila kedua operand bernilai FALSE
XOR : bernilai TRUE apabila salah satu operand (bukan kedua-duanya) bernilai TRUE
NOT : menghasilkan negasi atau kebalikan dari nilai sebelumnya

//PROGRAM 3-6
class DemoOperatorLogika {
public static void main(String[] args) {

System.out.println("Operasi AND");
System.out.println("true && true = " + (true && true));
System.out.println("true && false = " + (true && false));
System.out.println("false && true = " + (false && true));
System.out.println("false && false = " + (false && false));

System.out.println("\nOperasi OR");
System.out.println("true || true = " + (true || true));
System.out.println("true || false = " + (true || false));
System.out.println("false || true = " + (false || true));
System.out.println("false || false = " + (false || false));

System.out.println("\nOperasi XOR");
System.out.println("true ^ true = " + (true ^ true));
System.out.println("true ^ false = " + (true ^ false));
System.out.println("false ^ true = " + (false ^ true));
System.out.println("false ^ false = " + (false ^ false));

System.out.println("\nOperasi NOT");
System.out.println("!true = " + (!true));
System.out.println("!false = " + (!false));
}
}

Hasil program di atas
Operasi AND
true && true = true
true && false = false
false && true = false
false && false = false

Operasi OR
true || true = true
true || false = true
false || true = true
false || false = false

Operasi XOR
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false

Operasi NOT
!true = false
!false = true

Operator Bitwise
----------------
Operator bitwise digunakan untuk melakukan operasi boolean terhadap dua buah operand bertipe integer.
Operasi ini dilakukan bit demi bit.
Nlai TRUE direpresentasikan dgn nilai 1, dan FALSE dgn nilai 0.

Operator Keterangan
----------------------------------
& Operasi bitwise AND
| Operasi bitwise OR
^ Operasi bitwise XOR
~ Operasi bitwise NOT
>> Operasi shift right (geser ke kanan sebanyak n bit)
>>> Operasi bitwise right zero fill
<< Operasi shift left (geser ke kiri sebanyak n bit)

---------------------------------------------
A B A&B A|B A^B ~A
---------------------------------------------
1 1 1 1 0 0
1 0 0 1 1 0
0 1 0 1 1 1
0 0 0 0 0 1
---------------------------------------------

Operator Bitwise AND
--------------------
Operator & hanya akan menghasilkan nilai 1 apabila kedua operand bernilai 1

0 0 0 0 1 0 0 0 nilai 8 dalam bentuk biner
0 0 0 0 0 1 1 1 nilai 7 dalam bentuk biner
--------------- &
0 0 0 0 0 0 0 0 hasil = 0

Operator Bitwise OR
-------------------
Operator | bernilai 0 apabila kedua operandnya bernilai 0.

0 0 0 0 1 0 0 0 nilai 8 dalam bentuk biner
0 0 0 0 0 1 1 1 nilai 7 dalam bentuk biner
--------------- &
0 0 0 0 1 1 1 1 hasil = 15

Operator Bitwise XOR
---------------------
Operator ^ bernilai 1 apabila hanya salah satu operand bernilai 1.

0 0 1 0 1 0 1 0 nilai 42 dalam bentuk biner
0 0 0 0 1 1 1 1 nilai 15 dalam bentuk biner
--------------- &
0 0 1 0 0 1 0 1 hasil = 37

Operator Bitwise NOT
--------------------
Bitwise NOT (sering disebut dgn bitwise complement) digunakan untuk melakukan negasi bit.

0 0 0 0 1 0 0 0

setelah dinegasikan

1 1 1 1 0 1 1 1

Operator Shift Right
--------------------
Digunakan untuk melakukan pergeseran bit ke arah kanan sebanyak nilai yg didefinisikan.
nilai >> banyaknya_pergerseran_bit_kearah_kanan
Setiap proses pergeseran bit, operator >> akan membagi suatu nilai dgn 2.
contoh :
64 >> 1, hasilnya 32
64 >> 2, hasilnya 16

Operator Shift Right Zero Fill
------------------------------
Bit paling kiri (high-order bit) digunakan untuk menentukan tanda dari suatu bilangan (apakah positif atau negatif).
Pada saat menggunakan operator >>, setiap pergeseran terjadi akan melakukan penyalinan nilai bit paling ke kiri ke nilai yg dihasilkan.
Operator >>>, bit paling kiri akan selalu diisi dgn nilai 0.
Contoh : apabila nilai -1 digeser sebanyak 24 bit kearah kanan menggunakan operator >>>, maka hasilnya 255.

11111111 11111111 11111111 11111111 nilai -1 dalam bentuk biner
>>>24
00000000 00000000 00000000 11111111 hasil = 255

Operator Shift Left
-------------------
Melakukan pergeseran bit ke arah kiri sebanyak nilai yg didefinisikan

nilai<< banyaknya_pergeseran_bit_ke_arah_kiri

Operator ini akan mengalikan suatu nilai dgn 2.
Contoh
2 << 1, hasilnya 4
2 << 2, hasilnya 8
2 << 3, hasilnya 16

Operator ? : (Ternary)
----------------------
Operator Ternary digunakan untuk menggantikan statemen if-then-else.

ekspresi1 ? ekspresi2 : ekspresi3;

ekspresi1 : ekspresi yg akan diperiksa dan harus menghasilkan nilai bertipe boolean.
Apabila ekspresi1 bernilai TRUE, maka ekspresi2 yg akan diambil nilainya, apabila sebaliknya maka ekspresi3 yg akan diambil nilainya.

Prioritas pada Operator
-----------------------
Operator dgn prioritas tertinggi akan dilakukan lebih dulu

Prioritas pada Operator Java

Tertinggi
() [] .
++ -- ~ !
* / %
+ -
>> >>> <<
> >= < >=
== !=
&
^
|
&&
||
?:
= op=
Terendah

Contoh op= adalah operator +=, -=, *=, dsb

Tidak ada komentar:

Poskan Komentar