Minggu, 07 April 2019

Mengenal Bahasa PHP [bagian 12] : Tentang Function

Yow..Yow..

Tidak bosan-bosannya kalian ku sapa, teman. Setidaknya menyapalah balik, ehem. Sebelum memulai materi selanjutnya, alangkah baiknya jika kita berdoa dan mempersiapkan kebutuhan-kebutuhan penting terlebih dahulu. Contohnya, alat pemijat kepala. Kenapa tak sarankan bawa itu? Karena sepertinya materi akan semakin mbulet, teman-teman. Jujur saja, sejak modularitas, saya sudah pusying.

Nah, sekian curhatan dari saya. Sekarang kita akan langsung membahas materi selanjutnya, yaitu Function.

Pernah membuat suatu acara atau memimpin suatu organisasi? Di suatu organisasi biasanya terdapat pembagian divisi. Sehingga tiap-tiap orang akan ditempatkan di divisi yang paling sesuai dengan bakatnya. Dalam dunia kerja, konsep ini membantu dalam efektifitas kerja.

Nah, bagaimana jika konsep ini diterapkan ke dalam suatu program? Tentu akan sangat membantu, bukan?

Perhatikan contoh script berikut ini yang digunakan untuk menghitung operasi 

3⁴ 10³ 
4ᴶ

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 nᵐ  = n x n x n x … x n (sejumlah m kali perkalian)
Nah… bila program di atas kita terapkan ke dalam kasus yang kita hadapi maka script atau program PHPnya akan menjadi seperti ini: 

<?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;
?>

Jika kita perhatikan, pada script di atas ada beberapa proses yang dilakukan secara berulang-ulang yaitu ‘menghitung pangkat’. Akan lebih mudah jika proses tersebut masuk ke dalam 'Divisi Pangkat' bukan? Dengan kehadiran divisi tersebut, kita dapat dengan cepat menghitung pangkat bilangan karena   urusan   memangkatkan   bilangan   kita   serahkan   ke   divisi   tersebut.   Dalam program, divisi ini kita namakan function atau subprogram. 

OK… Sekarang abaikan dulu script di atas, kita lanjutkan tentang bagaimana membuat function.

Secara umum, bentuk function adalah:
function nama_function(parameter) 
.. 
.. 
return variabel; 

Keterangan:
Nama function ini nantinya akan dipanggil oleh program utama bila akan digunakan. Parameter di sini sifatnya optional (boleh ada, boleh tidak). Parameter ini ibarat input yang akan diolah oleh function.
Sedangkan return variabel merupakan perintah untuk memberikan hasil setelah dikerjakan oleh function. 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) 
{
$c = $a + $b; return $c;
}
echo "Hasil penjumlahannya = ".jumlah(3, 5);
?> 

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; 
?> 

Berikut  ini  contoh  function  yang tidak  perlu  menggunakan  return.  Script ini hanya sekedar untuk menampilkan suatu string melalui sebuah function. 

<?php
function tulis($x) 
echo "Anda menampilkan ". $x . "<br>"; 
}
tulis("Hello World.."); 
tulis("Apa kabar?");
?> 

Nah… kembali lagi ke kasus semula, yaitu mencari hasil dari 

3⁴ 10³ 
4ᴶ

Maka kita bisa membuat script yang lebih sederhana menggunakan function daripada sebelumnya.

<?php
function pangkat($m, $n) 
$hasil = 1; 
for ($i = 1; $i <= $n; $i++) 
$hasil = $hasil * $m; 
return $hasil; 
}
$jwb = pangkat(3, 4) * pangkat(10, 3) / pangkat(4, 5); echo "Hasilnya adalah : ".$jwb;
?> 

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

functions.php 

<?php
function jumlah($a, $b) 
$hasil = $a + $b; 
return $hasil; 
}
function kurang($a, $b) 
$hasil = $a - $b; 
return $hasil; 
}
function kali($a, $b) 
$hasil = $a * $b; 
return $hasil; 
}
function bagi($a, $b) 
$hasil = $a / $b; 
return $hasil; 
}
?> 

jumlah.php 

