Materi Function Lengkap di PHP

Materi Function Lengkap di Pemrograman PHP

Materi Function Lengkap di PHP

1. Pengertian Function

Function (fungsi) adalah sekumpulan kode yang dibungkus dalam satu nama, dan dapat dipanggil berulang kali.
Tujuan penggunaan function:

  • Menghindari duplikasi kode.
  • Membuat program lebih rapi dan mudah dibaca.
  • Memudahkan perawatan dan pengembangan.

2. Cara Membuat Function

Bentuk dasar:

function namaFungsi() {

    // kode yang dijalankan

}

Contoh:

<?php

function salam() {

    echo “Halo, Selamat Datang di PHP!”;

}

salam(); // memanggil function

?>


3. Function dengan Parameter

Parameter digunakan untuk mengirim data ke dalam function.

<?php

function sapa($nama) {

    echo “Halo, $nama! Selamat belajar PHP.<br>”;

}

sapa(“Budi”);

sapa(“Siti”);

?>

Output:

Halo, Budi! Selamat belajar PHP.

Halo, Siti! Selamat belajar PHP.


4. Function dengan Return Value

return digunakan agar function menghasilkan nilai.

<?php

function tambah($a, $b) {

    return $a + $b;

}

$hasil = tambah(5, 7);

echo “Hasil penjumlahan: $hasil”;

?>

Output:

Hasil penjumlahan: 12


5. Default Parameter

Kita bisa memberi nilai default pada parameter.

<?php

function sapa($nama = “Pengunjung”) {

    echo “Halo, $nama!<br>”;

}

sapa(“Andi”);

sapa(); // akan pakai default

?>

Output:

Halo, Andi!

Halo, Pengunjung!


6. Function dengan Multiple Parameter

Function bisa punya lebih dari satu parameter.

<?php

function hitungLuasPersegiPanjang($panjang, $lebar) {

    return $panjang * $lebar;

}

echo “Luas: ” . hitungLuasPersegiPanjang(5, 10);

?>


7. Variable Scope

  • Local: hanya bisa diakses di dalam function.
  • Global: bisa diakses dari luar function dengan global.
  • Static: menyimpan nilai terakhir meskipun function selesai dipanggil.

<?php

$nama = “Ani”; // global

function tampilNama() {

    global $nama; // akses variabel global

    echo “Nama: $nama<br>”;

}

function counter() {

    static $count = 0;

    $count++;

    echo “Counter: $count<br>”;

}

tampilNama();

counter();

counter();

counter();

?>

Output:

Nama: Ani

Counter: 1

Counter: 2

Counter: 3


8. Anonymous Function (Closure)

Function tanpa nama, disimpan dalam variabel.

<?php

$halo = function($nama) {

    return “Halo $nama!”;

};

echo $halo(“Budi”);

?>


9. Arrow Function (PHP 7.4+)

Penulisan singkat function.

<?php

$tambah = fn($a, $b) => $a + $b;

echo $tambah(10, 5); // 15

?>


10. Recursive Function

Function yang memanggil dirinya sendiri.

<?php

function faktorial($n) {

    if ($n == 1) return 1;

    return $n * faktorial($n – 1);

}

echo “5! = ” . faktorial(5);

?>

Output:

5! = 120


11. Built-in Functions di PHP

PHP menyediakan banyak function bawaan, misalnya:

  • strlen(“teks”) → panjang string.
  • strtoupper(“abc”) → huruf besar.
  • date(“Y-m-d”) → tanggal.
  • rand(1, 10) → angka random.
  • count($array) → jumlah elemen array.

12. Studi Kasus: Program Kasir Sederhana

<?php

function hitungTotal($harga, $jumlah) {

    return $harga * $jumlah;

}

function formatRupiah($angka) {

    return “Rp ” . number_format($angka, 0, ‘,’, ‘.’);

}

$produk = [

    [“Apel”, 10000, 5],

    [“Jeruk”, 12000, 3],

    [“Mangga”, 15000, 2]

];

$totalBayar = 0;

foreach ($produk as $p) {

    $subTotal = hitungTotal($p[1], $p[2]);

    echo $p[0] . ” – ” . formatRupiah($p[1]) . ” x ” . $p[2] . ” = ” . formatRupiah($subTotal) . “<br>”;

    $totalBayar += $subTotal;

}

echo “<b>Total Bayar: ” . formatRupiah($totalBayar) . “</b>”;

?>

Output:

Apel – Rp 10.000 x 5 = Rp 50.000

Jeruk – Rp 12.000 x 3 = Rp 36.000

Mangga – Rp 15.000 x 2 = Rp 30.000

Total Bayar: Rp 116.000


13. Best Practices Function di PHP

  • Gunakan nama yang jelas (misal hitungLuasLingkaran() bukan hitung() saja).
  • Jika function panjang, bagi jadi function kecil.
  • Gunakan return untuk mengembalikan nilai, jangan hanya echo.
  • Gunakan type hinting (PHP 7+):

function tambah(int $a, int $b): int {

    return $a + $b;

}


