Cara Menggunakan Pernyataan Bersyarat (Conditional Statements) dalam Pemrograman Arduino
Pernyataan bersyarat atau Conditional Statements adalah salah satu alat yang paling berguna dalam pemrograman Arduino. Mereka membiarkan Anda mengontrol aliran program berdasarkan kondisi tertentu yang dapat Anda tentukan dalam kode.
Pernyataan bersyarat seperti tes, mereka memeriksa untuk melihat apakah suatu kondisi benar atau tidak. Jika kondisinya benar, maka kode di dalam pernyataan kondisional akan dieksekusi. Jika kondisinya salah, kode tidak akan dieksekusi. Pernyataan bersyarat yang paling umum digunakan adalah pernyataan if.
Pernyataan IF
Jika pernyataan biasanya ditempatkan di bagian loop() di mana mereka dievaluasi sekali setiap siklus melalui loop.
Kode untuk pernyataan if terlihat seperti ini:
Kondisi inilah yang menentukan apakah kode dalam tubuh akan dieksekusi. Biasanya kondisi ditulis untuk memeriksa apakah suatu variabel lebih kecil dari, lebih besar dari atau sama dengan beberapa angka. Apapun kondisi yang digunakan, harus mengevaluasi ke nilai benar atau salah.
Jika kondisinya benar, program akan memasukkan kurung kurawal dan mengeksekusi kode di dalam tubuh. Jika kondisinya salah, program melompati kode dan melanjutkan ke baris kode setelah kurung kurawal penutup.
Misalnya, lihat pernyataan if yang menampilkan “x kurang dari y” ke monitor serial saat x lebih kecil dari y:
Kondisi dari pernyataan if ini adalah x < y. Katakanlah x sama dengan 2 dan y sama dengan empat. 2 < 4 adalah pernyataan yang benar, sehingga program akan memasukkan kurung kurawal dan mengeksekusi kode di badan. Kode tubuh akan mencetak serial “x kurang dari y” ke monitor serial.
Jika x sama dengan 10 dan y sama dengan empat, 10 < 4 adalah pernyataan yang salah, sehingga program akan melewatkan kode dalam kurung kurawal dan tidak ada yang akan dicetak ke monitor serial.
Operator Relasional
Operator relasional sangat berguna untuk menulis pernyataan kondisional. Operator relasional digunakan untuk membandingkan dua atau lebih bilangan atau variabel. Misalnya, sama dengan, lebih besar dari dan lebih kecil dari beberapa operator relasional umum. Mereka adalah cara paling umum untuk mengatur kondisi dalam pernyataan if.
Di bawah ini adalah daftar semua operator relasional yang dapat digunakan dalam pernyataan bersyarat:
x > y: x lebih besar dari y
x < y: x lebih kecil dari y
x >= y: x lebih besar atau sama dengan y
x <= y: x lebih kecil atau sama dengan y
x == y: x sama dengan y
x != y: x tidak sama dengan y
Jika perbandingan menghasilkan pernyataan yang benar, tubuh pernyataan bersyarat akan dieksekusi.
Pernyataan IF ELSE
Pernyataan bersyarat lain yang berguna adalah pernyataan if else. Berikut cara penulisan pernyataan if else:
Seperti pernyataan if, pernyataan if else terlebih dahulu mengevaluasi kondisinya. Jika kondisinya benar, kode di dalam tubuh blok if akan dieksekusi. Jika kondisinya salah, kode di blok lain akan dieksekusi.
Pernyataan IF ELSE IF
Pernyataan if else if memungkinkan Anda menguji dua kondisi. Berikut kode untuk pernyataan if else if:
Program pertama-tama memeriksa kondisi 1 dalam pernyataan if. Jika benar, kode di badan pernyataan if dieksekusi, maka program keluar dari seluruh blok if else if.
Jika kondisi 1 salah, program memeriksa kondisi 2 di blok else if. Jika kondisi 2 benar, kode di dalam tubuh bagian else if akan dieksekusi, maka program akan keluar dari blok if else if.
Pernyataan if else if mirip dengan memiliki dua pernyataan if, tetapi ada perbedaan halus. If else if hanya mengeksekusi satu blok, blok if atau blok else if. Blok pertama yang memiliki kondisi benar akan dieksekusi. Dengan dua pernyataan if, keduanya akan dieksekusi jika kedua kondisi benar.
Pernyataan IF NESTED (Bersarang)
Pernyataan if dapat bersarang atau ditempatkan di dalam satu sama lain. Pernyataan if bersarang memungkinkan Anda menguji beberapa kondisi dan melakukan tindakan yang berbeda ketika salah satunya benar. Pernyataan if bersarang seperti mengatakan "jika x benar, lakukan tindakan ini dan kemudian jika y dan z benar, lakukan tindakan lain ini".
Pernyataan if bersarang sering digunakan saat bekerja dengan sensor. Misalnya, pernyataan if bersarang dapat memeriksa apakah sensor mentransmisikan data sebelum membaca data darinya. Kode di bawah ini menggunakan pernyataan if bersarang untuk melihat apakah sensor suhu mengirim data ke Arduino sebelum memeriksa apakah suhu di atas atau di bawah nilai ambang batas:
Status tegangan sensorPin dibaca dengan fungsi digitalRead() dan nilainya disimpan dalam inputvariabel. Saat sensor mengirimkan data ke Arduino, nilainya sensorPin akan tinggi (HIGH), sehingga input akan memiliki nilai tinggi yang tersimpan di dalamnya.
Pernyataan if pertama memeriksa nilai yang disimpan dalam input. Jika input memiliki nilai tinggi, Arduino memasukkan pernyataan if dan menjalankan fungsi digitalWrite() untuk mengirim sinyal tinggi ke ledPin.
Dua pernyataan if berikutnya bersarang di dalam pernyataan if pertama. Jika suhu kurang dari 20 derajat, kode dalam pernyataan if bersarang pertama akan dieksekusi dan "Suhu rendah!" akan dicetak ke monitor serial.
Jika suhu lebih besar dari 20 derajat, pernyataan if bersarang kedua akan dieksekusi dan "Suhu tinggi!" akan dicetak ke monitor serial. Dalam contoh ini, pernyataan if bersarang hanya dievaluasi saat sensor mengirimkan data ke Arduino.