Dart: Operator Bitwise dan Shift

Materi kali ini kita akan membahas tentang operator bitwise dan shift pada pemrograman dart, melanjutkan pembahasan tentang operator dengan bahasa pemrograman dart.

Jenis – Jenis Operator Bitwise Dan Shift Pada Bahasa Pemrograman Dart

Operator bitwise mempunyai arti operasi matematika dengan mengoperasikan nilai dalam bilangan biner (0 dan 1). Jika nilai variabel bukan dalam bentuk bilangan biner, akan di konversi secara otomatis oleh compiler dart menjadi bilangan biner. Misalnya saja bilangan desimal 6 = 0110 dalam bilangan biner.

Di dalam penerapannya operator bitwise ini tidak terlalu sering digunakan kecuali kita sedang membuat program yang harus memproses bit per bit komputer. Selain itu operator bitwise ini terbilang cukup rumit dan kita harus memiliki pemahaman tentang sistem bilangan biner. Jadi sebelum lanjut kita harus pahami dahulu perbedaan bilangan biner yang memiliki basis 2, sedangkan bilangan desimal memiliki basis 10.

Sebagai contoh agar paham bilangan decimal dan bilangan biner dapat dilihat tabel berikut:

Bilangan DecimalBilangan Binary
01000002
11000012
21000102
31000112
41001002
51001012
61001102
71001112
81010002
91010012
101010102
tabel sederhana decimal convert to binary

Di bawah ini daftar operator bitwise dan shift yang support pada bahasa pemrograman dart :

OperatorKeteranganPenjelasan
&Bitwise ANDJika bit yang sesuai dengan di kedua operand adalah 1 maka menghasilkan 1, jika tidak 0.
|Bitwise ORJika bit yang sesuai, setidaknya satu operand adalah 1 maka akan menghasilkan 1 jika tidak 0.
^Bitwise XORJIka bit yang sesuai hanya dalam 1 operand adalah 1 maka akan memberikan 1 jika tidak 0.
~Unary Bitwise ComplementBit dari 0 menjadi 1 dan bit dari 1 menjadi 0.
<<Shift LeftMenggeser semua bit operandnya ke kiri dengan jumlah yang telah ditentukan.
>>Shift RightMenggeser semua bit operandnya ke kanan dengan jumlah yang ditentukan.
Tabel Operator Bitwise dan shift

Operator Bitwise dan Shift bekerja pada bilangan biner, angka – angka tersebut disimpan dalam bentuk bilangan biner. Namun operand dan hasilnya dalam bilangan desimal, sedangkan saat operasinya berlangsung dalam bilangan biner.

Follow The Rules

Dibawah ini daftar aturan yang harus dipahami oleh setiap operator bitwise, kita akan bekerja dalam bilangan biner. Oleh karena itu kita akan menggunakan 1 dan 0 dimana 1 bertindak sebagai benar dan 0 bertindak sebagai salah. bit dapat berupa 1 dan 0.

follwotherulesbitwise
rules bitwise

Example

Mari kita buat studi kasus dengan menerapkan rules yang diatas, kita akan membuat operand pertama A dengan nilai 12 dan operand kedua dengan nilai 5.

void main(List<String> arguments) {
  var A = 12;
  var B = 5;

  print(~A); // A complement
  print(~B); // B complement
  print(A & B); // A AND B
  print(A | B); // A OR B
  print(A ^ B); // A XOR B
  print(B << 2); // B Shift Left 2
  print(A >> 2); // A Shift Right 2
}
//Output
-13
-6
4
13
9
20
3

Penjelasan

A & B

Dalam contoh diatas kita memberikan dua variabel A dan B, kemudian memberikan nilai awal A = 12 dan B = 5. Jika kita konversikan ke dalam bentuk biner maka menjadi

  • 12 dalam bentuk biner 00001100
  • 5 dalam bentuk biner adalah 00000101

Di baris 7 kita melakukan operasi AND (&) terhadap dua variabel. Operasi bitwise “and” ini akan memroses bit per bit dari kedua variabel, jika bit bernilai sama – sama 1 maka hasilnya juga akan 1, selain kondisi tersebut, nilai akhirnya adalah 0. perhatikan gambar di bawah ini :

AND
penjelasan AND
A = 00001100
B = 00000101
    -------------- &
A & B 00000100 = 4 (desimal)

Shift Operators

B << 2

operator shift menggeser bit operand kanan, jumlah bit yang digeser ditentukan menggunakan operand dari kanan. Jadi kode pada baris 10 variabel B akan digeser 2 digit ke kiri, perhatikan gambar di bawah ini :

shiftoperator
ilustrasi

Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variabel b berisi desimal 5, maka hasil dari << 2 sama dengan 5 * 2 = 10, 10 * 2 = 20.

Kesimpulan

Dalam tutorial kali ini kita telah mempelajari operator bitwise dalam bahasa pemrograman Dart. Pada prakteknya, operator bitwise tidak terlalu sering dipakai.

Sumber :
https://www.duniailkom.com/tutorial-belajar-java-jenis-jenis-operator-bitwise-bahasa-java/

Default image
Herry Prasetyo
Today a reader Tomorrow a Leader

Leave a Reply