Bab 1: Modul Pembelajaran Kelas 8 (Versi Poin): Membuat Game Interaktif di Scratch


Modul Pembelajaran Kelas 8 (Versi Poin): Membuat Game Interaktif di Scratch


1. Pendahuluan

  • Pemrograman adalah keterampilan penting di era digital.

  • Scratch menjadi media pembelajaran terbaik untuk siswa SMP karena:

    • menggunakan blok visual,

    • mudah dipahami,

    • mendukung kreativitas.

  • Pada kelas 8, siswa diharapkan memahami konsep yang lebih kompleks:

    • variabel,

    • logika if,

    • operator matematika,

    • kontrol (repeat, wait, forever),

    • sistem skor, level, dan timer.

  • Tujuan pembelajaran:

    • siswa mampu membuat game interaktif,

    • siswa menerapkan konsep pemrograman ke dalam proyek nyata,

    • siswa mengembangkan kemampuan berpikir komputasional.


2. Konsep Variabel dalam Game

2.1 Pengertian Variabel

  • Variabel = tempat menyimpan data/informasi.

  • Mirip kotak yang diberi label, isinya dapat diganti kapan saja.

  • Dalam game, variabel berguna untuk menyimpan:

    • skor,

    • nyawa,

    • level,

    • waktu,

    • kecepatan musuh,

    • jumlah objek.

2.2 Fungsi Variabel

  • Membuat game menjadi dinamis.

  • Mengatur alur permainan.

  • Mengukur keberhasilan pemain.

  • Menyimpan data sementara selama game berjalan.

2.3 Blok Variabel di Scratch

  • set [variabel] to [nilai]

    • memberi nilai awal,

    • digunakan saat game dimulai.

  • change [variabel] by [angka]

    • menambah/mengurangi nilai variabel.

  • show / hide variable

    • menampilkan atau menyembunyikan variabel di layar.

  • Variabel hanya berlaku untuk sprite tertentu atau global (untuk semua sprite).


3. Sistem Skor dalam Game

3.1 Mengapa Skor Penting?

  • Menjadi indikator keberhasilan pemain.

  • Memberi motivasi untuk bermain lebih baik.

  • Membuat game lebih kompetitif dan menantang.

  • Menambah unsur kesenangan dan tujuan yang jelas.

3.2 Cara Membuat Skor

  • Buat variabel: Skor.

  • Di awal permainan:

    • blok: set [Skor] to (0).

  • Tentukan kondisi kapan skor bertambah.

  • Tambah skor menggunakan:

    • change [Skor] by (1).

3.3 Contoh Situasi Penambahan Skor

  • Pemain menangkap objek (buah, koin, bintang).

  • Pemain berhasil menghindari musuh.

  • Pemain menyelesaikan tugas tertentu.

  • Pemain memecahkan puzzle.

3.4 Menampilkan Skor

  • Gunakan opsi show variable agar skor terlihat di layar.

  • Bisa membuat sprite khusus bertuliskan “Skor:” agar lebih rapi.

  • Bisa menggunakan balon dialog sprite:

    • say (join [Skor:] (Skor)) for (2) seconds.


4. Sistem Level dalam Game

4.1 Apa Itu Level?

  • Level adalah tahapan permainan dengan kesulitan meningkat.

  • Digunakan untuk:

    • menambah tantangan,

    • mengatur progres permainan,

    • membuat game lebih panjang dan seru.

4.2 Cara Membuat Variabel Level

  • Buat variabel: Level.

  • Berikan nilai awal:

    • set [Level] to (1).

  • Tentukan syarat naik level, misalnya:

    • setiap skor 10 poin,

    • setiap musuh dikalahkan,

    • setiap tantangan selesai.

4.3 Contoh Logika Kenaikan Level

  • Ketika skor mencapai 10:

    • if <(Skor) = (10)> then change [Level] by (1).

  • Setelah naik level:

    • tingkatkan kesulitan game,

    • misalnya kecepatan musuh bertambah.

4.4 Bentuk Peningkatan Level

  • Musuh bergerak lebih cepat.

  • Objek jatuh lebih cepat.

  • Waktu permainan dipersingkat.

  • Jumlah item berkurang.

  • Tata letak level berubah.


5. Timer atau Hitungan Mundur

5.1 Pentingnya Timer

  • Menambah ketegangan permainan.

  • Membatasi durasi permainan.

  • Mendorong pemain bergerak cepat.

  • Cocok untuk game survival atau time challenge.

5.2 Cara Membuat Timer

  • Buat variabel: Timer.

  • Berikan nilai awal, contoh:

    • set [Timer] to (60).

  • Gunakan perulangan:

    repeat (60)
       change [Timer] by (-1)
       wait (1) seconds
    end
    

5.3 Reaksi Saat Timer Habis

  • Game over.

  • Sprite berhenti bergerak.

  • Tampilan pesan: “Waktu Habis!”

  • Arahkan ke layar hasil atau skor akhir.


6. Logika IF dalam Game

