Operator Java – PenaHoster
 
×

Archive

Tutorial Belajar Java Part 28: Jenis-jenis Operator Assignment Bahasa Java

Dalam tutorial bahasa pemrograman Java di Duniailkom kali ini kita akan membahas Jenis-jenis Operator Assignment.


Pengertian Operator Assignment / Penugasan

Operator assignment adalah operator untuk memasukkan suatu nilai ke dalam variabel. Operator ini sebenarnya sudah sering kita pakai sepanjang tutorial bahasa Java di Duniailkom. Dalam bahasa Java, operator assignment menggunakan tanda sama dengan ( = ).

Pembacaan operasi assignment dilakukan dari kanan ke kiri, bukan dari kiri ke kanan seperti yang biasa kita pahami dalam matematika.

Kode berikut:

a = 1000;

Berarti “masukkan nilai 1000 ke dalam variabel a”. Dalam bahasa pseudo code (jika anda membaca buku tentang algoritma), ini biasa ditulis dengan simbol panah ke kiri:

a <- 1000

Operator assignment ini disebut juga sebagai Operator Penugasan.


Contoh Kode Program Operator Assignment Bahasa Java

Dalam prakteknya, operator assignment juga bisa dipakai bertingkat seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ int a, b, c, d, e; a = 5; b = 3; b = b + 1; c = a + b; d = c + c + a; e = (c + d)* a; System.out.println("Isi variabel a: " + a ); System.out.println("Isi variabel b: " + b ); System.out.println("Isi variabel c: " + c ); System.out.println("Isi variabel d: " + d ); System.out.println("Isi variabel e: " + e ); } }

Hasil kode program:

Isi variabel a: 5 Isi variabel b: 4 Isi variabel c: 9 Isi variabel d: 23 Isi variabel e: 160

Di awal kode program saya mendefinisikan 5 variabel, yakni a, b, c, d, dan e sebagai integer. Kemudian menginput angka 5 ke dalam variabel a (baris 6), dan angka 3 ke dalam variabel b (baris 7).

Di baris 8, perintah b = b + 1 mungkin bisa membuat bingung. Tapi intinya adalah, operator assignment di proses dari kanan ke kiri, jadi operasi tersebut bisa dibaca: “tambah isi variabel b dengan 1, lalu simpan kembali ke dalam variabel b”. Karena variabel b sudah berisi angka 3, maka hasil akhirnya variabel b akan bernilai 4.

Di baris 9, perintah c = a + b akan di proses sebagai c = 5 + 4, hasilnya c berisi angka 9.

Di baris 10, perintah d = c + c + a akan di proses sebagai d = 9 + 9 + 5, hasilnya c berisi angka 23.

Terakhir, di baris 11, perintah e = (c + d)* a akan di proses sebagai e = (9 + 23) * 5, hasilnya c berisi angka 160.



Operator Assignment Gabungan Bahasa Java

Operator assignment gabungan adalah cara penulisan singkat operator assignment yang digabung dengan dengan operator lain. Dalam bahasa Java (dan juga bahasa turunan C lain seperti C++, PHP, dan JavaScript), operator assignment gabungan ini terdiri dari operator assignment dengan operator lain seperti aritmatika dan bitwise.

Sebagai contoh, operasi a = a + 1 bisa disingkat (dan digabung) menjadi a += 1. Contoh lain operasi b >>= 1 adalah penulisan singkat dari b = b >> 1.

Tidak ada pengaruh apa-apa dari penulisan singkat seperti ini, anda boleh memilih penulisan yang panjang a = a + 1, atau di singkat menjadi a += 1.

Tabel berikut merangkum semua operator assignment dalam bahasa Java:

Operator Contoh Penjelasan
+= a += b a = a + b
-= a -= b a = a – b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b
&= a &= b a = a & b
|= a |= b a = a | b
^= a ^= b a = a ^ b
<<= a <<= b a = a << b
>>= a >>= b a = a >> b


Contoh Kode Program Operator Assignment Gabungan Bahasa Java

Berikut contoh praktek dari operator gabungan dalam bahasa Java:

class BelajarJava { public static void main(String args[]){ int a = 10, b = 10, c = 10, d = 10, e = 10, f = 10; System.out.println("Operator assignment gabungan bahasa Java"); System.out.println("========================================"); System.out.println("Variabel a, b, c, d, e, f = 10 \n"); a += 5; System.out.println("Hasil operasi a += 5: "+ a); b -= 3; System.out.println("Hasil operasi b -= 3: "+ b); c *= 3; System.out.println("Hasil operasi c *= 3: "+ c); d /= 3; System.out.println("Hasil operasi d /= 3: "+ d); e %= 3; System.out.println("Hasil operasi e %%= 3: "+ e); f <<= 2; System.out.println("Hasil operasi f <<= 2: "+ f); } }

Hasil kode program:

Operator assignment gabungan bahasa Java ======================================== Variabel a, b, c, d, e, f = 10 Hasil operasi a += 5: 15 Hasil operasi b -= 3: 7 Hasil operasi c *= 3: 30 Hasil operasi d /= 3: 3 Hasil operasi e %%= 3: 1 Hasil operasi f <<= 2: 40

Dalam kode program ini saya membuat 6 buah operator assignment gabungan. Variabel a, b, c, d, e, dan f semuanya diisi dengan nilai awal 10, kemudian di proses dengan berbagai operator assignment gabungan.


Tutorial operator assignment dan assignment gabungan kali ini menutup sesi tentang operator bahasa Java. Berikutnya kita akan masuk ke alur kondisi kode program yang diawali dengan Percabangan Kondisi IF Bahasa Java.

Sumber

Tutorial Belajar Java Part 27: Jenis-jenis Operator Bitwise Bahasa Java

Melanjutkan pembahasan tentang operator bahasa Java, dalam tutorial ini kita akan mempelajari Pengertian dan Jenis-jenis Operator Bitwise dalam bahasa pemrograman Java.


Pengertian Operator Bitwise dalam Bahasa Java

Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner dalam bentuk bit.

Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner, akan dikonversi secara otomatis oleh compiler Java menjadi bilangan biner. Misalnya 7 desimal = 0111 dalam bilangan biner.

Dalam penerapannya, operator bitwise tidak terlalu sering dipakai, kecuali anda sedang membuat program yang harus memproses bit-bit komputer. Selain itu operator ini cukup rumit dan harus memiliki pemahaman tentang sistem bilangan biner. Dalam bahasan kali ini saya menganggap sudah paham beda antara bilangan biner (basis 2) dan bilangan desimal (basis 10).

Bahasa Java mendukung 6 jenis operator bitwise. Daftar lengkapnya dapat dilihat pada tabel berikut:

Operator Nama Contoh Biner Hasil (biner) Hasil (desimal)
& AND 10 & 12 1010 & 1100 1000 8
| OR 10 | 12 1010 | 1100 1110 14
^ XOR 10 ^ 1 1010 ^ 1100 0110 6
~ NOT ~10  ~1010 0101 -11 (Two’s complement)
<< Left shift 10 << 1 1010 << 1 10100 20
>> Right shift 10 >> 1 1010 >> 1 101 5

Contoh Kode Program Operator Bitwise Bahasa Java

Berikut contoh kode program operator bitwise dalam bahasa Java:

class BelajarJava { public static void main(String args[]){ int a = 181; int b = 108; int hasil; hasil = a & b; System.out.println("Hasil dari a & b : " + hasil ); hasil = a | b; System.out.println("Hasil dari a | b : " + hasil ); hasil = a ^ b; System.out.println("Hasil dari a ^ b : " + hasil ); hasil = ~a; System.out.println("Hasil dari ~a : " + hasil ); hasil = a >> 1; System.out.println("Hasil dari a >> 1 : " + hasil ); hasil = b << 2; System.out.println("Hasil dari b << 2 : " + hasil ); } }

Hasil kode program:

Hasil dari a & b : 36 Hasil dari a | b : 253 Hasil dari a ^ b : 217 Hasil dari ~a : -182 Hasil dari a >> 1 : 90 Hasil dari b << 2 : 432

Dalam contoh di atas saya mendefinisikan 2 variabel: a dan b. Kemudian memberikan nilai awal 181 dan 108. Jika di konversi ke dalam bentuk biner, keduanya berisi angka berikut:

a = 181 (desimal) = 10110101 (biner) b = 108 (desimal) = 01101100 (biner)

