Operator PHP

Posted in Topik PHP Life at 04 Januari 2017 With 0 Comments

Operator adalah symbol yang digunakan untuk menjalankan sebuah operasi.

Operator pada PHP bisa dibagi menjadi beberapa kelompok:

  1. Arithmetic operator
  2. Assignment operator
  3. String operator
  4. Increment dan Decrement Operator
  5. Comparison operator
  6. Logical operator

Arithmetic operator

Arithmetic operator digunakan untuk melakukan operasi matematika.

OperatorPenjelasanContoh
+ tambah $a + $b
- kurang $a – $b
* kali $a * $b
/ bagi $a / $b
% modulus $a % $b

Penjelasan Arithmetic operator

Operator dan Operand

Misalkan saja sebuah operasi matematika sebagai berikut:

2 + 3

Dua buah angka dalam operasi matematika di atas (2 dan 3) disebut sebagai operand.

Sedangkan symbol [+] disebut sebagai operator.

Arithmetic operation

Arithmetic operation atau yang kita kenal dengan operasi matematika atau perhitungan matematika biasanya melibatkan beberapa angka, variable atau operator.

Sebuah operasi matematika bisa terjadi langsung antara dua buah angka sebagai berikut:

$a = 2 + 3;

Atau antara dua buah variable berisi angka sebagai berikut:

$c = $a + $b;

Atau sebuah operasi matematika bisa juga gabungan antara angka dan variable sebagai berikut:

$c = (2 + 3) * $a;

Contoh Arithmetic Operator

Berikut ini adalah contoh penggunaan arithmetic operator:

Operator [+] berguna untuk penambahan:

Code PHP 1:

<?php
$a = 2 + 3;
echo $a;
?>

Hasil code PHP 1:

5

Operator [-] berguna untuk pengurangan:

Code PHP 2:

<?php
$a = 5 - 3;
echo $a;
?>

Hasil code PHP 2:

2

Operator [*] berguna untuk perkalian:

Code PHP 3:

<?php
$a = 3 * 5;
echo $a;
?>

Hasil code PHP 3:

15

Operator [/] berguna untuk pembagian:

Code PHP 4:

<?php
$a = 10 / 2;
echo $a;
?>

Hasil code PHP 4:

5

Modulus operator [%] memiliki arti yaitu sisa pembagian.

Contoh 1, [6 % 3]. Karena 6 habis dibagi dengan 3 maka modulus perhitungan tersebut adalah angka 0.

Contoh 2, [5 % 2]. Pada perhitungan tersebut, 5 tidak habis dibagi dengan 2 dan menyisakan angka 1. Sisa angka 1 itulah yang disebut modulus.

Contoh 3, [17 % 5]. Pada perhitungan tersebut, 17 tidak habis dibagi dengan 5 dan menyisakan angka 2. Sisa angka 2 itulah yang disebut modulus.

Jadi sebuah bilangan harus habis dengan pembaginya. Kalau masih ada sisanya maka sisanya itulah yang disebut modulus.

Code PHP 5:

<?php
$a = 23 % 10;
echo $a;
?>

Hasil code PHP 5:

3

Operator Precedence

Operator precedence artinya adalah urutan operasi dalam sebuah operasi matematika. Lihat contoh berikut ini:

$a = 2 + 3 * 5;

Pada perhitungan di atas, bila 2 ditambah 3 terlebih dahulu baru dikali 5 maka hasilnya adalah 25.

Sedangkan bila 3 dikali 5 terlebih dahulu baru ditambah 2 maka hasilnya adalah 17.

Berdasarkan ilmu matematika, apabila ada kombinasi antara pertambahan (+), pengurangan (-), perkalian (*), dan pembagian (/) dalam sebuah perhitungan maka perkalian dan pembagian akan diutamakan terlebih dahulu.

Untuk menghilangkan kebingungan seperti ini, PHP memiliki operator precedence. Operator precedence artinya yaitu semua operator memiliki urutan eksekusi.

