Scratch hari ke-3: Genap/ganjil?

Kemarin (Selasa, 22/6), Yudhis masuk hari ke-3 belajar logika dan pemrograman menggunakan Scratch.

Pada hari kedua yang lalu, Yudhis belajar mengupload proyek pertamanya dan kemudian menghabiskan waktu untuk mengeksplorasi proyek-proyek yang ada di Scratch Community. Kalau ada yang disukainya, dia download dan dia lihat script-nya untuk mencoba memahami scriptnya. Kemudian, dia coba-coba ubah script-nya dan memperhatikan efeknya.

Dalam dunia industri, istilah keren untuk proses semacam itu adalahh “reverse engineering”. Ambil produk jadi, terus dibongkar untuk melihat teknologi/cara kerja dan memperkirakan teknik produksinya.

**

Kemarin ini, Yudhis minta soal kepadaku untuk pemrograman dengan Scratch. Aku kemudian memberikan soal begini kepadanya:

“Buat program yang menggerakkan benda. Awalnya bendanya ada di tengah. Kemudian kalau usernya memencet tombol kanan, dia bergerak ke kanan; kalau memencet tombol ke kiri dia bergerak ke kiri, begitu juga kalau user menekan tombol atas atau bawah. Kalau sampai di batas (dinding), dia harus berhenti, tidak boleh terus.”

“Oke.. aku ngerti pak. Kayaknya aku bisa,” kata Yudhis sambil langsung lari ke komputer.

“Bagaimana Dhis?” tanyaku tak berapa lama kemudian.
“Beres pak. Aku pakai gambar yang sudah aku buat ya?”
“Gambarnya terserah kamu aja…”

Sekitar 10 menit, Yudhis sudah kembali lagi.
“Sudah pak. Aku sudah bikin…”
“Wah… cepat amat Dhis…”

He..he… bener lho… Yudhis sudah selesai dengan program kelelawar yang bisa bergerak sesuai arah panah yang ditekan oleh user.

“Bagus, Dhis. Hebat…!,” aku tepuk-tepuk bahunya dengan bahagia.

Scratch Project

**

“Apa lagi pak?” tanya Yudhis menantang.
“Oke nanti Bapak pikirkan,” jawabku. “Bagaimana kalau kamu membuat program yang mengetes apakah apakah bilangan yang dimasukkan ganjil atau genap?”

“Hmm….,” kata Yudhis sambil berpikir. “Tapi gimana caranya ya?”

“Bilangan itu disebut genap atau ganjil kalau bagaimana?”
“Dilihat angka belakangnya,” kata Yudhis.

“Angka belakangnya bagaimana?”
“1, 3, 5, 7, 9”

“Cara lain mengetahui ganjil/genap bagaimana? Kalau dibagi 2 bagaimana?” aku mencoba memberikan cara lain.
“Kalau genap habis, kalau ganjil ada sisanya,” jawab Yudhis.

“Nah.. coba kamu pakai cara itu. User diminta memasukkan angka, kemudian angkanya dibagi 2. Kalau habis berarti genap, kalau ada sisanya berarti ganjil.”

Lalu mulailah Yudhis mengeksplorasi Scratch. Mula-mula dia kesulitan, tapi sedikit demi sedikit mulai menemukan cara. Aku menemani Yudhis sambil ikut mencoba-coba bersamanya. Jadilah aku dan Yudhis belajar bersama menyelesaikan tantangan “genap/ganjil” itu.

Setelah mencoba bersama-sama, kemudian kami menemukan operator “mod” yang fungsinya adalah mencari sisa hasil pembagian. Misalnya: 8 mod 2 hasilnya 0, 9 mod 2 hasilnya 1. Langsung jadilah program “Genap/ganjil” Yudhis.

Aku kemudian memberikan soal tambahan kepada Yudhis untuk menyempurnakan programnya; “programnya harus jalan terus sampai user minta keluar”.

Cukup lama Yudhis berkutat dengan soal tambahan ini sebelum akhirnya dia menemukan cara penyelesaiannya. Setelah program utamanya selesai, kemudian Yudhis mulai menghiasinya dengan gambar.

Scratch Project
**

Program ke-2 dan ke-3 itu kemudian diupload Yudhis ke Scratch Community. Begitulah kegiatan Yudhis belajar logika dan pemrograman dengan Scratch di hari ke-3.

1 thought on “Scratch hari ke-3: Genap/ganjil?”

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.