Penggunaan fungsi MENTHODS pada PHP

Pada kesempatan kali ini kita akan membahas tentang fungsi pada PHP, termasuk cara membuat fungsi pada PHP

Di dalam dunia pemrograman, dalam bahasa apapun, penggunaan fungsi (function) adalah mutlak, oleh karena itu penting untuk mempelajarinya.

Fungsi ini diciptakan agar sekumpulan tugas yang dilakukan berulang ulang  dapat ditulis dalam satu kode saja, sehingga jika ada tugas yang sama ingin dikerjakan lagi, tinggal menjalankan fungsi tersebut.

Terkait fungsi ini ada dua hal pokok yang dapat kita lakukan, yaitu:

  1. Mendefinisikan fungsi sendiri, jika fungsi yang kita inginkan belum disediakan oleh PHP
  2. Memanggil fungsi, baik built-in function dan user-defined function cara memanggilnya sama yaitu menuliskan nama fungsi kemudian diikuti tanda kurung, misal kita memanggil fungsi cetak, maka kita menuliskan:
    function nama_bulan($bulan) {
    	echo $bulan;
    }
    nama_bulan('Januari'); // Hasil Januari
    1

I. Jenis Fungsi Pada PHP

Fungsi pada PHP dibagi menjadi dua yaitu built-in function yang merupakan fungsi bawaan PHP dan user-defined function, dimana kita membuat fungsi sendiri.

Banyak sekali fungsi yang disediakan php, seperti sbstr(), dll  yang dapat kita gunakan langsung, list lengkapnya dapat dilihat pada halaman: PHP: Function and Method Listing – Manual

Kita tidak perlu menghafal semua fungsi tersebut dan ketika memerlukan tidak perlu mencarinya disana, karena tetap akan sulit mencarinya, sebaliknya, gunakan saja google.

II. Menulis / Membuat Fungsi Pada PHP

Membuat fungsi pada PHP dapat dilakukan dengan mudah, yaitu (1) menuliskan keyword

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
2 (2) kemudian diikuti dengan nama fungsi (3) diikuti dengan tanda kurung
function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
3 sebagai tempat argumen, (4) kemudian diikuti dengan kurung kurawa
function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
4 sebagi block statement yang akan dijalankan ketika fungsi dipanggil.

Penggunaan fungsi MENTHODS pada PHP
Penggunaan fungsi MENTHODS pada PHP

Pada kondisi tertentu nama fungsi ini tidak ditulis, lihat bagian V. Anonymous function atau closure

Penulisan nama fungsi harus mengikuti ketentuan sebagai berikut:

  1. Harus diawali huruf atau underscore(_) kemudian dapat diikuti dengan huruf, angka, dan underscore
  2. Case in-sensitive (tidak membedakan huruf kecil dan besar)

1 Argumen Fungsi

Argumen fungsi ditulis dalam tanda kurung dan dapat berupa tipe data apapun baik string, array, object, boelan, dsb.., selain itu argumen juga dapat dikosongkan, contoh:

<?php
// Tanpa argumen
function nama_bulan() {
	echo 'Agustus';
}
nama_bulan(); // Hasil Agustus

Contoh berikutnya kita definisikan argumen, sehingga kita dapat mencetak nama bulan sesuai dengan yang kita inginkan:

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari

Lebih lanjut, argumen dari fungsi ini dapat kita definisikan lebih dari satu, caranya, pisahkan argumen dengan tanda koma, contoh:

function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016

2 Nilai Default Argumen

Kita dapat mendefinisikan nilai default dari argumen, sehingga memudahkan pemanggilan fungsi karena tidak perlu menulis argumen terlalu banyak, contoh:

function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016

Nilai default argumen ini bisa kita isi tipe data apa saja seperti boelan (true, false), null, array, object, dll

3 Memanggil Fungsi