Selain berdasarkan urutan eksekusi, sebuah operator juga bisa dijalankan lebih awal dengan menggunakan symbol kurung ().

$a = (2 + 3) * 5;

Pada code di atas, hasilnya adalah 25.

Lihat contoh di bawah ini:

$a = 2 + (3 * 5);

Pada code di atas, hasilnya adalah 17.

Assignment operator

Assignment operator digunakan untuk memasukkan value ke dalam variable.

OperatorContohArti
= $a = 3 $a = 3
+= $a += 2 $a = $a + 2
-= $a -= 4 $a = $a – 4
*= $a *= 3 $a = $a * 3
/= $a /= 2 $a = $a / 2
%= $a %= 5 $a = $a % 5

Operator [=] memiliki arti memasukan value ke dalam sebuah variable:

Code PHP 6:

<?php
$a = 3;
echo $a;
?>

Hasil code PHP 6:

3

Pada contoh di atas, angka [3] dimasukkan ke dalam variable [$a] sehingga variable [$a] berisi angka [3]. Selanjutnya code [echo] digunakan untuk menampilkan isi dari variable [$a].

Operator [+=] memiliki arti menambahkan sebuah value ke dalam sebuah variable:

Code PHP 7:

<?php
$a = 2;
$a += 3;
echo $a;
?>

Hasil code PHP 7:

5

Pada contoh di atas, variable [$a] yang memiliki nilai awal [2] setelah ditambah dengan angka [3] menjadi memiliki nilai [5].

Operator [-=] memiliki arti mengurangi value dari variable:

Code PHP 8:

<?php
$a = 5;
$a -= 3;
echo $a;
?>

Hasil code PHP 8:

2

Operator [*=] memiliki arti melipatkan gandakan variable:

Code PHP 9:

<?php
$a = 3;
$a *= 2;
echo $a;
?>

Hasil code PHP 9:

6

Operator [/=] memiliki arti membagi variable:

Code PHP 10:

<?php
$a = 6;
$a /= 3;
echo $a;
?>

Hasil code PHP 10:

2

Operator [%=] memiliki arti modulus dari variable:

Code PHP 11:

<?php
$a = 10;
$a %= 5;
echo $a;
?>

Hasil code PHP 11:

0

String operator

String operator digunakan untuk menggabungkan string. Nama lain dari string operator adalah concatenation operator.

OperatorContohArti
. $a . $b $a . $b
.= $a .= $b $a = $a . $b

Code PHP 12:

<?php
$string_A = "Selamat";
$string_B = "Pagi!";
$string_C = $string_A . $string_B;
echo $string_C;
?>

Hasil code PHP 12:

SelamatPagi!

Pada contoh di atas, string langsung disambung tanpa ada spasi.

Untuk menyambung string dengan spasi, masukkan spasi ke dalam salah satu string:

Code PHP 13:

<?php
$string_A = "Selamat ";
$string_B = "Pagi!";
$string_C = $string_A . $string_B;
echo $string_C;
?>

Hasil code PHP 13:

Selamat Pagi!

Selain cara di atas untuk menambahkan spasi, bisa juga dengan menambahkan spasi sebagai string tersendiri di tengah kedua string yang ditambahkan:

Code PHP 14:

<?php
$string_A = "Selamat";
$string_B = "Pagi!";
$string_C = $string_A . " " . $string_B;
echo $string_C;
?>

Hasil code JavaScript 14:

Selamat Pagi!

Di bawah ini kita menggunakan operator [.=] untuk menambahkan string ke dalam string lainnya:

Code PHP 15:

<?php
$string_A = "Selamat ";
$string_A .= "Pagi!";
echo $string_A;
?>

Hasil code PHP 15:

Selamat Pagi!

Increment dan Decrement Operator

OperatorNamaArti
++$a Pre-increment Proses [$a = $a + 1], hasilkan $a
$a++ Post-increment Hasilkan $a, proses [$a = $a + 1]
--$a Pre-decrement Proses [$a = $a – 1], hasilkan $a
$a-- Post-decrement Hasilkan $a, proses [$a = $a – 1]

