OPERATOR DAN EKSPRESI
EKSPRESI
Ekspresi atau ungkapan adalah suatu bentuk yang menghasilkan suatu nilai . Dalam bentuk sederhana, ekspresi berupa sebuah literal atau variabel. dalam bentuk yang lebih kompleks, suau ekspresi melibatkan operator dan operand, misal :
1 + 2 merupakan suatu ekpresi yang menghasilkan nilai 3. Dalam hal ini 1 dan 2 bertindak sebagai operand dan + berperan sebagai operator.
OPERATOR
Operator adalah simbol atau karakterkhusus (misal + dan *) yang digunakan dalam suatu ekspresi untuk menghasilkan suatu nilai. Java menyediakan sejumlah kelompok operator, meliputi :
operator aritmatika
operator penambahan dan pengurangan
operator penugasan
operator pembandingan
operator logika
operator bit
Menurut jumlah operand yang dilibatkan, operator diklasifikasikan menjadi :
operator unary, yaitu operator yang hanya melibatkan satu operand, misalnya -4
operator binary, yaitu operator yang hanya melibatkan dua buah operand, misalnya 1+2
operator tertiary, yaitu operator yang hanya melibatkan tiga buah operand, misalnya a? b:c
1. Operator Aritmatika
Operator ini digunakan untuk melakukan perhitungan aritmatika yang berlaku untuk bilangan bulat maupun titik mengambang
OPERATOR KETERANGAN
+
PenjumlahanTanda Plus
– Pengurangan
Tanda Minus
*
Perkalian/
Pembagian%
Sisa pembagianOperator *, / dan % mempunyai prioritas yang sama tetapi lebih tinggi daripada + atau – yang berkedudukan sebagai operator binary.
Contoh :
//berkas : aritmatika.java public class aritmatika {
public static void main (String[] args) {
Hasil : 1 + 2 * 3 = 7 13 / 5 = 2 13 / 5.2 = 2.5 13 % 5 = 3
2. Operator Penambahan dan Pengurangan
Pada Java, Anda dapat memberikan pernyataan sebagai berikut : x = x+1; yang berarti isi variabel x dinaikkan sebesar 1
y = y – 1; yang berarti isi variabel y berkurang sebesar 1
Operasi di atas seringkali dilaksanakan dengan menggunakan operator ++ atau --, misalnya :
y = x++; y = y--;
Operator ++ dan – dapat dikenakan pada bilangan bulat maupun
bilangan real.
NILAI SEMULA PERNYATAAN HASIL Y HASIL X
5 Y = X++; 5 6
5 Y = ++X; 6 6
5 Y = X--; 5 4
5 Y = --X 4 4
Contoh :
//berkas : penambahan.java public class penambahan {
public static void main (String[] args) {
int x, y; x = 5;
System.out.println("Nilai awal x = "+ x); y = 8 - x++;
System.out.println("Operasi y = 8 - x++ akan menghasilkan nilai x = " + x +" dan y= "+ y);
x = 5;
System.out.println("Nilai awal x = "+ x); y = 8 - ++x;
System.out.println("Operasi y = 8 - ++x akan menghasilkan nilai x = " + x +" dan y= "+ y);
x = 5;
System.out.println("Nilai awal x = "+ x); y = 8 - x--;
System.out.println("Operasi y = 8 - x-- akan menghasilkan nilai x = " + x +" dan y= "+ y);
x = 5;
System.out.println("Nilai awal x = "+ x); y = 8 - --x;
System.out.println("Operasi y = 8 - --x akan menghasilkan nilai x = " + x +" dan y= "+ y);
Hasil :
Nilai awal x = 5
Operasi y = 8 - x++ akan menghasilkan nilai x = 6 dan y= 3 Nilai awal x = 5
Operasi y = 8 - ++x akan menghasilkan nilai x = 6 dan y= 2 Nilai awal x = 5
Operasi y = 8 - x-- akan menghasilkan nilai x = 4 dan y= 3 Nilai awal x = 5
Operasi y = 8 - --x akan menghasilkan nilai x = 4 dan y= 4
3. Operator Penggabungan
Pada Java, operator + dapat juga dikenakan pada string. Gunanya adalah untuk menggabungkan dua buah string menjadi sebuah string baru.
Misal :
“Selamat Belajar” + “ Java” akan menghasilkan “Selamat Belajar Java” "Bilangan :" +8 akan menghasilan "Bilangan :8"
Contoh :
//berkas : string.java public class string {
public static void main (String[] args) {
System.out.println("Selamat Belajar"+ " Java"); System.out.println("Bilangan : "+ 8);
} }
Hasil : Selamat Belajar Java Bilangan : 8
4. Operator Bit
Java mendukung 7 buah operator yang beroperasi pada level bit (0 dan 1) yaitu :
& (DAN untuk biner)
| (ATAU untuk biner)
^ (ATAU EKSKLUSIF)
~ (NOT untuk biner)
<< (geser kiri)
>> (geser kanan)
>>> (geser kanan tak bertanda)
Contoh :
//berkas : bit.java public class bit {
public static void main (String[] args) {
} }
Hasil : Hasil dari 9 & 10 = 8 Hasil dari 9 | 10 = 11 Hasil dari ~10 = -11 Hasil dari 29 << 1 = 58 Hasil dari 29 >> 1 = 14 Hasil dari 29 >>> 1 = 14
5. Operator Penugasan
Berguna untuk memberikan nilai ke suatu variabel
OPERATOR KETERANGAN
=
Pemberian nilai+=
Penambahan bilangan-=
Penguranganbilangan*=
Pengalian bilangan/=
Pembagian bilangan%=
Pemerolehan sisa bagi&=
Y &= X identik dengan Y=Y&X^=
Y ^= X identik dengan Y=Y^X|=
Y |= X identik dengan Y=Y|X<<=
Y <<= X identik dengan Y=Y<<X>>=
Y >>= X identik dengan Y=Y>>X>>>=
Y >>>= X identik dengan Y=Y>>>XContoh :
//berkas : penugasan.java public class penugasan {
public static void main (String[] args) {
float a=5f;
System.out.println("Nilai a=5");
System.out.println("Nilai a +=2 adalah "+ (a+=2)); a=5f;
System.out.println("Nilai a -=2 adalah "+ (a-=2)); a=5f;
System.out.println("Nilai a /=2 adalah "+ (a/=2)); a=5f;
System.out.println("Nilai a *=2 adalah "+ (a*=2)); a=5f;
System.out.println("Nilai a %=2 adalah "+ (a%=2)); }
}
Hasil : Nilai a=5
Operator dalam suatu ekspresi memiliki prioritas pekerjaan yang berbeda-beda. Itulah sebabnya jika terdapat ekspresi yang melibatkan sejumlah operator, pekerjaannya ditentukan oleh prioritas masing-masing.
PRIORITAS OPERATOR
Tertinggi
Terendah
. [ ] ( )
++ -- ! ~ instanceof new (type) ekspresi
- (tanda negatif) + (tanda positif) ~ ! * / %
+
-<< >> >>> -e -r
< <= > >= == != & ^ | && || ? :
= += -= *= /= %= ^= &= |= <<= >>= >>>=
PENGARAH TIPE (TYPE-CASTING)
Adakalanya diperlukan langkah untuk mengubah suatu tipe data menjadi tipe data lain. Proses untuk mengubah suatu tipe ke tipe yang lain.
Bentuk penulisan : (tipe_data) data Misal : int i = 65;
char huruf; huruf = char(i);
Agar tidak ada nilai yang hilang, tipe tujuan harus memiliki ukuran yang lebih besar atau paling tidak sama dengan ukuran tipe sumber.
TIPE SUMBER TIPE TUJUAN
byte
short, char, int, long, float, doubleshort
int, long, float, doublechar
int, long, float, doubleint
long, float, doublelong
long, doublefloat
doubleContoh :
//berkas : tipecast.java public class tipecast {
public static void main (String[] args) {
int awal=28; double akhir;
akhir = (double) awal;
} }
Hasil :
Nilai Awal = 28
Nilai Sesudah Konversi = 28.0
TUGAS
1. Buatlah program untuk menghitung : Keliling, Luas Permukaan dan Isi dari sebuah bola dengan rumus :
Keliling = 2 r
Luas Permukaan = 4/3 r3
Isi = 4 r2
Jika diketahui nilai r = 314 !
2. Buat program untuk mencari hasil operasi bilangan : 25 (10) + 25 (10) = … (8)
2 (10) x 5 (10) = …(16) 81 (10) / 9 (10) = …(8)
3. Perusahaan telepon di kota XYZ mempunyai tarif Rp. 250,- per pulsa. Setiap langganan dikenakan biaya langganan sebesar Rp. 20.000,- per bulan. Buatlah program untuk menghitung tagihan langganan dengan menggunakan konstanta dengan keluaran sebagai berikut :
Nomor Pelanggan : 001
Nama Pelanggan : Aditya Ramadhan Bulan Tagihan : April
Banyaknya Pulsa Pemakaian : 110