Tutorial Belajar PHP Part 25: Pengertian dan Jenis-jenis Operator Assignment dalam PHP

Pada panduan kali ini saya akan membahas mengenai Pengertian dan Jenis-jenis Operator Assignment (Assignment Operators) dalam PHP, serta perbedaan antara Assignment by Value dan Assignment by References.


Pengertian Operator Assignment pada PHP

Operator assignment yaitu operator bagi menambahkan, atau memasukkan sebuah nilai kedalam variabel. PHP mempunyai 3 jenis operator assigment, dan kita telah menggunakan 2 diantaranya, yaitu tanda = bagi mengdefenisikan variabel, dan tanda => bagi mengisi nilai dari array.


Jenis-jenis Operator Assigment pada PHP

PHP mengenal 3 jenis operator assigment, yaitu Assigment dengan Nilai (Assignment by Value), Assigment Array, dan Assigment dengan Referensi (Assignment by Reference).

Pengertian Operator Assigment dengan Nilai (Assignment by Value)

Assigment dengan Nilai atau pada istilah pemograman dikenal dengan Assignment by Value , yaitu proses pemberian nilai kedalam sebuah variabel dengan meng-copy nilai atau value dari variabel lain.

PHP menggunakan tanda sama dengan (=) bagi Assignment by Value. Secara tak sadar, kita telah banyak menggunakan operator ini pada beragam contoh di panduan sebelumnya. Di ketika menggunakan operator “=”, PHP meng-copy nilai (atau value), dari sisi kanan operator ke sisi kiri.

Operator Assignment by Value (dan pun operator assigment lainnya) mempunyai arah proses kanan (dapat dilihat pada tabel urutan proses di Tutorial PHP: Pengertian Operand, Operator dan Urutan Operator dalam PHP) sehingga proses pemberian nilai kepada sebuah variabel dimulai dari kanan, seperti contoh berikut:

Di contoh kode PHP diatas, saya mendefenisikan 3 variabel: $a, $b, dan $c dengan operator assigment by value. Perhatikan di baris terakhir, dimana saya menuliskan kode $a = $b = $c+5, yang urutan pemrosesannya di mulai dari kanan ke kiri, sehingga yang diproses oleh PHP menjadi: $a = ($b = ($c+5)).

Pengertian Operator Assigment Array

Operator Assigment array yaitu operator assigment bagi menginput nilai kedalam array. Operator ini menggunakan tanda panah (=>). Kita telah membahas cara perancangan, dan pemakaian operator ini di panduan Mengenal Tipe Data Array dan Cara Penulisan Array pada PHP.

Pengertian Assigment dengan Referensi (Assignment by Reference)

Assigment dengan referensi atau pada istilah programmingnya: Assignment by Reference, yaitu operator assigment khusus yang digunakan bagi men-copy nilai referensi dari sebuah variabel.

Pengalaman saya, assigment dengan referensi ini akan jarang digunakan, tetapi tetap urgen bagi dipahami bahwa PHP menyediakan fitur ini.

Perhatikan contoh kode PHP berikut ini:

Pada kode program diatas, saya membangun 2 buah variabel, yaitu $a dan $b. Variabel $a saya input dengan nilai 20, sedangkan variabel $b men-copy nilai dari variabel $a. Berikutnya saya tampilkan kedua variabel tersebut menggunakan command echo.

Di baris ke-9 saya menambahkan nilai variabel $a dengan 5, lalu menampilkan hasil kedua variabel tersebut. Berikutnya di baris ke-14 saya menambahkan $b dengan 10, lalu menampilkan hasilnya

Kata kunci disini yaitu, variabel $b hanya men-copy nilai yang terdapat di variabel $a, sehingga kedua variabel memiki nilai sendiri-sendiri dan terpisah, seperti yang terlihat dari hasil echo.

Bagaimana bila yang saya inginkan yaitu: karena variabel $a=$b, karenanya ketika saya merubah nilai diantara variabel, nilai di variabel yang lain pun ikut berubah. Fitur inilah yang dapat didapatkan dengan Assignment by Reference.

Assignment by Reference pada PHP menggunakan operator “= ”.

Perhatikan contoh kode PHP berikut yang sama persis dengan contoh sebelumnya, namun saya mengganti baris $b = $a, menjadi $b = $a:

Seperti yang dapat dilihat, bahwa kini kedua variabel ($a dan $b), seolah-olah saling terikat, sehingga ketika sebuah variabel diubah nilainya, variabel yang lain pun ikut berubah.


Perbedaan Assigment By Value, dengan Assigment By Reference

Agar lebih jelas, berikut yaitu Perbedaan Proses Assigment By Value, dengan Assigment By Reference

Didalam bahasa pemograman (dan pun PHP), sebuah nilai dari variabel di simpan di sebuah domisili  tertentu di memory komputer. Tempat tinggal memory inilah yang dimaksud dengan referensi.

Misalkan variabel $a mempunyai nilai 20, dan berada di lokasi memory 1013, ketika saya membangun kode program $b=$a, karenanya nilai (atau value) dari variabel $a di-copy ke pada variabel $b yang mungkin saja akan berada di lokasi memory 1014. Sehingga ketika ini ada 2 buah lokasi memori bagi menampung nilai dari masing-masing variabel, $a di lokasi 1013 dengan nilai 20, dan $b di lokasi 1014 dengan nilai 20 (dicopy dari nilai $a).

Ketika saya menambahkan variabel $a dengan operasi $a = $a + 5, nilai di lokasi memory 1013 akan menjadi 25, namun karena mempunyai lokasi memory yang berbeda, nilai di variabel $b akan tetap 20. Inilah proses yang terjadi ketika menggunakan Assigment By Value.

Bagaimana dengan Assigment By Reference?

Ketika variabel $a dengan nilai 20 berada di lokasi memory 1013, dan saya menjalankan command $b=$a, karenanya yang terjadi yaitu, domisili lokasi memory (referensi) bagi variabel $b
dicopy dari nilai variabel $a, sehingga kedua variabel mempunyai 1 domisili memory yang sama, yaitu 1013.

Karena domisili bagi variabel $a dan $b sama, karenanya ketika diantara variabel mengubah nilai di domisili 1013, karenanya nilai tersebut akan berubah. Ketika saya menambahkan nilai variabel $a dengan operasi $a = $a + 5, nilai di lokasi memory 1013 akan menjadi 25. Dan ketika saya tampilkan nilai dari variabel $b, karenanya PHP akan mencari nilai di lokasi memori 1013, dan menampilkan hasilnya, yakni 25. Kedua variabel $a dan $b terikat dengan 1 lokasi memory yang sama.


Pada panduan ini kita telah mempelajari mengenai pengertian dan jenis operator assigment, serta perbedaan antara assigment by value dengan assigment by references. Konsep ini bersifat universal bagi beragam bahasa pemograman (tak hanya PHP).


Sumber https://www.duniailkom.com/

Share

You may also like...