PHP (Hypertext Preprocessor) adalah bahasa pemrograman server-side yang banyak digunakan untuk membangun website dinamis dan aplikasi web modern. PHP berperan penting dalam pengembangan sistem berbasis web karena mudah dipelajari, fleksibel, dan terintegrasi dengan berbagai database seperti MySQL.
Sebelum mempelajari PHP lebih dalam, Anda disarankan memahami dasar HTML dan CSS. Jika belum, silakan baca Dokumentasi Tag HTML Lengkap dan Dokumentasi Atribut HTML Lengkap sebagai fondasi.
1. Apa Itu PHP?
PHP adalah bahasa pemrograman open-source yang dijalankan di sisi server (server-side). Kode PHP diproses di server, kemudian hasilnya dikirim ke browser dalam bentuk HTML.
Ciri Utama PHP
- Berjalan di server (server-side scripting)
- Mudah diintegrasikan dengan HTML
- Mendukung banyak database (MySQL, PostgreSQL, SQLite)
- Digunakan oleh CMS populer seperti WordPress
2. Sejarah Singkat PHP
PHP pertama kali dikembangkan oleh Rasmus Lerdorf pada tahun 1995. Awalnya PHP hanya digunakan untuk mengelola halaman pribadi, namun kini berkembang menjadi bahasa backend yang matang.
Pembahasan lengkap dapat dibaca di: Sejarah PHP dan Evolusinya dalam Web Modern
3. Cara Kerja PHP
Alur kerja PHP secara umum adalah sebagai berikut:
- Browser mengirim permintaan ke server
- Server memproses kode PHP
- PHP menghasilkan output berupa HTML
- HTML dikirim ke browser
4. Struktur Dasar File PHP
File PHP menggunakan ekstensi .php dan dapat berisi HTML serta kode PHP.
Kode PHP ditulis di dalam tag khusus.
<?php
echo "Hello World!";
?>
Menggabungkan PHP dan HTML
<!DOCTYPE html>
<html>
<head>
<title>Contoh PHP</title>
</head>
<body>
<?php
echo "<p>Halo dari PHP</p>";
?>
</body>
</html>
5. Sintaks Dasar PHP
5.1 Penulisan Perintah
Setiap perintah PHP diakhiri dengan tanda titik koma (;).
<?php
echo "Belajar PHP";
?>
5.2 Komentar dalam PHP
<?php
// Komentar satu baris
# Komentar satu baris
/*
Komentar
multi baris
*/
?>
6. Variabel dalam PHP
Variabel PHP diawali dengan tanda $ dan bersifat case-sensitive.
<?php
$nama = "Cicagak";
$umur = 20;
echo $nama;
?>
Aturan Penamaan Variabel
- Diawali tanda $
- Tidak boleh diawali angka
- Tidak boleh mengandung spasi
7. Tipe Data PHP
| Tipe Data | Contoh | Keterangan |
|---|---|---|
| String | “Hello” | Teks |
| Integer | 10 | Bilangan bulat |
| Float | 3.14 | Bilangan desimal |
| Boolean | true / false | Nilai logika |
| Array | [] | Kumpulan data |
8. Operator Dasar PHP
Operator Aritmatika
<?php
$a = 10;
$b = 5;
echo $a + $b;
?>
Operator Perbandingan
<?php
var_dump(10 == "10"); // true
var_dump(10 === "10"); // false
?>
9. Kaitan PHP dengan JavaScript
PHP dan JavaScript sering digunakan bersama. PHP berjalan di server, sedangkan JavaScript berjalan di browser.
Jika belum membaca dokumentasi JavaScript, silakan lihat: Dokumentasi JavaScript Lengkap
Referensi resmi PHP dapat dibaca di PHP Official Documentation .
10. Percabangan (Conditional Statement)
Percabangan digunakan untuk menjalankan kode berdasarkan kondisi tertentu.
PHP menyediakan beberapa jenis percabangan seperti if, else,
elseif, dan switch.
10.1 If Statement
<?php
$nilai = 85;
if ($nilai >= 75) {
echo "Lulus";
}
?>
10.2 If Else
<?php
$nilai = 60;
if ($nilai >= 75) {
echo "Lulus";
} else {
echo "Tidak Lulus";
}
?>
10.3 If Elseif Else
<?php
$nilai = 70;
if ($nilai >= 85) {
echo "A";
} elseif ($nilai >= 75) {
echo "B";
} else {
echo "C";
}
?>
10.4 Switch Case
<?php
$hari = "Senin";
switch ($hari) {
case "Senin":
echo "Hari kerja";
break;
case "Minggu":
echo "Hari libur";
break;
default:
echo "Hari tidak valid";
}
?>
11. Perulangan (Looping)
Perulangan digunakan untuk mengeksekusi blok kode secara berulang.
11.1 For Loop
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Angka: " . $i . "<br>";
}
?>
11.2 While Loop
<?php
$i = 1;
while ($i <= 5) {
echo $i;
$i++;
}
?>
11.3 Do While Loop
<?php
$i = 1;
do {
echo $i;
$i++;
} while ($i <= 5);
?>
11.4 Foreach Loop
foreach digunakan untuk mengiterasi array.
<?php
$buah = ["Apel", "Jeruk", "Mangga"];
foreach ($buah as $item) {
echo $item . "<br>";
}
?>
12. Fungsi (Function) dalam PHP
Fungsi adalah blok kode yang dapat digunakan kembali.
12.1 Membuat Fungsi
<?php
function sapa() {
echo "Halo!";
}
sapa();
?>
12.2 Parameter dan Argumen
<?php
function luasPersegi($sisi) {
return $sisi * $sisi;
}
echo luasPersegi(5);
?>
12.3 Nilai Default Parameter
<?php
function salam($nama = "Pengunjung") {
echo "Halo " . $nama;
}
salam();
?>
13. Scope Variabel
13.1 Variabel Lokal
<?php
function test() {
$x = 10;
echo $x;
}
test();
?>
13.2 Variabel Global
<?php
$x = 5;
function tampil() {
global $x;
echo $x;
}
tampil();
?>
13.3 Static Variable
<?php
function counter() {
static $count = 0;
$count++;
echo $count;
}
counter();
counter();
counter();
?>
14. Include dan Require
include dan require digunakan untuk menyisipkan file PHP lain.
<?php
include "header.php";
require "config.php";
?>
Perbedaannya, require akan menghentikan eksekusi jika file tidak ditemukan,
sedangkan include hanya menampilkan peringatan.
15. Praktik Terbaik (Best Practice) PHP Dasar
- Gunakan nama variabel yang jelas
- Gunakan fungsi untuk kode berulang
- Pisahkan logika dan tampilan
- Gunakan include/require untuk struktur rapi
Untuk pemahaman database setelah PHP dasar, silakan baca: Sejarah MySQL dan Perannya dalam Database Web Modern
16. Array Lanjutan dalam PHP
Array adalah struktur data yang sangat penting dalam PHP. Selain array numerik, PHP juga mendukung array asosiatif dan multidimensi.
16.1 Array Asosiatif
Array asosiatif menggunakan key berupa string.
<?php
$user = [
"nama" => "Andi",
"email" => "andi@email.com",
"umur" => 25
];
echo $user["nama"];
?>
16.2 Array Multidimensi
<?php
$produk = [
["nama" => "Laptop", "harga" => 8000000],
["nama" => "Mouse", "harga" => 150000]
];
echo $produk[0]["nama"];
?>
16.3 Looping Array
<?php
foreach ($produk as $item) {
echo $item["nama"] . " - " . $item["harga"] . "<br>";
}
?>
17. Fungsi Array Penting
| Fungsi | Deskripsi | Contoh |
|---|---|---|
| count() | Menghitung jumlah elemen array | count($array) |
| array_push() | Menambah elemen ke array | array_push($arr, “data”) |
| array_pop() | Menghapus elemen terakhir | array_pop($arr) |
| array_merge() | Menggabungkan array | array_merge($a, $b) |
18. Fungsi String dalam PHP
| Fungsi | Kegunaan | Contoh |
|---|---|---|
| strlen() | Menghitung panjang string | strlen(“PHP”) |
| str_replace() | Mengganti teks | str_replace(“a”,”b”,$teks) |
| substr() | Mengambil sebagian string | substr($teks,0,5) |
| trim() | Menghapus spasi | trim($teks) |
19. Superglobal PHP
Superglobal adalah variabel bawaan PHP yang dapat diakses dari mana saja.
19.1 $_GET
<?php
echo $_GET["nama"];
?>
19.2 $_POST
<?php
echo $_POST["email"];
?>
19.3 $_SERVER
<?php
echo $_SERVER["HTTP_USER_AGENT"];
?>
19.4 $_SESSION
<?php
session_start();
$_SESSION["user"] = "admin";
?>
19.5 $_COOKIE
<?php
setcookie("username", "admin", time()+3600);
?>
20. Keamanan Dasar dalam PHP
Keamanan merupakan aspek penting dalam pengembangan aplikasi PHP.
- Validasi input pengguna
- Gunakan
htmlspecialchars() - Hindari SQL Injection
- Gunakan HTTPS
<?php
$nama = htmlspecialchars($_POST["nama"]);
echo $nama;
?>
Untuk backend modern, PHP sering dipadukan dengan JavaScript dan Node.js. Baca juga: Sejarah Node.js dan Perkembangannya dalam Backend Web Modern
21. Form Handling dalam PHP
PHP sering digunakan untuk memproses data dari form HTML.
Metode yang umum digunakan adalah GET dan POST.
21.1 Contoh Form HTML
<form method="post" action="proses.php">
<input type="text" name="nama">
<input type="email" name="email">
<button type="submit">Kirim</button>
</form>
21.2 Memproses Form dengan POST
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = htmlspecialchars($_POST["nama"]);
$email = htmlspecialchars($_POST["email"]);
echo $nama . " - " . $email;
}
?>
22. File Handling
PHP mendukung operasi file seperti membaca dan menulis file.
22.1 Membaca File
<?php
$file = fopen("data.txt", "r");
echo fread($file, filesize("data.txt"));
fclose($file);
?>
22.2 Menulis File
<?php
$file = fopen("data.txt", "w");
fwrite($file, "Belajar PHP");
fclose($file);
?>
23. Upload File
PHP memungkinkan pengguna mengunggah file melalui form.
23.1 Form Upload
<form method="post" enctype="multipart/form-data">
<input type="file" name="gambar">
<button type="submit">Upload</button>
</form>
23.2 Proses Upload
<?php
$target = "uploads/" . basename($_FILES["gambar"]["name"]);
move_uploaded_file($_FILES["gambar"]["tmp_name"], $target);
?>
24. Koneksi Database MySQL
PHP sangat populer digunakan bersama MySQL untuk membangun aplikasi berbasis database.
24.1 Koneksi MySQLi
<?php
$conn = new mysqli("localhost", "user", "password", "database");
if ($conn->connect_error) {
die("Koneksi gagal");
}
?>
24.2 Query Data
<?php
$result = $conn->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo $row["nama"];
}
?>
25. Prepared Statement (Keamanan Database)
Prepared statement digunakan untuk mencegah SQL Injection.
<?php
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
?>
Untuk memahami peran database secara historis, silakan baca: Sejarah MySQL dan Perannya dalam Database Web Modern
26. Penutup Dokumentasi PHP
PHP tetap menjadi bahasa backend yang relevan hingga saat ini. Dengan memahami dasar, struktur, keamanan, dan koneksi database, Anda telah memiliki fondasi kuat untuk membangun aplikasi web dinamis.
Langkah selanjutnya adalah mempelajari framework PHP seperti Laravel atau mengombinasikan PHP dengan JavaScript untuk membangun aplikasi modern.
Dokumentasi resmi PHP tersedia di PHP Documentation .
27. Study Case: Sistem Login Sederhana dengan PHP & MySQL
Study case ini menunjukkan penerapan PHP pada kasus nyata berupa sistem login sederhana dengan keamanan dasar menggunakan prepared statement.
27.1 Struktur Database
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
email VARCHAR(100),
password VARCHAR(255)
);
27.2 Form Login
<form method="post" action="login.php">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<button type="submit">Login</button>
</form>
27.3 Proses Login (login.php)
<?php
session_start();
$conn = new mysqli("localhost","user","password","database");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($row = $result->fetch_assoc()) {
if (password_verify($password, $row["password"])) {
$_SESSION["login"] = true;
echo "Login berhasil";
} else {
echo "Password salah";
}
} else {
echo "User tidak ditemukan";
}
}
?>
27.4 Catatan Keamanan
- Gunakan
password_hash()untuk menyimpan password - Gunakan prepared statement
- Validasi input pengguna
Study case ini dapat dikembangkan menjadi sistem autentikasi lengkap seperti pada CMS atau framework modern.
28. FAQ (Frequently Asked Questions) PHP
Apa itu PHP dan fungsinya?
PHP adalah bahasa pemrograman server-side yang digunakan untuk membuat website dan aplikasi web dinamis.
Apakah PHP masih relevan?
Ya. PHP masih banyak digunakan oleh WordPress, Laravel, dan berbagai sistem backend modern.
Apa perbedaan PHP dan JavaScript?
PHP berjalan di server, sedangkan JavaScript berjalan di browser. Keduanya sering digunakan bersama.
Apakah PHP cocok untuk pemula?
PHP sangat cocok untuk pemula karena sintaksnya sederhana dan mudah dipahami.
Database apa yang paling sering digunakan dengan PHP?
MySQL adalah database yang paling umum digunakan bersama PHP.