Friday, February 12, 2016

Perbedaan Function Passing By Value dan By Reference Dalam PHP


PHP merupakan bahasa pemrograman yang membutuhkan intepreter atau penerjemah yang dimana client-server saling berinteraksi. Dalam bahasa pemrograman php terdapat juga istilah passing by value dan passing by reference, kedua istilah ini memang agak asing terdengar bagi pemula seperti saya mungkin bagi semua orang yang baru pertama mengenal pemrograman, namun diantara kedua nya terdapat perbedaan. Nah disini saya akan mengupas perbedaan nya, oke mari kita bahas..

Passing By Value
passing by value dalam php juga diistilahkan passing by returning value maksud nya ialah melewati dengan mengembalikan nilai asli dengan menggunakan kata kunci return.
Contoh :
<?php

      Function Hitung($angka1, $angka2){
         $jumlah = $angka1 + $angka2;
          return $jumlah;
       }

         $output = Hitung(5, 10);
 
         print $output;

?> 
Sedikit penjelasan mengenai script diatas. Pertama-tama membuat function bernama Hitung yang diisi dengan 2 parameter, yaitu $angka1 dan $angka2. yang perlu diperhatikan ialah return, return disini berfungsi untuk mengembalikan nilai dari variabel jumlah. Sedikit catatan, return hanya berkerja atau dapat digunakan dalam function itu sendiri. Variabel output dibuat untuk menampung sekaligus untuk menjalankan function yang sudah dibuat yaitu Hitung.
Cukup mudah dipahami bukan ?? oke lanjut...

Passing By Reference
Berbeda dari passing by value yang menyalin nilai dari sebuah variabel, passing by reference yaitu cara bagaimana memanipulasi sebuah nilai.
Contoh :
<?php

      Function Jumlah(&$angka){
       $angka += 10;
      }

       $nilai = 10;
   
       Jumlah($nilai);
      
       print $nilai;
       

?>
Sama seperti contoh sebelumnya, mendeklarasikan function dengan nama jumlah. Hal yang harus diperhatikan ialah dalam tanda kurung terdapat  tanda ampersand(&) yang fungsi nya untuk melewati variabel yang di deklarasikan. Dan yang terakhir function jumlah dipanggil diisi dengan variabel nilai, yang sebelumnya sudah diisi nilai yaitu 10. Maka hasil keluaran variabel nilai akan bernilai 20.

Demikian perbedaan singkat mengenai function passing by value dan passing by reference, apabila ada hal yang tidak dimengerti silahkan tinggalkan pesan di kolom komentar dan apabila ada kesalahan dalam penulisan mohon perbaikannya. Sekian dan semoga bermanfaat.