Bab 1: Pengenalan PHP
PHP (Hypertext Preprocessor) adalah bahasa pemrograman server-side yang banyak digunakan untuk pengembangan web dinamis. PHP memungkinkan pengembang untuk membuat halaman web yang interaktif dan dapat berkomunikasi dengan database.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994 dan terus berkembang hingga menjadi salah satu bahasa pemrograman web paling populer di dunia. PHP dapat berjalan di berbagai platform seperti Windows, Linux, dan macOS serta mendukung berbagai server web seperti Apache dan Nginx.
Keunggulan PHP antara lain kemudahan penggunaan, komunitas besar, dan banyaknya framework serta CMS yang mendukungnya seperti Laravel, Symfony, dan WordPress.
Bab 2: Instalasi dan Konfigurasi PHP
Untuk mulai menggunakan PHP, Anda perlu menginstal PHP di komputer Anda. Berikut langkah-langkah instalasi PHP pada sistem operasi Windows dan Linux.
Instalasi PHP di Windows
-
Unduh paket PHP dari situs resmi
php.net
.
-
Ekstrak file ZIP ke folder yang diinginkan, misalnya
C:\php
.
-
Tambahkan path folder PHP ke variabel lingkungan PATH agar dapat diakses dari command prompt.
-
Konfigurasi file
php.ini
sesuai kebutuhan, misalnya mengaktifkan ekstensi database.
-
Uji instalasi dengan menjalankan
php -v
di command prompt.
Instalasi PHP di Linux (Ubuntu)
-
Buka terminal dan jalankan perintah
sudo apt update
.
-
Instal PHP dengan perintah
sudo apt install php libapache2-mod-php
.
-
Restart server Apache dengan
sudo systemctl restart apache2
.
-
Periksa versi PHP dengan
php -v
.
Setelah instalasi, Anda dapat membuat file PHP pertama dengan menulis kode sederhana dan menjalankannya melalui server web.
Bab 3: Sintaks Dasar PHP
PHP menggunakan tag khusus untuk menulis kode di dalam file dengan ekstensi
.php
. Berikut contoh sintaks dasar PHP:
<?php
// Menampilkan teks
echo "Halo, dunia!";
// Variabel dan tipe data
$nama = "Budi";
$umur = 25;
$nilai = 90.5;
$benar = true;
// Menampilkan variabel
echo "Nama saya $nama dan umur saya $umur tahun.";
?>
PHP bersifat case sensitive pada nama variabel dan fungsi. Setiap pernyataan diakhiri dengan titik koma (
;
).
Bab 4: Struktur Kontrol dan Perulangan
Struktur kontrol digunakan untuk mengatur alur program berdasarkan kondisi tertentu. Berikut contoh penggunaan
if
,
else
, dan
switch
:
<?php
$nilai = 75;
if ($nilai >= 80) {
echo "Nilai Anda A";
} elseif ($nilai >= 70) {
echo "Nilai Anda B";
} else {
echo "Nilai Anda C";
}
switch ($nilai) {
case 100:
echo "Nilai sempurna!";
break;
case 75:
echo "Nilai cukup baik";
break;
default:
echo "Nilai standar";
}
?>
Perulangan digunakan untuk menjalankan kode berulang kali. Contoh perulangan
for
,
while
, dan
foreach
:
<?php
// For loop
for ($i = 1; $i <= 5; $i++) {
echo "Perulangan ke-$i <br>";
}
// While loop
$i = 1;
while ($i <= 5) {
echo "While loop ke-$i <br>";
$i++;
}
// Foreach loop
$buah = ["apel", "jeruk", "mangga"];
foreach ($buah as $item) {
echo "Buah: $item <br>";
}
?>
Bab 5: Fungsi dan Array
Fungsi adalah blok kode yang dapat dipanggil berulang kali untuk menjalankan tugas tertentu. Berikut contoh membuat dan memanggil fungsi di PHP:
<?php
function sapa($nama) {
return "Halo, $nama!";
}
echo sapa("Andi");
?>
Array adalah tipe data yang dapat menyimpan banyak nilai dalam satu variabel. Contoh array dan manipulasi dasar:
<?php
// Array numerik
$warna = ["merah", "hijau", "biru"];
echo $warna[0]; // merah
// Array asosiatif
$mahasiswa = [
"nama" => "Sari",
"umur" => 20,
"jurusan" => "Informatika"
];
echo $mahasiswa["nama"]; // Sari
// Menambah elemen array
$warna[] = "kuning";
// Menghitung jumlah elemen
echo count($warna);
?>
Bab 6: Pemrograman Berorientasi Objek (OOP) di PHP
PHP mendukung paradigma pemrograman berorientasi objek yang memungkinkan pengorganisasian kode menggunakan kelas dan objek.
<?php
class Mobil {
public $merk;
public $warna;
public function __construct($merk, $warna) {
$this->merk = $merk;
$this->warna = $warna;
}
public function info() {
return "Mobil $this->merk berwarna $this->warna.";
}
}
$mobil1 = new Mobil("Toyota", "merah");
echo $mobil1->info();
?>
Konsep utama OOP di PHP meliputi enkapsulasi, pewarisan, dan polimorfisme yang membantu membuat kode lebih modular dan mudah dipelihara.
Bab 7: Penanganan Form dan Data User
PHP dapat menerima data dari form HTML menggunakan metode
GET
dan
POST
. Contoh form sederhana dan penanganannya:
<form method="post" action="proses.php">
<label for="nama">Nama:</label>
<input type="text" id="nama" name="nama" required />
<button type="submit">Kirim</button>
</form>
File
proses.php
untuk menerima data:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = htmlspecialchars($_POST["nama"]);
echo "Halo, $nama!";
}
?>
Fungsi
htmlspecialchars()
digunakan untuk mencegah serangan XSS dengan mengubah karakter khusus menjadi entitas HTML.
Bab 8: Pengelolaan File dan Upload
PHP memungkinkan membaca, menulis, dan mengelola file di server serta menerima file yang diupload dari user.
Membaca dan Menulis File
<?php
// Menulis ke file
file_put_contents("data.txt", "Ini adalah data contoh.");
// Membaca isi file
$isi = file_get_contents("data.txt");
echo $isi;
?>
Form Upload File
<form method="post" enctype="multipart/form-data">
<label for="file">Pilih file:</label>
<input type="file" id="file" name="file" required />
<button type="submit">Upload</button>
</form>
Penanganan Upload di PHP
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["file"]["name"]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
echo "File ". htmlspecialchars(basename($_FILES["file"]["name"])) . " berhasil diupload.";
} else {
echo "Maaf, terjadi kesalahan saat upload file.";
}
}
?>
Bab 9: Koneksi dan Manipulasi Database MySQL
PHP dapat terhubung ke database MySQL untuk menyimpan dan mengambil data menggunakan ekstensi
mysqli
atau
PDO
.
Koneksi Database dengan MySQLi
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "db_pelajaran";
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
echo "Koneksi berhasil";
?>
Query Insert Data
<?php
$sql = "INSERT INTO siswa (nama, umur) VALUES ('Andi', 20)";
if ($conn->query($sql) === TRUE) {
echo "Data berhasil disimpan";
} else {
echo "Error: " . $conn->error;
}
?>
Query Select Data
<?php
$sql = "SELECT * FROM siswa";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Nama: " . $row["nama"] . " - Umur: " . $row["umur"] . "<br>";
}
} else {
echo "Tidak ada data";
}
$conn->close();
?>
Bab 10: Keamanan dan Best Practices
Keamanan adalah aspek penting dalam pengembangan aplikasi PHP. Berikut beberapa praktik terbaik yang harus diperhatikan:
-
Validasi dan sanitasi input user:
Selalu validasi dan bersihkan data yang diterima dari user untuk mencegah serangan seperti SQL Injection dan XSS.
-
Gunakan prepared statements:
Saat menggunakan database, gunakan prepared statements untuk menghindari SQL Injection.
-
Hindari menampilkan error secara langsung:
Matikan tampilan error di lingkungan produksi dan simpan log error secara terpisah.
-
Gunakan HTTPS:
Pastikan website menggunakan protokol HTTPS untuk keamanan data transmisi.
-
Manajemen sesi yang aman:
Gunakan session dengan benar dan hindari session fixation.
-
Update PHP dan library secara berkala:
Selalu gunakan versi PHP terbaru dan perbarui library untuk menghindari celah keamanan.
Dengan mengikuti praktik terbaik ini, aplikasi PHP Anda akan lebih aman dan dapat diandalkan.