Apa itu Operator Logika serta boolean pada Java

Assalamualaikum Warahmatullahi Wabarakatuh,

Beljar mengenal operator logika dan boolean pada java. Setelah kita mempelajari Tentang Operator Aritmatika, Relasi, Increment dan Decrement, pada java, sekarang kita akan belajar mengenai Operator Logika pada java, operator ini sangat penting digunakan untuk membuat kondsi tertentu pada suatu program.

Belajar menggunakan Operator Logika pada java, Logika && AND, & Boolean Logika AND, || Logika OR, | Boolean Logika Inclusive OR, ^ Boolean Logika Exclusive OR, ! logika NOT

Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean. Pada Operetor logika Terdapat enam jenis operator yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).

Logika && (Logika AND)

Hasil Operand Logika && (AND) akan bernilai true jika kedua operand bernilai true dan akan bernilai false jika ada salah satu operand yang bernilai false. Untuk lebih jelasnya coba perhatikan tabel kebenaran berikut ini.

---- OPERAND1 ---- ---- OPERAND2 ---- ---- HASIL ----
true true true
true false false
false true false
false false false

Dan berikut ini merupakan contoh sederhana kode program yang menggunakan Logika && (AND).

public class operator_logika {
    public static void main(String[] args){
    int operand1 = 48;
    int operand2 = 70;
      
    /**
     * Demonstrasi1 penggunaan Logika AND, hasilnya akan true
     * karena kedua operand tersebut bernilai true
     */
    boolean test1 = operand1 > 20 && operand2 <= 100; 
    System.out.println(test1);
    
    /**
     * Demonstrasi2 penggunaan Logika AND, hasilnya akan false
     * karena ada salah satu operand yang bernilai false
     */
    boolean test2 = operand1 < 20 && operand2 <= 100; 
    System.out.println(test2);
  }
}

Hasilnya akan seperti berikut ini.

Hasil dari Demonstrasi Logika AND

Logika & (boolean logika AND)

Logika & hampir sama dengan Logika && , perbedaannya adalah bahwa && mensupports short-circuit evaluations (atau evaluasi perbagian), sementara operator & tidak. Contohnya seperti berikut ini.

public class operator_logika {
    public static void main(String[] args){
    int operand1 = 100;
    int operand2 = 500;
      
    //Demonstrasi && (Logika AND)
    boolean test1 = (operand1 > 200) && (operand2++ != 400);
    System.out.println(operand1);
    System.out.println(operand2);
    System.out.println(test1);
    
    //Demonstrasi & (boolean Logika AND)
    boolean test2 = (operand1 > 200) & (operand2++ != 400);
    System.out.println(operand1);
    System.out.println(operand2);
    System.out.println(test2);
  }
}

Jalankan program tersebut, maka hasilnya akan seperti ini.


Coba kalian perhatikan, pada Logika && (AND), variable operand2++ tidak  akan di evaluasi karena pada operand1 sudah bernilai false jadi program tidak akan memperdulikan sesuatu yang terdaji pada operand2 tapi jika operand1 bernilai true maka program akan mengevaluasi operand2.

Berbeda dengan Logika && (AND), pada logika & (boolean logika AND) operand2 akan tetap di evaluasi walaupun pada operand1 bernilai false.

Logika | | (Logika OR)

Hasil Operand Logika || (Logika OR) akan bernilai true jika kedua operand bernilai true atau ada salah satu operand yang bernilai true dan akan bernilai false jika kedua operand bernilai false. Coba perhatikan tabel kebenaran berikut ini.
---- OPERAND1 ---- ---- OPERAND2 ---- ---- HASIL ----
true true true
true false true
false true true
false false false
Perhatikan contoh program berikut ini.

public class operator_logika {
    public static void main(String[] args){
    int operand1 = 80;
    int operand2 = 120;
      
    //Demonstrasi1 || (Logika OR)
    boolean test1 = (operand1 == 80) || (operand2 < 10);
    System.out.println(test1);
    
    //Demonstrasi2 || (Logika OR)
    boolean test2 = (operand1 > 100) || (operand2 >= 200);
    System.out.println(test2);
  }
}

