Kali ini, saya akan bahas dasar bahasa pemrograman C dengan topik operasi bitwise. Dimana operasi bitwise adalah operasi yang berfungsi untuk memanipulasi bit yang ada. Didalam bahasa C, terdapat 6 jenis operasi bitwise, yaitu :
  1.  >> (Geser ke kanan)
  2. << (Geser ke kiri)
  3. ~ (NOT)
  4. & (Logika AND)
  5. | (Logika OR)
  6. ^ (Logika XOR) 
Sebagai refrensi saya sertakan gambar tabel kebenaran dari keenam operasi diatas


Pada part ketiga mengenai operasi bitwise, akan saya bahas untuk operasi bitwise AND OR dan XOR, langsung saja kita lihat script berikut

/*
 * Bitwise_AND_OR_XOR.cpp
 *
 * Created: 07/01/2016 17:18:54
 *  Author: Diaz
 */


#include <avr/io.h>

int main(void)
{
    DDRA=0xff;            // Menjadikan PORTA sebagai output
    PORTA=0xff;            // Menjadikan PORTA sebagai output dengan default berlogika 1
   
    DDRB=0xff;            // Menjadikan PORTB sebagai output
    PORTB=0xff;            // Menjadikan PORTB sebagai output dengan default berlogika 1
   
    DDRC=0xff;            // Menjadikan PORTC sebagai output
    PORTC=0xff;            // Menjadikan PORTC sebagai output dengan default berlogika 1

    DDRD=0x00;            // Menjadikan PORTD sebagai input
    PORTD=0xff;            // Menjadikan PORTD sebagai input pull up aktif
   
    unsigned char a, b;    // Membuat Variabel global a
    a=0b00001111;        // a bernilai 00001111
    b=0b10110111;        // b bernilai 10110111
   
    while(1)
    {
        PORTA=a&b;        // PORTA bernilai a&b
        PORTB=a|b;        // PORTA bernilai a|b
        PORTC=a^b;        // PORTA bernilai a^b
    }
}

Hasil dari operasi tersebut jika kita hitung manual akan menjadi seperti tabel berikut
Hasil Operasi Bitwise AND OR dan XOR Bahasa C
Hasil Operasi Bitwise AND OR dan XOR Bahasa C


Dan kita buktikan dengan simulasi diproteus sebagai berikut
Contoh Operasi Bitwise AND OR dan XOR Bahasa C
Contoh Operasi Bitwise AND OR dan XOR Bahasa C

Karna hasil dari operasi pun sudah saya sertakan, maka sudah tidak perlu saya jelaskan lagi cara kerja dari script diatas :)

Sama seperti contoh sebelumnya, setiap pembuktian perintah menggunakan 1 PORT (8bit) sebagai pembuktiannya, dan script tersebut saya buat menggunakan Atmel Studio 6 + AVRGCC dan Proteus

Saya sarankan untuk menulis ulang semua script tersebut secara manual, agar kalian lebih cepat menghafal dan memahami script tersebut. Namun jika mendapat kesulitan, saya sediakan file script beserta file proteusnya yang dapat didownload di sini

Sayapun disini masih belajar sehingga belum tentu benar mengenai semua yang  saya jabarkan diatas, jika ada yang merasa janggal atau merasa ada kesalahan dalam penjabaran saya, bisa kita diskusikan dikomentar.

Good Luck!

Related Post :