Ilustrasi flat vector jendela terminal di samping ikon tumpukan server

Series React dari Nol sudah tamat di episode #55 kemarin. Sekarang kita pindah dapur: dari frontend yang jalan di browser, ke backend yang jalan di server. Series barunya bernama PHP Native, dan episode #56 ini adalah pintunya. Kita kenalan dengan PHP, bahasa yang diam-diam menggerakkan sebagian besar web, lalu menjalankannya di laptopmu sendiri sampai bisa menampilkan "Halo Dunia".

Kenapa PHP duluan, bukan Node.js? Karena PHP adalah jalur backend paling ramah untuk pemula: install sekali langsung jalan, tidak perlu paham build tools, dan hosting murahnya berlimpah. Node.js dan Express dapat giliran nanti di Fase 6 (#80-85). Fokus dulu satu jalur sampai bisa.

Kenapa Belajar PHP di 2026

Mari luruskan dulu persepsi paling beracun soal PHP: "PHP sudah mati, ngapain dipelajari?" Data berkata sebaliknya. WordPress, yang menggerakkan sekitar 40 persen website di dunia, ditulis dengan PHP. Facebook lahir dari PHP. Wikipedia jalan di atas PHP. Laravel, framework PHP modern, masih jadi salah satu framework backend paling dicintai dan paling banyak lowongan freelance-nya di Indonesia.

Versi PHP juga sudah jauh dari PHP jadul yang sering dijadikan meme. PHP 8.4 dan 8.5 (versi stabil terbaru saat artikel ini ditulis) punya type system yang ketat, performa yang kencang berkat JIT, dan syntax yang modern. Meme "PHP itu berantakan" kebanyakan berasal dari kode PHP tahun 2005 yang ditulis asal-asalan, bukan dari bahasanya hari ini.

Alasan paling praktis buat kamu: PHP adalah backend termurah untuk dipelajari dan di-deploy. Shared hosting seharga parkir motor sebulan sudah bisa menjalankan PHP dan MySQL. Bandingkan dengan teknologi lain yang butuh VPS dan konfigurasi server. Untuk pemula yang targetnya "punya website dinamis yang online", PHP adalah jalan tol.

PHP Itu Apa Sih? Analogi Warung Makan

Selama ini kamu main di frontend: HTML, CSS, JavaScript yang dikirim ke browser lalu dijalankan di sana. PHP main di sisi lain: ia dijalankan di server, sebelum halaman sampai ke browser. Browser tidak pernah melihat kode PHP-mu, ia cuma menerima hasilnya yang sudah jadi HTML.

Analoginya warung makan. Kamu (browser) duduk dan pesan ke pelayan (request HTTP). Pelayan membawa pesanan ke dapur (server). Koki (PHP) memasak: mengambil bahan dari kulkas (database), mengolahnya, menatanya di piring (HTML). Pelayan mengantar piring jadi ke mejamu (response). Kamu tidak pernah masuk dapur, tidak tahu resepnya, yang kamu terima cuma hidangannya. Itulah kenapa kode PHP aman untuk logika rahasia seperti cek password: browser tidak bisa mengintip dapur.

Siklusnya selalu sama: request masuk, PHP dieksekusi dari atas ke bawah, menghasilkan HTML, server mengirim HTML itu, selesai. PHP tidak "ingat" request sebelumnya. Sifat lupa ini disebut stateless, dan nanti di episode #61 kita belajar cara mengakalinya dengan session dan cookie.

Tiga Cara Menjalankan PHP di Laptop

Ada tiga jalan menuju Roma, pilih yang paling cocok dengan gayamu.

Opsi 1: XAMPP. Paket bundel berisi Apache (web server), PHP, dan MySQL/MariaDB (database) dalam satu installer. Paling populer di kampus-kampus Indonesia dan tutorial berbahasa Indonesia. Caranya: download installer XAMPP dari apachefriends.org, install, buka XAMPP Control Panel, klik Start pada Apache (dan MySQL kalau butuh database). File PHP-mu taruh di folder htdocs, misal C:\xampp\htdocs\belajar\index.php, lalu buka di browser http://localhost/belajar/. Kelebihan: mirip environment hosting beneran. Kekurangan: ukuran installer besar dan kadang rewel soal port.

Opsi 2: Laragon. Alternatif buatan developer yang lebih ringan dan modern. Portable, start-stop server cepat, dan bikin virtual host otomatis (misal http://belajar.test). File PHP ditaruh di folder www. Cocok kalau kamu merasa XAMPP terlalu berat atau ribet.

Opsi 3: Server bawaan PHP. Kalau kamu install PHP saja tanpa Apache, PHP punya web server mini bawaan untuk development. Buka terminal di folder proyekmu, jalankan php -S localhost:8000, lalu buka http://localhost:8000 di browser. Tidak perlu install Apache sama sekali. Ini cara tercepat untuk coba-coba, dan cara yang akan kita pakai di banyak episode series ini karena simpel.

Rekomendasi saya: untuk series ini cukup Opsi 3 dulu supaya fokus ke bahasa PHP-nya, bukan ke konfigurasi server. Nanti pas butuh database di episode #62, install XAMPP atau Laragon sekalian.

Berhenti dan tebak dulu! Kamu bikin file sapa.php berisi kode di bawah, lalu membukanya dengan cara double-click sehingga address bar browser menunjukkan file:///C:/belajar/sapa.php. Apa yang tampil?

<?php
echo "Halo, " . "Dunia!";
?>
Jawaban: browser menampilkan kode mentahnya sebagai teks, bukan "Halo, Dunia!". Karena dibuka lewat file://, tidak ada server dan tidak ada PHP yang mengeksekusi file itu. Browser cuma membaca file teks biasa. PHP HANYA jalan kalau file diakses lewat web server (http://localhost/...). Ini kesalahan paling klasik pemula PHP, dan sekarang kamu tidak akan mengulanginya.

Program PHP Pertamamu

Bikin file halo.php di folder proyekmu, jalankan server bawaan dengan php -S localhost:8000, lalu buka http://localhost:8000/halo.php:

<?php
echo "Halo Dunia dari PHP!";
echo "<h1>Ini heading dari PHP</h1>";
?>

Perhatikan tiga hal. Pertama, kode PHP selalu dibuka dengan <?php. Itu tanda buat server: "bagian ini harus dieksekusi, bukan dikirim mentah". Kedua, echo mencetak teks ke halaman. Ketiga, PHP bisa mencetak tag HTML apa pun, karena output PHP memang HTML.

Sekarang bandingkan dengan JavaScript yang kamu kenal. Di JS, console.log mencetak ke console browser. Di PHP, echo mencetak ke halaman yang dikirim ke browser. Beda panggung, tapi idenya sama: menampilkan sesuatu.

Satu trik debugging yang akan sering kamu pakai: var_dump(). Ia menampilkan isi variabel lengkap dengan tipe datanya. Bikin file cek.php:

<?php
var_dump("Halo");
var_dump(42);
var_dump(true);
?>

Buka di browser dan lihat outputnya. var_dump adalah kaca pembesar pertamamu di dunia PHP. Setiap kali bingung "variabel ini isinya apa sih?", var_dump jawabannya.

Kuis cepat: Di mana kode PHP dieksekusi?

PHP dan HTML Bisa Campur dalam Satu File

Kekuatan PHP yang paling terasa buat pemula: kamu bisa menyisipkan PHP di tengah HTML biasa. File profil.php:

<!DOCTYPE html>
<html>
<body>
  <h1>Selamat datang</h1>
  <p>Hari ini tanggal <?php echo date('d-m-Y'); ?></p>
  <p>Tahun depan adalah <?php echo date('Y') + 1; ?></p>
</body>
</html>

Bagian HTML dikirim apa adanya, bagian di dalam <?php ... ?> dieksekusi dulu lalu hasilnya disisipkan. Fungsi date() mengambil tanggal dari server. Pola "template HTML + sisipan PHP" ini adalah fondasi semua aplikasi PHP yang akan kita bikin: form, daftar data dari database, halaman dinamis, semuanya variasi dari pola ini.

Tapi awas, kebebasan ini pedang bermata dua. Godaan pemula adalah mencampur aduk logika dan tampilan sampai satu file ratusan baris dan tidak bisa dibaca. Nanti di series CodeIgniter dan Laravel kita belajar memisahkannya dengan rapi. Untuk sekarang, campur secukupnya saja.

Latihan dan Langkah Berikutnya

Latihan 1. Install salah satu dari tiga opsi di atas sampai http://localhost:8000/halo.php (atau padanannya di XAMPP/Laragon) menampilkan "Halo Dunia dari PHP!". Jangan lanjut sebelum ini beres, semua episode berikutnya bergantung padanya.

Latihan 2. Ubah file halo.php menjadi halaman biodata: tampilkan namamu, kota, dan hobi, masing-masing memakai satu echo. Lalu buat versi keduanya yang mencampur HTML dan PHP seperti contoh profil di atas. Rasakan bedanya.

Latihan 3. Eksperimen dengan var_dump: dump sebuah string, sebuah angka, sebuah boolean, dan hasil dari date('Y'). Perhatikan bagaimana PHP memberi tahu tipe data tiap nilai. Kebiasaan mem-var_dump akan menyelamatkanmu berkali-kali di episode mendatang.

Di episode #57 kita masuk ke fondasi bahasanya: variabel, tipe data, dan operator di PHP. Termasuk tanda $ yang misterius itu dan kenapa PHP punya dua cara menggabungkan string yang hasilnya beda. Sampai jumpa.