Tutorial Belajar JavaScript Part 20: Cara Penggunaan Operasi Perbandingan dan Logika

Tipe data boolean yang kita bahas sebelumnya sangat berkaitan dengan operasi perbandingan serta operasi logika. Dalam tutorial kali ini, kita akan membahas tentang Cara Penggunaan Operasi Perbandingan dan Operasi Logika di dalam JavaScript.


Operator Perbandingan dalam JavaScript

Di dalam JavaScript (dan juga bahasa pemograman lain) operator perbandingan adalah operator yang digunakan untuk membandingkan sebuah nilai atau variabel dengan variabel lainnya. Hasil dari operasi perbandingan ini akan menghasilkan nilai boolean.

Operator perbandingan di dalam JavaScript adalah sebagai berikut:


Operator sama dengan (==)

Operator sama dengan adalah operator yang akan membandingkan 2 buah nilai atau variabel dan menghasilkan nilai true jika variabel tersebut bernilai sama. Berikut adalah contoh programnya:

<script>
var a = true;
var benar = true;
console.log(a==benar); // true
 
var a = 12;
var b = 4;
console.log(a==b); // false
 
var a = 7;
var b = "7";
console.log(a==b); // true !
</script>

Perhatikan persamaan pada baris terakhir. Operasi == tidak melihat tipe data dari variabel yang akan dibandingkan, sehingga 7 (tipe data number) akan dianggap sama dengan "7" (tipe data string). Jika anda ingin membandingkan kedua variabel ini, dan memasukkan jenis tipe data sebagai salah satu penilaian sama atau tidaknya 2 buah variabel, maka harus menggunakan operator identikal (===).


Operator identik dengan (===)

Operator identikal === hampir sama dengan operator ==, yaitu membandingkan apakah 2 buah variabel atau hasil operasi program sama atau tidak. Perbedaannya, operator === lebih 'ketat aturan' daripada operator ==. Operasi 7 == "7" akan dianggap sama dan menghasilkan nilai true, namun operasi 7 === "7" akan dianggap false, karena tipe data kedua nilai ini berbeda.

Berikut adalah contoh penggunaannya:

<script>
var a = true;
var benar = true;
console.log(a===benar); // true
 
var a = 12;
var b = 4;
console.log(a===b); // false
 
var a = 7;
var b = "7";
console.log(a===b); // false !
 
var a = "7";
var b = "7";
console.log(a===b); // true
</script>

Operator tidak sama dengan (!=)

Operator != adalah kebalikan dari operator ==, dan akan menghasilkan nilai true jika hasil operasi 2 buah variabel yang dibandingkan tidak memiliki nilai yang sama. Berikut adalah contoh penggunannya:

<script>
var a = true;
var benar = true;
console.log(a!=benar); // false
 
var a = 12;
var b = 4;
console.log(a!=b); // true
 
var a = 7;
var b = "7";
console.log(a!=b); // false !
</script>

Perhatikan juga untuk persamaan baris terakhir, operator != tidak mempertimbangkan tipe data variabel, sama seperti operator ==. Jika anda ingin jenis tipe data juga merupakan kriteria perbandingan, maka gunakan operator !==.


Operator tidak identik dengan (!==)

Jika operator != tidak mempertimbangkan tipe data, maka operator !== hanya akan false jika operator yang dibandingkan memiliki nilai yang sama dan juga tipe data yang sama. Berikut adalah contoh penggunaannya:

<script>
var a = true;
var benar = true;
console.log(a!==benar); // false
 
var a = 12;
var b = 4;
console.log(a!==b); // true
 
var a = 7;
var b = "7";
console.log(a!==b); // true !
 
var a = "7";
var b = "7";
console.log(a!==b); // false
</script>

Operator Kurang dari (<) dan Kurang sama dengan dari: (<=)

Operator < dan <= hanya akan bernilai true jika variabel di sisi kiri operator memiliki nilai yang kurang dari variabel di sisi kanan. Perbedaan antara < dan <= adalah jika kedua nilai yang dibandingkan sama, maka operator < akan menghasilkan false, namun operator <= akan menghasilkan true. Berikut adalah contoh programnya:

<script>
var a = 3;
var b = 4;
console.log(a<b); // true
console.log(a<=b); // true
 
var a = 5;
var b = 5;
console.log(a<b); // false
console.log(a<=b); // true
</script>

Operator Besar dari (>) dan Besar sama dengan dari (>=)