Operator [++$a] dan [$a++] memiliki arti yang sama, yaitu menambahkan variable $a dengan angka 1 atau [$a = $a + 1].

Namun ada perbedaan antara keduanya, yaitu waktu penambahan angka 1 tersebut (sebelum atau setelah code dijalankan).

Perhatikan contoh operator [++$a] berikut ini:

echo ++$a;

Code di atas artinya adalah memproses [$a = $a + 1] terlebih dahulu baru kemudian menampilkan nilai dari variable $a yang telah ditambah dengan angka 1 menggunakan code echo. Perhatikan perbedaannya dengan operator [$a++] berikut ini:

echo $a++;

Code di atas artinya adalah menampilkan nilai dari variable [$a] awal terlebih dahulu menggunakan code echo baru kemudian memproses [$a = $a + 1].

Berikut ini adalah contoh operator [++$a]:

Code PHP 16:

<?php
$a = 1;
echo ++$a . "<br />";
echo $a;
?>

Hasil code PHP 16:

2
2

Pada contoh di atas, pada code echo yang pertama, nilai variable [$a] sudah menjadi [2].

Berikut ini adalah contoh operator [$a++]:

Code PHP 17:

<?php
$a = 1;
echo $a++ . "<br />";
echo $a;
?>

Hasil code PHP 17:

1
2

Pada contoh di atas, pada code echo yang pertama, nilai variable [$a] masih [1].

Berikut ini adalah contoh operator [--$a]:

Code PHP 18:

<?php
$a = 1;
echo --$a . "<br />";
echo $a;
?>

Hasil code PHP 18:

0
0

Pada contoh di atas, pada code echo yang pertama, nilai variable [$a] sudah menjadi [0].

Berikut ini adalah contoh operator [$a--]:

Code PHP 19:

<?php
$a = 1;
echo $a-- . "<br />";
echo $a;
?>

Hasil code PHP 19:

1
0

Pada contoh di atas, pada code echo yang pertama, nilai variable [$a] masih [1].

Comparison Operator

Comparison Operator digunakan sebagai dasar dari boolean untuk memeriksa apakah sebuah conditional statement itu true (benar) atau false (salah).

Conditional statement adalah sebuah pernyataan yang digunakan untuk membandingkan dua buah value. Di dalam conditional statement terdapat comparison operator atau logical operator dan dua buah value.

Berikut ini adalah contoh dari conditional statement:

2 > 5

Pada code di atas terdapat dua buah value yaitu [2 dan 5] dan sebuah comparison operator yaitu [>]. Karena 2 lebih kecil daripada 5 maka conditional statement di atas salah sehingga hasil dari conditional statement di atas adalah false.

Berikut ini adalah daftar comparison operator:

OperatorPenjelasanContohHasil
== sama dengan 3 == 5 false
=== sama dengan dan sama jenis 3 === 5 false
!= tidak sama dengan 3 != 5 true
<> tidak sama dengan 3 <> 5 true
!== tidak sama dengan atau tidak sama jenis 3 !== 5 true
< lebih kecil dari 3 < 5 true
> lebih besar dari 3 > 5 false
<= lebih kecil atau sama dengan 3 <= 5 true
>= lebih besar dari atau sama dengan 3 >= 5 false

Berikut ini adalah contoh operator [==]:

Code PHP 20:

<?php
$a = 2;
$b = "2";

var_dump($a == $b);
?>

Hasil code PHP 20:

bool(true)

Pada contoh di atas hasilnya adalah [true] karena kedua buah value bisa dianggap sama walaupun berbeda jenis.

Berikut ini adalah contoh operator [===]:

Code PHP 21:

<?php
$a = 2;
$b = "2";

var_dump($a === $b);
?>

Hasil code PHP 21:

bool(false)

Pada contoh di atas hasilnya adalah [false] karena walaupun kedua buah value memiliki nilai yang sama namun jenisnya berbeda (variable [$a] berjenis number dan variable [$b] berjenis string).

Berikut ini adalah contoh operator [!=]:

Code PHP 22:

<?php
$a = 2;
$b = "2";

var_dump($a != $b);
?>

Hasil code PHP 22:

bool(false)

Berikut ini adalah contoh operator [<>]:

Code PHP 23:

<?php
$a = 2;
$b = "2";

var_dump($a <> $b);
?>

Hasil code PHP 23:

bool(false)

Berikut ini adalah contoh operator [!==]:

Code PHP 24:

<?php
$a = 2;
$b = "2";

var_dump($a !== $b);
?>

Hasil code PHP 24:

bool(true)

Berikut ini adalah contoh operator [<]:

Code PHP 25:

<?php
$a = 2;
$b = 3;

var_dump($a < $b);
?>

Hasil code PHP 25:

bool(true)

Pada code di atas hasilnya adalah [true] karena [2] lebih kecil dari [3].

Berikut ini adalah contoh operator [>]

Code PHP 26:

<?php
$a = 2;
$b = 3;

var_dump($a > $b);
?>

Hasil code PHP 26:

bool(false)

Berikut ini adalah contoh operator [<=]:

Code PHP 27:

<?php
$a = 2;
$b = 2;

var_dump($a <= $b);
?>

Hasil code PHP 27:

bool(true)

Berikut ini adalah contoh operator [>=]:

Code PHP 28:

<?php
$a = 2;
$b = 2;

var_dump($a >= $b);
?>

Hasil code PHP 28:

bool(true)

Comparison operator <, <=, >, >=, == bisa digunakan untuk membandingkan dua buah string. Contoh:

Code PHP 29:

<?php
$a = "a";
$b = "b";

var_dump($a < $b);
?>

Hasil code PHP 29:

bool(true)

Pada contoh di atas, huruf b lebih besar daripada huruf a karena operator < membandingkan string berdasarkan urutan huruf.

Jika comparison operator <, <=, >, >=, == membandingkan angka dan string maka string akan diubah menjadi angka. Contoh:

Code PHP 30:

<?php
$a = "2";
$b = 3;

var_dump($a < $b);
?>

Hasil code PHP 30:

bool(true)

Pada contoh di atas, string "2" diubah menjadi angka 2.

Pada saat membandingkan string dan angka, jika di dalam string tidak terdapat angka maka string tersebut akan diubah menjadi angka 0. Contoh:

Code PHP 31:

<?php
$a = "a";
$b = 3;

var_dump($a < $b);
?>

Hasil code PHP 31:

bool(true)

Logical Operator

OperatorPenjelasanContohHasil
&& dan (2 < 10 && 3 > 1) true
|| atau (2 == 5 || 3 == 5) false
! tidak !(2 == 3) true
and dan (2 < 10 && 3 > 1) true
or atau 2 == 5 or 3 == 5) false
xor bukan atau (2 < 10 && 3 > 1) false

Penjelasan operator [&&]

Operator [&&] berguna untuk membandingkan dua buah nilai boolean. Supaya menghasilkan [true] maka kedua nilai boolean yang dibandingkan harus [true]. Bila hanya salah satu saja yang [true] maka hasil dari operator [&&] adalah [false].

  • Perbandingan (true && true) adalah true.
  • Perbandingan (true && false) adalah false.
  • Perbandingan (false && false) adalah false.

Berikut ini adalah contoh operator [&&]:

Code PHP 32:

<?php
$a = 3;
$b = 5;

var_dump($a < 10 && $b > 1);
?>

Hasil code PHP 32:

bool(true)

Penjelasan operator [||]

Symbol pipa ini [|] bisa didapatkan dari tombol di atas tombol enter pada keyboard standar.

Operator [||] berguna untuk membandingkan dua buah nilai boolean. Supaya menghasilkan [true] maka cukup salah satu nilai boolean yang [true].

  • Perbandingan (true || true) adalah true.
  • Perbandingan (true || false) adalah true.
  • Perbandingan (false || false) adalah false.

Berikut ini adalah contoh operator [||]:

Code PHP 33:

<?php
$a = 3;
$b = 5;

