> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/php/bab-5-fungsi-function/5.1-membuat-fungsi-kustom.md).

# 5.1 Membuat Fungsi Kustom

Fungsi kustom membantu Anda memecah logika program menjadi bagian kecil yang rapi.

Pada bagian ini, Anda belajar parameter, nilai balik, dan pemanggilan fungsi.

### Video pengantar

Tonton video ini untuk mendapat gambaran awal sebelum lanjut ke materi inti.

{% embed url="<https://youtu.be/R5C70w2MOkE?si=rvHUzfisuUW6BlVQ>" %}

### Tujuan belajar

Setelah mempelajari bagian ini, Anda diharapkan bisa:

* memahami fungsi dalam program
* membuat fungsi sederhana sendiri
* memakai parameter dan nilai balik

### Kenapa fungsi penting

Saat program mulai panjang, Anda akan sering menulis logika yang mirip berulang kali.

Fungsi membantu Anda merapikan logika itu ke dalam satu blok yang bisa dipakai kembali.

### Bentuk dasar fungsi

```php
<?php
function sapa() {
    echo "Halo, selamat belajar PHP!";
}

sapa();
?>
```

Pada contoh itu:

* `function` dipakai untuk membuat fungsi
* `sapa` adalah nama fungsi
* `sapa();` dipakai untuk memanggil fungsi

### Fungsi dengan parameter

Parameter dipakai agar fungsi bisa menerima data dari luar.

```php
<?php
function sapaNama($nama) {
    echo "Halo, " . $nama;
}

sapaNama("Rina");
?>
```

Dengan parameter, satu fungsi bisa dipakai untuk banyak data yang berbeda.

### Fungsi dengan nilai balik

Selain menampilkan output, fungsi juga bisa mengembalikan nilai dengan `return`.

```php
<?php
function jumlah($a, $b) {
    return $a + $b;
}

$hasil = jumlah(10, 5);
echo $hasil;
?>
```

### Kapan fungsi dipakai

Gunakan fungsi saat:

* ada kode yang berulang
* Anda ingin program lebih rapi
* satu logika perlu dipakai di banyak tempat

### Contoh kasus sederhana

```php
<?php
function cekLulus($nilai) {
    if ($nilai >= 75) {
        return "Lulus";
    }

    return "Remedial";
}

echo cekLulus(80);
?>
```

### Kesalahan umum

* lupa memanggil fungsi setelah dibuat
* bingung membedakan parameter dan argumen
* lupa memakai `return` saat ingin mengembalikan nilai

### Latihan singkat

Buat fungsi untuk:

* menampilkan salam
* menjumlahkan dua angka
* mengecek nilai lulus atau tidak

### Poin evaluasi bab 5.1.

Pastikan Anda sudah memahami poin berikut:

* Saya paham fungsi membantu merapikan program.
* Saya bisa membuat dan memanggil fungsi sederhana.
* Saya paham fungsi parameter.
* Saya bisa memakai `return` untuk mengembalikan nilai.

Jika semua sudah jelas, lanjut ke [5.2 Fungsi Bawaan PHP](/php/bab-5-fungsi-function/5.2-fungsi-bawaan-php.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/php/bab-5-fungsi-function/5.1-membuat-fungsi-kustom.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
