Navigasi Materi

Proyek Scratch 3: Petualangan Avery dan Noni

Belajar Scratch · Proyek Cerita Interaktif

Membuat Game Petualangan Interaktif: Avery dan Noni

Ayo membuat cerita digital yang hidup! Avery dan Noni akan berjalan di tepi pantai, saling menyapa, memperkenalkan diri, lalu melanjutkan perjalanan ditemani burung dan musik latar.

Pemula–MenengahEvent & BroadcastAnimasi SpriteStorytelling

1. Tujuan Pembelajaran | Learning Objectives

Setelah menyelesaikan proyek ini, siswa diharapkan mampu:

  • Menggunakan event untuk memulai dan mengatur jalannya program.
  • Menggerakkan sprite serta membuat animasi dengan pergantian kostum.
  • Mengatur kemunculan karakter menggunakan show dan hide.
  • Menggunakan broadcast dan when I receive untuk mengoordinasikan beberapa sprite.
  • Menggunakan sensor touching edge dan distance to.
  • Menerima masukan pengguna dengan ask and wait, lalu menampilkan jawaban menggunakan answer dan join.
  • Menggabungkan animasi, dialog, backdrop, dan suara menjadi sebuah cerita interaktif.

Students will combine events, motion, looks, sensing, operators, and sound to create an interactive animated story.

2. Kenali Ceritanya | Meet the Story

👧 Avery

Avery adalah karakter yang berjalan lebih dahulu, kemudian menyapa Noni dan mengajaknya melihat pemandangan.

👧 Noni

Noni menyambut Avery, menanyakan nama pemain, lalu membalas dengan sapaan yang menyertakan nama tersebut.

🐦 Burung

Burung bergerak dengan pergantian kostum saat backdrop Boardwalk ditampilkan.

🎵 Musik & latar

Musik dimulai saat bendera hijau diklik. Pergantian backdrop membantu menandai suasana dan bagian cerita.

3. Persiapan Proyek | Project Setup

  1. Buka Scratch Editor dan buat proyek baru.
  2. Tambahkan sprite Avery, Noni, dan burung. Pastikan Avery dan Noni memiliki lebih dari satu kostum agar dapat dianimasikan.
  3. Tambahkan backdrop Blue Sky, Beach Rio, dan Boardwalk sesuai nama yang digunakan dalam script.
  4. Pilih suara musik Morning Has Broken (Piano Version) atau suara lain yang tersedia di proyek.
  5. Atur posisi sprite melalui koordinat x dan y. Panggung Scratch memiliki rentang koordinat horizontal sekitar -240 sampai 240 dan vertikal -180 sampai 180.
Catatan penting: Nama sprite, kostum, backdrop, suara, dan pesan pada menu dropdown harus sama dengan yang dipakai dalam script. Jika nama aset di proyek berbeda, pilih nama aset yang benar pada blok terkait.

4. Memainkan Proyek Jadi | Play the Finished Project

Cobalah proyek yang sudah dibuat. Klik bendera hijau pada area permainan untuk memulai.

Buka dan Remix di Scratch ↗

Jika permainan tidak muncul, buka proyek melalui tombol di atas. Koneksi internet diperlukan untuk memuat proyek Scratch.

5. Membuat Script Langkah demi Langkah

A. Avery baju biru berjalan | Avery Walks

Avery ditempatkan di bagian kiri bawah panggung. Ketika bendera hijau diklik, Avery berpindah ke koordinat awal, muncul, lalu berjalan dengan mengganti kostum secara berulang.

Script Avery berjalan
1. Script Avery berjalan
Urutan blok:
when green flag clicked
→ go to x: -165 y: -78
→ show
→ switch backdrop to Blue Sky
→ repeat 80
  → move 10 steps
  → next costume
  → wait 0.5 seconds
  → if touching edge then
    → go to x: -165 y: -78
    → next backdrop
→ hide
→ broadcast Ganti karakter

Mengapa menggunakan repeat 80? Perintah ini mengulang gerakan sebanyak 80 kali. Setiap pengulangan Avery maju 10 langkah, mengganti kostum, lalu menunggu 0,5 detik. Dengan demikian gerakannya tampak seperti berjalan.

