9. Eksperimen dengan Pengambilan Keputusan

9. Eksperimen dengan Pengambilan Keputusan

Bab ini akan membahas secara details penggunaan blok if dan if/else untuk melakukan pengambilan keputusan dan sekaligus memperkenalkan sejumlah operator yang digunakan pada perintah pengambilan keputusan.

  9.1 Ekspresi Boolean 

Ekspresi boolean adalah segala ekspresi yang menghasilkan nilai true atau false Eksprvsi seperti sangat penting di dalam pengarnbilan keputusan yang mengharusk untuk menganlbil salah satu tindakan berdasarkan dua kemungkinan.

Ekspresi boolean dapat berupa ekspresi pembandingan ataupun ekspresi logika Kedua ekspresi inilah yang dibahas di awal bab ini sebelum membicarakan perintah perintah yang digunakan untuk tnelakukan pengambilan keputusan.

9.2 Ekspresi Pembandingan 

ArduBlock menyediakan sejumlah blok yang digunakan untuk menanganj ekspresi pembandingan, baik untuk bilangan maupun tipe karakter dan digital. pada Tabel 9.1 mencantumkan keseluruhan blok untuk keperluan itu, yang terletak di laci

Tabel 9.1 Ekspresi pembandingan

9.3 Ekspresi Logika

Ekspresi logika dikenakan pada ekspresi boolean untuk melaksanakan suatu operasi yang hasilnya berupa true atau false. ArduBlock menyediakan tiga blok untuk menangani hal ini, yakni berupa:

Ketiga blok ini terdapat pada laci Tests Blokand dan or memerlukan dua operand. Hasil operasi dengan and berupa true kalau kedua operand bernilai true, sedangkan hasil operasi dengan or berupa true kalau terdapat operand yang bernilai true. Tabel 9.2 memberikan detail kemungkinan nilai pada operand dan hasil untuk operasi dengan and dan or.

Tabel 9.2 Tabel kebenaran untuk and dan or

Blok not hanya melibatkan satu operand. Nilai baliknya berupa true sekiranya argumennya bernilai false. Sebaliknya, nilai baliknya berupa false kalau argumennya bernilai true. Contoh penggunaan not dapat dilihat pada Sub bab 7.3.

9.4 Blok if 

Blok if, yang terdapat di laci berguna untuk melakukan pengambilan keputusan. Bentuknya seperti berikut:

Slot test berisi ekspresi boolean dan slot then berisi perintah-perintah yang akan dijalankan sekiranya ekspresi boolean pada slot test bernilai true.

Untuk mempraktikkan if, silakan untuk menyusun rangkaian seperti yang tercanturn pada Gambar 9.1. Dengan menggunakan rangkaian ini, LED dapat dihidupkan dengan mengetikkan 1 pada Serial Monitor. Untuk mematikan LED, maka angka 0 perlu dimasukkan dari Serial Monitor.

Gambar 9.1 Rangkaian pengendalian LED melalui data dari Serial Monitor

Untuk mengendalikan LED tersebut, proyek baru bernama led Seria1. abp perlu I dibuat terlebih dahulu. Kemudian, susunlah blok seperti terlihat pada Gambar 9.2.

Gambar 9.2 Blok untuk mengendalikan LED melalui perintah dari Serial Monitor

Pada proyek inii pemeriksaan terhadap keberadaan data yang berasal dari Serial Monitor dilakukan melalui:

Sebagaimana diketahui, blok serial data available memberikan nilai yang menyatakan jumlah byte data di port serial yang belum dibaca. Dengan demikian,

Ekpresi menghasilkan true kalua terdapat data di port serial yang belum dibaca.

Blok berikut digunakan untuk membaca satu karakter yang berada di port serial:

Hasilnya diletakkan di variabel bernama karakter. Selanjutnya, karakter yang tersimpan di variabel karakter diperiksa. Pemeriksaan yang pertama ditangani dengan:

Blok inilah yang membuat pin 3 dibuat HIGH, kalau isi karakter berupa 1. Adapun blok yang digunakan untuk mematikan LED:

Gambar 9.3 menunjukkan setelah angka 1 diketik pada Serial Monitor. Setel tombol Send diklik, LED pun akan menyala.

Gambar 9.3 Angka 1 diketikkan pada Serial Monitor

9.5 Blok if/else 

