PEMBAHASAN
Pada bab ini akan membahas mengenai ekspresi dan penyusunya (operator dan operand) yang bermanfaat dalam menyusun program. Operator aritmetik, operator penugasan, prioritas operator, dan type casting. Namun sebelum menyimak bab kedua ini, diharapkan Anda sudah membaca pembahasan pada Bab 1 (Pengenalan, Variabel, Konstanta dan Komentar)
Ekspresi
Ekspresi adalah suatu rangkaian operator, variabel, fungsi atau konstanta yang ditujukan untuk menghasilkan sebuah nilai dengan tipe tertentu. Ekspresi umum dipakai di dalam program, contohnya adalah untuk menghitung luas lingkaran berdasarkan jari-jarinya. Apabila r menyatakan jari-jari lingkaran dan luas menyatakan luas setengah lingkaran, perhitunganya adalah sebagai berikut :
Pada contoh diatas, terdapat beberapa ekspresi. Contoh ekspresi ditunjukan dengan gambar berikut :
Sebagai contoh, ekspresi r * r (yang berarti r x r) menghasilkan nilai besar r2. Jika r = 5, hasilnya adalah 25. Jika r = 6, hasilnya adalah 36.
Ekspresi
0.5 * 3.14 * r * r;
menghasilkan nilai 39,25 untuk r = 5. Adapun, ekspresiluas = 0.5 * 3.14 * r * r;
juga menghasilkan nilai sebesar 39,25.Operand
Pada ekspresi seperti 2 + 3 2 dan 3 berkedudukan sebagai operand dan + berkedudukan sebagai operator.
Tidak ada keharusan memberikan spasi di antara operand dan operator, tetapi sebaiknya spasi disertakan. Spasi diberikan dengan tujuan agar ekspresi mudah dibaca oleh orang.
Operator Unary dan Binary
Berdasarkan jumlah operand yang melekat dalam sebuah operator, operator bisa digolongkan menjadi 3.
- Operator unary
- Operator binary
- Operator ternary
Operator | Jumlah Operator | Contoh |
Operator unary | 1 | -a |
Operator binary | 2 | a + 1 x - y 2 * c |
Operator ternary | 3 | a ? b : c |
Operator Aritmetik
Java menyediakan beberapa operator aritmetika, perhatikan pada tabel dibawah ini :
Operator aritmetika :OPERATOR | KETERANGAN | CONTOH |
+ | Penjumlahan Tipe hasil ekspresi bergantung pada tipe operand.
|
3 + 2 -> 5 3.0 + 2 -> 5.0 |
- | Pengurangan Tipe hasil ekspresi bergantung pada tipe operand
|
3 - 2 -> 1 3.0 - 2 -> 1.0 |
* | Perkalian Tipe hasil ekspresi bergantung pada tipe operand.
|
3 * 2 -> 6 3.0 * 2 -> 6.0 |
/ | Pembagian Tipe hasil ekspresi bergantung pada tipe operand.
|
7 / 2 -> 3 7 / 2.0 -> 3.5 |
% | Sisa pembagian (Modulus) Operator ini hanya berlaku untuk bilangan bulat. |
5 % 2 -> 1 5 % 3 -> 2 8 % 2 -> 0 |
Java tidak mendukung operator untuk menangani perpangkatan. Kalau Anda ingin menghitung a2, Anda bisa menghitungnya dengan menukiskan
a * a
Berikut dua contoh lain :a3 -> a * a * a
a4-> a * a * a * a
Lalu bagaimana kalau ingin menghitung 310, Apa harus menulis a sebanyak 10 kali?Bisa saja, namun itu tidaklah praktis, Anda bisa menggunakan metode bernama pow() milik kelas Math.. Berikut adalah contoh untuk memperoleh 310 dengan pow().
Berikut adalah output eksekusi program
3 pangkat 10 : 59049
3 pangkat 10 : 59049
Java juga tidak menyediakan operator yang terkait dengan akar. Sebagai pengganti, Anda bisa menggunakan Math.pow() ataupun Math.sqrt(). Sebagai contoh lihatlah contoh code nya di bawah ini
Berikut adalah output eksekusi program
Akar 25 (dengan pow) = 5.0
Akar 25 (dengan sqrt) = 5.0
Setiap operator mempunyai prioritas yang berbeda. Tabel berikut menunjukan urutan pengerjaan (prioritas) sejumlah operator di java.
Urutan pengerjaan operatorOperator | Keterangan | Prioritas |
- (unary) | Menghasilkan nilai negatif operand | 1 |
++ (unary) | Menaikan nilai operand sebesar satu | 2 |
-- (unary) | Menurunkan nilai operand sebesar satu | 2 |
- Pada prioritas, semakin kecil angkanya dikatakan semakin tinggi prioritasnya.
- Jadi, ekspresi yang mengandung * akan diproses terlebih dahulu di bandingkan yang mengandung +
Perhatikan contoh berikut :
2 + 3 * 5
Berdasarkan tabel diatas, prioritas operator * lebih tinggi daripada prioritas operator +. Itulah sebabnya, 2 + 3 * 5 menghasilkan 17, bukan 25. Untuk menangani permasalahan tersebut bisa dicegah, solusinya adalah dengan menambakan tanda kurung ( ). contoh :(2 + 3) * 5
Dengan cara seperti itu, 2 + 3 akan diproses terlebih dahulu. Hasilnya dikalikan dengan 5, sehingga diperoleh hasilnya 25Apakah Anda sering melihat kode semacam x++ atau i++ itu berarti menaikan nilai sebesar satu. lalu apa bedanya antara x = x + 1 dengan x++?. Menurut hasil hang diperoleh, kedua bentuk tersebut tidak berbeda, Hal yang membedakan adalah x++ lebih efisien dibandingkan dengan x = x + 1.
Operator Penugasan
Java mendukung operator penugasan dengan bentuk seperti +=. Berikut operator-operator penugasan dapat dilihat di tabel berikut :
Operator penugasanOperator | Contoh Penggunaan | Contoh |
+= | a += 2 | a = a + 2 |
-= | a -= 2 | a = a - 2 |
*= | a *= 2 | a = a * 2 |
Typecasting
Type casting adalah upaya untuk mengubah tipe data secara eksplisit dalam suatu ekspresi. Bentuk sperti pada char
(char) (huruf + 2)
di atas adalah contoh type casting yang mengubah hasil huruf + 2 ke tipe charDengan berakhirnya bab ini, diharapkan anda bisa memahami mengenai ekspresi, dan penyusunya (operator dan operand) yang sangat bermanfaat dalam menyusun program . Operator aritmetik, operator penugasan, prioritas operator, dan type casting. Semoga bermanfaat.
SUMBER REFERENSEI
Sumber referensi didapat dari buku : BUKU PERTAMA BELAJAR PEMROGRAMAN JAVA UNTUK PEMULA
0 Response to "Belajar Java Dasar Bab 2 (Ekspresi, Operator dan Operand)"
Post a Comment