Cari Blog Ini

Minggu, 23 Juni 2019

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
Text Box: abs()


Untuk menghitung nilai mutlak atau absolute Contoh:
<?php
$bil = -10;
echo abs($bil); // menghasilkan 10
?>
Text Box: ceil()


Untuk membulatkan ke atas suatu bilangan real Contoh:
<?php
$bil = 19.1;
echo ceil($bil); // menghasilkan 20
?>
Text Box: floor()


Untuk membulatkan ke bawah suatu bilangan real Contoh:
<?php
$bil = 19.5;
echo floor($bil); // menghasilkan 19
?>
Text Box: max()


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

?>
Text Box: min()


Mencari nilai minimum dari suatu data bertipe array
Text Box: mt_rand(x, y)


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;

?>
Text Box: pow(x, y)


Digunakan untuk mencari hasil x pangkat y. Contoh:
<?php

$hasil = pow(4, -5); // menghitung 4 pangkat -5 echo $hasil;

?>




Text Box: round()

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



Text Box: array_multisort()



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
Text Box: array_rand()


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;
?>
Text Box: array_reverse()


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
}



?>
Text Box: array_search()


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)

?>
Text Box: count()


Digunakan untuk menghitung jumlah elemen yang ada dalam suatu array.


String Built in Functions
Text Box: explode()


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



?>






Text Box: md5()

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.
Text Box: number_format()


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;

?>
Text Box: str_replace()


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’

?>
Text Box: strip_tags()


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’





?>

Text Box: strlen()


Digunakan untuk menghitung jumlah karakter dari suatu string


Contoh:

<?php

$kata = "Hello World";
$jumKarakter = strlen($kata);

echo $jumKarakter; // akan menghasilkan 11 (spasi ikut dihitung)

?>
Text Box: strtolower()


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’

?>
Text Box: strtoupper()


Merupakan kebalikan strtolower()
Text Box: substr_count()


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.
?>
Text Box: substr()


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



Text Box: SUBMIT    Text Box: RESET

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..😇🙏🙏