Bagi para developer yang sehari-hari berkutat dengan bahasa pemrograman PHP, memahami cara kerja number dan fungsi matematika bukan hanya soal logika, melainkan juga efisiensi dalam menulis kode. PHP sebagai bahasa server side scripting sudah menyediakan banyak sekali built in function yang memudahkan pengolahan angka. Dari operasi sederhana seperti penjumlahan hingga fungsi kompleks seperti trigonometri dan logaritma, semuanya tersedia untuk dipanggil kapan pun dibutuhkan. Tidak heran jika pembahasan mengenai number dan fungsi matematika di PHP selalu menjadi topik favorit dalam forum developer.
Tipe Data Number di PHP
Sebelum masuk ke fungsi matematika di php, penting untuk mengenali tipe data number yang ada di PHP. Secara umum PHP mengenal tiga tipe utama dalam representasi angka, yaitu integer, float atau double, dan number dalam bentuk string yang bisa dikonversi. Integer digunakan untuk angka bulat seperti 10 atau 2025. Float digunakan untuk angka desimal atau bilangan dengan presisi lebih tinggi, misalnya 3.14 atau 0.0001. Sedangkan string yang berisi angka, seperti “123”, bisa otomatis diubah menjadi integer saat dipakai dalam operasi aritmatika. Fleksibilitas ini membuat PHP sangat ramah untuk pemula, meski tetap perlu hati hati saat mengolah data agar tidak terjadi error konversi.
<?php
$int = 42; // integer
$float = 3.1415; // float
$str = "100"; // string numerik
echo $int + $float; // hasil 45.1415
echo $str + 50; // otomatis dikonversi menjadi 150
?>
Operasi Aritmatika Dasar
PHP menyediakan operator aritmatika dasar yang sudah familiar, yaitu penjumlahan dengan tanda plus, pengurangan dengan tanda minus, perkalian dengan tanda bintang, pembagian dengan tanda slash, dan modulus dengan tanda persen. Misalnya jika kita menulis kode $a = 10; $b = 3; echo $a % $b; maka hasilnya adalah 1 karena modulus mengambil sisa hasil bagi. Penggunaan operator ini sangat sering muncul dalam berbagai kasus, mulai dari menghitung diskon harga di aplikasi e commerce hingga menentukan pagination di website berita.
<?php
$a = 10;
$b = 3;
echo $a + $b; // 13
echo $a - $b; // 7
echo $a * $b; // 30
echo $a / $b; // 3.333...
echo $a % $b; // 1
?>
Fungsi Pembulatan Angka
Di dunia pemrograman web, pembulatan angka adalah kebutuhan sehari hari. PHP menyediakan beberapa fungsi populer seperti round(), ceil(), dan floor(). Fungsi round() digunakan untuk membulatkan angka ke bilangan terdekat, bisa juga dengan menentukan berapa digit desimal yang diinginkan. ceil() akan selalu membulatkan angka ke atas meskipun nilai desimalnya kecil, sementara floor() akan selalu membulatkan ke bawah. Contohnya, ceil(4.2) menghasilkan 5, sedangkan floor(4.9) menghasilkan 4.
<?php
echo round(4.567); // 5
echo round(4.567, 2); // 4.57
echo ceil(4.2); // 5
echo floor(4.9); // 4
?>
Fungsi Matematika Lanjutan
Selain fungsi dasar, PHP juga menyediakan berbagai fungsi matematika lanjutan yang mendukung kebutuhan aplikasi yang lebih kompleks. Ada sqrt() untuk menghitung akar kuadrat, pow() untuk menghitung pangkat, log() untuk logaritma, dan exp() untuk eksponensial.
<?php
echo sqrt(81); // 9
echo pow(2, 8); // 256
echo log(10); // log natural dari 10
echo exp(1); // e^1 ≈ 2.718
?>
Fungsi Trigonometri dalam PHP
Bagi mereka yang bergelut dengan aplikasi yang berhubungan dengan grafik, game, atau simulasi geometri, fungsi trigonometri dalam PHP sangat membantu. Fungsi sin(), cos(), dan tan() tersedia untuk menghitung nilai sinus, cosinus, dan tangen dari suatu sudut dalam radian. Jika ingin bekerja dengan derajat, biasanya developer akan mengonversi derajat menjadi radian dengan deg2rad() sebelum diproses.
<?php
$degree = 30;
$radian = deg2rad($degree);
echo sin($radian); // 0.5
echo cos($radian); // 0.866...
echo tan($radian); // 0.577...
?>
Fungsi Random Number
Dalam banyak aplikasi, terutama yang melibatkan keamanan dan hiburan, random number memegang peran besar. PHP memiliki fungsi rand() dan mt_rand() untuk menghasilkan angka acak dalam rentang tertentu. Fungsi mt_rand() biasanya lebih disarankan karena menggunakan algoritma Mersenne Twister yang lebih cepat dan menghasilkan distribusi angka lebih merata.
<?php
echo rand(1, 10); // angka acak antara 1 dan 10
echo mt_rand(100, 999); // angka acak antara 100 dan 999
?>
Fungsi Absolut dan Signum
Pengolahan angka juga sering membutuhkan nilai absolut, terutama saat berurusan dengan perbedaan jarak atau perhitungan keuangan. PHP menyediakan fungsi abs() yang akan mengembalikan nilai positif dari suatu angka. Selain itu, logika sederhana bisa dipakai untuk membuat fungsi signum.
<?php
echo abs(-15); // 15
function signum($num) {
if ($num > 0) return 1;
if ($num < 0) return -1;
return 0;
}
echo signum(-5); // -1
echo signum(0); // 0
echo signum(7); // 1
?>
Fungsi Konversi Basis Angka
PHP mendukung fungsi konversi basis angka yang memudahkan dalam transformasi dari satu sistem numerik ke sistem lain. Fungsi decbin() mengubah angka desimal ke biner, decoct() ke oktal, dan dechex() ke heksadesimal. Sebaliknya, ada bindec(), octdec(), dan hexdec() untuk konversi sebaliknya.
<?php
echo decbin(10); // 1010
echo dechex(255); // ff
echo decoct(64); // 100
echo bindec("1010"); // 10
echo hexdec("ff"); // 255
echo octdec("100"); // 64
?>
Fungsi Min, Max, dan Number Formatting
Dalam pengolahan data yang besar, seringkali developer perlu mencari nilai terkecil atau terbesar. PHP menghadirkan fungsi min() dan max() yang bisa menerima lebih dari satu argumen. Selain itu, fungsi number_format() juga sangat membantu dalam menampilkan angka kepada user.
<?php
echo max(3, 7, 9, 2); // 9
echo min(3, 7, 9, 2); // 2
$harga = 1500000.75;
echo number_format($harga, 2, ',', '.');
// Hasil: 1.500.000,75
?>
Fungsi Matematika yang Terkait Statistik
PHP juga memiliki fungsi yang mendukung kebutuhan statistik sederhana. Salah satu yang sering dipakai adalah array_sum() untuk menjumlahkan semua elemen dalam sebuah array. Dengan kombinasi count() dan array_sum(), developer bisa menghitung nilai rata rata secara manual.
<?php
$data = [10, 20, 30, 40, 50];
$total = array_sum($data); // 150
$rata = $total / count($data);
echo "Total: $total"; // Total: 150
echo "Rata-rata: $rata"; // Rata-rata: 30
?>
