Archive for 2016

Pengertian Variable Parameter dalam Fungsi PHP

Rabu, 21 Desember 2016
Posted by belajar puskom
Dalam tutorial belajar PHP kali ini, kita akan membahas tentang pengertian variable parameter, dan fungsi dari variabel parameter dalam PHP.

Pengertian Variable Parameter

Variable Parameter adalah sebuah fitur dalam PHP dimana kita bisa membuat fungsi dengan jumlah parameter yang bisa berubah-ubah (variable). Umumnya sebuah fungsi membutuhkan parameter yang telah ditentukan sebelumnya, namun dengan beberapa fungsi khusus, PHP membolehkan kita untuk membuat fungsi dengan jumlah parameter tidak dibatasi, bisa 0, 2, 5, bahkan 100 parameter dengan 1 nama fungsi.

Cara Pembuatan Fungsi dengan Variable Parameter

Sebuah fungsi dengan jumlah parameter yang tidak diketahui tampaknya agak aneh, namun fleksibilitas ini dapat digunakan untuk kasus-kasus pemograman khusus.

Sebagai contoh, saya akan membuat fungsi penambahan(), dimana fungsi ini akan menambahkan seluruh angka yang terdapat di dalam argumennya.

Misalkan penambahan(2,6,8) akan menghasilkan 16, dan penambahan(1,2,3,4,5,6) akan menghasilkan nilai 21. Saya menginginkan fungsi ini mendukung berapapun jumlah argumen. Fungsi akan mengunakan fitur Variable Parameter.

Untuk membuat sebuah fungsi dengan jumlah parameter yang tidak diketahui, PHP menyediakan 3 fungsi tambahan untuk mengakses argumen yang diinput pada saat fungsi dipanggil. Ketiga fungsi tersebut adalah:
  • func_get_args(): fungsi ini akan mengembalikan seluruh nilai argumen dalam sebuah fungsi. Hasilnya dalam bentuk array.
  • func_num_args(): fungsi ini akan mengembalikan banyaknya jumlah argumen dalam pemanggilan fungsi, apakah 1 argumen, 3 argumen, atau 10 argumen.
  • func_get_arg(no_urut_argumen): fungsi ini akan mengembalikan nilai dari argumen pada nomor urut yang diberikan kepadanya.
Agar mudah memahami fungsi ketiganya, langsung saja kita masuk ke dalam kode program:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
function penambahan()
{
   //ambil variable parameter
   $array_argumen = func_get_args();
   $jumlah_argumen = func_num_args();
   $nilai_argumen_ke_2 = func_get_arg(1); //index dimulai dari 0
   //tampilkan hasil variable parameter
   echo "Jumlah argumen: $jumlah_argumen";
   echo "<br />";
   echo "Nilai argumen ke-2: $nilai_argumen_ke_2";
   echo "<br />";
   echo "Array Argumen: ";
   var_dump($array_argumen);
   echo "<br />";
   echo "<br />";
   return;
}
echo "Rincian dari fungsi penambahan(1,2) : ";
echo "<br />";
penambahan(1,2);
echo "Rincian dari fungsi penambahan(5,4,3,2,1) : ";
echo "<br />";
penambahan(5,4,3,2,1);
echo "Rincian dari fungsi penambahan(0,6,8,19) : ";
echo "<br />";
echo penambahan(0,6,8,19);
?>

Mari kita membahas kode PHP diatas:
Pada baris ke-2, saya mendefenisikan fungsi penambahan() tanpa menggunakan parameter. Untuk membuat fungsi variable parameter (dimana jumlah parameternya yang tidak ditentukan) dalam pendefenisian fungsi, dibuat tanpa parameter sama sekali.

Pada baris 5-7, saya menjalankan ke-3 fungsi khusus yang telah dijelaskan sebelumnya. Fungsi-fungsi ini akan mengambil nilai-nilai dari argumen yang diinputkan pada saat pemanggilan fungsi. Lalu nilai ini saya simpan kedalam 3 variabel, yakni $array_argumen, $jumlah_argumen, dan $nilai_argumen_ke_2

Sebagai catatan, untuk mengambil nilai argumen ke-2, saya dapatkan nilainya dari fungsi func_get_arg(1). Karena argumen dihitung dari angka 0, sehingga argumen kedua berada di index ke 1.

Selanjutnya dari baris 11-20 saya menampilkan hasil masing-masing variabel. Penulisan echo ”<br/>” digunakan semata-mata agar tampilan di browser lebih rapi dan mudah dilihat.

Pada saat pemanggilan fungsi penambahan() pada baris ke 26, 30 dan 34, saya memanggilnya dengan jumlah argumen yang berbeda-beda, dan anda dapat melihat hasil dari ke-3 fungsi khusus variabel parameter.

Dengan ke-3 fungsi khusus telah sukses di jalankan, untuk membuat fungsi penambahan() yang sebenarnya, saya tinggal membuat perulangan (looping) untuk menambahkan seluruh argumen-argumen yang ada. Berikut adalah kode program fungsi penambahan versi final:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function penambahan()
{
   //ambil variable parameter
   $jumlah_argumen = func_num_args();
   //proses penambahan
   $nilai=0;
   for ($i = 0; $i < $jumlah_argumen; $i++)
   {
      $nilai += func_get_arg($i);
   }
   return $nilai;
   }
