Diberdayakan oleh Blogger.
RSS

Operator

*
Operator Aritmatika

+ Operator penjumlahan (juga sebagai penyambung string)

- Operator pengurangan

* Operator perkalian

/ Operator pembagian

% Operator sisa pembagian

Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh penggunaan :
Simbol Nama operator Contoh penggunaan
+ Operator penjumlahan n = n + 1;
- Operator pengurangan n = n - 1;
* Operator perkalian n = n * 1;
/ Operator pembagian n = n / 1;
% Operator sisa pembagian n = n % 1;
+ Operator penyambung string n = "saya "+"tidur";

Contoh kode program yang dapat Anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/OperatorAritmatika

Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.

package operatoraritmatika;

public class OperatorAritmatika {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int x = 2;
int y = 5;
int z = 3;
int g = 0;

g = x + y;
System.out.println("Penjumlahan (x+y) : " + g);

g = y - x;
System.out.println("Pengurangan (y-x) : " + g);

g = x * y;
System.out.println("Perkalian (x*y) : " + g);

g = y / x;
System.out.println("Pembagian (y/x) : " + g);

g = z % y;
System.out.println("Sisa pembagian (z%x) : " + g);

g = x + (y * (z/x));
System.out.println("Hasilnya sekarang : " + g);
}
}

Keluaran Program :


*
Operator Tunggal

+ Operator plus; menyatakan nilai positif (setiap angka tanpa tanda ini akan dianggap sebagai positif)

- Operator minus; menyatakan nilai negatif, dapat pula digunakan untuk menegatifkan suatu bilangan

++ Operator kenaikan; menambah suatu bilangan dengan 1

-- Operator penurunan; mengurangkan suatu bilangan dengan 1

! Operator lawan; membalik nilai suatu boolean

Operator tunggal hanya membutuhkan satu operan untuk melakukan operasinya. Operator ini tidak dapat digunakan untuk variabel final, karena variabel final berupa konstanta yang tidak dapat diubah-ubah. Beberapa jenis operator tunggal diberikan pada tabel di bawah ini.
Simbol Nama operator Operasi Contoh
+ Operator plus menyatakan nilai positif

angka = +1;

- Operator minus menyatakan nilai negatif, dapat pula digunakan untuk menegatifkan suatu bilangan

angka = -1;
angka = -angka; // sekarang angka bernilai 1

++ Operator kenaikan menambah suatu bilangan dengan 1

angka = ++angka;

-- Operator penurunan mengurangkan suatu bilangan dengan 1

angka = --angka;

! Operator lawan membalik nilai suatu boolean

ok = !true;

Operator kenaikan dan penurunan dapat diletakkan di belakang atau di depan suatu variabel. Jika diletakkan di depan (++x atau --x), penambahan/pengurangan dilakukan sebelumnya, sedangkan apabila diletakkan di akhir (x++ atau x--) penambahan/pengurangan dilakukan setelahnya. Walau bagaimanapun pada akhirnya keduanya akan menghasilkan x = x+1 atau x = x-1.

Mari kita lihat contohnya untuk membedakan lebih jelas perbedaan penempatan operator tunggal ++ dan --

Contoh kode program yang dapat Anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/OperatorTunggal

Lihat cara mengimpor contoh-contoh program ke dalam Eclipse di Bab II - Instalasi.

package operatortunggal;