Operator > dan >= hanya akan bernilai true jika variabel di sisi kiri operator memiliki nilai yang lebih besar dari variabel di sisi kanan. Perbedaan antara > dan >= adalah jika kedua nilai yang dibandingkan sama, maka operator > akan menghasilkan false, namun operator >= akan menghasilkan true. Berikut adalah contoh programnya:

<script>
var a = 3;
var b = 4;
console.log(a>b); // false
console.log(a>=b); // false

var a = 5;
var b = 5;
console.log(a>b); // false
console.log(a>=b); // true
</script>
Walaupun di dalam contoh yang kita jalankan, operasi perbandingan menggunakan tipe data angka (number), namun operasi perbandingan di dalam JavaScript juga bisa dilakukan untuk tipe data String. Operasi perbandingan string di dalam JavaScript dilakukan secara bit per bit atau dengan melihat urutan dari kode Unicodenya.

Urutan dari karakter unicode dapat dicari di google, atau kunjungi unicode-table.com

Dari tabel Unicode ini kita dapat melihat urutan karakter dari 0000 sampai dengan FFFF. Karakter dengan kode unicode 0022 akan lebih kecil dari karakter dengan kode unicode 0023.

Jika string yang dibandingkan terdiri dari beberapa karakter, hasil perbandingan akan ditentukan dari karakter paling kiri ke kanan. Jika karakter pertama untuk kedua variabel sama, maka dilanjutkan ke karakter kedua, dan demikian seterusnya sampai ditemukan karakter yang memiliki kode unicode yang berbeda.

Berikut adalah contoh kode program perbandingan String di dalam JavaScript:

<script>
var a = "a";
var b = "b";
console.log(a<b); // true
 
var a = "apple";
var b = "applu";
console.log(a==b); // false
 
var a = "@ku";
var b = "?ku";
console.log(a>b); // true
</script>


Operasi Logika dalam JavaScript

Selain operasi perbandingan, operasi logika juga sangat berkaitan dengan tipe data boolean. Operasi logika ini juga sering digunakan untuk pembuatan alur program.

Berikut adalah operator logika dan cara penulisan operator logika di dalam JavaScript:

  • Operator "dan" (and), ditulis dengan &&. Operator and hanya akan menghasilkan nilai true jika kedua nilai yang dibandingkan juga bernilai true, dan menghasilkan nilai false jika salah satu atau kedua nilai yang dibandingkan adalah false.
  • Operator "atau" (or), ditulis dengan ||. Operator or akan menghasilkan nilai true jika salah satu atau kedua nilai yang dibandingkan adalah true. Jika kedua nilai yang dibandingkan false, maka hasilnya adalah false.
  • Operator negasi, ditulis dengan !. Operator ini digunakan untuk membalik nilai logika. Jika ditulis a adalah true maka !a adalah false dan begitu juga sebaliknya.

Berikut adalah contoh kode program penggunaan operator logika di dalam JavaScript:

<script>
var a = true;
var b = false;
 
var hasil1 = a && b;
console.log(hasil1); //false
 
var hasil2 = a && a;
console.log(hasil2); //true
 
var hasil3 = a || b;
console.log(hasil3); //true
 
var hasil4 = !a;
console.log(hasil4); //false
</script>
Di dalam JavaScript tidak dikenal operator logika XOR, yakni operator yang akan menghasilkan nilai true jika salah satu bernilai true, tetapi akan menghasilkan false jika kedua nilai true atau kedua nilai false. Namun hal ini bisa 'diakali' dengan menggunakan kode seperti berikut ini: !a != !b.

Berikut contoh penggunaannya:

<script>
var a = true;
var b = false;
 
var xor1 = !a != !b;
console.log(xor1); // true
 
var xor2 = !a != !a;
console.log(xor2); // false
</script>

Di dalam tutorial kali ini kita telah membahas tentang operator perbandingan dan operator logika di dalam JavaScript. Dalam Tutorial berikutnya, kita akan membahas tentang Pengertian nilai Null dan Undefined di dalam JavaScript.


eBook JavaScript Uncover Duniailkom
JavaScript sudah menjadi fitur wajib di setiap website modern. Duniailkom telah menyusun eBook JavaScript Uncover yang membahas JavaScript dengan lebih detail dan lebih lengkap, mulai dari dasar hingga konsep DOM, Event dan AJAX. Penjelasan lebih lanjut bisa ke eBook JavaScript Uncover Duniailkom.

8 Comments

  1. Benhur
    13 Jun 16
    • Andre
      14 Jun 16
      • Benhur
        15 Jun 16
        • Andre
          15 Jun 16
  2. Benhur
    15 Jun 16
  3. MasFar
    11 Nov 16
    • Andre
      13 Nov 16

Add Comment