Mengenal Jenis-Jenis Operator Pada PHP Part 1
Operator merupakan sebuah simbol dengan fungsi tertentu yang mengembalikan hasil operasi dari operand. Beberapa jenis operator mungkin sudah tidak asing bagi kita, seperti penjumlahan, pengurangan, perkalian, dan pembagian.
Berikut beberapa jenis operator dalam PHP:
Ternary Operator
Ternary Operator merupakan singkatan/shorthand dari conditional statement. Penulisan ternary operator menggunakan tanda ?:
sebagai pengganti if - else
.
Sintaks ternary operator
<?php
(Condition) ? (StatementWhenTrue) : (StatementWhenFalse);?>
Condition
merupakan expression yang memuat kondisi untuk menghasilkan nilai boolean berupatrue
danfalse
.StatementWhenTrue
berisi statement yang akan dieksekusi jikaCondition
terpenuhi (true
).StatementWhenFalse
berisi statement yang akan dieksekusi jikaCondition
tidak terpenuhi (false
) .
Mari kita perhatikan contoh penerapannya dalam kode berikut.
<?php $studentMark = 70; echo $studentMark >= 80 ? "LULUS" : "GAGAL"; // Output: GAGAL?>
$studentMark >= 80
merupakan Condition
untuk mengecek apakah nilai dari variabel $studentMark
bernilai lebih atau sama dengan 80. Jika Condition
terpenuhi, string “LULUS” akan dikembalikan operator ini untuk ditampilkan. Sebaliknya, string “GAGAL” akan ditampilkan. Pada contoh di atas, nilai dari $studentMark
adalah 70, sehingga string “GAGAL” ditampilkan.
Berikut kode conditional yang memiliki tujuan yang sama dengan kode sebelumnya.
<?php $studentMark = 70; if ($studentMark >= 80) { echo "LULUS"; } else { echo "GAGAL"; } // Output: GAGAL?>
Lebih mudah dan singkat menggunakan ternary operator, bukan?
Apakah kita masih dapat menggunakan ternary operator jika memiliki beberapa kondisi?
Ya, kita masih dapat menggunakan ternary operator untuk beberapa kondisi. Mari kita perhatikan contoh penerapan ternary operator berikut.
<?php $studentMark = 80; echo $studentMark > 80 ? "A" : ($studentMark >= 50 ? "B" : "C"); // Output: B?>
Kode di atas memiliki cara kerja yang sama dengan kode berikut.
<?php $studentMark = 80; if ($studentMark > 80) { echo "A"; } else { if ($studentMark >= 50) { echo "B"; } else { echo "C"; } } // Output: B?>
Jika jumlah kondisinya relatif sedikit, penggunaan ternary operator sangatlah efisien. Namun, apabila terdapat banyak kondisi yang dapat membingungkan, kita lebih disarankan menggunakan bentuk conditional (if-else
).
Kita juga dapat menerapkan ternary operator tanpa memberikan StatementWhenTrue
. Penulisan jenis ini bertujuan memberikan nilai default terhadap suatu variabel. Penulisan tersebut dikenal sebagai Elvis Operator. Jika kondisi terpenuhi (bernilai true
), nilai dari kondisi itu yang dikembalikan, sebaliknya nilai dari StatementWhenFalse
yang dikembalikan.
Mari kita perhatikan contoh berikut.
<?php $stringFive = '5'; $newNumber = $stringFive ?: 5; // $newNumber = $stringFive ? $stringFive : 5; var_dump($newNumber); # Output: string(1) "5" $newNumber = $integerFour ?: 4; // $newNumber = $integerFour ? $integerFour : 4; var_dump($newNumber); # Output: int(4)?>
Null Coalescing Operator
Null Coalescing(??
) merupakan gabungan dari ternary operator (?
) dan fungsi isset()
. Operator ini bertujuan untuk mengidentifikasi nilai suatu variabel. Jika variabel tersebut tidak memiliki nilai ataupun bernilai NULL
, statement setelah operator ??
akan dijalankan. Mari kita perhatikan contoh penerapannya.
<?php # Null Coalescing Operator $firstGuy = "Cristiano Ronaldo"; echo $firstGuy ?? "Anonymous"; echo $secondGuy ?? "Anonymous";?>
Kode di atas memiliki cara kerja yang sama dengan kode berikut.
<?php # Ternary Operator dan fungsi isset() $firstGuy = "Cristiano Ronaldo"; echo isset($firstGuy) ? $firstGuy : "Anonymous"; echo isset($secondGuy) ? $secondGuy : "Anonymous";?>
Variabel $firstGuy
diidentifikasi terlebih dahulu apakah memiliki nilai dan bukan NULL
. Jika terpenuhi, nilai variabel $firstGuy
yang dikembalikan operator. Sebaliknya, string “Anonymous” yang dikembalikan. Hasil kembalian operator ini yang akan ditampilkan. Demikian juga cara kerja operator ini pada variabel $secondGuy
. Hasil output dari kedua kode di atas adalah:
Cristiano Ronaldo
Anonymous
Spaceship Operator
Spaceship Operator (<=>
) dikenal sebagai three-way comparison operator yang bertujuan untuk membandingkan dua variabel. Operator ini dapat diterapkan pada nilai bertipe data integer, float, string, array, dan object. Operator ini disediakan mulai dari PHP 7.
Terdapat beberapa hasil kembalian dari spaceship operator, antara lain:
- Mengembalikan nilai
0
jika variabel sebelah kiri dari operator dan variabel sisi kanan sama besar. - Mengembalikan nilai
1
jika variabel sebelah kiri dari operator lebih besar dari variabel sisi kanan. - Mengembalikan nilai
-1
jika variabel sebelah kiri dari operator lebih kecil dari variabel sisi kanan.
Agar lebih mengerti spaceship operator, mari kita perhatikan contoh berikut.
<?php $one = 1; $two = 2; $three = 3; $stringOne = '1'; echo $one <=> $two; // Output: -1 echo $three <=> $one; // Output: 1 echo $one <=> $one; // Output: 0 echo $stringOne <=> $one; // Output: 0?>
Execution Operator
Execution Operator merupakan operator yang digunakan untuk menulis perintah yang dijalankan pada shell dan mengembalikan hasil eksekusi dari perintah tersebut. Operator ini dijalankan dengan tanda backtick (` `
) ataupun dengan perintah shell_exec()
. Mari kita perhatikan contoh penerapannya.
<?php $npmVersion = `npm -v`; $nodeVersion = shell_exec('node -v'); echo $npmVersion; // Output: 6.14.4 echo $nodeVersion; // Output: v12.17.0?>
Hasil kode di atas hanyalah contoh yang dapat berbeda tergantung node dan npm yang ter-install pada perangkat.
Increment & Decrement
Increment dan Decrement merupakan operator matematis yang digunakan untuk menambah dan mengurangi variabel angka dengan nilai 1. Penambahan dan pengurangan dapat diterapkan di awal (pre-increment dan pre-decrement), juga dapat diterapkan di akhir (post-increment dan post-decrement).
Operator increment ditandai dengan ++
dan operator decrement ditandai dengan --
. Mari kita perhatikan contoh penerapannya pada kode-kode berikut.
<?php $number = 10; // Pre-Increment // Nilai $number ditambah 1, kemudian ditampilkan echo ++$number; # Output: 11 // Post-Increment // Nilai $number ditampilkan, kemudian ditambah 1 echo $number++; # Output: 11 echo $number; # Output: 12 // Pre-Decrement // Nilai $number dikurang 1, kemudian ditampilkan echo --$number; # Output: 11 // Post-Decrement // Nilai $number ditampilkan, kemudian dikurang 1 echo $number--; # Output: 11 echo $number; # Output: 10?>
Logical Operator
Logical Operator merupakan operator yang berfungsi untuk membandingkan kondisi logika tertentu. Hasil yang dikembalikan adalah nilai dengan tipe data boolean. Terdapat beberapa logical operator, antara lain:
AND - &&
Operator logika AND
/&&
merupakan operator yang hanya akan mengembalikan nilai kebenaran true
jika kondisi logika kedua sisi memiliki nilai kebenaran true
. Untuk lebih rinci, mari kita perhatikan tabel kebenaran logika berikut.
Kondisi-1 | Kondisi-2 | Hasil |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Mari kita perhatikan contoh penerapannya pada kode berikut.
<?php $andrewMoney = 80; $rabeccaMoney = 90; if ($andrewMoney < $rabeccaMoney && $rabeccaMoney === 80) { echo "They are rich"; // jika true } else { echo "They're not rich"; // jika false }?>
Kita juga dapat menggantikan tanda &&
dengan keyword AND
. Perhatikan contoh berikut.
<?php $andrewMoney = 80; $rabeccaMoney = 90; if ($andrewMoney < $rabeccaMoney AND $rabeccaMoney === 80) { echo "They are rich"; // jika true } else { echo "They're not rich"; // jika false }?>
Kedua kode di atas akan menjalankan proses yang sama dan menghasilkan output yang sama pula, berupa:
They're not rich
Mengapa hasilnya
They're not rich
?
$andrewMoney < $rabeccaMoney
bernilai true
, karena 80 < 90
merupakan pernyataan logika yang benar.$rabeccaMoney === 80
bernilai false
, karena 90 === 80
bukanlah pernyataan logika yang benar.Menurut tabel kebenaran, ketika salah satu kondisi bernilai false
untuk operator AND
/&&
, operator ini akan mengembalikan nilai false
. Sehingga, blok else
akan dieksekusi.
OR - ||
Operator logika OR
/||
merupakan operator yang hanya akan mengembalikan nilai kebenaran false
jika kondisi logika kedua sisi memiliki nilai kebenaran false
. Untuk lebih rinci, mari kita perhatikan tabel kebenaran logika berikut.
Kondisi-1 | Kondisi-2 | Hasil |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
Mari kita perhatikan contoh penerapan operator ini.
<?php $andrewMoney = 80; $rabeccaMoney = 90; if ($andrewMoney < $rabeccaMoney || $rabeccaMoney === 80) { echo "They are rich"; // jika true } else { echo "They're not rich"; // jika false }?>
Tanda ||
dapat juga kita gantikan dengan keyword OR
. Perhatikan contoh kode berikut.
<?php $andrewMoney = 80; $rabeccaMoney = 90; if ($andrewMoney < $rabeccaMoney OR $rabeccaMoney === 80) { echo "They are rich"; // jika true } else { echo "They're not rich"; // jika false }?>
Hasil output kedua kode di atas adalah sebagai berikut.
They are rich
Mengapa output kode tersebut
They are rich
?
$andrewMoney < $rabeccaMoney
bernilai true
, karena 80 < 90
merupakan pernyataan logika yang benar.$rabeccaMoney === 80
bernilai false
, karena 90 === 80
bukanlah pernyataan logika yang benar.Oleh karena itu, hasil kembalian dari operator ini adalah true
sebab kedua sisi kondisi operator ini tidak bernilai false
. Sehingga, blok if
akan dieksekusi.
XOR
Operator XOR
akan mengembalikan nilai true
jika hanya salah satu dari kondisi operator bernilai true
. Selain dari kondisi tersebut, operator akan mengembalikan nilai false
. Untuk lebih rinci, mari kita perhatikan tabel kebenaran logika XOR
berikut.
Kondisi-1 | Kondisi-2 | Hasil |
---|---|---|
true | true | false |
true | false | true |
false | true | true |
false | false | false |
Mari kita perhatikan contoh penerapan XOR
pada kode berikut.
<?php $andrewMoney = 80; $rabeccaMoney = 90; if ($andrewMoney < $rabeccaMoney XOR $rabeccaMoney === 90) { echo "They are rich"; // jika true } else { echo "They're not rich"; // jika false }?>
Hasil output dari kode tersebut adalah:
They're not rich
Mengapa blok
else
yang dieksekusi? Mari kita simak penjelasan berikut.
$andrewMoney < $rabeccaMoney
bernilai true
, karena 80 < 90
merupakan pernyataan logika yang benar.$rabeccaMoney === 90
bernilai true
, karena 90 === 90
adalah pernyataan logika yang benar.Karena kedua sisi kondisi bernilai true
, operator XOR
mengembalikan nilai false
. Sehingga, blok else
akan dieksekusi.
NOT
Operator NOT
merupakan negasi yang berfungsi mengembalikan kebalikan nilai kebenaran yang dilekati operator ini. Operator ini menggunakan tanda !
. Jika nilai yang dilekati bernilai true
, operator ini akan mengembalikan nilai false
, begitu juga sebaliknya. Untuk lebih mengerti tentang operator ini, mari kita perhatikan contoh berikut.
<?php $booleanValue = true; if (!$booleanValue) { echo "Negasi dari false adalah true."; // jika true } else { echo "Negasi dari true adalah false."; // jika false }?>
Hasil output dari kode tersebut adalah sebagai berikut.
Negasi dari true adalah false.
Karena nilai dari variabel $booleanValue
adalah true
, hasil negasi nilai tersebut menjadi false
. Sehingga, blok else
akan dieksekusi.
String Operator
String Operator merupakan operator yang digunakan untuk menggabungkan dua buah string. Operator ini memanfaatkan tanda .
yang dapat digunakan berulang kali untuk menggabungkan banyak string. Kita juga dapat menggunakan .=
sebagai pengganti dari assignment operator string. Operator ini diimplementasi pada string concatenation. Untuk lebih mengerti tentang operator ini, mari kita perhatikan contoh berikut.
<?php $hello = "Hello"; $world = " World"; echo $hello . $world . " adalah nama program komputer pertama kali saat memulai pemrograman."; $hello .= " World"; // $hello = $hello . " World" echo $hello . "!!!";?>
Hello World adalah nama program komputer pertama kali saat memulai pemrograman.
Hello World!!!Lanjut Part 2 ==> Mengenal Jenis-Jenis Operator Pada PHP Part 2
Posting Komentar untuk "Mengenal Jenis-Jenis Operator Pada PHP Part 1"