Di baris 8 saya melakukan operasi & (AND) terhadap kedua variabel. Operasi bitwise “and” ini akan memproses bit per bit dari kedua variabel, jika kedua bit sama-sama 1, maka hasilnya juga 1, selain kondisi tersebut, nilai akhirnya adalah 0. Berikut perhitungan bitwise “and”:

a = 10110101 b = 01101100 -------- a & b = 00100100 = 36 (desimal)

Tampilan perintah System.out.println() di baris 9 memperlihatkan isinya sama dengan perhitungan kita, yakni 36 (dalam bentuk desimal).

Di baris 11 terdapat operasi | (OR), hasilnya akan bernilai 0 jika kedua bit bernilai 0, selain itu nilai bit akan di set menjadi 1. Berikut cara perhitungan bitwise “or”:

a = 10110101 b = 01101100 -------- a | b = 11111101 = 253 (desimal)

Di baris 14 terdapat operasi ^ (XOR), hasilnya akan bernilai 1 jika salah satu dari kedua variabel bernilai 1 (namun tidak keduanya). Atau dengan kata lain jika kedua bit berlainan, hasilnya 1 tapi kalau sama-sama 0 atau sama-sama 1, hasilnya 0.

Berikut cara perhitungan bitwise “xor”:

a = 10110101 b = 01101100 -------- $a ^ $b = 11011001 = 217 (desimal)

Di baris 17 saya membuat operasi ~ atau not, yang akan membalikkan nilai bit sebuah variabel dari 0 menjadi 1, dan 1 menjadi nol. Namun perhitungan bit not ini sedikit membingungkan karena jika kita hanya membalikkan seluruh bit saja, hasilnya tidak sesuai dengan apa yang dihitung oleh compiler Java:

a = 10110101 -------- ~a = 01001010 = 74 (desimal) ==> salah ???

Dari hasil menjalankan program, dapat dilihat bahwa ~a = -182, dari manakah datangnya angka -182?

Ini berkaitan dengan cara compiler bahasa Java menyimpan angka biner (dan juga hampir semua bahasa pemrograman komputer modern). Angka biner di dalam bahasa Java disimpan dalam format “Two’s complement”. Penjelasan tentang “Two’s complement” ini cukup panjang, jika tertarik saya sudah membahasnya lengkap di buku Pascal Uncover, atau bisa ke Two’s complement Wikipedia.

Secara singkat, rumusnya adalah -a - 1, sehingga ~a = -181 - 1 = -182 (desimal)


Di baris 20 terdapat operator shift right “>>” dimana bahasa Java akan menggeser posisi bit dalam variabel a ke kanan sebanyak 1 tempat. Berikut proses yang terjadi:

a = 10110101 = 181 a >> 1 = 1011010 = 90 (desimal)

Operator shift right menggeser nilai biner variabel a ke arah kanan, sehingga digit paling kanan akan dihapus. Operator shift right ini akan menghasilkan nilai asal / 2. Dalam contoh kita, hasilnya adalah 180/2 = 90 (dibulatkan). Setiap penggeseran 1 tempat ke kanan akan membagi 2 nilai asal.

Di baris 23 merupakan operator shift left “<<” dimana nilai variabel b akan digeser sebanyak 2 digit ke kiri. Berikut proses yang terjadi:

b = 01101100 = 108 b << 1 = 011011000 = 216 (desimal) b << 2 = 0110110000 = 432 (desimal)

Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variabel b berisi desimal 108, maka hasil dari << 2 sama dengan 108 * 2 = 216, 216 * 2 = 432.


Dalam tutorial kali ini kita telah mempelajari operator bitwise dalam bahasa pemrograman Java. Pada prakteknya, operator bitwise tidak terlalu sering dipakai. Berikutnya akan masuk ke Operator Assignment atau Operator Penugasan bahasa Java.

*** Artikel Terkait ***

Sumber

Tutorial Belajar Java Part 26: Jenis-jenis Operator Logika Bahasa Java

Dalam tutorial belajar bahasa Java di duniailkom kali ini kita akan membahas Jenis-jenis Operator Logika. Operator logika ini sering juga disebut sebagai operator boolean.


Pengertian Operator Logika dalam Bahasa Java

Operator logika dipakai untuk menghasilkan nilai boolean true atau false dari 2 kondisi atau lebih. Tabel berikut merangkum hasil dari operator logika dalam bahasa Java:

Operator Nama Penjelasan Contoh
&& And Menghasilkan true jika kedua operand true true && false, hasilnya: false
|| Or Menghasilkan true jika salah satu operand true true || false, hasilnya: false
! Not Menghasilkan true jika operand false !false, hasilnya: true

Pada prakteknya, operator logika ini banyak dipakai untuk menggabungkan beberapa hasil operasi perbandingan (contohnya akan kita lihat sesaat lagi).

Catatan: operator OR menggunakan karakter pipe ” | “, bukan huruf L kecil. Karakter pipe ini bergabung dengan tombol “\” dan ditekan menggunakan tombol shift.


Contoh Kode Program Operator Logika Bahasa Java

Dalam bentuk paling sederhana, operator logika bisa diproses untuk boolean true dan false. Berikut contoh kode programnya:

class BelajarJava { public static void main(String args[]){ boolean a = true; boolean b = false; boolean hasil; hasil = a && a; System.out.println("Hasil dari a && a : " + hasil ); hasil = a && b; System.out.println("Hasil dari a && b : " + hasil ); hasil = a || b; System.out.println("Hasil dari a || b : " + hasil ); hasil = b || b; System.out.println("Hasil dari b || b : " + hasil ); hasil = !a; System.out.println("Hasil dari !a : " + hasil ); hasil = !b; System.out.println("Hasil dari !b : " + hasil ); } }

Hasil kode program:

Hasil dari a && a : true Hasil dari a && b : false Hasil dari a || b : true Hasil dari b || b : false Hasil dari !a : false Hasil dari !b : true

Rumus untuk menentukan hasil dari operator logika adalah sebagai berikut:

  • Operator && hanya akan menghasilkan true jika kedua operand bernilai true, selain itu hasilnya false.
  • Operator || hanya akan menghasilkan false jika kedua operand bernilai false, selain itu hasilnya true .
  • Operator ! Akan membalikkan logika, !false menjadi true, !true menjadi false.

Kita juga bisa menggabungkan lebih dari satu operasi seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ boolean hasil; hasil = (false && true) || (true || false); System.out.println("Hasil: " + hasil ); hasil = !false && (false || true); System.out.println("Hasil: " + hasil ); hasil = ((true && true) || (true || false)) && !true; System.out.println("Hasil: " + hasil ); } }

Hasil kode program:

Hasil: true Hasil: true Hasil: false 

Untuk operasi seperti ini, akan diproses dari kiri ke kanan, kecuali ditemukan tanda kurung maka itulah yang akan diproses terlebih dahulu.

  • Di baris 7, operasi (false && true) || (true || false) akan diproses menjadi false || true, hasilnya 1.
  • Di baris 10, operasi !false && (false || true) akan diproses menjadi true && true, hasilnya 1.
  • Di baris 13, operasi ((true && true) || (true || false)) && !true akan diproses menjadi (true || true) && false, kemudian menjadi true && false, hasilnya false.

Nilai boolean true dan false ini biasanya di dapat dari hasil operasi perbandingan. Inilah praktek yang sering dibuat untuk operator logika seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ boolean hasil; hasil = (5 > 4) && (10 > 9); System.out.println("(5 > 4) && (10 > 9) : " + hasil ); hasil = (15 <= 15) && (15 < 15); System.out.println("(15 <= 15) && (15 < 15) : " + hasil ); hasil = ('a' == 'a') || ('a' == 'b'); System.out.println("('a' == 'a') || ('a' == 'b') : " + hasil ); hasil = (10 > 7) && ("duniailkom" == "duniailkom"); System.out.print("(10 > 7) && (\"duniailkom\" == \"duniailkom\") : "); System.out.println( hasil ); } }

Contoh kode Java untuk operator logika

Berikut penjelasan dari operasi logika yang dijalankan:

  • Di baris 6, operasi (5 > 4) && (10 > 9) akan diproses menjadi true && true, hasilnya true.
  • Di baris 9, operasi (15 <= 15) && (15 < 15) akan diproses menjadi true && false, hasilnya false.
  • Di baris 12, operasi (‘a’== ‘a’) || (‘a’ == ‘b’) akan diproses menjadi true || false, hasilnya true.
  • Di baris 15, operasi (10 > 7) && (‘duniailkom’ == ‘duniailkom’) akan diproses menjadi true && true, hasilnya true.

