Interpreter PHP tidak peduli apakah kode Anda ditulis rapi atau sesak dalam satu baris — keduanya dieksekusi sama persis. Yang peduli adalah manusia: diri Anda sendiri yang harus membedah kode minggu depan, atau rekan tim yang mewarisi program Anda. Pada Chapter ini kita pelajari dua perangkat penataan kode: code block dengan kurung kurawal untuk mengelompokkan statement, serta indentasi untuk memperlihatkan struktur kelompok itu secara visual. Keduanya tidak mengubah perilaku program sedikit pun, tetapi mengubah total kemudahan membacanya.

PHP Tidak Peduli Spasi #

Di antara token-token kode — nama variable, operator, titik koma — jumlah spasi, tab, dan pergantian baris bebas Anda atur. Dua program berikut identik di mata interpreter:

php
<?php
$harga=15000;$jumlah=3;$total=$harga*$jumlah;echo "Total: Rp$total\n";

Output yang Dihasilkan:

text
Total: Rp45000
php
<?php

$harga = 15000;
$jumlah = 3;
$total = $harga * $jumlah;

echo "Total: Rp$total\n";

Output yang Dihasilkan:

text
Total: Rp45000

Kedua blok menghasilkan output yang persis sama karena token penyusunnya sama: statement yang sama, urutan yang sama, hanya tata letaknya berbeda. Versi sesak di baris pertama sah secara bahasa, tetapi memaksa pembaca mengurai empat statement sekaligus dalam satu tarikan mata; versi kedua memberi setiap statement barisnya sendiri dan ruang napas di sekitar kelompoknya. Kebebasan ini justru tanggung jawab: karena bahasa tidak memaksa kerapian, kerapian harus datang dari kebiasaan Anda.

Mengelompokkan Statement dengan Code Block #

Kurung kurawal { ... } membentuk sebuah code block: kumpulan statement yang diperlakukan sebagai satu kesatuan. Interpreter masuk ke blok, menjalankan isinya dari atas ke bawah, lalu melanjutkan ke kode setelah blok:

php
<?php

{
    $namaToko = "Toko Kita";
    $tahunBerdiri = 2015;

    echo "$namaToko berdiri tahun $tahunBerdiri\n";
    echo "Sudah beroperasi lebih dari satu dekade\n";
}

Output yang Dihasilkan:

text
Toko Kita berdiri tahun 2015
Sudah beroperasi lebih dari satu dekade

Blok juga bisa bersarang — blok di dalam blok — dan PHP menjalankannya seperti kotak di dalam kotak:

php
<?php

{
    $levelSatu = "luar";
    {
        $levelDua = "dalam";
        echo "$levelSatu dan $levelDua terbaca di sini\n";
    }
    echo "Setelah blok dalam selesai, \$levelDua tetap terbaca: $levelDua\n";
}

Output yang Dihasilkan:

text
luar dan dalam terbaca di sini
Setelah blok dalam selesai, $levelDua tetap terbaca: dalam

Pada contoh di atas, variable $levelDua yang diisi di blok dalam tetap terbaca setelah blok itu selesai. Code block memang murni alat pengelompokan — ia tidak mengunci variable di dalamnya (pengecualian pentingnya adalah body function, yang memiliki jangkauan variable sendiri; kita bahas lengkap pada Chapter Variable Scope). Kegunaan terbesar code block justru tampak ketika dipasangkan dengan struktur kontrol seperti if, yang memilih blok mana yang dieksekusi:

php
<?php

$stok = 3;

if ($stok > 0) {
    echo "Stok tersedia: $stok\n";
} else {
    echo "Stok habis\n";
}

Output yang Dihasilkan:

text
Stok tersedia: 3

Jangan kuatir belum mengenal if secara formal — materi lengkapnya menunggu di Section Control Flow. Yang perlu Anda serap sekarang adalah pola visualnya: if menguji kondisi, lalu salah satu dari dua blok dijalankan. Blok inilah yang nantinya menjadi badan dari while, for, foreach, dan function.

Indentasi Menceritakan Struktur #

Indentasi adalah menjoroknya baris kode dari margin kiri — biasanya empat spasi setiap satu tingkat kedalaman. Aturan bacanya sederhana: baris yang menjorok sama adalah saudara satu blok; baris yang menjorok lebih dalam adalah isi blok di atasnya. Bandingkan dua penulisan program yang sama ini:

php
<?php
$stok = 3;
if ($stok > 0)
{ echo "Stok tersedia: $stok\n"; }
else
{ echo "Stok habis\n"; }

Versi di atas sah secara bahasa dan lolos pemeriksaan sintaks, tetapi kurung kurawal yang menggantung sendirian memutus hubungan visual antara if dan bloknya. Penulisan yang dianjurkan PSR-12 — panduan gaya komunitas PHP — menempelkan { di akhir baris if, menjorokkan isi blok empat spasi, dan menutup dengan } yang sejajar dengan if:

php
<?php
$stok = 3;
if ($stok > 0) {
    echo "Stok tersedia: $stok\n";
} else {
    echo "Stok habis\n";
}

Perhatikan pula contoh penataan yang sering dipakai untuk deklarasi variable — nilai-nilai sejenis disejajarkan agar mudah dibandingkan, dan expression panjang dilipat baris kedua dengan menjorok:

php
<?php

$hargaSatuan = 15000;
$jumlah      = 4;
$diskon      = 0.1;

$total = ($hargaSatuan * $jumlah)
    - (($hargaSatuan * $jumlah) * $diskon);

echo "Total setelah diskon: Rp$total\n";

Output yang Dihasilkan:

text
Total setelah diskon: Rp54000

Ringkasan #

Code block { ... } mengelompokkan statement menjadi satu kesatuan dan menjadi wadah bagi struktur kontrol; indentasi memvisualkan kelompok itu bagi mata manusia. PHP mengeksekusi kode apa pun tata letaknya, jadi mutu tata letak sepenuhnya tanggung jawab penulisnya. Ada satu perangkat lagi yang membuat kode menceritakan dirinya sendiri tanpa mengubah eksekusi: komentar — topik Chapter berikutnya.

Referensi #