Blok if/else berguna untuk menjalankan suatu perintah sekiranya suatu kondis bernilai true. Sebaliknya, pada saat kondisi tersebut bernilai false, maka perintah lain dijalankan. Bentuknya seperti berikut:

Blok ini pun terletak di laci Persoalan menghidupkan atau mematikan LED yang dibahas Subbab 9.4 dapat ditangani dengan menggunakan if/else, Untuk keperluan ini, proyek baru bernama ledSeria12. abp perlu dibuat terlebih dahulu. Kemudian, susunlah blok sepert terlihat pada Gambar 9.4.

Gambar 9.4 Blok untuk mengendalikan LED dengan menggunakan blok if / eIse

Secara prinsip, hasil yang diperoleh dari proyek ledSeria1. abp maupun edSeria12. abp sama saja. Hal yang membedakan, kalau if/else tidak digunakan, ungkapan tetap diperiksa walaupun ungkapan  bernilai true. Kalau if/else digunakan, maka ungkapan tidak akan diperiksa lagi sekiranya ungkapan  bernilai true.

9.6 Penggunaan Sensor Sentuh

Sensor sentuh adalah sensor yang berfungsi sebagai saklar jari tangan menyentuh bagian sensor. Gambar 9.5 akan memperlihatkan contoh modul saklar sentuh. Bagian yang bergambar lingkaran menyatakan bagian yang perlu disentuh dengan jari tangan.

 

Gambar 9.5 Modul saklar sentuh keluaran YwRobot

Sensor sentuh ini memiliki tiga pin, dengan fungsi masing-masing sebagai berikut:

  • SIG:Pin ini menghasilkan nilai digital berupa LoWatau HIGH.NilaiHIGH menyatakn sensor disentuh dan HIGH menyatakan sensor tidak disentuh.
  • VCC:Pin ini hubungkan ke tegangan 3,3V hingga 5V.
  • GND:Pin ini dihubungkan ke ground.

Jika Anda menggunakan modul sensor sentuh keluaran vendor lain, barangkali susunan pin berbeda. Begitu juga untuk makna untuk HIGH atau LOW.

Gambar 9.6 memperlihatkan contoh untuk menguji sensor sentuh. Resistor 220n dan LED akan digunakan kemudian.

Gambar 9.6 Rangkaian untuk menguji sensor sentuh

ArduBlock menyediakan blok berikut untuk menangani sensor sentuh:

Blok ini terdapat di laci .Namun, sebenarnya, blok ini dapat

digantikan dengan

Untuk mempraktikkannya, silakan untuk membuat proyek baru bernama sentuh. abp. Lalu, susunlah blok seperti terlihat pada Gambar 9.7.

Gambar 9.7 Blok untuk menguji sensor sentuh

Pada proyek ini, mula-mula variabel bertipe digital bernama statusSensor diisi dengan nilai dari blok Touch Sensor. Kemudian, isi variabel ini ditampilkan di Serial Monitor.

Contoh hasil pengujian sensor sentuh ditunjukkan pada Gambar 9.8. Angka 1 menyatakan keadaan ketika sensor tidak disentuh dan 0 menyatakan keadaan ketika sensor disentuh.

Gambar 9.8 Hasil pengujian sensor sentuh

Nah, sekarang akan dibahas cara menjadikan sensor sentuh yang dapat digunakan untuk mematikan atau menyalakan LED secara bergantian ketika sensor disentuh.

Untuk mempraktikkannya, silakan untuk membuat proyek baru bernama sentuh2 abr. Lalu susunlah blok seperti terlihat pada Gambar 9.9.

Gambar 9.9 Blok untuk mengendalikan LED dengan sentuhan jari tangan

Pada proyek ini, mula-mula variabel bertipe digital bernama statusSensor diisi dengan nilai dari blok Touch Sensor. Kemudian, isi variabel ini diperiksa melalui if, Kalau nilainya berupa konstanta FALSE (yang berarti sensor disentuh), nilai logika variabel statusLED dibalik. Kalau semula statusLED bernilai true, nilainya diubah menjadi false. Sebaliknya, kalau semula statusLED bernilai false, maka nilainya berubah menjadi true. Kemudian, nilai di pin 5 diatur sesuai dengan nilai statusLED. Blok delay digunakan untuk menunda pengujian berikutnya setelah 2 detik.

 

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.