Sama seperti operasi perbandingan, operasi logika ini akan banyak dipakai pada percabangan kode program, misalnya untuk bisa login seseorang harus memiliki username DAN password yang sesuai. Jika salah satu saja tidak terpenuhi, maka tidak bisa login.


Selanjutnya, kita akan lanjut ke akan Jenis-Jenis Operator Bitwise dalam bahasa Pemrograman Java.

*** Artikel Terkait ***

Sumber

Tutorial Belajar Java Part 25: Jenis-jenis Operator Perbandingan / Relasional Bahasa Java

Menyambung tutorial tentang operator di bahasa pemrograman Java, kali ini kita akan membahas Jenis-jenis Operator Perbandingan / Relasional.


Operator Perbandingan / Relasional Bahasa Java

Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah nilai tersebut sama besar, lebih kecil, lebih besar, dll. Hasil dari operator perbandingan ini adalah boolean True atau False.

Tabel berikut merangkum hasil dari operator perbandingan dalam bahasa Java:

Operator Penjelasan Contoh Hasil
== Sama dengan 5 == 5 true
!= Tidak sama dengan 5 != 5 false
> Lebih besar 5 > 6 false
< Lebih kecil 5 < 6 true
>= Lebih besar atau sama dengan 5 >= 3 true
<= Lebih kecil atau sama dengan 5 <= 5 true

Operator perbandingan ini biasa dipakai dalam proses pengambilan keputusan atau percabangan kode program. Sebagai contoh, jika angka pertama lebih besar dari kedua, maka jalankan perintah ini. Atau jika string password = ‘123456’ maka berikan hak akses.

Operator perbandingan kadang disebut juga dengan operator relasional karena kita membandingkan hubungan (relasi) sebuah nilai dengan nilai lainnya.


Contoh Kode Program Operator Perbandingan Bahasa Java

Berikut contoh kode program untuk operasi perbandingan dalam bahasa pemrograman Java:

class BelajarJava { public static void main(String args[]){ int a = 10; int b = 5; boolean hasil; hasil = a == b; System.out.println("Apakah a == b ? " + hasil ); hasil = a != b; System.out.println("Apakah a != b ? " + hasil ); hasil = a > b; System.out.println("Apakah a > b ? " + hasil ); hasil = a < b; System.out.println("Apakah a < b ? " + hasil ); hasil = a >= b; System.out.println("Apakah a >= b ? " + hasil ); hasil = a <= b; System.out.println("Apakah a <= b ? " + hasil ); } }

Hasil kode program:

Apakah a == b ? false Apakah a != b ? true Apakah a > b ? true Apakah a < b ? false Apakah a >= b ? true Apakah a <= b ? false

Operasi perbandingan tidak hanya untuk tipe data angka saja, tapi juga bisa berbagai tipe data lain seperti char atau String. Berikut contohnya:

class BelajarJava { public static void main(String args[]){ boolean hasil; hasil = 'z' == 'Z'; System.out.println("Isi variabel hasil: " + hasil); hasil = 'z' != 'Z'; System.out.println("Isi variabel hasil: " + hasil); hasil = "Duniailkom" == "duniailkom"; System.out.println("Isi variabel hasil: " + hasil); hasil = 'A' < 'B'; System.out.println("Isi variabel hasil: " + hasil); } }

Hasil kode program:

Isi variabel hasil: false Isi variabel hasil: true Isi variabel hasil: false Isi variabel hasil: true

Jika yang dibandingkan berupa karakter, hasilnya dilihat dari urutan karakter ASCII. Dalam tabel ASCII, karakter ‘A’ memiliki nomor urut yang lebih rendah daripada ‘B’, sehingga ‘A’ < ‘B’ adalah true.


Dalam prakteknya, operasi perbandingan baru berguna dalam percabangan kode program seperti struktur IF:

import java.util.Scanner; class BelajarJava { public static void main(String args[]){ Scanner input = new Scanner(System.in); int var1; System.out.print("Input sembarang angka: "); var1 = input.nextInt(); if (var1 % 2 != 0) { System.out.print(var1 + " adalah angka ganjil"); } else { System.out.print(var1 + " adalah angka genap"); } } } 

Contoh kode Java untuk operator perbandingan
Kita memang belum membahas tentang struktur if, tapi konsepnya cukup sederhana. Di awal kode program saya meminta user untuk menginput sebuah angka. Angka ini kemudian disimpan ke dalam variabel var1 hasil dari perintah input.nextInt().

