Pengertian Operator Aritmatika dalam PHP
Operator
Aritmatika adalah operator matematis yang terdiri dari operator penambahan,
pengurangan, perkalian, pembagian, modulus, plus, dan minus.
Jenis Operator Aritmatika dalam PHP
Didalam PHP
terdapat 7 jenis operator aritmatika, berikut ke tujuh operator tersebut:
Kebanyakan
operator aritmatika dalam PHP bertipe binary yakni membutuhkan 2 operand,
kecuali operator minus (-) dan plus (+) yang merupakan operator tipe unary
(hanya membutuhkan 1 operand).
Dari ke 7
operator aritmatika dalam PHP tersebut, operator modulus ($a % $b)
mungkin terdengar baru. Operator ini menghasilkan sisa hasil bagi dari hasil
pembagian. Misalkan 10 % 3, hasilnya adalah 1. Biasanya operator modulus
ini digunakan bersama-sama dengan operator pembagian (/).
Cara Penggunaan Operator Aritmatika di dalam PHP
Penggunakan operator
aritmatika di dalam PHP relatif mudah, karena kita telah terbiasa dengan
operator ini.
Berikut
adalah contoh kode program, cara penggunaan operator aritmatika dalam PHP:
<?php
$hasil1= -3;
$hasil2=3+5;
$hasil3=8-4.5;
$hasil4=2*5;
$hasil5=3+8/5-3;
$hasil6=10 % 4;
echo "\$hasil1:";
var_dump($hasil1); // $hasil1:int(-3)
echo "<br
\>";
echo "\$hasil2:";
var_dump($hasil2); // $hasil2:int(8)
echo "<br \>";
echo "\$hasil3:";
var_dump($hasil3); // $hasil3:float(3.5)
echo "<br \>";
echo "\$hasil4:";
var_dump($hasil4); // $hasil4:int(10)
echo "<br \>";
echo "\$hasil5:";
var_dump($hasil5); // $hasil5:float(1.6)
echo "<br \>";
echo "\$hasil6:"; var_dump($hasil6);
// $hasil6:int(2)
?>
Pada kode
program diatas, saya menggunakan fungsi var_dump() untuk menampilkan
hasil perhitungan, sehingga kita bisa melihat tipe data dari masing-masing
variabel.
Dari hasil var_dump(),
terlihat bahwa variabel $hasil3 dan $hasil5 bertipe float.
Hal ini dikarenakan perhitungan aritmatika pada baris ke-4 dan ke-6
menghasilkan angka desimal, sehingga secara otomatis variabel tersebut
tidak dapat ditampung sebagai integer, melainkan harus float.
Namun jika
hasil operasi matematis tersebut menghasilkan bilangan bulat, PHP akan
menyimpannya sebagai tipe data int (integer), seperti variabel $hasil1,
$hasil2, $hasil4 dan $hasil6.
Pada
perhitungan baris ke-6 yaitu persamaan $hasil5=3+8/5-3, hasilnya adalah 1.6.
Hal ini karena operator pembagian memiliki prioritas lebih tinggi daripada
operator tambah dan kurang. Operasi 3+8/5-3 dikerjakan oleh PHP sebagai (3+(8/5))-3.
Namun untuk hal ini, disarankan menggunakan tanda kurung secara tertulis agar
memudahkan dalam membaca alur program, dari pada bergantung kepada aturan
prioritas operator PHP.
Namun jika
tidak ditegaskan dengan menggunakan tanda kurung, urutan prioritas operator
matematis dalam PHP mengikuti aturan tabel yang kita bahas pada tutorial Pengertian Operand,
Operator dan Urutan Operator dalam PHP
Itulah
operator-operator dasar aritmatika dalam PHP. Untuk keperluan yang lebih
spesifik seperti pemangkatan, logaritma, exponensial dan sinus, PHP menyediakan
fungsi matematika (Mathematical Functions) yang akan kita bahas pada
tutorial PHP lanjutan.
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).
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).
Jenis-jenis Operator Logika dalam PHP
Jenis-jenis
operator logika dalam PHP dapat dilihat dari tabel berikut:
Perbedaan
dari operator AND dengan &&, dan OR dengan || terkait
dengan cara penulisan dan aturan “kekuatan” operator. Operator &&
dan || memiliki “kekuatan” lebih tinggi dari pada AND dan OR,
sehingga baris perintah: $a AND $b || $c, akan dieksekusi oleh PHP
menjadi $a AND ($b || $c).
Dari tabel
diatas, saya hanya memberikan hasil untuk kondisi TRUE, maka selain
kondisi tersebut, hasilnya adalah FALSE.
Cara Penggunaan Operator Logika di dalam PHP
Berikut
adalah contoh kode program, cara penggunaan operator logika dalam PHP:
<?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.
Pengertian Prinsip Short Circuit dalam operasi Logika
PHP
PHP
menjalankan operasi logika dengan prinsip short-circuit, yaitu jika
dengan memeriksa satu perintah saja sudah didapati hasil logikanya, maka
perintah lain tidak akan dijalankan. Contohnya:
$hasil = $a AND $b AND $c AND $d;
Jika pada
saat program dijalankan $a sudah bernilai FALSE, maka variabel $b,
$c dan $d tidak akan diperiksa lagi, karena apapun nilai variabel
tersebut, hasilnya akan tetap FALSE.
Hal ini akan
berguna untuk kasus-kasus tertentu, seperti contoh berikut:
<?php
$result = fopen($filename) or
exit();
?>
Fungsi exit()
dalam kode PHP tersebut (yang akan membuat program PHP berhenti diproses) tidak
akan dijalankan selama fopen($filename) bernilai true. Fungsi
short-circuit ini sering digunakan dalam contoh-contoh aplikasi PHP.
Dalam
tutorial ini kita telah mempelajari operator logika dalam PHP, untuk
selanjutnya kita akan membahas operator perbandingan.
Comments
Post a Comment