🐘 PHP
Bahasa backend paling populer di web, dipakai hampir separuh internet — termasuk WordPress.
Pengenalan PHP
PHP (PHP: Hypertext Preprocessor) adalah bahasa server-side yang jalan di server, bukan di browser. Kode PHP diproses server dulu, hasilnya (biasanya HTML) baru dikirim ke browser.
Kode PHP selalu diapit tag <?php ... ?> dan file berekstensi .php.
<?php
// Ini komentar satu baris
# Ini juga komentar satu baris
/*
* Ini komentar
* multi-baris
*/
echo "Halo Dunia!";
?>
Sintaks Dasar
PHP dijalankan di server. Struktur dasarnya simpel — tidak butuh fungsi main() seperti Java/C++.
- <?php ... ?> — pembatas kode PHP
- echo — buat nampilin output (paling umum dipakai)
- print — mirip echo, tapi cuma bisa 1 argumen
- ; — wajib di akhir statement
<?php
echo "Baris pertama\n";
echo "Ini ", "bisa ", "banyak ", "argumen\n";
print "Baris kedua pakai print\n";
?>
Variabel & Tipe Data
Semua variabel PHP wajib diawali tanda dollar $. PHP juga dynamic typing — mirip Python/JavaScript, tidak perlu deklarasi tipe.
<?php
$nama = "Budi"; // string
$umur = 21; // int
$tinggi = 165.5; // float
$aktif = true; // bool
echo "Nama: $nama\n"; // variabel bisa langsung di dalam string ganda
echo 'Nama: $nama\n'; // TIDAK berlaku di string tunggal (tercetak apa adanya)
echo gettype($umur) . "\n"; // cek tipe data: integer
var_dump($tinggi); // tampilkan tipe + nilai sekaligus
?>
Operator
Aritmatika dan perbandingan mirip bahasa lain, tapi PHP punya operator penggabung string yang khas: titik .
<?php
$a = 15;
$b = 4;
echo $a + $b, "\n"; // 19
echo $a % $b, "\n"; // 3
// Penggabungan string pakai titik, BUKAN plus
$nama = "Budi";
echo "Halo, " . $nama . "!\n";
// Perbandingan: == vs ===
var_dump(5 == "5"); // true (nilai sama, tipe beda -> dianggap sama)
var_dump(5 === "5"); // false (tipe beda -> dianggap beda)
?>
Kondisi
if-elseif-else dan switch — sintaksnya mirip C-family.
<?php
$nilai = 82;
if ($nilai >= 85) {
echo "Grade A\n";
} elseif ($nilai >= 70) {
echo "Grade B\n";
} else {
echo "Grade C\n";
}
// Switch
$hari = 2;
switch ($hari) {
case 1:
echo "Senin\n";
break;
case 2:
echo "Selasa\n";
break;
default:
echo "Hari lain\n";
}
?>
Perulangan
for, while, dan foreach — foreach paling sering dipakai buat iterasi array di PHP.
<?php
// For
for ($i = 1; $i <= 5; $i++) {
echo $i . " ";
}
echo "\n";
// While
$j = 1;
while ($j <= 5) {
echo $j . " ";
$j++;
}
echo "\n";
// Foreach — paling umum buat array
$buah = ["apel", "mangga", "jeruk"];
foreach ($buah as $index => $item) {
echo ($index + 1) . ". $item\n";
}
?>
Fungsi
Fungsi PHP pakai kata kunci function. Tipe parameter/return bersifat opsional (tapi disarankan ditulis biar jelas).
<?php
function sapa($nama) {
return "Halo, $nama!";
}
echo sapa("Diki") . "\n";
// Dengan default parameter
function perkenalan($nama, $umur = 17) {
echo "Nama: $nama, Umur: $umur\n";
}
perkenalan("Siti"); // pakai default umur
perkenalan("Budi", 22); // override default
// Dengan type hint (opsional tapi direkomendasikan)
function kuadrat(int $x): int {
return $x * $x;
}
echo kuadrat(5) . "\n";
?>
Array
PHP punya 2 jenis array: indexed array (index angka otomatis) dan associative array (key custom, mirip dictionary/object).
<?php
// Indexed array
$buah = ["apel", "mangga", "jeruk"];
echo $buah[0] . "\n"; // apel
$buah[] = "anggur"; // tambah di akhir
// Associative array
$user = [
"nama" => "Diki",
"umur" => 20,
];
echo $user["nama"] . "\n";
$user["email"] = "diki@mail.com"; // tambah key baru
// Fungsi array bawaan
echo count($buah) . "\n"; // jumlah elemen
print_r($user); // tampilkan struktur array
?>
🚀 Mini Project: Sistem Belanja Sederhana
Gabungkan array asosiatif, fungsi, dan perulangan jadi program hitung total belanja dengan diskon.
<?php
$keranjang = [
["nama" => "Kaos", "harga" => 75000, "qty" => 2],
["nama" => "Celana", "harga" => 150000, "qty" => 1],
];
function hitungSubtotal($item) {
return $item["harga"] * $item["qty"];
}
function terapkanDiskon($total, $persen) {
return $total - ($total * $persen / 100);
}
$total = 0;
echo "=== STRUK BELANJA ===\n";
foreach ($keranjang as $item) {
$subtotal = hitungSubtotal($item);
echo "{$item['nama']} x{$item['qty']} = Rp" . number_format($subtotal) . "\n";
$total += $subtotal;
}
echo "-------------------\n";
echo "Subtotal: Rp" . number_format($total) . "\n";
$totalDiskon = terapkanDiskon($total, 10);
echo "Setelah diskon 10%: Rp" . number_format($totalDiskon) . "\n";
?>
✦ Coba Sendiri
Tulis kode PHP di kiri, klik Run — outputnya langsung tampil di kanan. Dijalankan via server online, gak perlu XAMPP!