Setelah selesai mempelajari javascript, saat ini kita akan membahas mengenai dasar-dasar pembahasan pada PHP. Dan berikut penjelasan untuk passing argumen pada PHP :
A. Passing Argumen pada PHP
PHP kepanjangan dari Hypertext Preprocessor, PHP dibuat oleh Rasmus Lerdord, PHP bersifat open source dan telah digunakan oleh hampir seluruh web developer di seluruh dunia. sifatnya yang open source dan semakin banyak user membuat bahasa pemrograman ini mengalami perkembangan yang pesat.
Fungsi pass by value dan pas by reference adalah:
1. fungsi adalah subprogram/subrutin program yang terdiri dari sekumpulan perintah yang akan melaksanakan suatu tugas tertentu.
- fungsi memungkinkan program menjadi lebih terstruktur dan juga memudahkan pelacakan kesalahan.
- menggunakan fungsi akan mempersingkat waktu pemrogram untuk menuliskan sekumpulan perintah yang sama berkali-kali.
B. PASS BY VALUE
Variable yang diberikan oleh parameter hanya akan diolah didalam fungsi, variable yang berada diluar fungsi akan tetap. Dengan kata lain variable yang dipakai oleh suatu fungsi tidak akan mempengaruhi variable yang ada diluar. Argumen fungsi yang dilewatkan secara pass by value (default dalam php) berarti membuat copy dari argumen yang asli sehingga argumen asli tersebut tidak ikut berubah dengan adanya proses pada fungsi terhadap argumen tersebut. secara default, semua nilai yang di pass masuk atau keluar dari fungsi passing by value ini mejelaskan bahwa PHP membuat copy dari nilai original dan nilai copy tersebut yang akan diakses dan di manipulasi, bukan nilai originalnya. Dengan begitu bagaimanapun nilai tersebut diubah, tidak akan mengubah nilai originalnya.
Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yang dikirimkan ke method. Walaupun demikian, method tidak dapat secara langsung memodifikasi nilai variabel pengirimnya meskipun parameter salinannya sudah dimodifikasi nilainya di dalam method.
Contoh untuk pass by value adalah sebagai berikut :
{
$nilai++;
}
$input=30;
jumlah($input);
echo $input;
?>
Dan berikut adalah penjelasan untuk contoh program diatas :
- Pada saat fungsi jumlah dipanggil :
jumlah($input)
$nilai++;
$nilai=$nilai + 1
$nilai = 30 + 1
$nilai = 31
- Untuk output :
echo $input;
Nilai variabel $input yang diambil disini adalah nilai variabel aslinya, sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan nilai asli. jadi outputnya adalah 30.
B. PASSING BY REFERENCE
Passing by reference kebalikan dari Passing By Value. Hasil olahan yang telah diproses di dalam fungsi dapat digunakan di luar fungsi, dengan kata lain value yang di luar fungsi akan turut berubah seiring perubahan yang terjadi pada variable didalam fungsi. Passing By Reference memberikan nilai aslinya untuk diakses dan dimanipulasi. Untuk mengubah jadi passing by value menjadi reference, kita hanya cukup menambahkan operator '&' pada argumennya.
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variabel dilewatkan pada saat pemanggilan method. Hal ini berarti bahwa method menyalin alamat memori dari variabel yang dilewatkan pada method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variabel asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variabel yang digunakan dalam method dengan variabel aslinya, kedua variabel ini menunjukkan lokasi dari data yang sama.
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variabel dilewatkan pada saat pemanggilan method. Hal ini berarti bahwa method menyalin alamat memori dari variabel yang dilewatkan pada method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variabel asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variabel yang digunakan dalam method dengan variabel aslinya, kedua variabel ini menunjukkan lokasi dari data yang sama.
Argumen fungsi yang dilewatkan secara pass by reference berarti membawa argumen asli ke dalam fungsi sehingga argumen asli tersebut akan ikut berubah dengan adanya proses pada fungsi terhadap argumen tersebut.
function jumlah(&$nilai)
{
$nilai++;
}
$input=30;
jumlah($input);
echo $input;
?>
$nilai++;
}
$input=30;
jumlah($input);
echo $input;
?>
Simpan dengan nama passbyref.php.
Maka sesuai dengan penjelasan passing by reference di atas, nilai yang di akses & dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsi yang digunakan sebagai outputnya, yaitu 31.
Tidak ada komentar:
Posting Komentar