Tutorial ini adalah tutorial ke-3 dari seri Tutorial PHP Dasar. Pada tutorial sebelumnya kita telah membahas tentang tipe data dan variabel dalam PHP. Pada pertemuan ini, kita akan membahas tentang macam-macam operator dan contoh penggunaannya dalam PHP.
Apa itu Operator?
Kita telah mengerti apa itu variabel dengan berbagai macam tipe datanya. Akan tetapi variabel saja tanpa adanya sentuhan lain, itu kurang bermanfaat.
Kita bisa memanipulasi variabel dengan berbagai cara menggunakan operator. Operator berfungsi untuk berinteraksi dengan variabel, seperti misalnya menambahkan 2 variabel integer
, atau mengalikan satu variabel dengan variabel lainnya. Semua itu membutuhkan penggunaan operator.
Di dalam PHP, terdapat berbagai macam operator yang bisa kita gunakan. Kita akan membahas beberapa operator yang paling dasar di dalam PHP dan juga bagaimana cara penggunaannya.
Operator Aritmatika
Operator aritmatika adalah operator untuk menghitung operasi matematika dasar. Mulai dari:
- penjumlahan (
+
) - pengurangan (
-
) - perkalian (
*
) - dan pembagian (
/
).
Bentuk paling sederhananya, ekspresi aritmatika terdiri dari dua buah operan dan satu buah operator. Misalnya kita akan menjumlah kan angka 10 dan angka 5, kita bisa menulisnya seperti berikut:
<?php
$a = 10 + 5;
Tidak hanya 2 operan seperti contoh di atas. Di dalam PHP, kita juga bisa mendefinisikan ekpsresi aritmatika yang lebih kompleks. Misalnya:
<?php
$a = (10 + (-3 * 5)) / 3;
Operator Aritmatika Tambahan
Selain operator aritmatika dasar yang telah disebutkan di atas, masih ada operator aritmatika lainnya di dalam PHP. Operator tersebut adalah:
- modulus dengan simbol
%
- eksponensial dengan simbol
**
- dan yang terakhir adalah negasi dengan simbol
-
sebelum nama variabel-nya.
Perhatikan dan praktikkan kode program di bawah ini:
<?php
$a = 5;
$b = 10;
# operator aritmatika standar
echo "{$a} + {$b} = " . ($a + $b) . " <br>";
echo "{$a} - {$b} = " . ($a - $b) . " <br>";
echo "{$a} * {$b} = " . ($a * $b) . " <br>";
echo "{$a} / {$b} = " . ($a / $b) . " <br>";
# modulus
echo "{$a} % {$b} = " . ($a % $b) . " <br>";
# eksponensial
echo "{$a} ** {$b} = " . ($a ** $b) . " <br>";
# negasi
echo "-a = " . (-$a) . " <br>";
Kode program di atas akan menghasilkan output sebagai berikut:
5 + 10 = 15
5 - 10 = -5
5 * 10 = 50
5 / 10 = 0.5
5 % 10 = 5
5 ** 10 = 9765625
-a = -5
Operator Penugasan (Assignment)
Operator penugasan atau assignment adalah operator yang berfungsi untuk memberi nilai kepada suatu variabel. Nilai tersebut bisa berupa nilai tunggal yang sudah jelas, atau juga bisa nilai yang berupa hasil dari suatu ekspresi tertentu; misal ekspresi aritmatika atau juga ekspresi logika.
Operator penugasan dalam PHP adalah operator =
. Kita telah menggunakan operator tersebut sejak awal ketika mulai membuat variabel di dalam PHP.
Perhatikan dan praktikkan kode program di bawah:
<?php
$nilaiMatematika = 8;
$rataRata = (10 + 7 + $nilaiMatematika) / 3;
$namaDepan = "Nurul";
$namaLengkap = "{$namaDepan} Huda";
$a = 5;
$a += 10; # sama dengan $a = $a + 10;
echo var_dump($a) . "<br>";
$a -= 20; # sama dengan $a = $a - 20;
echo var_dump($a) . "<br>";
$a *= 100; # sama dengan $a = $a * 100;
echo var_dump($a) . "<br>";
$a /= 10; # sama dengan $a = $a / 10;
echo var_dump($a) . "<br>";
Kode program di atas akan menghasilkan output:
int(15)
int(-5)
int(-500)
int(-50)
Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan antara dua nilai. Hasil yang didapatkan dari operator perbandingan adalah suatu nilai dengan tipe data boolean
, yaitu true
atau false
.
Jika pernyataan perbandingannya benar, nilai yang dikembalikan adalah true
. Dan jika pernyataan perbandingannya salah, nilai yang akan didapatkan pun menjadi false
.
Berikut adalah operator perbandingan yang bisa kita gunakan dalam PHP:
Simbol | Keterangan |
---|---|
> |
Lebih dari |
>= |
Lebih dari atau sama dengan |
< |
Kurang dari |
<= |
Kurang dari atau sama dengan |
Berikut ini contoh penggunaan operator perbandingan pada PHP. Silakan dipraktikkan agar bisa lebih paham.
<?php
$nilai = 90;
# membanding variabel
$lulus = $nilai > 80;
echo "{$nilai} > 80 = ";
var_dump($lulus);
echo "<br>";
# membandingkan langsung angka
echo "3 >= 3 = ";
var_dump(3 >= 3);
echo "<br>";
echo "3 < 6 = ";
var_dump(3 < 6);
echo "<br>";
echo "5 <= 3 = ";
var_dump(5 <= 3);
echo "<br>";
# anda juga bisa membandingkan antar 2 string
echo "'a' < 'b' = ";
var_dump('a' < 'b');
echo '<br>';
echo "'abc' < 'b' = ";
var_dump('abc' < 'b');
echo '<br>';
Output:
90 > 80 = bool(true)
3 >= 3 = bool(true)
3 < 6 = bool(true)
5 <= 3 = bool(false)
'a' < 'b' = bool(true)
'abc' < 'b' = bool(true)
Perbandingan Equal dan Identik
Dalam PHP, selain perbandingan seperti di atas. Kita juga bisa menggunakan perbandingan equal dan juga identik. Perbandingan equal tidak memperdulikan tipe data sehingga ia menganggap sama antara 10
dan "10"
. Sedangkan perbandingan yang bersifat identik, ia menganggap penting tipe data sehingga dua nilai akan dikatakan sama jika dia sama dari sisi nilai dan sama dari sisi tipe datanya.
Simbol | Keterangan |
---|---|
== |
sama secara equal |
=== |
sama secara identik |
!= |
tidak sama secara equal |
!== |
tidak sama secara identik |
<> |
sama dengan operator != |
Berikut ini kode program yang harus anda praktikkan agar lebih mudah memahami perbedaan antara operator perbandingan ==
dan ===
atau antara operator !=
dan !==
.
<?php
var_dump(10 == "10");
echo "<br>";
var_dump(10 === "10");
echo "<br>";
var_dump(10 === 10);
echo "<br>";
var_dump(10 != "10");
echo "<br>";
var_dump(10 !== "10");
echo "<br>";
var_dump(10 <> "10");
echo "<br>";
Output:
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
Operator Logika
Operator logika membutuhkan dua operan dan satu operator. Operator yang paling sering digunakan adalah operator and (&&
/ and
), operator or (||
/ or
) dan operator negasi atau not (!
).
Operator | Simbol | Keterangan |
---|---|---|
and | && atau and |
akan bernilai true jika kedua operan bernilai true . |
or | ` | |
negasi | ! |
akan membalik yang true menjadi false dan yang false menjadi true . |
<?php
$a = true && true; # true
$b = true and false; # false
$c = false && false; # false
$d = true || false; # false
# ekspresi berikut akan diselesaikan dari kiri ke kanan
$e = true && false && false;
# ekspresi yang berada di dalam kurung diselesaikan terlebih dahulu
$f = "a" === "a" && ((3 > 5) or 3 + 5 >= 7);
# negasi
$g = !true;
$h = !(true && !false);
# var_dump semua variabel di atas untuk melihat hasilnya
var_dump($a); echo "<br>";
var_dump($b); echo "<br>";
var_dump($c); echo "<br>";
var_dump($d); echo "<br>";
var_dump($e); echo "<br>";
var_dump($f); echo "<br>";
var_dump($g); echo "<br>";
var_dump($h); echo "<br>";
Output:
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
Operator Increment dan Decrement
Operator increment (++
) atau decrement (--
) adalah jalan pintas dari operator +=
atau -=
yang telah berlalu penjelasannya pada bagian operator penugasan. Dan kedua operator tersebut hanya berfungsi pada variabel saja.
Anda bisa mencoba kode program di bawah agar lebih jelas bagaimana cara kerja kedua operator tersebut:
<?php
/**
* Increment
*/
$a = 1;
echo "a = {$a} <br>";
$a++;
echo "a = {$a} <br>";
$a++;
echo "a = {$a} <br>";
# isi dari variabel $a dimasukkan lebih dulu ke variabel $b
# lalu variabel $a menambah dirinya sendiri dengan angka 1
$b = $a++;
echo "b = {$b} <br>";
echo "a = {$a} <br>";
/**
* Decrement
*/
$a--;
echo "a = {$a} <br>";
$a--;
echo "a = {$a} <br>";
# isi dari variabel $a dimasukkan lebih dulu ke variabel $b
# lalu variabel $a mengurangi dirinya sendiri dengan angka 1
$b = $a--;
echo "b = {$b} <br>";
echo "a = {$a} <br>";
Anda juga bisa menaruh operator tersebut sebelum nama variabel:
<?php
$a = 5;
--$a;
# variabel $a menambah dirinya sendiri dengan angka 1
# lalu hasil terbaru tersebut akan dimasukkan ke variabel $b
$b = --$a;
# begitu juga yang $c.
$c = ++$b;
Hasil Akhir
Hasil akhir dari tutorial ini bisa anda lihat pada kode program di bawah:
Kode program operator.php
<!DOCTYPE html>
<html>
<head>
<title>Operator</title>
</head>
<body>
<h1>Belajar Operator PHP</h1>
<h2>Operator Aritmatika</h2>
<?php
$a = 5;
$b = 10;
# operator aritmatika standar
echo "{$a} + {$b} = " . ($a + $b) . " <br>";
echo "{$a} - {$b} = " . ($a - $b) . " <br>";
echo "{$a} * {$b} = " . ($a * $b) . " <br>";
echo "{$a} / {$b} = " . ($a / $b) . " <br>";
# modulus
echo "{$a} % {$b} = " . ($a % $b) . " <br>";
# eksponensial
echo "{$a} ** {$b} = " . ($a ** $b) . " <br>";
# negasi
echo "-a = " . (-$a) . " <br>";
?>
<h2>Operator Penugasan</h2>
<?php
$nilaiMatematika = 8;
$rataRata = (10 + 7 + $nilaiMatematika) / 3;
$namaDepan = "Nurul";
$namaLengkap = "{$namaDepan} Huda";
$a = 5;
$a += 10; # sama dengan $a = $a + 10;
echo var_dump($a) . "<br>";
$a -= 20; # sama dengan $a = $a - 20;
echo var_dump($a) . "<br>";
$a *= 100; # sama dengan $a = $a * 100;
echo var_dump($a) . "<br>";
$a /= 10; # sama dengan $a = $a / 10;
echo var_dump($a) . "<br>";
?>
<h2>Operator Perbandingan</h2>
<?php
$nilai = 90;
# membanding variabel
$lulus = $nilai > 80;
echo "{$nilai} > 80 = ";
var_dump($lulus);
echo "<br>";
# membandingkan langsung angka
echo "3 >= 3 = ";
var_dump(3 >= 3);
echo "<br>";
echo "3 < 6 = ";
var_dump(3 < 6);
echo "<br>";
echo "5 <= 3 = ";
var_dump(5 <= 3);
echo "<br>";
# anda juga bisa membandingkan antar 2 string
echo "'a' < 'b' = ";
var_dump('a' < 'b');
echo '<br>';
echo "'abc' < 'b' = ";
var_dump('abc' < 'b');
echo '<br>';
?>
<h2>Operator Perbandingan Equal dan Identik</h2>
<?php
var_dump(10 == "10");
echo "<br>";
var_dump(10 === "10");
echo "<br>";
var_dump(10 === 10);
echo "<br>";
var_dump(10 != "10");
echo "<br>";
var_dump(10 !== "10");
echo "<br>";
var_dump(10 <> "10");
echo "<br>";
?>
<h2>Operator Logika</h2>
<?php
$a = true && true; # -> true
$b = true and false; # -> false
$c = false && false; # -> false
$d = true || false; # -> false
# ekspresi berikut akan diselesaikan dari kiri ke kanan
$e = true && false && false;
# ekspresi yang berada di dalam kurung diselesaikan lebih dulu
$f = "a" === "a" && ((3 > 5) or 3 + 5 >= 7);
$g = !true;
$h = !(true && !false);
# var_dump semua variabel di atas untuk melihat hasilnya
var_dump($a); echo "<br>";
var_dump($b); echo "<br>";
var_dump($c); echo "<br>";
var_dump($d); echo "<br>";
var_dump($e); echo "<br>";
var_dump($f); echo "<br>";
var_dump($g); echo "<br>";
var_dump($h); echo "<br>";
?>
<h2>Operator Increment dan Decrement</h2>
<?php
/**
* Increment
*/
$a = 1;
echo "a = {$a} <br>";
$a++;
echo "a = {$a} <br>";
$a++;
echo "a = {$a} <br>";
# isi dari variabel $a dimasukkan lebih dulu ke variabel $b
# lalu variabel $a menambah dirinya sendiri dengan angka 1
$b = $a++;
echo "b = {$b} <br>";
echo "a = {$a} <br>";
/**
* Decrement
*/
$a--;
echo "a = {$a} <br>";
$a--;
echo "a = {$a} <br>";
$b = $a--;
echo "b = {$b} <br>";
echo "a = {$a} <br>";
$a = 5;
--$a;
# variabel $a menambah dirinya sendiri dengan angka 1
# lalu hasil terbaru tersebut akan dimasukkan ke variabel $b
$b = --$a;
# begitu juga yang $c.
$c = ++$b;
?>
</body>
</html>
Hasil tangkapan layar
Ketika file operator.php
saya eksekusi, berikut ini adalah output yang saya dapatkan:
Pembahasan Selanjutnya
Sampai disini, kita telah belajar tentang php file, variabel dan tipe data, macam-macam operator.
Dan pada tutorial selanjutnya, kita akan mempelajari salah satu struktur kontrol pada PHP, yaitu: Logika Percabangan dan Macam-Macamnya.
Jangan lupa bagikan tutorial ini kepada teman-temanmu, ya!
Terima kasih banyak.