Tutorial Arduino - Pernyataan While dan Contoh Sketch

September 16, 2018
Gagalenyilih - Tutorial Arduino - Pernyataan While dan Contoh Sketch - Bentuk sederhana pengulangan while adalah :

while (kondisi)
 pernyataan


Pada pernyataan while diatas, kondisi diuji terlebih dahulu. Jika kondisi bernilai benar maka bagian pernyataa akan dieksekusi, kemudian kondisi diuji kembali untuk menentukan bagian pernyataan akan dijalankan atau tidak. Pengulangan seperti itu dilakukan terus menerus hingga kondisi bernilai salah. Gambar berikut ini menunjukkan diagram alir pernyataan while.

Tutorial Arduino - Pernyataan While dan Contoh Sketch
Klik untuk memperbesar gambar

Berdasarkan diagram alir diatas, terlihat bahwa bagian pernyataan bisa saja tidak dijalankan sekali. Hal itu terjadi jika kondisi bernilai salah pada keadaan awal.
Apabila dikehendaki untuk menjalankan sejumlah pernyataan, gunakan pernyataan majemuk. Jadi bentuknya seperti berikut ini :

while(kondisi) {
 pernyataan_1
 ...
 pernyataan_n
}

Bentuk seperti diataslah yang paling umum digunakan dalam pemograman.

Ada 4 bagian yang menjadi kunci penting di dalam pengulangan dengan while. Keempat bagian tersebut adalah seperti beriktu ini :
  • Bagian pertama
    Bagian ini adalah bagian inisialisasi variabel yang dipakai sebagai pencacah. Bagian ini hanya dijalankan sekali. Pada contoh di depan, i adalah variabel pencacah.
  • Bagian kedua
    Bagian ini berisi kondisi yang menentukan jumlah pengulangan. Pada contoh didepan, i <= n adalah kondisi yang menentukan pengulangan.
  • Bagian ketiga
    Bagian ini berfungsi untuk menaikkan/ menurunkan nilai variabel pencacah, yang juga berperan sebagai penentu pengulangan (mengingat variabel pencacah biasa dipakai dalam kondisi (bagian kedua).
  • Bagian keempat
    Bagian ini berisi perintah yang umumnya digunakan untuk menampilkan hasil. Bagian ini tentu saja juga merupakan bagian yang diulang oleh while. Contoh didepan berupa pernyataan i++;
Gambar berikut ini menunjukkan keempat bagian tersebut berdasarkan contoh program didepan.

Tutorial Arduino - Pernyataan While dan Contoh Sketch
Klik untuk memperbesar gambar.

Contoh Sketch Arduino menggunakan pernyataan While

Alat dan bahan :
  • Arduino uno 1 buah.
  • Resistor 270 Ohm 3 buah.
  • Resistor 22K Ohm 1 buah.
  • LED 3  buah (beda warna)
  • Tombol/ Tactile switch 1 buah.

Skema rangkaian

Tutorial Arduino - Pernyataan While dan Contoh Sketch
Klik untuk memperbesar gambar


Berikut in adalah Sketchnya :

//Menentukan LED merah atau LED hijau yang menyala
//secara acak.
//Merah = tidak boleh
//Hijau = boleh

const int PIN_7 = 7;
const int LED_KUNING = 10;
const int LED_HIJAU = 11;'
const int LED_MERAH = 12;

void setup() {
  pinMode(PIN_7, INPUT);
  pinMode(LED_KUNING, OUTPUT);
  pinMode(LED_MERAH, OUTPUT);
  pinMode(LED_HIJAU, OUTPUT);
}

void loop() {
  //Nyalakan lampu kuning sebagai pertanda
  //pemakai harus menekan tombol
  digitalWrite(LED_KUNING, HIGH);

  //Tunggu sampai tombol ditekan
  int keadaanSekarang = LOW;
  while (keadaanSekarang == LOW)
    keadaanSekarang = digitalRead(PIN_7);

  //Matikan lampu kuning
  digitalWrite(LED_KUNING, LOW);

  //Bangkitkan bilangan acak 0 atau 1
  int bilangan = random(2);

  //Tampilkan LED merah atau hijau
  if(bilangan == 0) {
    digitalWrite(LED_MERAH, HIGH);
    delay(2000);
    digitalWrite(LED_MERAH, LOW);
  }
  else {
    digitalWrite(LED_HIJAU, HIGH);
    delay(2000)
    digitalWrite(LED_HIJAU, LOW);
  }
}


Contoh penggunaan while diperlihatkan pada sketch diatas. Sketch tersebut digunakan untuk membuat permainan yang meminta miktrokontroler untuk menentukan seseorang boleh melakukan sesuatu atau tidak. Pertama-tama, Arduino Uno menyalakan LED kuning, yang memberikan isyarat kepada pemakai untuk menekan tombol. Jika tombol sudah ditekan, LED kuning dimatikan.

Baca juga : Belajar Arduino untuk pemula

Berikutnya, Arduino Uno membangkitkan bilangan acak yang kemungkinannya berupa angka 0 atau 1. Jika nilai acak yang dihasilkan adalah 0 maka LED merah dinyalakan, yang mengisyaratkan permintaan ditolak. Sebaliknya, jika angka yang dihasilkan adalah 1 maka LED hijau yang dinyalakan. Dalam hal ini, LED merah ataupun LED hijau akan dinyalakan selama 2 detik.

Penerapan while terletak pada penanganan untuk menunggu tombol ditekan. Hal ini dilakukan dengan menggunakan kode :

  int keadaanSekarang = LOW;
  while (keadaanSekarang == LOW)
    keadaanSekarang = digitalRead(PIN_7);

Pada kode diatas, mula-mula variabel keadaanSekarang diisi dengan LOW. Hal ini dilakukan agar pengulangan didalam while berlangsung mengingat kondisi pernyataan tersebut melibatkan keadaanSekarang. Nah, saat tombol ditekan, digitalRead() memberikan nilai HIGH. Akibatnya kondisi dari :

  keadaanSekarang == LOW

bernilai salah dan while pun dihentikan.

Sekian.

Selanjutnya : Tutorial Arduino - Mengatur kecerahan LED

Artikel Terkait

Next Article
« Prev Post
Previous Article
Next Post »
Penulisan markup di komentar
  • Untuk menulis huruf bold gunakan <strong></strong> atau <b></b>.
  • Untuk menulis huruf italic gunakan <em></em> atau <i></i>.
  • Untuk menulis huruf underline gunakan <u></u>.
  • Untuk menulis huruf strikethrought gunakan <strike></strike>.
  • Untuk menulis kode HTML gunakan <code></code> atau <pre></pre> atau <pre><code></code></pre>, dan silakan parse kode pada kotak parser di bawah ini.

Disqus
Tambahkan komentar Anda

Tidak ada komentar

Berkomentarlah dengan baik dan sopan. Dilarang keras membuat link aktif!