Compressed Modul Pelatihan Scratch Ibc
Compressed Modul Pelatihan Scratch Ibc
2014
Incubator Bussines Center:
Modul Pelatihan Scratch
All product names and service identified throughout this book are trademarks or re-
gistered trademarks of their respective companies. They are used throughout this
book in editorial fashion only and for the benefit of such companies. No such uses,
or the use of any trade name, is intended to convey endorsement or other affiliation
with the book.
– Attribution. You must attribute the work in the manner specified by the
author or licensor (but not in any way that suggests that they endorse you
or your use of the work).
– No Derivative Works. You may not alter, transform, or build upon this
work.
• For any reuse or distribution, you must make clear to others the license terms
of this work. The best way to do this is with a link to this web page.
• Any of the above conditions can be waived if you get permission from the co-
pyright holder.
• Nothing in this license impairs or restricts the author’s moral rights
The design, type setting, layout and text processing of this book make use of various Open
Source Softwares, such as LATEX, LYX, various pdf tools, Gimp, Inkscape and Open Office, as
well as the Open Source Operating System, GNU/Linux.
1 Pendahuluan 10
1.1 Pengenalan Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Sejarah Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Komunitas Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Software Instalasi 13
2.1 Software Instalasi Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Instalasi Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Instalasi Scratch Versi Online . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Instalasi Scratch Versi Offline . . . . . . . . . . . . . . . . . . . . 18
2.3 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Interface 23
3.1 Interface Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 Toolbar Pada Scratch . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Blok Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Tipe Blok Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Script Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Costumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 Sounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Object 32
4.1 Object Pada Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5 Motion 40
5.1 Pengenalan Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1.1 Absolute Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1.2 Relative Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1.3 Curva Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Perintah Pada Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Implementasi Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Looks 47
6.1 Pengenalan Looks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3
Daftar Isi
7 Sound 54
7.1 Pengenalan Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2 Perintah Pada Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.3 Implementasi Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3.1 Penggunaan Sound Hip Hop dan Beats . . . . . . . . . . . . . . 56
7.3.2 Penggunaan Sound Drum and Beats . . . . . . . . . . . . . . . . 56
7.3.3 Membuat Lagu dengan Sound . . . . . . . . . . . . . . . . . . . . 57
7.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8 Pen 59
8.1 Pengenalan Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2 Perintah Pada Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.3 Implementasi Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.3.1 Blok Skrip Pen Untuk Perulangan . . . . . . . . . . . . . . . . . . 60
8.3.2 Stamp People . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.3.3 Stamp Arround . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.3.4 Rotate Squares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.3.5 Up and Down Figure . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9 Control 65
9.1 Pengenalan Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.2 Perintah Pada Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.3 Implementasi Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.3.1 Dancing dengan Menggunakan Control Perulangan . . . . . . . 67
9.3.2 Sunglass dan Matahari . . . . . . . . . . . . . . . . . . . . . . . . 68
9.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10 Sensing 70
10.1 Pengenalan Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.2 Perintah Pada Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.3 Implementasi Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.3.1 Sensing dengan Mouse X dan Mouse Y . . . . . . . . . . . . . . . 72
10.3.2 Sensing dengan Touching . . . . . . . . . . . . . . . . . . . . . . 73
10.3.3 Sensing dengan Video Motion . . . . . . . . . . . . . . . . . . . . 74
10.4 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11 Operator 76
11.1 Pengenalan Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
12 Variables 83
12.1 Pengenalan Variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.1.1 Tipe Data Pada Variabel . . . . . . . . . . . . . . . . . . . . . . . 83
12.1.2 Blok Shape untuk Variabel . . . . . . . . . . . . . . . . . . . . . . 84
12.2 Perintah Pada Variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.3 Penjelasan Variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
12.3.1 Penggunaan Operator Tanpa Variabel . . . . . . . . . . . . . . . 86
12.3.2 Penggunaan Operator Dengan Variabel . . . . . . . . . . . . . . 87
12.4 Implementasi Variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.4.1 Tebak Angka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.4.2 Kucing Pintar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
12.5 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
13 List 91
13.1 Pengenalan List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
13.2 Perintah Pada List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
13.3 Penerapan objek List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
13.3.1 Pembuatan List . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
13.3.2 Perintah Add dan Delete . . . . . . . . . . . . . . . . . . . . . . . 95
13.3.3 Perintah Insert dan Replace List . . . . . . . . . . . . . . . . . . . 95
13.3.4 Mengakses Isi Nilai List . . . . . . . . . . . . . . . . . . . . . . . . 96
13.3.5 Blok Contains Pada List . . . . . . . . . . . . . . . . . . . . . . . 96
13.3.6 Dynamic List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
13.4 Implementasi List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
13.4.1 Mencari Nilai Maksimal . . . . . . . . . . . . . . . . . . . . . . . 98
13.4.2 Mencari Nilai Rata-Rata . . . . . . . . . . . . . . . . . . . . . . . 99
13.5 Latihan Mandiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6
Daftar Gambar
4. Pembaca dapat merancang dan membuat games dan media pembelajaran meng-
gunakan Scratch
Informasi tambahan
9
MODUL 1
Pendahuluan
10
Pendahuluan
Scratch dikembangkan untuk orang berusia 8 dan lebih untuk membantu mereka
untuk mengembangkan keterampilan belajar yang kreatif pada abad ke-21. Pada sa-
at orang membuat program, mereka belajar matematika dan konsep komputer yang
meningkatkan pemikiran kreatif, penalaran logis, pemecahan masalah, dan kolabo-
rasi keterampilan. Merancang proyek Scratch membuat orang dapat berpikir kreatif.
Merancang proyek Scratch juga membuat orang dapat belajar bagaimana mengatasi
hambatan dan memecahkan masalah.
Saat ini Scratch telah mendukung 50 bahasa yang berbeda. Pengguna yang akan
menggunakan dapat memilih bahasa dari menu pull-down di bagian bawah.
2. Klik join to Scratch untuk mendaftar (anda hanya perlu mendaftar sekali).
Dengan bergabung bersama komuitas Scratch project yang dilakukan dapat diker-
jakan dengan online, meskipun Scratch mempunyai versi offline.
13
Software Instalasi
2. Masukan Username, Password, dan Konfirmasi Password, lalu Klik Next . Kete-
rangan lebih lanjut lihat tampilan pada Gambar 2.2.
3. Masukan Pilihan Birth Moth and Year, Gender, serta Country, lalu Klik Next .
Keterangan lebih lanjut lihat tampilan pada Gambar 2.3.
4. Masukan alamat email address dan confirm email address, lalu Klik Next . Kete-
rangan lebih lanjut lihat tampilan pada Gambar 2.4.
5. Tampil pesan yang menjelaskan anda dapat memulai project Scratch, selanjut-
nya klik konfirmasi link pada email anda, Klik OK Lets Go! . Keterangan lebih
lanjut lihat tampilan pada Gambar 2.5.
6. Cek kotak masuk email anda, lalu masuk Pesan Please confirm your email address
for Scratch Klik link konfirmasi email . Keterangan lebih lanjut lihat tampilan
pada Gambar 2.6.
7. Setelah konfirmasi email, anda dapat memilih kategori yang ada lalu Klik OK,
Lets go! . Keterangan lebih lanjut lihat tampilan pada Gambar 2.7.
8. Pada kategori Learn How Make a Project in Scratch anda akan diberikan tuto-
rial awal menggunakan Scratch . Keterangan lebih lanjut lihat tampilan pada
Gambar 2.8.
9. Pada kategori Try Out Starter Project anda dapat memulai Project dari proje-
ct yang telah ada sebelumnya. . Keterangan lebih lanjut lihat tampilan pada
Gambar 2.9.
10. Pada kategori Connect with other Scratchers anda dapat melihat project yang
dibagikan programmer lainnya . Keterangan lebih lanjut lihat tampilan pada
Gambar 2.10.
2. Download Adobe Air, pada link yang disediakan. Keterangan lebih lanjut lihat
tampilan pada Gambar 2.12.
3. Sebelum menginstal Adobe Air, silahkan baca kondisi dan ketentuan yang telah
ditetapkan seperti tampilan pada Gambar 2.13.
4. Tunggu proses instalasi Adobe Air, seperti tampilan pada Gambar 2.14. Klik
Finish saat proses Instalasi Adobe Air selesai, seperti tampilan pada Gambar
2.15.
5. Setelah instalasi Adobe Air selesai, download aplikasi Scratch pada link yang
disediakan. Keterangan lebih lanjut lihat tampilan pada Gambar 2.16.
7. Tunggu proses instalasi Scracth selesai seperti tampilan pada Gambar 2.18, Lalu
akan muncul jendela aplikasi Scratch offline yang telah siap digunakan, tampil-
an dapat dilihat pada Gambar.
1. Interface Toolbar
Digunakan untuk mengelola program Scratch yang sedang berjalan, seperti pe-
ngaturan penyimpanan file maupun lainnya.
4. Interface Sounds
Digunakan untuk memilih dan mengelola sound yang akan digunakan.
5. Interface Costumes
Digunakan untuk memilih dan mengelola custome yang akan digunakan.
23
Interface
1. Poin 1 menjelaskan Palete yang berisi beberapa perintah blok yang dapat mem-
buat Sprite atau objek pada Scratch bergerak. Pada tampilan tersebut terlihat
blok script yang digunakan adalah blok script yang mempunyai warna biru tua
yaitu Motion, sehingga animasi yang akan terjadi adalah sebuah gerakan. Seti-
ap blok script mempunyai perintah blok yang berbeda-beda.
2. Poin 2 menjelaskan mengenai area script. Area script akan berubah fungsinya
tergantung dengan blok tab yang dipilih. Terdapat 3 blok tab yang dapat meru-
bah fungsi dari area script, antara lain:
(a) Script
Jika blok tab yang dipilih adalah scripts, maka area script merupakan tem-
pat untuk meletakan satu atau beberapa blok script. Susunan seperti lego
akan terbentuk di area tersebut dari beberapa blok script yang disusun.
Susunan beberapa blok script yang akan terbentuk di area script disebut
dengan program blok.
(b) Costumes
Jika blok tab yang dipilih adalah costumes, maka area script merupakan
tempat untuk menggambar, mengupload atau mengubah dari costume sp-
rite yang digunakan pada program.
(c) Sounds
Jika blok tab yang dipilih adalah sounds, maka area script merupakan tem-
pat untuk merekam, memilih sounds yang ada pada library, atau mengu-
pload sounds yang digunakan pada program.
3. Poin 3 menjelaskan mengenai daftar sprite pada Scratch yang akan digunakan.
Sprite atau objek yang digunakan dapat lebih dari satu sprite dan dijalankan
secara bersamaan pada 1 program. Sprite yang digunakan pada suatu program
akan mengikuti alur logika yang ditentukan pada blok script yang telah ada di
dalam area script.
5. Poin 5 menjelaskan mengenai stage yang akan menampilkan output dari pro-
gram Scratch yang dibuat.
Penjelasan mengenai toolbar Scratch versi offline pada Gambar 3.2 , sebagai berikut:
1. Poin 1 menjelaskan mengenai icon link Scratch untuk menuju website pada
Scratch.
2. Poin 2 menjelaskan mengenai icon untuk mengubah bahasa pada aplikasi Scra-
tch.
5. Poin 5 merupakan icon dari duplicate untuk menduplikasi sebuah atau bebe-
rapa blok script secara otomatis.
6. Poin 6 merupakan icon dari delete untuk menghapus sebuah atau beberapa
script secara otomatis.
7. Poin 7 merupakan icon dari Grow untuk membesarkan sprite atau objek yang
ada pada program.
8. Poin 8 merupakan icon dari Shrink untuk mengecilkan sprite atau objek yang
ada pada program.
Penjelasan mengenai area blok script pada Gambar 3.3, sebagai berikut:
1. Stack Blok
Beberapa kriteria yang dimiliki oleh tipe Stack blok adalah sebagai berikut:
(a) Tipe stack blok merupakan blok yang memiliki benjolan dan lengkungan
diatas atau dibawahnya, sehingga kita bisa menggabungkannya dengan
blok yang lain, sebagai contoh blok pada atau blok pada .
(b) Suatu blok yang memiliki inputan di dalamnya, dimana pengguna dapat
memasukan nilai berupa angka atau memilih nilai dalam menu pulldown
yang ada didalamnya juga dapat dikategorikan sebagai tipe stack blok, se-
bagai contoh blok atau juga pada blok .
(c) Beberapa stack blok ada yang berbentuk seperti huruf “C” dimana dapat
2. Hats
Beberapa kriteria yang dimiliki oleh tipe hats adalah sebagai berikut:
3. Reporters
Reportes blok merupakan blok yang digunakan untuk masuk dalam input blok
3.3. Costumes
Dengan menggunakan costumes, pengguna dapat mengubah sprite dengan mengu-
bah costume yang berisi sebuah gambar. Blok costumes berisi semua yang dibutuhk-
an untuk mengatur costume pada sprite. Seperti lemari pakaian yang berisi banyak
kostum, sprite dapat memakainya satu per satu. Tampilan costumes dapat dilihat
pada Gambar 3.5.
(a) Mengubah costumes dari library costumes yang tersedia pada Scratch.
(b) Mengubah costumes dengan membuat sendiri.
(c) Mengubah costumes dengan objek costumes yang telah tersedia pada kom-
puter.
(d) Mengubah costumes dengan mengambil gambar menggunakan capture
kamera.
3.4. Sounds
Pada pemrograman Scratch, sprite di dalam program yang dibuat dapat memutar su-
ara pada saat dijalankan. Blok sounds akan membantu untuk mengatur suara yang
berbeda pada saat sprite dijalankan. Tampilan pada sounds dapat dilihat pada Gam-
bar 3.6 .
2. Poin 2 menjelaskan tempat untuk memberi nama sounds yang telah diubah.
3. Poin 3 menjelaskan tombol play, stop, record saat memilih rekaman sounds.
2. Buka proyek Scratch pada soal no 1 yang telah anda simpan, ubah costumes
pada sprite dengan memilih costumes dengan gambar apa saja yang ada pa-
da komputer anda, kemudian simpan dengan nama file “My Costumes” pada
sebuah direktori yang sama dengan soal 1.
3. Buka proyek Scratch pada soal no 1 yang telah anda simpan, ubah sounds “me-
ow” menjadi “dog1”. Setelah sukses simpan dengan nama file “Sounds Dog 1”.
Clue: Gunakan sounds library untuk mencari suara dog1.
Pada Gambar 4.1 menjelaskan Poin 1 disebut dengan Object Stage dan Poin 2 disebut
dengan Object Sprite.
32
Object
4.2. Stage
Pengguna Scratch dapat mengubah gambar latar belakang Stage dengan menggu-
nakan tab Backdrop. Sebagai contoh, jika membuat games, diharuskan menunjukk-
an satu latar belakang tertentu yang mendukung games tersebut.
Dalam membuat Stage terdapat beberapa pilihan antara lain:
1. Memilih Backdrop yang Ada Pada Library
Scratch menyediakan library backdrop untuk mengubah stage untuk menye-
suaikan latar. Langkah pertama untuk melakukan hal ini adalah memilih icon
library pada new backdrop seperti tampilan pada Gambar 4.2.
Setelah memilih icon library backdrop akan muncul tampilan seperti Gambar
4.3 yang menampilkan berbagai macam backdrop yang dikelompokan per ka-
tegori tertentu.
Setelah memilih icon paint backdrop akan muncul tampilan seperti Gambar
4.5, pada tampilan tersebut pengguna dapat membuat backdrop sesuai dengan
keinginan.
Setelah memilih icon upload backdrop akan muncul tampilan seperti Gambar
4.7 , pada tampilan tersebut pengguna dapat mengupload file yang ada pada
komputer untuk dijadikan backdrop.
Setelah memilih icon kamera backdrop, pengguna dapat mencapture foto terle-
bih dahulu untuk membuat foto tersebut dijadikan backdrop. Tampilan untuk
backdrop dengan menggunakan foto dapat dilihat pada Gambar 4.9.
4.3. Sprite
Sprite merupakan suatu object yang dapat dijadikan actor dalam suatu program. Di
dalam suatu stage bisa terdiri atas beberapa sprite. Cara untuk mengubah object sp-
rite terdapat 3 pilihan antara lain:
Setelah memilih tombol icon sprite akan muncul jendela yang berisi library sp-
rite yang disediakan oleh Scratch dengan berbagai kategori dan tema. Tampilan
mengenai jendela sprite library dapat dilihat pada Gambar 4.11.
Setelah memilih icon paint pada sprite, akan muncul tampilan jendela paint
yang yang dapat dilihat pada Gambar 4.13.
Setelah memilih tombol upload file pada sprite, maka pengguna dapat mema-
sukan file gambar yang ada pada komputer untuk dijadikan sprite pada Scra-
tch. Tampilan jendela Scratch yang menggunakan sprite dari upload file dapat
dilihat pada Gambar 4.15.
Gambar 4.17 menampilkan jendela kamera pada sprite yang telah dicapture.
• Latihan Mandiri
40
Motion
Gambar 5.1 menjelaskan bahwa Garis (x) koordinat terletak di sisi kanan memberi-
tahu sprite seberapa jauh bergerak horizontal di stage, sedangkan garis (y) koordinat
mengatakan itu seberapa jauh bergerak secara vertikal menuju target.
Pada Gambar 5.2memberikan contoh lain mengenai absolute motion, di mana per-
gerakkan sprite dimulai dari titik x (200) menuju y (150) sebagai target.
Gambar 5.1 menjelaskan pada step 1 bahwa garis koordinat (x) terletak di sisi kan-
an dan memberitahu sprite seberapa jauh bergerak horizontal di stage, sedangkan
pada Step 2 : garis koordinat (y) mengatakan seberapa jauh bergerak secara vertikal
menuju target.
Pada Gambar 5.3 memberikan contoh lain mengenai absolute motion dengan meng-
gunakan dua buah sprite yaitu dua mouse pada Stage.
Gambar 5.3 menjelasakan bahwa Pada mouse1 sprite berjalan dari titik mulai me-
nuju finish x (0) dan y (0) , sedangkan Pada mouse2 sprite berjalan dari titik mulai
menuju finish x (100) dan y (100).
Gambar 5.4 menjelaskan 4 langkah mengenai cara kerja relative motion yaitu:
Pada relative motion juga kadang menggunakan arah konvensi pada Scratch, adapun
arah konvensi yang dimaksud dapat dilihat pada Gambar 5.5 .
Penjelasan mengenai arah konvensi pada Gambar 5.5 antara lain sebagai berikut:
Pada contoh Gambar 5.6 menjelaskan tentang pergerakkan berkelok dengan peru-
langan titik x menuju titik y secara berulang 3 kali dengan titik x (50) dan y (50) me-
nuju target (x,y) = 150,150)
1. Langkah pertama buatlah 2 buah sprite baru yaitu sprite berbentuk kucing dan
bola, seperti pada Gambar 5.7.
2. Klik pada Sprite bola, kemudian buatlah script seperti pada Gambar 5.8, pada
area script untuk membuat logika agar bola mengikuti pointer mouse saat pro-
gram dijalankan.
3. Klik pada Sprite kuncing, kemudian buatlah script seperti pada Gambar 5.9 pa-
da area script untuk membuat logika agar kucing mengikuti pergerakan bola.
• Latihan Mandiri
47
Looks
Implementasi ini berisi satu sprite dengan tujuh costume bersama dengan satu script.
anda dapat melihat tujuh costume di tab costume dan script di tab scriptsprite. Keti-
ka anda menjalankan aplikasi dengan mengklik bendera hijau, tongkat akan muncul
untuk berjalan pada stage. Kunci untuk sprite bergerak adalah perintah next costu-
me, yang memberitahu sprite untuk menempatkan pada costume berikutnya dalam
daftar costume. Jika sprite mengenakan costume terakhir dalam daftar, itu akan di-
masukkan ke costume pertamanya.
Ketika bendera hijau diklik, script forever akan melakukan perulangan dengan blok
wait sampai pada akhir dan membuat delay 0,1 detik setiap perubahan costume. Jika
anda menghapus script wait 0.1 sec dari script, program akan muncul untuk menja-
lankan tanpa adanya waktu menunggu. Percobaan akan berbeda hasilnya jika nilai
pada script move 10 steps dan script wait berbeda.
Meskipun anda bisa membuat program ini dengan mengubah costume secara ma-
nual, anda akan perlu untuk menyusun program lebih panjang. Maka dari itu, di-
gunakanlah perintah next costume pada script looks untuk memudahkan program
tersebut.
Pada image effects pada Scratch ada beberapa yang perlu kita pelajari. Di dalam
script pada looks dan macam – macam tampilan yang akan mempengaruhi sprite
dengan pada perintah set color effect to 0.
Klik panah bawah di script Set Effect to untuk memilih efek yang anda inginkan dari
menu drop-down. anda juga dapat menggunakan perintah Change effect By untuk
menyesuaikan efek bukan mengatur secara langsung. Sebagai contoh, jika efek ghost
saat ini diatur ke 40, mengubahnya dengan 60 akan mengatur effect ghost ke 100 dan
akan menyebabkan sprite menghilang (seperti hantu).
Ketika anda ingin mengembalikan sprite ke kondisi semula, gunakan perintah clear
graphic effect. anda dapat menerapkan beberapa efek ke sprite sekaligus dengan
menggunakan beberapa perintah efek grafis secara berurutan.
Pengimplementasian perintah pada looks untuk animasi smile terdapat pada con-
toh yang ada dalam Gambar 6.3. Perintah next costume untuk mengubah tampilan
smile dan perintah switch backdrop to backdrop 1 untuk merubah backdrop sesuai
perubahan smile .
Ketika menjalankan program di atas, setiap anda mengklik mouse sprite face, sprite
akan berubah costume dari daftar list yang telah ada. Pada script juga terdapat per-
intah switch backdrop to untuk memberi perintah mengubah stage secara acak dari
1 sampai dengan 4 backdrop yang telah ada.
Ketika stage berubah pada stage 4, maka sprite face akan menjalankan perintah ber-
gerak ke koordinat x: 240 dan y: 180. Hal ini dikarenakan terdapat perintah where
backdrop switches to Stage 4 yang merupakan perintah setelahnya. Di dalam kasus
ini, sprite akan berjalan ke posisi di pojok kanan atas stage dan kembali ke tengah.
Anda dapat menggunakan perubahan backdrop untuk perintah mengubah scene da-
ri suatu cerita, mengubah level pada game, dan lain sebagainya. Semua sprite di
dalam project dapat digunakan di dalam pilihan perintah When backdrop switches
untuk mendeteksi ketika stage berubah tentunya costume pada sprite juga berubah.
Implementasi lainnya menggunakan perintah Say for ... Secs, di mana sprite 1 dan
sprite 2 akan bersama-sama berkata hello dengan jeda waktu 2 detik antar sprite,
seperti ilustrasi pada Gambar 6.4.
Pada Gambar 6.4 menjelaskan bahwa script Say for..secs membuat sebuah sprite da-
pat berkata sesuatu seperti membuat suatu cerita komik. Jika anda ingin menghapus
pesan yang dikeluarkan pada sprite sebelumnya, anda dapat menggunakan Say ma-
upun think seperti pada Gambar 6.5
Penggunaan perintah Say dan think berbeda dengan Say for..secs, di mana perin-
tah ini membuat suatu pesan secara langsung tanpa adanya waktu tunggu beberapa
detik.
6.3.4 Layer
Layer pada suatu project di dalam Scratch dapat diatur dengan menggunakan perin-
tah go to front maupun go back 1 layers. Sebagai contoh dapat dilihat pada Gambar
6.6 , di mana terdapat sprite wanita (sebelah kiri dan sebelah kanan), serta sprite ba-
tu. Pada gambar sebelah kiri, sprite wanita ada yang tertutup sprite batu dan juga
ada yang di depan batu.
Untuk membuat suatu sprite dapat berada di depan sprite lainnya, anda dapat meng-
gunakan perintah go to front, sehingga sprite tersebut dapat berada pada paling
depan sprite lainnya. Sedangkan perintah go back..layers merupakan perintah un-
tuk mengubah posisi sprite berada dibelakang sejumlah layers yang anda input pada
script.
2. Sprite kucing berjalan mendekati sprite bola dan saat menyentuh sprite bola,
bola bergerak seperti telah ditendang sprite kucing.
54
Sound
Script yang ada pada Gambar 7.1 terdapat script yaitu menggunakan perulangan
(forever) di mana menjalankan suara hip hp (play sound hip hop) selama 4.75 de-
tik (wait 4.75 secs).
Pada implementasi ini menggunakan pengaturan beats (ketukan) pada saat mema-
inkan drum. Di dalamnya terdapat beberapa perintah blok yang dapat digunakan
untuk mengembangkan permainan, dengan contoh perintah menggunakan script
play drum 1 for (...) beats. Ada 3 contoh blok script dalam pengaturan drum mulai
dari kecepatan 0,8 beats, meningkat 0,4 beats sampai kecepatan ketukan 0,2 beats.
Beats di sini menjelaskan tempo dari sound tersebut dijalankan.
Perintah set instrument to 2 merupakan pemilihan instrumen musik yang akan di-
gunakan, sedangkan penggunaan perintah play note .. for .. beats mengeksekusi no-
te tertentu dengan tempo yang diinginkan. Susunan perintah yang ada pada Gambar
7.3 akan menghasilkan suatu tangga nada yang sesuai dengan lagu anak-anak dari
Perancis "Frère Jacques".
1. Perintah Stamp
Perintah ini digunakan untuk membuat suatu jejak pada sebuah sprite saat di-
jalankan.
59
Pen
Implementasi ini menggunakan 5 perintah pen antara lain: perintah untuk membe-
rikan warna hijau muda pada pen (set pen color to), memberikan ukuran ketebalan
pada pen (set pen size to 6), memberikan goresan ke bawah pada pen (pen down),
kemudian untuk membersihkan goresan yaitu clear.
Susunan script tersebut secara otomatis akan membentuk garis 4 kali, karena terda-
pat script perulangan sebanyak 4 kali (repeat 4) dan membentuk goresan 100 lang-
kah (move 100 steps), selanjutnya belok kiri sebsar 90” (turn 90 degrees). Dengan
demikian output yang dihasilkan adalah kotak kecil pada pojok kiri atas pada kotak
besar seperti yang terlihat pada Gambar 8.1.
Sprite anak laki-laki pada Gambar 8.2 akan terdapat jejak dengan menggunakan per-
intah stamp dengan posisi x: 56 y: 43 (go to x:56 y:43) kemudian akan dihasilkan
suatu jejak lagi dengan posisi x: 4 dan y: 123 (go to x:4 y:123) , setelah itu terdapat
jejak kembali pada posisi x: 132 y: 6 (go to x:132 y:6). Dengan demikian, dihasilkan
3 jejak anak laki-laki pada implementasi ini. Penggunaan stamp sebaiknya diawali
dengan peletakan posisi x dan y yang akan diberikan jejak (stamp) di dalam stage.
sebuah
Pada implementasi ini digunakan perintah pen yaitu clear dan stamp, kemudian di-
gabungkan dengan perintah motion di mana pergerakan bendera ke arah kiri sebesar
45” dengan perintah turn 45 degreees. Hasil pada implementasi ini adalah bendera
berputar dengan meninggalkan jejak sebanyak 5 bendera dan 1 bendera asli nya jadi
total 6 bendera.
Implementasi rotate square sama seperti dengan implementasi pada stamp around,
pebedaanya terletak pada sprite yang digunakan adalah kotak dan jumlah perula-
ngannya ada perulangan 4 kali di dalam (repeat 4) dan perulangan 12 kali di luar
(repeat 12). Perulangan di dalam akan membentuk sudut 90” (turn 90 degrees) se-
banyak 4 kali, namun sebelumnya dilakukan perulangan 12 kali dengan pergerakan
sudut 30” (turn 30 degrees).
Perintah pen yang digunakan pada program ini adalah pemberian warna dengan ko-
de 120 (set pen color to 120), pemberian ukuran pen dengan ukuran 2 (set pen size
2), membersihkan layar (clear), menggoreskan garis ke atas dengan (pen up), lalu
mengerakan garis menuju titik x: 20 dan y:-40 dengan perintah (go to x:20 y:-40).
Setelah itu menggoreskan garis ke bawah dengan perintah (pen down) lalu bergeser
sesuai dengan arah titik koordinat x dan y yang ditentukan. Implementasi ini sama
seperti membuat animasi yang menceritakan alur cara membuat sebuah menggam-
bar perahu pada stage.
1. Sprite casper dapat digerakan dengan tombol kanan pada keyboard untuk ber-
gerak ke arah kanan.
2. Sprite casper dapat digerakan dengan tombol kiri pada keyboard untuk berge-
rak ke arah kiri.
3. Sprite casper dapat digerakan dengan tombol atas pada keyboard untuk berge-
rak ke arah atas.
4. Sprite casper dapat digerakan dengan tombol bawah pada keyboard untuk ber-
gerak ke arah bawah.
Ilustrasi mengenai sprite yang harus ada pada latihan ini dapat dilihat pada Gambar
8.6.
• Latihan Mandiri
1. Blok Forever
Blok forever merupakan perulangan yang tidak ada batasannya atau melakukan
perulangan terus menerus.
2. Blok Repeat
Blok ini merupakan perulangan yang meminta suatu batasan akhir, yang bia-
sanya diinput oleh pembuat program.
Selain itu pada control perulangan juga tedapat beberapa kondisi yang biasa digu-
nakan untuk menghasilkan nilai benar atau salah yaitu blok IF. Blok IF digunakan
untuk memberikan suatu hasil benar jika kondisi yang di dalamnya bernilai benar
dan akan menjalankan script setelah blok ini, akan tetapi jika kondisi pernyataan
pada blok IF bernilai salah maka statement di dalam blok IF tidak akan dijalankan.
65
Control
Pada implementasi ini terdapat 2 sprite yang harus mempunyai script, antara lain:
Hasil dari hasil implementasi dancing akan menghasilkan 3 gerakan perubahan, se-
perti yang tampil pada Gambar 9.2.
Terdapat 3 buah sprite yang masing-masing mempunyai script yang harus dibuat,
antara lain:
1. Sprite 1 (Wanita)
Sprite ini mempunyai script ketika bendera hijau diklik maka posisi wanita ber-
ada pada posisi x: -150 dan y:0 (goto x:-150 y:0) dan derajat nya adalah 90”
(point in direction 90).
2. Sprite 2 (Kacamata)
Sprite ini mempunyai mempunyai script di mana ketika bendera hijau diklik
maka posisi kacamata berada pada x: -50 dan y: 50, kemudian terdapat per-
ulangan forever yang di dalamnya terdapat kondisi jika bersentuhan dengan
matahari (if touching sun then) maka kacamata akan bergerak dengan kece-
patan 0.8 secs ke posisi x: -140 dan y_50 (glide 0.8 secs to x: -140 y:50).
Pada script yang ada pada Gambar 9.4 menampilkan hasil yang diingkan dari lang-
kah yang dijelaskan pada script yang ada dalam Gambar 9.3.
70
Sensing
Pada penggunaan video motion, stage di dalam program akan berubah menye-
suaikan latar dari rekaman kamera yang diambil. Misalnya, pengguna menja-
lankan program di taman maka stage akan berubah menjadi latar taman yang
menghadap kamera anda. Gabungan antara video motion dengan perintah to-
uching akan menghasilkan suatu program yang sangat interaktif.
Pada contoh perintah mouse X dan mouse Y dapat dijelaskan bahwa script mou-
se x (sensing Mouse X) memberikan pergerakan sensor pada koordinat X pada saat
mouse pointer bergerak. Sedangkan script mouse y(sensing Mouse Y ) memberikan
pergerakan sensor pada koordinat Y pada saat mouse pointer bergerak. Dengan de-
mikian, ketika bendera hijau diklik maka sprite kucing akan bergerak menuju posisi
X dan posisi Y pada mouse tersebut berada (glide 1 secs to x: mouse x y: mouse y).
Script berjalan ketika bendera hijau diklik maka script yang akan terus melakukan
perulangan (forever) yaitu penggunaan script kondisi jika sprite mengenai mouse
pointer (if touching mouse pointer ? then), jika kondisi ini benar maka script say
mau ikut for 0.01 secs akan dijalankan, di mana kucing akan menampilkan dialog
“mau ikut”. Kesimpulannya script touching mouse-pointer telah membuat kondisi
jika sprite cat menyentuh pointer mouse akan melakukan suatu blok statement di
dalam kondisi IF.
Penjelasan dari implementasi ini yaitu script akan menjalankan video di mana ka-
mera pada komputer akan hidup (turn video on), setelah itu dilakukan perulangan
terus menerus (forever). Terdapat kondisi jika terdapat gerakan sensor pada video
pada sprite tertentu yaitu kucing lebih dari 20 (if video motion on this sprite > 20
then) maka akan ada bunyi meow (play sound meow) lalu sprite kucing akan me-
nampilkan dialog geli aah selama 0.01 secs (say geli aah for 0.01 secs). Implementasi
ini menggunakan beberapa gabungan blok diantaranya control, operator pemban-
ding >, sound, dan juga looks.
3. Balon akan naik ke atas jika tersentuh oleh sensor gerak tangan yang terlihat
pada kamera.
Tampilan lebih lanjut dari implementasi ini dapat dilihat pada Gambar 10.4.
• Implementasi Operator
• Latihan Mandiri
1. Operator Aritmatika
Operator ini digunakan untuk mengeksekusi operand bilangan number. Kasus
yang sering menggunakan operator ini adalah perhitungan sederhana.
2. Operator Acak
Operator ini digunakan untuk membuat bilangan secara acak untuk mengha-
silkan suatu nilai yang digunakan untuk program tertentu. Kasus yang sering
digunakan menggunakan operator ini adalah program animasi yang menen-
tukan koordinat X dan Y secara acak.
76
Operator
Selain aritmatika dasar Scratch juga mendukung modulus (mod) operator yaotu ope-
rator sisa hasil pembagian dua angka. Sebagai contoh, 10 mod 3 mengembalikan 1
karena sisa membagi 10 dengan 3 adalah 1. Penggunaan umum dari operator mo-
dulus adalah untuk menguji suatu bilangan integer (bilangan bulat) oleh bilangan
integer lain (yang lebih kecil). Sebuah modulus 0 menunjukkan bahwa jumlah yang
lebih besar dibagi dengan jumlah yang lebih kecil, sehingga dapat digunakan untuk
menentukan bilangan genap atau ganjil.
1. Pick random 0 to 1
Operator akan menghasilkan nilai acak dari 0 sampai dengan nilai 1.
2. Pick random 0 to 0
Operator akan menghasilkan nilai acak dari 0 sampai dengan nilai 10.
3. Pick random -2 to 2
Operator akan menghasilkan nilai acak dari -2 sampai dengan nilai 2.
4. 10 * pick random 0 to 10
Merupakan gabungan dari operator aritmatika perkalian dengan hasil bilangan
acak dari 0 sampai dengan nilai 10.
Script yang dibuat akan dieksekusi ketika bendera hijau pada Scratch dijalankan,
di mana menggunakanat perulangan (forever) yang akan menjalankan secara terus
menerus script show untuk menampilkan sprite kelelawar dan menahan di posisi
koordinat selama 0.2 detik (wait 0.2 secs) , setelah itu sprite akan berubah posisi ko-
ordinat secara acak dengan menggunakan script go to x: pic random -200 to 200
y: pick random -140 to 140, lalu costume pada kelelawar akan berubah sesuai yang
diharapkan sayapnya berubah dengan menggunakan script next costume.
Hasil dari implementasi ini dapat dilihat pada Gambar 11.5, di mana perubahan po-
sisi dan costume kelelawar dapat dilihat pada poin 1 , poin 2, serta poin 3.
Script yang dibuat akan dieksekusi ketika bendera hijau pada Scratch dijalankan,
di mana kita memerlukan variabel angka yang disi dengan nilai 2 (set angka to 2) ,
kemudian terdapat perulangan (forever) di mana akan menjalankan script menam-
pilkan dialog pada sprite anak laki-laki dengan mengatakan nilai dari variabel angka
selama 1 detik (say angka for 1 secs) setelah itu berkata Hmm.. selama 1 detik (think
Hmm... for 1 secs), lalu nilai variabel angka diubah nilainya dengan operator perka-
lian yaitu 2 dikali nilai variabel angka saat itu (set angka to 2*angka), sehingga pa-
da saat perulangan berikutnya anak laki-laki akan menampilkan nilai variabel angka
terakhir yang telah dikalikan dengan bilangan 2 seterusnya.
Hasil dari implementasi ini dapat dilihat pada Gambar 11.7.
1. Kucing akan berlari dari garis start sampai ujung stage atau garis vertikal.
2. Jika kucing telah sampai pada ujung stage atau menyentuh garis vertikal, maka
kucing akan kembali ke garis start.
3. Setiap balik ke garis start, kucing akan mengatakan sudah berlari berapa kali.
Ilustrasi mengenai latihan mandiri ini dapat dilihat pada Gambar 11.8.
• Latihan Mandiri
83
Variables
1. Boolean
Tipe data Boolean hanya dapat memiliki satu dari dua nilai yaitu benar atau
salah. anda dapat menggunakan tipe data ini untuk menguji satu atau lebih
kondisi dan hasil. Program yang anda buat memilih jalur eksekusi yang berbe-
da.
2. Number
Tipe data number dapat bernilai bilangan bulat dan nilai-nilai desimal. Pada
Scratch tidak membedakan antara keduanya; mereka berdua diklasifikasikan
sebagai "number". anda dapat mengumpulkan angka desimal ke bilangan bu-
lat terdekat menggunakan script round dari palet Operator. anda juga dapat
menggunakan fungsi floor of atau ceiling dalam palet Operator, untuk men-
dapatkan bilangan bulat dari angka desimal yang ditentukan. Sebagai contoh,
floor of 3,9 adalah 3 dan ceiling 3,1 adalah 4.
3. String
Tipe data string adalah tipe data yang terdiri dari rangkaian karakter, yang bi-
sa berupa huruf (baik huruf besar dan huruf kecil), angka (0 sampai 9), dan
simbol-simbol lain yang dapat anda ketik pada keyboard (+, -, &, @, dan se-
bagainya). Tipe data string dapat digunakan untuk menyimpan nama, alamat,
judul buku, dan sebagainya.
Slot yang ada pada Scratch terdapat tiga bentuk (segi enam, persegi panjang, dan
lonjong), sementara fungsi blok hanya memiliki dua bentuk (segi enam dan persegi
panjang bulat). Setiap bentuk dikaitkan dengan tipe data tertentu. Blok perintah
segi enam untuk boolean parameter, persegi panjang untuk string parameer, serta
lonjong untuk number parameter.
Setiap blok shape hanya dapat diisi dengan blok fungsi yang bentuknya sama, se-
mentara slot persegi panjang akan menerima fungsi. Scratch mencegah blok perin-
tah diisi dengan fungsi blok yang bentuknya tidak sama, sehingga anda tidak perlu
menghafal aturan ini.
(1/5)+(5/7)
(7/8)+(2/3)
Anda dapat menggunakan atau mengevaluasi semua operator dengan satu perintah
pada kasus di atas pada Scracth dengan menjalankan dalam satu pernyataan. Script
pada Scratch terlihat pada Gambar 12.3.
(1/5)+(5/7)
(7/8)+(2/3)
Pada Poin A dijelaskan variable num dan den merupakan variabel yang akan me-
nyimpan hasil operator, dan mengoperasikan 2 variable tersebut di akhir di blok
script. Lihatlah bagaimana variabel disusun dalam memori komputer. Di sini, va-
riabel num seperti tag merujuk ke lokasi dalam memori di mana Hasil evaluasi (5/1
+ 7/5) disimpan. Demikian pula, variabel den mengacu dimana (08/07 - 03/02) di-
simpan. Ketika perintah mengatakan dijalankan, Scratch akan menjalankan isi me-
mori berlabel num dan den. Kemudian membagi dua nomor dan melewati hasilnya
ke perintah untuk ditampilkan. anda dapat menjabarkan lebih jauh dengan meng-
evaluasi masing-masing Fraksi individual sebelum menampilkan hasil dari ekspresi
total, seperti ditunjukkan pada poin B.
Poin B menggunakan variable a, b, c, d untuk menyimpan hasil operator, dan meng-
operasikan 4 variable tersebut di akhir blok script. Dalam ekspresi matematika varia-
bel tersebut juga menggambarkan memori alokasi yang kali ini, anda dapat melihat
empat variabel dan isinya. Solusi ini merupakan solusi yang lebih mudah untuk di-
pahami dan jelas, karena menunjukkan bagian utama dari ekspresi (pembilang dan
penyebut).
Contoh kasus ini menunjukkan bagaimana masalah dapat memiliki beberapa solu-
si. Kadang-kadang anda mungkin khawatir tentang kecepatan program atau ukuran,
namun tujuan utamanya adalah anda mudah membaca suatu program pada Scra-
tch.
3. Setelah 1 detik kemudian baru kucing menjawab angka yang dipikirkan oleh
kucing
4. Kemudian diusul kucing menjawab angka yang sama dijawab oleh penguin
Implementasi kali ini seperti pembuatan program tebak angka kucing dan penguin.
Ilustrasi pembuatan dan kebutuhan sprite dapat dilihat pada Gambar 12.5.
Pada sprite kucing terdapat deretan script diantaranya ketika bendera hijau diklik,
maka terdapat perulangan (forever) dimana pemberian variable count diisi dengan
nilai 1 sampai dengan 10 (set count to pick random 1 to 10), variabel count akan
diisi angka acak dari 1 sampai dengan 10, kemudian script broadcast tanya_penguin
akan melempar script kepada penguin untuk dijalankan.
Ketika script yang ada pada sprite penguin menerima broadcast tanya_penguin pa-
da script When I receive tanya_penguin, maka penguin akan menampikan dialoh
yang bertuliskan Hmm.. selama 1 detik (think Hmm... for 1 secs), setelah itu baru
penguin menjawab isi dari variabel count tersebut selama 3 detik (say count for 3
secs). Setelah itu disusul kucing yang juga menjawab isi nilai dari variabel count.
Program ini telah menggunakan 1 variabel bernama count dengan isi nilainya num-
ber, adapun isi dari nilai count adalah nilai acak dari 1 sampai dengan 10.
1. Ketika keyboard di tekan, maka program akan meminta pengguna untuk me-
masukan sebuah angka dengan dialog “Enter first number”.
3. Setelah beberapa saat, kucing akan menampilkan dialog angka pertama yang
dimasukan pengguna * angka kedua yang dimasukan pengguna = hasil perka-
lian dua angka tersebut.
Adapun ilustrasi mengenai cara pembuatan program ini terlihat pada Gambar 12.6.
Pada Gambar 12.6 menjelaskan tentang kondisi saat keyboard ditekan, Sprite kucing
akan menanyakan untuk isian nilai number 1 dengan script ask Enter first number
and wait, kemudian variabel num1 akan diisi nilainya dengan jawaban pengguna
(set num 1 to answer), Begitu juga pada pertanyaan kedua, saat kucing menanyakan
untuk isiannilai number 2 dengan script ask Enter second number and wait, ke-
mudian variabel num2 akan diisi nilainya dengan jawaban pengguna (set num2 to
answer).
Adapun pengoperasian perkalian dari num1 dan num2, digunakan blok operator
num 1 * num2, dan juga join dimana kucing akan menampilkan dialog num1 * num
2 = hasil num1 * num2 dengan menggunakan script say join num 1 join * join num
2 join = num1 * num2, sehingga sprite kucing akan menyampaikan proses perkalian
dari variable number 1 dan number 2 dari nilai yang diinput oleh pengguna.
Setelah selesai anda menginputkan semua nilai yang diminta, wanita akan menya-
takan 2 pernyataan seperti Gambar 12.7 dengan kode S1-S2, antara lain:
1. Hai Mr. <inputan nilai dari variabel nama> dan Mrs. <tampilkan nilai varia-
bel pacar>
Namun sebelumnya, anda harus memahami mengenai blok perintah apa saja yang
terdapat pada List.
91
List
Nilai variabel yang ada pada Gambar 13.1 mengacu pada item yang terkandung da-
lam List yang menggunakan indeks penyimpanan atau posisi penyimpanan. Di da-
lam Scratch, item pertama memiliki indeks 1, item kedua adalah 2, dan seterusnya.
Sebagai contoh, nilai Tuesday adalah urutan ketiga dalam list, sehingga Tuesday me-
miliki indeks 3. Oleh karena itu, anda dapat merujuk ke ketiga elemen dari dayList
dengan menggunakan perintah dari bentuk "item 3 dayList”.
Ketika anda mengklik OK, Scratch akan menciptakan list baru yang masih kosong
dan menunjukkan blok list terkait, seperti digambarkan pada Gambar 13.3. Hal ini
mirip dengan apa yang anda lihat ketika anda membuat sebuah variabel baru. List
kosong adalah list yang tidak mengandung item. anda dapat menggunakan perintah-
perintah baru untuk memanipulasi isi dari list anda. Perintah list yang dapat digu-
nakan seperti menambahkan item baru, item insert pada posisi tertentu, menghapus
item tertentu, atau mengganti nilai-nilai yang telah ada sebelumnya.
Ketika list baru telah dibuat, Scratch juga menunjukkan list itu di monitor pada Sta-
ge, seperti ditampilkan pada Gambar 13.4 (atas). List awalnya adalah kosong, jadi
panjang dimulai dari 0. anda dapat menggunakan monitor blok ini untuk menam-
bahkan entri ke List anda.
Jika anda tahu data yang ingin anda simpan dalam list (seperti halnya membuat
dayList), anda dapat menambahkannya ke dalam list secara langsung seperti pada
Gambar 13.4 (bawah), di mana menunjukkan bagaimana anda dapat menambahkan
hari ke list hari menggunakan monitornya.
Adapun cara menambahkannya cukup mudah yaitu dengan mengklik tanda plus di
sudut kiri bawah tujuh kali untuk membuat tujuh entri dan kemudian masukkan hari
dalam seminggu dalam setiap kotak edit. Gunakan tab kunci untuk menavigasi item
dari lisy. Tekan TAB sekali untuk menyeleksi item pada list berikutnya. Tekan TAB
sekali untuk menyeleksi dan mengubaj teks item yang dipilih.
Jika anda mengklik tanda plus sedangkan item yang dipilih saat ini dikelilingi oleh
perbatasan kuning, list item baru akan ditambahkan setelah item yang sedang aktif.
Namun jika tidak, maka akan ditambahkan sebelum item yang sedang aktif.
Menambahkan item baru pada list dapat menggunakan klik tombol plus di dalam
list untuk langsung mengisi item maupun dengan mengetik indeks dari elemen yang
diinginkan. Begitu juga cara menghapus item dapat secara langsung dengan meng-
klik item yang ingin dihapus atau memilih urutan indeks yang ada pada menu drop-
down script delete.. of List. Pilih 1 untuk menghapus item pertama ("Apple") dari
daftar, pilih 2 lalu untuk menghapus item terakhir ("Mango"), atau pilih semua un-
tuk menghapus semua item dari list.
Pada perintah replace item 3 of phone with Kim: 284-9876 menjelaskan bahwa pro-
gram akan mengganti index item ketiga pada list phonde dengan data Kim: 2849876,
sehingga data item ketiga akan berubah. Sedangkan pada perintah insert Mark:274-
2884 at 4 of phone menjelaskan bahwa program akan mengeksekusi menyisipkan
data abru di bais keempat dengan data Mark: 274-2884, sehingga data pada baris ke
5 dan 6 akan bertambah 1 dan total jumlah data pada list berjumlah 7.
Program akan dijalankan ketika bendera hijau diklik. Script set pos to 1 mengartikan
bahwa terdapat variabel pos di mana diberi nilai 1. Blok berikutnya akan melakukan
perulangan sebanyak 7 kali (repeat 7), kemudian script say item pos of daylist for
1 secs menjelaskan bahwa Sprite yang mempunyai blok program ini akan menam-
pilkan isi dari list sesuai dengan nilai variabel pos selama 1 detik, setelah itu variabel
pos akan bertambah nilai 1 (change pos by 1), sehingga ketika menjalankan script
say item pos of daylist for 1 secs lagi nilai pos yang sudah berubah menjadi 2 dan
seterusnya hingga perulangan selesai yaitu sebanyak 7 kali. Dengan kata lain, ki-
ta menggunakan pos sebagai indeks untuk menentukan elemen tertentu dalam list
dan perulangan sebanyak 7 kali menjadi batasan berakhirnya list diakses.
Perintah blok kondisi if dayList contains Friday then menjelaskan mengenai per-
nyataan kondisi , apakah di dalam list dayList terdapat isi Friday di dalamnya, jika
kondisi benar maka script say Got it, Friday is the List for 2 secs akan dijalankan, di
mana sprite akan menampilkan dialog “Got it, friday is in the list” selama 2 detik. Na-
mun jika kondisi bernilai salah maka sprite akan menampilkan Sorry! Friday is not
in the list selama 2 detik dari perintah say Got it, Friday is not the List for 2 secs.
Penjelasan cara pertama yang terdapat pada Gambar 13.9 (Poin 1) adalah diawali
dengan menanyakan jumlah nilai yang akan disimpan pada suatu list dengan meng-
gunakan script ask How many scores you have and wait , setelah itu simpan nilai
yang diinputkan oleh pengguna ke dalam variabel numScores dengan perintah set
numScores to answer. Kondisi perulangan akan dilakukan sampai dengan batasan
nilai yang disimpan pada variabel numScores (repeat numScores), sehingga script
ask Enter a score and wait dijalankan yaitu untuk menanyakan isi nilai dari item
yang akan diinput ke dalam list. Lalu jawaban dari pengguna akan disimpan pada
list scoreList dengan perintah add answer to scoreList. Dengan demikian, list akan
diinput secara dinamis dengan batasan yang telah ditentukan di awal.
Penjelasan cara kedua yang terdapat pada Gambar 13.9 (Poin 2) adalah program ak-
an terus melakukan perulangan dengan script forever , baru sprite menanyakan nilai
dari list yang akan diinputkan, namun terdapat keterangan di dalam nya bahwa in-
putkan -1 jika telah selesai (ask Enter next score [-1 when done]). Script kedua pun
dijalankan, di mana terdapat kondisi jika nilai dari jawaban pengguna sama dengan
-1 dengan menggunakan script (if answer = -1 then) maka script akan berakhir dan
selesai (Jika kondisi benar), namun jika kondisi salah list akan bertambah nilainya
sesuai dengan jawaban pengguna (add answer to scoreList). Cara kedua memiliki
batasan yang tidak diketahui sebelumnya, hal ini berbeda dengan cara pertama. Pa-
da cara kedua ini perulangan untuk mengisi list akan berakhir jika pengguna meng-
inputkan jawaban tertentu sebagai tanda berakhirnya pengisian list secara dinamis.
Perintah define FindMax merupakan prosedur yang telah dibuat untuk mengekse-
kusi perintah yang ada di dalamnya. Hal pertama yang dieksekusi adalah memberi
nilai variabel maxScore dari nilai item 1 pada list score ( set maxScore to item 1 of
score), setelah itu memberikan nilai 2 ke dalam variabel n (set n to 2). Perulangan
akan dijalankan selama banyaknya nilai yang ada pada list score (repeat length of
score -1). Terdapat suatu kondisi yaitu jika item dengan nilai variabel n dari list score
> dari nilai max score (if item n of score > maxScore then) , jika kondisi ini bernilai
benar maka akan dijalankan perintah variabel maxScore diisi dengan nilai item yang
sedang dibaca pada list (set maxscore to item n of score), namun jika kondisi sa-
lah maka nilai variabel n akan bertambah satu (change n by 1) lalu perulangan akan
dilanjutkan hingga selesai.
Hasil yang didapatkan yaitu variabel maxScore yang telah terisi dengan nilai yang
paling maksimal di dalam list. Adapun tampilan hasilnya dapat dilihat pada Gambar
13.11.
2. anda akan mengetik buku yang anda cari sebagai contoh anda mengetik buku
yang telah ada pada list,
3. Jika buku tersebut terdapat pada lists, Maka wanita tersebut menjawab posisi
buku pad list. seperti yang terlihat pada Gambar 13.14 (Poin 2)
4. Namun jika buku tidak ada, maka wanita tersebut akan menjawab “Bukunya
lagi dipinjem”. seperti yang terlihat pada Gambar 13.14 (Poin 3)