## Scratch

## Pemrograman Visual untuk Semuanya
Seng Hansun
Program Studi Teknik Informatika, Universitas Multimedia Nusantara, Tangerang, Indonesia hansun@umn.ac.id
Diterima 31 Mei 2014
Disetujui 16 Juni 2014
Abstract —In this modern era, the need to have a more tinkerable, more meaningful, and more social programming language has arisen. One of the programming environments that catch up with this issue is Scratch.
In this paper, the author tries to explain Scratch as a visual programming language, its’ basic concepts, and its’ implementations. As an example, one interactive game that has been built using Scratch is shown at the end of this paper.
Index terms — game, Scratch, visual programming

## I. P endahuluan
Scratch merupakan suatu bahasa pemrograman baru yang memudahkan Anda dalam membuat cerita interaktif, game interaktif, dan animasi, serta membagikan karya kreasi Anda kepada orang lainnya melalui sarana internet [1]. Scratch membantu anak- anak muda untuk berpikir secara kreatif, menalar secara sistematis, dan bekerja secara kolaboratif, yang merupakan keahlian mendasar yang dibutuhkan oleh semua orang saat ini.
Scratch didesain dengan tujuan pembelajaran dan pemahaman. Beragam pendidik telah bergabung dan mendukung pengembangan Scratch sejak 2007, baik dalam lingkungan formal maupun non formal, seperti K-12 classroom teachers , peneliti Ilmu Komputer, pustakawan, pendidik sejarah museum, dan para orang tua [2]. Para pendidik ini tergabung dalam sebuah komunitas online yang disebut sebagai ScratchEd, yang diluncurkan pada Juli 2009, dan menjadi tempat berbagi kisah pengalaman, pertukaran sumber data dan pertanyaan, serta mencari orang. Semua orang dapat bergabung dalam komunitas online tersebut secara gratis melalui tautan http://scratched.media. mit.edu/ [3].
Dalam disertasinya, Brennan [4] menyatakan bahwa dewasa ini kita hidup dalam budaya komputasional, yakni suatu budaya dimana manusia dikelilingi oleh sistem-sistem dan antarmuka komputasional, mulai dari jejaring sosial hingga infrastruktur perbankan, industri hiburan, dan sistem
transportasi. Beliau menggunakan pendekatan kualitatif untuk menelusuri pembelajaran dalam budaya komputasional, mempelajari bagaimana lingkungan bahasa pemrograman Scratch dan komunitas online -nya dapat diterapkan guna mendukung proses pembelajaran baik di dalam maupun di luar sekolah. Dalam penutup disertasinya, beliau meninjau kesempatan dan tantangan yang akan dihadapi oleh anak muda dan para pendidik dalam tiga perspektif, yakni sebagai seorang peneliti, seorang desainer, dan seorang pembelajar, yang mengarah pada kesimpulan pentingnya penerapan Scratch dalam budaya komputasional dewasa ini.
Pada makalah ini akan dijabarkan secara singkat seluk beluk Scratch sebagai bahasa pemrograman visual , pemanfaatan dan cara penerapannya. Selain itu, salah satu contoh permainan interaktif Ping Pong yang dikembangkan oleh kingminer29 – salah seorang Scratcher, istilah yang umum digunakan untuk merujuk pada programmer Scratch – juga ditampilkan di sini.
II. s cratch
Scratch merupakan bahasa pemrograman visual yang dikembangkan oleh Lifelong Kindergarten research group di MIT Media Lab [5]. Pengembangan Scratch didukung oleh pendanaan dari National Science Foundation, Microsoft, Intel Foundation, Nokia, dan MIT Media Lab research consortia [1]. Pada bab ini, akan dijelaskan perkembangan Scratch selama ini, antarmuka, dan blok pembangunan Scratch sebagai pengenalan dalam Scratch programming .
A. Perkembangan Scratch
Pengembangan Scratch dimulai sejak tahun 2003 yang dikepalai oleh Mitch Resnick, dan telah melalui beberapa versi perkembangan, sebagai berikut [6, 7].
1.  Scratch 1.0
Dirilis pada 8 Januari 2007 dan merupakan versi Scratch pertama yang tersedia untuk umum. Beberapa perubahan dari versi beta meliputi block Next Costume, Next Background, Think(),

