Perbedaan Snap! dan Scratch
Oleh Samuel Wirajaya (website)
Saat ini, banyak orang tua di Indonesia mencari cara terbaik untuk memperkenalkan anak-anak mereka ke dunia teknologi. Salah satu pilihan yang populer adalah belajar coding untuk anak adalah bahasa pemrograman Scratch. Maka Anda mungkin bertanya-tanya mengapa kami mengajarkan Snap! di akademi coding kami.
Snap!1 adalah bahasa pemrograman anak sebagai alternatif dari Scratch, dan juga merupakan sebuah platform di mana anak-anak dapat belajar konsep dasar ilmu komputer dengan cara yang menyenangkan.
Walaupun Scratch2 masih merupakan pilihan yang sangat populer bagi banyak pendidik karena kelebihannya dalam hal kemudahan, keberadaan komunitas yang sangat besar, dan pustaka library yang sangat luas, kami memilih untuk menerapkan Snap! karena Snap! menyediakan dasar yang lebih komprehensif dalam prinsip-prinsip ilmu komputer, terutama di bidang struktur data dan pemrograman berparadigma fungsional atau functional programming.
Kenapa bukan Scratch?
Tim kami merasa bahwa penekanan Scratch pada pengembangan permainan dan cerita, meskipun menarik bagi siswa yang lebih muda, mungkin tidak menyediakan kedalaman pemikiran komputasional dan kemampuan berpikir yang dibutuhkan demi kesuksesan di tengah lanskap teknologi yang semakin kompleks. Dengan memulai dengan Snap!, kami dapat memastikan bahwa siswa kami memperoleh fondasi yang kokoh mengenai dasar-dasar pemrograman sebelum menjelajahi topik-topik dan bahasa-bahasa pemrograman yang lebih maju. Kami percaya bahwa di masa depan, hal ini akan menyiapkan mereka untuk sukses di berbagai bidang STEM.
Tentang Snap!
Snap! (sebelumnya dikenal sebagai Bring Your Own Blocks atau BYOB) adalah bahasa pemrograman visual yang dirancang untuk memperkenalkan anak-anak kepada konsep-konsep dasar ilmu komputer.1 Meskipun Scratch telah terbukti populer dan luas digunakan, pada kesempatan ini saya ingin menyoroti beberapa fitur yang membuat Snap! lebih menarik bagi pendidikan ilmu komputer.
Snap! dirancang dengan fokus yang kuat pada mengajar konsep-konsep dasar ilmu komputer. Karena itu, terdapat pula kurikulum berstandar internasional yang menggunakan Snap! sebagai platform pembelajaran siswa. Contohnya adalah Beauty and Joy of Computing yang mencakup materi AP Computer Science Principles.3
Perbandingan Scratch vs Snap!
Keunggulan Scratch adalah komunitas pengguna Scratch yang sangat besar. Pada saat ditulisnya artikel ini, terdapat lebih dari 160 juta proyek Scratch yang terhitung di statistik komunitas Scratch.4 Maka tidak bisa dipungkiri lagi bahwa Scratch unggul dalam hal dukungan komunitas anak-anak dan orang tua, dan aneka ragamnya pustaka library yang juga berasal dari komunitas Scratch yang demikian besarnya.
Namun, alasan akademi kami memilih Snap! adalah:
- Perhatian yang lebih besar pada prinsip-prinsip pemrograman. Desain bahasa Snap! menekankan konsep-konsep pemrograman yang lazim digunakan, seperti fungsi, variabel global dan lokal, serta struktur data. Kesesuaian dengan pemikiran komputasional ini membantu siswa mengembangkan pemahaman yang lebih dalam tentang bagaimana bekerjanya program-program komputer di dunia nyata.
- Sintaks berbasis blok yang bukan hanya “blok”. Berbeda dengan Scratch, Snap! tidak hanya mengimplementasikan struktur tradisional bergaya C atau Java. Bahasa Snap! juga mendukung list, fungsi rekursif, dan utak-atik lambda (lambda calculus).5 Fitur-fitur ini dapat digunakan untuk memperkenalkan siswa dengan paradigma pemrograman fungsional (functional programming) yang menurut pengamatan penulis, menjadi paradigma yang semakin mainstream di abad ke-21 ini.6
- Interoperabilitas dengan JavaScript dan bahasa lainnya. Snap! dilengkapi dengan fitur kodifikasi atau codification.5 Dengan fitur ini, kode Snap! dapat ditransformasikan secara otomatis menjadi JavaScript, Python, dan bahasa lainnya; memungkinkan siswa melihat hubungan langsung antara pemrograman berbasis blok dan berbasis teks. Fitur ini mempersiapkan siswa untuk menjelajahi topik-topik yang lebih maju, seperti misalnya pengembangan aplikasi Web.
- Kompatibilitas dengan Scratch. Siapa bilang kalau kita harus meninggalkan Scratch demi menggunakan Snap!? Dengan adanya aplikasi Snapinator kita bisa mengimpor proyek lama Scratch kita ke dalam Snap!
Kesimpulan
Meskipun Scratch memiliki kekuatan-kekuatannya sendiri, perhatian Snap! pada pemikiran komputasional membuatnya sebuah platform bahasa pemrograman anak yang lebih komprehensif untuk pendidikan ilmu komputer di abad ke-21. Oleh karena itu, Acutis Academy telah memutuskan untuk memilih Snap! dalam kurikulum kami.
Di Acutis Academy, kelas Snap! tersedia untuk anak SD kelas 4-6, dan untuk SMP kelas 7-9. Daftarkan anak Anda sekarang di Acutis Academy di dan biarkan mereka menjelajahi dunia coding dengan menyenangkan menggunakan Snap!
-
https://snap.berkeley.edu/ Mönig, J. et al. Snap! ↩︎ ↩︎
-
https://scratch.mit.edu/ MIT Media Lab. Scratch. ↩︎
-
https://bjc.edc.org/ Education Development Center, Inc. Beauty and Joy of Computing ↩︎
-
https://scratch.mit.edu/statistics/ Community Statistics. in Scratch. ↩︎
-
https://snap.berkeley.edu/snap/help/SnapManual.pdf Mönig, J. et al. Snap! Reference Manual ↩︎ ↩︎
-
https://spectrum.ieee.org/functional-programming Scalfani, C. “Why Functional Programming Should Be The Future of Software Development.” In IEEE Spectrum. ↩︎