Perintah IF dan IF-ELSE
Sebelumnya kita sudah belajar tentang membuat LED berkedip, saat ini kita akan lebih memahami lebih dekat tentang bahasa pemrograman dan fungsi-fungsi logika yang umum dipakai. Implementasi dari pembelajaran fungsi logika tersebut akan diterapkan pada beberapa model Animasi LED seperti running LED atau yang lainnya.
Perintah IF dan IF - ELSE
Perintah IF memiliki beberapa kombinasi, bisa IF saja, IF-ELSE, IF-ELSE IF-ELSE, dan seterusnya. Semakin kompleks tentu logika yang dipakai akan tampak semakin “rumit”.
Perintah IF
Mari kita modifikasi program Sketch 1.1 menjadi seperti berikut:
Sketch 2.1 Modifikasi timeDelay
Apakah Anda bisa membayangkan apa yang akan terjadi dengan LED tersebut? LED tersebut awalnya akan berkedip pelan, lama-lama akan berkedip cepat, dan akan akhirnya akan berkedip pelan lagi. Percayakah Anda? Jika tidak, silakan dicoba.
TUGAS 2
Buat Rangkaian LED berkedip mengunakan Skecht 2.1 diatas :
Masukkan Nickname yang sudah terdaftar.
Ketika awal dinyalakan, maka timeDelay adalah 1000. Nilai tersebut diinisialisasi pada baris 14. Baris ini tidak dijadikan konstanta (const) sebagaimana pinLED karena nilai timeDelay akan diubah-ubah.
int timeDelay = 1000;
Setelah masuk ke bagian utama aplikasi, pada baris 18 nilai timeDelay dikurangi 100.
timeDelay = timeDelay - 100;
Sehingga timeDelay pertama yang digunakan untuk menyalakan dan mematikan LED adalah 900. Pada perulangan selanjutnya, timeDelay kembali dikurangi 100, sehingga perulangan ke dua menggunakan timeDelay 800 (lebih singkat dari timeDelay yang awal), begitu seterusnya hingga pada timeDelay 100.
Pada waktu melewati timeDelay 100, ketika dikurangi dengan 100, maka timeDelay bernilai 0. Kondisi ini cocok dengan baris ke 23,
Jika (IF) timeDelay lebih kecil atau sama dengan 0, maka timeDelay akan diisi dengan 1000. Sehingga nilai timeDelay tidak akan pernah negatif dan hal tersebut akan berulang terus-menerus. Hal ini lah yang membuat durasi nyala hidup-mati LED bisa berubah lebih cepat.
Beberapa operator matematika yang dibutuhkan dalam bahasa pemrograman yaitu:
Perintah IF pasti akan diikuti dengan kondisi yang bernilai True yang diapit dengan tanda kurung, if (kondisi). Pada Sketch 2.1 di atas kondisi yang digunakan adalah timeDelay <= 0, timeDelay lebih kecil atau sama dengan nol. Artinya, jika timeDelay bernilai 0 atau lebih kecil dari 0, maka blok kode dalam if akan dieksekusi.
Selain operator <=, maka berikut ini adalah beberapa operator yang sering digunakan:
Operator Arti
== Sama dengan
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan
Yap, begitulah cara kerja IF dan beberapa operator yang bisa digunakan untuk memeriksa kondisi dalam IF. Simpel sekali bukan?
Perintah IF - ELSE
Pada dasarnya IF-ELSE merupakan pengembangan dari IF. ELSE berarti kondisi yang tidak sesuai dengan kondisi dalam IF. Dengan kata lain, ELSE artinya “jika tidak”. Coba perhatikan kedua pernyataan berikut:
Pada baris 1 sampai 5, maka Main akan terus dieksekusi. Jika sekarang sama dengan jam 10, maka yang dilakukan adalah Main sambil Makan. Jadi kedua kegiatan atau statemen akan dieksekusi.
Berbeda dengan baris 8 sampai 12, jika jam 10 Makan, jika tidak jam 10, Main. Begitulah logika IF-ELSE.
Berikut ini adalah Sketch 2.2 yang merupakan hasil modifikasi dari Sketch 2.1 dengan tambahan ELSE dan pemindahan proses pengurangan:
Sketch 2.2 Perubahan IF-ELSE
Pada Sketch 2.2, jika timeDelay bernilai lebih kecil sama dengan 100, maka akan LED akan diam selama 3 detik lalu nilai timeDelay akan direset ke 1000, jika tidak maka akan dilakukan pengurangan terhadap timeDelay sebanyak 100. Perhatikan, peroses reset dan pengurangan tidak pernah dilakukan bersama-sama. Silakan dicoba dan cek hasilnya!
TUGAS 3
Buat Rangkaian LED berkedip mengunakan Skecht 2.2 diatas :
Masukkan Nickname yang sudah terdaftar.
Setelah membahas tentang IF dan IF-ELSE, kita akan mebahas tentang While. While merupakan salah satu model perulangan dengan karakteristik tertentu. Untuk lebih jelasnya, silakan lanjut ke pembahasan selanjutnya.
0 komentar