SlideShare a Scribd company logo
Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator
logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam
kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Operator Aritmatika
Berikut ini adalah dasar operator aritmatika yang dapat digunakan untuk membuat suatu
program Java,
Operator Penggunaan Keterangan
+ op1 + op2 Menambahkan op1 dengan op2
* op1 * op2 Mengalikan op1 dengan op2
/ op1 / op2 Membagi op1 dengan op2
% op1 % op2
Menghitung sisa dari pembagian op1
dengan op2
- op1 - op2 Mengurangkan op2 dari op1
Operator Aritmatika dan fungsi-fungsinya
Berikut ini adalah contoh program dalam penggunaan operator-operator ini :
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));
}
}
Operator Increment dan Decrement
Dari sisi operator dasar aritmatika, Java juga terdiri atas operator unary increment (++)
dan operator unary decrement (--). operator increment dan decrement menambah dan
mengurangi nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan,
count = count + 1; //increment nilai count dengan nilai 1
pernyataan tersebut sama dengan,
count++;
Operator Penggunaan Keterangan
++ op++
Menambahkan nilai 1 pada op;
mengevaluasi nilai op sebelum
diincrementasi/ditambahkan
++ ++op
Menambahkan nilai 1 pada op;
mengevaluasi nilai op setelah
diincrementasi/ditambahkan
-- op--
Mengurangkan nilai 1 pada op;
mengevaluasi nilai op sebelum
didecrementasi/dikurangkan
-- --op
Mengurangkan nilai 1 pada op;
mengevaluasi nilai op setelah
didecrementasi/dikurangkan
operator Increment dan Decrement
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau
didecrement dengan nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana
dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = ++j + i; //akan menghasilkan k = 4+10 = 14
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia
ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = j++ + i; //akan menghasilkan k = 3+10 = 13
Petunjuk Penulisan Program:
Selalu membuat pernyataan yang mengandung operator increment dan decrement untuk
tetap dipahami secara mudah dan sederhana.
Operator Relasi
Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-
nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
Operator Penggunaan Keterangan
> op1 > op2 op1 lebih besar dari op2
>= op1 >= op2 op1 lebih besar dari atau sama dengan op2
< op1 < op2 op1 kurang dari op2
<= op1 <= op2 op1 kurang dari atau sama dengan op2
== op1 == op2 op1 sama dengan op2
!= op1 != op2 op1 tidak sama dengan op2
Operator Relasi
Berikut ini adalah contoh program yang menggunakan operator Relasi,
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
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
}
}
Operator logika
Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.
Terdapat enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika
OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Pernyataan dasar untuk operasi logika adalah,
x1 op x2
Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau konstanta, dan op adalah
salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan
selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi
yang mungkin dari x1 dan x2.
&& (logika AND) dan & (boolean logika AND)
Berikut ini adalah tabel kebenaran untuk && dan &,
x1 x2 Hasil
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Tabel Kebenaran untuk & dan &&
Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit
evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari
pernyataan tersebut?
Diberikan suatu pernyataan,
exp1 && exp2
&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan
menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah
mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan
nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2
sebelum mengembalikan suatu nilai jawaban.
Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND,
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);
}
}
Catatan, bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejak
pernyataan pertama (i>10) yaitu telah bernilai sama dengan false.
|| (logika OR) dan | (boolean logika inclusive OR)
Berikut ini adalah tabel kebenaran untuk || dan |,
x1 x2 Hasil
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Table Kebenaran untuk | dan ||
Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit
evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa maksud dari
pernyataan tersebut?
diberikan suatu pernyataan,
exp1 || exp2
|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan
menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah
mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa
memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari
exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.
Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,
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);
}
}
Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan
pertama (i<10) yaitu telah bernilai sama dengan true.
^ (boolean logika ExclusiveOR )
Berikut ini adalah tabel kebenaran untuk ^,
x1 x2 Hasil
TRUE TRUE FALSE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Tabel kebenaran untuk ^
Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai
TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk
menjumlahkan hasil dari suatu exclusive OR.
Berikut ini adalah contoh source code yang menggunakan operator logika exclusive OR,
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);
}
}
! (logika NOT)
Logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi suatu
pernyataan, variabel atau konstanta. Berikut ini adalah tabel kebenaran untuk operator
not!,
x1 Hasil
TRUE FALSE
FALSE TRUE
Tabel Kebenaran untuk !
Berikut ini adalah contoh source code yang menggunakan operator logika NOT,
public class TestNOT
{
public static void main( String[] args ){
boolean val1 = true;
boolean val2 = false;
System.out.println(!val1);
System.out.println(!val2);
}
}
Operator Kondisi(?:)
Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini membawa tiga
argumen yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang
menggunakan operator kondisi adalah,
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.
Sebagai contoh, diberikan code sebagai berikut,
public class ConditionalOperator
{
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 );
}
}
Berikut ini adalah flowchart yang menggambarkan bagaimana operator ?: bekerja,
Flowchart
Berikut ini adalah program lain yang menggunakan operator ?: ,
class ConditionalOperator
{
public static void main( String[] args ){
int score = 0;
char answer = 'a';
score = (answer == 'a') ? 10 : 0;
System.out.println("Score = " + score );
}
}
Operator Precedence
Operator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika
melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak
ambigu/ hasil yag jelas.
Operator Precedence
Diberikan pernyataan yang membingungkan,
6%2*5+4/2+88-10
Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda
kurung terhadap operator precedence,
((6%2)*5)+(4/2)+88-10;
Petunjuk Penulisan Program:
Untuk menghindari kebingungan dalam evaluasi operasi matematika, buatlah pernyataan
sesederhana mungkin dan gunakan bantuan tanda kurung
Materi operator java

