Tutorial Dasar Arduino Bitwise


Bahasa C yang digunakan pada Arduino, menjadikannya mudah untuk dipelajari oleh pelajar, mahasiswa, dari mulai untuk project sederhana hingga tugas akhir kuliah. Bahasa C menawarkan operasi manipulasi bit, yang mana pada Arduino bisa sangat berguna untuk mengubah suatu nilai bit dalam data yang berupa byte. Implementasi nyata pada Arduino ialah pada manipulasi nilai pin-pin Arduino berubah dari kondisi high menjadi low, atau sebaliknya. Dalam hal ini operasi manipulasi bit dimungkinkan dengan penerapan gerbang logika atau operasi fungsi logika yang disebut bitwise. Untuk operasi bitwise standard yang biasa digunakan ialah & (AND), | (OR), << (Left Shift) menggeser nilai bit ke kiri, dan >> (Right Shift) menggeser nilai bit ke kanan.

<img src="arduino.png" alt="arduino">


AND
Fungsi operasi logika AND dari dua buah operand akan menghasilkan output dengan logika 1, high, hanya pada saat kedua bit pada tingkat yang sama juga bernilai logika 1, high. Selain itu akan menghasilkan output dengan logika 0, low. Berikut ini adalah contoh potongan sktech Arduino.

byte operand1 = B00001111;
byte operand2 = B01010101;
byte result = operand1 & operand2;

Penjelasannya sebagai berikut.
  • Nilai operand1 dengan tipe data byte ialah 00001111
  • Nilai operand2 dengan tipe data byte ialah 01010101
  • Nilai result dengan tipe data byte ialah hasil operasi AND byte dari operand1 dengan operand2


<img src="bitwise_and.png" alt="bitwise_and">


OR
Fungsi operasi logika OR dari dua buah operand akan menghasilkan output dengan logika 1, high, hanya pada saat salah satu atau kedua bit pada tingkat yang sama bernilai logika 1, high. Selain bila kedua bit pada tingkat yang sama bernilai logika 0, low maka akan menghasilkan output dengan logika 0, low. Berikut ini adalah contoh potongan sktech Arduino.

byte operand1 = B00001111;
byte operand2 = B01010101;
byte result = operand1 | operand2;

Penjelasannya sebagai berikut.
  • Nilai operand1 dengan tipe data byte ialah 00001111
  • Nilai operand2 dengan tipe data byte ialah 01010101
  • Nilai result dengan tipe data byte ialah hasil operasi OR byte dari operand1 dengan operand2


<img src="bitwise_or.png" alt="bitwise_or">


<< Left Shift
Fungsi dari bitwise << ialah menggeser nilai-nilai bit ke kiri. Menggeser nilai-nilai bit ke kiri, akan menghasilkan output yang bernilai dua kali lipat dari operand awalnya. Berikut ini adalah contoh potongan sktech Arduino.

int i = 2;
byte operand = B00001111;
byte result = operand << i;

Penjelasannya sebagai berikut.
  • Nilai operand dengan tipe data byte ialah 00001111
  • Nilai result dengan tipe data byte ialah hasil pergeseran bit dari operand ke kiri sebanyak i, yakni 2 kali


<img src="bitwise_left_shift.png" alt="bitwise_left_shift">


>> Right Shift
Fungsi dari bitwise >> ialah menggeser nilai-nilai bit ke kanan. Menggeser nilai-nilai bit ke kanan, akan menghasilkan output yang bernilai separuh dari operand awalnya. Berikut ini adalah contoh potongan sktech Arduino.

int i = 2;
byte operand = B01100000;
byte result = operand >> i;

Penjelasannya sebagai berikut.
  • Nilai operand dengan tipe data byte ialah 01100000
  • Nilai result dengan tipe data byte ialah hasil pergeseran bit dari operand ke kanan sebanyak i, yakni 2 kali


<img src="bitwise_right_shift.png" alt="bitwise_right_shift">


Lihat juga mengenai implementasinya dalam program Arduino LED bitwise operation.

Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment atau melalui page Facebook berikut.