## ISSN 2085-4579
Think() for () Secs, Stop All Sounds, Forever If(); tombol baru untuk membuat sprites , kemampuan untuk berbagi projects secara online , perubahan ekstensi file dari .scratch menjadi .sb, dukungan beberapa bahasa, tombol Enter sebagai shortcut untuk Green Flag, dan kemampuan Import project .
2.  Scratch 1.1
Dirilis secara resmi pada Mei 2007, dengan penambahan fitur baru berupa installer Windows yang baru, block Repeat Until (), bentuk Cap Block diperkenalkan, satu sprite dapat memainkan beberapa notes sekaligus, menambahkan tags untuk projects yang di- sharing , dan sebagainya.
3.  Scratch 1.2
Merupakan rilis terakhir untuk Windows 98 dan ME, yang dirilis pada 7 Desember 2007. Beberapa  fitur  baru  yang  diperkenalkan  adalah block Rest for () beats, kompresi gambar yang lebih baik, perbaikan beberapa sample projects , dan perubahan antarmuka di Paint Editor.
4.  Scratch 1.3
Dirilis pada 2 September 2008, dengan beberapa  fitur  baru  seperti  Variables  dapat menangani strings , Lists, Comments, penggunaan fonts dari komputer user , dan block If () Then, Repeat, Forever secara otomatis melingkupi block stacks lainnya.
5.  Scratch 1.4
Dirilis secara resmi pada 19 Juli 2009, dengan  fitur-fitur  tambahan  seperti blocks baru untuk penanganan string , block Ask () and Wait, block () Contains (), pemanfaatan webcam untuk mengambil gambar, dan sebagainya.
6.  Scratch 2.0
Scratch 2.0 dikembangkan selama beberapa tahun hingga versi beta -nya diperkenalkan pada 28 Januari 2013. Versi resminya dirilis pada 9 Mei  2013,  dengan  beberapa  fitur  baru  seperti UI yang baru, Procedures, Cloning, Cloud data, Vector graphics, Sound editor, dan sebagainya.
Sejak diperkenalkan kepada umum pada 2007, terdapat 5.619.530 projects yang telah dibagikan, 3.387.470 user yang teregister, 27.229.307 komentar yang di- post , dan 440.857 studios yang dibangun [8]. Grafik  1  dan  2  menunjukkan  statistik  aktivitas user sebagaimana yang direkam dalam situs resmi Scratch, yang memperlihatkan jumlah projects , users , dan komentar yang diberikan.
Sementara itu, dari gambar 3 terlihat bahwa distribusi umur Scratcher baru paling banyak berasal dari anak-anak remaja dengan rentang usia 10-20 tahun. Hal ini memperlihatkan bahwa Scratch berhasil menarik minat para anak remaja untuk mempelajari bahasa pemrograman ini. Distribusi penyebaran Scratchers di dunia secara luas juga diperlihatkan pada Gambar 4 dengan intensitas jumlahnya masing- masing.
Gambar 1. Tren aktivitas situs Scratch [8]
Gambar 2. User aktif [8]
Gambar 3. Distribusi umur Scratchers baru [8]

## Gambar 4. Distribusi Scratchers dunia [8]

## B. Antarmuka Scratch
Sebelum mempelajari Scratch, perlu diketahui antarmuka bahasa pemrograman visual Scratch terlebih dahulu. Beberapa hal yang perlu diketahui, antara lain [9]:
1.  Stage
2.  New Sprites
3.  Sprite List
4.  Blocks Palette dan Scripts Area
5.  Costumes
6.  Sounds
7.  Current Sprite Info
8.  Rotation Style
9.  Toolbar
10.  Menu
11.  Green Flag
12.  Paint Editor
Gambar 5 di bawah memperlihatkan antarmuka Scratch beserta komponen-komponennya seperti yang disebutkan di atas. Sementara gambar 6 memper- lihatkan antarmuka Paint Editor Scratch yang dapat dimanfaatkan untuk mengubah costumes dan backgrounds yang digunakan dalam project Scratch.
Gambar 5. Antarmuka lingkungan Scratch [9]

## ISSN 2085-4579
Gambar 6. Antarmuka Paint Editor untuk membuat atau meng- edit costumes dan backgrounds [9]
C. Scratch Blocks
Scratch blocks diorganisasi ke dalam delapan kategori warna berbeda, yakni Motion, Looks, Sound, Pen, Control, Sensing, Operators, dan Variables [9].

## Gambar 7. Kategori Blocks

## 1.  Motion
Block motion berisikan blok-blok yang dapat digunakan untuk menggerakkan sprites dalam project user . Selain itu, terdapat motor blocks yang dapat ditampilkan jika opsi ‘Show Motor Blocks’ dalam menu Edit dipilih.
2.  Looks
Block ini dapat digunakan untuk mengganti costume sprites , background stage , ukuran sprite , dan sebagainya.
3.  Sound
Blok-blok yang mengatur penggunaan efek suara dapat ditemukan dalam sound block ini.
4.  Pen Mengatur penggunaan pen dan stamps di project .
5.  Control
Blok ini berisikan sejumlah blok utama script agar dijalankan dan blok struktur kendali.
6.  Sensing
Terkait hal-hal yang dapat dikerjakan sprites .

