ffCCBot/2.0 (http://commoncrawl.org/faq/)
NEW!! Buku Query MySQL Lihat Detail » x

Memahami Fungsi Pada PHP dan Cara Membuatnya

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: cetak()

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 (2) kemudian diikuti dengan nama fungsi (3) diikuti dengan tanda kurung () sebagai tempat argumen, (4) kemudian diikuti dengan kurung kurawa {} sebagi block statement yang akan dijalankan ketika fungsi dipanggil.

Menulis - Membuat Fungsi 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 nama_bulan() dan nama_bulan('Januari', 2016)

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 return, 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 return di tengah code, terutama ketika menggunakan conditional if

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 if maka fungsi berhenti karena bertemu return,

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: die()key_exists() dan join() yang merupakan alias dari fungsi exit()array_key_exists() dan implode(), contoh penggunaan fungsi ini dapat dibaca disini.

Dari contoh tersebut terlihat bahwa die()key_exists dan join 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 preg_replcace_callback, array_map, array_walk, 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 adalah agar dapat digunakan kembali (re-use), karena fungsi toupper() HANYA digunakan sekali, maka fungsi tersebut dapat kita gabungkan ke dalam fungsi array_map 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, $callback) {
	$list_bulan = array (1 => 'Januari', 2 => 'Februari', 3 => 'Maret');
	$nama = $list_bulan[$bulan];
	
	if (is_callable($callback)) {
		return $callback($nama);
	}
	return $nama;
}

$bulan = nama_bulan(2, function($val) {
						return strtoupper($val);
					});
echo $bulan; // Hasil: FEBRUARI

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.

Recomended Post

Silakan tinggalkan komentar

Like Us

Dapatkan update artikel terbaru via E-Mail
  1. Eksklusif Cheat Sheet PHP Bahasa Indonesia – Pendamping Belajar PHP

  2. PHP FORM III: Menampilkan Data MySQL Dengan PHP dan Form HTML

  3. Tutorial PHP Form II: Menampilkan Hasil Input Form HTML dengan PHP

  4. Tutorial PHP Form I: Menghubungkan Form HTML dengan PHP

  5. Menampilkan Data Dari Beberapa Tabel MySQL – JOIN Pada MYSQL

  6. Memahami dan Menampilkan Tanggal dan Waktu Pada PHP

  7. Menghitung Selisih Waktu Dengan PHP – Cara Termudah

  8. Memahami Fungsi Date Pada PHP

  9. Memahami Fungsi Time, Strtotime, dan Mktime Pada PHP – Memanipulasi Waktu

  10. Memahami Zona Waktu (Timezone) dan Selisih Waktu Pada PHP