Jadi, function di PHP itu sangat penting, mulai dari yang sederhana (sapa()) sampai yang lebih kompleks (kasir, perhitungan, format data).


Modul Latihan Function di PHP


Pertemuan: Function Dasar

Materi Singkat

  • Function digunakan untuk mengelompokkan kode agar lebih rapi.
  • Ada 2 cara: function tanpa parameter & function dengan parameter.
  • Function bisa return nilai.

Latihan Soal

Soal 1.
Buat sebuah function bernama salam() yang menampilkan teks:

Halo, Selamat Datang di Pemrograman PHP!

Soal 2.
Buat function hitungKelilingPersegi($sisi) yang menghitung keliling persegi (rumus: 4 * sisi).

Soal 3.
Buat function hitungDiskon($harga, $diskon) yang menerima harga barang dan persentase diskon, lalu mengembalikan harga setelah diskon.

Soal 4.
Buat function cekGenap($angka) yang menampilkan apakah angka tersebut “Genap” atau “Ganjil”.

Soal 5.
Buat function luasSegitiga($alas, $tinggi) yang mengembalikan luas segitiga (rumus: (alas * tinggi) / 2).


Kunci Jawaban

Jawaban 1

<?php

function salam() {

    echo “Halo, Selamat Datang di Pemrograman PHP!”;

}

salam();

?>

Jawaban 2

<?php

function hitungKelilingPersegi($sisi) {

    return 4 * $sisi;

}

echo “Keliling persegi = ” . hitungKelilingPersegi(5);

?>

Jawaban 3

<?php

function hitungDiskon($harga, $diskon) {

    $potongan = $harga * ($diskon / 100);

    return $harga – $potongan;

}

echo “Harga setelah diskon = ” . hitungDiskon(100000, 20);

?>

Jawaban 4

<?php

function cekGenap($angka) {

    if ($angka % 2 == 0) {

        echo “$angka adalah Genap”;

    } else {

        echo “$angka adalah Ganjil”;

    }

}

cekGenap(7);

?>

Jawaban 5

<?php

function luasSegitiga($alas, $tinggi) {

    return ($alas * $tinggi) / 2;

}

echo “Luas segitiga = ” . luasSegitiga(10, 5);

?>


Pertemuan: Function Lanjutan

Materi Singkat

  • Function bisa punya default parameter.
  • Function bisa berbentuk anonymous function (closure).
  • Bisa dibuat recursive function (function memanggil dirinya sendiri).

Latihan Soal

Soal 6.
Buat function sapa($nama = “Pengunjung”) yang menampilkan:

Halo, [nama]!

Jika tidak ada nama yang dimasukkan, tampilkan “Halo, Pengunjung!”.

Soal 7.
Buat anonymous function untuk menghitung luas lingkaran dengan jari-jari 7.

Soal 8.
Buat recursive function faktorial($n) untuk menghitung nilai faktorial.

Soal 9.
Buat function formatRupiah($angka) yang mengembalikan angka dalam format rupiah (contoh: 10000 → Rp 10.000).

Soal 10. (Studi Kasus)
Buat program daftar produk dengan function:

  • hitungTotal($harga, $qty)
  • formatRupiah($angka)

Produk:

  • Apel, harga 5000, jumlah 3
  • Jeruk, harga 7000, jumlah 2

Tampilkan dalam format:

Apel – Rp 5.000 x 3 = Rp 15.000

Jeruk – Rp 7.000 x 2 = Rp 14.000

Total Bayar = Rp 29.000


Kunci Jawaban

Jawaban 6

<?php

function sapa($nama = “Pengunjung”) {

    echo “Halo, $nama!”;

}

sapa(“Budi”);

sapa();

?>

Jawaban 7

<?php

$luasLingkaran = function($r) {

    return 3.14 * $r * $r;

};

echo “Luas lingkaran = ” . $luasLingkaran(7);

?>

Jawaban 8

<?php

function faktorial($n) {

    if ($n == 1) return 1;

    return $n * faktorial($n – 1);

}

echo “5! = ” . faktorial(5);

?>

Jawaban 9

<?php

function formatRupiah($angka) {

    return “Rp ” . number_format($angka, 0, ‘,’, ‘.’);

}

echo formatRupiah(10000);

?>

Jawaban 10

<?php

function hitungTotal($harga, $qty) {

    return $harga * $qty;

}

function formatRupiah($angka) {

    return “Rp ” . number_format($angka, 0, ‘,’, ‘.’);

}

$produk = [

    [“Apel”, 5000, 3],

    [“Jeruk”, 7000, 2]

];

$total = 0;

foreach ($produk as $p) {

    $subTotal = hitungTotal($p[1], $p[2]);

    echo $p[0] . ” – ” . formatRupiah($p[1]) . ” x ” . $p[2] . ” = ” . formatRupiah($subTotal) . “<br>”;

    $total += $subTotal;

}

echo “<b>Total Bayar = ” . formatRupiah($total) . “</b>”;

?>

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top