Pada baris 12, saya melakukan sebuah operasi perbandingan: if (var1 % 2 != 0)? Yakni apakah var1 tidak habis dibagi 2? Jika anda ragu dengan tanda %, itu adalah operator modulus yang pernah kita bahas dalam tutorial operator aritmatika.

Kondisi di atas hanya akan true jika var1 diisi dengan angka ganjil. Jika ini yang terjadi, jalankan perintah System.out.print(var1 + ” adalah angka ganjil”). Jika hasilnya false, jalankan System.out.print(var1 + ” adalah angka genap”). Inilah salah satu penerapan dari operasi perbandingan / relasi.


Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan operator perbandingan dalam bahasa Java. Berikutnya akan membahas tetang Jenis-jenis Operator Logika dalam bahasa Java.

Sumber

Tutorial Belajar Java Part 24: Jenis-jenis Operator Increment & Decrement Bahasa Java

Melanjutkan tutorial belajar bahasa Java di Duniailkom, kali ini kita akan membahas Jenis-jenis Operator Increment dan Decrement. Beberapa sumber ada yang mengelompokkan operator ini ke dalam Operator Aritmatika, namun saya akan memisahkannya menjadi tutorial tersendiri.


Pengertian Increment dan Decrement Bahasa Java

Operator increment dan decrement adalah sebutan untuk operasi seperti a++, dan a--. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1.

Increment digunakan untuk menambah variabel sebanyak 1 angka, sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka.

Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda kurang 2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh di awal seperti ++a dan --a, atau di akhir variabel seperti a++ dan a--.

Dengan demikian terdapat 4 jenis increment dan decrement dalam bahasa Java:

Operator Contoh Penjelasan
Pre-increment ++a Tambah a sebanyak 1 angka, lalu tampilkan hasilnya
Post-increment a++ Tampilkan nilai a, lalu tambah a sebanyak 1 angka
Pre-decrement --a Kurangi a sebanyak 1 angka, lalu tampilkan hasilnya
Post-decrement a-- Tampilkan nilai a, lalu kurangi a sebanyak 1 angka

Untuk melihat apa perbedaan dari setiap operator akan kita bahas dengan contoh kode program.


Contoh Kode Program Increment dan Decrement

Secara umum, penulisan tanda di awal maupun di akhir akan menghasilkan nilai yang sama. Berikut contohnya:

class BelajarJava { public static void main(String args[]){ int a = 10; int b = 10; a++; System.out.println("Isi variabel a: " + a); ++b; System.out.println("Isi variabel b: " + b); } }

Hasil kode program:

Isi variabel a: 11 Isi variabel b: 11

Di sini saya mengisi angka 10 sebagai nilai awal untuk variabel a dan b. Hasilnya, setelah operasi a++ dan ++b, kedua variabel sama-sama berisi angka 11. Artinya variabel a dan b akan bertambah 1 angka.

Hal yang sama juga berlaku di decrement:

class BelajarJava { public static void main(String args[]){ int a = 10; int b = 10; a--; System.out.println("Isi variabel a: " + a); --b; System.out.println("Isi variabel b: " + b); } }

Hasil kode program:

Isi variabel a: 9 Isi variabel b: 9

Saya kembali mengisi angka 10 sebagai nilai awal untuk variabel a dan b. Hasilnya, setelah operasi a-- dan --b, kedua variabel sama-sama berisi angka 9. Artinya variabel a dan b akan berkurang 1 angka.



Perbedaan Pre-Increment dengan Post-Increment

Jadi apa beda antara pre-increment (++a) dengan post-increment (a++)? Perbedaannya baru terlihat jika kita akses pada saat operasi berlangsung, seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ int a = 10; System.out.println("# Post Increment #"); System.out.println("=================="); System.out.println("Isi variabel a: " + a); System.out.println("Isi variabel a: " + a++); System.out.println("Isi variabel a: " + a); System.out.println(); int b = 10; System.out.println("# Pre Increment #"); System.out.println("=================="); System.out.println("Isi variabel b: " + b); System.out.println("Isi variabel b: " + ++b); System.out.println("Isi variabel b: " + b); } }

Contoh kode Java untuk operator increment dan decrement

Perbedaannya ada di baris 8 dan 17, yakni ketika kita akses langsung pada saat operasi increment dilakukan.

