Appearance
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 padafunction - 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 Functioncontoh basic pembuatanfunctionParameterdisinifunctionmemiliki parameter$discountyang dikirim saat pemanggilan, pada penggalan kodecountTotal(10000);, jadi nilai dari parameter$discountakan diisi sesuai dengan data yang dikirim yaitu10000Strict Parameterparameter$discountdiberikan batasan tipe data harus berupaintprogram akan menampilkan error jika kita mengirim nilai$discountselain bertipeintSebagai contoh kita akan mengirim data
floatke functioncountTotal(20.9);error yang akan kita dapatDeprecated: Implicit conversion from float 20.9 to int loses precisionDefault value Parameterparameter$discountdiberikan nilai default, jadi kita tidak akan mendapatkan error waluapun tidak memberikan nilai parameter$discountpadafunctioncountTotal(), contoh error yang akan di dapatkan ketika tidak menggunakan nilai defaultFatal 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}"; // 50000Penjelasan code
- function memiliki nilai untuk di kembalikan, kita bisa melihat pada bagian
return $total; - pengembalian tipe dari dari
functionjuga 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}"; // 40000Penjelasan 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 fungsirand(). Jika tidak didefinisikan, nilai default-nya adalah 0max: ia juga bersifat opsional. Adalah nilai terbesar yang akan dikembalikan dari fungsirand(). Jika tidak didefinisikan, nilai default-nya adalah hasil kembalian dari fungsigetrandmax().
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); // 3round() 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); // 3Pembulatan 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