<?php
include "functions.php";
$bil1 = 103; $bil2 = 192;
echo "Hasil ".$bil1." + ".$bil2. " = " . jumlah($bil1, $bil2) ;
?>

kurang.php 

<?php
include "functions.php";
$bil1 = 103; 
$bil2 = 192;
echo "Hasil ".$bil1." - ".$bil2. " = " . kurang($bil1, $bil2) ;
?> 

kali.php 

<?php
include "functions.php";
$bil1 = 103; 
$bil2 = 192;
echo "Hasil ".$bil1." x ".$bil2. " = " . kali($bil1, $bil2) ;
?> 

bagi.php 

<?php
include "functions.php";
$bil1 = 103; 
$bil2 = 192;
echo "Hasil ".$bil1." / ".$bil2. " = " . bagi($bil1, $bil2) ; 
?> 

Built in Functions dalam PHP 

Sebuah function dapat kita create sendiri seperti halnya di atas, namun dapat juga langsung kita 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 bilangan desimal di /belakang komanya lebih dari atau sama dengan 0,5.
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 juga digunakan untuk mensorting dalam sebuah array saja. 

Sintaks dari penggunaan array_multisort() adalah 

array_multisort(x, metode, a, b, c, …); 

‘x’ adalah array yang digunakan sebagai acuan dalam sorting.
‘metode’ adalah metode yang digunakan sorting (ascending atau descending).
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.

Tugas Untuk Anda
1. Di  SMA  tentu  Anda  telah  mengenal  rumus  kombinasi  C(m,  n)  kan?  C(m,  n) dirumuskan dengan

Simbol ! menunjukkan faktorial.Sebagai contoh, 5! = 5 x 4 x 3 x 2 x 1 = 120.
Nah.. 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 faktorial   suatu   bilangan.   Selanjutnya   gunakanlah   function   tersebut   untuk menghitung C(m, n).
Jawab:

tugas1func.php

<h2>Rumus Kombinasi</h2>
<form method="POST" action="">
Masukkan nilai C(<input type="text" name="m">)(<input type="text" name="n">)<br>
<input type="submit" value="Submit">

<?php
$a=$_POST['m'];
$b=$_POST['n'];
$c=$a-$b;

function kombinasi($x)
{
    $hasil = 1;
    for ($i = 1; $i <= $x; $i++)
    {
        $hasil = $hasil*$i;
    }
    return $hasil;
}
echo "<br><br><br>";
echo "Bilangan yang Anda masukkan adalah '".$a."' dan '".$b."'<br>";
echo "Hasil Kombinasinya adalah ".kombinasi($a)/(kombinasi($b) * kombinasi($c));
?>

Hasil:
Analisa :
Untuk rumus kombinasi, kita akan gunakan rumus sesuai dengan soal di atas. Dan untuk hasilnya didapat dengan memanggil valuenya dari 'echo' yang seharusnya menjadi hasil proses. Tidak seperti proses yang lain yang mendeklarasikan pemanggilan valuenya di awal tanpa memanggil 'function' kembali.

2. Buatlah script untuk menghitung jumlah bilangan ganjil antara 10 dan 123456. Gunakan  function  untuk  mengecek  apakah  suatu  bilangan  termasuk  bilangan ganjil atau tidak. 
Jawab:

tugas2func.php

