Mengajarkan Computational Thinking dan Coding Pada Anak-Anak

Saya tidak akan menjelaskan panjang lebar apa itu Computational Thinking. Sudah ada banyak materi online, bahkan kursus online dari Google juga ada. Computational Thinking adalah cara berpikir untuk menyelesaikan masalah yang diinspirasi dari cara orang menyelesaikan masalah di ilmu komputer. Computational thinking perlu dipakai untuk membuat program komputer, tapi juga bisa diaplikasikan ke berbagai bidang lain.

Computational thinking bisa dan perlu diajarkan pada orang di berbagai usia, tapi saya hanya akan berfokus pada anak-anak di posting ini.  Mungkin sebagian akan langsung berpikir: anak-anak kok diajari seperti itu, harusnya diajari seni, kreativitas, agama, sopan-santun, dsb. Pencetus istilah computational thinking pernah menyatakan ini:

I FEEL VERY DEEPLY COMMITTED TO THE IDEA that, although rationality isn’t everything, and passion and interests and faith of various sorts count as much–nevertheless, rationality is a force for the good, and the more people that are capable of rational, critical thinking–the better the world will be; the more that have access to knowledge about the rest of the world–the better the world will be.”

–Seymour Papert, Mathematician, Computer Scientist, Educator

Computational thinking menurut saya adalah life skill yang berguna untuk mempermudah hidup. Berbagai pendekatan menyelesaikan masalah dalam computational thinking bisa diaplikasikan dalam kehidupan sehari-hari. Misalnya bagaimana menyusun buku secara terurut, bermain sudoku, bermain catur, merencanakan perjalanan, menyusun jadwal. Bahkan membaca cerita detektif dan misteri akan lebih menyenangkan jika kita memiliki cara berpikir yang logis.

Saat ini ada inisiatif internasional yang bernama Bebras yang memperkenalkan computational thinking kepada pelajar mulai sekitar kelas 3 SD sampai usia SMU. Berbeda dengan olimpiade informatika atau coding challenge yang perlu memprogram, dan olimpiade matematika yang sangat teoretis, tantangan Bebras berada di antara keduanya.

Walaupun saya tidak meminta Jonathan jadi programmer, tapi karena dia melihat saya tiap hari berada di depan komputer, ngoprek segala macam hardware, termasuk membuatkan dia berbagi mainan, dia jadi curious. Jadi pelajaran yang saya berikan pada Jonathan lebih banyak untuk menjawab keingintahuannya. Hal penting bagi saya saat ini adalah: saya tidak ingin memaksakan kemampuan Jonathan dan membebaninya dengan hal yang kompetitif.

Saya memakai layar di kiri, sambil membuka file PDF di layar kanan untuk diketik ulang oleh Jonathan di laptop kecil.

Topik seperti matematika dianggap sulit, tapi sebenarnya bisa dijelaskan pada anak-anak dengan banyak pengalaman sehari-hari. Hal-hal kecil seperti menghitung benda yang kita miliki, menghitung kembalian, dan menghitung waktu bisa diajarkan. Misalnya kita bisa bertanya seperti ini “kira-kira butuh 10 menit untuk pergi ke sana, jadi kita perlu berangkat jam berapa?”. Lanjutkan membaca “Mengajarkan Computational Thinking dan Coding Pada Anak-Anak”

Mengajarkan Basis Bilangan

Salah satu dari materi di pelajaran Language Arts adalah memahami dictionary order (lexicographical order) . Materi ini sangat mudah dimengerti, bahwa AAA muncul sebelum AAB. Beberapa latihan dalam materi ini adalah mempraktikkan mencari kata di kamus dan mengurutkan kata berdasarkan urutan kamus.

Seperti biasa, kadang Jonathan belajar di samping saya yang sedang bekerja di depan komputer. Jadi saya mencoba menguji Jonathan dengan soal sederhana, seperti, jika kita cuma punya 4 huruf dan kita urutkan berdasarkan urutan kamus, maka setelah AAAA, AAAB, AAAC adalah? jawabannya tentunya adalah AAAD. Nah setelah AAAZ berikutnya apa? saya membantu jawab dengan AABA, berikutnya Jonathan sudah tahu bahwa setelah AAZZ berikutnya adalah ABAA. Saya menggunakan Microsoft Word dengan font yang saya perbesar untuk bisa dengan cepat menjelaskan hal seperti ini.

