Cara menggunakan BOOLEON pada JavaScript

Tipe data boolean merupakan sebuah variabel yang hanya memiliki 2 nilai yaitu benar (true) dan salah (false), atau nilai ini disebut nilai logika. Hal ini nantinya banyak akan digunakan di logika pemrograman. Dalam Javascript benar juga dapat didefinisikan sebagai numberik yaitu benar (1) dan salah (0). Sebagai cotoh:

Tipe data array merupakan sebuah tipe data yang diperuntungkan untuk menampung data secara berkelompok artinya, variabel bertipe data array dapat menampung lebih dari satu nilai. Dalam Javascript array terdapat dua jenis yaitu array berindeks dan array assosiatif. Array berindeks dibuat dengan menggunakan tanda [] sedangkan array assosiatif dibuat mengunakan tanda {}.

Variabel array pada umumnya bertipe object, lebih tepat nya object dan array. Jika mengacu pada block kode diatas variabel a adalah tipe data object dan variabel b adalah tipe data obejct.

Cara menggunakan BOOLEON pada JavaScript

Orang Utan. Sumber:Wikimedia.

Kenal JavaScript merupakan salah satu seri tentang JavaScript. Seri ini memperkenalkan hal-hal dasar seputar JavaScript. Setiap minggu akan ada 1–2 artikel baru pada seri ini.

Sebelumnya di ‘Kenal JavaScript’

Selain operator aritmatika, operator dasar lainnya pada JavaScript yang perlu dikuasai adalah operator perbandingan. Operator perbandingan biasanya berfungsi untuk menentukan kode mana dalam program yang harus dijalakan, operasi mana yang perlu dijalankan jika diberikan kondisi yang spesifik.

Sebelumnya, Kenal JavaScript: Operator Perbandingan

Operator logika merupakan salah satu operator yang paling sering digunakan di JavaScript. Seperti operator perbandingan, operator logika biasa dipakai pada statement if..else, switch, while, for, dll, bersandingan dengan operator perbandingan. Operator logika biasa dipakai dengan nilai boolean. Walaupun begitu hal tersebut tidak membatasi tipe data/expression lain digunakan dengan operator logika.

Operator Logika

Terdapat tiga operator yang termasuk operator logika, yaitu:

  • AND, &&
  • OR, ||
  • NOT, !

Mungkin Anda juga pernah melihat operator & dan |, hanya satu karakter & atau |. Operator tersebut pada JavaScript merupakan operator bitwise. Operator logika dan operator bitwise tidak bisa saling menggantikan fungsi lainnya satu sama lain. Artinya Anda jangan sampai tertukar menggunakan operator logika atau operator bitwise.

Operator logika mengembalikan salah satu dari nilai expression. Baik expression tersebut merupakan nilai boolean atau bukan. Jika expression merupakan nilai boolean maka operator logika akan mengembalikan nilai boolean. Jika tidak maka salah satu dari nilai expression akan dikembalikan. Saya bahas lebih lanjut terkait hal ini pada bagian cara kerja operator logika.

Sintaks

Operator logika AND dan OR membutuhkan dua expression. Sementara operator logika NOT hanya membutuhkan satu expression.

AND, &&

expr1 && expr2

OR, ||

expr1 || expr2

NOT, !

!expr

Cara Kerja Evaluasi Operator Logika

Operator logika mengevaluasi expression sebelah kiri operator kemudian mengevaluasi expression sebelah kanan. Hasil yang dikembalikan operator logika tergantung dari jenis operator logika tersebut, AND, OR, atau NOT, sesuai dengan cara evaluasi diatas.

AND, &&

Untuk operator AND, jika expression sebelah kiri setelah dievaluasi menghasilkan nilai false, maka operator AND akan mengembalikan expression pertama. Kebalikannya, jika expression sebelah kiri setelah dievaluasi menghasilkan nilai true, maka operator AND akan mengembalikan expression kedua.

Jika kedua expression bernilai boolean maka Anda dapat berpatokan terhadap tabel berikut untuk hasil dari operator AND.

Truth table untuk operator AND

OR, ||