Mengapa ada touching edge? Ketika Avery menyentuh tepi panggung, ia dikembalikan ke posisi awal dan backdrop berpindah. Ini membuat perpindahan adegan terjadi sebagai bagian dari perjalanan.

Perhatikan urutan blok: perintah if touching edge berada di dalam blok repeat. Karena itu, kondisi tepi diperiksa berulang kali selama Avery berjalan.

B. Avery melanjutkan perjalanan | Continue Walking

Script berikut dijalankan ketika sprite menerima pesan Kembali berjalan. Avery muncul dan bergerak sampai menyentuh tepi panggung, kemudian menghilang dan mengirim pesan akhir cerita.

Rangkaian script gerakan Avery dan pesan kembali berjalan
Bagian kanan gambar memperlihatkan script saat Avery menerima pesan Kembali berjalan.
Urutan blok penerima pesan:
when I receive Kembali berjalan
→ show
→ repeat until touching edge
  → move 10 steps
  → next costume
  → wait 1 seconds
→ hide
→ broadcast Akhir cerita

Blok repeat until akan terus mengulang perintah selama kondisi belum terpenuhi. Ketika Avery menyentuh tepi, pengulangan berhenti dan program melanjutkan ke blok hide.

C. Noni berjalan | Noni Walks

Noni muncul setelah backdrop berubah menjadi Beach Rio. Ia berjalan menuju Avery. Sensor distance to Avery Walking memeriksa jarak antara Noni dan sprite Avery yang sedang berjalan.

Script Noni berjalan mendekati Avery
Script berjalan Noni: mulai pada backdrop Beach Rio dan bergerak hingga jarak ke Avery kurang dari 100.
Urutan blok:
when backdrop switches to Beach Rio
→ go to x: 183 y: -76
→ point in direction -90
→ show
→ repeat until (distance to Avery Walking < 100)
  → move 15 steps
  → next costume
  → wait 0.5 seconds
→ broadcast ganti orang
→ hide

Memahami distance to: blok ini mengukur jarak dari Noni ke sprite yang dipilih pada dropdown. Operator < 100 membuat Noni berhenti mendekat ketika jaraknya kurang dari 100 satuan.

Periksa arah gerak: script menggunakan arah -90. Di Scratch, arah -90 berarti ke kiri. Jika karakter bergerak ke arah yang tidak diharapkan, periksa arah kostum dan nilai pada blok point in direction.

D. Noni berbicara dan menanyakan nama | Noni Talks

Setelah menerima pesan ganti orang, Noni muncul dan meminta pemain mengetik nama. Jawaban pemain kemudian digabungkan dengan kalimat sapaan.

Script Noni menanyakan nama dan menyapa pemain
Script Noni: ask and wait, answer, join, pergantian kostum, dan broadcast.
Urutan blok:
when I receive ganti orang
→ show
→ go to x: 3 y: -76
→ ask Halo saya Noni, siapa nama kamu and wait
→ say (join Halo (join (answer) , senang berkenalan denganmu)) for 3 seconds
→ next costume
→ broadcast Pertanyaan pertama
→ wait 3 seconds
→ say Mari kita berjalan bersama. Di sana banyak pemandangan... for 4 seconds
→ next costume
→ wait 3 seconds
→ broadcast Jalan lagi
→ hide

Bagaimana answer bekerja? Setelah pemain mengisi kotak jawaban dan menekan Enter, blok answer menyimpan teks yang dimasukkan. Blok join menggabungkan beberapa potongan teks menjadi satu kalimat.

Contoh: jika pemain mengetik “Dina”, Noni akan menyapa: “Halo Dina, senang berkenalan denganmu”.

E. Avery menjawab percakapan | Avery Replies

Ketika menerima pesan Pertanyaan pertama, Avery berganti kostum, menyapa Noni, lalu mengirim pesan agar perjalanan dilanjutkan.