Jalankan maka hasilnya akan seperti ini.


Logika | (boolean logika inclusive OR)

Perbedaan dasar antara logika | | (OR) dan | (inclisive OR) adalah bahwa logika  | | (OR) mendukung short-circuit evaluations (proses evaluasi sebagian), sementara | tidak. Contoh penulisan kode programnya seperti berikut ini.

public class operator_logika {
    public static void main(String[] args){
    int operand1 = 80;
    int operand2 = 120;
      
    //Demonstrasi || (Logika OR)
    boolean test1 = (operand1 < 200) || (operand2++ != 400);
    System.out.println(operand1);
    System.out.println(operand2);
    System.out.println(test1);
    
    //Demonstrasi | (boolean Logika Inclusive OR)
    boolean test2 = (operand1 < 200) | (operand2++ != 400);
    System.out.println(operand1);
    System.out.println(operand2);
    System.out.println(test2);
  }
}

Jalankan dan hasilnya akan seperti ini.


Coba perhatikan, pada Logika | | (OR), variable operand2++ tidak  akan di evaluasi karena pada operand1 sudah bernilai true jadi program tidak akan memperdulikan sesuatu yang terjadi pada operand2 tapi jika operand1 bernilai false maka program akan mengevaluasi operand2.

Pada logika | (boolean logika inclusive OR) operand2 akan tetap di evaluasi walaupun pada operand1 bernilai true. Logika ini kebalikan dari logika && dan &.

Logika ^ (boolean logika exclusive OR)

Pada logika ^ (exclusive OR), operand akan bernilai true jika nilai boolean pada kedua operand tidak sama dan akan bernilai false jika nilai boolean pada kedua operand sama. Berikut ini merupakan tabel kebenaran untuk logika ^ (exclusive OR).
---- OPERAND1 ---- ---- OPERAND2 ---- ---- HASIL ----
true true false
true false true
false true true
false false false
Dan berikut ini merupakan contoh program yang menggunakan logika ^ (exclusive OR).

public class operator_logika {
    public static void main(String[] args){
    int operand1 = 77;
    int operand2 = 30;
      
    //Demonstrasi1 ^ (boolean logika exclusive OR)
    boolean test1 = (operand1 > 100) ^ (operand2 != operand1);
    System.out.println(test1);
    
    //Demonstrasi2 ^ (boolean logika exclusive OR)
    boolean test2 = (operand1 < 10) ^ (operand2 > 40);
    System.out.println(test2);
  }
}

Outputnya akan seperti berikut ini.


Logika ! (Logika NOT)

Logika ! (NOT) digunakan hanya untuk satu Operand saya, logika NOT akan menghasilkan true jika nilai pada boolean berisi false dan akan bernilai false jika nilai pada boolean berisi true, singkatnya operator ini merupakan kebalikan dari true menjadi false dan false menjadi true. Tebel kebenaran untuk logika NOT seperti ini.
---- OPERAND ---- ---- HASIL ----
true false
false true
Untuk contoh programnya seperti berikut ini.

public class operator_logika {
    public static void main(String[] args){
    int operand = 200;
      
    //Demonstrasi1 ! (logika NOT)
    boolean test1 = (operand > 100);
    System.out.println(test1);
    
    //Demonstrasi2 ! (logika NOT)
    boolean test2 = (operand > 100);
    System.out.println(!test2);
  }
}

Hasilnya akan seperti ini.


Demikian tutorial mengenai Pengertian dan Jenis-jenis Operator Logika serta penggunaan boolean pada Java. jika ada yang ingin ditanyakan, silakan kontak saya melalui email, sosmed atau isi kolom komentar dibawah dan Subscrible untuk mendapatkan update terbaru dari blog WildanTechnoArt, Terekhir dari saya, Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.