Pemanggilan fungsi dilakukan dengan menulis nama fungsi tersebut, seperti pada contoh sebelumnya, kita memanggil fungsi dengan menulis

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
5 dan
function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
6

Jika fungsi memerlukan argumen, maka kita juga harus menulis argumen tersebut.

Catatan: Ketika melakukan pemanggilan fungsi, maka penulisan argumen harus lengkap, jika fungsi terdiri dari 3 argumen, maka kita harus menuliskan ketiganya, jika tidak maka akan muncul pesan error, KECUALI argumen tersebut memiliki nilai default (dibahas dibawah)

III. Nilai Kembalian – Return Value

1 Menggunakan return

Nilai kembalian ini maksudnya fungsi yang kita panggil tadi akan menghasilkan nilai tertentu, nilai tersebut bisa bertipe apa jasa seperti: boelan, float, array, object, dll

Nilai kembalian ini dijalankan dengan menggunakan keyword

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
7, contoh:

<?php
function nama_bulan($bulan) {
	$nama_bulan = array (1 => 'Januari', 2 => 'Februari', 3 => 'Maret');
	return $nama_bulan[$bulan];
}
// date('n') akan menghasilkan bulan sekarang dalam bentuk 1 digit, misal 3 untuk Januari
$bulan = nama_bulan(date('n')); // Hasil Maret 
echo $bulan . ' ' . date('Y'); // Hasil Maret 2016

Keyword ini dapat diletakkan dimana saja di dalam fungsi dan ketika php menemukan keyword ini, maka seketika pemanggilan fungsi akan dihentikan dan PHP kembali ke baris dimana fungsi tadi dipanggil.

Karakteristik tersebut dapat memudahkan kita mengatur penulisan kode, sehingga, ketika menulis fungsi, kita harus selalu mempertimbangkan kemungkinan penggunaan

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
7 di tengah code, terutama ketika menggunakan conditional
function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
9

Contoh:

function report($bulan) {
	if ($bulan < 3) {
		$status = 'Report belum tersedia';
	} else {
		$status = 'Report sudah tersedia';
	}
	return $status;
}
echo report(2); // Hasil Report belum tersedia;

Untuk lebiih efisien, kode tersebut dapat diubah menjadi:

function report($bulan) {
	if ($bulan < 3) {
		return 'Report belum tersedia';
	} else {
		return 'Report sudah tersedia';
	}
}

Pada script pertama, PHP akan membaca seluruh kode pada fungsi, sebaliknya untuk script kedua, ketika sampai 

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
9 maka fungsi berhenti karena bertemu
function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
7,

Hal ini tentu akan mempercepat proses eksekusi terlebih jika script yang kita tulis panjang.

2 Return value lebih dari satu nilai

Return value HANYA memberikan nilai kembalian sebanyak satu nilai, misal pada contoh diatas hanya menghasilkan nama bulan, jika ingin menghasilkan nilai kembalian lebih dari satu, maka kita gunakan array, contoh:

<?php
function nama_bulan($bulan) {
	$nama_bulan = array (1 => 'Januari', 2 => 'Februari', 3 => 'Maret');
	$semester 	= $bulan < 7 ? 1 : 2;
	return array('bulan' => $nama_bulan[$bulan],
					'semester' => $semester
				);
}
$bulan = nama_bulan(3);
echo '<pre>'; print_r($bulan);
/* HASIL:
Array
(
    [bulan] => Maret
    [semester] => 1
)*/

IV. Fungsi Alias Pada PHP

Untuk alasan tertentu seperti penamaan fungsi yang lebih relevan dengan tugas fungsi tersebut, PHP menyediakan fungsi baru yang tugasnya sama persis dengan fungsi lama, yang disebut fungsi alias (Function Aliases)

Fungsi baru tersebut tidak memiliki kode sendiri, melainkan ketika dipanggil, dia memanggil fungsi yang lama.

Contoh dari fungsi alias ini adalah:

