Tutorial Belajar Argumen Referensi pada Fungsi di PHP


Ketika kita melewatkan variabel ke dalam argumen sebuah fungsi, nilai yang ada di dalam variabel tersebut tidak akan berubah.

function kuadrat($angka){

$angka *= $angka;

$x = 5;

echo $angka;
}

echo $x;

echo $x;


kuadrat($x);

Pada kode di atas, nilai awal $x adalah 5. Saat fungsi kuadrat($x) dipanggil, fungsi tersebut akan mengkuadratkan nilai variabel argumen dan mencetaknya. Adapun variabel $x setelah proses pemanggilan fungsi kuadrat() tetap bernilai 5.
Dalam beberapa kasus kita perlu menerima perubahan pada variabel saat variabel tersebut dilewatkan ke dalam sebuah fungsi. Hal ini dikenal dengan istilah pass by reference. Artinya kita tidak melewatkan nilai ke dalam argumen, tapi melewatkan referensi variabel. Dengan demikian ketika nilai argumen tersebut berubah selama proses di dalam fungsi, variabel referensinya pun ikut berubah.
Cara membuat argumen referensi adalah dengan menambahkan karakter & sebelum variabel argumen pada deklarasi fungsi.

function kuadrat(&$angka){

$angka *= $angka;
}


kuadrat($x);

$x = 5;
echo $x;

echo $x;

Pada contoh kode di atas, kita menulis argumen &$angka dengan menyertakan karakter & sebelum variabel argumen. Variabel $x awalnya bernilai 5. Saat fungsi kuadrat($x) dipanggil, nilai variabel $x pun ikut dikuadratkan. Sehingga setelah pemanggilan fungsi, nilai variabel $x akan bernilai 25.

PRAKTEK

  • Jalankan kode yang ada di editor. Apakah nilai variabel $x sebelum dan sesudah pemanggilan fungsi kuadrat() berubah? Mengapa?
  • Tambahkan karakter & sebelum variabel argumen $angka pada deklarasi fungsi. Lalu jalankan kembali program. Apakah sekarang nilai $x sebelum dan sesudah pemanggilan fungsi berubah? Mengapa demikian?
  • Apa yang terjadi bila Kamu memanggil fungsi kuadrat() dengan melewatkan nilai langsung pada argumennya, misalnya kuadrat(5);?

<?php

function kuadrat($angka){
    $angka *= $angka;
}

$x = 5;
echo "sebelum dikuadratkan: $x <br />";
kuadrat($x);
echo "setelah dikuadratkan: $x <br />";


Hasilnya:

sebelum dikuadratkan: 5 
setelah dikuadratkan: 5 

Subscribe to receive free email updates:

0 Response to "Tutorial Belajar Argumen Referensi pada Fungsi di PHP"

Posting Komentar