More Related Content

PPTX
Kelompok 1 Brute Force - PPT.pptx
EriekOrlando
 
PDF
(Jst)hebb dan delta rule
Junior Iqfar
 
PPTX
Function dalam PHP
I Gede Iwan Sudipa
 
PDF
01 sejarah sistem operasi
Setia Juli Irzal Ismail
 
PDF
Memperkenalkan_ Google Workspace for Education.pdf
RudiAnwar11
 
DOCX
Laporan Praktikum Pertemuan 1, PBO
setyadi_s
 
PPTX
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
DOC
Modul stat2
Ira Sitompul
 
Kelompok 1 Brute Force - PPT.pptx
EriekOrlando
 
(Jst)hebb dan delta rule
Junior Iqfar
 
Function dalam PHP
I Gede Iwan Sudipa
 
01 sejarah sistem operasi
Setia Juli Irzal Ismail
 
Memperkenalkan_ Google Workspace for Education.pdf
RudiAnwar11
 
Laporan Praktikum Pertemuan 1, PBO
setyadi_s
 
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
Modul stat2
Ira Sitompul
 

What's hot (16)

PPTX
PENGEMASAN PRODUK.pptx
NunungHaerani2
 
PDF
RPS-Gizi-dan-Metabolisme-Nutrient-2021.pdf
MaryniManga
 
PDF
Penilaian mutu makanan
Agnescia Sera
 
PPTX
Model data relasional (3)
Fariszal Nova
 
DOCX
3 lagrange-multipliers
Arief Cool
 
PPTX
Sistem Penunjang Keputusan [Teori Pengambilan Keputusan]
Institut Teknologi Sepuluh Nopember Surabaya
 
PPTX
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
Eri Zuliarso
 
PPTX
Ms.Excel Rumus Fungsi IF
Monica Chandra
 
PPTX
Statistik Parametrik.pptx
amalfathullah7
 
PDF
Faza de testare (II)
Florin Leon
 
DOCX
Deteksi autokorelasi
Titis Setya Wulandari
 
PPTX
Ppt jajanan sehat
resa_mardiana
 
PPTX
KEBIJAKAN HSP Dinkes Prov DKI Jakarta (1).pptx
NurulBaeti6
 
PPT
7. cara penanganan kesalahan
yuster92
 
PPT
Normalitas dengan SPSS
Cecep Kustandi
 
PPTX
Struktur kontrol percabangan
Cholifatur R
 
PENGEMASAN PRODUK.pptx
NunungHaerani2
 
RPS-Gizi-dan-Metabolisme-Nutrient-2021.pdf
MaryniManga
 
Penilaian mutu makanan
Agnescia Sera
 
Model data relasional (3)
Fariszal Nova
 
3 lagrange-multipliers
Arief Cool
 
Sistem Penunjang Keputusan [Teori Pengambilan Keputusan]
Institut Teknologi Sepuluh Nopember Surabaya
 
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
Eri Zuliarso
 
Ms.Excel Rumus Fungsi IF
Monica Chandra
 
Statistik Parametrik.pptx
amalfathullah7
 
Faza de testare (II)
Florin Leon
 
Deteksi autokorelasi
Titis Setya Wulandari
 
Ppt jajanan sehat
resa_mardiana
 
KEBIJAKAN HSP Dinkes Prov DKI Jakarta (1).pptx
NurulBaeti6
 
7. cara penanganan kesalahan
yuster92
 
Normalitas dengan SPSS
Cecep Kustandi
 
Struktur kontrol percabangan
Cholifatur R
 
Ad

Viewers also liked (11)

PDF
Modul 2 variabel, tipe data dan operator
Fardian Syah
 
