5.06.2012

Operator dalam Bahasa Java

Dalam bahasa pemrograman java kita mengenal 4 macam operaror, yaitu :
Operator Aritmatika
Adalah operator yang mengimplementasikan proses aritmatika atau penghitungan matematika,operator aritmatika terdiri dari :
+ 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
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);
        }
}

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 --
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.

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 < 2);
<=
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
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);
        }
}

Operator Pemberi Nilai dan 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 < < y);
>>=
x >>= y;
x = (x >> y);
>>>=
x >>>= y;
x = (x >>> y);
Contoh kode program
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);
        }
}
Sumber : http://java.lyracc.com/artikel/java-untuk-pemula/operator-pemberi-nilai-type-casting

0 komentar:

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon Favorites More