Untuk operator OR, jika expression sebelah kiri setelah dievaluasi menghasilkan nilai true, maka operator OR akan mengembalikan expression pertama. Kebalikannya, jika expression sebelah kiri setelah dievaluasi menghasilkan nilai false, maka operator OR akan mengembalikan expression kedua.

Jika kedua expression bernilai boolean maka Anda dapat berpatokan terhadap tabel berikut untuk hasil dari operator AND.

Truth table operator OR

NOT, !

Operator NOT sedikit berbeda dengan operator AND atau OR. Operator NOT hanya membutuhkan satu expression karena tugas dari operator NOT adalah untuk menegasikan hasil evaluasi expression yang diberikan.

Jika expression yang diberikan setelah dievaluasi menghasilkan nilai true, maka operator NOT akan mengembalikan false. Kebalikannya, jika expression yang diberikan setelah dievaluasi menghasilkan nilai false, maka operator NOT akan mengembalikan true.

Konsep yang sudah saya jelaskan tentang operator logika diatas penting untuk dipegang karena pada JavaScript terdapat konsep automatic type conversion. Setiap expression dapat Anda evaluasi menggunakan operator logika diatas. Hasilnya tergantung apakah expression tersebut bernilai truthy atau falsy. Pembahasan tentang truthy dan falsy akan saya bahas pada story selanjutnya.

Short-circuit Evaluation

Seperti yang sudah saya jelaskan pada cara kerja evaluasi operator logika diatas, logical expression dievaluasi dari kiri ke kanan. Hal ini ternyata memungkinkan kita untuk melakukan banyak hal dengan sintaks yang ringkas menggunakan operator logika. Yang perlu diperhatikan hanyalah rule berikut.

  • False && (any expression), expression tidak akan dijalankan
  • True && (any expression), expression akan dijalankan
  • False || (any expression), expression akan dijalankan
  • True || (any expression), expression tidak akan dijalankan

Expression dapat berupa apapun termasuk pemanggilan fungsi.

Menggunakan short-circuit evaluation

Mengkombinasikan Operator Logika

Pada kasus nyata saat mengembangkan produk, Anda akan menemukan bahwa dalam melakukan pengecekan operator logika biasanya dikombinasikan untuk menghasilkan suatu expression pengecekan yang kompleks. Misalkan seperti contoh berikut. Saya akan menggunakan kasus menentukan tahun kabisat untuk dimodelkan menjadi bentuk logical expression.

Aturan suatu tahun disebut tahun kabisat berdasarkan https://en.wikipedia.org/wiki/Leap_year, yaitu:

Suatu tahun disebut tahun kabisat jika,

  1. Angka tahun tersebut habis dibagi 400, atau
  2. Angka tahun tersebut habis dibagi 4 dan tidak habis dibagi 100

Selain itu, tahun tersebut disebut tahun biasa

Mari kita breakdown satu per satu.

Angka tahun tersebut habis dibagi 400. Jika diterjemahkan ke dalam logical expression JavaScript maka akan seperti ini.

year % 400 === 0

Kemudian, Angka tahun tersebut habis dibagi 4 DAN TIDAK habis dibagi 100. Jika diterjemahkan ke dalam logical expression hasilnya sebagai berikut

year % 4 === 0 // habis dibagi 4
year % 100 !== 0 // tidak habis dibagi 100
(year % 4 === 0 && year % 100 !== 0)

Selanjutnya tinggal kita gabungkan kedua logical expression tersebut menjadi:

(year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0))

Grouping operator ( ) memastikan bahwa evaluasi terhadap kasus kedua dilakukan terlebih dahulu baru dilakukan pengecekan dari kiri ke kanan. Semakin dalam grouping operator tersebut berada maka makin cepat menunggu antrian dievaluasi.

Mari kita coba di repl.

Fungsi untuk melakukan pengecekan apakah suatu tahun merupakan tahun kabisat

isLeap() mengembalikan true jika parameter year merupakan tahun kabisat, dan sebaliknya. Apa jadinya jika grouping operator saya hilangkan?

Derajat operator AND lebih tinggi dari operator OR sehingga dievaluasi terlebih dahulu

