Modul Ajar Informatika Kelas 8 SMP: Algoritma dan Pemrograman (Bab 6)

Pembelajaran dasar pemrograman tekstual bahasa Python, variabel, tipe data, struktur kendali percabangan (if-elif-else), perulangan (for/while), dan pembuatan program modular.

Capaian dan tujuan pembelajaran

  • Peserta didik mampu menulis program sederhana menggunakan variabel dan tipe data yang tepat dalam bahasa Python.
  • Peserta didik mampu menerapkan struktur kendali percabangan dan perulangan untuk memecahkan persoalan komputasi.
  • Peserta didik mampu menelusuri kesalahan (*debugging*) pada kode program dan menghasilkan luaran yang diharapkan.

Materi pokok & uraian konsep pembelajaran

Bab Algoritma dan Pemrograman kelas 8 menandai transisi penting dari pemrograman visual berbasis blok (*Scratch*) menuju pemrograman berbasis teks menggunakan bahasa pemrograman Python yang banyak digunakan di industri teknologi global.

Peserta didik mempelajari sintaksis dasar Python, tata kelola indentasi blok kode, pendefinisian variabel, manipulasi tipe data (integer, float, string, boolean), serta operasi aritmatika dan relasional.

Materi dilanjutkan dengan logika kontrol percabangan multi-kondisi (*if-elif-else*), perulangan terhitung (*for loop*) dan bersyarat (*while loop*), serta latihan menelusuri bug (*debugging*) untuk menyelesaikan proyek program interaktif.

Peta subtopik bahasan

  • Sintaksis Dasar dan Variabel Python

    Menulis baris kode pertama, aturan penamaan variabel, input pengguna, dan cetak output.

  • Tipe Data dan Operator Aritmatika-Logika

    Mengoperasikan tipe data angka, string, serta operator komparasi dan logika.

  • Struktur Kendali Percabangan (If-Elif-Else)

    Mengontrol alur eksekusi instruksi berdasarkan pengujian kondisi logis.

  • Struktur Kendali Perulangan (For dan While)

    Mengotomasi eksekusi instruksi berulang dengan rentang range() dan kondisi terminasi.

Istilah kunci dan glosarium

Python
Bahasa pemrograman tingkat tinggi yang mengutamakan keterbacaan kode dengan sintaksis yang bersih dan ekspresif.
Variabel
Lokasi penyimpanan di memori komputer yang diberi nama untuk menampung nilai data yang dapat berubah selama program berjalan.
Indentasi
Spasi di awal baris kode yang dalam bahasa Python digunakan secara ketat untuk menandai hierarki blok kode program.
Loop
Struktur kontrol dalam pemrograman yang mengeksekusi sekumpulan instruksi secara berulang hingga suatu kondisi tertentu terpenuhi.
Debugging
Proses mengidentifikasi, menganalisis, dan memperbaiki kesalahan (bug) sintaksis maupun logika pada kode program.

Instrumen asesmen formatif & contoh soal pembelajaran

5 butir instrumen soal pilihan ganda berbasis HOTS untuk mengukur pemahaman konsep pada bab ini. Dilengkapi kunci jawaban dan uraian pembahasan analitis.

Soal 1

Perhatikan potongan kode Python berikut: ```python x = 10 y = 3 print(x // y) ``` Luaran (*output*) yang dihasilkan dari kode di atas adalah...

  • A. 3.3333333333333335
  • B. 3
  • C. 1
  • D. 30
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B

Pembahasan: Operator `//` di Python adalah *floor division* (pembagian bulat), sehingga hasil pembagian 10 dibagi 3 dibulatkan ke bawah menghasilkan nilai integer 3.

Soal 2

Aturan penting dalam penulisan bahasa pemrograman Python yang membedakannya dari kebanyakan bahasa lain seperti C++ atau Java adalah...

  • A. Setiap baris kode wajib diakhiri tanda titik koma (;)
  • B. Blok instruksi seperti isi percabangan atau perulangan ditentukan oleh spasi indentasi
  • C. Semua variabel wajib diawali tanda simbol dolar ($)
  • D. Nama variabel hanya boleh menggunakan huruf kapital
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B

Pembahasan: Python menggunakan indentasi (spasi di awal baris) sebagai penanda cakupan (*scope*) blok kode, bukan tanda kurung kurawal `{}` seperti bahasa turunan C.

Soal 3

Perhatikan potongan kode Python berikut: ```python total = 0 for i in range(1, 5): total = total + i print(total) ``` Nilai akhir dari variabel `total` saat dicetak adalah...

  • A. 15
  • B. 10
  • C. 5
  • D. 4
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B

Pembahasan: `range(1, 5)` menghasilkan urutan nilai 1, 2, 3, 4 (angka 5 tidak termasuk). Penjumlahan: 0 + 1 + 2 + 3 + 4 = 10.

Soal 4

Tipe data yang paling tepat untuk menyimpan status apakah seorang murid sudah mengumpulkan tugas atau belum (`True` / `False`) adalah...

  • A. Integer
  • B. String
  • C. Boolean
  • D. Float
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan C

Pembahasan: Tipe data Boolean hanya memiliki dua kemungkinan nilai kebenaran, yaitu True atau False, sangat cocok untuk status biner.

Soal 5

Perhatikan kode program Python berikut: ```python angka = 7 if angka % 2 == 0: print('Genap') else: print('Ganjil') ``` Program tersebut berfungsi untuk...

  • A. Menghitung akar dari 7
  • B. Mengecek apakah suatu bilangan merupakan bilangan genap atau ganjil
  • C. Mengalikan angka dengan 2
  • D. Mengubah angka 7 menjadi teks
Lihat Kunci Jawaban & Pembahasan
Kunci Jawaban: Pilihan B

Pembahasan: Operator modulus `%` menghitung sisa pembagian. Jika angka dibagi 2 menghasilkan sisa 0, angka tersebut Genap, jika tidak maka Ganjil.

Petunjuk penggunaan berkas

Setelah mengunduh berkas perangkat ajar, ikuti langkah berikut untuk menggunakannya secara optimal:

  1. Buka dokumen menggunakan Microsoft Word, Google Docs, atau LibreOffice.
  2. Sesuaikan identitas satuan pendidikan, nama guru pengampu, NIP, serta alokasi waktu kelas.
  3. Cetak instrumen asesmen atau bagikan lembar kerja (LKPD) kepada peserta didik.

Bahan ajar Informatika lainnya

  • Berpikir Komputasional

    Informatika SMP Kelas 7 · Semester 1

  • Teknologi Informasi dan Komunikasi

    Informatika SMP Kelas 7 · Semester 1

  • Sistem Komputer

    Informatika SMP Kelas 7 · Semester 1