Pengertian Operator pada PHP dan Operand - Belajar PHP Part 19
Pengertian operator pada PHP dan operand adalah sebuah simbol operasi atau instruksi dan sebuah value asal, sehingga antara keduanya akan selalu saling berhubungan sampai mendapatkan nilai hasil.
Pengertian operator pada php adalah simbol yang digunakan untuk membuat instruksi atau memanipulasi data terhadap suatu nilai asal sehingga akan memberikan nilai hasil atas prose operasi. Operand adalah nilai asal yang digunakan didalam proses operasi, dalam bahasa pemrograman, operand php dapat didefinisikan ke dalam variabel atau konstanta.
Jenis Operator Berdasarkan Jumlah Operand
Berdasarkan jumlah operand, operator php dapat dibedakan menjadi 3 jenis yaitu operator unary, operator binary dan operator ternary.
Urutan Prioritas Operator pada PHP
Masih ingat kan, urutan ketika membuat sebuah persamaan dalam matematika, operator dalam PHP juga memiliki urutan pemrosesan tersendiri. Sebagaimana contoh kode program di bawah ini;
Kode program di atas akan dieksekusi oleh PHP dengan mengikuti aturan urutan prioritas, dengan cara menetapkan seberapa "dekat" operator dengan kedua operand nya. Sehingga, 2+3*4 hasilnya adalah 14, bukan 20, kenapa? karena operator perkalian (*) memiliki prioritas lebih tinggi daripada operator penambahan (+).
Meskipun demikian, urutan prioritas ini boleh saja "dipaksakan" dengan cara menggunakan tanda kurung di dalam operasinya sebagai prioritas utama. Sehingga, (2+3)*4 hasilnya adalah 20, kenapa? karena (2+3) di baca sebagai prioritas utama.
Dibawah ini adalah tabel daftar urutan prioritas operator pada php, dimana operator paling atas lebih diprioritaskan dari pada operator dibawahnya. Kemudian operator yang berada pada baris yang sama memiliki urutan prioritas yang sama.
Dari tabel daftar urutan prioritas operator pada php di atas, terdapat beberapa operator yang berada dalam 1 baris yang sama. Dalam keadaan tersebut, bagaimana PHP memproses operator-operator yang memiliki urutan prioritas sama? maka operator tersebut akan diproses berdasarkan kolom tabel arah proses. Di dalam manual php, arah proses disebut dengan associativity, digunakan untuk melihat bagaimana arah proses operator dijalankan.
Contoh operasi php terkait arah proses, misalnya operator kurang (-), di dalam tabel dapat dilihat bahwa operator kurang (-) memiliki arah proses "kiri". Maka operasi 7-4-1 akan diproses dari kiri ke kanan, yaitu menjadi (7-4)-1, dan hasilnya adalah 2. Sebaliknya untuk operator sama dengan ( = ) yang memiliki arah proses "kanan", maka $a = $b = $c, akan diproses dari kanan terlebih dahulu, menjadi $a = ($b = $c).
Jika arah proses nya adalah "non-arah", maka operator php tersebut tidak dapat digunakan secara berdampingan atau dikombinasikan. Misalnya 5 < 7 > 1, ini tidak dapat diproses oleh PHP. Namun untuk 1 <= 1 == 1 tetap dapat diproses, karena operator == memiliki urutan prioritas lebih rendah daripada <=.
Kemudian terkait penggunaan tanda kurung di dalam operasi php, selain untuk memaksakan urutan prioritas, ternyata juga dapat memudahkan pembacaan program, bahkan ketika tidak diperlukan. Sebagai contoh $a AND $b OR $c, akan lebih mudah dimengerti ketika ditulis menjadi ($a AND $b) OR $c, walaupun sebenarnya operator AND memiliki urutan prioritas lebih tinggi daripada OR.
Fungsi var_dump pada PHP
Fungsi var_dump pada PHP yakni digunakan untuk mencetak output pada browser sehingga mengetahui informasi pada suatu nilai variabel, atau dengan kata lain agar dapat melihat proses yang terjadi di dalam PHP. Fungsi var_dump ini dapat digunakan hanya untuk proses debugging, dimana ketika kira perlu mengetahui sebuah struktur informasi berupa nilai dan tipe data dari suatu variabel. Oleh karena itu, fungsi var_dump() disediakan oleh PHP agar dapat digunakan untuk melihat lebih detail tipe data dan nilai sebuah variabel ketika terjadi konversi misal dari integer ke string dalam kasus-kasus tertentu.
Penggunaan fungsi var_dump pada php adalah untuk salah satu fungsi penting dalam proses pembuatan kode program ataupun pencarian kesalahan yaitu debugging dalam kondisi umum dapat dikatakan sebagai troubleshooting. Kemudian dalam kaitannya dengan pembahasan tentang operator, nantinya akan sering sekali menggunakan fungsi var_dump() untuk melihat proses apa yang terjadi di dalam sistem.
Karena sifat variabel dalam sistem php adalah tidak bertipe atau Loosely Typed Language, maka dalam pembuatan kode program PHP sebuah tipe variabel dapat saja "terpaksa" berubah menjadi tipe data lainnya. Perubahan ini terjadi bergantung pada operator yang digunakan, misal pada tipe data boolean, tipe data string "aku" dapat menjadi tipe data boolean true.
Lebih jelasnya, perhatikan kode program berikut ini;
Pada kode program diatas, variabel $x dan $y adalah bertipe integer, sedangkan variabel $z bertipe float, namun variabel $hasil1, $hasil2, dan $hasil3 masing-masing bertipe integer, float, dan string secara berurutan.
Perlu diketahui bahwa salah satu aturan sistem php adalah jika operator penyambungan string yaitu karakter (tanda) titik, digunakan untuk tipe data integer, maka otomatis php akan mengkonversi hasilnya menjadi string. Sehingga menjadi seperti di bawah ini;
5 (integer) + 8 (integer) = 13 (integer)
5 (integer) . 8 (integer) = 58 (string)
Karena hal inilah fungsi var_dump pada php diperlukan yaitu untuk mengetahui secara lebih detail tipe data dan nilai sebuah variabel karena proses konversi tipe data yang secara otomatis.
Penulisan Fungsi var_dump()
Sebagaimana telah dijelaskan bahwa fungsi var_dump() digunakan untuk memastikan tipe data dari sebuah variabel, dan untuk proses pengujian dan pencarian kesalahan atau debugging. Oleh karena itu fungsi var_dump membutuhkan sebuah inputan variabel yang akan diperiksa atau diuji.
Berikut di bawah ini adalah contoh cara penulisan fungsi var_dump() di php.
Sebagaimana output dari kode program tersebut ketika dijalankan, dengan menambahkan fungsi var_dump() maka selain menampilkan hasil operasi variabel juga memperlihatkan jenis tipe dari variabel tersebut.
Operator Aritmatika pada PHP dan Contoh
Operator aritmatika pada PHP dan contohnya adalah operator matematis dasar yang digunakan untuk pengolahan bilangan yang terdiri dari operasi perkalian, pembagian, penambahan, pengurangan, modulus, plus, dan minus. Operator aritmatika yang dapat di sebut juga sebagai operator matematika ini merupakan operator dasar yang akan sering ditemui dan digunakan dalam pembuatan kode program. Dalam bahasa pemrograman PHP, sistem php memiliki beberapa jenis operasi aritmatika yaitu operasi penjumlahan, pengurangan, perkalian, dan pembagian, serta operasi minus, plus, dan modulus.
Berikut adalah 7 jenis operator aritmatika pada php;
Umumnya operator aritmatika pada php adalah bertipe binary yang membutuhkan 2 operand, kecuali operator minus (-) dan plus (+) yang merupakan operator tipe unary yang hanya membutuhkan 1 operand saja. Dari 7 operator aritmatika dalam php tersebut di atas, operator modulus ($x % $y) mungkin akan sangat jarang sekali ditemui, karena sisa hasil pembagian terbiasa dimanipulasi dengan cara lain.
Contoh Penggunaan Operator Aritmatika di dalam PHP
Di bawah ini adalah contoh kode program cara penggunaan operator aritmatika dalam php.
Dapat dilihat pada kode program di atas, terdapat 6 contoh operasi aritmatik yaitu minus, operasi penambahan, pengurangan, perkalian, pembagian, serta operasi modulus. Kemudian untuk menampilkan hasil perhitungan secara detail tipe data dari variabel digunakan fungsi var_dump().
Operator String pada PHP
Operator string pada PHP adalah merupakan operasi yang digunakan untuk menghubungkan atau menggabungkan beberapa karakter atau nilai variabel, dimana setidaknya minimal memiliki 2 value operand dalam bentuk string. Jadi, dalam operator penyambungan string ini membutuhkan minimal 2 nilai inputan yang bertipe data string, sehingga hasil dari operasi ini adalah sebuah string yang terdiri dari sambungan beberapa string tersebut.
Di dalam sistem PHP, jenis operator string pada php hanya memiliki 1 (satu) jenis operator string saja, yaitu operasi penyambungan atau concatenation string yang menggunakan karakter titik (.) sebagai simbol operatornya. Namun simbol operasi string ini memiliki beberapa alternatif dan perlakuan kusus karena alasan operand nya (nilai yang akan sambungkan). Mudahnya adalah, jika kondisi operand atau nilai diantara operator telah didefinisikan ke dalam variabel maka simbol titik boleh tidak digunakan, dan jika diluar kondisi tersebut maka diperlukan simbol titik sebagai operator.
1. Cara Penggunaan Operator String pada PHP.
Berikut adalah contoh kode program cara penggunaan operator string di php, sebagai lanjutkan dari teori atau penjelasan yang telah dibahas di atas.
Terlihat pada contoh kode program operator string pada php di atas, dalam operasi menyambung beberapa string sederhana tersebut ada yang menggunakan operator concatenation (tanda titik), dan ada yang tanpa menggunakan tanda titik.
Kenapa $hasil1 tidak menggunakan titik karena semua nilai string (operand) yang akan disambungkan telah didefinisikan semua ke dalam variabel. Berbeda dengan $hasil3 antara variabel $b dan $c terdapat tipe data string yang tidak didefinisikan terlebih dulu ke dalam variabel, maka untuk menyambung semua string tersebut dubutuhkan simbol operasi string yaitu tanda titik. Kemudian $hasil2 dan $hasil4 memiliki hasil keluaran operasi yang hampir sama, hanya berbeda pada susunan spasi saja.
2. Cara Menyambung String PHP dengan Kurung Kurawal {}.
Ini adalah cara alternatif operasi penyambungan string di dalam php, dimana tanda kurung kurawal untuk variabel dapat juga berfungsi sebagai penyambung string.
Dengan adanya cara alternatif penggunaan operator string pada php dan beberapa formula di dalam operasi string, memiliki kesimpulan bebas bahwa programming itu cukup luas namun spesifik.
Pengertian Operator Logika pada PHP
Pengertian operator logika pada php adalah operasi yang digunakan untuk membandingkan 2 (dua) kondisi yaitu logika benar dan logika salah atau true dan false, sehingga sering digunakan untuk pengkondisian IF atau untuk menyelesaikan dari proses perulangan.
Jenis-jenis Operator Logika dalam PHP
Jenis-jenis operator logika pada php secara operasi nya terdiri dari 4 operator yaitu AND, OR, XOR, dan NOT, namun masing-masing operasi ini dapat memiliki simbol operator lebih dari satu.
Berikut penjelasan lebih detail tentang jenis operator logika tersebut.
Semua contoh operasi di atas hanya memberikan hasil untuk kondisi TRUE, maka jika ada selain kondisi tersebut dipastikan hasilnya adalah FALSE.
Kemudian perbedaan dari operator AND dengan &&, dan OR dengan || adalah terletak pada cara penulisan dan aturan prioritas operator, hasil diantaranya tetaplah sama. Misalnya, operator && dan || memiliki prioritas lebih tinggi dibandingkan AND dan OR, sehingga baris perintah misalnya $a AND $b || $c, akan dieksekusi oleh sistem PHP menjadi $a AND ($b || $c).
Cara Penggunaan Operator Logika di dalam PHP
Perhatikan terlebih dulu contoh cara penggunaan operator logika dalam PHP pada baris kode program di bawah ini.
Contoh pembahasan dari kode program penggunaan operator logika php di atas.
Perhatikan baris kode ke-2 yaitu $result1 = true and false; dimana operasi ini seharusnya memberikan hasil FALSE, karena dalam operator AND jika salah satu saja ada yang false, maka hasilnya adalah false.
Begini penjelasannya merujuk ke urutan operator dalam php, operator assignment (pendefenisian variabel) yaitu menggunakan tanda sama dengan (=) ini memiliki prioritas lebih tinggi dari pada operator logika AND. Oleh sebab itu pada baris kode ke-2 di atas yang sebenarnya diproses adalah ($result1 = true) and false, sehingga $result1 akan bernilai true.
Sehingga anatara $result1 = true and false; dan ($result1 = true) and false terlihat sebagai sebuah operasi logika php yang berbeda.
Berbeda dengan baris kode ke-6 yaitu $result2 = (true and false); menggunakan tanda kurung pada operasi logika nya,
Begitupun penjelasan pada baris kode program selanjutnya, yang perlu di garis bawahi adalah tentang aturan urutan prioritas operator dalam php, baik yang terdefinisi secara default oleh sistem php ataupun dengan trik "paksaan". Sehingga bagaimanapun juga membahas pengertian operator logika pada php ini cukuplah penting untuk diperhatikan dalam mengimplementasikan kode program.
Pengertian Prinsip Short Circuit dalam operasi Logika PHP
Sistem PHP akan menjalankan operasi logika dengan prinsip short-circuit yang artinya adalah jika dengan memeriksa satu perintah saja sudah didapati hasil logikanya, maka perintah lain tidak akan dijalankan.
Sebagai contoh;
Jika pada saat kode program dijalankan variabel $a sudah bernilai FALSE, maka variabel $b, $c dan $d tidak akan diperiksa lagi, karena apapun nilai variabel tersebut, hasilnya akan tetap FALSE.
Prinsip seperti ini akan berguna untuk kasus-kasus tertentu, seperti contoh berikut;
Fungsi exit() dalam kode program tersebut yang akan membuat program PHP berhenti diproses, tidak akan dijalankan selama fopen($filename) bernilai true. Fungsi short-circuit ini sering digunakan dalam pengembangan aplikasi berbasis php, sehingga menjadi begitu penting mempelajari tentang pengertian operator logika pada php.
Pengertian Operator Perbandingan dalam PHP
Pengertian operator perbandingan dalam php adalah operasi comparison yang digunakan untuk membandingkan 2 (dua) operand atau lebih pada kondisi if-else sebagai penentu tingkat kecocokan.
Jenis-jenis Operator Perbandingan dalam PHP
Jenis-jenis operator perbandingan dalam php dilihat dari simbol operasi nya terdiri dari beberapa jenis sebagai berikut.
Berikut penjelasan lebih detail tentang jenis operator perbandingan tersebut.
Sebagai bahan informasi, bahwa selain membandingkan angka dengan angka, perbandingan dalam php juga membolehkan membandingkan angka dengan string, array, bahkan objek.
Cara Penggunaan Operator Perbandingan dalam PHP
Perhatikan terlebih dulu contoh cara penggunaan operator perbandingan dalam php pada baris kode program di bawah ini.
Perhatikan contoh kode php di atas, dan boleh saja abaikan fungsi var_dump() karena mungkin teman-teman punya teknik lain untuk melihat hasil dari operasi perbandingan tersebut.
Contoh 1 sampai dengan 3 merupakan operasi perbandingan aritmatika biasa, yang menarik adalah contoh ke-4 yaitu 10 <> '10' yang menghasilkan nilai FALSE. Kenapa demikian, karena sistem PHP menganggap bahwa kedua operand adalah sama, sehingga jika diberikan operator tidak sama dengan (<>), maka hasilnya FALSE.
Berbeda dengan contoh ke-5 yaitu 9 == '9', dua operand ini dianggap sebagai nilai yang sama, sehinga ketika dilakukan operasi "sama dengan" maka hasilnya TRUE.
Kemudian ke contoh 7 yaitu '150' == '1.5e2', perlu diingat bahwa string yang berupa angka akan dikonversi menjadi angka terlebih dulu. Dimana 1.5e2 adalah penulisan scientific dari 1,5 x 10^2, yang hasilnya adalah 150, sehingga kedua operand tersebut memiliki nilai identik, maka menghasilkan TRUE.
Pengertian Operator Increment dan Decrement PHP
Pengertian operator increment dan decrement php adalah operator yang digunakan untuk mempersingkat pembuatan kode program dan merupakan penyebutan untuk operasi seperti variabel $a++ atau $a--. Di dalam bahasa pemograman, operasi increment dan decrement ini sering digunakan dalam proses perulangan atau looping.
Operator increment dan decrement php adalah increment digunakan untuk menambah variabel sebanyak 1 angka. Sebaliknya, decrement digunakan untuk mengurangi variabel sebanyak 1 angka, akan tetapi ini berbeda dengan operasi aritmatika, baik itu operasi penjumlahan atau operasi pengurangan.
Operasi increment adalah menggunakan tanda tambah 2 kali, sedangkan tanda kurang 2 kali untuk penulisan decrement. Penempatan karakter tanda tambah atau kurang ini boleh diawal atau diakhir variabel, namun tentu saja ada perbedaan antara keduanya.
Pengertian Operator Assignment dalam PHP
Pengertian operator assignment dalam php adalah operator yang digunakan untuk menambahkan atau memasukkan sebuah nilai kedalam variabel, dengan menggunakan tanda = atau => untuk mendefenisikan variabel. Dalam bahasa pemograman php, operasi assignment ini memiliki 3 jenis operator, yaitu assignment by value (assignment dengan nilai), assignment array, dan assignment by reference (assignment dengan referensi). Dua diantaranya sering sekali digunakan yaitu assignment by value (menggunakan tanda =) dan assignment array (menggunakan tanda =>). Sebagai informasi, bahwa operator assignment ini bersifat universal terhadap hampir seluruh bahasa pemrograman, tidak hanya di php, sehingga perlu kita ketahui secara detail.
Jenis-jenis Operator Assignment dalam PHP
Jenis-jenis operator assignment dalam php terdiri dari 3 (tiga) jenis, dua di antaranya akan sering sekali digunakan. Yaitu assigment dengan nilai (Assignment by Value), assigment array, dan assigment dengan referensi (Assignment by Reference).
1. Assignment by Value
Assigment dengan nilai atau dalam istilah pemograman dikenal dengan asignment by value ini menggunakan simbol operasi sama dengan (=). Yang artinya adalah proses pemberian nilai kedalam sebuah variabel dengan meng-copy nilai atau value dari variabel lain.
Operator assignment by value memiliki arah proses kanan, sehingga proses pemberian nilai kepada sebuah variabel dimulai dari kanan, sebagimana contoh berikut ini.
Perhatikan contoh kode PHP diatas, terdapat 3 variabel yaitu $a, $b, dan $c dengan operator assigment by value. Kemudian pada baris ke-10 terdapat sebuah formula yaitu $a = $b = $c+5, yang urutan pemrosesannya di mulai dari kanan ke kiri, sehingga ketika diproses oleh PHP akan menjadi $a = ($b = ($c+5)).
2. Assignment by Array
Operator assigment array adalah operator assigment untuk menginput nilai kedalam array, dimana operasi ini menggunakan tanda panah sama dengan (=>).
3. Assignment by Reference
Assigment dengan referensi merupakan operator assigment khusus yang digunakan untuk meng-copy nilai referensi dari sebuah variabel.
Perhatikan contoh kode php operator assigment berikut ini.
Pada kode program di atas, terdapat 2 variabel yaitu $a dan $b, variabel $a memiliki nilai 20, sedangkan variabel $b meng-copy nilai dari variabel $a. Kemudian pada contoh operasinya yaitu $a= $a + 5; artinya variabel $a adalah variabel itu sendiri di tambah 5, sehingga menampilkan hasil kedua variabel tersebut.
Yang perlu dipahami adalah bahwa variabel $b hanya meng-copy nilai yang ada pada variabel $a, sehingga kedua variabel memiki nilai sendiri-sendiri dan terpisah.
Perbedaan Assigment By Value dengan Assigment By Reference
Perbedaan antara proses assigment by value dengan assigment by reference secara mendasar terletak pada alamat di memory komputer untuk menyimpan nilai variabel. Dalam bahasa pemograman apapun termasuk php, sebuah nilai variabel akan disimpan di alamat tertentu pada memory komputer.
Sebagai contoh pada proses assigment by value, misal variabel $a memiliki nilai 20, dan berada pada lokasi memory 1013. Maka ketika nilai variabel $a di copy ke dalam variabel $b, mungkin saja akan berada pada lokasi yang berbeda, misal memory 1014. Sehingga terdapat 2 (dua) lokasi memori untuk menampung nilai dari masing-masing variabel tersebut, $a di lokasi 1013 dengan nilai 20, sedangkan $b pada lokasi 1014 dengan nilai 20 (copy dari nilai $a).
Sehingga ketika menambahkan variabel $a dengan operasi misalnya $a= $a + 5, maka nilai pada lokasi memory 1013 akan menjadi 25. Namun karena memiliki lokasi memory yang berbeda, nilai pada variabel $b akan tetap 20 pada lokasi 1014
Sedangkan pada proses assigment by reference, ketika variabel $a dengan nilai 20 berada di lokasi memory 1013 dan menjalankan perintah $b=&$a. Maka alamat lokasi memory (referensi) untuk variabel $b dicopy dari nilai variabel $a, sehingga kedua variabel memiliki 1 alamat memory yang sama, yaitu 1013.
Karena alamat variabel $a dan $b sama, maka ketika salah satu variabel mengubah nilai di alamat 1013, maka nilai variabel yang lain akan berubah.
Pengertian Operator Bitwise di PHP
Pengertian operator bitwise di php adalah operators khusus yang telah disediakan oleh sistem untuk menangani proses logika pada jenis bilangan biner, atau binary yang terdiri dari angka yaitu 0 dan 1. Sistem cara kerja dari operator bitwise tidak berbeda dengan operator logika, hanya saja model operasi nya dilakukan bit demi bit, dimana bit=binary digit. Karena hanya menangani proses logika bilangan biner, maka bilangan apapun selain biner akan secara otomatis dipaksa menjadi biner pada operasi bitwise.
Hal penting yang perlu digaris bawahi dalam pengertian operator bitwise di php adalah tentang jenis bilangan yang diproses yaitu hanya biner.
Jenis-jenis Operator Bitwise PHP
Di dalam sistem php, terdapat 6 jenis operator bitwise php yang terdiri dari AND, OR, XOR, NOT, Shift Left, dan Shift Right. Sebagaimana dijelaskan pada contoh bitwise php berikut ini.
Cara Penggunaan Operator Bitwise PHP
Karena operasi ini hanya menangani proses logika bilangan biner, maka seluruh operator bitwise php tersebut akan diproses dalam bentuk biner. Berikut adalah contoh cara penggunaan operator bitwise di php.
Jika kode program di atas dijalankan maka akan menampilkan hasil operasi oleh masing-masing operator bitwise php sebagaimana gambar di bawah ini.
Pada contoh kode program operator bitwise php di atas, terdapat 2 variabel yaitu $a dan $b yang memiliki nilai awal berupa angka biner. Variabel $a memiliki nilai 0b1011010110 (dibaca 1011010110), sedangkan variabel $b memiliki nilai 0b0110110010 (dibaca 0110110010). Dimana 0b pada awal nilai masing-masing variabel adalah sebuah aturan penulisan angka biner saja. Jika diterjemahkan ke nilai desimal, maka biner 1011010110 itu sama dengan 726 sedangan biner 0110110010 sama dengan 434.
Penjelasan pertama operator bitwise php untuk operasi bitwise AND, dimana operasi bitwise "&" ini akan memproses bit per bit dari kedua variabel. Jika kedua bit sama-sama bernilai 1 maka hasilnya adalah 1, selain kondisi tersebut maka nilai akhirnya adalah 0. Sebagaimana bentuk perhitungan bitwise "and" berikut ini.
$a = 1011010110
$b = 0110110010
$a & $b = 0010010010 biner = 146 desimal
Penjelasan kedua operator bitwise php untuk operasi bitwise OR, dimana hasil dari proses operasi bitwise "|" adalah jika kedua bit variabel sama-sama bernilai 0 maka hasilnya adalah 0. Selain kondisi tersebut maka nilai akhirnya akan diset menjadi 1, sebagaimana bentuk perhitungan bitwise "or" berikut ini.
$a = 1011010110
$b = 0110110010
$a | $b = 1111110110 biner = 1014 desimal
Penjelasan ketiga operator bitwise php untuk operasi bitwise XOR, dimana hasil dari operasi bitwise "^" adalah jika salah satu dari kedua bit variabel bernilai 1 maka hasilnya adalah 1. Selain kondisi tersebut maka nilai akhirnya adalah 0, sebagaimana bentuk perhitungan bitwise "xor" berikut ini.
$a = 1011010110
$b = 0110110010
$a ^ $b = 1101100100 biner = 868 desimal
Penjelasan keempat operator bitwise php untuk operasi bitwise NOT, dimana hasil dari operasi bitwise "~" adalah membalikkan nilai bit sebuah variabel dari 0 menjadi 1, kemudian 1 menjadi 0. Namun entah bagaimana proses perhitungan bitwise not ini hasilnya seolah tidak sesuai. Karena jika hanya membalikkan nilai bitnya, hasilnya pun tidak sesuai dengan apa yang dihitung oleh sistem php, sebagaimana bentuk perhitungan bitwise "not" berikut ini.
$a = 1011010110
~ $a = 0100101001 biner = 297 desimal, ini tidak sesuai dengan hasil hitung sistem php
Hal tersebut terjadi mungkin karena php memiliki cara lain dalam menyimpan angka biner yaitu menjadi 32 bit. Untuk kasus ini silahkan teman-teman mencari sumber kembali.
Penjelasan kelima operator bitwise php untuk operasi bitwise SHIFT LEFT, dimana hasil dari operasi bitwise "<<" adalah sistem php akan menggeser nilai variabel $a sebanyak 2 digit ke kiri. Maka kemudian 2 digit paling kanan akan menjadi kosong, sehingga harus diisi dengan nilai 0 sebanyak 2 digit pula, sebagaimana bentuk perhitungan bitwise "shift left" berikut ini.
$a = 1011010110
$a << 2 = 101101011000 biner = 2904 desimal
Penjelasan keenam operator bitwise php untuk operasi bitwise SHIFT RIGHT, dimana hasil dari operasi bitwise ">>" adalah sistem php akan menggeser nilai variabel $a sebanyak 2 digit ke kanan. Maka kemudian 2 digit paling kanan akan dihapus, sehingga $a yang nilai awalnya adalah 10 bit akan berubah menjadi 8 bit, Sebagaimana bentuk perhitungan bitwise "shift right" berikut ini.
$a = 1011010110
$a >> 2 = 10110101 biner = 181 desimal
Pengertian Operator Gabungan Assignment di PHP
Pengertian operator gabungan assignment di php atau combined operators adalah metode penulisan singkat operator dengan menggunakan sebuah operator assignment dan operator lainnya secara bersamaan. Dengan kata lain, operator gabungan ini akan mempersingkat penulisan sebuah operasi, sehingga jumlah karakter menjadi lebih pendek. Di dalam sistem php, operator gabungan assignment ini adalah antara operator assigment dengan operator lain seperti operator logika, aritmatika, string, bitwise, dan operator lainnya.
Sebelum membahas jenis operator gabungan php, agar mudah dipahami silahkan perhatikan contoh operator gabungan assigment di bawah ini.
Jenis-jenis Operator Gabungan PHP
Di dalam sistem php, operator gabungan assignment dapat digunakan hampir untuk seluruh operator lainnya. Berikut adalah jenis operator gabungan beserta contoh penggunaannya.
Pengertian Type Juggling dan Casting di PHP
pengertian type juggling dan casting di php dimana proses ini dapat merubah tipe data php dari sebuah tipe data tertentu menjadi tipe data lainnya. Jadi type juggling php maupun casting merupakan sebuah proses yang dilakukan oleh sistem php baik secara otomatis ataupun melalui instruksi untuk mengubah sebuah type data. Oleh karena itu type juggling dan type casting php adalah dua proses yang sama dalam merubah tipe data, namun berbeda pada cara proses perubahannnya.
Type juggling dan casting di php ini ada satu hal penting yang harus digaris bawahi, type ini bukanlah tipe data seperti INT, FLOAT, STRING, ARRAY, dan sejenisnya. Melainkan sebuah proses sistem php, dimana type juggling php tereksekusi secara otomatis, sedangkan type casting php memerlukan sebuah instruksi untuk eksekusi.
Pengertian Type Juggling PHP
Pada dasarnya PHP merupakan bahasa pemograman yang dapat diakali dalam aturan tipe data, seperti contoh sebuah variabel yang dapat diisi dengan berbagai tipe data. Sehingga memberikan kemudahan penulisan script, namun dapat juga menimbulkan permasalahan atau bug. Karena bisa saja PHP mengubah tipe data suatu variabel menjadi tipe data lainnya secara default tanpa ada instruksi.
Perubahan tipe data "terpaksa" inilah hal yang berhubungan langsung dengan proses type juggling php dan type casting. Perhatikan kode program type juggling php di bawah ini;
Variabel $a memiliki nilai integer (angka) sedangkan variabel $b adalah sebuah string (angka dan teks). Meskipun seharusnya operasi aritmatika penambahan membutuhkan 2 operand berupa angka, namun sepertinya tidak berlaku dalam kode php di atas. Ternyata sistem PHP dapat menjalankan perintah tersebut walaupun dengan "notice error", sehingga 12+7 pegawai hasilnya adalah 19.
sistem PHP secara otomatis akan memaksa operand di dalam operator aritmatika diubah menjadi tipe data yang sesuai. Karena prosesnya adalah operasi aritmatika, maka seharusnya tipe data di dalam operand tersebut bertipe angka, baik integer maupun float. Sehingga sistem melalui proses type juggling php akan merubah tipe data string (7 pegawai) menjadi tipe data angka integer (7).
Proses yang terjadi sebagaimana penjelasan di atas yaitu terjadinya perubahan tipe data secara otomatis tersebut dikenal dengan istilah type juggling. Type juggling php adalah sebuah proses untuk menentukan jenis tipe data yang sesuai dengan operasi saat itu, dan PHP akan menkonversinya secara langsung.
Supaya lebih memahami pengertian type juggling dan casting di php, berikut adalah contoh lain kode program type juggling php.
Sebagaimana contoh kode program type juggling php sebelumnya yaitu variabel $a memiliki nilai integer (angka) sedangkan variabel $b adalah sebuah string (angka dan teks). Namun kali ini operasi yang dilakukan menggunakan operator logika AND sebagai operasi yang akan diproses. Ketika kode program tersebut dijalankan, maka akan menampilkan angka 1, berikut penjelasannya.
Diketahui bersama bahwa operator logika AND membutuhkan 2 inputan operand bertipe boolean yaitu nilai TRUE atau FALSE. Karena masing-masing variabel menggunakan tipe data integer "12" dan type string "7 pegawai", maka kedua operand ini akan dikonversi menjadi TRUE. Dimana TRUE AND TRUE adalah TRUE, sehingga hasil $a AND $b pada contoh kode program diatas adalah TRUE. Karena perintah echo membutuhkan inputan berupa string bukan nilai boolean TRUE, maka PHP akan mengkonversi boolean TRUE menjadi string "1".
Pengertian Type Casting PHP
Type casting php adalah proses perubahan type data secara manual dengan menggunaan perintah atau instruksi di dalam kode program. Berbeda dengan type juggling php yang akan memproses perubahan type data secara otomatis tanpa perintah apapun. Perintah casting php akan merubah type data dengan cara membuat nama tipe data tujuan di dalam tanda kurung sebelum variabel yang akan diubah.
Sebagaimana contoh kode program type casting php di bawah ini;
Perhatikan baris perintah echo di atas, echo (integer) $y adalah perintah untuk men-casting tipe data yang ada di dalam variabel $y (apapun tipe datanya) menjadi integer. Sedangkan echo (boolean) $y adalah instruksi untuk meng-casting tipe data di variabel $y menjadi boolean.
Berikut adalah jenis-jenis perintah type casting di dalam sistem PHP yang dapat digunakan ke dalam kode program.
Aturan Konversi Type Data PHP
Berikut adalah aturan konversi tipe data dalam PHP.
Konversi tipe data menjadi Integer.
Konversi tipe data menjadi Float.
Konversi tipe data menjadi Boolean.
Sebelum mengakhiri pembahasan pengertian type juggling dan casting di php, berikut adalah contoh-contoh cara konversi tipe data di dalam PHP.