Script Avery berbicara kepada Noni
Script percakapan Avery dan pengiriman pesan Kembali berjalan.
Urutan blok:
when I receive Pertanyaan pertama
→ switch costume to Avery-a
→ say Hello! Noni, senang bertemu dengan kamu juga for 3 seconds
→ next costume
→ wait 4 seconds
→ say Ayo, saya ingin melihatnya for 3 seconds
→ next costume
→ broadcast Kembali berjalan
→ hide

Pesan Kembali berjalan menghubungkan percakapan dengan animasi gerak Avery. Inilah salah satu manfaat utama broadcast: sprite lain dapat menjalankan script ketika menerima pesan yang sama.

F. Burung terbang | Flying Bird

Burung disembunyikan saat permainan dimulai. Ketika backdrop berubah menjadi Boardwalk, burung muncul, berganti kostum berulang kali, dan memainkan suara burung.

Script animasi burung di backdrop Boardwalk
Animasi burung menggunakan event when backdrop switches to Boardwalk.
Urutan blok:
when green flag clicked → go to x: -102 y: 96 → set size to 30% → hide
when backdrop switches to Beach Rio → hide
when backdrop switches to Boardwalk → show → repeat 18
  → next costume
  → wait 1 seconds
  → start sound Bird

Setiap kostum menggambarkan posisi sayap yang berbeda. Pergantian kostum menciptakan ilusi gerakan. Nilai set size to 30% membuat burung tampil lebih kecil.

G. Penutup cerita dan musik | Ending and Background Music

Sprite tulisan atau narasi menampilkan bagian penutup ketika menerima pesan Akhir cerita. Musik mulai diputar ketika bendera hijau diklik.

Script penutup cerita dengan pesan Akhir cerita
Sprite penutup menunggu pesan Akhir cerita, lalu tampil selama tiga detik.
Script penutup:
when green flag clicked → hide
when I receive Akhir cerita → show → wait 3 seconds → stop all
Script musik latar saat bendera hijau diklik
Musik latar diputar sejak proyek dimulai.
Script musik:
when green flag clicked
→ start sound Morning Has Broken (Piano Version)
Jika musik ingin terus terdengar sampai selesai, gunakan blok play sound until done atau atur suara latar sesuai kebutuhan. Blok start sound memulai suara tanpa menunggu suara selesai.

6. Peta Pesan Antar-Sprite | Broadcast Map

Perhatikan alur pesan berikut. Pesan menjadi penghubung antarbagian cerita.

PesanDikirim ketikaSprite/objek yang merespons
Ganti karakterAvery menyelesaikan bagian berjalan pertama.Sprite karakter yang diposisikan untuk adegan berikutnya.
ganti orangNoni mendekati Avery hingga jaraknya kurang dari 100.Noni mulai memperkenalkan diri dan bertanya nama.
Pertanyaan pertamaNoni selesai menyapa pemain.Avery memulai dialog balasan.
Kembali berjalanAvery selesai berbicara.Avery kembali bergerak.
Jalan lagiNoni selesai berbicara.Noni kembali berjalan.
Akhir ceritaAvery menyentuh tepi panggung setelah perjalanan.Sprite tulisan penutup tampil.

A broadcast message is like a signal. One sprite sends the signal, and another sprite reacts when it receives that message.

7. Konsep Pemrograman yang Dipelajari

BlokFungsiContoh dalam proyek
when green flag clickedMemulai script saat bendera hijau diklik.Memulai musik dan mengatur posisi awal.
when I receiveMenjalankan script saat pesan diterima.Memulai dialog atau gerakan berikutnya.
broadcastMengirim pesan ke sprite lain dan Stage.Mengatur pergantian adegan.
show / hideMenampilkan atau menyembunyikan sprite.Mengatur karakter yang sedang tampil.
next costumeMengganti ke kostum berikutnya.Membuat animasi berjalan dan terbang.
repeat / repeat untilMengulang perintah berdasarkan jumlah atau kondisi.Menggerakkan karakter sampai tepi.
touching edge?Mendeteksi apakah sprite menyentuh tepi panggung.Mengakhiri gerakan Avery.
distance toMengukur jarak ke sprite atau objek lain.Menghentikan Noni saat mendekati Avery.
ask and wait / answerMeminta dan menyimpan jawaban pemain.Menanyakan nama pemain.
joinMenggabungkan teks.Membuat sapaan menggunakan nama pemain.
start soundMemulai pemutaran suara.Memainkan musik latar.

