About Function
Haloooo^^
Balik lagi, yuk belajar tentang fungsi. Iya, fungsi yang itu.
Dalam suatu pengaturan
organisasi, biasanya perlu dibentuk
semacam bagian-bagian kerja atau divisi yang spesifik kerjanya. Sebagai contoh
misalkan dalam suatu organisasi ada divisi humas yang tugasnya spesifik
mengurusi masalah kehumasan, divisi HRD yang khusus menangani masalah SDM dan
pengembangannya, serta divisi-divisi yang lain.
Mengapa dalam
pengaturan organisasi perlu dibentuk divisi
atau suborganisasi yang
lebih kecil dalam
kinerjanya? Tujuannya adalah
efisiensi kerja. Dalam
hal ini, seorang ketua atau
manajer pastilah akan repot bila semua kegiatan harus dibebankan kepadanya.
Selain itu apabila dilihat dari efektifitas, jelas akan efektif karena dengan
dibentuknya suborganisasi maka seorang ketua organisasi lebih mudah memberikan
komando. Sebagai contoh misalkan ketika sang ketua butuh informasi tentang
kehumasan, maka dia tinggal menyuruh divisi humas untuk bekerja dan memberikan
informasi. Informasi tersebut nantinya akan digunakan sang ketua untuk
menentukan kebijakan organisasi dalam proses selanjutnya.
mengadopsi hal di
atas, konsep pembentukan
suborganisasi ini juga
bisa diterapkan ke dalam
suatu script atau
program. Dalam hal
ini, sebuah program ibaratnya sebuah organisasi besar.
Sedangkan Anda (programmer) sebagai ketua organisasinya. Dengan dibuatnya suatu
subprogram yang memiliki tugas atau kerja yang spesifik maka dapat membawa ke
efisiensi dan efektifitas kerja dari program atau script tersebut. Sekaligus,
Anda pun akan lebih mudah dalam mengatur proses programnya.
Perhatikan contoh script berikut
ini yang digunakan untuk menghitung operasi
Dalam PHP sebenarnya terdapat
perintah untuk menghitung pangkat bilangan. Namun di sini
diasumsikan kita tidak
menggunakan perintah tersebut
melainkan harus membuat program
sendiri.
Untuk menghitung n pangkat m,
kita bisa menggunakan program berikut ini
$hasil = 1;
for ($i = 1; $i <= m; $i++)
{
$hasil = $hasil * n;
}
Konsep program di atas didasarkan
pada ide nm = n x n x n x … x n
(sejumlah m kali perkalian)
Jika konsep diatas lebih disempurnakan lagi, maka:
<?php
// menghitung 3 pangkat 4
$hasil_a = 1;
for ($i = 1; $i <= 4; $i++)
{
$hasil_a = $hasil_a *
3;
}
// menghitung 10 pangkat 3
$hasil_b = 1;
for ($i = 1; $i <= 3; $i++)
{
$hasil_b = $hasil_b * 10;
}
// menghitung 4 pangkat 5
$hasil_c = 1;
for ($i = 1; $i <= 5; $i++)
{
$hasil_c = $hasil_c * 4;
}
// hitung hasil terakhir
$hasil = $hasil_a * $hasil_b / $hasil_c;
echo $hasil;
?>
Maka akan tampil seperti ini hasilnya :
Secara umum, bentuk function adalah seperti di bawah ini
function nama_function(parameter)
{
..
..
return variabel;
}
Keterangan:
Setiap function pasti
dan harus memiliki nama function. Nama function ini nantinya akan dipanggil oleh
program utama bila akan digunakan. Parameter di sini sifatnya optional (boleh
ada, boleh tidak). Parameter ini ibaratnya input yang akan diolah oleh
function.
Sedangkan
return variabel merupakan
perintah untuk memberikan
hasil setelah dikerjakan oleh
function. Dalam hal ini perintah return variabel ini juga bersifat optional
(boleh ada, boleh tidak).
Kapan return variabel ini digunakan? Dan kapan tidak perlu
digunakan? return variabel ini perlu digunakan bila hasil dari pengolahan
function ini akan digunakan untuk proses yang lain dalam program. Sedangkan
bila hasil dari function tidak akan digunakan oleh program, maka tidak perlu
diberikan perintah ini.
Contoh:
<?php
function jumlah($a, $b) {
120
$c = $a + $b; return $c;
}
echo "Hasil penjumlahannya = ".jumlah(3, 5);
?>
Hasilnya akan seperti tampilan dibawah ini :
Script di atas
menunjukkan penggunaan function
untuk menjumlahkan dua
buah bilangan. Apabila dikembangkan lagi untuk kasus menghitung (3 + 5)
ditambah (7 + 6), maka scriptnya dapat berbentuk seperti di bawah ini
<?php
function jumlah($a, $b) { $c = $a + $b; return $c; }
$hasil = jumlah(3, 5) + jumlah(7, 6);
echo "Hasil penjumlahannya = ". $hasil;
?>
Atau
<?php
function jumlah($a, $b) { $c = $a + $b; return $c; }
$hasil = jumlah(jumlah(3, 5), jumlah(7, 6));
echo "Hasil penjumlahannya = ". $jumlah; ?>
Dengan hasil berikut :
Built in Functions dalam PHP
Sebuah function dapat kita create sendiri seperti halnya di
atas, namun dapat pula kita langsung gunakan karena sudah disediakan oleh PHP.
Function yang sudah disediakan oleh PHP ini selanjutnya disebut built in
functions.
Berikut ini beberapa built in functions yang sudah ada dalam
PHP berdasarkan kategori penggunaannya.
Mathematics Built in Functions
Untuk menghitung nilai mutlak atau absolute
Contoh:
<?php
$bil = -10;
echo abs($bil);
// menghasilkan 10
?>
Untuk membulatkan ke atas suatu bilangan real
Contoh:
<?php
$bil = 19.1;
echo ceil($bil);
// menghasilkan 20
?>
Untuk membulatkan ke bawah suatu bilangan real
Contoh:
<?php
$bil = 19.5;
echo
floor($bil);
// menghasilkan 19
?>
Mencari nilai terbesar dari suatu data bertipe array
Contoh:
<?php
$data = array(19, 23, 11, 45);
$max = max($data);
echo "Nilai max = ".$max;
// menghasilkan 45
?>
Mencari nilai minimum dari suatu data bertipe array
Untuk menghasilkan bilangan bulat random antara x s/d y.
Contoh:
<?php
$random = mt_rand(4, 10);
// menghasilkan bilangan random antara 4 s/d 10 echo
$random;
?>
Digunakan untuk mencari hasil x pangkat y.
Contoh:
<?php
$hasil = pow(4, -5);
// menghitung 4 pangkat -5 echo $hasil;
?>
Membulatkan bilangan real ke bawah bila desimal di belakang
komanya kurang dari 0.5, dan
membulatkan ke atas
bila desimal di belakang komanya
lebih dengan 0.5. dari atau sama
Contoh:
<?php
echo round(10.23);
// menghasilkan 10 echo round(10.6);
// menghasilkan 11 echo round(-10.2);
// menghasilkan -10
?>
Array Built in Functions
Berikut ini beberapa
function yang bisa
digunakan untuk mengolah data berbentuk array
Digunakan untuk mensorting
beberapa array terkait
sekaligus. Bisa untuk mensorting
dalam sebuah array saja.
juga digunakan
Sintaks dari penggunaan array_multisort() adalah
array_multisort(x, metode, a, b, c, …);
dengan ‘x’ adalah array yang digunakan sebagai acuan dalam
sorting, ‘metode’ adalah metode yang digunakan sorting (ascending atau
descending), dan a, b, c,… adalah array lain yang ikut disorting.
Contoh:
Script berikut ini akan mengurutkan data mahasiswa (NIM dan
NAMA) berdasarkan NIM dari 2 buah array yang bersesuaian secara ascending.
<?php
$nim =
array("M0197002","M0197004","M0197001","M0197008","M0197003");
$nama =
array("Amir","Joko","Budi","Siti","Agus");
array_multisort($nim, SORT_ASC, $nama);
for ($i = 0; $i <= count($nim)-1; $i++) { echo $nim[$i].
" " .$nama[$i]. "<br>"; }
?>
Keterangan:
Untuk sorting secara descending, gunakan parameter SORT_DESC
Digunakan untuk mengambil salah satu elemen dari array
secara random
Contoh:
<?php
$bil = array(3, 1, 4, 5, 2, 6);
$ambilAcak =
array_rand($bil);
echo $ambilAcak;
?>
Digunakan untuk membalik urutan data dalam array
Contoh:
<?php
$data =
array("mangga","jambu","jeruk","apel");
$balik = array_reverse($data);
foreach($balik as $index => $buah)
{
echo $buah. "<br>";
// menampilkan apel, jeruk, jambu, mangga
}
?>
Digunakan untuk mencari nomor urut elemen tertentu dalam
array (dimulai dari 0)
Contoh:
Script berikut ini akan mencari nomor urut elemen dari data
‘jambu’ dalam array buah
<?php
$data =
array("mangga","jambu","jeruk","apel");
$no = array_search("jambu", $data);
echo $no;
// akan menampilkan 1 (nomor urut elemen dalam array)
?>
Digunakan untuk menghitung jumlah elemen yang ada dalam
suatu array.
String Built in Functions
Digunakan untuk memecah suatu string ke dalam array
berdasarkan karakter tertentu.
Contoh:
<?php
$date = "20-01-2009";
$pecah = explode("-", $date); // memecah string berdasarkan karater ‘-’
echo "Tanggal :
". $pecah[0]; // menampilkan 20
echo "Bulan : ". $pecah[1]; // menampilkan 01
echo "Tahun : ". $pecah[2]; // menampilkan 2009
?>
Digunakan untuk mengenkripsi (hashing) suatu string.
Biasanya function ini digunakan untuk keperluan enkripsi password login ke
suatu aplikasi. Hasilnya adalah suatu string yang tidak dapat dibaca dengan
panjang 32 karakter
<?php $passwordAsli = "hello"; $passwordEnkrip
= md5($passwordAsli); echo $passwordEnkrip;
// menampilkan ‘5d41402abc4b2a76b9719d911017c592’ ?>
Keterangan:
Tidak ada function untuk membalik dari hasil md() ke string
asli.
Memformat angka dengan mengelompokkan berdasarkan ribuan.
Contoh:
Berikut ini contoh
script untuk menyajikan
angka Rp. 1002372 1.002.372,-
menjadi bentuk Rp.
<?php
$harga = 1002372;
$formatted = number_format($harga, 0, "",
".");
echo "Harganya
Rp. ".$formatted. ",-";
?>
Keterangan:
Parameter pertama dari number_format() menunjukkan bilangan
yang akan diformat, parameter kedua menunjukkan
jumlah digit desimal
di belakang koma,
parameter ketiga menunjukkan tanda
pemisah untuk digit
desimal di belakang
koma, dan parameter keempat
menunjukkan tanda pemisah untuk ribuan.
Contoh:
Berikut ini contoh
script untuk menyajikan
bilangan real
123456789.111111 menjadi bentuk 123.456.789,111 (tanda
pemisah desimal menggunakan
koma, jumlah desimal sebanyak 3
dan menggunakan tanda titik untuk pemisah ribuan) digit
<?php
$bil = 123456789.111111;
$formatted =
number_format($bil, 3, ",", ".");
echo "Bilangannya ".$formatted;
?>
Digunakan untuk mereplace suatu substring dengan substring
lain dalam string.
Contoh:
Script berikut ini akan mengganti substring ‘be’ menjadi
‘bi’
<?php
$kalimat = "saya ingin bebas seperti burung beo";
$replace = str_replace("be", "bi", $kalimat);
echo $replace; //
menampilkan ‘saya ingin bibas seperti burung bio’
?>
Digunakan untuk menghilangkan tag
HTML dalam suatu
string. Biasanya untuk keamanan
dalam form guna mencegah disisipkannya tag-tag HTML yang bisa merusak halaman
web.
<?php
$string = "<font face='verdana' size='2'>Hello
world</font>"; $hilangkanTag = strip_tags($string);
echo $hilangkanTag;
// akan menghasilkan ‘Hello World’
?>
Digunakan untuk menghitung jumlah karakter dari suatu string
Contoh:
<?php
$kata = "Hello World"; $jumKarakter =
strlen($kata);
echo $jumKarakter;
// akan menghasilkan 11 (spasi ikut dihitung)
?>
Digunakan untuk mengubah semua huruf penyusun string menjadi
huruf kecil
Contoh:
<?php
$kata = "Rosihan Ari Yuana"’; $kecil =
strtolower($kata);
echo $kecil; //
menghasilkan ‘rosihan ari yuana’
?>
Merupakan kebalikan strtolower()
Menghitung jumlah substring dalam suatu string
Contoh:
<?php
$lagu = "topi saya bundar, bundar topi saya, kalau
tidak bundar, bukan topi saya"; $hitungTopi = substr_count($lagu,
"topi");
echo $hitungTopi; //
akan menghasilkan 3.
?>
Mengambil sejumlah karakter substring dari suatu string
Contoh:
Script berikut ini akan
mengambil tahun angkatan mahasiswa
dari NIM ‘M0197001’, dimana tahun angkatan terletak pada digit ke 4 dan
5 dari NIM (dalam hal ini tahun angkatannya adalah 97)
<?php
$nim = "M0197001"; $angkatan = substr($nim, 3, 2);
echo $angkatan; //
menghasilkan 97 ?>
Keterangan:
Parameter
pertama dari substr()
menunjukkan string aslinya.
Parameter kedua menunjukkan
posisi awal substring yang akan diambil (dihitung mulai 0 dari karakter paling
kiri string), dan parameter ketiga menunjukkan jumlah karakter subtring yang akan diambil.
Sehingga dari contoh
di atas, karena
posisi awal tahun
angkatan itu terletak
pada karakter ke-3 dari
string NIM, dan
tahun angkatan ini
terdiri dari 2
karakter maka perintahnya adalah
substr($nim, 3, 2)
Berikut Contoh Fungsi dalam PHP
CONTOH 1. Untuk menghitung nilai faktorial suatu bilangan.
#LISTING PROGRAM#
<?php
function kombinasi($a){
$d=1;
for($c=1; $c<=$a; $c++){
$d=$d*$c;
}
return $d;
}
?>
<form method="post" action="">
bilangan kombinasi <br>
bilangan 1 <input type="text" name="bil"><br>
bilangan 2 <input type="text" name="bila"><br>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="value">
</form>
<?php
$x=$_POST["bil"];
$y=$_POST["bila"];
$f=$x-$y;
$hasil= kombinasi($x)/ (kombinasi($y)*kombinasi($f));
echo "kombinasi dari $x dengan $y adalah $hasil";
?>
CONTOH 2. Untuk menghitung jumlah bilangan ganjil antara 10 dan 123456. Gunakan function untuk mengecek apakah suatu bilangan termasuk bilangan ganjil atau tidak.
#LISTING PROGRAM#
<?php
function ganjil($z){
if($z%2==1)
return 1;
else
return 0;
}
for ($bil=10; $bil<=123456; $bil++){
$jumlah = $jumlah+ ganjil($bil);
}
echo "jumlah bilangan ganjil antara 10 sampai 123456 adalah $jumlah";
?>
CONTOH 3. Untuk mencari selisih jumlah detik dari dua waktu yang berbeda. Format input waktu harus dalam bentuk hh:mm:ss
#LISTING PROGRAM#
<form method="post" action="">
selisih waktu <br>
masukkan waktu 1 <input type="text" name="a"><br>
masukkan waktu 2 <input type="text" name="a1"><br>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</form>
<?php
function selisihwaktu($jam){
//menghitung total waktu 1 dalam detik
$pecah = explode(":",$jam);
$sjam= $pecah[0]*3600;
$menit= $pecah[1]*60;
$detik=$pecah[2];
$total=$sjam+$menit+$detik;
selisih waktu <br>
masukkan waktu 1 <input type="text" name="a"><br>
masukkan waktu 2 <input type="text" name="a1"><br>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</form>
<?php
function selisihwaktu($jam){
//menghitung total waktu 1 dalam detik
$pecah = explode(":",$jam);
$sjam= $pecah[0]*3600;
$menit= $pecah[1]*60;
$detik=$pecah[2];
$total=$sjam+$menit+$detik;
return $total;
}
//inisialisasi waktu
$x=$_POST["a"];
$y=$_POST["a1"];
$hasil=selisihwaktu($x)-selisihwaktu($y);
echo $hasil;
}
//inisialisasi waktu
$x=$_POST["a"];
$y=$_POST["a1"];
$hasil=selisihwaktu($x)-selisihwaktu($y);
echo $hasil;
?>
CONTOH 4. Sebuah form untuk memasukkan nilai ujian 1 dan ujian 2 pelajaran Matematika kelima siswa tersebut. Selanjutnya tampilkan data NIS, Nama Siswa dan Rata-rata Ujiannya, dan urutkan berdasarkan Rata-rata Ujiannya mulai dari yang paling tinggi sampai yang paling rendah.
#LISTING PROGRAM#<?php
$nama= array("Agus", "Budi", "Amir", "Acong", "siti");
$nis= array("A001", "A002", "A003", "A004", "A005");
echo "<table border=1>";
echo "<tr><td>NIS</td>
<td>NAMA</td>
<td>NILAI UJIAN 1</td>
<td>NILAI UJIAN 2</td>
</tr>";
echo "<form method=\"post\" action=\"nilai.php\">";
for($i=0; $i<count($nis); $i++)
{
echo "<td>$nis[$i]</td>
<td>$nama[$i]</td>
<td><input type=\"text\" name=\"nu1$i\"></td>
<td><input type=\"text\" name=\"NU2$i\"></td>
</tr>";
} echo"</table>";
echo "<input type=\"submit\" name=\"submit\" value=\"submit\">
<input type=\"reset\" name=\"reset\" value=\"reset\"><br>
</form>";
?>
#LISTING PROGRAM#
<?php
function ratarata($nil){
for($a=0; $a<count($nil); $a++){
$hasil=$nil[$a]+$hasil;
$b=$b+1;
}
return $hasil/$b;
}
$nama= array("Agus", "Budi", "Amir", "Acong", "siti");
$nis= array("A001", "A002", "A003", "A004", "A005");
$nilai= array($_POST["nu10"],$_POST["nu11"],$_POST["nu12"],$_POST["nu13"],$_POST["nu14"]);
$nilai1= array($_POST["NU20"],$_POST["NU21"],$_POST["NU22"],$_POST["NU23"],$_POST["NU24"]);
$nilaiAgus= array($_POST["nu10"],$_POST["NU20"]);
$nilaiBudi= array($_POST["nu11"],$_POST["NU21"]);
$nilaiAmir= array($_POST["nu12"],$_POST["NU23"]);
$nilaiAcong= array($_POST["nu13"],$_POST["NU23"]);
$nilaiSiti= array($_POST["nu14"],$_POST["NU24"]);
$hasilrata= array (ratarata($nilaiAgus), ratarata($nilaiBudi), ratarata($nilaiAmir), ratarata($nilaiAcong), ratarata($nilaiSiti));
echo "<table border=1>";
echo "<tr>
<td>NIS</td>
<td>NAMA</td>
<td>NILAI UJIAN 1 </td>
<td>NILAI UJIAN 2 </td>
<td>RATA-RATA </td>
</tr>";
array_multisort($hasilrata, SORT_ASC, $nama, $nis, $nilai, $nilai1);
for ($i = 0; $i<count($hasilrata); $i++)
{ echo "<tr>
<td>$nis[$i]</td>
<td>$nama[$i]</td>
<td>$nilai[$i] </td>
<td>$nilai1[$i] </td>
<td>$hasilrata[$i] </td>
</tr>";
}
echo "</table>";
?>
Sekian penjelasan mengenai "Fungsi". Semoga bermanfaat yaa^^
0 komentar: