Operator Aritmatika pada PHP

Terdapat beberapa jenis operator pada PHP. Antara lain

  • Operator aritmatika, (+, -, *, /, %, ++, --)
  • Operator penugasan, (=, +=, -=, *=. /=, %=)
  • Operator pembanding, (>, <, >=, <=, ==, !=, ===, !==)
  • Operator logika, (!, &&, ||)
  • Operator penyambung string, (., .=)

Topik ini hanya membahas operator aritmatika dan penugasan. Untuk operator pembanding dan operator logika, akan dibahas pada topik pada percabangan if else, sedangkan operator penyambung string telah dibahas pada topik sebelumnya.

Pada topik-topik sebelumnya, sudah terdapat beberapa contoh penggunaan operator Aritmatika pada PHP. Seperti namanya, operator aritmatika berguna untuk perhitungan. Berikut daftar operator aritmatika pada PHP:

Misalkan $a = 8, $b = 5, maka

Operator Keterangan Contoh Hasil
+ Penjumlahan $a + $b 13
- Pengurangan $b - $a -3
* Perkalian $a * $b 40
/ Pembagian $a / $b 1.6
% Modulus/Sisa bagi $a % $b 3
++ Increment $a++ 9
-- Decrement $b-- 4

Berikut di bawah ini adalah contoh sederhana pemakaian operator +, -, *, dan / pada PHP:

<?php
$a = 25;
$b = 6;
$c = $a + $b;
echo "$a ditambah $b hasilnya $c<br />";
$c = $a - $b;
echo "$a dikurang $b hasilnya $c<br />";
$c = $a * $b;
echo "$a dikali $b hasilnya $c<br />";
$c = $a / $b;
echo "$a dibagi $b hasilnya $c<br />";
$c = $a % $b;
echo "$a dibagi $b sisanya $c<br />";
echo "Di akhir program, a=$a, b=$b, c=$c";
?>

Output:

25 ditambah 6 hasilnya 31
25 dikurang 6 hasilnya 19
25 dikali 6 hasilnya 150
25 dibagi 6 hasilnya 4.1666666666667
25 dibagi 6 sisanya 1
Di akhir program, a=25, b=6, c=1

Perlu diketahui bahwa pada contoh di atas, $a dan $b pada akhir program itu, nilainya masih tetap 25 dan 6. Yang berubah hanya isi variabel $c.

Operator penugasan pada PHP

Operator penugasan (=) berfungsi untuk memberi nilai pada suatu variabel. Seperti pada contoh di atas, pada perintah $c = $a + $b; , operator = memasukkan hasil dari $a + $b ke $c. Pada PHP, sama seperti pada bahasa C, terdapat juga gabungan operator penugasan dengan operator aritmatika:

Misalkan $a nilainya 20

Operator Keterangan Contoh Hasil
+= Menambahkan dan menugaskan $a += 30 50
-= Mengurangkan dan menugaskan $a -= 15 5
*= Mengalikan dan menugaskan $a *= 5 100
/= Membagi dan menugaskan $a /= 4 5
%= Menugaskan sisa bagi $a %= 3 2

Perintah $a += 30; hasilnya sama dengan $a = $a + 30;. Yaitu nilai $a ditambahkan 30 dan hasilnya dimasukkan ke $a. Berikut contoh penggunaan operator gabungan:

<?php
$a = 20;
echo "a bernilai $a ditambah 30 = ".($a+=30)."<br />";
echo "a sekarang $a kemudian dikurangi 20 = ".($a-=20)."<br />";
echo "a sekarang $a dikalikan 3 = ".($a*=3)."<br />";
echo "a sekarang $a dibagi 5 = ".($a/=5)."<br />";
echo "a sekarang $a dibagi 4 sisanya = ".($a%=4)."<br />";
echo "nilai a terakhir: $a";
?>

Output:

a bernilai 20 ditambah 30 = 50
a sekarang 50 kemudian dikurangi 20 = 30
a sekarang 30 dikalikan 3 = 90
a sekarang 90 dibagi 5 = 18
a sekarang 18 dibagi 4 sisanya = 2
nilai a terakhir: 2

Operator Increment dan Decrement pada PHP

Operator increment menambahkan 1 ke suatu variabel. Sebaliknya operator decrement mengurangkan 1 dari suatu variabel. Misalkan nilai $a adalah 7. Maka setelah perintah $a++;, nilai $a menjadi 8. Dan variabel $b adalah 12. Maka setelah perintah $b--;, nilai $b akan menjadi 11.

Operator increment dan decrement dapat diletakkan di depan atau di belakang variabel. Terdapat sedikit perbedaan bila increment dan decrement diletakkan di belakang atau di depan. Seperti dapat dilihat pada contoh berikut:

<?php
$a = 15;
echo "<b>Bila a++ di luar echo</b><br />";
echo "a=$a ditambah 1 ";
$a++;
echo "menjadi $a <br /><br />";
//Tetapi bila $a++ berada di dalam echo
echo "<b>Bila a++ di dalam echo</b><br />";
echo "a=$a, nilai a++ di dalam echo: ";
echo $a++;
echo "<br />";
echo "Tetapi sesudahnya menjadi $a<br /><br />";
//Bila ++$a, maka nilai $a ditambahkan dulu baru dipakai
echo "<b>Bila ++a di dalam echo</b><br />";
echo "a=$a, nilai ++a di dalam echo: ";
echo ++$a;
echo "<br />";
echo "Nilai a sesudah pernyataan tetap $a";
?>

Output:

Bila a++ di luar echo
a=15 ditambah 1 menjadi 16 

Bila a++ di dalam echo
a=16, nilai a++ di dalam echo: 16
Tetapi sesudahnya menjadi 17

Bila ++a di dalam echo
a=17, nilai ++a di dalam echo: 18
Nilai a sesudah pernyataan tetap 18