8. Praktik Mandiri | Your Turn!

Praktik 1 — Ubah kecepatan

Ubah nilai move 10 steps menjadi 5, kemudian 20. Amati perbedaan kecepatan gerak Avery.

Change the movement value and compare the speed.

Praktik 2 — Ubah jarak

Ubah kondisi distance to Avery Walking < 100 menjadi kurang dari 60. Apa yang berubah?

Change the distance threshold and observe when Noni stops.

Praktik 3 — Dialog baru

Tambahkan satu kalimat dialog Noni yang menyebutkan tempat yang ingin dikunjungi.

Add a new line of dialogue for Noni.

Praktik 4 — Efek suara

Tambahkan suara ombak ketika backdrop Beach Rio tampil.

Add a wave sound when the beach backdrop appears.

9. Tantangan Pengembangan | Coding Challenge

  1. Tambahkan satu karakter baru yang menyapa Avery dan Noni.
  2. Buat agar pemain dapat memilih tujuan perjalanan dengan blok ask and wait.
  3. Jika pemain memilih “pantai”, tampilkan backdrop Beach Rio. Jika memilih “taman”, tampilkan backdrop lain.
  4. Tambahkan variabel Jumlah Percakapan yang bertambah setiap kali karakter menyelesaikan dialog.
  5. Buat tombol atau sprite yang dapat diklik untuk mengulang cerita dari awal.

Bonus: Buat dua akhir cerita berbeda berdasarkan pilihan pemain. Gunakan pesan broadcast untuk mengatur akhir cerita yang sesuai.

10. Kuis Evaluasi | Check Your Understanding

Pilih satu jawaban yang paling tepat untuk setiap pertanyaan.

1. Blok apa yang digunakan untuk mengirim pesan kepada sprite lain?
2. Apa fungsi blok when I receive?
3. Blok apa yang membuat pemain dapat mengetik namanya?
4. Apa fungsi next costume dalam animasi?
5. Kondisi distance to Avery Walking < 100 berarti...
6. Apa kegunaan blok join?
7. Jika sprite ingin terus bergerak sampai menyentuh tepi, blok yang tepat adalah...
8. Mengapa sprite menggunakan hide pada awal permainan?
Lihat kunci jawaban dan pembahasan
  1. B — broadcast. Mengirim pesan kepada sprite lain dan Stage.
  2. A — menjalankan script saat pesan diterima. Pasangan bloknya adalah broadcast dan when I receive.
  3. C — ask and wait. Memunculkan kotak input dan menunggu jawaban pemain.
  4. B — mengganti kostum. Pergantian kostum dapat membentuk animasi.
  5. A — jarak kurang dari 100. Operator kurang dari membandingkan hasil pengukuran jarak.
  6. B — menggabungkan teks. Join dapat menyusun sapaan dengan nama pemain.
  7. A — repeat until touching edge. Perintah berulang sampai kondisi menyentuh tepi terpenuhi.
  8. B — menyembunyikan sprite sementara. Sprite dapat ditampilkan lagi dengan show.

11. Refleksi | Reflection

  • Bagian script mana yang paling menantang untuk kamu buat?
  • Bagaimana broadcast membantu mengatur percakapan beberapa karakter?
  • Apa yang terjadi jika blok wait dihilangkan dari animasi?
  • Ide cerita apa yang ingin kamu buat setelah menyelesaikan proyek Avery dan Noni?
Pesan untuk siswa: Program yang menarik tidak hanya berjalan dengan benar, tetapi juga menyampaikan ide dan cerita. Terus bereksperimen, berani mencoba, dan jangan takut memperbaiki kesalahan kode. Setiap kesalahan adalah kesempatan untuk belajar.

12. Sumber Belajar Tambahan

Materi disusun sebagai panduan pembelajaran berdasarkan proyek Scratch Avery dan Noni. Nama blok ditulis mengikuti antarmuka Scratch berbahasa Inggris agar mudah dicocokkan dengan editor.