# Starter Kuis Reaksi SMA · Pemula · sesi 1–8 ## Memakai starter Ekstrak seluruh ZIP, Project Manager → Import → project.godot, lalu F5. Panah bergerak pada mode fisika; petunjuk kontrol khusus ada pada HUD. R membuat scene baru. Siapkan folder terpisah sebelum mengubah kode. Godot 4.x; contoh diperiksa dengan 4.4.1 Compatibility. ## Cakupan yang tersedia Control Button, tunggu menggunakan jam frame, deteksi klik awal/sah, hasil, dan reset. Timer acak serta tiga percobaan adalah tugas integrasi. Starter adalah acuan struktur dan mekanik minimum, bukan proyek akhir yang memenuhi semua rubrik. Gunakan lab sesi untuk menguji konsep kecil. Siswa membangun integrasi dan keputusan sendiri sesuai tugas presentasi. Tidak ada build executable yang diklaim telah diuji oleh paket ini. ## Susunan node saat runtime Node dibuat oleh world.gd dari bentuk dasar. Jalankan F6 lalu lihat Scene → Remote untuk menelusuri pohonnya. Untuk belajar konstruksi editor, buat scene siswa terpisah dan tambahkan node melalui tombol + sesuai fungsi helper di world.gd. ```text Arena2D Arena → CharacterBody2D / StaticBody2D / Area2D (mode fisika) CanvasLayer → Label (HUD) Button (mode antarmuka) Timer (mode spawn) ``` ## Cara membangun di editor 1. Buat root Node2D/Control sesuai tugas, simpan scene. 2. Tambahkan bentuk visual dan collision secara terpisah. Collider harus anak badan/area, bukan hanya mesh. Pada 3D, tambahkan kamera current dan lampu. 3. Tambahkan script pada node yang tepat. Implementasikan satu mekanik dari tugas sesi, uji, baru lanjut. 4. Hubungkan signal sekali lewat panel Node atau _ready. Label membaca model, bukan menjadi sumber keadaan. 5. Catat input, keadaan awal, harapan, aktual, perbaikan, dan batas pengujian. ## Urutan praktik - Sesi 1: Editor scene dan Control. Buat proyek Godot 4, susun Control, Label dan Button, simpan scene lalu jalankan scene utama - Sesi 2: Script print() dan indentasi. Pasang script extends Control; jalankan print(), buat satu kesalahan indentasi lalu baca dan perbaiki pesan Output - Sesi 3: Variabel tipe data dan operator. Pisahkan int nomor percobaan, float waktu respons, bool siap, dan String pesan; prediksi hasil penambahan serta pembanding - Sesi 4: Fungsi parameter dan return. Tulis fungsi yang menerima dua waktu dalam milidetik lalu mengembalikan selisih detik; panggil dengan dua pasangan angka uji - Sesi 5: if dan signal tombol. Hubungkan pressed, gunakan if untuk membedakan klik terlalu awal dan klik yang sah; jelaskan kapan bool siap berubah - Sesi 6: Timer dan waktu respons. Satu Timer memberi jeda acak terbatas; pada timeout catat Time.get_ticks_msec(), ubah lampu, lalu hitung respons pada klik pertama - Sesi 7: Tiga percobaan dan reset. Gunakan penghitung tiga percobaan, hentikan input setelah hasil, dan reset Timer, nomor, warna serta pesan; jangan hitung klik ganda - Sesi 8: Presentasi: Kuis Reaksi. Uji klik sebelum hijau, klik sah, klik ganda, dan dua putaran tiga percobaan; jelaskan alur event tanpa menyalin script ## Kriteria proyek - Scene utama dan script tersimpan serta parse error dapat dijelaskan - Fungsi selisih mengembalikan 0,25 detik untuk 1000 dan 1250 milidetik - Klik awal ditolak dan satu respons sah dihitung tepat sekali - Tiga percobaan selesai dan reset tidak menyisakan Timer aktif Sumber: https://docs.godotengine.org/en/stable/