## ISSN 2085-4579
7.  Operators
Berisi berbagai operator aritmatika yang dapat digunakan dalam project .
8.  Variables
Berisi blok-blok yang dapat digunakan untuk membuat variabel dan list , maupun menghapusnya.
III. P ing P ong g ame
Sebagaimana yang telah dijelaskan dalam bab Pendahuluan, Scratch dapat digunakan untuk membuat game interaktif. Menurut Sadigh [10], terdapat lima elemen utama dari suatu permainan komputer, yakni graphics (grafik), sound (suara), interface (antarmuka), gameplay (alur permainan), dan story (kisah). Scratch dengan grafik 2D dan efek suara yang didukungnya, antarmuka yang interaktif, serta gameplay dan story yang dapat dengan mudah diatur oleh programmer -nya menggunakan blok-blok yang disediakan, dapat menjawab seluruh kebutuhan elemen dalam permainan komputer tersebut.
Berikut disajikan salah satu contoh permainan interaktif populer, yakni Ping Pong game , yang dibuat dengan menggunakan Scratch. Permainan ini dibuat oleh salah seorang Scratcher dengan nama alias kingminer29, dan dapat dimainkan secara langsung melalui tautan http://scratch.mit.edu/projects/ 22791282/?fromexplore=true [11].
Gambar 8. Laman awal permainan ping pong
Gambar 9. Permainan ping pong antara dua pemain Gambar 10. Bola ping pong memantul sepanjang dinding meja permainan Gambar 11. Permainan berakhir saat salah seorang pemain memperoleh skor 5 Selain permainan interaktif, Scratch juga dapat digunakan untuk membuat beragam aplikasi lainnya, seperti animasi, seni, musik, cerita, dan sebagainya.
Kumpulan projects yang telah dihasilkan dapat dilihat pada situs resmi Scratch secara langsung [12].
IV. s imPulan
Scratch sebagai bahasa pemrograman visual yang populer  menawarkan  sejumlah  kemudahan  dan  fitur yang menarik bagi para pemula dalam mempelajari cara pemrograman. Bahkan sejumlah sekolah menengah atas dan universitas (termasuk Harvard dan University of California, Berkeley) juga telah menggunakan Scratch sebagai langkah pertama dalam memperkenalkan konsep pemrograman kepada para peserta didiknya [13].
Dalam makalah ini, sejarah perkembangan, antarmuka dan blok pembangun sebagai konsep dasar yang perlu diketahui oleh para pemula Scratch telah dijelaskan. Salah satu contoh permainan interaktif yang dikembangkan dengan menggunakan Scratch juga telah diperlihatkan. Dengan demikian, diharapkan dapat memberikan gambaran kepada para pembaca mengenai cara pemanfaatan dan pentingnya Scratch dalam budaya komputasional yang dihadapi oleh manusia masa kini.
d aftar P ustaKa
[1]  Getting Started with SCRATCH Version 1.4, http://scratch. mit.edu, Lifelong Kindergarten Group, MIT Media Lab.
[2]  http://scratch.mit.edu/educators/, diakses 27 Mei 2014.
[3]  http://scratched.media.mit.edu/, diakses 27 Mei 2014.
[4]  Brennan, K.A., 2013, Best of Both Worlds: Issues of Structure and Agency in Computational Creation, In and Out of School, Dissertation, School of Architecture and Planning, Massachusetts Institute of Technology.
[5]  Chiang, J., Shall We Learn Scratch Programming, http:// shallwelearn.com.
[6]  http://wiki.scratch.mit.edu/wiki/Development_of_

## ISSN 2085-4579
Scratch_1.0, diakses 27 Mei 2014.
[7]  http://wiki.scratch.mit.edu/wiki/Scratch_Versions, diakses 27 Mei 2014.
[8]  http://scratch.mit.edu/statistics/, diakses 27 Mei 2014.
[9]  Reference Guide: Scratch Version 1.4, http://scratch.mit.edu, Lifelong Kindergarten Group, MIT Media Lab.
[10]  Sadigh, M., 2002, How to Design a Computer Game?, Final Project, University of Washington.
[11]  http://scratch.mit.edu/projects/22791282/?fromexplore=true, diakses 28 Mei 2014.
[12]  http://scratch.mit.edu/explore, diakses 28 Mei 2014.
[13]  Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., and Kafai, Y., Scratch: Programming for All, Communications of the ACM, Vol. 52, No. 11,
November 2009.