Skip to content

Meeting 4

Function

Fungsi adalah suatu kumpulan blok kode, yang menerima suatu inputan, melakukan satu tugas tertentu, dan secara opsional bisa mengembalikan suatu nilai.

Cara Mendefinisikan function

Mendefinisikan fungsi baru pada PHP berarti kita menuliskan suatu tugas tertentu, yang bisa kita eksekusi kemudian. Fungsi pada PHP memiliki nama, dan juga bisa menerima parameter.

php
<?php

function namaFungsi() {
  // blok kode program
}

// cara memanggil fungsi
namaFungsi();
<?php

function namaFungsi() {
  // blok kode program
}

// cara memanggil fungsi
namaFungsi();
Penamaan function

Peraturan pemberian nama function, sama dengan nama variabel. Hanya saja kita tidak bisa menggunakan nama function yang sama seperti bawaan php misalnya var_dump, empty, count, dan function lainnya.

Function dengan Parameter

Parameter fungsi adalah suatu nilai yang kita lempar ke dalam sebuah fungsi, nilai tersebut bisa berupa apa saja. Bisa berupa string, boolean, integer, bahkan juga bisa berupa fungsi yang lainnya.

Parameter detail
  • kita bisa memasukkan tipe data apa pun di parameter. Bisa string, integer, boolean, dan sebagainya. namun kita juga bisa membatasi tipe data pada function
  • Parameter juga bisa diisi dengan default value, jika parameter tidak di kirim default value akan di gunakan
php
<?php

function countTotal() {
    $total = 50000;

    echo "Total {$total}"; // 50000
}

countTotal();
<?php

function countTotal() {
    $total = 50000;

    echo "Total {$total}"; // 50000
}

countTotal();
php
<?php

function countTotal($discount) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 40000
}

countTotal(10000);
<?php

function countTotal($discount) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 40000
}

countTotal(10000);
php
<?php

function countTotal(int $discount) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 40000
}

countTotal(10000);
<?php

function countTotal(int $discount) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 40000
}

countTotal(10000);
php
<?php

function countTotal(int $discount = 0) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 50000
}

countTotal();
<?php

function countTotal(int $discount = 0) {
    $total = 50000;
    $total -= $discount;

    echo "Total {$total}"; // 50000
}

countTotal();
Penjelasan code
  • Base Function contoh basic pembuatan function

  • Parameter disini function memiliki parameter $discount yang dikirim saat pemanggilan, pada penggalan kode countTotal(10000);, jadi nilai dari parameter $discount akan diisi sesuai dengan data yang dikirim yaitu 10000

  • Strict Parameter parameter $discount diberikan batasan tipe data harus berupa int program akan menampilkan error jika kita mengirim nilai $discount selain bertipe int

    Sebagai contoh kita akan mengirim data float ke function countTotal(20.9); error yang akan kita dapat Deprecated: Implicit conversion from float 20.9 to int loses precision

  • Default value Parameter parameter $discount diberikan nilai default, jadi kita tidak akan mendapatkan error waluapun tidak memberikan nilai parameter $discount pada function countTotal(), contoh error yang akan di dapatkan ketika tidak menggunakan nilai default Fatal error: Uncaught ArgumentCountError: Too few arguments to function countTotal(), 0 passed and exactly 1 expected

Function dengan Return

Merupakan sebuah keyword yang berguna untuk mengembalikan nilai yang dihasilkan pada function sehingga nilai hasil operasi function bisa dimanfaatkan.

php
<?php

function countTotal(int $discount = 0) {
    $total = 50000;
    $total -= $discount;

    return $total;
}

$finalTotal = countTotal();

echo "Total {$finalTotal}"; // 50000
<?php

function countTotal(int $discount = 0) {
    $total = 50000;
    $total -= $discount;

    return $total;
}

$finalTotal = countTotal();

echo "Total {$finalTotal}"; // 50000
Penjelasan code
  • function memiliki nilai untuk di kembalikan, kita bisa melihat pada bagian return $total;
  • pengembalian tipe dari dari function juga bisa di batasi, ini merupakan best practice agar kode tetap konsisten.
