Belajar Java Dasar 7: Operator Logika

Operator logika

operator logika mirip dengan operator pembanding, hanya perbedaanya adalah jika operator pembanding yang di bandingkan adalah 2 buah data yang tipe datanya terserah (bisa int, double, float, dll), namun hasilnya berupa boolean. Jika operator Logika adalah operator yang membandingkan beberapa data (bisa lebih dari 2 atau lebih pembandingnya), dan yang dibandingkan harus berupa tipe data boolean.


Jadi intinya operator logika yang dibandingkan adalah beberapa data yang menggunakan tipe data boolean, jadi data yang dibandingkan hanya berupa true atau false

Macam-macam operator logika

Tabel operator logika

Operator Keterangan
&& dan
|| atau
Hasil dari kita membandingkan dengan operator logika && (dan) adalah

Tabel pembanding dengan operator logika && atau dan

Nilai 1 Operator Nilai 2 Hasil
true && true true
true && false false
false && true false
false && false false

INGAT !! Untuk perator logika ' && '  (dan). Data yang di bandingkan akan bernilai true jika hanya kedua pembanding bernilai true , jika salah satu saja bernilai false , maka hasilnya akan false

Biar kita gak bingung mastah perlu mempraktekanya dan meng compile hasilnya langsung, berikut saya akan contohkan dan bahas pelan-pelan.


public class belajarOperatorLogika{

  public static void main(String[]args){

      int nilaiMatematika = 70;
      int nilaiFisika = 80;
      int nilaiKimia = 90;

      boolean a = nilaiMatematika > nilaiFisika && nilaiFisika < nilaiKimia;
      boolean b = nilaiMatematika < nilaiFisika && nilaiFisika < nilaiKimia;

      //Jika di jalankan/ di compile maka
      System.out.println(a); //hasilnya false
      

System.out.println(b); //hasilnya true


  } }

Keterangan:

    1.  Variabel a, bila diterjemahkan pembandinya maka:
boolean a =  70 lebih besar 80 dan 80 lebih kecil dari 90
a = false && true
a = false

kenapa hasilnya false ? karena untuk berdasarkan tabel pembanding di atas jika menggunakan pembanding && (dan) , hasilnya akan true jika kedua pembanding bernilai true , jika salah satu saja bernilai false maka hasil dengan operator && adalah selalu false
    2.  Variabel b,  bila diterjemahkan pembandinya maka:
variabel b = 70 lebih kecil 80 dan 80 lebih kecil 90;
b =   true && true
b = true

Hasil dari nilai variabel b adalah true , karena kedua pembanding bernilai sama-sama true , jadi jasilnya juga true

Sudah jelas dan ada bayangan kan? kalo mastah mempraktekanya dan mencoba-coba mengubah nilainya pasti akan jelas n lebih paham. Sabar jangan berhenti dulu, karena masih ada operator logika lagi yang belom saya bahas  :D

Hasil operator logika || (atau)

Tabel hasil operator ||

Nilai 1 Operator  Nilai 2 Hasil
true || true true
true
||
false true
false
||
true
true
false
||
false
false

INGAT !! Dari tabel di atas bisa di ambil kesimpulan bahwa apabila dengan menggunakan operator logika || ( atau ), akan selalu bernilai true jika salah satu pembanding saja bernilai true , namun akan bernilai false jika kedua pembanding bernilai false

contoh? gak usahlah ya sama persis kok ama dengan yang operator pembanding dan di atas, bedanya di hasil dan penggunaan operatornya saja, hasil sesuai dengan tabel.
Namun, disini saya akan memberikan contoh bila ada kasus campuran antara operator pembanding logika && dengan operator logika || . So jangan ngantuk dan perhatikan baik-baik yang saya contohkan berikut ini:

public class belajarOperatorLogika{
  
  public static void main(String [] args){
  
      int nilaiA = 70;
      int nilaiB = 80;
      int nilaiC = 90

      boolean a = nilaiA > nilaiB && nilaiB < nilaiC || nilaiC < nilaiB;
      boolean b = nilaiA < nilaiB || nilaiB < nilaiC && nilaiC < nilaiB;

      //Jika dijalankan
      System.out.println(a); //hasilnya: false
      System.out.println(b); //hasilnya: true
  }
}


Keterangan:

    1.  Variabel b, bila diterjemahkan pembandinya maka:
boolean b  =  70  lebih besar  80  dan  80  lebih kecil  dari 90 atau 90 lebih kecil 80
a = (false && true) || false
a = false || false
a = false


INGAT !! Perhitungan logika dimulai dari arah paling kiri ke - kanan ya, jadi dihitung pembanding logika dari paling kiri menuju yang sebelah kanan nya 

    2.  Variabel b, bila diterjemahkan pembandinya maka:

boolean b  =  70  lebih kecil  80  atau  80  lebih kecil  dari 90 dan 90 lebih kecil 80
b = true || (true && false)
b = true || false
b = true

CATATAN !!!
Perlu di Ingat, aturan standart sesuai yang saya tulis d contoh 1 adalah d tulis dari arah kiri - ke kanan, Namun BERBEDA dengan aturan jika di salah satu pembanding ada yang menggunakan operator dan (&&). Jika ada operator && maka yang d dahulukan perhitunganya adalah yang menggunakan operator  &&, baru setelahnya dihitung dari kiri - kanan, jadi intinya kedudukan operator && harus lebih didahulukan daripada peraturan dari kiri - ke kanan.
Jadi ibarat di matemarika, antara perkalian vs penjumlahan, maka yang didahulukan adalah perkalianya, nah begitu juga di operator &&, yang d hitung terlebih dahulu adalah pembandingan yang menggunakan operator &&

Pesan saya untuk selalu mempraktekan langsung dan mengubah-ubah nilainya, dan jika mastah punya pengetahuan lain apapun itu di dunia pemrograman jangan pelit untuk berbagi ilmu mastah ke sesama, mastah bisa mulai menulis mastahcode untuk mulai berkontribusi di dunia pemrograman XD)


2

Search

Blog Tags

Blog & Comments