Dalam bahasa pemrograman java kita
mengenal 4 macam operaror, yaitu :
Operator Aritmatika
Adalah
operator yang mengimplementasikan proses aritmatika atau penghitungan
matematika,operator aritmatika terdiri dari :
+ Operator penjumlahan (juga sebagai
penyambung string)
- Operator pengurangan
* Operator perkalian
/ Operator pembagian
% Operator sisa pembagian
Operator aritmatika digunakan untuk
melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan
modulo (atau sisa pembagian). Contoh penggunaan :
Simbol
|
Nama operator
|
Contoh penggunaan
|
+
|
Operator penjumlahan
|
n = n + 1;
|
-
|
Operator pengurangan
|
n = n - 1;
|
*
|
Operator perkalian
|
n = n * 1;
|
/
|
Operator pembagian
|
n = n / 1;
|
%
|
Operator sisa pembagian
|
n = n % 1;
|
+
|
Operator penyambung string
|
n = "saya
"+"tidur";
|
Contoh kode program
package operatoraritmatika;
public class
OperatorAritmatika {
/**
* @param args
*/
public
static void
main(String[] args) {
//
TODO Auto-generated method stub
int
x = 2;
int
y = 5;
int
z = 3;
int
g = 0;
g = x + y;
System.out.println("Penjumlahan (x+y)
: " + g);
g = y - x;
System.out.println("Pengurangan (y-x)
: " + g);
g = x * y;
System.out.println("Perkalian (x*y) :
" + g);
g = y / x;
System.out.println("Pembagian (y/x) :
" + g);
g = z % y;
System.out.println("Sisa pembagian
(z%x) : " + g);
g = x + (y * (z/x));
System.out.println("Hasilnya sekarang
: " + g);
}
}
Operator Tunggal
+ Operator plus; menyatakan nilai
positif (setiap angka tanpa tanda ini akan dianggap sebagai positif)
- Operator minus; menyatakan nilai
negatif, dapat pula digunakan untuk menegatifkan suatu bilangan
++ Operator kenaikan; menambah suatu
bilangan dengan 1
-- Operator penurunan; mengurangkan
suatu bilangan dengan 1
! Operator lawan; membalik nilai
suatu boolean
Operator tunggal hanya membutuhkan
satu operan untuk melakukan operasinya. Operator ini tidak dapat digunakan
untuk variabel final, karena variabel final berupa konstanta yang tidak dapat
diubah-ubah. Beberapa jenis operator tunggal diberikan pada tabel di bawah ini.
Simbol
|
Nama operator
|
Operasi
|
Contoh
|
+
|
Operator plus
|
menyatakan nilai positif
|
angka = +1;
|
-
|
Operator minus
|
menyatakan nilai negatif, dapat
pula digunakan untuk menegatifkan suatu bilangan
|
angka = -1;
angka = -angka; // sekarang angka bernilai 1
|
++
|
Operator kenaikan
|
menambah suatu bilangan dengan 1
|
angka = ++angka;
|
--
|
Operator penurunan
|
mengurangkan suatu bilangan dengan
1
|
angka = --angka;
|
!
|
Operator lawan
|
membalik nilai suatu boolean
|
ok = !true;
|
Operator kenaikan dan penurunan
dapat diletakkan di belakang atau di depan suatu variabel. Jika diletakkan di
depan (++x atau --x), penambahan/pengurangan dilakukan sebelumnya, sedangkan
apabila diletakkan di akhir (x++ atau x--) penambahan/pengurangan dilakukan
setelahnya. Walau bagaimanapun pada akhirnya keduanya akan menghasilkan x = x+1
atau x = x-1.
Mari kita lihat contohnya untuk
membedakan lebih jelas perbedaan penempatan operator tunggal ++ dan --
package operatortunggal;
public class
OperatorTunggal {
/**
* Contoh program menggunakan operator tunggal
*
* @param args
*/
public
static void
main(String[] args) {
//
TODO Auto-generated method stub
int
x = 0;
int
y = 0;
y =
++x;
System.out.println("Contoh operator
pada prefix (awalan)");
System.out.println("---------------------------");
System.out.println("Nilai x baru :
" + x);
System.out.println("Nilai y = ++x :
" + y);
x =
0;
y =
0;
y =
x++;
System.out.println("\nContoh operator
pada sufix (akhiran)");
System.out.println("---------------------------");
System.out.println("Nilai x baru
:" + x);
System.out.println("Nilai y = x++
:" + y);
}
}
Jalankan program tersebut dan lihat
hasilnya. Apabila operator ++ diletakkan di awal (prefix), maka nilai
"x" dan "y" akan sama, karena penambahan nilai
"x" dilakukan terlebih dahulu, lalu hasilnya diberi kepada "y".
Apabila operator ++ diletakkan di
akhir (sufix), nilai "y" adalah nilai "x" terdahulu. Java
akan memberi nilai "y" dengan nilai "x" sebelum operasi ++
dilakukan. Baru kemudian nilai "x" ditambahkan.
Operator Pembanding,
Boolean dan Kondisi
Operator kondisi (conditional
operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam
hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator
kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan
Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika.
Catatan : Pada objek, seperti String, operasi pembanding akan
membandingkan alamat memory tempat objek itu disimpan, bukan membandingkan
isinya. Untuk membandingkan isi String, gunakan equals(), equalsIgnoreCase(), dan compareTo() seperti dibahas pada bagian sebelumnya.
Simbol
|
Nama
operator
|
Contoh
|
==
|
Sama dengan
|
b = (1 == 2);
|
!=
|
Tidak sama dengan
|
b = (1 == 2);
|
>
|
Lebih besar
|
b = (1 > 2);
|
>=
|
Lebih besar atau sama dengan
|
b = (1 >= 2);
|
<
|
Lebih kecil
|
b = (1 < 2);
|
<=
|
Lebih kecil atau sama dengan
|
b = (1 <= 2);
|
&&
|
Conditional AND
|
b = true && false;
|
||
|
Conditional OR
|
b = true || false;
|
!
|
NOT
|
b = !true;
|
?:
|
Bentuk pendek dari if-then-else
|
Operator boolean AND
Operator kondisi AND menghasilkan
"true" apabila kedua operandnya bernilai "true". Jika salah
satunya atau keduanya "false", operator ini menghasilkan
"false". Berikut ini tabel kebenaran operasi AND.
Op1
atau Exp1
|
Op2
atau Exp2
|
Hasil
|
true
|
true
|
true
|
true
|
false
|
false
|
false
|
true
|
false
|
false
|
false
|
false
|
Operator && akan
mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai
"true". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah
kiri) bernilai "false", hasilnya akan selalu "false" tidak
tergantung pada isi dari Op2.
Operator kondisi OR
Operator kondisi OR menghasilkan
"true" jika salah satu operandnya bernilai "true". Jika
keduanya "false", operator ini menghasilkan "false".
Berikut ini table kebenaran oeprasi OR.
Op1
atau Exp1
|
Op2
atau Exp2
|
Hasil
|
true
|
true
|
true
|
true
|
false
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
Operator || akan mengevaluasi Op2
(di sebelah kanan) HANYA jika operand 1 bernilai "false". Seperti
terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai
"true", hasilnya akan selalu "true" tidak tergantung pada
isi dari Op2.
Operator NOT
Operator NOT ("!")
melakukan operasi boolean NOT pada operand atau ekspresi tunggal. Operator ini
mengecek nilai boolean dari suatu operand atau expresi kemudian membalik
nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel kebenaran
operator NOT.
Op1
|
Hasil
|
true
|
false
|
false
|
true
|
Operator Ternary (?:) Java memiliki operator berkondisi lain yang disebut ternary
"?:", yang pada dasarnya merupakan bentuk pendek dari if-then-else.
Secara umum
kondisi ? jika_benar : jika_salah
Pada dasarnya operator
"?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai
"true", operator akan mengembalikan "jika_benar", tetapi
apabila "kondisi" bernilai "false", operator akan mengembalika
"jika_salah". Misalnya
x = (1 > 2) ? 10 : 20
Dari contoh di atas, "x"
akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau
"false").
Contoh kode program
package operatorkondisi;
public class
OperatorKondisi {
/**
* Contoh program menggunakan operator kondisi
*
* @param args
*/
public
static void
main(String[] args) {
//
TODO Auto-generated method stub
int
x = 5;
int
y = 10,
angka = 0;
boolean
bl = true;
if((x == 5) && (x < y))
System.out.println("Nilai x adalah
" + x);
if((x == y) || (y > 1))
System.out.println("Nilai y lebih
besar dari x");
angka =
bl ? x :
y;
System.out.println("Angka yang keluar
adalah " + angka);
}
}
Operator Pemberi
Nilai dan Type Casting
Operator merupakan simbol untuk
melakukan perhitungan atau suatu operasi pada satu atau lebih dari satu hal.
Setelah kita mendeklarasi dan mengisi suatu variabel, kita dapat menggunakan
operator untuk melakukan beberapa hal seperti penambahan, pengurangan dan
sebagainya.
Operator Pemberi Nilai
= Operator pemberi nilai Operator
penugasan dan pemberian nilai merupakan operator yang paling umum dalam semua
bahasa pemrograman. Operator ini dilambangkan dengan "=" yang
digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri
operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti
dengan variabel atau angka di sebelah kanan operator.
Operator ini juga dapat digunakan
untuk memberikan referensi kepada suatu objek.
Beberapa contoh :
String nama =
"Budi";
boolean dewasa = true;
// buat objek baru
Shape s1 =
new Shape();
// beri referensi s1 kepada s2
Shape s2 =
s1;
// nilai sebelumnya diganti
dewasa
= false;
Anda dapat juga memberikan nilai
kepada beberapa variabel secara bersamaan. Misalnya :
x
= y = z = 2;
x
= (y + z);
Operator "=" dievaluasi
dari kanan ke kiri. Pada ekspresi pertama, angka 2 diberikan kepada
"z", kemudian nilai yang disimpan "z" diberikan kepada
"y", dan kemudian "y" ke "x" secara bersamaan.
Pada ekspresi kedua, nilai hasil evaluasi pertambahan dimasukkan ke variabel "x".
Pada dasarnya, kedua sisi tanda
"=" harus memiliki tipe yang sama. Misalnya x =
A, x dan A harus memiliki tipe yang
sama. Bagaimana jika tidak, misalnya
int A;
short B;
A
= 17;
B
= (short)A;
Pada kode di atas, B akan mengambil
nilai A yang sudah dikonversi ke tipe short. Tanda (short) dalam kurung artinya
menginstruksikan Java untuk mengubah nilai A menjadi short sebelum diberikan
kepada B.
Perubahan tipe ini disebut type
casting. Kita bisa mengubah tipe apa saja, tetapi karena rentang tiap tipe
berbeda, maka nilainya belum tentu sama dengan nilai aslinya. Misalnya (short)100000 adalah -31072.
Untuk perubahan tipe dari bilangan
real (float atau double) ke bilangan bulat, Java melakukan type casting dengan
memangkas desimalnya. Jadi 3.56 akan diubah menjadi 3 dalam bilangan bulat.
Nilai char juga bisa diubah ke dalam bilangan bulat, yaitu dengan
menggantinya dengan bilangan Unicode-nya.
Selain operasi "=", Java
juga memiliki operator pemberian nilai beruntun, dan dapat digunakan oleh semua
operator aritmatika, manipulasi bit, atau pergeseran bit. Misalnya pada
ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian
hasilnya disimpan kembali ke "x".
x
+= 2;
Table berikut menunjukkan semua
operator pemberian nilai yang dapat Anda gunakan sehingga kode Anda menjadi
lebih efisien dan mudah dibaca.
Operator
|
Contoh
|
Ekspresi setara
|
+=
|
x += y;
|
x = (x + y);
|
-=
|
x -= y;
|
x = (x - y);
|
*=
|
x *= y;
|
x = (x * y);
|
/=
|
x /= y;
|
x = (x / y);
|
%=
|
x %= y;
|
x = (x % y);
|
&=
|
x &= y;
|
x = (x & y);
|
|=
|
x |= y;
|
x = (x | y);
|
^=
|
x ^= y;
|
x = (x ^ y);
|
< <=
|
x < <= y;
|
x = (x < < y);
|
>>=
|
x >>= y;
|
x = (x >> y);
|
>>>=
|
x >>>= y;
|
x = (x >>> y);
|
Contoh kode program
package operatorpemberinilai;
public class
OperatorPemberiNilai {
/**
* Contoh program menggunakan operator pemberi
nilai (assignment operator)
*
* @param args
*/
public
static void
main(String[] args) {
//
TODO Auto-generated method stub
int
x = 5;
int
y = 10;
x +=
y;
System.out.println("Hasil penjumlahan
: " + x);
x -=
y;
System.out.println("Hasil pengurangan
: " + x);
x *=
y;
System.out.println("Hasil perkalian :
" + x);
x /=
y;
System.out.println("Hasil pembagian :
" + x);
x %=
y;
System.out.println("Sisa pembagian :
" + x);
x &=
y;
System.out.println("Hasil operasi AND
: " + x);
x |=
y;
System.out.println("Hasil operasi OR :
" + x);
x <<=
y;
System.out.println("Hasil operasi
pergeseran bit ke kiri :"+ x);
}
}
Sumber : http://java.lyracc.com/artikel/java-untuk-pemula/operator-pemberi-nilai-type-casting
0 komentar:
Posting Komentar