PDF
Format laporan praktikum
Fardian Syah
 
DOCX
Makalah java
Udinese Udinese
 
PPTX
Fajar Satrio Java
Fajar Satrio
 
PDF
Belajar Java Programming
Mohammad Maulana Ismail
 
PDF
Panduan Java sebagai Pemrograman Berorientasi Objek dan Implementasi Thread
Hary HarysMatta
 
PPTX
JAVA
ucienmapcu
 
PDF
Pemrograman Berorientasi Objek dengan Java
Ade Hendini
 
DOCX
contoh laporan praktikum kristalografi dan mineralogi
rezatambang
 
PPTX
Pp pbo-130802070700-phpapp02
yudharaditya01
 
DOC
Soal pra-uas (1)
Yuri Mahbubi
 
Modul 2 variabel, tipe data dan operator
Fardian Syah
 
Format laporan praktikum
Fardian Syah
 
Makalah java
Udinese Udinese
 
Fajar Satrio Java
Fajar Satrio
 
Belajar Java Programming
Mohammad Maulana Ismail
 
Panduan Java sebagai Pemrograman Berorientasi Objek dan Implementasi Thread
Hary HarysMatta
 
Pemrograman Berorientasi Objek dengan Java
Ade Hendini
 
contoh laporan praktikum kristalografi dan mineralogi
rezatambang
 
Pp pbo-130802070700-phpapp02
yudharaditya01
 
Soal pra-uas (1)
Yuri Mahbubi
 
Ad

Similar to Materi operator java (20)

PPTX
PPT3 - Basic Operators
Sigid Novriyanto
 
PPTX
tugas presentasi materi operator pada java
Ariyanto89
 
PPTX
Operator Java Dasar-Dasar Pemograman.pptx
andiirgi32
 
PPTX
Materi Pemrograman_Operator Dasar Java.pptx
ajisetoArifianto
 
PDF
Operator
Habib Aminudin
 
PPTX
Simple-Process_Java.pptx
ZhiiudhaeZhiieechieZ
 
PPTX
Materi 02 Java Operators.pptx
Abdillah Baraja
 
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
HendroGunawan8
 
PDF
Pemrograman C++ - Operator
KuliahKita
 
PPT
Algoritma Pemrograman - Operator
Institut Sains dan Teknologi Nasional
 
DOCX
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
DOCX
Pratikum operator
Carvalho Bento
 
PPTX
Bab 6 konsep dasar pemrograman (2)
risal07
 
PPTX
05 konsep dasar pemrograman (2)
wawankoerniawan
 
PPTX
Bahasa C Presentation Operator pada C++
YudiiMi
 
PPTX
05 konsep dasar pemrograman (2)
wawankoerniawan
 
PPTX
05 konsep dasar pemrograman (2)
wawankoerniawan
 
PPT
Aturan dan dasar pbo(operator)
Rizki Ramdani
 
PDF
02 02-operasi
Evert Sandye Taasiringan
 
PPTX
4. OOP Java
beiharira
 
PPT3 - Basic Operators
Sigid Novriyanto
 
tugas presentasi materi operator pada java
Ariyanto89
 
Operator Java Dasar-Dasar Pemograman.pptx
andiirgi32
 
Materi Pemrograman_Operator Dasar Java.pptx
ajisetoArifianto
 
Operator
Habib Aminudin
 
Simple-Process_Java.pptx
ZhiiudhaeZhiieechieZ
 
Materi 02 Java Operators.pptx
Abdillah Baraja
 
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
HendroGunawan8
 
Pemrograman C++ - Operator
KuliahKita
 
Algoritma Pemrograman - Operator
Institut Sains dan Teknologi Nasional
 
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
Pratikum operator
Carvalho Bento
 
Bab 6 konsep dasar pemrograman (2)
risal07
 
05 konsep dasar pemrograman (2)
wawankoerniawan
 
Bahasa C Presentation Operator pada C++
YudiiMi
 
05 konsep dasar pemrograman (2)
wawankoerniawan
 
05 konsep dasar pemrograman (2)
wawankoerniawan
 
Aturan dan dasar pbo(operator)
Rizki Ramdani
 
4. OOP Java
beiharira
 