function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
2, 
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
3 dan
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
4 yang merupakan alias dari fungsi 
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
5, 
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
6 dan
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
7, contoh penggunaan fungsi ini dapat dibaca disini.

Dari contoh tersebut terlihat bahwa

function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
2, 
function nama_bulan($bulan, $tahun) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari', 2016); // Hasil Januari 2016
9 dan
function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016
0 lebih pendek dan lebih memiliki arti, untuk list lengkap dari alias ini, dapat dilihat pada halaman: PHP: List of Function Aliases – Manual

Beberapa orang mempermasalahkan performa dari fungsi alias ini, karena fungsinya yang menjalankan fungsi lain,  namun sebenarnya tidak masalah menggunakan fungsi ini, karena perbedaan speed nya sangat tidak signifikan.

V. Anonymous Function

Anonymous function atau disebut juga closure dapat diartikan fungsi tanpa nama (anonymous). Fungsi ini umumnya digunakan pada fungsi-fungsi yang membutuhkan callback (fungsi yang dipanggil oleh fungsi lainnya).

Fungsi yang membutuhkan callback ini bisa built-in function seperti

function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016
1, array_map,
function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016
2, dll maupun user-defined function

Contoh berikut ini diambil dari tulisan sebelumnya: 15+ Fungsi Terkait Array Pada PHP

<?php
$kendaraan 	= array('Mobil', 'Motor', 'Sepeda');
$upper 		= array_map('toupper', $kendaraan);
function toupper($array_val) {
	return strtoupper($array_val);
}
echo '<pre>'; print_r($upper);

Nah, seperti disampaikan sebelumnya, tujuan dibuatnya 

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
2 adalah agar dapat digunakan kembali (re-use), karena fungsi
function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016
4 HANYA digunakan sekali, maka fungsi tersebut dapat kita gabungkan ke dalam fungsi
function nama_bulan($bulan, $tahun = 2016) {
	echo $bulan . ' ' . $tahun;
}
nama_bulan('Januari'); // Hasil Januari 2016
5 sehingga bentuknya menjadi anonymous function:

<?php
$kendaraan = array('Mobil', 'Motor', 'Sepeda');
$upper = array_map(function($value) {
	return strtoupper($value);
}, $kendaraan);
echo '<pre>'; print_r($upper);

Contoh lain pada user-defined function:

function nama_bulan($bulan) {
	echo $bulan;
}
nama_bulan('Januari'); // Hasil Januari
0

Penutup

Telah kita bahas mengenai fungsi pada PHP termasuk cara membuat fungsi pada PHP, namun banyak sekali pembahasan yang belum tercakup,  seperti passing argument by reference, function by reference, fungsi recursive, dll yang tentu akan terlalu panjang jika dibahas di sini, semoga kita dapat membahasnya di lain kesempatan.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

Apa itu method dalam PHP?

Seperti apa method di bahasa pemrograman PHP? Method adalah sebuah fungsi yang didalamnya terdapat potongan kode yang dibuat untuk membantu programmer mempersingkat kode pada program. Method mirip seperti function, keduanya sama – sama fungsi.

Apa fungsi method POST yang digunakan dalam sebuah form pada PHP?

Method POST Mengirimkan Data Secara Langsung. Maksudnya adalah mengirimkan sebuah data atau nilai / value langsung ke file lain. Pemakaian method POST ini digunakan untuk mengirimkan data yang penting / kredensial dan data yang orang lain tidak boleh tau / secret data, seperti password, dan sebagainya.

Apa fungsi method GET?

method GET akan menampilkan data/nilai pada URL, kemudian akan ditampung oleh action. Berikut ini adalah contoh penggunaan method GET. Pada saat kita klik tombol submit, dibagian URL terdapat data yang dikirimkan yaitu, nama=fadil+coba.

Apa fungsi method POST?

Jika dijabarkan lebih detail, maka method POST akan mengirimkan data atau nilai langsung ke action php untuk ditampung, tanpa menampilkan pada URL bar.