PERTEMUAN 8 : PENENTUAN OPERATOR DAN EKSPRESI
Operator dan Ekspresi Pada Pemrograman Java - Ekspresi 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.
Sedangkan 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 + Penjumlahan Tanda Plus – Pengurangan Tanda Minus * Perkalian
/ Pembagian
% Sisa pembagian
Operator *, / 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) { System.out.println("1 + 2 * 3 = "+ (1+2*3)); System.out.println("13 / 5 = "+ (13/5)); System.out.println("13 / 5.2 = "+ (13/5.2)); System.out.println("13 % 5 = "+ (13%5)); } } 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
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
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) {
System.out.println("Hasil dari 9 & 10 = "+ (9&10)); System.out.println("Hasil dari 9 | 10 = "+ (9|10)); System.out.println("Hasil dari ~10 = "+ (~10));
System.out.println("Hasil dari 29 << 1 = "+ (29<<1)); System.out.println("Hasil dari 29 >> 1 = "+ (29>>1)); System.out.println("Hasil dari 29 >>> 1 = "+ (29>>>1)); } } 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>>>X
Contoh :
//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 Nilai a +=2 adalah 7.0 Nilai a -=2 adalah 3.0 Nilai a /=2 adalah 2.5 Nilai a *=2 adalah 10.0 Nilai a %=2 adalah 1.0
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, double
short int, long, float, double
char int, long, float, double
int long, float, double
long long, double
float double
Contoh :
//berkas : tipecast.java public class tipecast {
public static void main (String[] args) {
int awal=28; double akhir;
akhir = (double) awal;
System.out.println("Nilai Awal = "+ awal);
System.out.println("Nilai Sesudah Konversi = "+ akhir); }
} 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 p r
Luas Permukaan = 4/3 p r3
Isi = 4 p r2
Jika diketahui nilai r = 314 !
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