Sintaks adalah aturan penulisan kode yang benar. Setiap bahasa pemrograman memiliki aturan tersendiri, sama seperti bahasa Indonesia atau Inggris memiliki tata bahasa. Jika kita salah penulisan, komputer tidak akan mengerti apa yang kita perintahkan.
Setiap kode PHP harus dibungkus dengan tag pembuka <?php dan penutup ?>:
<?php
// Ini adalah komentar
echo "Halo, ini adalah PHP!";
?>
// digunakan untuk komentar (tidak dijalankan). Tag <?php adalah cara modern yang direkomendasikan.
Bayangkan Anda memiliki sebuah gudang besar yang ingin digunakan untuk menyimpan barang-barang berharga. Untuk mengorganisir gudang tersebut dengan rapi, Anda membutuhkan strategi khusus...
Variabel adalah "kotak" tempat menyimpan data.
Setiap kotak memiliki label (nama variabel) dan isi (nilai). Nama kotak selalu dimulai dengan tanda $ di PHP.
Contoh: $nama adalah kotak dengan label "nama" yang bisa menyimpan apa saja.
Anda bisa membuat banyak kotak dengan nama berbeda: $nama, $umur, $alamat, dll.
Tipe data adalah "jenis" isi yang disimpan dalam kotak.
Sama seperti gudang nyata, ada kotak untuk menyimpan buku, ada kotak untuk menyimpan elektronik, ada kotak untuk buah, dll.
Di PHP, ada beberapa jenis kotak:
Untuk membuat variabel, gunakan format: $nama_variabel = nilai;
<?php
$nama = "Budi"; // String - teks
$umur = 25; // Integer - angka bulat
$tinggi = 170.5; // Float - angka desimal
$aktif = true; // Boolean - true/false
echo $nama; // Output: Budi
echo $umur; // Output: 25
?>
PHP memiliki beberapa tipe data utama. Setiap tipe data menyimpan jenis informasi yang berbeda:
Teks atau kata-kata. Ditulis dengan tanda kutip "..." atau '...'
"Halo", 'Dunia', "Kafekoding"
Angka bulat positif atau negatif. Tanpa tanda kutip dan tanpa titik desimal.
10, -5, 999, 0
Angka dengan titik desimal (koma). Untuk angka pecahan atau presisi tinggi.
3.14, 2.5, 10.99, -3.141592
Hanya ada 2 nilai: true (benar) atau false (salah). Digunakan untuk logika.
true, false
Kumpulan nilai dalam satu variabel. Seperti kotak besar yang berisi banyak kotak kecil.
['item1', 'item2'], [1, 2, 3]
Menyatakan bahwa variabel tidak memiliki nilai. Kotak kosong atau belum diisi.
null
Anda bisa menggabungkan beberapa string menggunakan operator . (titik):
<?php
$nama = "Budi";
$salam = "Halo, " . $nama . "!";
echo $salam; // Output: Halo, Budi!
// Atau menggunakan interpolasi (memasukkan variabel di dalam string)
echo "Halo, $nama!"; // Output: Halo, Budi!
?>
var_dump($variabel) untuk melihat tipe data dan nilai variabel dengan detail. Sangat berguna saat debugging!
$_$nama berbeda dengan $Nama$nama, $nama_lengkap, $_alamat, $umur2PHP menyediakan ratusan fungsi bawaan yang siap digunakan. Untuk pemula, mari kita pelajari beberapa fungsi yang paling sering digunakan:
Fungsi ini digunakan untuk mengecek tipe data dari sebuah variabel:
Mengembalikan nama tipe data dalam bentuk string
gettype($var) → "string", "integer", "boolean", dll
Mengecek apakah variabel bertipe string
is_string($var) → true atau false
Mengecek apakah variabel bertipe integer
is_int($var) → true atau false
Mengecek apakah variabel bertipe float/double
is_float($var) → true atau false
Mengecek apakah variabel bertipe array
is_array($var) → true atau false
Mengecek apakah variabel bernilai NULL
is_null($var) → true atau false
<?php
$nama = "Budi"; // String
$umur = 25; // Integer
$tinggi = 170.5; // Float
$aktif = true; // Boolean
$hobi = ["Coding", "Gaming"]; // Array
echo "gettype(\$nama) = " . gettype($nama) . "\n";
echo "is_string(\$nama) = " . (is_string($nama) ? "true" : "false") . "\n";
echo "is_int(\$umur) = " . (is_int($umur) ? "true" : "false") . "\n";
echo "is_array(\$hobi) = " . (is_array($hobi) ? "true" : "false") . "\n";
?>
Fungsi ini digunakan untuk mengecek status atau kondisi variabel:
Mengecek apakah variabel sudah didefinisikan dan tidak NULL
isset($var) → true atau false
Digunakan untuk cek form $_GET, $_POST
Mengecek apakah variabel kosong (0, "", null, false, dll)
empty($var) → true atau false
Cocok untuk validasi form input
<?php
$nama = "Budi";
$email = ""; // String kosong
$umur = null; // NULL
echo "isset(\$nama) = " . (isset($nama) ? "true" : "false") . "\n";
echo "isset(\$umur) = " . (isset($umur) ? "true" : "false") . "\n";
echo "empty(\$email) = " . (empty($email) ? "true" : "false") . "\n";
echo "empty(\$nama) = " . (empty($nama) ? "true" : "false") . "\n";
?>
Fungsi ini digunakan untuk memanipulasi dan mengolah string:
Menghitung jumlah karakter dalam string
strlen("Halo") → 4
Mengubah semua karakter menjadi huruf besar
strtoupper("halo") → "HALO"
Mengubah semua karakter menjadi huruf kecil
strtolower("HALO") → "halo"
Mengambil bagian dari string (substring)
substr("Halo", 0, 2) → "Ha"
Mencari posisi substring dalam string
strpos("Halo", "a") → 1
Mengganti bagian string dengan string lain
str_replace("a", "e", "Halo") → "Helo"
<?php
$text = "Halo Kafekoding";
echo "strlen(\$text) = " . strlen($text) . "\n";
echo "strtoupper(\$text) = " . strtoupper($text) . "\n";
echo "strtolower(\$text) = " . strtolower($text) . "\n";
echo "substr(\$text, 0, 4) = " . substr($text, 0, 4) . "\n";
echo "strpos(\$text, \"Kafe\") = " . strpos($text, "Kafe") . "\n";
echo "str_replace(\"Halo\", \"Hai\", \$text) = " . str_replace("Halo", "Hai", $text) . "\n";
?>
Modularisasi adalah prinsip memisahkan kode menjadi file-file terpisah agar lebih mudah dikelola, dibaca, dan digunakan kembali. Prinsip ini dikenal sebagai DRY (Don't Repeat Yourself).
Bayangkan Anda punya banyak buku di rumah. Jika semua buku ditumpuk jadi satu di lantai, akan sangat berantakan dan sulit dicari. Solusinya adalah membuat beberapa lemari buku terpisah untuk berbagai kategori: lemari buku programming, lemari buku bisnis, lemari buku fiksi, dll.
Di PHP sama halnya:
database.php, user.php, product.php)Ada 4 cara untuk memasukkan/menggunakan file lain di PHP:
include 'file.php';
✅ Memasukkan file
⚠️ Jika file tidak ketemu, warning tapi tetap lanjut
require 'file.php';
✅ Memasukkan file
🛑 Jika file tidak ketemu, ERROR fatal dan berhenti
include_once 'file.php';
✅ Memasukkan file (hanya 1x)
🔒 Jika sudah di-include sebelumnya, tidak include lagi
require_once 'file.php';
✅ Memasukkan file (hanya 1x)
🔒 Jika sudah di-require sebelumnya, tidak require lagi
Mari kita lihat contoh bagaimana memisahkan file:
📁 Struktur Folder Project:
project/
├── index.php (File utama)
├── config.php (Konfigurasi database)
├── functions/
│ ├── user.php (Function untuk user)
│ └── product.php (Function untuk product)
└── templates/
├── header.php
└── footer.php
File: config.php (Konfigurasi)
<?php
// Konfigurasi Database
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "toko_online";
// Variabel global yang bisa diakses di file lain
?>
File: functions/user.php (Function untuk user)
<?php
// Function untuk ambil data user
function getUser($id) {
return "User dengan ID: " . $id;
}
function validateEmail($email) {
return strpos($email, "@") !== false;
}
?>
File: index.php (File utama yang menggabungkan semuanya)
<?php
// Memasukkan file konfigurasi
require_once 'config.php';
// Memasukkan file functions
require_once 'functions/user.php';
// Sekarang kita bisa gunakan variabel dan function dari file lain
echo "Database: " . $db_name . "\n";
echo getUser(5) . "\n";
echo "Email valid? " . (validateEmail("user@example.com") ? "Ya" : "Tidak") . "\n";
?>
require_once atau include_once untuk mencegah duplikasi