Anda membuka sebuah website WordPress. Halaman muncul lengkap dengan artikel, daftar komentar, sidebar yang menampilkan post populer, semua sudah tersusun rapi. Di balik layar, sebuah bahasa pemrograman bekerja di server — mengambil data dari database, merakit potongan-potongan informasi, lalu mengirim hasil akhirnya berupa HTML ke browser Anda. Bahasa pemrograman itu kemungkinan besar PHP.
Sebelum kita masuk lebih dalam, satu catatan singkat. Kata "PHP" di Indonesia punya beberapa arti populer — selain bahasa pemrograman, ada istilah bahasa gaul "Pemberi Harapan Palsu", merek susu formula, dan kode mata uang Filipina (Philippine Peso). Artikel ini fokus pada PHP dalam konteks bahasa pemrograman web. Jadi kalau yang Anda cari adalah istilah lain, ini bukan halaman yang Anda butuhkan.
PHP adalah salah satu bahasa pemrograman paling banyak dipakai di dunia, terutama di lingkungan web. Artikel ini akan mengupas pengertian PHP, sejarahnya, kenapa ia berbeda dari bahasa lain dalam seri web ini, cara kerjanya di server, sintaks dasarnya, sampai contoh kode lengkap yang bisa langsung Anda coba.
Apa Itu PHP?
PHP adalah bahasa pemrograman server-side yang dipakai untuk membuat halaman web dinamis. Kepanjangannya unik — PHP: Hypertext Preprocessor. Inilah salah satu contoh recursive backronym paling terkenal di dunia teknologi, yaitu singkatan yang mengandung dirinya sendiri. Awalnya PHP merupakan singkatan dari "Personal Home Page", tapi seiring berkembang, namanya berubah jadi kepanjangan yang lebih mencerminkan kemampuannya sekarang.
Kalau Anda sudah membaca seri ini sebelumnya, mari kita lanjutkan analogi rumah yang sudah kita pakai. HTML adalah rangka dan dinding rumah, CSS adalah cat dan susunan perabot, JavaScript adalah lampu otomatis dan pintu yang merespons sentuhan di sisi penghuni. PHP berperan beda — ia adalah kontraktor di belakang layar yang menyiapkan ruangan baru, mengganti perabot, atau mengeluarkan barang dari gudang sebelum tamu datang. Saat halaman dibuka, semuanya sudah siap berkat pekerjaan PHP.
Yang membedakan PHP dengan HTML, CSS, dan JavaScript adalah tempat eksekusinya. Tiga teknologi sebelumnya berjalan di browser pengguna. PHP berjalan di server — komputer yang menyimpan website Anda — sebelum hasilnya dikirim ke browser.
Sejarah Singkat PHP
PHP punya cerita awal yang sederhana. Pada tahun 1994, Rasmus Lerdorf seorang programmer asal Greenland menulis kumpulan skrip CGI untuk melacak siapa yang melihat resume online-nya. Skrip ini ia beri nama Personal Home Page Tools (PHP Tools).
Setelah dirilis sebagai open source, komunitas berkembang pesat dan banyak berkontribusi. Beberapa tonggak penting:
- 1995: PHP/FI dirilis publik.
- 1998: Zeev Suraski dan Andi Gutmans menulis ulang interpreter inti. Lahir Zend Engine yang sampai sekarang jadi mesin di balik PHP.
- 2000: PHP 4.0 dengan Zend Engine resmi rilis.
- 2004: PHP 5.0 — dukungan OOP yang lebih solid, PDO untuk abstraction database.
- 2015: PHP 7.0 — lompatan performa besar, dua kali lebih cepat dari PHP 5.
- 2020: PHP 8.0 — JIT compiler, named arguments, attributes.
- Sekarang: PHP 8.3 dan 8.4 dirilis dengan jadwal tahunan setiap akhir tahun.
Versi modern PHP sudah sangat jauh berbeda dari PHP 5 yang banyak orang ingat. Kami akan kembali ke poin ini di section kelemahan nanti.
PHP Adalah Bahasa Pemrograman Sejati
Berbeda dengan HTML yang merupakan markup language dan CSS yang merupakan style sheet language, PHP adalah bahasa pemrograman dalam arti sesungguhnya. Ia memiliki semua fitur bahasa pemrograman pada umumnya:
- Variabel: tempat menyimpan nilai (
$nama = "Budi";) - Kondisional: pengambilan keputusan dengan
if,else,switch - Perulangan:
for,while,foreach - Fungsi: blok kode yang menerima input dan mengembalikan output
- Object-Oriented Programming: class, inheritance, interface, traits
- Error handling: try-catch untuk menangani kesalahan dengan elegan
diagram-lapisan-stack-php.png
Singkatnya, PHP bisa "memikirkan" dan menjalankan logika. Inilah yang memungkinkan website dinamis — halaman yang isinya berubah sesuai user yang login, data yang diambil dari database, atau waktu akses.
Cara PHP Bekerja: Server-Side Execution
Section ini penting untuk memahami beda PHP dengan teknologi lain di seri ini. Mari kita lihat apa yang sebenarnya terjadi saat Anda mengakses https://contoh.com/halaman.php:
Cara Kerja PHP
Detail tiap langkahnya:
- Browser pengguna mengirim request ke server tempat website dihosting.
- Web server (Apache atau Nginx) menerima request dan melihat ekstensi file yang diminta.
- Ekstensi
.phpmengarahkan server ke interpreter PHP — sebuah program yang menjalankan kode PHP. - PHP mengeksekusi kode baris per baris. Selama eksekusi, ia bisa mengakses database (biasanya MySQL/MariaDB), file di server, atau API eksternal.
- PHP menghasilkan output — umumnya berupa HTML.
- HTML dikirim ke browser lewat web server.
- Browser merender HTML seperti biasa, lengkap dengan CSS dan JavaScript di dalamnya.
Konsekuensi penting: pengguna tidak bisa melihat kode PHP Anda. Yang sampai ke browser hanya output HTML akhir. Berbeda dengan JavaScript yang bisa dilihat lengkap di "View Source", PHP tetap aman di server.
PHP Embedded di HTML
Salah satu kekuatan unik PHP adalah kemampuannya disisipkan langsung di tengah-tengah HTML. Anda tidak perlu menulis kode PHP terpisah — cukup buka tag <?php dan tutup dengan ?> di mana saja dalam file .php.
Berikut contoh halaman yang menampilkan salam dinamis berdasarkan jam:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Halaman Selamat Datang</title>
</head>
<body>
<?php
$namaUser = "Budi";
$jamSekarang = (int) date("H");
if ($jamSekarang < 11) {
$salam = "Selamat pagi";
} elseif ($jamSekarang < 15) {
$salam = "Selamat siang";
} elseif ($jamSekarang < 19) {
$salam = "Selamat sore";
} else {
$salam = "Selamat malam";
}
?>
<h1><?php echo $salam; ?>, <?php echo $namaUser; ?>!</h1>
<p>Anda mengunjungi halaman ini pada
<?php echo date("d F Y, H:i"); ?> WIB.</p>
</body>
</html>Apa yang terjadi saat halaman ini dibuka di siang hari, misalnya jam 13:00?
PHP mengeksekusi kode di dalam tag <?php ... ?>, menentukan bahwa $salam bernilai "Selamat siang", lalu menyisipkan nilai tersebut menggantikan tag <?php echo $salam; ?>. Output HTML yang sampai ke browser jadi seperti ini:
<h1>Selamat siang, Budi!</h1>
<p>Anda mengunjungi halaman ini pada
15 Mei 2026, 13:00 WIB.</p>PHP Embeded di HTML
Browser tidak pernah melihat kode PHP. Yang ia tahu hanyalah HTML hasil akhir.
Sintaks Dasar PHP yang Wajib Dikenali
Sebelum melihat contoh yang lebih lengkap, mari kenali blok bangunan dasar PHP. Anda bisa mencoba kode-kode berikut dengan menyimpan file .php di server hosting yang sudah mendukung PHP.
Variabel
Setiap variabel PHP selalu diawali tanda dollar ($):
<?php
$nama = "Budi";
$umur = 30;
$tinggi = 175.5;
$aktif = true;
$kosong = null;
?>PHP bersifat dynamically typed — tipe variabel ditentukan otomatis dari nilainya, tidak perlu deklarasi.
String dan Concatenation
PHP punya dua cara menggabung string:
<?php
$nama = "Budi";
// Pakai titik (concatenation)
$pesan1 = "Halo, " . $nama . "!";
// Pakai double-quote interpolation (lebih ringkas)
$pesan2 = "Halo, $nama!";
$pesan3 = "Halo, {$nama}!"; // bentuk eksplisit untuk array/object
echo $pesan1; // Halo, Budi!
echo $pesan2; // Halo, Budi!
?>Single-quote '...' tidak melakukan interpolasi — apapun yang ditulis dianggap teks literal. Double-quote "..." menginterpretasi variabel di dalamnya.
Array
PHP punya dua jenis array yang sering dipakai:
<?php
// Array numerik (indexed)
$buah = ["apel", "pisang", "jeruk"];
echo $buah[0]; // apel
// Array associative (key-value)
$user = [
"nama" => "Budi",
"email" => "budi@example.com",
"umur" => 30
];
echo $user["nama"]; // Budi
?>Array associative mirip object di JavaScript. Sangat sering dipakai dalam PHP untuk merepresentasikan data.
Kondisional dan Perulangan
<?php
$umur = 18;
if ($umur >= 18) {
echo "Sudah dewasa";
} elseif ($umur >= 13) {
echo "Remaja";
} else {
echo "Anak-anak";
}
// Perulangan
$buah = ["apel", "pisang", "jeruk"];
foreach ($buah as $item) {
echo $item . "\n";
}
for ($i = 0; $i < 3; $i++) {
echo "Putaran ke-$i\n";
}
?>Fungsi
<?php
function sapa($nama) {
return "Halo, $nama!";
}
echo sapa("Ani"); // Halo, Ani!
// PHP 7+ mendukung type hint
function hitungTotal(int $harga, int $jumlah): int {
return $harga * $jumlah;
}
echo hitungTotal(10000, 3); // 30000
?>Contoh PHP Lengkap: Form Kontak dengan Validasi
Setelah mengenal blok dasar, mari lihat contoh yang lebih utuh — form kontak yang memproses input pengguna di server.
File kontak.php:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Form Kontak</title>
<style>
body { font-family: sans-serif; max-width: 500px; margin: 40px auto; padding: 20px; }
.sukses { background: #d4edda; padding: 12px; border-radius: 4px; margin: 12px 0; }
.error { background: #f8d7da; padding: 12px; border-radius: 4px; margin: 12px 0; }
input, textarea { width: 100%; padding: 8px; margin: 4px 0 12px; }
button { padding: 10px 24px; background: #2563eb; color: white; border: none; border-radius: 4px; cursor: pointer; }
</style>
</head>
<body>
<h1>Form Kontak</h1>
<?php
// Cek apakah form dikirim dengan metode POST
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Ambil dan bersihkan input
$nama = trim($_POST["nama"] ?? "");
$email = trim($_POST["email"] ?? "");
$pesan = trim($_POST["pesan"] ?? "");
$error = [];
// Validasi
if (empty($nama)) {
$error[] = "Nama wajib diisi.";
}
if (empty($email)) {
$error[] = "Email wajib diisi.";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error[] = "Format email tidak valid.";
}
if (empty($pesan)) {
$error[] = "Pesan wajib diisi.";
} elseif (strlen($pesan) < 10) {
$error[] = "Pesan minimal 10 karakter.";
}
// Tampilkan hasil
if (empty($error)) {
echo "<div class='sukses'>";
echo "<strong>Terima kasih, " . htmlspecialchars($nama) . "!</strong><br>";
echo "Pesan Anda sudah kami terima. ";
echo "Kami akan membalas ke <strong>" . htmlspecialchars($email) . "</strong> ";
echo "dalam 1x24 jam.";
echo "</div>";
} else {
echo "<div class='error'>";
echo "<strong>Mohon perbaiki kesalahan berikut:</strong>";
echo "<ul>";
foreach ($error as $pesanError) {
echo "<li>" . htmlspecialchars($pesanError) . "</li>";
}
echo "</ul>";
echo "</div>";
}
}
?>
<form method="POST" action="">
<label for="nama">Nama:</label>
<input type="text" id="nama" name="nama"
value="<?php echo htmlspecialchars($_POST['nama'] ?? ''); ?>">
<label for="email">Email:</label>
<input type="email" id="email" name="email"
value="<?php echo htmlspecialchars($_POST['email'] ?? ''); ?>">
<label for="pesan">Pesan:</label>
<textarea id="pesan" name="pesan" rows="4"><?php echo htmlspecialchars($_POST['pesan'] ?? ''); ?></textarea>
<button type="submit">Kirim Pesan</button>
</form>
</body>
</html>Beberapa konsep penting yang muncul di contoh ini:
$_SERVER["REQUEST_METHOD"]: variabel global PHP untuk mengecek apakah request menggunakan POST atau GET.$_POST["nama"]: variabel global untuk mengambil nilai dari form field bernama "nama".- Operator
??(null coalescing): memberi nilai default kalau key tidak ada. Diperkenalkan di PHP 7. filter_var()denganFILTER_VALIDATE_EMAIL: fungsi bawaan PHP untuk validasi format email.htmlspecialchars(): mengubah karakter khusus HTML jadi entity. Wajib dipakai saat menampilkan input pengguna untuk mencegah serangan XSS.trim(): menghilangkan spasi di awal dan akhir string.
Contoh form Kontak dengan PHP
Contoh ini bisa langsung dijalankan di hosting yang mendukung PHP. Simpan sebagai kontak.php, akses lewat browser, dan Anda sudah punya form kontak fungsional dengan validasi server-side.
PHP dan WordPress: Mengapa PHP Masih Dominan
Berdasarkan survei W3Techs, sekitar 43 persen website di dunia memakai WordPress. Semua WordPress, baik core sistemnya, ribuan tema, maupun puluhan ribu plugin, ditulis pakai PHP. Setiap kali Anda mengetik artikel di WordPress, mengganti tema, atau membaca komentar pembaca, di balik layar PHP yang bekerja.
Selain WordPress, ada beberapa platform dan framework PHP populer lain:
- Laravel — framework PHP modern paling populer secara global. Dipakai untuk membangun aplikasi web kustom dari nol.
- Symfony — framework enterprise yang jadi fondasi banyak proyek besar (termasuk Drupal modern).
- CodeIgniter — framework ringan yang sangat populer di Indonesia untuk skripsi dan proyek kuliah.
- Drupal, Joomla, Magento, MediaWiki — platform besar yang berbasis PHP. Wikipedia berjalan di MediaWiki.
Dominasi PHP di Indonesia tidak lepas dari fakta bahwa hampir semua shared hosting mendukung PHP, harganya terjangkau, dan banyak tutorial bahasa Indonesia tersedia.
phpMyAdmin: Pintu Masuk Pemula ke Database
Salah satu aplikasi PHP yang sangat populer dan kemungkinan besar Anda akan temui di shared hosting adalah phpMyAdmin. Aplikasi ini adalah antarmuka web untuk mengelola database MySQL/MariaDB tanpa perlu mengetik perintah di terminal.
Di cPanel hosting, phpMyAdmin biasanya sudah terpasang dan bisa diakses langsung. Fungsinya: membuat database, membuat tabel, melihat data, menjalankan query SQL, sampai mengimpor atau mengekspor backup.
Untuk pembahasan lengkap tentang database yang dikelola phpMyAdmin, Anda bisa baca artikel tentang MySQL di seri ini.
Kelebihan PHP
PHP bertahan lebih dari tiga dekade dan tetap relevan. Beberapa alasannya:
- Mudah dipelajari: sintaks PHP ramah pemula, dan ada melimpah materi belajar bahasa Indonesia di internet.
- Hosting murah dan tersedia di mana-mana: hampir semua layanan web hosting di Indonesia, termasuk shared hosting termurah, sudah mendukung PHP secara default.
- Ekosistem package yang besar: Composer (package manager PHP) berisi ratusan ribu library siap pakai.
- WordPress dominasi pasar: kalau Anda mengelola situs WordPress, secara tidak langsung Anda sudah berinteraksi dengan PHP setiap hari.
- Hot-deploy tanpa compile: ubah file
.php, refresh browser, langsung kelihatan hasilnya. Tidak perlu compile atau restart server. - Open source dan gratis: PHP License memungkinkan pemakaian komersial tanpa biaya royalti.
- Performa modern yang sudah jauh meningkat: PHP 8 bisa beberapa kali lebih cepat dari PHP 5, sebanding dengan banyak bahasa modern lain.
Sisi Lain PHP yang Perlu Anda Pertimbangkan
Tidak ada bahasa sempurna. PHP juga punya sisi yang perlu dipahami sebelum terjun dalam:
- Reputasi historis yang masih melekat: PHP versi lama (5-an dan sebelumnya) punya banyak inkonsistensi — penamaan fungsi yang campur aduk (
strlenvsstr_replace), urutan argumen yang tidak konsisten antar fungsi sejenis. Versi 8+ sudah jauh lebih konsisten, tapi citra lama masih sering muncul. - Tipe dinamis bisa menyebabkan bug yang sulit dilacak: variabel yang berubah tipe diam-diam kadang baru memunculkan masalah jauh setelah baris yang menyebabkannya. PHP 7+ menambah type hint untuk membantu masalah ini.
- Kurang ideal untuk aplikasi real-time: untuk WebSocket, streaming, atau server-sent events, Node.js, Go, atau Elixir lebih natural pilihannya.
- Industri startup modern sering memilih Node.js, Python, atau Go untuk proyek baru — meski PHP masih dominan di shared hosting dan WordPress development.
- Performance kalah dari bahasa kompilasi: meskipun PHP 8 cepat, untuk workload yang sangat intensif (proses CPU berat, perhitungan numerik), Go atau Rust tetap lebih unggul.
Pengakuan jujur: dalam dunia profesional, pilihan bahasa pemrograman lebih sering ditentukan ekosistem, budaya tim, dan kebutuhan proyek daripada superioritas teknis murni.
Versi PHP di Hosting: Hal yang Perlu Diperhatikan
Saat memilih hosting atau saat mengaudit hosting yang sudah Anda pakai, perhatikan versi PHP yang tersedia. Beberapa rekomendasi praktis:
- Gunakan minimal PHP 8.1 untuk proyek baru. Versi sebelumnya sudah end-of-life dan tidak menerima patch keamanan resmi.
- Hindari PHP 5 dan 7.0 sampai 7.3: sudah lama tidak didukung, rentan eksploitasi.
- WordPress modern butuh minimal PHP 7.4: tapi WordPress sendiri merekomendasikan PHP 8.0 atau lebih baru.
- Hosting yang baik memungkinkan Anda ganti versi PHP per domain: berguna saat menjalankan beberapa website dengan kebutuhan PHP berbeda.
Untuk panduan praktis mengganti versi PHP di cPanel hosting, lihat artikel KB cara merubah versi PHP pada cPanel.
Kapan Anda Perlu Belajar PHP, Kapan Tidak
Anda sebaiknya belajar PHP kalau:
- Anda ingin develop atau kustom WordPress, baik tema maupun plugin.
- Anda ingin masuk industri kerja yang banyak lowongan PHP atau Laravel — Indonesia masih sangat besar pasarnya.
- Anda butuh server-side dengan hosting murah dan tersedia luas.
- Anda penasaran cara kerja aplikasi web di balik halaman yang Anda buka sehari-hari.
Anda bisa menunda belajar PHP kalau:
- Anda ingin masuk industri startup global atau Silicon Valley — pelajari Node.js, Python, atau Go lebih dulu.
- Anda hanya butuh website siap pakai untuk bisnis — solusi yang lebih hemat waktu adalah jasa pembuatan website atau tema WordPress siap pakai.
- Fokus Anda murni front-end — HTML, CSS, dan JavaScript sudah cukup untuk banyak peran.
Hubungan PHP dengan HTML, CSS, JavaScript, dan MySQL
Mari kita lengkapi analogi web stack yang sudah kita bangun di seri ini:
- HTML — rangka dan dinding rumah (struktur konten)
- CSS — cat dan susunan perabot (tampilan visual)
- JavaScript — lampu otomatis dan pintu yang merespons sentuhan (perilaku di sisi penghuni)
- PHP — kontraktor di belakang layar yang menyiapkan ruangan sebelum tamu datang (logika di sisi server)
- MySQL — gudang penyimpanan data (database)
PHP biasanya berpasangan erat dengan MySQL dalam apa yang disebut LAMP stack (Linux + Apache + MySQL + PHP). Inilah kombinasi klasik yang sudah dipakai selama lebih dari dua dekade dan masih jadi tulang punggung mayoritas website di Indonesia. Pembahasan lengkap tentang database yang menjadi pasangan PHP akan kita lihat di artikel berikutnya di seri ini.
Pertanyaan yang Sering Muncul
PHP singkatan dari apa? PHP adalah singkatan dari PHP: Hypertext Preprocessor — sebuah recursive backronym. Awalnya singkatan dari "Personal Home Page" saat Rasmus Lerdorf pertama membuatnya pada 1994.
Apakah PHP termasuk bahasa pemrograman? Ya, PHP adalah bahasa pemrograman penuh dengan variabel, kondisional, perulangan, fungsi, dan OOP. Berbeda dengan HTML (markup) dan CSS (style sheet) yang bukan bahasa pemrograman.
Apa beda PHP dengan JavaScript? Yang paling fundamental: PHP berjalan di server (sebelum HTML sampai ke browser), JavaScript berjalan di browser. PHP juga umumnya berinteraksi langsung dengan database, sementara JavaScript di browser tidak. Sekarang Node.js memungkinkan JavaScript juga berjalan di server, jadi perbedaannya bergeser.
Versi PHP apa yang sebaiknya dipakai sekarang? Untuk proyek baru, pakai minimal PHP 8.1. Versi yang lebih lama sudah end-of-life dan rentan keamanan.
Apa itu PHP native vs framework? PHP native berarti menulis PHP murni tanpa framework — Anda mengatur sendiri struktur folder, routing, database connection. Framework seperti Laravel atau CodeIgniter menyediakan struktur dan tools siap pakai, sehingga lebih cepat membangun aplikasi besar.
Bagaimana cara mulai belajar PHP? Untuk pemula, pelajari sintaks dasar dulu (variabel, kondisional, perulangan, fungsi, array). Setelah lancar, baru masuk ke OOP, lalu coba framework seperti Laravel. Sumber belajar bahasa Indonesia sangat melimpah.
Kesimpulan
PHP adalah bahasa pemrograman server-side yang menggerakkan sekitar 43 persen website di dunia lewat WordPress dan ribuan aplikasi web lain. Sejak diciptakan Rasmus Lerdorf pada 1994 sebagai skrip sederhana untuk melacak resume online, PHP berkembang jadi bahasa modern yang stabil, cepat, dan punya ekosistem yang luas.
Meski punya reputasi historis yang campur aduk, versi modern PHP 8+ sudah jauh berbeda dengan PHP 5 yang banyak orang ingat. Untuk Anda yang ingin terjun ke pengembangan web — terutama di lingkungan WordPress atau shared hosting Indonesia — PHP tetap salah satu pilihan paling masuk akal untuk dipelajari.
Semoga artikel ini membantu.