php
function countTotal(int $discount = 0): int {
    $total = 50000;
    $total -= $discount;

    return $total;
}
function countTotal(int $discount = 0): int {
    $total = 50000;
    $total -= $discount;

    return $total;
}

Math FUNCTION

Kita sudah beberapa kali memakai function bawaan dari PHP seperti var_dump, empty, count, dan function lainnya. kali ini kita akan membahas function matematika bawaan dari PHP yang sering digunakan.

Absolute: abs()

Fungsi abs() akan mengembalikan nilai absolut dari nilai negatif mau pun positif. Nilai absolut adalah suatu keadaan yang mana nilai akan selalu dianggap positif.

php
<?php

$discount = 10000;
$total    = 50000;

$finalTotal = abs($discount - $total);

echo "Total {$finalTotal}"; // 40000
<?php

$discount = 10000;
$total    = 50000;

$finalTotal = abs($discount - $total);

echo "Total {$finalTotal}"; // 40000
Penjelasan code

pada variable $finalTotal seharusnya bernilai negative, karna $total lebih besar dari pada $discount seharusnya menghasilkan nilai -40000 namun karna function abs() nilai negative akan selalu di jadikan nilai positive

Angka Acak: rand()

Di dalam PHP, terdapat dua fungsi yang bisa kita gunakan untuk membuat angka secara acak. Dua fungsi tersebut adalah rand() dan mt_rand(). Pada versi PHP lawas, keduanya adalah dua fungsi yang berbeda. Ada pun setelah versi PHP 7.1, dua-duanya sama saja. Yang satu adalah alias dari yang lainnya

php
<?php

echo rand();

# rand dengan batas atas dan bawah
echo rand(0, 10);
<?php

echo rand();

# rand dengan batas atas dan bawah
echo rand(0, 10);
rand() detail
  • min: bersifat opsional. Dia adalah nilai terendah yang akan dikembalikan dari fungsi rand(). Jika tidak didefinisikan, nilai default-nya adalah 0
  • max: ia juga bersifat opsional. Adalah nilai terbesar yang akan dikembalikan dari fungsi rand(). Jika tidak didefinisikan, nilai default-nya adalah hasil kembalian dari fungsi getrandmax().

Pembulatan Pecahan: round()

PHP juga memiliki fungsi untuk membulatkan angka desimal, Entah kita bulatkan dengan mengurangi jumlah angka di belakang koma, atau pun dengan membulatkan angka ke bilangan bulat terdekat.

php
<?php

echo round(3.6876); // 4
echo round(3.45); // 3
<?php

echo round(3.6876); // 4
echo round(3.45); // 3
round() detail

round() menerima 3 parameter:

  • number: bersifat required. Ini adalah angka yang akan kita bulatkan.
  • precision: bersifat opsional. Ini adalah jumlah angka di belakang koma, jika dikosongkan maka nilai default-nya adalah 0.
  • mode: bersifat opsional. Kita tidak bahas parameter ini karena berkaitan dengan konstanta.

Pembulatan Kebawah: floor()

floor() digunakan untuk membulatkan nilai pecahan ke nilai bulatan terkecil. Tidak peduli apakah nilai pecahan tersebut sebenarnya lebih dekat ke nilai bulatan setelahnya.

php
<?php

echo round(3.6876); // 3
echo round(3.45); // 3
<?php

echo round(3.6876); // 3
echo round(3.45); // 3

Pembulatan Keatas: ceil()

ceil() adalah kebalikan dari fungsi floor(). Jika fungsi floor() bertugas untuk membulatkan pecahan ke bilangan bulat terkecil, maka fungsi ceil() justru akan membulatkan bilangan pecahan ke bilangan bulat yang paling besar.

php
<?php

echo round(3.6876); // 4
echo round(3.45); // 4
<?php

echo round(3.6876); // 4
echo round(3.45); // 4