Panduan Lengkap Operator PHP: Aritmatika, Logika, dan Perbandingan (Part 4)
Rifqi An
Halo, para pejuang keyboard dan mouse di seluruh Nusantara! Balik lagi nih bareng mimin yang siap nemenin kalian menyelami samudra PHP yang tak berujung. Setelah kemarin kita udah seru-seruan bahas variabel, tipe data, dan struktur dasar PHP, sekarang waktunya kita upgrade skill ngoding ke level berikutnya! Siap-siap, karena di artikel ini, kita bakal bongkar tuntas otak di balik setiap logika program: Operator PHP! Nggak cuma aritmatika yang gitu-gitu aja, tapi juga operator logika yang bikin program kalian bisa "mikiiir" dan operator perbandingan yang jago banget bikin keputusan. Penasaran gimana caranya bikin kode kalian jadi lebih cerdas? Yuk, scroll terus ke bawah!
Daftar Isi
- Pendahuluan: Siap Ngoding Lebih Cerdas Bareng PHP!
- Operator Aritmatika: Kalkulator Pribadi Programmer
- Operator Perbandingan: Si Detektif Pencari Kebenaran
- Operator Logika: Otaknya Algoritma, Bikin Keputusan Cerdas!
- Prioritas Operator: Siapa Duluan yang Dieksekusi?
- Latihan Ngoding Receh: Drama Kopi dan Deadline!
Pendahuluan: Siap Ngoding Lebih Cerdas Bareng PHP!
Oke, guys, kalau diibaratkan, variabel itu adalah wadah buat data, tipe data itu jenis datanya, dan struktur dasar itu kerangka rumahnya. Nah, Operator PHP ini adalah perkakas dan juga cara kerja si tukang bangunan buat bikin rumah itu jadi fungsional! Mau ngitung total belanjaan? Butuh operator aritmatika. Mau ngecek apakah password yang dimasukkan user itu sama dengan yang di database? Perbandingan jagonya. Mau nentuin user boleh akses fitur tertentu kalau dia udah login DAN udah verifikasi email? Operator logika jawabannya!
Singkatnya, tanpa operator, kode kita cuma jadi tumpukan teks doang yang nggak bisa ngapa-ngapain. Makanya, penting banget buat kita paham betul gimana caranya menggunakan mereka. Udah siap ngopi? Yuk, kita mulai petualangan di dunia operator PHP!
Operator Aritmatika: Kalkulator Pribadi Programmer
Ini nih operator yang paling gampang dicerna buat kita-kita yang udah akrab sama matematika dari SD. Fungsinya ya buat operasi hitung-hitungan biasa. Tapi jangan salah, di balik kesederhanaannya, operator ini sering jadi tulang punggung fitur-fitur penting lho!
Ada apa aja sih operator aritmatika di PHP? Ini dia daftarnya:
+(Penjumlahan)-(Pengurangan)*(Perkalian)/(Pembagian)%(Modulus - Sisa Bagi)**(Pangkat / Exponentiation - PHP 5.6+)
Bingung sama modulus atau pangkat? Tenang, mimin kasih contoh kodenya biar langsung nyantol!
<?php
$hargaBuku = 50000;
$jumlahBuku = 3;
$diskon = 10000;
// Penjumlahan & Pengurangan
$totalBayar = ($hargaBuku * $jumlahBuku) - $diskon;
echo "Total yang harus dibayar: " . $totalBayar . "<br>"; // Output: 140000
// Pembagian
$rataRataPerBuku = $totalBayar / $jumlahBuku;
echo "Rata-rata harga per buku setelah diskon: " . $rataRataPerBuku . "<br>"; // Output: 46666.666...
// Modulus (Sisa Bagi) - Sering dipakai buat ngecek bilangan ganjil/genap
$uangSaku = 100000;
$hargaGame = 30000;
$sisaUang = $uangSaku % $hargaGame;
echo "Sisa uang setelah beli game: " . $sisaUang . "<br>"; // Output: 10000 (100000 / 30000 = 3 sisa 10000)
// Pangkat (Exponentiation)
$basis = 2;
$eksponen = 3;
$hasilPangkat = $basis ** $eksponen; // Ini sama kayak 2 * 2 * 2
echo "Hasil 2 pangkat 3: " . $hasilPangkat . "<br>"; // Output: 8
?>
Gimana? Gampang kan? Jadi, kalau ada hitung-hitungan di aplikasi kalian, inget aja ada operator aritmatika ini. Jangan sampai salah copas terus hasilnya malah jadi bug ya!
Operator Perbandingan: Si Detektif Pencari Kebenaran
Nah, kalau yang ini sering banget dipakai buat ngambil keputusan di kode kita. Misalnya, "kalau umur user lebih dari 17, izinkan dia masuk." Atau, "apakah username dan password yang dimasukkan itu sama dengan yang di database?" Hasil dari operator perbandingan ini selalu berupa nilai Boolean, yaitu true (benar) atau false (salah).
Yuk, kita intip daftar operator perbandingan yang super penting ini:
==(Sama Dengan - Loose Equality)===(Identik - Sama Nilai DAN Sama Tipe Data - Strict Equality)!=atau<>(Tidak Sama Dengan - Loose Inequality)!==(Tidak Identik - Beda Nilai ATAU Beda Tipe Data - Strict Inequality)<(Kurang Dari)>(Lebih Dari)<=(Kurang Dari Atau Sama Dengan)>=(Lebih Dari Atau Sama Dengan)<=>(Spaceship Operator - PHP 7+) - Mengembalikan -1, 0, atau 1
Yang paling sering bikin developer galau itu antara == dan ===. Apa bedanya sih? Sederhananya, == itu cuma ngecek nilainya sama apa nggak. Kalau ===, dia lebih cerewet, ngecek nilainya sama dan tipe datanya juga harus sama persis. Cek kode ini biar makin jelas!
<?php
$angkaString = "10"; // Ini string
$angkaInt = 10; // Ini integer
// Perbandingan Loose Equality (==)
if ($angkaString == $angkaInt) {
echo "1. '10' == 10 adalah TRUE (karena nilainya sama, tipe data diabaikan)<br>";
} else {
echo "1. '10' == 10 adalah FALSE<br>";
}
// Perbandingan Strict Equality (===)
if ($angkaString === $angkaInt) {
echo "2. '10' === 10 adalah TRUE<br>";
} else {
echo "2. '10' === 10 adalah FALSE (karena tipe datanya beda)<br>"; // Ini yang akan dieksekusi
}
// Perbandingan lainnya
$umur = 18;
$batasUmur = 17;
if ($umur > $batasUmur) {
echo "3. Umur lebih dari batas, user boleh masuk!<br>";
}
$passwordDB = "rahasia123";
$passwordInput = "rahasia123";
if ($passwordInput === $passwordDB) { // Gunakan === untuk password agar lebih aman!
echo "4. Password cocok!<br>";
} else {
echo "4. Password salah!<br>";
}
// Contoh Spaceship Operator (<=>)
$a = 5;
$b = 10;
$c = 5;
echo "5. Perbandingan a <=> b: " . ($a <=> $b) . "<br>"; // Output: -1 (karena a lebih kecil dari b)
echo "6. Perbandingan a <=> c: " . ($a <=> $c) . "<br>"; // Output: 0 (karena a sama dengan c)
echo "7. Perbandingan b <=> a: " . ($b <=> $a) . "<br>"; // Output: 1 (karena b lebih besar dari a)
?>
Keliatan kan bedanya == dan ===? Jadi, hati-hati ya pas ngebandingin sesuatu, terutama kalau berhubungan sama input user atau data penting. Salah pakai operator, bisa bikin bug yang bikin pusing tujuh keliling pas lembur!
Operator Logika: Otaknya Algoritma, Bikin Keputusan Cerdas!
Kalau operator perbandingan itu kayak detektif yang nyari kebenaran tunggal, operator logika ini adalah jaksa penuntut yang menggabungkan beberapa "kebenaran" untuk mengambil keputusan akhir. Intinya, operator ini dipakai buat ngegabungin atau membalik nilai Boolean (true atau false) dari ekspresi-ekspresi lain.
Ini dia operator logika yang sering nongol di setiap baris kode programmer:
&&(AND - Keduanya harus TRUE)||(OR - Salah satu harus TRUE)!(NOT - Membalik nilai TRUE jadi FALSE, dan sebaliknya)xor(Exclusive OR - Salah satu TRUE, tapi tidak keduanya TRUE)
Paling sering dipakai buat kondisi if, while, atau for. Yuk, kita lihat contoh sederhana yang bisa bikin program kita jadi lebih "pintar" mengambil keputusan!
<?php
$sudahLogin = true;
$isAdmin = false;
$umurUser = 20;
$minimalUmurAkses = 18;
// Operator AND (&&) - Keduanya harus TRUE
if ($sudahLogin && $isAdmin) {
echo "1. Selamat datang, Admin!<br>";
} else {
echo "1. Anda bukan Admin atau belum login.<br>"; // Ini yang akan dieksekusi
}
// Operator OR (||) - Salah satu harus TRUE
if ($umurUser >= $minimalUmurAkses || $isAdmin) {
echo "2. Anda boleh mengakses konten dewasa (karena umur cukup atau Anda Admin).<br>"; // Ini yang akan dieksekusi
} else {
echo "2. Anda tidak memenuhi syarat akses.<br>";
}
// Operator NOT (!) - Membalik nilai
$isVerified = false;
if (!$isVerified) { // Artinya jika $isVerified BUKAN true (alias false)
echo "3. User belum terverifikasi, kirim email verifikasi!<br>"; // Ini yang akan dieksekusi
} else {
echo "3. User sudah terverifikasi.<br>";
}
// Operator XOR - Salah satu TRUE, tapi tidak keduanya TRUE
$punyaSIM = true;
$punyaKTP = false;
if ($punyaSIM xor $punyaKTP) {
echo "4. Anda bisa mengajukan pinjaman dengan syarat satu identitas saja.<br>"; // Ini yang akan dieksekusi (punyaSIM TRUE, punyaKTP FALSE)
} else {
echo "4. Anda harus punya salah satu atau tidak keduanya untuk syarat ini.<br>";
}
$punyaSIM2 = true;
$punyaKTP2 = true;
if ($punyaSIM2 xor $punyaKTP2) {
echo "5. Ini tidak akan dieksekusi karena keduanya TRUE (XOR butuh salah satu saja).<br>";
} else {
echo "5. Tidak memenuhi syarat XOR.<br>"; // Ini yang akan dieksekusi
}
?>
See? Dengan operator logika, kita bisa bikin kondisi yang lebih kompleks dan robust. Tapi inget, jangan sampai salah pasang && atau || ya, nanti logika programnya jadi ngaco dan bikin error!
Prioritas Operator: Siapa Duluan yang Dieksekusi?
Sama kayak di matematika, PHP juga punya aturan siapa operator yang harus dieksekusi duluan kalau ada beberapa operator dalam satu baris ekspresi. Ini disebut Prioritas Operator (Operator Precedence). Misalnya, perkalian dan pembagian itu punya prioritas lebih tinggi daripada penjumlahan dan pengurangan.
Contoh gampangnya:
<?php
$hasil = 10 + 5 * 2;
echo $hasil; // Outputnya berapa hayooo? Bukan 30 ya!
// PHP akan menghitung 5 * 2 dulu (10), baru kemudian 10 + 10 = 20.
// Jadi hasilnya adalah 20.
?>
Kalau kamu mau mengubah urutan eksekusinya, tinggal pakai tanda kurung () aja. Sama persis kayak di matematika!
<?php
$hasilDenganKurung = (10 + 5) * 2;
echo $hasilDenganKurung; // Nah, kalau ini outputnya 30!
// PHP akan menghitung (10 + 5) dulu (15), baru kemudian 15 * 2 = 30.
?>
Jadi, kalau kode kalian mulai agak kompleks dengan banyak operator, jangan ragu pakai kurung biar lebih jelas dan nggak salah hitung ya. Daripada nanti pusing nyari bug gara-gara salah prioritas!
Latihan Ngoding Receh: Drama Kopi dan Deadline!
Oke, biar makin jago, yuk kita latihan ngoding pakai operator yang barusan kita pelajari! Ceritanya gini:
Kamu adalah seorang programmer yang lagi lembur dikejar deadline proyek besar. Kamu butuh kopi buat nambah energi. Tapi, ada beberapa kondisi yang harus kamu perhatikan:
- Kalau jam di atas jam 9 malam (
$jamSekarang = 22;) DAN energi kamu di bawah 50% ($tingkatEnergi = 40;), MAKA kamu boleh minum kopi kuat (level 3). - Kalau jam di atas jam 7 malam (
$jamSekarang = 22;) ATAU ada bug kritis yang belum beres ($adaBugKritis = true;), MAKA kamu boleh minum kopi sedang (level 2). - Selain kondisi di atas, kalau energi kamu masih di atas 70% (
$tingkatEnergi = 80;) DAN TIDAK ada bug kritis, MAKA cukup minum teh aja. - Kalau nggak ada kondisi di atas yang terpenuhi (misal, nggak terlalu malam, nggak ada bug, energi juga biasa aja), MAKA nggak usah minum apa-apa, fokus aja ngoding.
Tugas kamu:
- Buat variabel
$jamSekarang,$tingkatEnergi, dan$adaBugKritisdengan nilai awal yang sudah ditentukan (atau coba ubah-ubah sendiri). - Gunakan operator perbandingan dan operator logika untuk menentukan minuman apa yang harus kamu konsumsi.
- Tampilkan hasilnya menggunakan
echo.
Coba implementasikan pakai if-else if-else ya! Selamat mencoba, jangan sampai error terus jadi nggak ngopi beneran!
<?php
$jamSekarang = 22; // Coba ganti: 19, 15
$tingkatEnergi = 40; // Coba ganti: 80, 60
$adaBugKritis = true; // Coba ganti: false
if ($jamSekarang > 21 && $tingkatEnergi < 50) {
echo "Waktunya kopi kuat (level 3)! Deadline udah di depan mata, energi drop parah!";
} elseif ($jamSekarang > 19 || $adaBugKritis) {
echo "Oke, kopi sedang (level 2) aja. Jangan sampai ngantuk pas lagi debug bug kritis!";
} elseif ($tingkatEnergi > 70 && !$adaBugKritis) {
echo "Santai, energi masih banyak, bug aman. Teh aja cukup!";
} else {
echo "Fokus ngoding! Belum perlu minum apa-apa.";
}
?>
Gimana? Seru kan belajar operator di PHP ini? Mereka memang terlihat sederhana, tapi perannya itu lho, sangat vital! Dengan menguasai operator, kalian bisa bikin logika program yang jauh lebih canggih dan responsif. Jangan lupa terus latihan dan eksplorasi ya!
Sampai jumpa di artikel PHP selanjutnya, di mana kita bakal bahas sesuatu yang nggak kalah penting: Struktur Kontrol! Siap-siap bikin program kalian lebih interaktif!