echo "penambahan(1,2) = ".penambahan(1,2);
echo "<br />";
echo "penambahan(5,4,3,2,1) = ".penambahan(5,4,3,2,1);
echo "<br />";
echo "penambahan(0,6,8,19,20,44,21) = ".penambahan(0,6,8,19,20,44,21);
?>


Fungsi penambahan() diatas akan memproses tiap-tiap argumen yang diberikan kepada fungsi tersebut. Perulangan for akan memproses perulangan sebanyak argumen yang dimiliki.
Dalam lanjutan tutorial belajar PHP kali ini kita akan membahas tentang Cara Pembuatan Default Parameter pada Fungsi PHP.

Pengertian Default Parameter dalam PHP

Default Parameter adalah istilah untuk parameter yang memiliki nilai awal, atau nilai default.

Sebagai contoh, misalkan kita membuat fungsi sederhana: tambah(). Fungsi ini membutuhkan 2 buah parameter, yakni nilai yang ingin ditambahkan. Berikut adalah contoh programnya:
1
2
3
4
5
6
7
8
9
<?php
function tambah($a,$b)
{
   return $a+$b;
}
echo tambah(2,3); // hasil: 5
echo tambah(3,4); // hasil: 7
?>

Dengan menambahkan default parameter, kita bisa memanggil fungsi tambah() hanya dengan 1 inputan angka, atau bahkan tidak perlu sama sekali. Berikut adalah perubahannya:

1
2
3
4
5
6
7
8
9
10
<?php
function tambah($a,$b=2)
{
   return $a+$b;
}
echo tambah(2); // hasil: 4
echo tambah(10); // hasil: 12
echo tambah(4,4); // hasil: 8
?>

Perhatikan di dalam pembuatan fungsi, saya menulis parameter kedua menjadi $b=2. Inilah yang dimaksud dengan default parameter. Jika parameter $b tidak ditulis pada saat pemanggilan fungsi, nilai 2 akan dijadikan nilai awal.

Dengan nilai default ini, kita bisa merancang fungsi dengan parameter yang bersifat opsional. Parameter tersebut bisa diisi pada saat pemanggilan fungsi, namun boleh juga diabaikan. Sehingga jika fungsi dipanggil tanpa parameter, nilai ini akan menjadi nilai awal untuk fungsi tersebut.

Fitur default parameter bisa dimanfaatkan untuk membuat fungsi yang fleksibel, karena pada saat pemanggilan fungsi kita tidak harus menginputkan seluruh parameter, tetapi apa yang dianggap perlu saja.

Cara Penulisan Default Parameter dalam PHP

Untuk membuat default parameter, kita hanya butuh memberikan nilai awal pada saat pendefenisian parameter. Berikut adalah format dasar penulisan default parameter dalam PHP:
function nama_fungsi ($parameter1=nilai_default1,$parameter2=nilai_default2)
{
   // proses fungsi
   return nilai_akhir;
}
  • nama_fungsi adalah nama dari fungsi yang akan dibuat
  • $parameter1, $parameter2 adalah variabel yang akan menampung inputan atau argumen pada saat pemanggilan fungsi.
  • nilai_default1, nilai_default2 adalah nilai default untuk parameter. Nilai ini akan digunakan jika pada saat pemanggilan fungsi nilai parameter tidak diisi.
  • return nilai_akhir adalah instruksi untuk mengembalian hasil pemrosesan fungsi.
Agar lebih mudah memahami konsep default parameter, saya akan mengubah fungsi pangkat() yang telah kita rancang pada tutorial Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP, berikut adalah contoh kode programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function pangkat($nilai, $pangkat=2)
{
   $hasil=1;
   for ($i=1;$i<=$pangkat;$i++)
   {
      $hasil=$hasil*$nilai;
   }
   return $hasil;
}
//Test beberapa kasus inputan untuk fungsi pangkat()
echo "pangkat(5) = ".pangkat(5);
echo "<br />";
echo "pangkat(3) = ".pangkat(3);
echo "<br />";
echo "pangkat(2,8) = ".pangkat(2,8);
echo "<br />";
echo "pangkat(3.5,3) = ".pangkat(3.5,3);
echo "<br />";
?>

Pada contoh fungsi pangkat() kali ini saya tidak menggunakan fitur pengecekan tipe data agar contoh program lebih sederhana.
Pada saat mendefenisikan fungsi pangkat(), saya menambahkan nilai 2 sebagai default parameter untuk parameter $pangkat. Sehingga jika fungsi pangkat() dipanggil tanpa parameter ke-2, berarti $pangkat akan diisi nilai 2.

Saat pemanggilan fungsi pangkat(5), maka kita hanya menggunakan 1 buah argumen. Untuk argumen ke 2, akan diisi nilai default, yakni 2. Sehingga fungsi yang akan dijalankan sebenarnya adalah pangkat(5,2).

Namun saat pemanggilan fungsi pangkat(2,8), maka nilai parameter $pangkat akan menggunakan 8, bukan angka 2, karena pada pemanggilan kali ini, saya membuat 2 buah argumen.

