loading...
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

Popular Posts