ISI MATERI
1. Pengantar Algoritma dan Pemrograman
a. Pengertian Algoritma
Algoritma adalah langkah-langkah sistematis untuk menyelesaikan suatu masalah. Dalam informatika, algoritma digunakan untuk memberi tahu komputer apa yang harus dilakukan agar mencapai hasil tertentu.
Contoh algoritma dalam kehidupan sehari-hari:
Algoritma membuat teh: ambil gelas → masukkan gula dan teh → tuang air panas → aduk hingga rata.
Algoritma menghitung luas persegi panjang: masukkan panjang dan lebar → kalikan panjang × lebar → tampilkan hasil.
b. Ciri-Ciri Algoritma yang Baik
Jelas dan Terbatas – setiap langkah mudah dipahami dan tidak menimbulkan tafsir ganda.
Urut dan Logis – memiliki alur dari awal hingga akhir.
Efisien – tidak bertele-tele dan menggunakan langkah minimal untuk mencapai hasil.
Memiliki Output – menghasilkan solusi yang sesuai dengan masalah.
c. Bentuk Penyajian Algoritma
Deskriptif (naratif): menggunakan bahasa sehari-hari.
Flowchart (diagram alir): menampilkan langkah-langkah dengan simbol visual.
Pseudocode: menulis algoritma menyerupai kode program, tetapi belum menggunakan bahasa pemrograman sesungguhnya.
2. Pengenalan Pemrograman Visual
a. Scratch dan Blockly
Scratch dan Blockly adalah bahasa pemrograman visual berbasis blok.
Peserta didik dapat membuat program dengan cara menyusun blok-blok instruksi yang saling terhubung, tanpa harus mengetik sintaks seperti dalam bahasa pemrograman teks.
Aspek Scratch Blockly
Tampilan Animasi dan karakter (sprite) Sederhana, berbentuk blok logika
Penggunaan Cocok untuk membuat game dan animasi Cocok untuk latihan logika pemrograman
Bahasa Output Scratch Script Dapat dikonversi ke JavaScript/Python
b. Komponen Utama dalam Pemrograman Visual
Objek (Sprite): karakter atau elemen yang bisa bergerak dan berinteraksi.
Stage (Panggung): area tempat sprite beraksi.
Blok Perintah: instruksi yang menentukan tindakan sprite (misalnya bergerak, berbicara, atau berhenti).
Variabel: tempat menyimpan data sementara.
Event: perintah yang memicu suatu aksi (misalnya “ketika bendera diklik”).
3. Struktur Kontrol dalam Pemrograman
a. Instruksi Sekuensial
Instruksi yang dijalankan secara berurutan dari atas ke bawah.
Contoh (pseudocode):
input nama
tampilkan “Halo, ” + nama
b. Percabangan (If – Then – Else)
Percabangan digunakan untuk mengambil keputusan berdasarkan kondisi tertentu.
Contoh (Blockly atau Scratch):
jika nilai > 75 maka
tampilkan “Lulus”
selain itu
tampilkan “Tidak Lulus”
c. Perulangan (Looping)
Digunakan untuk melakukan instruksi berulang kali.
Contoh:
ulangi 5 kali
gerak 10 langkah
Loop dapat berbasis jumlah perulangan tertentu (for loop) atau kondisi (while loop).
4. Modularisasi Program
a. Pengertian Modularisasi
Modularisasi adalah pembagian program menjadi bagian-bagian kecil (modul) agar lebih mudah dipahami, diperbaiki, dan digunakan kembali (reusable).
Modul dapat berupa procedure atau function.
b. Procedure
Procedure adalah kumpulan perintah yang tidak menghasilkan nilai, tetapi menjalankan tugas tertentu.
Contoh (pseudocode):
procedure sapa()
tampilkan “Halo, selamat datang!”
end procedure
c. Function
Function adalah kumpulan perintah yang menghasilkan nilai dan bisa digunakan dalam perhitungan lain.
Contoh:
function hitungLuas(p, l)
kembalikan p * l
end function
Pemanggilan fungsi:
luas = hitungLuas(5, 3)
tampilkan luas
d. Keuntungan Modularisasi
Program lebih terstruktur dan mudah dibaca.
Mudah dilakukan debugging (perbaikan kesalahan).
Dapat digunakan kembali dalam program lain (reusability).
Memudahkan kerja kolaboratif antaranggota tim.
5. Aktivitas dan Latihan
a. Aktivitas Unplugged
Buat algoritma “Menyalakan Komputer” menggunakan langkah-langkah tertulis atau gambar.
Diskusikan bersama teman apakah urutannya sudah logis dan efisien.
b. Aktivitas Pemrograman Visual
Gunakan Scratch untuk membuat proyek:
“Seekor kucing berjalan 10 langkah ke depan, lalu menyapa pengguna dengan teks ‘Halo Dunia!’”.
Ubah program dengan menambahkan loop agar kucing berjalan terus-menerus.
c. Aktivitas Modularisasi
Buat dua procedure di Scratch:
Procedure sapa(): menampilkan teks “Selamat Datang!”
Procedure gerak(): membuat sprite berjalan 10 langkah.
Gabungkan keduanya dalam satu program.
6. Refleksi
Peserta didik diajak menjawab:
Apa manfaat membuat program menggunakan modularisasi?
Bagaimana perbedaan antara function dan procedure?
Apa kesulitan yang kamu hadapi saat membuat percabangan atau perulangan?