Penempatan Default Parameter

Sebuah fungsi tidak dibatasi berapa banyak default parameter yang boleh digunakan, namun jika anda ingin membuat default parameter, dan pada fungsi yang sama juga menggunakan parameter biasa, maka default parameter harus diletakkan di akhir pendefenisian parameter.

Dengan kata lain, setelah pendefinisian parameter dengan nilai default, tidak boleh ada parameter reguler sesudahnya. Contoh pendefenisian fungsi berikut ini akan menyebabkan error dalam PHP:
function tambah($nilai1, $nilai2=3, $nilai3)

Hal ini terjadi karena default parameter diletakkan sebelum parameter biasa. Contoh diatas seharusnya di tulis sebagai:
function tambah($nilai1, $nilai2, $nilai3=3)
//atau
function tambah($nilai1, $nilai2=3, $nilai3=3)

Dalam kedua contoh tersebut, dafault parameter di letakkan setelah pendefenisian parameter biasa.

Default parameter merupakan fitur yang bisa dimanfaatkan untuk membuat fungsi kita lebih fleksibel, karena cara pemanggilan fungsi dapat dirancang dengan lebih sederhana. Untuk merancang fungsi yang lebih rumit, kita bisa membuat jumlah argumen yang tidak terbatas. Mengenai hal ini kita akan membahasnya dalam tutorial Pengertian Variable Parameter dalam Fungsi PHP.
Dalam pembuatan fungsi PHP, kita dapat memanfaatkan argumen atau parameter sebagai inputan kedalam fungsi yang dirancang. Dalam tutorial belajar PHP kali ini kita akan membahas tentang Cara Pengecekan Tipe Data Argumen untuk Fungsi PHP.

Pentingnya Pengecekan Tipe Data Argumen

Dalam pembuatan fungsi PHP, selain merancang cara kerja fungsi, kita juga harus memperkirakan berapa banyak parameter yang dibutuhkan untuk fungsi tersebut. Sebuah fungsi bisa memiliki 1, 2 atau 5 parameter, namun bisa juga tanpa parameter sama sekali.

Tergantung tujuannya, sebuah fungsi umumnya hanya memperbolehkan tipe data tertentu sebagai argumen. Misalnya, untuk fungsi yang berhubungan dengan matematika, biasanya hanya membutuhkan argumen dengan tipe data angka (integer atau float), dan fungsi penghitung kata, hanya membutuhkan tipe data string sebagai argumen.

Jika anda adalah satu-satunya pengguna fungsi yang anda rancang sendiri, maka dapat dipastikan bahwa tidak akan ada inputan argumen yang salah tipe data. Namun jika terdapat kemungkinan fungsi yang dirancang akan digunakan oleh pihak lain, pengecekan tipe data argumen perlu dirancang agar fungsi berjalan sebagaimana mestinya.

Jika tipe data parameter tidak sesuai, maka fungsi tidak akan berjalan sebagaimana mestinya, dan biasanya PHP akan mengeluarkan pesan error. Cara elegan untuk mengatasi permasalahan ini adalah membuat kode program untuk memeriksa tipe data parameter ini sebelum masuk kepada pemrosesan di dalam fungsi.

Pengecekan tipe data dilakukan pada awal pemrosesan fungsi, dan jika tipe data tidak sesuai, kita bisa membuat pesan bahwa fungsi tidak dapat diproses. Pengecekan apakah suatu argumen merupakan bagian dari tipe data tertentu, dilakukan dengan fungsi khusus yang telah disediakan PHP.

