Minggu, 06 Maret 2011

            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.
  1. fungsi memungkinkan program menjadi lebih terstruktur dan juga memudahkan pelacakan kesalahan.
  2. 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 : 
function jumlah ($nilai)
{
$nilai++;
}
$input=30;
jumlah($input);
echo $input;
?>

Simpanlah dengan nama passbyval.php

Dan berikut adalah penjelasan untuk contoh program diatas :
    - Pada saat fungsi jumlah dipanggil :

       jumlah($input)

              Maka fungsi tersebut akan memasukkan nilai dari variabel $input ke dalam argumennya, jadi disini argumen fungsi jumlah adalah 30 (ini adalah nilai aslina). selanjutnya PHP mengcopy nilai asli tersebut, kemudian hasil copy-an digunakan untuk proses manipulasi fungsi, sedangkan nilai yang asli dibiarkan tidak berubah. proses manipulasinya sebagai berikut :
  
              $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.


            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.
Berikut adalah contoh pada pass by reference :


function jumlah(&$nilai)
{
$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: