FUNCTION

Sekarang kita ibaratkan kalau program itu sebuah organisasi besar, dan kita (programmer) sebagai ketuanya. Agar kerjanya lebih efektif dan efisien maka diperlukan pembentuka subprogram yang memiliki tugas atau kerja yang spesifik.

Secara umum bentuk function adalah sebagai berikut:

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 disini sifatnya optional, parameter ibaratnya input yang akan diolah oleh function. Return variabel merupakan perintah untuk memberikan hasil setelah dikerjakan oleh function. Return variabel juga bersifat optional. Return variabel 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.

Anda  juga  bisa  membuat  beberapa  function  dalam file  tersendiri,  semacam daftar cukup sering function.  Selanjutnya  setiap  kali  butuh  suatu  function  dalam  daftar  tersebut, meng-include-kan  saja  nama  file  nya,  lalu  panggil  nama  functionnya.  Trik  ini digunakan   oleh   para   programmer   handal   dalam   membuat   aplikasi.   Berikut   ini contohnya:

Seperti biasa yaa kita akan belajar membuat program dari beberapa studi kasus berikut ini:

KASUS : 

1.      Di SMA tentu anda telah mengenal rumus kombinasi C(m, n) yang dirumuskan dengan:
Simbol ! menunjukkan faaktorial, sebagai contoh 5! = 5 x 4 x 3 x 2 x 1 = 120.
Buatlah script PHP untuk menghitung nilai C(m, n) dengan m dan n nya suatu input, dimana m ≥ n.
Dalam hal ini buatlah sebuah function yang khusus untuk menghitung nilai factorial suatu bilangan. Selanjutnya gunakanlah function tersebut untuk menhitung C(m, n).
2.  Buatlah script untuk menghitung jumlah bilangan ganjil antara 10 dan 123456. Gunakan function untuk mengecek apakah suatu bilangan termasuk bilangan ganjil atau tidak.
3.   Buatlah script untuk mencari selisih jumlah detik dari dua waktu yang berbeda. Format input waktu harus dalam bentuk hh:mm:ss
Contoh:
Waktu 1 = 12:03:10
Waktu 2 = 13:03:20
Selisih kedua waktu adalah 3610 detik.
Petunjuk: Anda dapat gunakan function explode() untuk memecah waktu ke dalam satuan jam, menit dan detik untuk perhitungan.

PEMBAHASAN NIH:
Program Kasus 1:
<form method="post" action="">
<h2> Bilangan Kombinasi </h2><br>
Bilangan ke-1 <input type="text" name="m"><br>
Bilangan ke-2 <input type="text" name="n"><br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset">

<?php
//C (m,n) makanya bilangan pertama diibaratkan m, kemudian bilangan kedua diibaratkan n

$m=$_POST[m];
$n=$_POST[n];
function kombinasi($m,$n)
{
    $a=1;
   for($c=$m;$c>=1;$c--)
    {
        $a=$c*$a;
    }
    // bilangan kedua
   $b=1;
    for($d=$n;$d>=1;$d--)
    {
        $b=$b*$d;
    }
  // selisih bilangan 1 dan 2
   $e=$m-$n;
    $f=1;
    for($g=$e;$g>=1;$g--)
    {
        $f=$g*$f;
    }
    $kombinasi=$a/($b*$f);
    return $kombinasi;
}
$hasil=kombinasi($m,$n);
echo "<br>Kombinasi dari $m dan $n hasilnya adalah $hasil";
?>

Hasil:
Program Kasus 2:
<?php
//jumlah bilangan ganjil antara 10 sampai 123456
    for($a=10;$a<=123456;$a++)
    $jumlah = $jumlah + ganjil ($a);
echo "Jumlah bilangan ganjil dari 10 sampai 123456 adalah $jumlah";

function ganjil ($b)
{
    if ($b%2==0)
    return 1;
    else
    return 0;
}
?>

Hasil:
Program Kasus 3:
<form method="post" action="">
<h2> Selisih Jumlah Detik dari Dua Waktu </h2>
<h3> Masukkan dalam bentuk hh:mm:ss </h3>
Waktu 1 <input type="text" name="hh1">
        <br>
Waktu 2 <input type="text" name="hh2">
       <br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset"><br>
</form>

<?php
/*mencari selisih jumlah detik dari 2 waktu yang berbeda
dengan bentuk hh:mm:ss*/
function selisih($jam)
{   //memecah waktu agar berbentuk hh:mm:ss
    //Waktu 1
    $pecah = explode (":", $jam);
    $hour = $pecah[0]*3600;
    $menit = $pecah[1]*60;
    $detik = $pecah[2];
    $total=$hour+$menit+$detik;

    return $total;
}

$hh1=$_POST["hh1"];
$hh2=$_POST["hh2"];
$beda=selisih($hh1)-selisih($hh2);
echo "Selisih kedua waktu tersebut adalah ".abs($beda)." detik";
?>

Hasil:

Oke sekian dulu belajar kali ini yaa,
~Percayalah pada kekuatan dirimu :))~

Komentar