Berikut adalah list fungsi pengecekan tipe data dalam PHP:
  • is_array($var):  fungsi pengecekan apakah tipe data adalah array
  • is_bool($var):  fungsi pengecekan apakah tipe data adalah boolean
  • is_double($var):  fungsi pengecekan apakah tipe data adalah float
  • is_float($var):  fungsi pengecekan apakah tipe data adalah float
  • is_int($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_integer($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_long($var):  fungsi pengecekan apakah tipe data adalah integer
  • is_null($var):  fungsi pengecekan apakah tipe data adalah null
  • is_numeric($var):  fungsi pengecekan apakah tipe data adalah angka (integer dan float)
  • is_object($var):  fungsi pengecekan apakah tipe data adalah objek
  • is_real($var):  fungsi pengecekan apakah tipe data adalah float
  • is_resource($var):  fungsi pengecekan apakah tipe data adalah resource (seperti variabel yang menampung koneksi ke database)
  • is_scalar($var):  fungsi pengecekan apakah tipe data adalah scalar (scalar adalah penyebutan untuk tipe data dasar, seperti integer, float, string atau boolean. Array, object dan resource bukan scalar)
  • is_string($var):  fungsi pengecekan apakah tipe data adalah string

Cara Pengecekan Tipe Data Argumen Fungsi

Fungsi-fungsi diatas dapat dimanfaatkan untuk pengecekan tipe data suatu variabel, dan tentu saja juga argumen fungsi. Agar lebih mudah dipahami, saya telah merancang fungsi pangkat() yang berfungsi untuk melakukan pemangkatan bilangan.

Fungsi pangkat() saya rancang dengan 2 buah inputan atau parameter. Parameter pertama adalah angka yang akan dihitung, dan parameter kedua adalah nilai pangkatnya. pangkat(2,3) berarti 2 pangkat 3. pangkat(2,8) berarti 2 pangkat 8. Kedua parameter ini harus berupa angka, dan khusus untuk nilai pangkat, harus berupa angka bulat (integer).

Berikut adalah kode program fungsi pangkat():
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
function pangkat($nilai, $pangkat)
{
   if (is_numeric($nilai) AND is_int($pangkat)) //pengecekan tipe data argumen
   {
      //Jika argumen sesuai, maka jalankan proses fungsi
       $hasil=1;
       for ($i=1;$i<=$pangkat;$i++)
       {
         $hasil=$hasil*$nilai;
        }
       return $hasil;
    }
    else
    {             
       //Bagian ini akan dijalankan jika tipe data argumen bukan angka
       return "Tipe data argumen harus berupa angka";
    }
}
//Test beberapa kasus inputan untuk fungsi pangkat()
echo pangkat(5,2);
echo "<br />";
echo pangkat(5.6,2);
echo "<br />";
echo pangkat(2,8);
echo "<br />";
echo pangkat(5,2.9);
echo "<br />";
echo pangkat("lima",2);
echo "<br />";
?>


Fungsi pangkat() diatas terasa sedikit panjang, namun jika anda telah mengikuti seluruh tutorial PHP di duniailkom, maka fungsi tersebut tidak akan terlalu sulit untuk dipahami.

Fungsi pangkat() saya rancang untuk menghitung pangkat dari sebuah angka.

Variabel $nilai dan $pangkat adalah parameter yang akan menjadi variabel perantara.

Pada baris ke-4 saya membuat pengecekan masing-masing parameter di dalam logika IF. Fungsi is_numeric() dan is_int() akan menghasilkan nilai TRUE jika keduanya benar, sehingga saya menggabungkan keduanya kedalam logika AND. Seandainya logika AND ini salah, maka kondisi IF akan bernilai FALSE, dan bagian ELSE akan dijalankan (baris ke-13), dimana saya membuat kalimat “Tipe data argumen harus berupa angka” untuk memberitahu pengguna fungsi bahwa tipe argumennya harus berupa angka.

Jika kedua kondisi is_numeric() dan is_int() benar, maka saya membuat proses perulangan for untuk mencari hasil pemangkatan. Setelah hasilnya ditemukan, perintah return akan mengembalikan nilai tersebut (baris ke-11).

Dari hasil pemanggilan fungsi, kita dapat melihat bahwa logika alur program sudah berjalan benar, dan jika saya memberikan nilai argumen yang salah, hasil yang ditampilkan bukan kode error PHP, melainkan pesan kesalahan yang lebih informatif.

Dengan menggunakan fungsi seperti is_numeric() dan is_int() kita dapat melakukan pengecekan tipe data terlebih dahulu sebelum melakukan proses fungsi. Hal ini akan menghindari error program PHP, dan memberikan fleksibilitas untuk melakukan tindakan pencegahan jika tipe data yang diinput bukan yang seharusnya.

Pada tutorial kali ini kita akan mempelajari tentang beberapa istilah terkait fungsi dalam PHP, yaitu Pengertian Variabel Scope, Global Variabel, dan Static Variabel dalam PHP.

Pengertian Variabel Scope

Variabel Scope (atau ruang lingkup variabel) adalah jangkauan kode program dimana perintah program masih bisa mengakses sebuah variabel.

Jika kita mendefenisikan sebuah variabel pada satu file PHP, maka variabel tersebut dapat diakses oleh seluruh kode program pada halaman yang sama. Namun jika variabel tersebut di defenisikan di dalam sebuah fungsi, variabel itu belum tentu bisa diakses dari luar fungsi tersebut. Hal inilah yang dimaksud dengan Variabel Scope.

Variabel yang didefenisikan di dalam sebuah fungsi, secara default tidak dapat diakses oleh kode program di luar fungsi tersebut. Dan begitu juga sebaliknya, variabel yang didefenisikan di luar fungsi, tidak bisa diakses dari dalam fungsi.

Contoh Variabel Scope dalam Fungsi PHP

Untuk memahami konsep variabel scope, berikut adalah contoh kode program dalam PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$a = 5;
function coba()
{
   $a=10;
   $b=7;
}
// pemanggilan fungsi coba()
coba();
echo $a; // 5
echo $b; // error:notice
?>
Pada baris ke-2, saya mendefenisikan variabel $a, dan memberikan nilai awal = 5. Pada baris ke-4 saya membuat fungsi coba() dan mendefenisikan kembali variabel $a yang kali ini nilainya adalah 10, dan juga membuat sebuah variabel baru, yakni $b.
Setelah memanggil fungsi coba() pada baris ke-11, saya kemudian memeriksa nilai $a dengan perintah echo. Dan ternyata nilai $a adalah 5, bukan 10. Dan ketika saya ingin mengakses variabel $b, PHP akan mengeluarkan peringatan bahwa variabel $b belum di defenisikan, dengan pesan error: Notice: Undefined variable: b in D:\xampp\htdocs\belajar\test.php on line 13.

Hal ini terjadi karena variabel $a  dan $b berada di dalam fungsi coba() yang merupakan variabel yang berbeda dengan variabel $a yang berada diluar fungsi. Jangkauan variabel $a dan $b hanya berada di dalam fungsi.

Contoh lainnya, perhatikan kode program berikut ini:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$b = 7;
function coba()
{
   $a=10;
   echo $a;
   echo $b;
}
coba();
?>
Pada program kali ini, saya mencoba mengakses variabel $b dari dalam fungsi coba(), namun PHP akan mengeluarkan pesan peringatan pada baris ke-8: Notice: Undefined variable: b in D:\xampp\htdocs\belajar\test.php on line 8 yang berarti bahwa PHP tidak menemukan adanya variabel $b. Variabel $b hanya dapat diakses dalam ruang lingkup di luar fungsi coba().

Konsep pembatasan variabel scope ini terkesan merepotkan, namun sebenarnya sangat berguna untuk men-isolasi penggunaan variabel agar tidak saling ‘menimpa’. Fungsi-fungsi bawaan di dalam PHP dibuat oleh berbagai programmer dari seluruh dunia, dan mungkin saja kita secara tidak sengaja menggunakan nama variabel yang sama dengan nama variabel yang ada dalam salah satu fungsi tersebut. Dengan menerapkan variabel scope, PHP dapat terhindar dari permasalahan tersebut.

Pengertian Global Variabel

Jika kita tetap ingin menggunakan variabel yang didefenisikan di luar fungsi dan sebaliknya, PHP memperbolehkan hal tersebut dengan menambahkan sebuah kata kunci ‘global’ sebelum pendefenisian nama variabel.

Berikut contoh penggunaan keyword global:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$a = 7;
function coba()
{
   global $a;
   global $b;
   $b=15;
   echo $a//7
   echo $b//15
}
coba();
echo $a; //7
echo $b; //15
?>
Program diatas tidak akan menghasilkan error seperti sebelumnya, dan kita bisa mengakses nilai variabel $a dari dalam fungsi coba(), dan nilai variabel $b di luar fungsi.

Kata kunci global membuat fungsi dapat mengakses variabel yang didefenisikan diluar fungsi.

Pengertian Static Variabel

Static Variabel, atau variabel statis adalah jenis variabel yang mempertahankan nilainya pada setiap pemanggilan fungsi. Untuk variabel normal, nilai dari variabel tersebut akan secara otomatis dihapus pada saat fungsi selesai dijalankan, dan akan dibuat ulang pada saat fungsi dipanggil.

Namun jika sebuah variabel dinyatakan sebagai static variabel, maka nilai variabel tersebut akan tetap dipertahankan walaupun fungsi telah selesai dijalankan. Biasanya fungsi ini dimanfaatkan jika kita ingin menghitung berapa kali sebuah fungsi dipanggil.

Berikut adalah contoh program penggunaan variabel statis dalam PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function coba()
{
   static $a=0;
   $a=$a+1;
   return "Ini adalah pemanggilan ke-$a fungsi coba() <br />";
}
  
echo coba();
echo coba();
echo coba();
echo coba();
?>
Jika anda menghapus keyword static pada baris ke-4, variabel $a akan selalu bernilai 1, karena terdapat operasi $a=0 dan $a=$a+1 pada setiap kali pemanggilan fungsi coba(). Namun dengan membuat $a sebagai static variable, nilai dari $a akan terus dipertahankan sepanjang pemrosesan halaman oleh PHP.

Konsep tentang variabel scope, global variabel dan static variabel ini akan membantu kita dalam memahami cara kerja fungsi dalam PHP.

Selain menggunakan fungsi bawaan PHP, untuk keperluan yang lebih khusus kita bisa membuat fungsi sendiri. Dalam tutorial kali ini kita akan membahas Cara Penulisan dan Pembuatan Fungsi dalam PHP.

Cara Penulisan Fungsi dalam PHP

Sebuah fungsi merupakan kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu. Tujuan memisahkan sebuah kode menjadi fungsi adalah untuk kepraktisan dan kemudahan dalam membuat program utama. Karena jika dijadikan fungsi, maka untuk menjalankan tugas yang sama, kita tinggal memanggil fungsi tersebut, tanpa perlu membuat kembali kode programnya.

Untuk membuat fungsi di dalam PHP, berikut adalah format dasar pembuatan fungsi:
function nama_fungsi ($parameter1, $parameter2)
{
   // kode program fungsi
   return $nilai_akhir
}
  • Kata function adalah instruksi kepada PHP bahwa kita akan membuat fungsi
  • nama_fungsi adalah nama dari fungsi yang akan ditulis
  • $parameter1, $parameter2 adalah variabel perantara yang akan menyimpan inputan yang diperlukan dalam pemrosesan fungsi (argumen). Tergantung kebutuhan, anda bebas merancang seberapa banyak parameter yang dibutuhkan.
  • return adalah perintah khusus untuk fungsi, dimana kata return menginstruksikan kepada PHP bahwa pemrosesan fungsi telah selesai. return $nilai_akhir berarti bahwa fungsi akan ‘mengembalikan’ $nilai_akhir sebagai hasil dari fungsi.
Perhatikan juga bahwa fungsi ini berada di dalam blok program yang ditandai dengan kurung kurawal pada baris pertama dan terakhir fungsi.

Agar lebih mudah dipahami, kita akan mencoba membuat beberapa fungsi PHP sederhana.

Contoh Pembuatan Fungsi PHP

Sebagai contoh pertama fungsi PHP, saya akan membuat fungsi sederhana untuk perkalian 2 angka. Nama fungsi ini adalah perkalian, dan membutuhkan 2 argumen dengan tipe data angka (integer atau float), berikut adalah cara pembuatan dan penggunaan fungsi perkalian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//pembuatan fungsi
function perkalian($angka1, $angka2)
{
   $a= $angka1;
   $b= $angka2;
   $hasil= $a*$b;
   return $hasil;
}
//pemanggilan fungsi
$hasil=perkalian(4,5);
echo "Perkalian 4 x 5 adalah $hasil";
echo "<br />";
echo "Perkalian 7 x 2 adalah ".perkalian(7,2);
?>
Pada baris ke-3, saya mendefenisikan fungsi perkalian() yang memerlukan 2 parameter. SParameter ditulis sebagai variabel, dan anda bebas menentukan nama variabel ini, dalam contoh diatas, parameter untuk fungsi perkalian() adalah $angka1 dan $angka2.

Di dalam fungsi perkalian(), saya membuat variabel $a dan $b yang digunakan untuk menampung nilai $angka1 dan $angka2, pemindahan variabel ini sebenarnya tidak diperlukan, namun anda akan sering menemukan hal ini di dalam berbagai fungsi. Biasanya pemindahan ini dilakukan agar lebih mudah dan singkat dalam menggunakan variabel pada pemrosesan fungsi.

Variabel $hasil digunakan untuk menampung nilai akhir dari perkalian $a*$b, dan hasilnya di-kembalikan dengan perintah return $hasil. Return secara otomatis menutup fungsi, dan jika anda masih memiliki kode program setelah perintah return, perintah tersebut tidak akan diproses, oleh karena itu perintah return harus diletakkan di akhir penulisan fungsi.

Selanjutnya pada baris ke-12, saya memanggil fungsi perkalian() dengan menyimpan nilai kembaliannya ke dalam variabel $hasil, atau bisa dipanggil secara langsung dalam satu baris perintah echo, seperti pada baris ke-15.

Sebagai contoh fungsi kedua, saya akan membuat fungsi untuk menentukan luas lingkaran. Seperti yang kita ketahui, luas lingkaran didapat dengan rumus: pi*jari-jari*jari-jari. Berikut adalah program untuk menghitung luas lingkaran:
1
2
3
4
5
6
7
8
9
10
<?php
//pemanggilan fungsi
echo "Luas Lingkaran dengan jari-jari 7cm = ".luas_lingkaran(7)."cm";
//pembuatan fungsi
function luas_lingkaran($jari2)
{
   return M_PI*$jari2*$jari2;
}
?>
Saya memulai program dengan langsung memanggil fungsi luas_lingkaran(7), padahal fungsi tersebut belum didefenisikan. Hal ini dimungkinkan karena pada saat kode PHP dijalankan, web server akan men-compile fungsi-fungsi yang ada terlebih dahulu. Sehingga kita bisa memanggil fungsi yang di defenisikan setelah dipanggil.

Pada fungsi luas_lingkaran(), satu-satunya argumen yang diperlukan adalah panjang jari-jari lingkaran. M_PI adalah konstanta matematis yang disediakan PHP, yang nilainya sama dengan konstanta pi, yaitu 3,14. Namun anda juga bisa mengubahnya menjadi 3.14*$jari2*$jari2.

Perbedaan antara Argumen dan Paramater

Pada penjelasan tentang fungsi perkalian() dan luas_lingkaran(), saya menggunakan 2 istilah untuk nilai inputan fungsi, yakni argumen dan parameter. Tetapi apa perbedaan keduanya?

Argumen merujuk kepada inputan fungsi pada saat fungsi dipanggil, contohnya pada saat saya memanggil fungsi perkalian(4,5), angka 4 dan 5 disebut argumen.

Sedangkan Parameter merujuk kepada inputan fungsi pada saat pendefenisian. Saya membuat fungsi perkalian dengan perintah : function perkalian($angka1, $angka2), variabel $angka1 dan $angka2 adalah parameter.

Namun pada penggunaan sehari-hari, istilah parameter dan argumen sering dipertukarkan. Termasuk dalam manual resmi PHP, dimana istilah argumenlah yang sering digunakan. Dalam tutorial di duniailkom, saya akan menggunakan istilah parameter dan argumen secara bergantian.

Fungsi (function) merupakan bagian penting dalam pemograman. Dalam tutorial PHP kali ini, kita akan membahas tentang pengertian, dan cara penggunaan fungsi di dalam PHP.

Pengertian Fungsi (Function) dalam PHP

Dalam merancang kode program, kadang kita sering membuat kode yang melakukan tugas yang sama secara berulang-ulang, seperti membaca tabel dari database, menampilkan penjumlahan, dan lain-lain. Tugas yang sama ini akan lebih efektif jika dipisahkan dari program utama, dan dirancang menjadi sebuah fungsi.

Fungsi (atau Function) dalam bahasa pemograman adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Kita dapat membuat fungsi sendiri, atau menggunakan fungsi yang dibuat oleh programmer lain.

Dalam dunia pemograman terdapat istilah ‘lazy progamming’ yang artinya bukanlah programmer yang malas. Tetapi, daripada membuat kode program umum dari dasar, kita bisa menggunakan fungsi yang telah dibuat oleh programmer lain. PHP bahkan menyediakan ribuan fungsi bawaan yang tersedia untuk membantu kita dalam merancang program.

Mengetahui cara penggunaan fungsi ini akan menghemat waktu pembuatan program dan membuat kode program menjadi lebih efisien. Lazy programming is smart programming.

Cara Menggunakan Fungsi PHP

Menggunakan fungsi dalam teori pemograman sering juga disebut dengan istilah ‘memanggil fungsi’ (calling a function). Fungsi dipanggil dengan menulis nama dari fungsi tersebut, dan diikuti dengan argumen (jika ada). Argumen ditulis di dalam tanda kurung, dan jika jumlah argumen lebih dari satu, maka diantaranya dipisahkan oleh karakter koma.
Setelah memproses nilai inputan, hampir semua fungsi akan memberikan nilai hasil pemrosesan tersebut (walaupun ada fungsi yang tidak memberikan nilai). Cara fungsi memberikan nilainya ini sering disebut dengan ‘mengembalikan nilai’ (return a value). Nilai yang dikembalikan oleh sebuah fungsi dapat ditampung ke dalam variabel, atau langsung ditampilkan ke web browser.

Pengertian Argumen dan Parameter dalam Fungsi PHP

Sebuah fungsi dalam memproses data, kadang memerlukan beberapa inputan atau nilai masukan. Inputan inilah yang dimaksud dengan argumen. Sebuah fungsi bisa membutuhkan 1, 2, atau 5 argumen, namun bisa juga tidak memerlukan argumen sama sekali.

Parameter adalah sebutan lain untuk argumen. Perbedaannya, parameter merujuk kepada inputan fungsi pada saat pendefenisian fungsi tersebut, dan agrumen adalah sebutan untuk inputan fungsi pada saat pemanggilan fungsi. Kita akan membahas perbedaan Argumen dan Parameter secara lebih dalam  pada tutorial selanjutnya, namun pada dasarnya argumen dan parameter merujuk kepada hal yang sama, yaitu inputan kepada fungsi dan kedua istilah ini sering dipertukarkan.

Contoh Pemanggilan Fungsi PHP

Sebagai latihan dan prakter dalam menggunakan fungsi,  Berikut adalah format dasar pemanggilan, dan pengembalian nilai fungsi:
1
$varibel_hasil_fungsi = nama_fungsi(argumen1, argumen2, argumen3)
  • $varibel_hasil_fungsi adalah variabel yang akan menampung hasil pemrosesan fungsi. Tergantung fungsinya, hasil dari sebuah fungsi bisa berupa angka, string, array, bahkan objek.
  • nama_fungsi adalah nama dari fungsi yang akan dipanggil
  • argumen1, argumen2 adalah nilai inputan fungsi. Banyaknya argumen yang dibutuhkan, tergantung kepada fungsi tersebut. Jika sebuah fungsi membutuhkan argumen 2 buah angka, maka kita harus menginputnya sesuai dengan aturan tersebut, atau jika tidak, PHP akan mengeluarkan error.
Sebagai contoh, PHP menyediakan fungsi akar kuadrat, yakni sqrt(), berikut adalah cara penggunaannya:
1
2
3
4
5
<?php
$akar_kuadrat = sqrt(49);
echo "Akar kuadrat dari 49 adalah $akar_kuadrat";
// Akar kuadrat dari 49 adalah 7
?>
Dalam contoh diatas, fungsi sqrt() akan menghitung akar kuadrat dari nilai argumen yang diinput. Saya menambahkan argumen 49 sebagai inputan.
Nilai hasil dari fungsi sqrt(49), selanjutnya di tampung dalam variabel $akan_kuadrat, yang kemudian ditampilkan ke dalam web browser.

Selain ditampung di dalam variabel, kita bisa menampilkan hasil fungsi langsung ke web browser, seperti contoh berikut:
1
2
3
4
<?php
echo "12 pangkat 2 adalah: ".pow(12,2);
// 12 pangkat 2 adalah: 144
?>
Fungsi pow() adalah fungsi pemangkatan matematika bawaan PHP. Fungsi ini membutuhkan 2 argumen, argumen pertama adalah nilai awal yang ingin dihitung, dan argumen kedua adalah nilai pangkat. Pow(12,2) sama dengan 12 kuadrat.

Perlu juga diperhatikan adalah tipe parameter yang dibutuhkan oleh sebuah fungsi. Seperti 2 contoh kita diatas, fungsi sqrt() dan pow() adalah fungsi matematika. Kedua fungsi ini hanya bisa memproses parameter dengan tipe angka (interger dan float). Jika anda memasukkan parameter jenis string, maka PHP akan mengeluarkan error.

Jumlah dan urutan argumen juga harus sesuai dengan yang dibutuhkan oleh
fungsi. Jika sebuah fungsi hanya membutuhkan 1 argumen, maka kita tidak bisa menambahkan argumen kedua, kecuali ada argumen yang bersifat opsional (dapat diabaikan).
Setelah mempelajari perulangan dasar seperti for, while, dan do-while, PHP menyediakan perulangan khusus untuk array, yaitu perulangan foreach. Dalam tutorial kali ini kita akan mempelajari Pengertian dan Cara Penulisan Perulangan Foreach dalam PHP.

Pengertian Perulangan Foreach dalam PHP

Array merupakan tipe data yang sering digunakan dalam membuat program menggunakan PHP. Kemampuan array dalam menyimpan banyak data dalam satu variabel akan sangat berguna untuk menyederhanakan dan menghemat penggunaan variabel.

Untuk menampilkan dan memproses data dari array, kita bisa memanfaatkan perulangan for, seperti contoh berikut ini:
1
2
3
4
5
6
7
8
9
<?php
$nama = array("Andri","Joko","Sukma","Rina","Sari");
for ($i=0; $i <5; $i++)
{
   echo "$nama[$i]";
   echo "<br />";
}
?>

Contoh diatas membuat perulangan for sebanyak 5 kali, dengan variabel counter $i dimulai dari angka 0 (karena index array dimulai dari angka 0).

Namun sebagai cara alternatif untuk menampilkan array, saya akan mengubah kode diatas dengan menggunakan perulangan foreach:
1
2
3
4
5
6
7
8
9
<?php
$nama = array("Andri","Joko","Sukma","Rina","Sari");
foreach ($nama as $val)
{
   echo "$val";
   echo "<br />";
}
?>
Perulangan foreach diatas akan menampilkan semua isi array dengan perintah yang lebih singkat daripada menggunakan perulangan for.

Cara Penulisan Perulangan Foreach dalam PHP

Perulangan foreach merupakan perulangan khusus untuk pembacaan nilai array. Seperti yang telah kita bahas pada tutorial tentang tipe data array:

Mengenal Tipe Data Array dan Cara Penulisan Array dalam PHP, setiap array memiliki pasangan key dan value. Key adalah ‘posisi’ dari array, dan value adalah ‘isi’ dari array.

Format dasar perulangan foreach adalah:
foreach ($nama_array as $value)
{
    statement (...$value...)
}
  • $nama_array adalah nama dari array yang telah didefenisikan sebelumnya.
  • $value adalah nama ‘variabel perantara’ yang berisi data array pada perulangan tersebut. Anda bebas memberikan nama untuk variabel perantara ini, walaupun pada umumnya banyak programmer menggunakan $value, atau $val saja.
Berikut adalah contoh perulangan foreach sebelumnya:
1
2
3
4
5
6
7
8
9
<?php
$nama = array("Andri","Joko","Sukma","Rina","Sari");
foreach ($nama as $val)
{
   echo "$value";
   echo "<br />";
}
?>
Pada contoh diatas, saya mendefenisikan variabel array $nama dengan format singkat, dan tanpa mendefenisikan key secara tertulis. Variabel $val merupakan variabel perantara dalam contoh diatas. Perulangan tersebut akan diulang sebanyak data yang terdapat di dalam array, sehingga kita tidak perlu harus menghitung seberapa banyak perulangan yang harus dilakukan.

Jika anda membutuhkan nilai key dari array untuk dapat diproses, maka PHP menyediakan bentuk kedua dari perulangan foreach, dengan format dasar penulisan sebagai berikut:
foreach ($nama_array as $key => $value)
{
    statement ($key...$value...)
}
Perbedaan dengan format sebelumnya, disini PHP menyediakan variabel perantara kedua, yaitu variabel $key. Variabel $key ini menampung nilai key dari array.

Berikut adalah contoh penggunaannya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$nama = array(
        1=>"Andri",
        6=>"Joko",
        12=>"Sukma",
        45=>"Rina",
        55=>"Sari");
foreach ($nama as $kunci =>$isi)
{
   echo "Urutan ke-$kunci adalah $isi";
   echo "<br />";
}
?>

Variabel array $nama saya defenisikan menggunakan key yang berbeda-beda. Pada perulangan foreach, saya membuat variabel perantara $kunci =>$isi, sehingga didalam perulangan, variabel $kunci akan berisi key dari array, dan variabel $isi akan berisi nilai dari array.

Proses menampilkan dan memproses array akan lebih mudah dengan menggunakan perulangan foreach dibandingkan perulangan dasar seperti for. Terlebih lagi kita tidak perlu mencari tau seberapa banyak perulangan harus dilakukan, karena perulangan foreach akan otomatis berhenti pada data terakhir dari array.
Welcome to My Blog

Popular Post

Arsip Blog

Yunita Kurniawati (G.231.15.0116). Diberdayakan oleh Blogger.

- Copyright © Data Komputer - Designed by Yunita Kurniawati -