<?php
function ganjil($a)
{
    if($a%2==0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

for($i=10; $i<=123456; $i++)
{
    $jum=$jum+ganjil($i);
}
echo "Jumlah bilangan ganjil antara 10 dan 123456 adalah ".$jum;
?>

Hasil:
Analisa:
Pada fungsi kali ini, penggunaan IF dan FOR menjadi kunci utama. IF sebagai pemilah bilangan ganjil dan FOR sebagai fungsi penjumlahan bilangan ganjil.

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. 
Jawab:

tugas3func.php

<h2>Form Mencari Selisih Dua Waktu</h2>
<form method="post" action="">
Masukkan Waktu 1 = <input type="text" name="hh1">:<input type="text" name="mm1">:<input type="text" name="ss1"><br>
Masukkan Waktu 2 = <input type="text" name="hh2">:<input type="text" name="mm2">:<input type="text" name="ss2"><br>
<input type="submit" name="submit" value="Submit">
<input type="reset" name="reset" value="Reset">
<?php
$hh1=$_POST['hh1'];$mm1=$_POST['mm1'];$ss1=$_POST['ss1'];
$hh2=$_POST['hh2'];$mm2=$_POST['mm2'];$ss2=$_POST['ss2'];
$time1="$hh1:$mm1:$ss1";
$time2="$hh2:$mm2:$ss2";
$pecah1=explode(":", $time1);
$pecah2=explode(":", $time2);
echo "<br><br>Waktu 1 : ".$pecah1[0]." Jam, ";echo $pecah1[1]." Menit, ";echo $pecah1[2]." Detik<br>";
echo "Waktu 2 : ".$pecah2[0]." Jam, ";echo $pecah2[1]." Menit, ";echo $pecah2[2]." Detik";
$t1=$pecah1[0]*3600+$pecah1[1]*60+$pecah1[2];
$t2=$pecah2[0]*3600+$pecah2[1]*60+$pecah2[2];
if($t1>$t2)
{
    $t=$t1-$t2;
}
else
{
    $t=$t2-$t1;
}
echo "<br>Selisih kedua waktu adalah ".$t." detik";
?>



Hasil:


Analisa:
Pada percobaan di atas, dapat kita lihat bahwa program di atas memanfaatkan fungsi 'explode()' untuk memisahkan variabel jam, menit, dan detik. Selanjutnya memanfaatkan operator aritmatika untuk menghitung hasil selisih per detiknya.

4. Misalkan  dalam  suatu  kelas  terdapat  5  orang  siswa  dengan  nama  dan  NIS sebagai berikut
NIS Nama Siswa
A001 Agus
A002 Budi
A003 Amir
A004 Acong
A005 Siti
Buatlah  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.
Contoh Tampilan Form Input Nilai 
Petunjuk:
Data NIS dan Nama Siswa disimpan dalam array, begitu pula dengan nilai rata- ratanya. Selanjutnya sort berdasarkan nilai rata-rata (gunakan array_multisort()) lalu tampilkan. Jaw
Jawab:

tugas4func.php

<h2>Form Input Nilai Ujian</h2>
<form method="post" action="">
<table border=3 bgcolor=pink>
<tr align=center>
    <td><b>NIS</b></td>
    <td><b>Nama Siswa</b></td>
    <td><b>Nilai Ujian 1</b></td>
    <td><b>Nilai Ujian 2</b></td>
</tr>
<tr>
    <td>A001</td>
    <td>Agus</td>
    <td><input type="text" name="a1"></td>
    <td><input type="text" name="b1"></td>
</tr>
<tr>
    <td>A002</td>
    <td>Budi</td>
    <td><input type="text" name="a2"></td>
    <td><input type="text" name="b2"></td>
</tr>
<tr>
    <td>A003</td>
    <td>Amir</td>
    <td><input type="text" name="a3"></td>
    <td><input type="text" name="b3"></td>
</tr>
<tr>
    <td>A004</td>
    <td>Acong</td>
    <td><input type="text" name="a4"></td>
    <td><input type="text" name="b4"></td>
</tr>
<tr>
    <td>A005</td>
    <td>Siti</td>
    <td><input type="text" name="a5"></td>
    <td><input type="text" name="b5"></td>
</tr>
<tr align=center bgcolor=pink>
    <td colspan=2></td>
    <td><input type="submit" value="SUBMIT"></td>
    <td><input type="reset" value="RESET"></td>
</tr>
</table>

<?php
echo "<br><br>";
echo "<h2>Rata-Rata Nilai Terbesar ke Terkecil</h2>";
$a1=$_POST['a1'];$a2=$_POST['a2'];$a3=$_POST['a3'];$a4=$_POST['a4'];$a5=$_POST['a5'];
$b1=$_POST['b1'];$b2=$_POST['b2'];$b3=$_POST['b3'];$b4=$_POST['b4'];$b5=$_POST['b5'];
$rata1=($a1+$b1)/2;
$rata2=($a2+$b2)/2;
$rata3=($a3+$b3)/2;
$rata4=($a4+$b4)/2;
$rata5=($a5+$b5)/2;
$nis=array("A001","A002","A003","A004","A005");
$nama=array("Agus","Budi","Amir","Acong","Siti");
$rata=array($rata1,$rata2,$rata3,$rata4,$rata5);
array_multisort($rata, SORT_ASC, $nis, $nama);
for($i=count($rata)-1; $i>=0; $i--)
{
    echo "Nilai rata-rata = ".$rata[$i].", NIS : ".$nis[$i].", Nama : ".$nama[$i]."<br>";
}
?>


Hasil:

Analisa:

Pada program di atas, hal yang pertama dilakukan adalah memasukkan form input dengan metode POST. Selanjutnya hasil input dijadikan satu menjadi tipe data array, setelah sebelumnya dihitung nilai rata-ratanya. Selanjutnya dengan acuan hasil rata-rata ujian terbesar maka hasil urutan nilai dimulai dari yang terbesar menjadi output program di atas. Agar proses ini berjalan dengan baik, maka digunakan fungsi 'array_multisort()'.

5.   Suatu   perusahan   X,  terdapat   10  orang   karyawan   dengan   NIK  dan  Nama Karyawannya sebagaimana tampak pada tabel berikut ini

Perhatikan  kode  NIK  di  atas.  Digit  ke  2  dan  3  menunjukkan  posisi  karyawan dalam perusahaan. ‘01’ berarti di bagian keuangan, ‘03’ di bagian HRD dan ‘04’ di bagian maintenance.
Buatlah script PHP untuk menampilkan gaji setiap karyawan dengan ketentuan sbb: 

Jika  karyawan  di  bagian  keuangan,  maka  gaji  pokoknya:  Rp.  2.000.000,-.  Di bagian HRD gaji pokoknya Rp. 1.900.000,- dan di maintenance gaji pokoknya Rp. 1.950.000,-.
Selain itu masih ditambah tunjangan sesuai masa kerjanya. 

Jika  masa kerja  > 15 tahun  maka  tunjangannya  Rp. 500.000,-  Sedangkan  jika masa kerja 10 s/d 15 tahun, tunjangannya Rp. 300.000,-. Dan jika masa kerjanya di bawah 10 tahun tunjangannya Rp. 100.000,- 

Untuk format tampilan, gunakan tabel berikut ini 


Catatan: Gunakan format angka gaji sesuai format Rp. XXX.XXX.XXX,-
6.   Berdasarkan  data  karyawan  yang  ada  pada  soal  no.  5,  buatlah  script  untuk menampilkan   data   karyawan   (NIK,   nama   dan   masa   kerja)   dan   jumlah karyawannya dari ketentuan sbb:
a.   Karyawan di bagian ‘HRD’ yang masa kerjanya di atas 15 tahun 
b.   Karyawan di bagian ‘maintenance’  atau ‘keuangan’ yang masa kerjanya 10 tahun s/d 15 tahun
Gunakan  Radiobutton  untuk  proses  switching  tampilan  sebagaimana  contoh form berikut ini.
Data Karyawan 

<h2>Data Karyawan</h2>
<form method=post action="">
<input type=radio name=button value=button1>Karyawan di bagian 'HRD' dengan masa kerjanya di atas 15 tahun<br>
<input type=radio name=button value=button2>Karyawan di bagian 'Maintenance' atau 'Keuangan' dengan maca kerja 10-15<br><br>
<input type=submit value=SUBMIT>
</form>

<?php
$button=$_POST['button'];

switch($button)
{
    case'button1' :
    echo "<table border=3>";
    echo "<tr align=center><td><b>NIK</b></td>";
    echo "<td><b>Nama Karyawan</b></td>";
    echo "<td><b>Masa Kerja (tahun)</b></td></tr>";
    echo "<tr align=center><td>K03001</td>";
    echo "<td>C</td>";
    echo "<td>12</td></tr>";
    echo "<tr align=center><td>K03002</td>";
    echo "<td>D</td>";
    echo "<td>12</td></tr>";
    echo "<tr align=center><td>K03003</td>";
    echo "<td>E</td>";
    echo "<td>10</td></tr>";
    echo "</table>";
    $masa1="12, 12, 10";
    $hitung15=substr_count($masa1, "15");
    echo "Karyawan di bagian 'HRD' dengan masa kerja 15 tahun sebanyak ".$hitung15." karyawan.<br>";
    echo "Total karyawan 'HRD' dengan masa kerja lebih dari 15 tahun sebesar ".$hitung15." karyawan.";
    break;
    case 'button2' :
    echo "<table border=3>";
    echo "<tr align=center><td><b>NIK</b></td>";
    echo "<td><b>Nama Karyawan</b></td>";
    echo "<td><b>Masa Kerja (tahun)</b></td></tr>";
    echo "<tr align=center><td>K01001</td>";
    echo "<td>A</td>";
    echo "<td>20</td></tr>";
    echo "<tr align=center><td>K01002</td>";
    echo "<td>B</td>";
    echo "<td>18</td></tr>";
    echo "</table>";
    $masa2="20, 18";
    $hitung10 =substr_count($masa2, "10");
    $hitung11 =substr_count($masa2, "11");
    $hitung12 =substr_count($masa2, "12");
    $hitung13 =substr_count($masa2, "13");
    $hitung14 =substr_count($masa2, "14");
    $hitung15 =substr_count($masa2, "15");
    $jum1=$hitung10+$hitung11+$hitung12+$hitung13+$hitung14+$hitung15;
    echo "Karyawan di bagian 'Keuangan' dengan masa kerja 15 tahun sebanyak ".$jum1." karyawan.<br>";
    echo "<br>";
    echo "<table border=3>";
    echo "<tr align=center><td><b>NIK</b></td>";
    echo "<td><b>Nama Karyawan</b></td>";
    echo "<td><b>Masa Kerja (tahun)</b></td></tr>";
    echo "<tr align=center><td>K04001</td>";
    echo "<td>F</td>";
    echo "<td>8</td></tr>";
    echo "<tr align=center><td>K04002</td>";
    echo "<td>G</td>";
    echo "<td>11</td></tr>";
    echo "<tr align=center><td>K04002</td>";
    echo "<td>H</td>";
    echo "<td>9</td></tr>";
    echo "<tr align=center><td>K04002</td>";
    echo "<td>I</td>";
    echo "<td>7</td></tr>";
    echo "<tr align=center><td>K04002</td>";
    echo "<td>J</td>";
    echo "<td>14</td></tr>";
    echo "</table>";
    $masa3="8,11,9,7,14";
    $hitung10 =substr_count($masa3, "10");
    $hitung11 =substr_count($masa3, "11");
    $hitung12 =substr_count($masa3, "12");
    $hitung13 =substr_count($masa3, "13");
    $hitung14 =substr_count($masa3, "14");
    $hitung15 =substr_count($masa3, "15");
    $jum2=$hitung10+$hitung11+$hitung12+$hitung13+$hitung14+$hitung15;
    echo "Karyawan di bagian 'Maintenance' dengan masa kerja 10-15 tahun sebanyak ".$jum2." karyawan.<br>";
    echo "<br><br><b>Total karyawan 'Keuangan' dan 'Maintenance' dengan masa kerja 10-15 tahun sebesar ".($jum1+$jum2)." karyawan.</b><br><br>";
    break;
}
?>


Hasil:







Analisa:
Ketika dipilih salah satu dari kedua button di atas, maka tampilannya akan memunculkan tabel yang berbeda. Pada gambar di atas memang tidak ditampilkan namanya, karena ku yakin kalian bisa mencobanya sendiri. Untuk programnya memang sangat banyak dibanding tanpa menggunakan 'function' namun function sendiri agaknya lebih membantu dalam hal seperti ini, meskipun programnya bertambah panjang luar biasa.

Tidak ada komentar:

Posting Komentar

Upload File dengan PHP dan MySQL

Upload file adalah salah satu bagian terpenting dalam membuat aplikasi, khususnya yang berbasis web.Contohnya saat kita harus mengupload ent...