Berikut adalah materi tentang Berpikir Komputasional untuk kelas 8 Semester 1 berdasarkan Kurikulum Merdeka. Materi ini dirancang untuk membekali siswa dengan keterampilan berpikir sistematis, logis, dan solutif dalam menyelesaikan masalah sehari-hari maupun dalam praktik pemrograman.
Berpikir komputasional adalah proses berpikir untuk menyelesaikan masalah secara logis dan sistematis yang dapat dilakukan oleh manusia maupun mesin (komputer). Konsep ini penting dalam informatika karena menjadi dasar untuk membuat solusi digital atau pemrograman.
Decomposition (Dekonstruksi Masalah):
Memecah masalah besar menjadi bagian-bagian kecil yang lebih mudah dikelola.
Contoh: Menyusun langkah-langkah membuat mie instan: buka kemasan, rebus air, masukkan mie, tambahkan bumbu, dan sajikan.
Pattern Recognition (Pengenalan Pola):
Mengenali kesamaan atau pola yang muncul dari berbagai data atau situasi.
Contoh: Menyadari bahwa semua email spam memiliki kata-kata promosi tertentu.
Abstraction (Abstraksi):
Memfokuskan pada informasi penting dan mengabaikan informasi yang tidak relevan.
Contoh: Saat mendesain aplikasi pemesanan makanan, yang penting adalah menu, harga, dan alamat pelanggan, bukan warna piring.
Algorithm (Algoritma):
Menyusun langkah-langkah terstruktur dan logis untuk menyelesaikan masalah.
Contoh: Algoritma untuk mencuci tangan: basahi tangan, beri sabun, gosok selama 20 detik, bilas, dan keringkan.
Menyusun jadwal belajar berdasarkan prioritas tugas
Membuat resep masakan langkah demi langkah
Menentukan rute tercepat ke sekolah dengan mempertimbangkan pola lalu lintas
Dalam pemrograman, berpikir komputasional digunakan untuk:
Menentukan logika program (percabangan, pengulangan)
Menyusun pseudocode dan flowchart
Menyederhanakan solusi menjadi perintah-perintah yang bisa dipahami komputer
Masalah: Membuat sistem antrean di kantin sekolah.
Langkah berpikir komputasional:
Dekonstruksi: Setiap siswa datang, mengambil nomor, menunggu giliran, memesan, dan membayar.
Pola: Semua siswa mengikuti pola yang sama.
Abstraksi: Fokus pada urutan dan waktu tunggu, bukan nama siswa.
Algoritma: Buat langkah-langkah sistematis agar semua bisa antre dengan tertib.
Berikan contoh penerapan berpikir komputasional saat kamu mengerjakan PR matematika!
Pecahkan masalah: “Bagaimana cara mengatur lemari agar rapi dan efisien?”
Buat algoritma sederhana untuk proses login ke media sosial.
Dengan memahami dan menerapkan berpikir komputasional, siswa dapat:
Menjadi lebih sistematis dalam menyelesaikan tugas
Siap menyusun program komputer yang efisien
Mampu menyederhanakan masalah kompleks menjadi lebih mudah diselesaikan
Contoh Koding HTML
Berikut ini adalah contoh kode program kuis matematika sederhana berbasis HTML + JavaScript yang menerapkan konsep Berpikir Komputasional, cocok untuk siswa kelas 8.
✅ Menggunakan HTML untuk tampilan
✅ Menggunakan JavaScript untuk logika algoritma
✅ Menerapkan Dekonstruksi, Pola, Abstraksi, dan Algoritma
<!DOCTYPE html>
<html>
<head>
<title>Kuis Matematika - Berpikir Komputasional</title>
<style>
body { font-family: Arial, sans-serif; background: #f0f0f0; padding: 20px; }
#kuis { background: #fff; padding: 20px; border-radius: 10px; max-width: 500px; margin: auto; }
.soal { margin-bottom: 15px; }
.btn { padding: 10px 20px; font-size: 16px; }
</style>
</head>
<body>
<div id="kuis">
<h2>Kuis Matematika</h2>
<div id="pertanyaan" class="soal"></div>
<input type="text" id="jawaban" placeholder="Jawaban kamu...">
<button class="btn" onclick="periksaJawaban()">Kirim</button>
<div id="hasil"></div>
</div>
<script>
// Deklarasi soal dalam bentuk pola data
const soal = [
{ tanya: "5 + 3 =", kunci: "8" },
{ tanya: "12 - 4 =", kunci: "8" },
{ tanya: "9 x 2 =", kunci: "18" },
{ tanya: "16 / 4 =", kunci: "4" }
];
let indeks = 0;
let skor = 0;
// Tampilkan pertanyaan pertama
function tampilkanSoal() {
if (indeks < soal.length) {
document.getElementById("pertanyaan").innerHTML = soal[indeks].tanya;
document.getElementById("jawaban").value = "";
} else {
document.getElementById("pertanyaan").innerHTML = "Kuis selesai!";
document.getElementById("jawaban").style.display = "none";
document.querySelector("button").style.display = "none";
document.getElementById("hasil").innerHTML = `Skor akhir kamu: ${skor} dari ${soal.length}`;
}
}
// Periksa jawaban dan lanjut ke soal berikutnya
function periksaJawaban() {
const input = document.getElementById("jawaban").value.trim();
if (input === soal[indeks].kunci) {
skor++;
alert("Benar!");
} else {
alert("Salah. Jawaban yang benar: " + soal[indeks].kunci);
}
indeks++;
tampilkanSoal();
}
// Inisialisasi
tampilkanSoal();
</script>
</body>
</html>
Program dibagi jadi fungsi: tampilkanSoal() dan periksaJawaban()
Pattern Recognition
Soal disusun dalam pola array objek {tanya, kunci}
Abstraction
Fokus hanya pada pertanyaan dan jawaban, tidak membahas format UI lainnya
Algorithm
Input → Periksa → Tampilkan skor akhir secara sistematis
Minta siswa mengembangkan sendiri soal ke-5 dan ke-6.
Tantangan: tambahkan skor dan evaluasi akhir dalam bentuk bintang (★).
Diskusi reflektif: bagaimana program ini menggunakan logika seperti manusia?