Rangkuman Bab 1 Buku ai Pak Ono Akram Jabbar Hadi 8B 06
Bab 1 Buku ai
1. Konsep Variabel: "Kantong Penyimpan
Informasi"
Dalam pemrograman, Variabel diibaratkan sebagai
"kantong" atau wadah yang bertugas menyimpan berbagai jenis data atau
informasi yang nilainya dapat berubah selama permainan berlangsung. Tanpa
variabel, game akan bersifat statis; tidak ada yang bisa dihitung, diukur, atau
diingat oleh program.
Tiga variabel esensial untuk game lanjutan yang dibahas
di sini adalah:
- Variabel
Skor (Score Variable):
- Fungsi
Utama: Digunakan untuk melacak performa pemain dengan menghitung jumlah
poin yang telah dikumpulkan.
- Implementasi
di Scratch: Variabel skor umumnya diinisialisasi (diatur nilai awalnya)
menjadi 0 di awal permainan menggunakan blok set [skor] to (0).
- Aksi
Dinamis: Ketika pemain berhasil melakukan suatu tindakan positif
(misalnya, mengenai target atau menjawab benar), nilainya akan diubah
menggunakan blok kunci: change [skor] by (10). Nilai positif akan
menambah skor, sementara nilai negatif dapat digunakan sebagai penalti.
- Variabel
Level (Level Variable):
- Fungsi
Utama: Menyimpan informasi mengenai tingkat kesulitan atau tahapan
(stage) game saat ini. Ini penting untuk membuat tantangan yang semakin
meningkat.
- Implementasi
Logika: Level biasanya ditingkatkan (misalnya dari Level 1 ke Level 2)
berdasarkan kondisi tertentu, bukan sekadar waktu. Contohnya, jika skor
> 100, maka variabel level harus ditingkatkan dengan blok change
[level] by (1) dan kecepatan atau frekuensi rintangan dalam game harus
ditingkatkan.
- Manfaat:
Memastikan game memiliki replay value yang tinggi dan memberikan
rasa pencapaian bagi pemain.
- Variabel
Timer (Timer Variable):
- Fungsi
Utama: Digunakan untuk mengelola aspek waktu dalam game, yang bisa
berfungsi sebagai pengukur batas waktu atau durasi permainan.
- Mode
Hitung Mundur (Countdown): Nilai awal diatur tinggi (misalnya set [timer]
to (60)), kemudian secara berkala nilainya dikurangi (change [timer] by
(-1)) menggunakan perulangan repeat until atau forever dengan jeda waktu wait
(1) seconds. Game akan berakhir saat timer mencapai 0.
- Mode
Hitung Naik (Stopwatch): Nilai awal diatur 0, dan terus bertambah,
mengukur berapa lama pemain bertahan.
2. Operator Matematika dan Logika: Otak dari Game
Operator adalah perintah yang memungkinkan Scratch
memproses data dan membuat keputusan, berfungsi sebagai "otak" di
balik logika game.
- Operator
Aritmatika (Matematika):
- Mencakup
+ (penjumlahan), - (pengurangan), * (perkalian), dan / (pembagian).
- Penerapan:
Digunakan untuk perhitungan seperti menentukan nilai skor (misalnya, Skor
Akhir = Skor Koin * Level) atau menghitung posisi objek.
- Operator
Perbandingan:
- Mencakup
> (lebih besar dari), < (lebih kecil dari), dan = (sama dengan).
- Penerapan:
Ini adalah inti dari pengambilan keputusan (Conditional Statements).
Operator ini selalu menghasilkan nilai Boolean (TRUE atau FALSE).
Misalnya, syarat untuk naik level adalah (skor > 100). Jika kondisi
ini TRUE, maka level akan naik.
- Operator
Logika:
- Mencakup
and, or, dan not. Digunakan untuk menggabungkan atau membalikkan hasil
dari beberapa perbandingan.
- Penerapan:
- AND:
Digunakan saat semua kondisi harus terpenuhi. Contoh: Game Over
jika (timer = 0) AND (health = 0).
- OR:
Digunakan saat salah satu kondisi sudah cukup terpenuhi. Contoh:
Koin muncul jika (level = 1) OR (level = 3).
- NOT:
Digunakan untuk membalikkan suatu kondisi. Contoh: Terus bermain NOT
(Game Over).
3. Blok Kontrol: Mengatur Alur Permainan
Blok Kontrol (Control Blocks) adalah blok yang menentukan
urutan dan kondisi eksekusi kode. Ini adalah bagian yang membuat game memiliki
alur cerita dan perilaku yang terstruktur.
- Kontrol
Bersyarat (if/then dan if/then/else):
- Memungkinkan
program untuk menjalankan blok kode tertentu hanya jika suatu
kondisi (hasil dari Operator Perbandingan/Logika) terpenuhi.
- Contoh:
if (touching [musuh]) then { change [health] by (-10) }.
- Kontrol
Waktu (wait (1) seconds):
- Membuat
jeda dalam eksekusi kode, sangat penting untuk mengatur timing
aksi, seperti menembak, bergerak, atau menghitung mundur timer.
- Kontrol
Perulangan (repeat until dan forever):
- forever:
Mengulang blok kode tanpa henti. Ini adalah blok yang paling sering
digunakan untuk logika utama game (misalnya, mengecek pergerakan pemain,
menanggapi sentuhan, dan memantau status skor).
- repeat
until: Mengulang blok kode sampai suatu kondisi tertentu menjadi
TRUE. Ini sangat cocok digunakan untuk mengelola Timer Hitung Mundur
(berulang sampai timer = 0) atau untuk mengulang level sampai pemain
mencapai skor tertentu.
Dalam pemrograman, Variabel diibaratkan sebagai
"kantong" atau wadah yang bertugas menyimpan berbagai jenis data atau
informasi yang nilainya dapat berubah selama permainan berlangsung. Tanpa
variabel, game akan bersifat statis; tidak ada yang bisa dihitung, diukur, atau
diingat oleh program.
Tiga variabel esensial untuk game lanjutan yang dibahas di
sini adalah:
- Variabel
Skor (Score Variable):
- Fungsi
Utama: Digunakan untuk melacak performa pemain dengan menghitung jumlah
poin yang telah dikumpulkan.
- Implementasi
di Scratch: Variabel skor umumnya diinisialisasi (diatur nilai awalnya)
menjadi 0 di awal permainan menggunakan blok set [skor] to (0).
- Aksi
Dinamis: Ketika pemain berhasil melakukan suatu tindakan positif
(misalnya, mengenai target atau menjawab benar), nilainya akan diubah
menggunakan blok kunci: change [skor] by (10). Nilai positif akan
menambah skor, sementara nilai negatif dapat digunakan sebagai penalti.
- Variabel
Level (Level Variable):
- Fungsi
Utama: Menyimpan informasi mengenai tingkat kesulitan atau tahapan
(stage) game saat ini. Ini penting untuk membuat tantangan yang semakin
meningkat.
- Implementasi
Logika: Level biasanya ditingkatkan (misalnya dari Level 1 ke Level 2)
berdasarkan kondisi tertentu, bukan sekadar waktu. Contohnya, jika skor
> 100, maka variabel level harus ditingkatkan dengan blok change
[level] by (1) dan kecepatan atau frekuensi rintangan dalam game harus
ditingkatkan.
- Manfaat:
Memastikan game memiliki replay value yang tinggi dan memberikan
rasa pencapaian bagi pemain.
- Variabel
Timer (Timer Variable):
- Fungsi
Utama: Digunakan untuk mengelola aspek waktu dalam game, yang bisa
berfungsi sebagai pengukur batas waktu atau durasi permainan.
- Mode
Hitung Mundur (Countdown): Nilai awal diatur tinggi (misalnya set [timer]
to (60)), kemudian secara berkala nilainya dikurangi (change [timer] by
(-1)) menggunakan perulangan repeat until atau forever dengan jeda waktu wait
(1) seconds. Game akan berakhir saat timer mencapai 0.
- Mode
Hitung Naik (Stopwatch): Nilai awal diatur 0, dan terus bertambah,
mengukur berapa lama pemain bertahan.
2. Operator Matematika dan Logika: Otak dari Game
Operator adalah perintah yang memungkinkan Scratch memproses
data dan membuat keputusan, berfungsi sebagai "otak" di balik logika
game.
- Operator
Aritmatika (Matematika):
- Mencakup
+ (penjumlahan), - (pengurangan), * (perkalian), dan / (pembagian).
- Penerapan:
Digunakan untuk perhitungan seperti menentukan nilai skor (misalnya, Skor
Akhir = Skor Koin * Level) atau menghitung posisi objek.
- Operator
Perbandingan:
- Mencakup
> (lebih besar dari), < (lebih kecil dari), dan = (sama dengan).
- Penerapan:
Ini adalah inti dari pengambilan keputusan (Conditional Statements).
Operator ini selalu menghasilkan nilai Boolean (TRUE atau FALSE).
Misalnya, syarat untuk naik level adalah (skor > 100). Jika kondisi
ini TRUE, maka level akan naik.
- Operator
Logika:
- Mencakup
and, or, dan not. Digunakan untuk menggabungkan atau membalikkan hasil
dari beberapa perbandingan.
- Penerapan:
- AND:
Digunakan saat semua kondisi harus terpenuhi. Contoh: Game Over
jika (timer = 0) AND (health = 0).
- OR:
Digunakan saat salah satu kondisi sudah cukup terpenuhi. Contoh:
Koin muncul jika (level = 1) OR (level = 3).
- NOT:
Digunakan untuk membalikkan suatu kondisi. Contoh: Terus bermain NOT
(Game Over).
3. Blok Kontrol: Mengatur Alur Permainan
Blok Kontrol (Control Blocks): Arsitek Logika Program
Blok Kontrol merupakan tulang punggung logika pemrograman di
Scratch. Mereka tidak melakukan aksi visual (seperti bergerak atau
berganti kostum), melainkan menentukan kapan, berapa kali, dan dalam kondisi
apa blok-blok aksi akan dijalankan. Blok kontrol membuat program kita
"berpikir" dan merespons situasi secara dinamis.
1. Kontrol Bersyarat (if/then dan if/then/else)
Kontrol bersyarat adalah mekanisme pengambilan keputusan
utama dalam pemrograman. Mereka memungkinkan program untuk bertindak berbeda
berdasarkan hasil dari suatu kondisi.
- Logika
Inti: Kontrol bersyarat bergantung pada hasil Boolean (TRUE
atau FALSE) yang dihasilkan oleh Operator Perbandingan atau Operator
Logika.
- Blok
if/then (Jika/Maka):
- Ini
adalah struktur bersyarat yang paling sederhana. Kode di dalamnya hanya
akan dieksekusi jika kondisi yang dimasukkan ke slot heksagonalnya
bernilai TRUE.
- Penerapan
Ekstensif: Digunakan untuk:
- Deteksi
Tabrakan: if (touching [musuh]) then { change [health] by (-10) }.
Jika tabrakan terjadi (TRUE), maka kesehatan berkurang.
- Pencapaian
Skor: if (score > 100) then { next backdrop }. Jika skor
melampaui 100 (TRUE), maka latar belakang (level) berganti.
- Blok
if/then/else (Jika/Maka/Selain Itu):
- Ini
adalah versi yang lebih lengkap. Program harus memilih salah satu dari
dua jalur eksekusi, menjamin bahwa selalu ada aksi yang dilakukan.
- Jika
kondisi bernilai TRUE, blok di bagian if dijalankan.
- Jika
kondisi bernilai FALSE, blok di bagian else (Selain Itu)
dijalankan.
- Penerapan
Kuis: Sangat penting untuk kuis, misalnya: if (answer =
"Benar") then { katakan "Luar Biasa!" } else {
katakan "Coba Lagi" }.
2. Kontrol Waktu (wait (1) seconds)
Kontrol waktu adalah blok sederhana namun krusial yang
menyuntikkan realisme dan mengatur timing dalam game.
- Fungsi
Utama: Blok ini menghentikan eksekusi skrip saat ini untuk
durasi yang ditentukan.
- Pentingnya
Timing: Dalam sebuah game, jeda ini penting untuk:
- Animasi:
Memberi jeda antar pergantian kostum untuk menciptakan ilusi berjalan.
- Flow
Permainan: Setelah karakter terluka, mungkin perlu jeda singkat (wait
(0.5) seconds) sebelum program kembali memproses potensi tabrakan lagi
(agar pemain tidak langsung mati karena tabrakan berulang dalam satu frame).
- Narrative/Dialog:
Memberi waktu yang cukup bagi pemain untuk membaca dialog atau pesan di
layar sebelum skrip berlanjut.
- Timer:
Seperti yang sudah dibahas di Bab 1, blok ini wajib digunakan bersama
perulangan untuk mengurangi variabel timer setiap satu detik.
3. Kontrol Perulangan (repeat until dan forever)
Perulangan (Looping) adalah konsep mendasar yang
memungkinkan program menjalankan urutan instruksi yang sama berulang kali tanpa
perlu menulis kode yang sama berulang kali. Ini adalah cara Scratch menghemat
kode dan menjalankan tugas berkelanjutan.
- Blok
forever (Selamanya):
- Fungsi:
Mengulang blok kode yang ada di dalamnya tanpa batas (sampai program
dihentikan secara manual oleh pemain/tombol stop).
- Penerapan
sebagai "Jantung" Game: Blok forever adalah tempat sebagian
besar logika utama game diletakkan. Ini termasuk:
- Mengecek
pergerakan karakter (kapan tombol panah ditekan).
- Mendeteksi
tabrakan yang terus-menerus (if touching [item] then...).
- Mengontrol
objek yang harus bergerak secara konstan (misalnya, awan yang terus
bergeser di latar belakang).
- Memantau
kondisi skor atau kesehatan secara real-time.
- Blok
repeat until (Ulangi Sampai):
- Fungsi:
Mengulang blok kode di dalamnya hanya sampai kondisi yang
dimasukkan ke slot heksagonalnya menjadi TRUE. Setelah kondisi
terpenuhi, perulangan berhenti dan program berlanjut ke blok berikutnya
(jika ada).
- Penerapan
Berorientasi Tujuan: Blok ini sangat berguna untuk tugas yang
memiliki akhir yang jelas:
- Timer
Hitung Mundur: Mengulang logika pengurangan timer repeat until
(timer = 0).
- Menunggu
Event: repeat until (key [space] pressed) untuk menunggu pemain
memulai aksi.
- Level
Selesai: Mengulang aksi musuh repeat until (score > 200)
(menunjukkan bahwa level berakhir ketika skor tercapai).
Dengan mengkombinasikan ketiga jenis blok kontrol
ini—Keputusan Bersyarat, Jeda Waktu, dan Perulangan—seorang programmer
Scratch dapat menciptakan alur program yang kompleks, responsif, dan logis,
yang merupakan ciri khas dari sebuah game yang terstruktur dengan baik.
bermanfaat sekali untuk AAS, terima kasih
BalasHapusbermanfaat sekli
BalasHapusArtikel ini sangat berguna menurutku, semoga artikel yang lain juga bermanfaat
BalasHapussangat keren
BalasHapusSangat berguna dan bermanfaat. terimakasih
BalasHapusBlog ini sangat bagus dan keren
BalasHapussangat bermanfaat
BalasHapuskerenn
BalasHapusyOOOO keren banget bro artikelnya
BalasHapus