Berikut ini adalah pertanyaan dari oranwutun925 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
Pengertian Operator Logika dalam PHP
Operator Logika adalah operator yang digunakan untuk membandingkan 2 kondisi logika, yaitu logika benar (TRUE) dan logika salah (FALSE). Operator logika sering digunakan untuk kodisi IF, atau untuk keluar dari proses perulangan (looping).
Untuk Penjelasan yang Lebih Lengkap ada di bawah ini.
Penjelasan:
Operator logika digunakan untuk membandingkan 2 inputan kondisi boolean, yakni true atau false. Dalam tutorial kali ini kita akan membahas tentang jenis dan cara penggunaan operator logika (Logical Operators) dalam PHP, serta memahami pengertian prinsip short-circuit dalam operasi logika PHP.
Jenis operand dalam operator logika ini adalah variabel dengan tipe boolean. Namun jika operand bukan boolean, akan “dikonversi” menjadi boolean oleh PHP (aturan “konversi” ini telah kita bahas pada tutorial tentang tipe data boolean PHP).
Cara Penggunaan Operator Logika di dalam PHP
Berikut adalah contoh kode program, cara penggunaan operator logika dalam PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$hasil1 = true and false;
echo '$hasil1 = ';
echo var_dump($hasil1)."<br/>"; // $hasil1 = bool(true)
$hasil2 = (true and false);
echo '$hasil2 = ';
echo var_dump($hasil2)."<br/>"; // $hasil2 = bool(false)
$hasil3 = (true xor false);
echo '$hasil3 = ';
echo var_dump($hasil3)."<br/>"; // $hasil3 = bool(true)
$hasil4 = (false or true && false);
echo '$hasil4 = ';
echo var_dump($hasil4)."<br/>"; // $hasil4 = bool(false)
$a=true;
$b=false;
$hasil5 = ($a and $b || $a or b);
echo '$hasil5 = ';
echo var_dump($hasil5); // $hasil5 = bool(true)
?>
Saya akan membahas kode program diatas:
Pada baris 2, operasi logika yang dijalankan adalah $hasil1 = true and false, yang harusnya $hasil1 akan bernilai false (berdasarkan prinsip operator and: jika salah satu saja ada yang false, maka hasilnya adalah false)
Namun seperti yang terlihat dalam tampilan saat program dijalankan, variabel $hasil1 bernilai true!. Apa yang sebenarnya terjadi? Hal ini kembali kepada prinsip urutan prioritas operator.
Jika anda perhatikan tabel urutan operator pada tutorial urutan operator dalam PHP, operator assignment (pendefenisian variabel) yaitu menggunakan tanda sama dengan (=) memiliki priotitas lebih tinggi dari pada operator logika and. Sehingga yang sebenarnya diproses adalah ($hasil1 = true) and false, sehingga $hasil1 akan bernilai true.
Kesalahan pemograman seperti ini akan sulit dideteksi, sehingga anda disarankan menggunakan tanda kurung untuk menegaskan urutan program.
Pada baris ke-6, untuk variabel $hasil2 saya mengulangi operasi yang sama dengan baris 2, namun kali ini dengan menggunakan tanda kurung untuk memberitahukan kepada PHP bahwa operasi logikalah yang harus dijalankan pertama kali, baru setelah itu proses assigment yang kali ini berjalan sebagaimana harusnya (true and false menghasilkan false). Dan variabel $hasil2 bernilai false.
Pada baris ke-10, variabel $hasil3 bernilai true, karena operator xor akan menghasilkan true apabila salah satu operand bernilai true.
Untuk baris ke-14, $hasil4 = (false or true && false), urutan proses operasi dimulai terlebih dahulu pada operator && karena memiliki urutan prioritas lebih tinggi daripada operator or, sehingga yag diproses oleh PHP adalah (false or (true && false)), dan menghasilkan nilai false.
Pada contoh terakhir baris ke-20, operator || akan diproses terlebih dahulu, sehingga persamaanya menjadi $hasil5 = ($a and ($b || $a) or b).
Dalam membuat operasi logika ini, sedapat mungkin untuk mengujinya terlebih dahulu, karena kesalahan program pada logika akan sulit terdeteksi.
Semoga dengan pertanyaan yang sudah terjawab oleh ivander321 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Fri, 18 Jun 21