Learn
← Previous Next →

Hari 7: Fungsi — Definisi, Parameter & Return

65 min Last updated 09 Apr 2026

Mendefinisikan Fungsi

// Fungsi dasar
function sapa($nama) {
    echo "Halo, $nama!\n";
}
sapa("Budi");   // Halo, Budi!
sapa("Sari");   // Halo, Sari!

Parameter Default & Return Value

function hitung_luas($panjang, $lebar = 1) {
    return $panjang * $lebar;
}

echo hitung_luas(10, 5);  // 50
echo hitung_luas(10);     // 10 (lebar default 1)

// Type hints (PHP 7+)
function tambah(int $a, int $b): int {
    return $a + $b;
}
echo tambah(3, 4);  // 7

Variadic Parameter & Spread Operator

// ...$args menangkap banyak argument
function jumlah_semua(int ...$angka): int {
    return array_sum($angka);
}
echo jumlah_semua(1, 2, 3, 4, 5);  // 15

// Spread operator saat memanggil
$arr = [3, 4, 5];
echo jumlah_semua(1, 2, ...$arr);   // 15

Anonymous Function & Arrow Function

// Anonymous function
$kali_dua = function($x) {
    return $x * 2;
};
echo $kali_dua(5);  // 10

// Arrow function (PHP 7.4+)
$kuadrat = fn($x) => $x * $x;
echo $kuadrat(4);   // 16

// Pakai dalam array_map
$angka = [1, 2, 3, 4, 5];
$hasil = array_map(fn($x) => $x * 3, $angka);
print_r($hasil);  // [3, 6, 9, 12, 15]

💡 Notice: Gunakan type hint float untuk parameter dan return value agar kode lebih aman.

Assignment

Buat fungsi celsius_ke_fahrenheit($c) yang mengonversi suhu. Rumus: F = (C * 9/5) + 32. Panggil fungsi dengan 0, 100, dan 37 (baris terpisah, 2 desimal).

Expected output:

32.00
212.00
98.60
PHP index.php
Solution
Output