Semua materi
PHPPemula 11 menit

Fungsi (Function)

Membuat blok kode reusable dengan function.

Mengapa Pakai Fungsi?

  • Reusability — tulis sekali, panggil berkali-kali.
  • Readability — kode lebih rapi.
  • Maintenance — perbaiki di satu tempat.

Fungsi Sederhana

<?php function sapa() { echo "Halo!"; } sapa(); // panggil ?>

Fungsi dengan Parameter

<?php function sapa($nama) { echo "Halo, $nama!"; } sapa("Budi"); // Halo, Budi! ?>

Fungsi dengan Return

<?php function jumlah($a, $b) { return $a + $b; } $hasil = jumlah(5, 3); echo $hasil; // 8 ?>

Default Parameter

<?php function sapa($nama = "Tamu") { echo "Halo, $nama!"; } sapa(); // Halo, Tamu! sapa("Andi"); // Halo, Andi! ?>

Type Hint (PHP Modern)

<?php function tambah(int $a, int $b): int { return $a + $b; } echo tambah(5, 7); // 12 ?>

Scope

Variabel di dalam fungsi tidak terlihat di luar:

<?php $x = 10; function tes() { // echo $x; ❌ error global $x; // akses variabel global echo $x; } ?>

Anonymous Function & Arrow

<?php $kuadrat = function($x) { return $x * $x; }; echo $kuadrat(4); // 16 // Arrow function (PHP 7.4+) $kubik = fn($x) => $x ** 3; echo $kubik(3); // 27 ?>
Coba kode ini
Buka di Playground
<?php
function hitungBMI(float $berat, float $tinggi): array {
    $tinggiM = $tinggi / 100;
    $bmi = $berat / ($tinggiM * $tinggiM);

    if ($bmi < 18.5)      $kategori = "Kurus";
    elseif ($bmi < 25)    $kategori = "Normal";
    elseif ($bmi < 30)    $kategori = "Berlebih";
    else                  $kategori = "Obesitas";

    return ["bmi" => round($bmi, 2), "kategori" => $kategori];
}

$hasil = hitungBMI(70, 175);
echo "BMI: {$hasil['bmi']}\n";
echo "Kategori: {$hasil['kategori']}";
?>