Terlihat bahwa post-increment (a++), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a naik 1 angka, namun dengan pre-increment (++a), variabel a akan ditambahkan 1 angka, baru nilainya ditampilkan.

Begitu juga hal nya dengan operasi post-decrement dan pre-decrement:

class BelajarJava { public static void main(String args[]){ int a = 10; System.out.println("# Post Decrement #"); System.out.println("=================="); System.out.println("Isi variabel a: " + a); System.out.println("Isi variabel a: " + a--); System.out.println("Isi variabel a: " + a); System.out.println(); int b = 10; System.out.println("# Pre Decrement #"); System.out.println("=================="); System.out.println("Isi variabel b: " + b); System.out.println("Isi variabel b: " + --b); System.out.println("Isi variabel b: " + b); } }

Contoh kode Java untuk operator increment dan decrement 2

Terlihat bahwa post-decrement (a--), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a dikurangi 1 angka. Dengan pre-decrement (--a), variabel a langsung dikurangi 1 angka, lalu nilainya ditampilkan.


Operator increment dan decrement yang kita bahas disini nantinya banyak di terapkan dalam perulangan (looping). Selain itu kebiasaan banyak programmer lebih sering menggunakan post-increment (a++) dan post-decrement (a--).

Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator Relasional Bahasa Java.

*** Artikel Terkait ***

Sumber

Tutorial Belajar Java Part 23: Jenis-jenis Operator Aritmatika Bahasa Java

Dalam tutorial belajar bahasa Java kali ini kita akan mempelajari tentang Jenis-jenis Operator Aritmatika dalam Bahasa pemrograman Java.


Operator aritmatika adalah operator yang biasa kita temukan untuk operasi matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas perhitungan sederhana seperti kali, bagi, tambah dan kurang (kabataku).

Selain keempat operasi tersebut, bahasa Java juga memiliki operasi modulo division, atau operator % yang dipakai untuk mencari sisa hasil bagi.

Tabel berikut merangkum operator aritmatika dalam bahasa pemrograman Java:

Operator Penjelasan Contoh
+ Penambahan a = 5 + 2
Pengurangan a = 5 – 2
* Perkalian a = 5 * 2
/ Pembagian a = 5 / 2
% Sisa hasil bagi (modulus) a = 5 % 2

Operator Aritmatika Unary

Operator Penjelasan Contoh
+ Positif (plus) +5
Negatif (min) -3

Contoh Kode Program Operator Aritmatika Bahasa Java

Berikut contoh kode program penggunaan operator aritmatika dalam bahasa Java:

class BelajarJava { public static void main(String args[]){ int a, b, c, d, e, f; a = 8 + 4; b = 9 - 2; c = 2 * 3; d = 10 + 3 - 7 * 4; e = ( ( 10 +3 ) -7) * 4; f = -79; System.out.println("Isi variabel a: " + a); System.out.println("Isi variabel b: " + b); System.out.println("Isi variabel c: " + c); System.out.println("Isi variabel d: " + d); System.out.println("Isi variabel e: " + e); System.out.println("Isi variabel f: " + f); } }

Hasil kode program:

Isi variabel a: 12 Isi variabel b: 7 Isi variabel c: 6 Isi variabel d: -15 Isi variabel e: 24 Isi variabel f: -79

Dalam contoh ini saya membuat beberapa operasi aritmatika, yakni penambahan, pengurangan dan perkalian.

Aturan prioritas operator berlaku di sini, dimana operator perkalian dan pembagian akan dijalankan terlebih dahulu daripada operator pengurangan dan penambahan. Untuk operator yang sama kuat (seperti penambahan dan pengurangan), akan diproses dari kiri ke kanan.

Tanda kurung bisa dipakai untuk memprioritaskan operator tertentu, seperti untuk menghitung variabel e dalam contoh di atas.

Saya sengaja tidak menampilkan operator pembagian karena ada beberapa hal yang akan kita bahas. Perhatikan kode berikut ini:

class BelajarJava { public static void main(String args[]){ int a, b, c; a = 8 / 4; b = 8 / 3; c = 8 / 2; System.out.println("Isi variabel a: " + a); System.out.println("Isi variabel b: " + b); System.out.println("Isi variabel c: " + c); } }

Hasil kode program:

Isi variabel a: 2 Isi variabel b: 2 Isi variabel c: 4

Di sini saya membuat 3 variabel integer: a, b, c. Untuk operasi a dan c tidak ada masalah, hasilnya sesuai dimana 8 / 4 = 2 dan 8 / 2 = 4.

Tapi kenapa 8 / 3 menghasilkan angka 2? Mungkin ini karena b di set sebagai integer, bukan float atau double. Mari kita ubah tipe datanya:

class BelajarJava { public static void main(String args[]){ double a; a = 8 / 3; System.out.println("Isi variabel a: " + a); } }

Hasil kode program:

Isi variabel a: 2.0

Mengapa hasilnya tetap 2? Ini terjadi karena bahasa Java melihat tipe data operand yang dipakai. Di sini operand nya adalah 8 dan 3 yang merupakan integer (angka bulat).


Agar operasi pembagian menghasilkan nilai pecahan (float / double), kedua operand harus ditulis dalam format pecahan, yakni 8.0 dan 3.0. Berikut hasilnya:

class BelajarJava { public static void main(String args[]){ double a; a = 8.0 / 3.0; System.out.println("Isi variabel a: " + a); } }

Hasil kode program:

Isi variabel a: 2.6666666666666665

Sekarang hasilnya sudah sesuai dimana 8.0 / 3.0 adalah 2.6666666666666665.

Jika kita ingin memformat tampilan akhir agar lebih rapi misalnya menjadi 2.67, terdapat beberapa cara yang disediakan bahasa Java. Yang paling sederhana adalah dengan menggunakan perintah String.format() seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ double a; String b; a = 8.0 / 3.0; System.out.println("Isi variabel a: " + a); b = String.format("%.2f", a); System.out.println("Isi variabel b: " + b); } }

Hasil kode program:

Isi variabel a: 2.6666666666666665 Isi variabel b: 2,67

Di baris 10 saya mengisi variabel b dengan hasil dari perintah String.format(“%.2f”, a). Perintah String.format() sendiri mengambil cara penulisan printf() dari bahasa C, dimana format yang dipakai adalah sebagai berikut:

%(0)(jumlah total digit).(jumlah angka di belakang koma)%f

Penjelasan lebih lengkap bisa di baca pada tutorial Pengertian dan Contoh Kode Program Tipe Data Float Bahasa C.

Hasil akhir dari String.format() berupa tipe data String, bukan angka float atau double. Selain itu perintah ini menerapkan localization, maksudnya jika terdeteksi sistem berada di Indonesia, penanda pecahan berubah jadi koma, bukan titik.



Pengertian Operator Mod (Modulus)

Operator mod (singkatan dari modulo atau modulus) dipakai untuk mencari nilai sisa pembagian. Operator mod perlu penjelasan tersendiri terutama bagi yang baru pertama kali belajar bahasa pemrograman komputer. Operator ini terdengar asing tapi sebenarnya cukup sederhana.

Sebagai contoh:

  • 8 mod 5 = 3, karena 3 adalah angka sisa pembagian.
  • 100 mod 7 = 2, karena hanya 98 yang habis dibagi 7 (bersisa 2).

Berikut contoh kode program penggunaan operator mod dalam bahasa Java:

class BelajarJava { public static void main(String args[]){ int a, b, c, d; a = 8 % 4; b = 8 % 5; c = 10 % 2; d = 100 % 7; System.out.println("Isi variabel a: " + a); System.out.println("Isi variabel b: " + b); System.out.println("Isi variabel c: " + c); System.out.println("Isi variabel d: " + d); } }

Hasil kode program:

Isi variabel a: 0 Isi variabel b: 3 Isi variabel c: 0 Isi variabel d: 2

Operator modulus ini cukup sering dipakai, misalnya menentukan sebuah bilangan genap atau ganjil. Untuk keperluan ini kita bisa memeriksa apakah a % 2 menghasilkan 0? Jika iya, maka a berisi bilangan genap.


Dalam tutorial bahasa Java kali ini kita telah membahas cara penggunaan operator aritmatika. Selain itu juga disinggung cara penggunaan operasi pembagian bahasa Java yang butuh sedikit trik, serta pengertian dari operator modulus.

Selanjutnya, kita akan membahas Operator Increment dan Decrement dalam Bahasa Java.

*** Artikel Terkait ***

Sumber