MENGENAL LEBIH DEKAT TENTAG APA ITU "FUNCTION"DAN BAGAIMANA CARA PENERAPANYA
assalamualaikum warahmatullahi wabarakatu....😇🙏🙏
gimana kabar anda sekalian?? tentunya sehat lah yaa, oleh karena itu kita jangan lupa untuk bersyukur kepada allah SWT karena atas berkat dan rahmatnyalah kita semua diberikan kesehatan serta rezeki yang tiada habisnya..
pada pertemuan kali ini saya ingin memberikan ilmu serta pengalaman saya kepada anda sekalian tentang apa itu "FUNCTION" dan bagaimana cara membuat program sederhananya, selain itu saya juga akan memberikan contoh tugas kepada anda semua guna menjadi sebuah pembelajaran ke tahap selanjutnya agar anda semakin paham tentang apa itu FUNCTION
Dalam suatu pengaturan
organisasi, biasanya perlu dibentuk semacam bagian-bagian kerja atau divisi yang spesifik kerjanya.
Sebagai contoh misalkan
dalam suatu organisas 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? Ya… 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.
Nah.. 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
scrip tersebut. Sekaligus, Anda pun akan lebih
mudah dalam mengatur
proses programnya.
Perhatikan
contoh script berikut ini yang digunakan untuk menghitung operasi
34103
4J
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)
Nah… bila program
di atas kita
terapkan ke dalam
kasus yang kita
hadapi maka script atau program PHP 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;
?>
Wah… ternyata panjang
juga ya. Bila kita perhatikan bahwa dalam script
di atas ada beberapa pekerjaan yang
dilakukan secara berulang-ulang yaitu ‘menghitung pangkat’ Nah… mungkin
untuk keperluan efisiensi
dan efektifitas, bagaimana
seandainya kita buat ‘Divisi Perpangkatan‘ dalam program yang
tugasnya khusus menghitung pangka bilangan ☺
Dengan kehadiran divisi tersebut, kita dapat dengan
cepat menghitung pangkat
bilangan karena urusan memangkatkan bilangan
kita serahkan ke divisi tersebut. Dalam programming, divisi ini kita namakan function
atau subprogram.
OK… sejenak kita tinggalkan kasus di atas. Sekarang kita lanjutkan dahulu tentang
bagaimana membuat function.
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)
{
$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;
?>
Sedangkan berikut ini contoh function yang tidak perlu menggunakan
return. Script berikut ini hanya sekedar 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
34103
4J
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;
?>
Anda juga bisa
membuat beberapa function dalam file tersendiri, semacam daftar
function. Selanjutnya setiap kali butuh suatu function dalam daftar
tersebut, meng-include-kan saja nama file nya, lalu panggil nama functionnya.
Trik ini
cukup sering
digunakan oleh para programmer handal 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 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 array
data berbentuk
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]; echo
"Bulan : ".
$pecah[1];
echo "Tahun : ". $pecah[2];
// menampilkan 20
// menampilkan 01
// 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, paramete 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)
Tugas
1.
Di SMA tentu Anda telah mengenal
rumus kombinasi C(m, n) kan? C(m, n) dirumuskan dengan
m!
¢(m, n) =
n! (m — n)!
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).
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.
4.
Misalkan dalam suatu kelas terdapat
5 orang siswa dengan nama dan NIS sebagai berikut
NIS Nama Siswa
A001 A002
Agus Budi
A003 A004 A005
Amir
Acong 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
dar yang paling tinggi sampai yang paling rendah.
Contoh
Tampilan Form Input Nilai
NIS
|
Nama
Siswa
|
Nilai
Ujian 1
|
Nilai
Ujian 2
|
||||
A001
|
Agus
|
|
|
|
|
|
|
|
|
||||||
A002
|
Budi
|
|
|
||||
A003
|
Amir
|
|
|
||||
A004
|
Acong
|
|
|
|
|
|
|
A005
|
Siti
|
|
|
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.
5.
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
◘
Karyawan di bagian
‘HRD’ dengan masa kerja >
15 tahun
◘ Karyawan di bagian ‘Maintenance’ atau ‘Keuangan’ dengan
masa kerja 10 – 15 th
oke mungkin itu saja yang dapat saya berikan pada kesempatan kali ini semoga dapat bermanfaat bagi anda dan khususnya bagi saya selaku penulis. bila ada kesalahan kata atau penulisan saya mohon maaf sebesar besarnya...
wassalamualaikum warahmatullahi wabarakatu..😇🙏🙏