Operator precedence dan ekspresi numerik di program Java
Operator Precedence Dan Ekspresi Numerik Di Program Java
Operator adalah simbol yang digunakan untuk melakukan operasi yang melibatkan satu, dua atau tiga operand. Operator di Java dapat dibagi menjadi operator pemberian (assignment operator), operator aritmatika (arithmatic operator), operator unari (unary operator), operator kesamaan dan hububungan (equality and relational operator), operator bersyarat (conditional operator) dan operator perbandingan (comparison operator).

1. Operator Precedence.

Bahasa pemrograman Java mempunyai aturan untuk menentukan urutan dimana operator di ekspresi dievaluasi ketika suatu ekspresi mempunyai beberapa operator. Aturan ini disebut dengan operator precedence. Operator precedence adalah urutan evaluasi dimana operator yang ada di ekspresi akan dievaluasi berdasarkan aturan prioritas yang ditentukan.

Baca artikel:

Operator dengan prioritas lebih tinggi dievaluasi terlebih dahulu dibanding operator yang mempunyai prioritas lebih rendah. Bila beberapa operator di ekspresi mempunyai prioritas sama, operator akan dievaluasi berdasarkan asosiasi operator (operator association). Berikut ini adalah tabel operator di Java dengan tingkatan prioritas:

Operator Precedence Di Java

Prioritas Operator Keterangan Asosiasi
0 (…) Kurung buka tutup Kiri ke kanan
1 ++, --, . Postincrement, Postdecrement dan titik. Kanan ke kiri
2 ++, --, +, -, ! Preincrement, Predecrement, unary plus, unary minus dan Boolean NOT. Kanan ke kiri
3 (type), new Pengkonversian tipe data dan pembuatan obyek Kanan ke kiri
4 *, /, % Perkalian, pembagian dan sisa pembagian (modulus) Kiri ke kanan
5 +, -, + Penambahan, pengurangan dan operator penggabungan string. Kiri ke kanan
6 <, >, <=, >= Relational operator Kiri ke kanan
7 ==, != Equaliti operator Kiri ke kanan
8 ^ Boolean XOR (eksklusif or) Kiri ke kanan
9 && Boolean AND Kiri ke kanan
10 || Boolean OR Kiri ke kanan
11 =, +=, -=, *=, /=, %= Operator pemberian

Perhatikan contoh ekspresi numerik Java di bawah ini.

5 + 20 * 2 – 20 / 2 + (10 - 2);

Java mengevaluasi ekspresi numerik tersebut dengan urutan sebagai berikut:

  • Ekspresi numerik yang terdapat di kurung buka tutup dievaluasi pertama kali karena mempunyai prioritas paling tinggi dibanding operator perkalian (*), pembagian (/), penjumlahan (+) dan juga pengurangan (-) sehingga ekspresi numerik menjadi 5 + 20 * 2 – 20 / 2 + 8.
  • Operator perkalian (*) dan pembagian (/) dievaluasi berikutnya dimulai dari kiri ke kanan karena memiliki prioritas sama dan lebih tinggi daripada operator penjumlahan (+) dan pengurangan (-) sehingga ekspresi numerik menjadi 5 + 40 – 10 + 8.
  • Operator penambahan dan pengurangan mempunyai prioritas sama dan dievaluasi terakhir mulai dari kiri ke nanan sehingga menghasilkan nila 43.

2. Ekspresi Aritmatika dan ekspresi Java.

Anda perlu menterjemahkan ekspresi aritmatika ke ekspresi numerik Java menggunakan operator numerik. Java tidak dapat mengeksekusi ekspresi numerik aritmatika karena ada simbol yang tidak sama atau tidak dikenali. Sebagai contoh, rumus luas persegi panjang ditulis dalam bentuk ekspresi aritmatika dengan notasi p.l atau p x l, dimana p dan l adalah veriabel tipe numerik.

Agar ekspresi numerik dapat dimengerti Java, Anda harus mengubah terlebih dahulu ke ekspresi Java menjadi p * l. Karakter asterisk (*) di ekspresi Java digunakan untuk mewakili operator perkalian, sedangkan di aritmatika menggunakan karakter x atau titik (.) atau bisa langsung ditulis pl. Berikut ini adalah contoh ekspresi aritmatika yang harus diubah ke dalam ekspresi Java sebelum digunakan di program:

Operator precedence dan ekspresi numerik di Java

Ekspresi aritmatika di atas dapat diterjemahkan ke ekspresi Java sebagai berikut:

Operator precedence dan ekspresi numerik di Java

Berikut ini adalah contoh program yang mendemonstrasikan pemberian nilai ke variabel dalam bentuk ekspresi Java.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Nama file : EkspresiJava.java
// Memberi nilai ke variabel dengan ekspresi Java

// Deklarasi kelas
public class EkspresiJava {

   // Metoda main
   public static void main(String[] args) {

      // Deklarasi dan memberi nilai awal ke variabel
      int x = 20, y = 10;
      boolean nilaiBoolean = false;

      // Deklarasi variabel
      int nilaiEkspresiSatu, nilaiEkspresiTiga, nilaiEkspresiEmpat;
      boolean nilaiEkspresiDua;

      // Memberi nilai ke variabel dengan ekspresi Java
      nilaiEkspresiSatu = 5 + x * 2 - x / 2 + (y - 2);
      nilaiEkspresiDua = !nilaiBoolean;
      nilaiEkspresiTiga = ++x - --y;
      nilaiEkspresiEmpat = 40 + x * y + 25;

      // Menampilkan nilai variabel hasil dari evaluasi ekspresi
      System.out.println();
      System.out.println("nilaiEkspresiSatu = " + nilaiEkspresiSatu);
      System.out.println("nilaiEkspresiDua = " + nilaiEkspresiDua);
      System.out.println("nilaiEkspresiTiga = " + nilaiEkspresiTiga);
      System.out.println("nilaiEkspresiEmpat = " + nilaiEkspresiEmpat);
   }
}

Operator precedence dan ekspresi numerik di Java

PRODUK TOKO GERZAL

Murah Fosi Audio SP601 Passive Bookshelf Speaker 2 Way 6.5 Inch Woofers Inch HiFi
Fosi Audio SP601 Passive Bookshelf Speaker 2 Way ...
Rp 4.607.800
Murah Fosi Audio BT20A MAX Power Amplifier HiFi Bluetooth Stereo PFFB Feedback
Fosi Audio BT20A MAX Power Amplifier HiFi Bluetooth ...
Rp 2.989.600
(5/5)
Murah Fosi Audio K7 Amplifier Headphone Hi-Fi Gaming DAC Bluetooth LCD Display
Fosi Audio K7 Amplifier Headphone Hi-Fi Gaming DAC ...
Rp 2.545.900
(5/5)
Murah Fosi Audio SW10 Active Speaker Subwoofer HiFi 10 Inch Driver Smart DSP 200W
Fosi Audio SW10 Active Speaker Subwoofer HiFi 10 Inch ...
Rp 4.623.300
(5/5)

Untuk daftar lengkap produk, kunjungi toko online kami, GERZAL, di marketplace Shopee, Tokopedia, dan TikTok Shop.
Harga produk di setiap marketplace berbeda-beda dan dapat berubah sewaktu-waktu.
Gunakan aplikasi saat berbelanja untuk mendapatkan potongan harga produk dan ongkos kirim, bahkan ongkos kirim gratis untuk wilayah tertentu.