info-b

Tutorial Belajar PHP Part 26: Pengertian dan Jenis-jenis Operator Bitwise dalam PHP

Posted on

Melanjutkan pembahasan mengenai operator, pada panduan ini kita saya akan membahas Pengertian dan Jenis-jenis Operator Bitwise (Bitwise Operator) dalam PHP.


Pengertian Operator Bitwise pada PHP

Operator bitwise (Bitwise Operators) yakni operator khusus yang disediakan PHP bagi menangani proses logika bagi bilangan biner. Bilangan biner atau binary yakni jenis bilangan yang hanya terdiri dari 2 jenis angka, yakni 0 dan 1. Kalau operand yang digunakan bagi operator ini bukan bilangan biner, karenanya akan dikonversi secara otomatis oleh PHP menjadi bilangan biner.

Pada penerapannya, operator bitwise tak terlalu sering digunakan, kecuali kamu membuah program yang seketika berkaitan dengan pemrosesan bilangan biner.

Pada panduan ini saya berasumsi kamu telah mengetahui cara penulisan, dan perhitungan bilangan biner, sekiranya belum silahkan mempelajarinya terlebih dahulu.


Jenis-Jenis Operator Bitwise PHP

PHP mendukung 6 jenis operator bitwise. Daftar lengkapnya dapat dilihat di tabel dibawah ini:


Cara Pemakaian Operator Bitwise pada PHP

Seluruh operator bitwise tersebut diproses pada wujud biner. Berikut contoh cara pemakaian operator bitwise pada PHP:

 Pada contoh kode PHP diatas, saya mendefenisikan 2 variabel yakni $a dan $b, dan memberikan nilai awal berupa angka biner ke pada kedua variabel tersebut (cara penulisan angka biner telah kita bahas di panduan Tutorial PHP: Mengenal Tipe Data Integer dan Cara Penulisan Integer dalam PHP)

Variabel $a berisi angka biner: 10110101, yang nilai desimalnya yakni 181, dan variabel $b berisi angka biner: 01101100, yang nilai desimalnya yakni 108.

Di contoh 1, saya menjalankan operasi kepada kedua variabel. Operasi bitwiseand” ini akan memproses bit per bit dari kedua variabel, sekiranya kedua bit sama-sama 1, karenanya hasilnya pun 1, selain kondisi tersebut, nilai akhirnya yakni 0. Berikut perhitungan bitwiseand”:

Dan dari hasil echo, terlihat bahwa hasilnya yakni 36 (pada wujud desimal).

Contoh kedua, bagi operasi I atau or, akan bernilai 0 sekiranya kedua bit variabel bernilai 0, selebihnya nilai bit hasil akan diset menjadi 1. Berikut perhitungan bitwiseor”:

Contoh ketiga, menggunakan operasi ^ atau xor, dan bit hasil akan bernilai 1 sekiranya diantara dari kedua variabel bernilai 1, namun tak keduanya. Berikut perhitungan bitwise “xor”:

Contoh keempat, menggunakan operasi atau not,yang akan membalikkan nilai bit sebuah variabel dari 0 menjadi 1, dan 1 menjadi nol. Namun perhitungan bit not ini sedikit membingungkan, karena sekiranya kita hanya membalikkan seluruh bitnya saja, hasilnya tak sesuai dengan apa yang dihitung oleh PHP, seperti contoh perhitungan berikut:

Dari hasil menjalankan program, dapat dilihat bahwa $a = -182, darimanakah angka ini? Hal ini terkait dengan cara PHP menyimpan angka biner dengan 32 bit. PHP menyimpan bit pada perhitungan matematis komputer yang di sebut dengan “Two’s complement” Penjelasan mengenai ini dapat kamu baca lebih lanjut di http://en.wikipedia.org/wiki/Two%27s_complement dan http://stackoverflow.com/questions/18754198/confusing-php-bitwise-not-behavior

Namun cara perhitungan singkatnya yakni se
bagai berikut:

Karena PHP memproses menggunakan 32 bit, karenanya kita mesti mengikutkan seluruh bit 0 yang berada di depan angka biner dengan total 32 digit, lalu menegatifkannya. Kalau angka sangat kiri terdapat angka 1, karenanya ini yakni instruksi kepada PHP bahwa hasilnya akan negatif, dan hasil negatif di flip (dinegatifkan kembali), lalu dikurang 1, sehingga menjadi -182 pada desimal.

Contoh ke 5, yakni operator Shift right dimana PHP akan menggeser variabel $a ke kanan sebanyak 1 tempat. Berikut proses yang terjadi:

Operator shift right menggeser nilai biner variabel $a ke arah kanan, dan digit sangat kanan akan dihapus. Operator shift right ini akan menghasilkan nilai asal / 2. Pada contoh, hasilnya yakni 180/2 = 90 (dibulatkan). Setiap penggeseran 1 tempat ke kanan akan membagi 2 nilai asal.

Contoh ke 6 yakni operator Shift Left, dimana PHP menggeser nilai variabel $b sebanyak 2 digit ke kiri. Berikut proses yang terjadi:

Ketika hasil pergeseran ke kanan, digit sangat kiri akan diisi dengan nilai 0. Setiap penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal.


Pada panduan kali ini kita telah mempelajari operator bitwise dalam PHP. Kamu tak akan sering menggunakan operator ini. PHP menyediakan operator bitwise bagi kebutuhan khusus.


Sumber https://www.duniailkom.com/