Kode PHP yang Anda tulis sebenarnya tersusun dari dua jenis bahan: statement dan expression. Statement adalah instruksi lengkap yang memerintahkan interpreter melakukan sesuatu, sedangkan expression adalah potongan kode yang menghasilkan nilai. Program hello.php kemarin penuh dengan keduanya tanpa kita namai — kini saatnya memberi nama pada bagian-bagian itu. Pada Chapter ini kita bedah keduanya satu per satu, lalu lihat bagaimana keduanya bekerja sama dalam satu baris kode, termasuk aturan titik koma yang menyatukan semuanya.
Statement Adalah Instruksi Lengkap #
Statement adalah unit eksekusi terkecil yang berdiri sendiri: satu perintah lengkap yang dikerjakan interpreter dari awal sampai akhir. Dua statement yang sudah Anda kenal adalah echo untuk mencetak dan penugasan untuk mengisi variable. Setiap statement ditutup titik koma (;) — tanda itu berfungsi seperti titik pada kalimat, memberi tahu interpreter “instruksi ini selesai”:
<?php
$hargaTiket = 50000;
$jumlahTiket = 3;
echo "Harga tiket: Rp$hargaTiket\n";
echo "Jumlah tiket: $jumlahTiket\n";Output yang Dihasilkan:
Harga tiket: Rp50000
Jumlah tiket: 3Empat baris kode di atas adalah empat statement: dua penugasan mengisi variable, dua echo mencetak nilai. Tanpa titik koma, interpreter tidak tahu di mana sebuah statement berakhir dan statement berikutnya dimulai — dua instruksi yang berhimpit akan ditolak sebagai kesalahan sintaks. Materi membaca pesan kesalahan semacam itu kita bahas tuntas pada Chapter Memahami PHP Errors.
Expression Adalah Bagian yang Menghasilkan Nilai #
Expression adalah potongan kode yang, setelah dihitung, menghasilkan satu nilai. Bentuknya bisa sesederhana sebuah angka 42, lalu bertingkat menjadi operasi 5 + 3, penggabungan string "Halo" . " Budi", hingga isi sebuah variable. Cara paling cepat membuktikan sesuatu adalah expression: berikan ke echo dan lihat nilainya:
<?php
echo 42;
echo "\n";
echo 5 + 3;
echo "\n";
echo "Halo" . " Budi";
echo "\n";
$diskon = 20;
echo $diskon * 3;
echo "\n";Output yang Dihasilkan:
42
8
Halo Budi
60Mari kita baca tiap barisnya sebagai expression:
42: expression paling sederhana — sebuah literal yang nilainya adalah dirinya sendiri.5 + 3: operator penjumlahan menghitung dua operand dan menghasilkan8."Halo" . " Budi": operator titik menggabungkan dua string menjadi"Halo Budi".$diskon * 3: isi variable dibaca (20), dikalikan3, menghasilkan60.
Perhatikan pola pentingnya: statement echo adalah wadah, dan expression di dalamnya adalah isi yang dihitung lalu dicetak. Satu statement bisa memuat banyak expression sekaligus, dan expression bisa bersarang — echo "Total: " . (50000 * 3) . "\n"; memuat operasi perkalian di dalam penggabungan string.
Penugasan Juga Mengembalikan Nilai #
Fakta yang sering mengejutkan pemula: penugasan sendiri adalah expression. Menulis $a = 5; bukan sekadar perintah mengisi variable — penugasan itu menghasilkan nilai yang barusan ditetapkan. Bukti paling terang benderang adalah penugasan berantai:
<?php
$hargaKaos = $hargaTopi = 75000;
echo "Harga kaos: Rp$hargaKaos\n";
echo "Harga topi: Rp$hargaTopi\n";
$sisa = 100;
$sisa = $sisa - 30;
echo "Sisa setelah pengurangan: $sisa\n";Output yang Dihasilkan:
Harga kaos: Rp75000
Harga topi: Rp75000
Sisa setelah pengurangan: 70Baris $hargaKaos = $hargaTopi = 75000; dikerjakan dari kanan: penugasan $hargaTopi = 75000 menghasilkan 75000, lalu nilai itulah yang diberikan ke $hargaKaos — keduanya berakhir berisi 75000. Pada baris $sisa = $sisa - 30;, isi $sisa yang lama (100) dibaca dulu, dikurangi 30, dan hasil 70 itulah yang menjadi nilai penugasan sekaligus isi baru $sisa. Kebiasaan industri sendiri cenderung menghindari penugasan berantai demi keterbacaan; memahami mekanismenya jauh lebih penting daripada memakainya.
Ringkasan #
Statement adalah instruksi lengkap yang diakhiri titik koma; expression adalah bagian yang menghasilkan nilai dan bisa bersarang di dalam statement. Penugasan termasuk expression karena mengembalikan nilai yang ditetapkan, sehingga penugasan berantai menjadi mungkin. Dengan unit-unit ini, satu topik praktis tinggal diurus: bagaimana menata statement agar mudah dibaca manusia — urusan indentasi dan code block pada Chapter berikutnya.