Banyak fungsi build-in dari php yang sering kita gunakan, seperti print(), print_r(), unset(), dll. Selain fungsi-fungsi tersebut, kita juga dapat membuat fungsi sendiri sesuai kebutuhan.

Pemrograman PHP

Fungsi adalah sekumpulan intruksi yang dibungkus dalam sebuah blok. Fungsi dapat digunakan ulang tanpa harus menulis ulang instruksi di dalamnya.

Fungsi pada PHP dapat dibuat dngan kata kunci function, lalu diikuti dengan nama fungsinya.

Contoh:

function namaFungsi(){
  //...
}

Kode intruksi dapat di tulis di dalam kurung kurawal ({...}).

Contoh:

function perkenalan(){
  echo "Assalamulaikmu, ";
  echo "Perkenalkan, nama saya Ardianta<br/>";
  echo "Senang berkenalan dengan anda<br/>";
}

Fungsi yang sudah dibuat tidak akan menghasilkan apapun kalau tidak dipanggil. Kita dapat memanggil fungsi dengan menuliskan namanya.

Contoh:

perknalan();

Jadi, kode lengkapnya seperti ini:

<?php
// mmbuat fungsi
function perkenalan(){
  echo "Assalamulaikmu, ";
  echo "Perkenalkan, nama saya Ardianta<br/>";
  echo "Senang berkenalan dengan anda<br/>";
}

// memanggil fungsi yang sudah dibuat
perkenalan();

echo "<hr>";

// memanggilnya lagi
perkenalan();
?>

hasilnya:

Output Fungsi PHP

Fungsi dengan Parameter

Supaya intruksi yang di dalam fungsi lebih dinamis, kita dapat menggunakan parameter untuk memasukkan sebuah nilai ke dalam fungsi. Nilai tersebut akan diolah di dalam fungsi.

Misalkan, pada contoh fungsi yang tadi, tidak mungkin nama yang dicetak adalah ardianta saja dan salam yang dipakai tidak selalu assalamualaikum. Maka, kita dapat menambahkan parameter menjadi seperti ini:

<?php
// mmbuat fungsi
function perkenalan($nama, $salam){
  echo $salam.", ";
  echo "Perkenalkan, nama saya ".$nama."<br/>";
  echo "Senang berkenalan dengan anda<br/>";
}

// memanggil fungsi yang sudah dibuat
perkenalan("Muhardian", "Hi");

  echo "<hr>";

  $saya = "Indry";
  $ucapanSalam = "Selamat pagi";
  // memanggilnya lagi
  perkenalan($saya, $ucapanSalam);
?>

Hasilnya:

Fungsi dengan Parameter

Paramter dengan Nilai Default

Nilai default dapat kita berikan di parameter. Nilai default berfungsi untuk mengisi nilai sebuah parameter, kalau parameter tersebut tidak diisi nilainya.

Misalnya: saya lupa mengisi parameter salam, maka program akan error. Oleh karena itu, kita perlu memberikan nilai default supaya tidak error.

Contoh:

<?php
// mmbuat fungsi
function perkenalan($nama, $salam="Assalamualaikum"){
  echo $salam.", ";
  echo "Perkenalkan, nama saya ".$nama."<br/>";
  echo "Senang berkenalan dengan anda<br/>";
}

// memanggil fungsi yang sudah dibuat
perkenalan("Muhardian", "Hi");

echo "<hr>";

$saya = "Indry";
$ucapanSalam = "Selamat pagi";
// memanggilnya lagi tanpa mengisi parameter salam
perkenalan($saya);
?>

Hasilnya:

Fungsi nilai parameter default

Fungsi yang Megembalikan Nilai

Hasil pengolahan nilai dari fungsi mungkin saja kita butuhkan untuk pemrosesan berikutnya. Oleh karena itu, kita harus membuat fungsi yang dapat mengembalikan nilai.

Pengembalian nilai dalam fungsi dapat menggunakan kata kunci return.

Contoh:

<?php
// membuat fungsi
function hitungUmur($thn_lahir, $thn_sekarang){
  $umur = $thn_sekarang - $thn_lahir;
  return $umur;
}

echo "Umur saya adalah ". hitungUmur(1994, 2015) ." tahun";
?>

Hasilnya:

Fungsi dengan nilai kembalian

Memangil Fungsi di dalam Fungsi

Fungsi yang sudah kita buat, dapat juga dipanggil di dalam fungsi lain.

Contoh:

<?php
// membuat fungsi
function hitungUmur($thn_lahir, $thn_sekarang){
  $umur = $thn_sekarang - $thn_lahir;
  return $umur;
}

function perkenalan($nama, $salam="Assalamualaikum"){
  echo $salam.", ";
  echo "Perkenalkan, nama saya ".$nama."<br/>";
  // memanggil fungsi lain
  echo "Saya berusia ". hitungUmur(1994, 2015) ." tahun<br/>";
  echo "Senang berkenalan dengan anda<br/>";
}


// memanggil fungsi perkenalan
perkenalan("Ardianta");

?>

Hasilnya:

Fungsi yang saling memanggil

Fungsi rekursif

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi ini biasanya digunakan untuk menyelesaikan masalah sepeti faktorial, bilangan fibbonaci, pemrograman dinamis, dll.

Contoh fungsi rekursif:

<?php

function faktorial($angka) {
  if ($angka < 2) {
    return 1;
  } else {
  // memanggil dirinya sendiri
  return ($angka * faktorial($angka-1));
  }
}

// memanggil fungsi
echo "faktorial 5 adalah " . faktorial(5);

?>

Hasilnya:

Fungsi Rekursif