0Pricing
PHP Academy · Pelajaran

Mendefinisikan dan Memanggil Fungsi

Membuat fungsi sendiri dengan parameter dan nilai kembalian.

Mendefinisikan dan Memanggil Fungsi adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Mengapa Menggunakan Fungsi?

Fungsi memungkinkan Anda mengemas logika yang dapat digunakan kembali dan memberinya nama, sehingga Anda dapat memanggilnya berkali-kali tanpa mengulangi kode. Manfaatnya:

  • Hindari pengulangan (prinsip DRY)
  • Pengujian dan penelusuran kesalahan menjadi lebih mudah
  • Kode yang mendokumentasikan dirinya sendiri

Mendefinisikan Fungsi

Gunakan kata kunci function, nama, parameter opsional, dan badan fungsi:

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

echo greet('Alice'); // Hello, Alice!

Parameter dan Argumen

Parameter adalah nama variabel dalam definisi; argumen adalah nilai sebenarnya yang diteruskan saat fungsi dipanggil:

<?php
function add(int $a, int $b): int {
    return $a + $b;  // $a and $b are parameters
}

$sum = add(3, 4);  // 3 and 4 are arguments
echo $sum;  // 7

Nilai Kembalian

Gunakan return untuk mengirimkan nilai kembali kepada pemanggil. Fungsi tanpa return mengembalikan NULL:

<?php
function square(float $n): float {
    return $n * $n;
}

function logMessage(string $msg): void {
    echo '[LOG] ' . $msg . PHP_EOL;
    // void functions must not return a value
}

echo square(4);        // 16
logMessage('started'); // [LOG] started

Meneruskan berdasarkan Nilai vs Referensi

Secara bawaan, PHP meneruskan argumen berdasarkan nilai (salinan). Tambahkan awalan & untuk meneruskannya berdasarkan referensi:

<?php
function doubleByValue(int $n): void {
    $n *= 2;  // changes only the local copy
}

function doubleByRef(int &$n): void {
    $n *= 2;  // changes the original
}

$x = 5;
doubleByValue($x);
echo $x; // 5 — unchanged

doubleByRef($x);
echo $x; // 10 — changed

Beberapa Titik Pengembalian

Sebuah fungsi dapat memiliki beberapa pernyataan return untuk keluar lebih awal:

<?php
function divide(float $a, float $b): ?float {
    if ($b === 0.0) {
        return null;  // early return on error
    }
    return $a / $b;
}

var_dump(divide(10, 0));   // NULL
echo divide(10, 2);         // 5

Pengangkatan Fungsi

Fungsi PHP tersedia di seluruh berkas, terlepas dari lokasi definisinya — berbeda dari JavaScript, sebagian besar fungsi PHP TIDAK perlu dideklarasikan sebelum digunakan:

<?php
echo double(5);  // 10 — works even though double is defined below

function double(int $n): int {
    return $n * 2;
}

// Exception: functions inside conditionals ARE position-sensitive

Fungsi Rekursif

Fungsi yang memanggil dirinya sendiri disebut rekursif. Selalu pastikan terdapat kasus dasar agar rekursi tak terbatas dapat dihindari:

<?php
function factorial(int $n): int {
    if ($n <= 1) return 1;  // base case
    return $n * factorial($n - 1);  // recursive call
}

echo factorial(5);  // 120

Deklarasi Tipe

PHP 7+ mendukung petunjuk tipe parameter dan kembalian. PHP 8 menambahkan mixed, never, dan tipe irisan:

<?php
declare(strict_types=1);

function clamp(int $value, int $min, int $max): int {
    return max($min, min($max, $value));
}

echo clamp(150, 0, 100);  // 100
echo clamp(-5,  0, 100);  // 0
echo clamp(42,  0, 100);  // 42

Fungsi Bernama vs Bawaan

PHP menyediakan ribuan fungsi bawaan. Anda selalu dapat memeriksa apakah suatu fungsi tersedia saat runtime:

<?php
if (function_exists('mb_strlen')) {
    echo mb_strlen('こんにちは');  // 5 — correct multi-byte length
} else {
    echo strlen('こんにちは');      // 15 — byte count, wrong for UTF-8
}

Mengembalikan Beberapa Nilai

Kembalikan beberapa nilai dengan mengembalikan array dan menguraikannya di lokasi pemanggilan:

<?php
function minMax(array $arr): array {
    return [min($arr), max($arr)];
}

[$min, $max] = minMax([3, 1, 7, 2, 9]);
echo "Min: $min, Max: $max";  // Min: 1, Max: 9

Pemeriksaan Singkat

Apa yang dikembalikan fungsi PHP tanpa pernyataan return eksplisit?

Ringkasan: Fungsi

Dasar-dasar fungsi PHP:

  • Definisikan dengan function name(params): returnType
  • Teruskan berdasarkan nilai (bawaan) atau berdasarkan referensi dengan &
  • Fungsi tanpa return mengembalikan NULL
  • Rekursi memerlukan kasus dasar
  • Fungsi tersedia di seluruh berkas (pengangkatan deklarasi)

Berikutnya: parameter bawaan dan variadik.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mendefinisikan dan Memanggil Fungsi” gratis?

Ya — teks lengkap “Mendefinisikan dan Memanggil Fungsi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mendefinisikan dan Memanggil Fungsi”?

Membuat fungsi sendiri dengan parameter dan nilai kembalian. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Mendefinisikan dan Memanggil Fungsi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendefinisikan dan Memanggil Fungsi
  2. Parameter Default dan Variadik
  3. Cakupan Variabel: Lokal dan Global
  4. Fungsi Anonim dan Closure
← Kembali ke PHP Academy