Hasilnya akan tetap sama. Mengapa? Derajat operator AND lebih tinggi daripada operator OR. Jika ada operator AND dan OR dalam satu level maka operator AND akan dikerjakan terlebih dahulu. Berikut saya coba visualisasikan alur dari evaluasi logical expression diatas.

Breakdown:

0. Pre-check, ada grouping operator. Evaluasi expression didalam grouping operator terlebih dahulu.

  1. Mulai evaluasi dari sebelah kiri. Evaluasi year % 4 === 0, 2000 % 4 === 0. TRUE.
  2. Operator AND. Expression pertama bernilai TRUE. Oleh karena itu, lanjut ke evaluasi expression kedua.
  3. Evaluasi year % 10 !== 0, 2000 % 100 !== 0. FALSE.
  4. Kembalikan FALSE karena expression kedua bernilai false. Semua expression dalam grouping operator telah habis. Kembali satu level keatas.
  5. Mulai evaluasi dari sebelah kiri. Evaluasi year % 400 === 0, 2000 % 400 === 0. TRUE.
  6. Operator OR. Expression pertama bernilai TRUE. Oleh karena itu, langsung kembalikan expression pertama bernilai TRUE. Tidak perlu mengevaluasi TRUE dengan expression kedua.
  7. Semua expression telah selesai dievaluasi. Kembalikan TRUE hasil dari gabungan evaluasi seluruh expression.

Derajat Operator Logika

Melanjutkan dari story sebelumnya pada operator perbandingan, derajat operator juga berlaku untuk operator logika. Jika operator logika ditambahkan pada daftar tersebut maka daftar nya akan menjadi seperti berikut.

  1. Postfix Increment, x++
  2. Postfix Decrement, x--
  3. Logical NOT, !
  4. Prefix Increment, ++x
  5. Prefix Decrement,--x
  6. Perkalian, *
  7. Pembagian, /
  8. Modulus, %
  9. Penjumlahan, +
  10. Pengurangan, -
  11. Less than, <
  12. Less than or equal, <=
  13. Greater than, >
  14. Greater than or equal, >=
  15. Equality, ==
  16. Inequality, !=
  17. Strict equality, ===
  18. Strict inequality, !==
  19. Logical AND, &&
  20. Logical OR, ||

Selanjutnya, Kenal JavaScript: Truthy dan Falsy

Sumber dan bacaan lanjut:

Halo semuanya, kali ini saya akan menjelaskan tentang apa itu Boolean JavaScript. Boolean adalah tipe data primitif dalam JavaScript yang hanya memiliki dua nilai yaitu benar atau salah. Berguna dalam mengontrol aliran program menggunakan pernyataan bersyarat seperti if..else, switch, while, do.. while.

Boolean. Tipe data boolean merupakan tipe yang memiliki dua nilai yaitu benar (true) atau salah (false). Nilai yang digunakan pada tipe ini sangat penting dalam mengambil keputusan suatu kejadian tertentu.

Tipe data adalah jenis-jenis data yang bisa kita simpan di dalam variabel. Ada beberapa tipe data dalam pemrograman Javascript: String (teks) Integer atau Number (bilangan bulat)

Apa itu Boolean JavaScript?

Halo semuanya, kali ini saya akan menjelaskan tentang apa itu Boolean JavaScript. Boolean adalah tipe data primitif dalam JavaScript yang hanya memiliki dua nilai yaitu benar atau salah. Berguna dalam mengontrol aliran program menggunakan pernyataan bersyarat seperti if..else, switch, while, do.. while.
Tipe data boolean banyak digunakan untuk percabangan kode program, atau untuk memutuskan apa yang mesti dijalankan ketika sebuah kondisi terjadi. Sebagai contoh, kita bisa membuat kode program untuk menentukan apakah sebuah angka genap atau ganjil berdasarkan input dari pengguna.

Nilai Boolean ada berapa?

Boolean adalah suatu tipe data yang hanya mempunyai dua nilai. Yaitu true atau false (benar atau salah).

Jelaskan apa yang dimaksud dengan Boolean?

D. Boolean. Tipe data boolean merupakan tipe yang memiliki dua nilai yaitu benar (true) atau salah (false). Nilai yang digunakan pada tipe ini sangat penting dalam mengambil keputusan suatu kejadian tertentu.