Menggunakan Operator Logika dalam Pemrograman Arduino
Operator logika memberi Anda elemen kontrol lain atas aliran program Anda. Juga dikenal sebagai operator Boolean, mereka bisa menjadi sangat kuat ketika digunakan di dalam kondisi pernyataan if atau loop while. Pada artikel ini kita akan membahas tiga operator logika yang paling umum yakni AND, OR dan NOT.
Kita juga akan melihat cara menggunakan operator logika dalam pernyataan bersyarat untuk menguji beberapa variabel untuk suatu kondisi secara bersamaan. Akhirnya kita akan melihat contoh praktis yang menggunakan operator logika untuk mengayunkan status tegangan pin digital pada Arduino .
Operator Logika AND
Operator logika AND mengevaluasi dua variabel dan mengembalikan nilai sebenarnya hanya jika kedua variabel benar. Ini ditulis dengan dua ampersand (&&).
Cara termudah untuk memvisualisasikan operasi logis adalah dengan tabel kebenaran. Tabel kebenaran ini menunjukkan cara kerja operator AND:
Katakanlah kita memiliki dua variabel, x dan y. Jika x benar dan y salah, hasil dari operator AND salah. Demikian pula, jika x salah dan y benar, hasilnya salah. Dan jika x dan y keduanya salah, hasilnya salah.
Hanya jika x dan y keduanya benar, hasil dari AND menjadi benar. Jadi bagaimana kita bisa menggunakan ini? Katakanlah kita ingin membuat pernyataan if yang hanya dieksekusi ketika dua variabel kurang dari lima. Kami akan menggunakan operator AND dalam kondisi pernyataan if seperti ini:
Kondisi hanya akan benar jika x kurang dari lima dan y kurang dari lima. Anda dapat memiliki operator AND sebanyak mungkin dalam kondisi yang Anda inginkan. Menggunakan beberapa operator AND dalam pernyataan bersyarat memungkinkan Anda menguji banyak variabel secara bersamaan. Pernyataan bersyarat hanya akan dieksekusi jika semuanya benar.
Operator Logika OR
Operator OR ditulis dengan dua batang vertikal (||).
Tombol bilah vertikal biasanya ditemukan di atas tombol Enter di sebagian besar keyboard. Dengan operator OR, jika salah satu variabel benar, hasilnya akan benar. Ini adalah tabel kebenaran untuk operator OR:
Jika x benar dan y salah, hasilnya akan benar. Jika x salah dan y benar, hasilnya akan tetap benar. Jika x dan y keduanya benar, hasilnya juga benar. Hanya jika x dan y salah maka hasilnya salah.
Hanya dibutuhkan satu variabel untuk menjadi benar agar hasilnya benar. Misalnya, menggunakan operator OR dalam kondisi pernyataan if seperti ini:
Kondisi akan benar jika x kurang dari lima, atau y kurang dari lima. Jadi, jika ada variabel yang kurang dari lima, kondisinya akan benar dan kode di badan pernyataan if akan dieksekusi. Anda dapat memiliki operator OR sebanyak yang Anda inginkan dalam pernyataan bersyarat, memungkinkan beberapa variabel untuk diuji pada waktu yang sama.
Operator Logika NOT
Operator NOT ditulis dengan tanda seru (!).
Operator NOT membuat pernyataan benar salah, dan pernyataan salah benar:
- !true = false
- !false = true
Operator NOT dapat digunakan untuk mengecualikan suatu bilangan atau variabel dalam suatu kondisi. Misalnya, jika Anda memerlukan pernyataan if untuk dieksekusi pada setiap nilai x kecuali angka lima, Anda dapat menulis kondisinya seperti ini:
Operator NOT juga dapat digunakan di tempat lain, misalnya untuk mengganti status tegangan pin digital. Lihatlah kode Arduino standar untuk mengganti status tegangan pin digital (pin 13) tinggi dan rendah:
Dengan operator NOT, kode ini dapat direduksi menjadi hanya dua baris:
Di sini kita gunakan digitalRead(13)dengan operator NOT di depannya. Dengan kode ini, Arduino terlebih dahulu akan membaca status tegangan pin 13. Jika pin 13 tinggi, digitalRead(13) akan mengembalikan nilai tinggi. Operator NOT membuat nilai tinggi menjadi rendah, sehingga fungsi digitalWrite() akan mengalihkan pin 13 ke status tegangan rendah.
Kali berikutnya melalui loop, fungsi digitalRead() akan mengukur nilai rendah pada pin 13. Tetapi operator NOT membuat argumen dalam fungsi digitalWrite() menjadi tinggi. Jadi pin 13 diatur ke keadaan tegangan tinggi.
Ini membuat pin 13 bergantian antara status tegangan tinggi dan rendah. Anda dapat mengujinya dengan menghubungkan LED ke pin 13. LED akan berkedip dan mati sekali per detik.
Sumber: Circuit Basics