MATERI
MATERI
PEMROGRAMAN BLOK
A. Pengertian
Merupakan metode pemrograman yang menggunakan antarmuka visual, di mana setiap perintah atau fungsi diwakili oleh "blok" yang bisa digabungkan tanpa menulis kode secara manual. Setiap blok mewakili perintah tertentu dalam pemrograman, dan pengguna dapat menyusunnya dengan cara "menarik dan melepaskan" (drag and drop) untuk membentuk sebuah program. Metode ini cocok untuk pemula karena lebih sederhana dan intuitif.
B. Manfaat
Berikut beberapa manfaat pemrograman blok:
1. Meningkatkan Pemahaman Logika Komputer
Pemrograman blok dapat membantu siswa memahami konsep dasar logika pemrograman seperti urutan, pengulangan dan pengkondisian tanpa penulisan kode.
2. Membuka Pintu Untuk Pembelajaran Pemrograman Lanjutan
Pemrograman blok menjadi langkah awal yang baik sebelum beralih ke bahasa pemrograman berbasis teks.
3. Mengembangkan keterampilan berpikir logis
Dengan merancang alur program, dapat mendorong siswa untuk memecahkan masalah secara sistematis.
C. Komponen Utama
Berikut beberapa komponen yang ada pada pemrograman blok, yaitu:
1. Blok
Setiap blok mewakili instruksi atau perintah dalam program. Blok dapat berupa:
· Blok Aksi: Menjalankan perintah seperti gerakan atau perubahan tampilan.
· Blok Kontrol: Mengatur alur program, seperti pengulangan atau percabangan.
· Blok Variabel: Mengelola data yang dapat disimpan dan diubah selama program berjalan.
2. Workspace (lahan kerja)
Area tempat kita menyusun dan menghubungkan blok-blok. Di dalam workspace, kita dapat menata dan menyesuaikan blok untuk membentuk urutan program.
3. Categories (Kategori blok)
Blok-blok dikelompokkan dalam kategori berdasarkan fungsi mereka. Beberapa kategori umum meliputi:
· Motion (Gerakan): Untuk menggerakkan objek (sprite).
· Looks (Tampilan): Untuk mengubah tampilan objek.
· Sound (Suara): Untuk memainkan suara.
· Events (Peristiwa): Untuk memulai program atau merespons input.
· Control (Kontrol): Untuk struktur alur seperti perulangan dan percabangan.
D. Dasar-dasar Pemrograman Blok
Berikut dasar-dasar dalam pemrograman blok, yaitu:
1. Gerakan Sprite
Untuk menggerakan objek (sprite), dapat digerakkan dengan menggunakan blok gerakan. Contohnya:
· Blok “move 10 steps” akan membuat sprite bergerak maju sejauh 10 langkah.
· Blok “turn” digunakan untuk memutar sprite ke kiri atau ke kanan.
2. Pengulangan (Looping)
Pengulangan memungkinkanuntuk menjalankan perintah tertentu beberapa kali. Contoh blok pengulangan:
· “Repeat 10” membuat perintah dalam blok tersebut dijalankan sebanyak 10 kali.
· “Forever” menjalankan perintah secara terus menerus.
3. Percabangan (Conditional)
Dengan percabangan, memungkinkan membuat program mengambil keputusan berdasarkan kondisi tertentu:
· “IF” blok akan menjalankan perintah jika kondisi telah terpenuhi.
· “IF-Then” blok memberikan dua opsi tindakan jika kondisi berbeda terjadi.
4. Variabel dan Data
Variabel digunakan untuk menyimpan dan mengubah data dalam program. Blok variabel dapat digunakan untuk:
· Menyimpan angka atau teks.
· Mengubah nilai variabel selama program berjalan.
E. Objek-objek yang Terdapat pada Pemrograman Blok
Objek dalam pemrograman blok mencakup berbagai elemen yang digunakan untuk mengatur dan mengontrol program.
1. Sprite
· Definisi: Sprite adalah objek utama dalam pemrograman blok, terutama di platform seperti Scratch. Sprite adalah entitas visual yang bisa bergerak, berbicara, dan berinteraksi dengan elemen lain di dalam program.
· Fungsi: Sprite bisa berupa gambar atau karakter yang dapat diprogram untuk bergerak, berubah tampilan, berbicara, atau bereaksi terhadap perintah dalam program.
· Contoh: Karakter kartun, objek bergerak, atau gambar lainnya yang dapat dimanipulasi melalui pemrograman blok.
2. Stage (Latar atau Panggung)
· Definisi: Stage adalah area tempat sprite bergerak dan berinteraksi. Di Scratch, ini adalah latar belakang tempat aksi program terjadi.
· Fungsi: Tempat di mana sprite dapat bergerak, tampil, dan berinteraksi. Latar ini juga bisa diganti dengan berbagai desain sesuai kebutuhan program.
· Contoh: Latar belakang pantai, ruang kelas, atau kota.
3. Costume (Kostum)
· Definisi: Kostum adalah gambar atau tampilan berbeda dari sebuah sprite yang dapat diganti-ganti dalam program.
· Fungsi: Kostum memungkinkan sprite untuk berubah tampilan, seperti mengganti pakaian atau ekspresi wajah.
· Contoh: Kostum karakter yang berubah saat berlari atau berbicara, atau animasi untuk sprite.
4. Variable (Variabel)
· Definisi: Variabel adalah objek yang digunakan untuk menyimpan data yang dapat berubah selama program berjalan.
· Fungsi: Variabel menyimpan nilai yang dapat digunakan untuk berbagai tujuan, seperti menghitung skor, jumlah hidup, atau waktu.
· Contoh: score, time, health, level.
5. List (Daftar)
· Definisi: Daftar adalah objek yang digunakan untuk menyimpan kumpulan nilai dalam bentuk list atau array.
· Fungsi: Daftar memungkinkan program untuk menyimpan banyak nilai dalam satu objek. Misalnya, daftar nama, daftar angka, atau daftar item dalam permainan.
· Contoh: Daftar skor tertinggi, daftar karakter dalam permainan, daftar benda yang ditemukan.
6. Sound (Suara)
· Definisi: Suara adalah objek yang digunakan untuk menambahkan efek suara atau musik dalam program.
· Fungsi: Suara digunakan untuk memberikan umpan balik audio pada pengguna atau untuk membuat program lebih interaktif dan menarik.
· Contoh: Efek suara untuk klik, suara animasi, atau musik latar.
7. Blocks (Blok)
· Definisi: Blok adalah objek utama dalam pemrograman blok itu sendiri. Setiap blok mewakili perintah atau fungsi dalam program.
· Fungsi: Blok digunakan untuk membentuk alur logika program dengan cara menghubungkannya satu sama lain. Ada berbagai jenis blok, termasuk blok aksi, kontrol, variabel, dan operator.
· Contoh: Blok "move 10 steps", blok "if-else", blok "repeat until", dan lain-lain.
8. Broadcast Message (Pesan)
· Definisi: Pesan adalah objek yang digunakan untuk mengirimkan sinyal atau notifikasi antar sprite atau bagian program.
· Fungsi: Dengan menggunakan pesan, sprite lain dapat diberi tahu untuk melakukan aksi tertentu (misalnya, sprite lain bergerak saat pesan diterima).
· Contoh: start_game, game_over, level_up.
9. Timer
· Definisi: Timer adalah objek yang digunakan untuk mengukur waktu dalam program.
· Fungsi: Timer dapat digunakan untuk memberikan jeda atau mengatur waktu pada bagian tertentu dari program (misalnya, hitung mundur dalam permainan).
· Contoh: Timer yang menghitung mundur untuk permainan, atau timer untuk menunggu beberapa detik sebelum melanjutkan.
10. Clone (Klon)
· Definisi: Klon adalah salinan dari sprite yang dapat dibuat dan digunakan dalam program.
· Fungsi: Klon memungkinkan sprite untuk digandakan secara otomatis. Setiap klon dapat memiliki aksi dan perilaku yang sama atau berbeda.
· Contoh: Menggandakan karakter atau objek dalam permainan agar tampil lebih banyak.
11. Coordinate (Kordinate)
· Definisi: Koordinat adalah posisi sprite pada sumbu X dan Y dalam ruang dua dimensi.
· Fungsi: Koordinat digunakan untuk menentukan lokasi objek di layar, serta menggerakkan objek ke posisi tertentu.
· Contoh: Menggerakkan sprite ke koordinat X: 100, Y: 50, atau mengikuti mouse berdasarkan koordinatnya.
12. Effects (Efek)
· Definisi: Efek adalah perubahan visual yang diterapkan pada sprite untuk memberikan tampilan khusus.
· Fungsi: Efek dapat digunakan untuk memberikan tampilan yang lebih menarik atau interaktif, seperti perubahan warna, transparansi, atau pengaturan tampilan lainnya.
· Contoh: Efek "ghost" untuk membuat sprite transparan, efek "color" untuk mengubah warna sprite.
13. My Blocks (Blok Fungsi Kustom)
· Definisi: Fungsi kustom adalah blok khusus yang dibuat oleh pengguna untuk menjalankan serangkaian instruksi.
· Fungsi: Memungkinkan untuk membuat blok kustom yang dapat digunakan berulang kali dalam program.
· Contoh: Sebuah blok untuk menghitung skor atau membuat animasi khusus.
14. Event (Peristiwa)
· Definisi: Event adalah objek yang memicu aksi dalam program berdasarkan suatu kondisi atau peristiwa tertentu, seperti klik tombol atau perubahan posisi sprite.
· Fungsi: Menyebabkan program untuk merespons kejadian tertentu.
· Contoh: when green flag clicked, when [space] key pressed, when I receive [message].
F. Jenis-jenis Blok yang Terdapat pada Pemrograman Blok
Pada pemrograman blok, blok-blok digunakan untuk mewakili perintah dan instruksi yang membentuk alur program. Setiap jenis blok memiliki fungsi yang berbeda, dan blok-blok ini biasanya dikelompokkan berdasarkan kategori fungsionalitasnya.
1. Blok Aksi (Action)
Blok aksi digunakan untuk menjalankan perintah langsung, seperti menggerakkan sprite atau mengubah tampilannya.
· Motion (Gerakan)
o Move : Berfungsi untuk menggerakan sprite.
o Turn : Berfungsi untuk memutar sprite ke kanan atau ke kiri.
o Go to : Berfungsi untuk memindahkan sprite ke posisi tertentu.
o Glide : Berfungsi untuk membuat sprite bergerak mulus ke posisi tertentu dalam waktu tertentu.
· Looks (Tampilan)
o Say : Berfungsi untuk membuat sprite berbicara dalam waktu tertentu.
o Switch Costume : Berfungsi untuk mengubah tampilan sprite menjadi kostum lain.
o Set Size : Berfungsi untuk mengubah ukuran sprite.
o Show and Hide : Berfungsi untuk menampilkan atau menyembunyikan sprite.
· Sound (Suara)
o Play Sound : Berfungsi untuk memutar suara tertentu.
o Stop All Sounds : Berfungsi untuk menghentikan semua suara yang sedang diputar.
o Play Drum : Berfungsi untuk memainkan suara drum.
2. Blok Kontrol (Control Blocks)
Blok kontrol digunakan untuk mengatur alur program, seperti pengulangan, percabangan, dan pengaturan waktu.
· Looping (Perulangan)
o Repeat : Berfungsi untuk mengulang perintah sejumlah yang ditentukan.
o Forever : Berfungsi untuk mengulang perintah secara terus menerus.
o Repeat Until : Berfungsi untuk mengulang perintah sampai terpenuhinya kondisi tertentu.
· Conditional (Percabangan)
o If then : Berfungsi untuk menjalankan blok jika kondisi bernilai benar.
o If then else : Berfungsi untuk menjalankan blok jika kondisi benar, dan blok lain dalam kondisi salah.
· Wait (Tunggu)
Berfungsi untuk menunggu selama waktu yang ditentukan sebelum melanjutkan eksekusi program.
3. Blok Variabel (Variable Blocks)
Blok variabel digunakan untuk menyimpan dan mengubah data.
· Set to : Berfungsi untuk menetapkan nilai awal variabel.
· Change : Berfungsi untuk mengubah nilai variabel dengan menambahkannya dengan angka tertentu.
· Show Variable : Berfungsi untuk menampilkan nilai variabel di layar.
· Hide Variable : Berfungsi untuk menyembunyikan variabel dari layar.
4. Blok Pengoperasian (Operator Blocks)
Blok pengoperasian digunakan untuk melakukan perhitungan matematika dan logika.
· Matematika
o Add to : Berfungsi untuk menambahkan angka ke variabel.
o Subtract from : Berfungsi untuk mengurangi angka dari variabel.
o Multiply by : Berfungsi untuk mengalikan dua angka.
o Divide by : Berfungsi untuk membagi dua angka.
o Pick Random to : Berfungsi untuk menghasilkan angka acak dalam rentang tertentu.
· Logika
o And : Berfungsi untuk mengembalikan nilai benar jika kedua kondisi terpenuhi.
o Or : Berfungsi untuk mengembalikan nilai benar jika salah satu kondisi terpenuhi.
o Not : Berfungsi untuk membalikkan nilai logika (misalnya, jika salah menjadi benar).
5. Blok Pengujian (Sensing Blocks)
Blok sensing digunakan untuk mendeteksi input dari pengguna atau lingkungan.
· Pengujian Sentuhan (Touching)
Berfungsi untuk memeriksa apakah sprite menyentuh objek atau titik tertentu (misalnya mouse atau sprite lain).
· Pengujian Warna
Berfungsi untuk memeriksa apakah sprite menyentuh warna tertentu.
· Pengujian Posisi
o Mouse x : Berfungsi untuk mengambil posisi X mouse.
o Mouse y : Berfungsi untuk mengambil posisi Y mouse.
· Input Pengguna
o Key Pressed : Berfungsi untuk memeriksa apakah tombol tertentu ditekan.
o Ask and Wait : Berfungsi untuk meminta input dari pengguna dan menyimpannya dalam variabel.
6. Blok Events (Event Blocks)
Blok event digunakan untuk memulai eksekusi program berdasarkan suatu peristiwa (misalnya, klik tombol, atau deteksi pergerakan).
· Tombol
o When Green Flag Clicked : Berfungsi untuk memulai program saat tombol bendera hijau diklik.
o When Key Pressed : Berfungsi untuk memulai program saat tombol tertentu ditekan.
· Broadcast (Siarkan)
o Broadcast : Berfungsi untuk mengirimkan pesan kepada sprite lain atau bagian lain dari program.
o When I receive : Berfungsi untuk merespons pesan yang diterima.
7. Blok Fungsi (My Blocks)
Blok fungsi memungkinkan pengguna untuk membuat blok kustom yang dapat dipanggil berulang kali.
· Define : Berfungsi untuk membuat blok kustom untuk digunakan dalam program.
· Setelah blok didefinisikan, kita dapat menyusunnya dalam program seperti blok lainnya.
8. Blok Lain-lain
Blok-blok ini memiliki fungsionalitas khusus untuk mempermudah pemrograman.
· Cloning (Kloning)
o Create Clone of : Berfungsi untuk membuat salinan (klon) dari sprite saat ini.
o When I Start As a Clone : Berfungsi untuk menjalankan blok ketika sprite menjadi klon.
· Timer
o Reset Timer : Berfungsi untuk mengatur ulang timer ke nol.
o Timer : Berfungsi untuk mengambil nilai waktu sejak timer terakhir direset.
G. Platform yang Umumnya Digunakan
Platform pemrograman blok yang umumnya digunakan dalam pembelajaran adalah sebagai berikut:
1. Scratch
Platform visual yang digunakan untuk membuat animasi, cerita interaktif dan game sederhana.
2. Code.org
Fokus pada pendidikan yang menyediakan tutorial pemrograman berbasis blok yang membantu memudahkan pemula untuk belajar coding, misalnya dengan permainan interaktif.
3. Blockly
Dikembangkan oleh Google, digunakan untuk belajar logika dasar, bisa dikombinasikan dengan kode JavaScript.
4. Tynker
Platform lain yang serupa dengan Scratch yang membantu anak-anak belajar pemrograman melalui permainan berbasis blok.