var_dump($a < 10 || $b < 1);
?>

Hasil code PHP 33:

bool(true)

Penjelasan operator [!]

Operator [!] berguna untuk membalik nilai boolean yang ada.

Misalkan saja sebuah nilai boolean adalah [true] maka dengan operator [!] hasilnya adalah [false]. Sebaliknya, bila sebuah nilai boolean adalah [false] maka dengan operator [!] hasilnya adalah [true].

Berikut ini adalah contoh operator [!]:

Code PHP 34:

<?php
$a = 3;
$b = 5;

var_dump(!($a == $b));
?>

Hasil code PHP 34:

bool(true)

Penjelasan operator [and]

Operator [and] berguna untuk membandingkan dua buah nilai boolean. Supaya menghasilkan [true] maka kedua nilai boolean yang dibandingkan harus [true]. Bila hanya salah satu saja yang [true] maka hasil dari operator [and] adalah [false].

  • Perbandingan (true and true) adalah true.
  • Perbandingan (true and false) adalah false.
  • Perbandingan (false and false) adalah false.

Berikut ini adalah contoh operator [and]:

Code PHP 35:

<?php
$a = 3;
$b = 5;

var_dump($a < 10 and $b > 1);
?>

Hasil code PHP 35:

bool(true)

Penjelasan operator [or]

Operator [or] berguna untuk membandingkan dua buah nilai boolean. Supaya menghasilkan [true] maka cukup salah satu nilai boolean yang [true]:

  • Perbandingan (true or true) adalah true.
  • Perbandingan (true or false) adalah true.
  • Perbandingan (false or false) adalah false.

Berikut ini adalah contoh operator [or]:

Code PHP 36:

<?php
$a = 3;
$b = 5;

var_dump($a < 10 or $b < 1);
?>

Hasil code PHP 36:

bool(true)

Penjelasan operator [xor]

Operator [xor] berguna untuk membandingkan dua buah nilai boolean. Supaya menghasilkan [true] maka salah satu nilai boolean yang dibandingkan harus [true]. Bila kedua nilai boolean yang dibandingkan memiliki nilai [true] maka hasilnya adalah [false]:

  • Perbandingan (true xor true) adalah false.
  • Perbandingan (true xor false) adalah true.
  • Perbandingan (false xor false) adalah false.

Berikut ini adalah contoh operator [xor]:

Code PHP 37:

<?php
$a = 3;
$b = 5;

var_dump($a < 10 xor $b < 1);
?>

Hasil code PHP 37:

bool(true)

Perbedaan [&&] dan [and]

Perbedaan operator [&&] dan operator [and] sebenarnya hanya terletak pada operator precedence.

Operator precedence artinya yaitu semua operator memiliki urutan eksekusi. Lihat contoh berikut ini:

Code PHP 38:

<?php
$a = true;
$b = false;
$c = $a and $b;

var_dump($c);
?>

Hasil code PHP 38:

bool(true)

Berdasarkan penjelasan operator [and] seharusnya nilai dari variable [$c] di atas adalah [false]. Tetapi ternyata hasilnya adalah [true]. Mengapa?

Karena operator [=] memiliki urutan eksekusi yang lebih tinggi daripada operator [and] sehingga operator [=] dieksekusi terlebih dahulu daripada operator [and].

Untuk lebih jelasnya lihat code berikut yang berada di dalam symbol kurung:

($c = $a) and $b;

Code yang berada di dalam symbol kurung akan akan dieksekusi terlebih dahulu sehingga nilai variable [$c] akan sama dengan nilai variable [$a] yaitu [true].

Sebaliknya, bila kamu menggunakan operator [&&] untuk mengeksekusi code di atas maka hasilnya adalah [false]:

Code PHP 39:

<?php
$a = true;
$b = false;
$c = $a && $b;

var_dump($c);
?>

Hasil code PHP 39:

bool(false)

Hal yang sama juga terjadi pada operator [or] dan operator [||]. Operator [||] lebih diutamakan untuk dieksekusi daripada operator [or].

Diskusi



wa