Kali ini, saya akan bahas dasar bahasa pemrograman C dengan topik operasi logika, didalam bahasa
C, terdapat 3 jenis operasi logika, yaitu :
  1. && (Logika AND)
  2. || (Logika OR)
  3. ! (Logika NOT)  
Sebagai refrensi saya sertakan gambar tabel kebenaran dari ketiga logika diatas

Langsung saja kita lihat scriptnya dibawah ini

 /*
 * Op_Logika.cpp
 *
 * Created: 30/12/2015 18:57:15
 *  Author: Diaz
 */


#include <avr/io.h> //Memasukan fungsi AVR

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=0xff;            // Menjadikan PORTD sebagai input
    PORTD=0xff;            // Menjadikan PORTD sebagai output dengan default berlogika 1

    unsigned char a, b;    // Variabel global dengan nama a
    a=5;                // Variabel a bernilai 5
    b=10;                // Variabel b bernilai 10
   
    while(1)
    {
        if ((a==5) && (b==10))        // "Jika a=5" di ANDkan dengan "jika b=10"
        {
            PORTA=0x00;                // PORTA bernilai 0x00 (dalam hexadesimal) atau bernilai 00000000 (dalam biner)
        }
       
        if ((a==5) || (b==7))        // "Jika a=5" di ANDkan dengan "jika b=7"
        {
            PORTB=0xc0;                // PORTB bernilai 0xc0 (dalam hexadesimal) atau bernilai 11111100 (dalam biner)
        }
       
        if (!(a==4))                // "Jika a=4" di NOTkan   
        {
            PORTC=0xf0;                // PORTC bernilai 0xf0 (dalam hexadesimal) atau bernilai 11110000 (dalam biner)
        }
    };
}

Dan dari script diatas akan menghasilkan gambar sebagai berikut
Contoh Operasi Logika Bahasa C
Contoh Operasi Logika Bahasa C

Untuk contoh kali ini masih menggunakan fungsi if (untuk lebih detailnya akan dijelaskan di post berikutnya). Untuk pembuktiannya dapat dilihat pada contoh pertama, "if ((a==5) || (b==7)) // "Jika a=5" di ANDkan dengan "jika b=10"" karna pada kondisi awal kita sudah atur untuk a=5 dan b=10. Berarti kedua pernyataan tersebut adalah benar, dan karna syarat agar logika AND bernilai benar (akan mengeluarkan output) adalah kedua input harus berlogika 1 (berlogika benar) maka PORTA akan bernilai 0x00 yang mengakibatkan LED menyala semua.Silahkan anda buktikan sendiri untuk contoh lainnya

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 :