public class OperatorTunggal {

/**
* Contoh program menggunakan operator tunggal
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int x = 0;
int y = 0;
y = ++x;
System.out.println("Contoh operator pada prefix (awalan)");
System.out.println("---------------------------");
System.out.println("Nilai x baru : " + x);
System.out.println("Nilai y = ++x : " + y);

x = 0;
y = 0;
y = x++;
System.out.println("\nContoh operator pada sufix (akhiran)");
System.out.println("---------------------------");
System.out.println("Nilai x baru :" + x);
System.out.println("Nilai y = x++ :" + y);
}
}

Jalankan program tersebut dan lihat hasilnya. Apabila operator ++ diletakkan di awal (prefix), maka nilai "x" dan "y" akan sama, karena penambahan nilai "x" dilakukan terlebih dahulu, lalu hasilnya diberi kepada "y".

Apabila operator ++ diletakkan di akhir (sufix), nilai "y" adalah nilai "x" terdahulu. Java akan memberi nilai "y" dengan nilai "x" sebelum operasi ++ dilakukan. Baru kemudian nilai "x" ditambahkan.

Berikut ini adalah screenshot keluarannya :


*
Operator Pembanding, Boolean dan Kondisi


Operator kondisi (conditional operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika.

Catatan : Pada objek, seperti String, operasi pembanding akan membandingkan alamat memory tempat objek itu disimpan, bukan membandingkan isinya. Untuk membandingkan isi String, gunakan equals(), equalsIgnoreCase(), dan compareTo() seperti dibahas pada bagian sebelumnya.
Simbol Nama operator Contoh
== Sama dengan b = (1 == 2);
!= Tidak sama dengan b = (1 == 2);
> Lebih besar b = (1 > 2);
>= Lebih besar atau sama dengan b = (1 >= 2);
< Lebih kecil b = (1 <>
<= Lebih kecil atau sama dengan b = (1 <= 2);
&& Conditional AND b = true && false;
|| Conditional OR b = true || false;
! NOT b = !true;
?: Bentuk pendek dari if-then-else

Operator boolean AND

Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai "true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false". Berikut ini tabel kebenaran operasi AND.
Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false false
false true false
false false false

Operator && akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "true". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "false", hasilnya akan selalu "false" tidak tergantung pada isi dari Op2.

Operator kondisi OR

Operator kondisi OR menghasilkan "true" jika salah satu operandnya bernilai "true". Jika keduanya "false", operator ini menghasilkan "false". Berikut ini table kebenaran oeprasi OR.
Op1 atau Exp1 Op2 atau Exp2 Hasil
true true true
true false true
false true true
false false false

Operator || akan mengevaluasi Op2 (di sebelah kanan) HANYA jika operand 1 bernilai "false". Seperti terlihat dari tabel di atas, apabila Op1 (di sebelah kiri) bernilai "true", hasilnya akan selalu "true" tidak tergantung pada isi dari Op2.

Operator NOT

Operator NOT ("!") melakukan operasi boolean NOT pada operand atau ekspresi tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi kemudian membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel kebenaran operator NOT.
Op1 Hasil
true false
false true

Operator Ternary (?:) Java memiliki operator berkondisi lain yang disebut ternary "?:", yang pada dasarnya merupakan bentuk pendek dari if-then-else. Secara umum
kondisi ? jika_benar : jika_salah

Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai "true", operator akan mengembalikan "jika_benar", tetapi apabila "kondisi" bernilai "false", operator akan mengembalika "jika_salah". Misalnya
x = (1 > 2) ? 10 : 20

Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau "false").

Contoh kode program yang dapat Anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/OperatorKondisi

package operatorkondisi;

public class OperatorKondisi {

/**
* Contoh program menggunakan operator kondisi
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int x = 5;
int y = 10, angka = 0;
boolean bl = true;
if((x == 5) && (x < y))
System.out.println("Nilai x adalah " + x);

if((x == y) || (y > 1))
System.out.println("Nilai y lebih besar dari x");
angka = bl ? x : y;

System.out.println("Angka yang keluar adalah " + angka);
}
}

Berikut adalah hasil keluarannya :


*
Operator Pemberi Nilai & Type Casting


Operator merupakan simbol untuk melakukan perhitungan atau suatu operasi pada satu atau lebih dari satu hal. Setelah kita mendeklarasi dan mengisi suatu variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti penambahan, pengurangan dan sebagainya.

Operator Pemberi Nilai

= Operator pemberi nilai Operator penugasan dan pemberian nilai merupakan operator yang paling umum dalam semua bahasa pemrograman. Operator ini dilambangkan dengan "=" yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan variabel atau angka di sebelah kanan operator.

Operator ini juga dapat digunakan untuk memberikan referensi kepada suatu objek.

Beberapa contoh :

String nama = "Budi";
boolean dewasa = true;

// buat objek baru
Shape s1 = new Shape();

// beri referensi s1 kepada s2
Shape s2 = s1;

// nilai sebelumnya diganti
dewasa = false;

Anda dapat juga memberikan nilai kepada beberapa variabel secara bersamaan. Misalnya :

x = y = z = 2;
x = (y + z);

Operator "=" dievaluasi dari kanan ke kiri. Pada ekspresi pertama, angka 2 diberikan kepada "z", kemudian nilai yang disimpan "z" diberikan kepada "y", dan kemudian "y" ke "x" secara bersamaan. Pada ekspresi kedua, nilai hasil evaluasi pertambahan dimasukkan ke variabel "x".

Pada dasarnya, kedua sisi tanda "=" harus memiliki tipe yang sama. Misalnya x = A, x dan A harus memiliki tipe yang sama. Bagaimana jika tidak, misalnya

int A;
short B;
A = 17;
B = (short)A;

Pada kode di atas, B akan mengambil nilai A yang sudah dikonversi ke tipe short. Tanda (short) dalam kurung artinya menginstruksikan Java untuk mengubah nilai A menjadi short sebelum diberikan kepada B.

Perubahan tipe ini disebut type casting. Kita bisa mengubah tipe apa saja, tetapi karena rentang tiap tipe berbeda, maka nilainya belum tentu sama dengan nilai aslinya. Misalnya (short)100000 adalah -31072.

Untuk perubahan tipe dari bilangan real (float atau double) ke bilangan bulat, Java melakukan type casting dengan memangkas desimalnya. Jadi 3.56 akan diubah menjadi 3 dalam bilangan bulat.

Nilai char juga bisa diubah ke dalam bilangan bulat, yaitu dengan menggantinya dengan bilangan Unicode-nya.

Selain operasi "=", Java juga memiliki operator pemberian nilai beruntun, dan dapat digunakan oleh semua operator aritmatika, manipulasi bit, atau pergeseran bit. Misalnya pada ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian hasilnya disimpan kembali ke "x".

x += 2;

Table berikut menunjukkan semua operator pemberian nilai yang dapat Anda gunakan sehingga kode Anda menjadi lebih efisien dan mudah dibaca.
Operator Contoh Ekspresi setara
+= x += y; x = (x + y);
-= x -= y; x = (x - y);
*= x *= y; x = (x * y);
/= x /= y; x = (x / y);
%= x %= y; x = (x % y);
&= x &= y; x = (x & y);
|= x |= y; x = (x | y);
^= x ^= y; x = (x ^ y);
< <= x < <= y; x = (x < <>
>>= x >>= y; x = (x >> y);
>>>= x >>>= y; x = (x >>> y);

Contoh kode program yang dapat Anda unduh dalam bentuk zip file atau melalui SVN di alamat berikut : http://belajarjava.googlecode.com/svn/trunk/OperatorPemberiNilai

package operatorpemberinilai;

public class OperatorPemberiNilai {

/**
* Contoh program menggunakan operator pemberi nilai (assignment operator)
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 5;
int y = 10;

x += y;
System.out.println("Hasil penjumlahan : " + x);

x -= y;
System.out.println("Hasil pengurangan : " + x);

x *= y;
System.out.println("Hasil perkalian : " + x);

x /= y;
System.out.println("Hasil pembagian : " + x);

x %= y;
System.out.println("Sisa pembagian : " + x);

x &= y;
System.out.println("Hasil operasi AND : " + x);

x |= y;
System.out.println("Hasil operasi OR : " + x);

x <<= y;
System.out.println("Hasil operasi pergeseran bit ke kiri :"+ x);
}
}

Keluaran programnya :

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Poskan Komentar