MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
PERTEMUAN 3 OPERATOR JAVA
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) A.
Unary operator
Unary operator merupakan operator yang membutuhkan hanya satu operand. Macam-macam unary operator sebagai berikut: • Operator increment dan decrement : ++ dan - • Operator unary plus dan minus : + dan – • Operator bitwise inversion : ~ • Operator boolean complement : ! • Cast : () B.
Arithmetic operator
Arithmetic operator merupakan operator untuk melakukan operasi aritmatika. Adapun macam-macam operatornya dapat dilihat pada tabel berikut:
C.
Shift Operators Shift operator berlaku pada tipe bilangan integer. Adapun yang dioperasikan adalah bit-bit biner dari operand. Macam-macam shift operator: • << : left shift, menggeser bit ke kiri • >> : signed right shift, menggeser bit ke kanan (bilangan bertanda) • >>> : unsigned right shift, menggser bit ke kanan (bilangan tak bertanda)
D.
Comparison operator
Comparison operator menghasilkan nilai boolean. Adapun yang termasuk comparison operator sebagai berikut: • Ordinal comparison: <, <=, >, >= • The instanceof Operator : memeriksa class dari sebuah objek • The Equality Comparison Operators: == and != Keterangan lebih jelas mengenai ordinal dan comparison operator dapat dilihat pada tabel berikut.
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
E.
Bitwise Operators
Bitwise operator merupakan operator yang berlaku pada tipe bilangan integer dan yang dioperasikan adalah bit-bit biner dari operand. Bitwise operator terdiri dari & (AND), ^ (XOR), | (OR). Adapun penggunaan operator tersebut dapat dilihat pada tabel berikut. • Bitwise operator & Op1 0 0 1 1
Op2 0 1 0 1
Hasil 0 0 0 1
• Bitwise operator ^ Op1 0 0 1 1
Op2 0 1 0 1
Hasil 0 1 1 0
• Bitwise operator | Op1 0 0 1 1
F.
Op2 0 1 0 1
Hasil 0 1 1 1
Logical Operators
Logical operator merupakan operator yang berlaku pada tipe boolean. Logical operator terdiri dari & (AND), ^ (XOR), | (OR). Adapun penggunaan operator tersebut dapat dilihat pada tabel berikut. • Logical operator &
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) Op1 True True False False
Op2 True False True False
Hasil True False False False
• Logical operator ^ Op1 True True False False
Op2 True False True False
Hasil False True True False
• Logical operator | Op1 True True False False
G.
Op2 True False True False
Hasil True True True False
Short–Circuit Logical Operator
Operator ini hanya dapat dioperasikan pada tipe boolean dan terdiri dari && dan ||. Operator && berbeda dengan &. Operator || juga berbeda dengan |. Pada operator logika short-circuit, misal: Exp1 && Exp2, bila Exp1 bernilai false, maka Exp2 tidak akan diperiksa, hasil operasi adalah false. atau Exp1 || Exp2, bila Exp1 bernilai true, maka Exp2 tidak akan diperiksa, hasil operasi adalah true. H.
Conditional operator “: ?”
Operator ini disebut juga operator ternary. Operator ini sebenarnya menyederhanakan if-else dan membutuhkan tiga operand. Struktur pernyataan operator ini sebagai berikut: exp1? exp2 : exp3 Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false. Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3 merupakan hasil operasinya. Contoh: Diskon = (belanja > 1000000) ? (0.1*belanja) : (0.05*belanja) Berarti bila belanja lebih dari 1000000 maka diskonnya 10% dari belanja. Sedangkan bila belanja kurang dari 1000000, maka diskonnya 5% dari belanja. I.
Assignment operator
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) Operator assignment digunakan untuk memasukan sebuah nilai atau ekspresi ke dalam sebuah variable. Sederhananya operator assignment adalah “=”. Namun dapat juga divariasikan dengan operator aritmatika dan operator logika. Adapun macam-macamnya sebagai berikut. • = Assignment • += Add and assign • -+ Subtract and assign • *= Multiply and assign • /= Divide and assign • %= Modulus and assign • &= AND and assign • |= OR and assign • ^= XOR and assign • <<= Left shift and assign • >>= Right shift and assign • >>>= Zero fill right shift and assign J.
Urutan pemrosesan operator (Operator Precedence)
Operator precedence merupakan urutan evaluasi terhadap operator. Hal ini perlu dipahami sehingga perintah yang kita tuliskan benar-benar mengeluarkan hasil yang diinginkan. Adapun tingkatan operator dapat dilihat pada tabel berikut:
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) K.
Percobaan 1 public class aritmatikaDemo { public static void main(String[] args) { //sedikit angka int i = 37; int j = 42; double x = 27.475; double y = 7.22; System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); //penjumlahan angka System.out.println("Adding..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //pengurangan angka System.out.println("Subtracting..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); //perkalian angka System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //pembagian angka System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); //menghitung hasil modulus dari pembagian System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //tipe penggabungan System.out.println("Mixing tipes..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); } }
L.
Percobaan 2 public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" k = " + k); //lebih besar dari System.out.println("Lebih besar dari..."); System.out.println(" i > j = " + (i > j)); //false System.out.println(" j > i = " + (j > i)); //true System.out.println(" k > j = " + (k > j)); //false //lebih besar atau sama dengan System.out.println("Lebih besar dari atau sama dengan..."); System.out.println(" i >= j = " + (i >= j)); //false System.out.println(" j >= i = " + (j >= i)); //true System.out.println(" k >= j = " + (k >= j)); //true //lebih kecil dari System.out.println("Lebih kecil dari..."); System.out.println(" i < j = " + (i < j)); //true System.out.println(" j < i = " + (j < i)); //false
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) System.out.println(" k < j = " + (k < j)); //false //lebih kecil atau sama dengan System.out.println("Lebih kecil dari atau sama dengan..."); System.out.println(" i <= j = " + (i <= j)); //true System.out.println(" j <= i = " + (j <= i)); //false System.out.println(" k <= j = " + (k <= j)); //true //sama dengan System.out.println("Sama dengan..."); System.out.println(" i == j = " + (i == j)); //false System.out.println(" k == j = " + (k == j)); //true //tidak sama dengan System.out.println("Tidak sama dengan..."); System.out.println(" i != j = " + (i != j)); //true System.out.println(" k != j = " + (k != j)); //false } }
M. Percobaan 3 public class TestAND { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //demonstrasi && test = (i > 10) && (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //demonstrasi & test = (i > 10) & (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); } }
public class TestOR { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //demonstrasi || test = (i < 10) || (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //demonstrasi | test = (i < 10) | (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); } }
public class TestXOR { public static void main( String[] args ){ boolean val1 = true; boolean val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = false; System.out.println(val1 ^ val2); val1 = true; val2 = false; System.out.println(val1 ^ val2); } }
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) N.
Percobaan 4 class IncDec { public static void main(String[] args) { int a=1, b=9; System.out.println(“Nilai sebelum increment-decrement”); System.out.println(“a =” +a+ “; b =” +b); a = ++a; b = --b; System.out.println(“Nilai setelah increment-decrement”); System.out.println(“a =” +a+ “; b =” +b); } }
class Complement { public static void main(String[] args) { int i; i = ~7; System.out.println(“Hasil operasi ~ :” +i); } }
class DemoInstanceOf { public static void main(String[] args) { String s = new String(“Java Languange”); boolean compare = s instanceof String; System.out.println(compare); } }
O. Percobaan 5 class RightShift { public static void main(String[] args) { int i = 7; i = i >> 2; System.out.println(i); } }
class UnsignedRightShift { public static void main(String[] args) { int i = -1; i = i >>> 30; System.out.println(i); } }
class LeftShift { public static void main(String[] args) { int i = 3; i = i << 2; System.out.println(i); } }
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) P.
Percobaan 6 class BitDemo { public static void main(String[] args) { int bitmask = 0x000F; int val = 0x2222; System.out.println(val & bitmask); // prints "2" System.out.println(val | bitmask); System.out.println(val ^ bitmask); } }
Q. Percobaan 7 public class ConditionalOperator1 { public static void main( String[] args ){ String status = ""; int grade = 80; //mendapatkan status pelajar status = (grade >= 60)?"Passed":"Fail"; //print status System.out.println( status ); } }
class ConditionalOperator2 { public static void main( String[] args ){ int score = 0; char answer = 'a'; score = (answer == 'a') ? 10 : 0; System.out.println("Score = " + score ); } }
R.
Tugas Tugas akan diberikan oleh Asisten Lab.
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010