Function Pada PHP

·

4 min read

Function Pada PHP

Function adalah kode program yang dibuat khusus untuk potongan kode yang dapat dipakai berulang-ulang ketika dibutuhkan misal function untuk menghitung kentang. Contoh.

<?php
function hitungKentang($belanjaan) {
  $kentang = 0;
  foreach($belanjaan as $b) {
    if($b === "kentang") {
      $kentang = $kentang + 1;
    }
  }
  return $kentang;
}
$barangBelanja = ["pisang", "kentang", "kentang", "ubi", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang",
];
echo hitungKentang($barangBelanja);

Pada kode diatas akan menghasilkan 11

Function pada PHP dapat memiliki argument atau tidak, dapat memiliki return atau tidak, dapat memiliki nilai default atau tidak, bahkan dapat ditentukan tipe data argument yang dikirimkan dan hasil yang akan dieksekusi oleh function tersebut, akan kita bahas satu per satu.

Function tanpa argument dan tanpa balikan

Function ini adalah dasar atau basic dari sebuah fuction, dimana ketika function itu dipanggil hanya akan dijalankan tanpa harus memberikan balikan. Misal function salam. Perhatikan contoh.

<?php
function salam() {
  echo "Assalamu alaikum!";
}

salam();

Function dengan argument dan balikan (return)

Pada contoh pertama (hitungKentang) kita telah menggunakan argument pada function yang mana mengirimkan parameter barang belanja dan dikalkulasi sehingga menjdapatkan hasil balikan berupa jumlah kentang.

Function dengan nilai default, tipe data pada argument dan balikannya

Pada saat penulisan function kadang kita butuh data yang diproses memiliki nilai default jika tidak dikirimkan saat dipanggil dan jika dikirimkan telah ditentukan tipe data apa yang bisa diproses dan apa tipe data yang akan dikembalikan. Misalnya contoh menjumlahkan dua buah bilangan. Perhatikan contoh.

<?php
function jumlahkanBialangan(int $a = 0, int $b = 0): int {
  return $a + $b;
}
echo jumlahkanBialangan(1, 3);

Cara ini lebih aman, ini sangat disarankan demi mendapatkan kode yang aman dari bug, btw ini disebut type declaration, sudah tersedia sejak PHP vesi 7.4 keatas

Function dengan banyak paramenter

Function yang menerima parameter dengan tipe yang sama dan alih alih mengirimkan sebuah array maka cara ini bisa dipakai. Kita gunakan kode function menghitung kentang pada contoh ini.

<?php
function hitungKentang(string ... $belanjaan): int {
  $kentang = 0;
  foreach($belanjaan as $b) {
    if($b === "kentang") {
      $kentang = $kentang + 1;
    }
  }
  return $kentang;
}

echo hitungKentang("pisang", "kentang", "kentang", "ubi", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang");

Function sebagai variabel

Terkadang sebuah function dibutuhkan untuk disimpan pada sebuah variabel untuk dieksekusi dengan nama variabel tersebut. Perhatikan contoh.

<?php
function hitungKentang(string ... $belanjaan): int {
  $kentang = 0;
  foreach($belanjaan as $b) {
    if($b === "kentang") {
      $kentang = $kentang + 1;
    }
  }
  return $kentang;
}

$h = "hitungKentang";

echo $h("pisang", "kentang", "kentang", "ubi", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang");

Anonim function

Anonim function adalah sebuah function yang tidak memiliki nama yang yang dijalankan ketika telah disimpan sebagai variabel atau argumen. Perhatikan contoh berikut.

<?php
$h = function (string ... $belanjaan): int {
  $kentang = 0;
  foreach($belanjaan as $b) {
    if($b === "kentang") {
      $kentang = $kentang + 1;
    }
  }
  return $kentang;
};

echo $h("pisang", "kentang", "kentang", "ubi", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang", 
  "mangga", "kentang", "kentang", "ubi", "kentang", "jagung", "kentang", "pisang");

Menggunakan Arrow function

Pada PHP ada cara menyingkat penggunaan anonim function yang disebut arrow function, dengan mengubah keyword function jd Fn. Perhatikan contoh.

<?php
$kaliDelapan = fn($x) => $x * 8;

echo $kaliDelapan(3);

Function sebagai Callback

Callback adalah penggunaan function sebagai parameter pada function, misalnya contoh berikut digunakan untuk menghitung huruf dan untuk mengubah inputan menjadi huruf besar semua.

<?php
function callback(string $kata, callable $callback) {
    return $callback($kata);
}

$hitung = callback("Asrul",  fn($x) => strlen($x));
$kapital = callback("Asrul",  fn($x) => strtoupper($x));

echo $hitung . PHP_EOL;
echo $kapital;

Function recursif

Function yang mampu untuk memanggil dirinya sendiri disebut dengan rekursif. Ini sering digunakan untuk mempermudah pengerjaan yang berulang dengan pola yang telah jelas. Misal untuk menghitung nilai faktorial pada matematika.

<?php
function faktorial(int $nilai): int {
  return $nilai === 1 ? 1 : $nilai * faktorial($nilai - 1);
}

echo faktorial(3);

Semoga bermanfaat....