6.1 Fungsi Logika IF

  • Membuat percabangan keputusan.

  • Memeriksa kondisi.

  • Menentukan reaksi berdasarkan situasi.

  • Contoh kondisi:

    • menyentuh sprite tertentu,

    • skor mencapai nilai tertentu,

    • tombol ditekan,

    • jarak sprite mendekat.

6.2 Jenis Blok IF

  • if

    • menjalankan blok hanya jika kondisi benar.

  • if… else

    • dua kemungkinan aksi,

    • satu aksi jika kondisi benar,

    • aksi lain jika kondisi salah.

6.3 Contoh Penggunaan IF

  • Jika menyentuh apel → skor +1.

  • Jika menyentuh musuh → game over.

  • Jika tombol panah ditekan → sprite bergerak.


7. Operator Matematika

7.1 Jenis Operator di Scratch

  • Penjumlahan (+)

  • Pengurangan (–)

  • Perkalian (×)

  • Pembagian (÷)

  • Operator perbandingan (>, <, =)

  • Operator logika (AND, OR, NOT)

  • Random number generator:

    • pick random (1) to (10)

7.2 Fungsi Operator dalam Game

  • Menghitung skor.

  • Mengatur kecepatan musuh.

  • Menentukan posisi acak.

  • Mengukur jarak antara sprite.

  • Menentukan kondisi untuk naik level.

7.3 Contoh Situasi

  • Buah muncul di posisi acak:

    • go to x: (pick random -200 to 200) y: (170)

  • Musuh bergerak lebih cepat jika level naik:

    • set [Kecepatan] to (Level * 2).


8. Blok Kontrol

8.1 Repeat

  • Mengulang aksi sejumlah tertentu.

  • Contoh:

    • membuat timer,

    • membuat animasi pendek.

8.2 Forever

  • Loop tanpa akhir.

  • Digunakan untuk:

    • pergerakan sprite,

    • animasi musuh.

8.3 Wait

  • Memberi jeda waktu.

  • Cocok untuk:

    • timer,

    • ritme permainan,

    • membuat aksi tidak terlalu cepat.


9. Penerapan Lengkap: Membuat Game

9.1 Judul Game: “Tangkap Buah!”

Fitur Game:

  • Pemain menggerakkan keranjang.

  • Buah jatuh dari atas.

  • Jika tertangkap → skor +1.

  • Setiap 10 skor → level naik.

  • Kecepatan buah meningkat setiap level.

  • Timer 45 detik.

  • Game over ketika waktu habis.


9.2 Variabel yang Dibutuhkan

  • Skor

  • Level

  • Timer

  • Kecepatan Buah


9.3 Pengaturan Awal Game

  • Ketika bendera hijau diklik:

    • set [Skor] to (0)

    • set [Level] to (1)

    • set [Timer] to (45)

    • set [Kecepatan Buah] to (2)


9.4 Logika Jatuhnya Buah

  • Lokasi awal buah acak.

  • Turun hingga menyentuh keranjang atau tanah.

  • Jika tersentuh keranjang → skor naik.

  • Jika tidak → ulangi dari atas.

Blok poin:

  • go to x (acak) y (atas)

  • repeat until <touching Keranjang>

    • turunkan y dengan kecepatan

  • Kondisi setelah repeat:

    • Jika menyentuh keranjang → change Skor by (1)

    • Jika tidak → munculkan kembali.


9.5 Mekanisme Level

  • Saat skor mencapai 10:

    • Naik level:

      • change Level by (1)

    • Restart skor:

      • set Skor to 0

    • Tambah kecepatan:

      • change Kecepatan Buah by (1)


9.6 Pembuatan Timer

  • Gunakan blok:

    repeat (45)
       change [Timer] by (-1)
       wait (1) seconds
    end
    
  • Pada akhir repeat:

    • broadcast “Game Over”

    • hentikan semua pergerakan.


9.7 Mengakhiri Game

  • Tampilkan pesan:

    • “Game Over!” atau “Waktu Habis!”

  • Hentikan seluruh sprite:

    • stop all

  • Tampilkan skor dan level akhir.


10. Penilaian Siswa

10.1 Penilaian Pengetahuan

  • Siswa dapat menjelaskan:

    • fungsi variabel,

    • fungsi blok if,

    • perbedaan repeat dan forever,

    • fungsi operator matematika.

10.2 Penilaian Keterampilan

  • Siswa mampu membuat game lengkap.

  • Menggunakan skor, timer, dan level.

  • Menyusun logika permainan dengan benar.

  • Game berjalan tanpa error.

10.3 Penilaian Sikap

  • Kreativitas dalam membuat game.

  • Ketekunan dalam debugging.

  • Kerjasama saat bekerja dalam kelompok.


11. Kesimpulan

  • Variabel, logika if, operator, dan kontrol adalah dasar penting dalam pembuatan game.

  • Fitur skor, level, dan timer membuat game lebih menarik dan menantang.

  • Scratch memberikan pengalaman langsung belajar berpikir komputasional.

  • Dengan latihan, siswa dapat membuat game original dan kreatif.





Comments

Post a Comment

Popular posts from this blog

RANGKUMAN BAB 5

RANGKUNMAN BAB 1