Saya jelaskan juga bahwa sebenarnya cara kita berhitung dalam basis 10 juga seperti itu. Setelah digit terakhir (paling kanan) menjadi 9, maka berikutnya menjadi 0, dan kita menambahkan ke digit sebelumnya. Tadi ada 26 simbol untuk A-Z sedangkan untuk bilangan desimal ada 10 bilangan (0-9). Bagaimana jika kita cuma punya 0 dan 1 (biner). Saya mulai dengan 0000, apa berikutnya? gampang sekali dipahami bahwa ini menjadi 0001. Jonathan perlu berpikir sedikit untuk mengingat bahwa digit “2” tidak ada, jadi 1 kembali menjadi 0, dan digit berikutnya dinaikkan, hasilnya 0010. Berikutnya lagi kita tambah satu lagi menjadi 0011.

Sekarang saya memberi label desimal di sebelah kiri urutannya:

0 0000
1 0001
2 0010
3 0011

Dengan melihat tabel ini bisa dilihat bahwa 3 desimal sama dengan 0011 dalam biner. Saya bisa saja menjelaskan lebih lanjut mengenai cara singkat konversi dari biner ke desimal, tapi karena saya hanya menyisipkan materi di language arts maka tidak saya teruskan.

Sebenarnya masalah berhitung biner ini sudah pernah dibaca Jonathan, salah satunya dari buku Lift-The-Flap Computers and Coding.

Seperti kebanyakan buku, yang diajarkan biasanya lebih ke cara cepat konversi biner ke desimal, dan bukan mengapa cara berhitungnya seperti itu. Lanjutkan membaca “Mengajarkan Basis Bilangan”

Seri Buku Micro Adventure

Ini cuma kisah singkat mengenai seri buku cerita yang saat ini mulai disukai Jonathan: Micro Adventure. Seri ini diterbitkan di tahun 1980-an  oleh Scholastic dan cukup terkenal pada masanya.  Satu hal yang menarik dari buku-buku ini adalah: di dalamnya ada program dalam bahasa BASIC yang bisa diketikkan dan merupakan bagian dari cerita.

Jonathan sedang menyalin kode dari buku ke QBasic di Dosbox
Jonathan sedang menyalink kode dari buku ke QBasic di Dosbox

Buku pertama yang selesai dibaca Jonathan adalah Space Attack, buku ini terbit tahun 1984.

Di awal cerita buku pertama ada pesan rahasia yang harus didekrip. Sebenarnya bisa didekrip manual (caesar cipher), tapi lebih menarik jika didekrip dengan program. Lanjutkan membaca “Seri Buku Micro Adventure”

Review Osmo

Di tulisan ini saya akan mereview Osmo, sebuah mainan edukasi berbasis augmented reality untuk iPad. Dengan osmo, kita bisa bermain matematika, huruf (spelling), tangram, coding, dan menggambar dengan benda fisik di depan iPad kita (tidak dengan menyentuh layar). Osmo ditujukan untuk anak usia 4-11 tahun, tapi bagian menggambarnya cocok untuk usia berapa saja.

Untuk bermain Osmo kita perlu membeli kit, bagian utamanya adalah sebuah docking dan cermin yang ditempel menutupi kamera iPad. Sebagian sistem cermin ini akan menutupi ujung kamera dengan warna merah, jadi game osmo bisa mendeteksi kalau cermin sudah terpasang benar. Saya membeli kit yang saat itu paling lengkap: Wonder Kit (145 USD). Kami membeli kit ini dua minggu lalu dan sampai minggu lalu, jadi sudah beberapa hari dipakai sebelum review ini dituliskan.

Material dan Packaging

Packaging Osmo menurut saya sangat baik. Tiap kotak memiliki magnet jadi bisa distacking dengan mudah dan tidak akan jatuh. Base untuk iPad dan cerminnya terbuat dari plastik, dan ada magnet supaya kita bisa meletakkan cerminnya di atas base dan tidak jatuh ketika kita tidak memakainya.

20161025_082743

Secara teori, bagian words, tangram dan number bisa kita print sendiri karena tidak memiliki bagian aneh (hanya seperti di cetak di kertas/plastik tebal saja). Bagian coding cukup unik karena bagian arah panahnya bisa diputar dan sifatnya magnetik (bagian yang bisa disambung akan mudah menempel)

Akurasi

Satu hal yang saya takutkan adalah jika ternyata Osmo ini tidak bisa mengenali dengan baik objek-objek yang ada di depan iPad. Ternyata akurasinya sangat baik asalkan objeknya tidak tertutupi tangan. Menurut saya akurasi ini bisa dicapai karena beberapa hal:

  • Osmo hanya mendukung iPad, yang dimensinya sudah diketahui dengan eksak
  • Set angka dan huruf standar
  • Posisi iPad statik (pada banyak mainan augmented reality berbasis kamera, gambar kadang hilang dan muncul lagi karena posisi kamera berubah)

