Halo, teman-teman SMA! Selamat datang kembali di seri pemrograman PHP setiap Jumat di sinapsains.com. Minggu lalu, kita udah belajar mengendalikan alur program pakai struktur kontrol seperti if-else, switch, dan loop. Sekarang, program kalian udah bisa ambil keputusan dan ulang tugas otomatis, keren kan? Nah, di Minggu 4 ini, kita naik level lagi: fungsi di PHP. Bayangin fungsi kayak kotak alat super yang bisa kalian pake ulang-ulang tanpa nulis kode yang sama berulang kali. Misalnya, kalau kalian sering hitung diskon belanja, bikin aja fungsi sekali, panggil kapan aja. Ini bikin kode lebih rapi, mudah dibaca, dan hemat waktu – cocok buat pemula kayak kalian yang lagi belajar bikin website dinamis.
Kenapa fungsi penting? Di dunia nyata, developer PHP pake fungsi buat bikin app yang scalable, artinya bisa tumbuh tanpa berantakan. Menurut data terbaru, PHP masih dipake di lebih dari 70% website dunia, dan fungsi adalah salah satu fitur yang bikin PHP powerful. Di artikel ini, kita bahas dari dasar: apa itu fungsi, cara bikin, parameter, nilai kembalian, sampe fitur canggih kayak fungsi anonim dan named arguments di PHP 8+. Kita juga kasih contoh seru kayak fungsi hitung diskon atau konversi suhu, plus tips best practices biar kode kalian pro. Coba langsung di XAMPP, Laragon, atau WSL dari minggu sebelumnya. Yuk, mulai coding lebih smart!
Apa Itu Fungsi? Kotak Ajaib yang Bisa Dipake Ulang
Fungsi di PHP adalah blok kode yang bisa kalian beri nama dan panggil kapan aja. Kayak resep masak: tulis sekali, pake berkali-kali. Ada dua jenis: built-in (udah ada dari PHP, kayak echo() atau strlen()) dan user-defined (yang kalian bikin sendiri).
Sintaks dasar bikin fungsi:
function namaFungsi() { // Kode di sini }
Contoh sederhana: Fungsi salam.
<?php function salam() { echo "Halo, selamat belajar PHP!"; } salam(); // Panggil fungsi, output: Halo, selamat belajar PHP! ?>
Simpan sebagai fungsi.php dan buka di browser. Gampang, kan? Fungsi ini nggak punya input atau output khusus, tapi udah bikin kode lebih modular – artinya, pisah-pisah bagian supaya mudah di-manage.
Parameter: Kasih Input ke Fungsi
Supaya fungsi lebih fleksibel, tambah parameter – kayak bahan masak yang bisa diganti. Parameter ditulis di kurung fungsi, dan saat panggil, kasih arguments (nilai nyata).
Contoh: Fungsi tambah dua angka.
function tambah($a, $b) { echo $a + $b; } tambah(5, 3); // Output: 8
Kalian bisa kasih default value kalau parameter opsional:
function salam($nama = "Teman") { echo "Halo, $nama!"; } salam(); // Halo, Teman! salam("Budi"); // Halo, Budi!
Fitur keren di PHP 8+: Named arguments, artinya panggil parameter pake nama, nggak harus urut. Cocok kalau fungsi punya banyak parameter opsional.
Contoh:
function minum($jenis = "air", $jumlah = 1) { echo "Minum $jumlah gelas $jenis."; } minum(jumlah: 2, jenis: "kopi"); // Minum 2 gelas kopi.
Variadic functions: Tangkap parameter banyak pake … (ellipsis).
function jumlah(...$angka) { $total = 0; foreach ($angka as $n) { $total += $n; } echo $total; } jumlah(1, 2, 3, 4); // 10
Passing by reference: Pakai & buat ubah variabel asli.
function tambahSatu(&$x) { $x++; } $bil = 5; tambahSatu($bil); echo $bil; // 6
Hati-hati, ini bisa ubah data luar fungsi!
Nilai Kembalian: Dapet Output dari Fungsi
Fungsi bisa kembalikan nilai pake return. Ini penting buat hitung-hitungan.
Contoh: Fungsi kuadrat.
function kuadrat($x) { return $x * $x; } echo kuadrat(4); // 16
Return multiple values pake array:
function infoSiswa() { return ["Budi", 16, "SMA"]; } list($nama, $umur, $sekolah) = infoSiswa(); echo "$nama umur $umur di $sekolah.";
Type declarations: Tambah tipe buat parameter dan return biar aman (PHP 7+).
function tambah(int $a, int $b): int { return $a + $b; }
Void functions: Fungsi yang nggak return apa-apa, deklarasi : void.
Fungsi Canggih: Anonym dan Variable
Fungsi anonim (closure): Fungsi tanpa nama, cocok buat callback.
Contoh:
$salam = function($nama) { echo "Halo $nama!"; }; $salam("Budi");
Variable functions: Panggil fungsi dari variabel.
$func = "tambah"; $func(5, 3); // 8
Contoh Proyek Kecil: Fungsi Hitung Diskon Belanja
Mari bikin fungsi buat hitung diskon. Simpan sebagai diskon.php:
<!DOCTYPE html> <html> <head><title>Hitung Diskon</title></head> <body> <h2>Kalkulator Diskon</h2> <?php function hitungDiskon($harga, $diskonPersen = 10) { $potongan = ($harga * $diskonPersen) / 100; return $harga - $potongan; } $hargaBarang = 100000; $diskon = 20; $total = hitungDiskon($hargaBarang, $diskon); echo "Harga asli: Rp $hargaBarang<br>"; echo "Diskon: $diskon%<br>"; echo "Harga akhir: Rp $total"; ?> </body> </html>
Coba ganti nilai, atau tambah fungsi lain kayak hitung pajak.
Tips dan Best Practices untuk Pemula
Dari para expert, ini tips bikin fungsi bagus di 2025:
- Gunakan nama deskriptif: Bukan tambah(), tapi hitungTotalBelanja().
- Keep small: Satu fungsi satu tugas (Single Responsibility Principle).
- Pakai type hints buat aman.
- Dokumentasi: Tambah komentar.
- Hindari global variables, pake parameter.
- Test fungsi: Coba berbagai input.
- Di Laragon/WSL: Gunakan untuk proyek besar.
Penutup
Fungsi bikin PHP makin asyik! Kode kalian sekarang lebih rapi dan reusable. Minggu depan, kita bahas array buat data banyak. Share eksperimen di komentar sinapsains.com. Keep coding!
Referensi
- PHP Official Documentation. (2025). User-defined functions. Diakses dari https://www.php.net/manual/en/functions.user-defined.php
- PHP Official Documentation. (2025). Function arguments. Diakses dari https://www.php.net/manual/en/functions.arguments.php
- PHP Official Documentation. (2025). Returning values. Diakses dari https://www.php.net/manual/en/functions.returning-values.php
- W3Schools. (2025). PHP Functions. Diakses dari https://www.w3schools.com/php/php_functions.asp
- GeeksforGeeks. (2025). PHP Functions. Diakses dari https://www.geeksforgeeks.org/php/php-functions/