Materi kali ini kita akan membahas tentang operator bitwise dan shift pada pemrograman dart, melanjutkan pembahasan tentang operator dengan bahasa pemrograman dart.
Daftar Isi
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 Decimal | Bilangan Binary |
010 | 00002 |
110 | 00012 |
210 | 00102 |
310 | 00112 |
410 | 01002 |
510 | 01012 |
610 | 01102 |
710 | 01112 |
810 | 10002 |
910 | 10012 |
1010 | 10102 |
Di bawah ini daftar operator bitwise dan shift yang support pada bahasa pemrograman dart :
Operator | Keterangan | Penjelasan |
& | Bitwise AND | Jika bit yang sesuai dengan di kedua operand adalah 1 maka menghasilkan 1, jika tidak 0. |
| | Bitwise OR | Jika bit yang sesuai, setidaknya satu operand adalah 1 maka akan menghasilkan 1 jika tidak 0. |
^ | Bitwise XOR | JIka bit yang sesuai hanya dalam 1 operand adalah 1 maka akan memberikan 1 jika tidak 0. |
~ | Unary Bitwise Complement | Bit dari 0 menjadi 1 dan bit dari 1 menjadi 0. |
<< | Shift Left | Menggeser semua bit operandnya ke kiri dengan jumlah yang telah ditentukan. |
>> | Shift Right | Menggeser semua bit operandnya ke kanan dengan jumlah yang ditentukan. |
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.

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 :

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 :

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/
Slamat siang .
perkenalkan saya Moh Fauzi Slamet .
saya masih baru belajar pemrograman dart .
artikel nya sangat membantu saya dalam memahami bahasa dart .
dalam hal ini , saya ingin mohon izin , menjadikan artikel ini sebagai sumber dari laman wordpress saya . untuk saya jadikan portofolio saya kedepannya .
saya juga akan mencantumkan alamat laman web ini pada bagian sumber .
Besar harapan saya, anda berkenan memberi saya izin menulis artikel portofolio dengan sumber ini , Terimakasih atas artikel yang sangat membantu ini.
Salam Hangat
Fauzi
Assallamualaikum mas, silahkan saja