Saya juga bereksperimen: saya memfoto satu huruf dan berusaha meletakkan fotonya di depan Osmo. Jika ukurannya tidak pas, Osmo tidak akan mengenali huruf tersebut, jika pas (dengan zoom in/out) maka Osmo akan mengenalinya. Dari percobaan ini artinya:

  • Jika ada bagian yang hilang, kita bisa mencetak ulang (kecuali coding, karena ada panah yang bisa diputar)
  • Jika ada game baru yang tidak membutuhkan alat khusus, kita bisa mencetak sendiri kitnya

20161022_101613

Permainan

Saat ini sudah ada beberapa permainan untuk Osmo dan sepertinya akan terus bertambah. Bahkan ketika saya sudah membeli kit paling lengkap dua minggu lalu, tiba-tiba minggu depannya sudah ada game baru lagi (Pizza).

Numbers

Jonathan belum terlalu memainkan ini, game-game di awal hanya berusaha membentuk angka untuk mencapai jumlah tertentu (dan ini sudah bisa dilakukan oleh Jonathan). Belum dieksplorasi lebih jauh apakah ada bentuk permainan lain selain itu.

Coding

Ini game pertama yang dicoba Jonathan dan yang paling disukai Jonathan. Konsep codingnya sendiri hanya terbatas pada: sekuens instruksi, loop, dan ada satu “else”. Tapi game ini cukup fun.

20161021_143527.jpg

Tangram

Game ini seperti bermain tangram biasa, tapi akan dipandu agar kita bisa membuat objeknya dengan benar.

Monster

Game ini gabungan dari menggambar dan cerita. Sebuah monster akan minta dibuatkan sebuah objek tertentu (misalnya magic wand), dan monster itu akan “mengambil” benda yang kita gambar dan memainkannya. Game ini cukup menghibur, tapi kemungkinan anak akan bosan setelah beberapa kali memainkan ini.

Masterpiece

Sebenarnya ini permainan tracing yang sangat sederhana: program hanya akan menampilkan outline sebuah gambar, dan kita bisa mentrace di atas kertas kita sendiri. Meski sederhana, ini sangat fun, bahkan orang dewasa pun bisa belajar menggambar menggunakan ini

20161023_164912

Newton

Sebenarnya permainan ini sangat silly, ada benda-benda yang berjatuhan yang harus kita arahkan jatuhnya agar mencapai target tertentu. Unuk menahan jatuhnya, kita bisa menggambar garis di atas kertas, atau bahkan menggunakan objek apapun juga.

Teknis

Osmo dibuat menggunakan Unity dan menggunakan plugin OpenCV. Secara teknis game ini tidak sulit ditiru, yang sulit adalah membuat cermin reflektor dan basenya agar iPad bisa “melihat” ke depan dengan baik. Berikut ini “penglihatan” osmo ketika saya letakkan kertas ukuran A4 di depan iPad denga jarak sekitar 1 cm dari ipad. Terlihat bahwa kertas terlihat seperti trapesium. Di bagian bawah ada bagian merah yang digunakan oleh Osmo untuk mendeteksi bahwa kamera sudah terpasang.

 

 

img_0933

Penutup

Osmo ini menurut kami agak mahal, tapi cukup menarik dan sepertinya tidak akan cepat bosan. Teorinya sih game seperti ini bisa saja dibuat sendiri dengan Raspberry Pi + modul kamera + OpenCV + Layar monitor, kenyataannya saya tidak akan serajin itu dan tidak punya waktu sebanyak itu saat ini, jadi menurut saya sih ini worth the money. Kalau Anda rajin, Anda juga bisa mengembangkan sendiri aplikasi iPad berbasis Osmo (tentunya semua harus didevelop sendiri karena tidak ada SDK-nya).

Jika Anda tertarik membeli Osmo, Anda bisa langsung memesan ke webnya. Sayangnya sepertinya saat ini tidak bisa dikirimkan ke Indonesia. Saya sendiri saat ini tinggal di Thailand dan bisa dikirim ke sini (walau kena pajak). Ketika memesan Osmo, saya bisa menggunakan kartu kredit Indonesia, jadi salah satu cara untuk membeli ini adalah dengan mengirimkan barangnya ke teman di Singapore atau Malaysia.