Materi operator java

  • 1. Operator Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan. Operator Aritmatika Berikut ini adalah dasar operator aritmatika yang dapat digunakan untuk membuat suatu program Java, Operator Penggunaan Keterangan + op1 + op2 Menambahkan op1 dengan op2 * op1 * op2 Mengalikan op1 dengan op2 / op1 / op2 Membagi op1 dengan op2 % op1 % op2 Menghitung sisa dari pembagian op1 dengan op2 - op1 - op2 Mengurangkan op2 dari op1 Operator Aritmatika dan fungsi-fungsinya
  • 2. Berikut ini adalah contoh program dalam penggunaan operator-operator ini : 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)); } }
  • 3. Operator Increment dan Decrement Dari sisi operator dasar aritmatika, Java juga terdiri atas operator unary increment (++) dan operator unary decrement (--). operator increment dan decrement menambah dan mengurangi nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1. Sebagai contoh, pernyataan, count = count + 1; //increment nilai count dengan nilai 1 pernyataan tersebut sama dengan, count++; Operator Penggunaan Keterangan ++ op++ Menambahkan nilai 1 pada op; mengevaluasi nilai op sebelum diincrementasi/ditambahkan ++ ++op Menambahkan nilai 1 pada op; mengevaluasi nilai op setelah diincrementasi/ditambahkan -- op-- Mengurangkan nilai 1 pada op; mengevaluasi nilai op sebelum didecrementasi/dikurangkan -- --op Mengurangkan nilai 1 pada op; mengevaluasi nilai op setelah didecrementasi/dikurangkan operator Increment dan Decrement Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand. Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau didecrement dengan nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan. Sebagai contoh, int i = 10, int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14 Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia ditambahkan. Sebagai contoh,
  • 4. int i = 10, int j = 3; int k = 0; k = j++ + i; //akan menghasilkan k = 3+10 = 13 Petunjuk Penulisan Program: Selalu membuat pernyataan yang mengandung operator increment dan decrement untuk tetap dipahami secara mudah dan sederhana. Operator Relasi Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai- nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false. Operator Penggunaan Keterangan > op1 > op2 op1 lebih besar dari op2 >= op1 >= op2 op1 lebih besar dari atau sama dengan op2 < op1 < op2 op1 kurang dari op2 <= op1 <= op2 op1 kurang dari atau sama dengan op2 == op1 == op2 op1 sama dengan op2 != op1 != op2 op1 tidak sama dengan op2 Operator Relasi
  • 5. Berikut ini adalah contoh program yang menggunakan operator Relasi, 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 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 } }
  • 6. Operator logika Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Terdapat enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT). Pernyataan dasar untuk operasi logika adalah, x1 op x2 Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2. && (logika AND) dan & (boolean logika AND) Berikut ini adalah tabel kebenaran untuk && dan &, x1 x2 Hasil TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE Tabel Kebenaran untuk & dan && Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari pernyataan tersebut? Diberikan suatu pernyataan, exp1 && exp2 && akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.
  • 7. Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND, 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); } } Catatan, bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejak pernyataan pertama (i>10) yaitu telah bernilai sama dengan false.
  • 8. || (logika OR) dan | (boolean logika inclusive OR) Berikut ini adalah tabel kebenaran untuk || dan |, x1 x2 Hasil TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE Table Kebenaran untuk | dan || Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa maksud dari pernyataan tersebut? diberikan suatu pernyataan, exp1 || exp2 || akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai. Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR, 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); } } Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.
  • 9. ^ (boolean logika ExclusiveOR ) Berikut ini adalah tabel kebenaran untuk ^, x1 x2 Hasil TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE Tabel kebenaran untuk ^ Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk menjumlahkan hasil dari suatu exclusive OR. Berikut ini adalah contoh source code yang menggunakan operator logika exclusive OR, 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); } } ! (logika NOT) Logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi suatu pernyataan, variabel atau konstanta. Berikut ini adalah tabel kebenaran untuk operator not!, x1 Hasil TRUE FALSE FALSE TRUE Tabel Kebenaran untuk !
  • 10. Berikut ini adalah contoh source code yang menggunakan operator logika NOT, public class TestNOT { public static void main( String[] args ){ boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2); } } Operator Kondisi(?:) Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini membawa tiga argumen yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang menggunakan operator kondisi adalah, 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. Sebagai contoh, diberikan code sebagai berikut, public class ConditionalOperator { 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 ); } } Berikut ini adalah flowchart yang menggambarkan bagaimana operator ?: bekerja,
  • 11. Flowchart Berikut ini adalah program lain yang menggunakan operator ?: , class ConditionalOperator { public static void main( String[] args ){ int score = 0; char answer = 'a'; score = (answer == 'a') ? 10 : 0; System.out.println("Score = " + score ); } }
  • 12. Operator Precedence Operator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak ambigu/ hasil yag jelas. Operator Precedence Diberikan pernyataan yang membingungkan, 6%2*5+4/2+88-10 Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda kurung terhadap operator precedence, ((6%2)*5)+(4/2)+88-10; Petunjuk Penulisan Program: Untuk menghindari kebingungan dalam evaluasi operasi matematika, buatlah pernyataan sesederhana mungkin dan gunakan bantuan tanda kurung