RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

SMK SALAFIYAH

Tahun Ajaran 2026/2027

1. Identitas

KomponenKeterangan
Nama SekolahSMK Salafiyah
Mata PelajaranPermodelan Perangkat Lunak
Kategori MapelProduktif
KelasX
Tema PokokLogika dan Algoritma Pemrograman
Alokasi Waktu6 Pertemuan × 4 JP × 45 menit = 24 JP

2. Tujuan Pembelajaran

  1. Menguraikan tahapan penyelesaian masalah komputasional: Murid mampu membedah masalah menjadi langkah kecil agar terbiasa berpikir sistematis dalam menghadapi tugas teknis di dunia kerja.
  2. Menerapkan aturan variabel dan tipe data: Murid mampu menampung data dengan benar agar program dapat berjalan tanpa error sintaksis.
  3. Mendemonstrasikan input/output: Murid mampu membuat program interaktif agar hasil kerja mereka dapat dirasakan manfaatnya oleh pengguna.
  4. Membangun alur logika percabangan: Murid mampu membuat keputusan otomatis berdasarkan kondisi tertentu agar program memiliki kecerdasan dasar.
  5. Memecahkan kasus iteratif: Murid mampu menggunakan perulangan untuk efisiensi kode agar pekerjaan berulang tidak perlu ditulis manual secara boros.
  6. Mendiagnosis kesalahan sintaks: Murid mampu membaca pesan error agar mereka mandiri dalam memperbaiki masalah tanpa harus selalu bergantung pada guru.

Profil Pelajar Pancasila

  • Mandiri: Murid mencoba memperbaiki error di konsol secara mandiri sebelum bertanya, menumbuhkan kepercayaan diri teknis.
  • Gotong Royong: Murid melalui sistem tutor sebaya saling membantu menjelaskan logika yang sulit dengan bahasa yang lebih sederhana.
  • Bernalar Kritis: Murid menganalisis mengapa sebuah kode gagal bekerja dengan membaca petunjuk pesan error.

3. Pemahaman Bermakna & Pertanyaan Pemantik

Pemahaman Bermakna: Logika pemrograman itu seperti resep memasak nasi goreng di dapur atau cara menghitung zakat fitrah di desa; jika urutannya salah atau bahannya keliru, maka hasil akhirnya tidak akan bisa dinikmati oleh orang lain.

  1. Jika kamu ingin membuat kopi, apakah air panas harus dimasukkan sebelum atau sesudah bubuk kopi?
  2. Bagaimana cara kita memberi tahu teman cara pergi ke pasar jika jalanannya bercabang dua?
  3. Apa yang terjadi jika kita menyebut "satu gelas" padahal yang diminta adalah "satu sendok" saat membantu ibu di dapur?

4. Desain Pembelajaran & Bahan Ajar

Model: Project Based Learning (PjBL) — agar murid belajar melalui produk nyata yang relevan dengan kehidupan mereka.

Metode:

  • Tutor Sebaya: Murid yang sudah paham membantu temannya agar suasana kelas lebih cair dan tidak tegang.
  • Scaffolding: Guru memberikan potongan kode (template) yang bisa diisi murid agar mereka tidak merasa terbebani memulai dari nol.

Alat & Bahan:

  • Laptop/PC dengan Python IDLE atau Thonny IDE.
  • Modul "Kartu Algoritma" (berisi visualisasi logika).
  • Lembar kerja "Detektif Error" (panduan memperbaiki kode).
  • Proyektor untuk demonstrasi visual.
  • Sticky notes untuk refleksi akhir.

Strategi Diferensiasi:

  • Murid Tertinggal: Diberikan kartu bantuan (cheat sheet) sintaks dan potongan kode siap pakai (fill-in-the-blank).
  • Murid Cepat: Diberikan tantangan tambahan untuk memodifikasi program agar lebih kompleks (misal: penambahan fitur hitung pajak).
  • Murid dengan hambatan motorik/penglihatan: Penggunaan keyboard dengan font besar dan pendampingan tutor sebaya yang lebih intensif.

5. Langkah-langkah Pembelajaran

Pertemuan 1: Dasar Algoritma & Lingkungan Python

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru menyapa dengan hangat: "Selamat pagi calon ahli IT, siapa yang tadi pagi sudah membantu orang tua di rumah?"
  2. [5 mnt] Murid menceritakan urutan kegiatan pagi mereka (mandi, sarapan, berangkat sekolah).
  3. [5 mnt] Guru bertanya: "Apa yang terjadi jika urutan itu dibalik, misalnya pakai sepatu dulu baru kaos kaki?"
  4. [2 mnt] Guru menjelaskan tujuan: mengenal Python sebagai alat untuk menyusun urutan perintah.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan algoritma sederhana membuat teh manis menggunakan slide visual.
  2. [10 mnt] Murid menuliskan langkah membuat teh manis dalam bentuk daftar (pseudocode).
  3. [10 mnt] Guru mengenalkan software Python dan cara membuka konsol.
  4. [15 mnt — CHECKPOINT] Murid berpasangan memastikan software terinstal; murid A membuka, murid B mengecek apakah muncul tanda `>>>`.
  5. [10 mnt] Murid mengetik perintah `print("Halo Dunia")`.
  6. [15 mnt] Murid mencoba mencetak nama mereka sendiri.
  7. [10 mnt — CHECKPOINT] Pasangan saling mengecek apakah ada tanda kutip yang lupa ditutup.
  8. [10 mnt] Guru merangkum: "Program adalah instruksi yang harus tepat urutannya."

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi: "Apa bagian paling sulit saat mengetik kode pertama tadi?"
  2. [3 mnt] Murid menuliskan kendala di sticky note.
  3. [5 mnt] Guru: "Kalian luar biasa, baru hari pertama sudah bisa membuat komputer bicara."
  4. [2 mnt] Preview: "Besok kita akan belajar menyimpan angka di dalam komputer."

Pertemuan 2: Variabel & Tipe Data

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru mengulas materi sebelumnya tentang perintah cetak.
  2. [5 mnt] Murid menjawab pertanyaan: "Bagaimana jika komputer harus mengingat umur kita?"
  3. [5 mnt] Guru menggunakan analogi: "Variabel itu seperti toples, ada toples gula dan toples garam."
  4. [2 mnt] Tujuan: Mampu menyimpan data (angka/teks) di variabel.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan variabel: `nama = "Budi"`, `umur = 15`.
  2. [10 mnt] Murid mencoba membuat variabel nama dan umur sendiri.
  3. [10 mnt] Guru menjelaskan aturan penulisan variabel (tidak boleh pakai spasi).
  4. [15 mnt — CHECKPOINT] Tutor sebaya mengecek apakah teman sebangkunya menggunakan spasi pada nama variabel.
  5. [10 mnt] Murid menggabungkan variabel ke dalam print: `print(nama, umur)`.
  6. [15 mnt] Murid bereksperimen dengan tipe data angka.
  7. [10 mnt — CHECKPOINT] Pasangan saling menukar laptop untuk mencari apakah ada variabel yang belum terdefinisi (NameError).
  8. [10 mnt] Guru memberikan apresiasi pada pasangan yang paling cepat memperbaiki error.

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi: "Kenapa variabel tidak boleh ada spasi?"
  2. [3 mnt] Murid menjawab dengan analogi toples.
  3. [5 mnt] Guru: "Kesalahan itu biasa, yang penting kita tahu cara memperbaikinya."
  4. [2 mnt] Preview: "Besok kita belajar membuat program tanya jawab."

Pertemuan 3: Input & Output

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru bertanya: "Bagaimana jika komputer yang bertanya pada kita?"
  2. [5 mnt] Murid berdiskusi tentang interaksi ATM atau kasir swalayan.
  3. [5 mnt] Guru mendemonstrasikan fungsi `input()`.
  4. [2 mnt] Tujuan: Membuat program interaktif.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan: `nama = input("Siapa namamu?")`.
  2. [10 mnt] Murid membuat program tanya jawab sederhana.
  3. [10 mnt] Guru menjelaskan perbedaan input angka dan teks (casting).
  4. [15 mnt — CHECKPOINT] Tutor sebaya memastikan teman menggunakan `int()` untuk angka.
  5. [10 mnt] Murid membuat program "Hitung Umur Tahun Depan".
  6. [15 mnt] Murid mempraktikkan program interaktif tersebut.
  7. [10 mnt — CHECKPOINT] Pasangan mencoba program satu sama lain dan memberikan masukan.
  8. [10 mnt] Guru memberikan pujian pada program yang paling kreatif.

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi: "Apa gunanya fungsi input bagi pengguna program?"
  2. [3 mnt] Murid menuliskan jawaban di buku catatan.
  3. [5 mnt] Guru: "Kalian sudah bisa membuat program yang 'mendengar' manusia."
  4. [2 mnt] Preview: "Besok kita akan belajar membuat program yang bisa memilih (if/else)."

Pertemuan 4: Percabangan (If, Elif, Else)

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru: "Jika hari hujan, kita bawa payung. Jika tidak, kita pakai topi. Itu logika!"
  2. [5 mnt] Murid memberi contoh keputusan lain di kehidupan sehari-hari.
  3. [5 mnt] Guru mendemonstrasikan struktur `if-else`.
  4. [2 mnt] Tujuan: Membuat program yang bisa mengambil keputusan.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan program "Lulus/Tidak Lulus" berdasarkan nilai.
  2. [10 mnt] Murid menuliskan logika percabangan di kertas sebelum mengetik.
  3. [10 mnt] Guru menjelaskan indentasi (spasi menjorok) di Python.
  4. [15 mnt — CHECKPOINT] Tutor sebaya mengecek indentasi teman sebangkunya.
  5. [10 mnt] Murid memperbaiki error indentasi.
  6. [15 mnt] Murid mengembangkan program dengan `elif`.
  7. [10 mnt — CHECKPOINT] Pasangan menguji program dengan input nilai berbeda.
  8. [10 mnt] Guru memberikan konfirmasi klasikal tentang pentingnya indentasi.

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi: "Apa yang terjadi jika indentasi salah?"
  2. [3 mnt] Murid menjawab: "Program error/tidak jalan."
  3. [5 mnt] Guru: "Kalian semakin mahir, jangan menyerah jika ada error."
  4. [2 mnt] Preview: "Besok kita belajar mengulang-ulang perintah."

Pertemuan 5: Perulangan (For & While)

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru: "Jika harus menulis 'Saya akan rajin' 100 kali, apakah kalian mau?"
  2. [5 mnt] Murid menjawab: "Capek!"
  3. [5 mnt] Guru: "Komputer tidak pernah capek, kita pakai perulangan."
  4. [2 mnt] Tujuan: Memahami `for` dan `while`.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan `for i in range(5)`.
  2. [10 mnt] Murid mencoba mencetak angka 1-10.
  3. [10 mnt] Guru menjelaskan kapan pakai `while` (kondisi).
  4. [15 mnt — CHECKPOINT] Tutor sebaya membantu teman yang terjebak di *infinite loop*.
  5. [10 mnt] Murid membuat program hitung mundur.
  6. [15 mnt] Murid mempraktikkan perulangan untuk menampilkan tabel perkalian.
  7. [10 mnt — CHECKPOINT] Pasangan saling mengecek kebenaran hasil perkalian.
  8. [10 mnt] Guru memberikan apresiasi pada murid yang berhasil membuat tabel perkalian.

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi: "Apa bedanya `for` dan `while`?"
  2. [3 mnt] Murid menjawab dengan bahasa sendiri.
  3. [5 mnt] Guru: "Kalian sudah bisa memerintahkan komputer bekerja berulang kali."
  4. [2 mnt] Preview: "Besok adalah hari terakhir, kita buat proyek besar!"

Pertemuan 6: Diagnosis Error & Proyek Akhir

Kegiatan Awal (15 menit)

  1. [3 mnt] Guru: "Siapa yang pernah melihat tulisan merah di konsol?"
  2. [5 mnt] Murid berbagi pengalaman saat error.
  3. [5 mnt] Guru mengajarkan cara membaca pesan error (baris ke berapa, jenis error).
  4. [2 mnt] Tujuan: Menjadi detektif kode.

Kegiatan Inti (90 menit)

  1. [10 mnt] Guru mendemonstrasikan cara membaca *SyntaxError*.
  2. [10 mnt] Murid diberi kode rusak untuk diperbaiki.
  3. [10 mnt] Guru menjelaskan proyek akhir: "Program Kasir Sederhana".
  4. [15 mnt — CHECKPOINT] Tutor sebaya membantu teman merencanakan alur proyek.
  5. [10 mnt] Murid mulai mengerjakan proyek.
  6. [15 mnt] Murid menyelesaikan proyek dengan bantuan guru.
  7. [10 mnt — CHECKPOINT] Pasangan melakukan *peer review* proyek.
  8. [10 mnt] Guru menampilkan proyek terbaik dan memberi apresiasi.

Kegiatan Penutup (15 menit)

  1. [5 mnt] Refleksi akhir: "Apa hal paling berkesan dari belajar Python?"
  2. [3 mnt] Murid mengungkapkan perasaan mereka.
  3. [5 mnt] Guru: "Kalian adalah masa depan teknologi Indonesia!"
  4. [2 mnt] Penutup: Doa dan apresiasi seluruh kelas.

6. Asesmen

Diagnostik

  1. Apakah kamu pernah menggunakan komputer sebelumnya?
  2. Apakah kamu merasa nyaman mengetik menggunakan keyboard?
  3. Bagaimana perasaanmu saat melihat kode/tulisan teknis? (Senang/Bingung/Takut)
  4. Pernahkah kamu membantu orang tua mengatur jadwal kerja di rumah?
  5. Apa aplikasi komputer yang paling sering kamu gunakan?

Tindak lanjut: Murid yang takut/bingung akan dipasangkan dengan tutor sebaya yang sabar dan diberikan materi visual tambahan.

Formatif

Indikator:

  • Keaktifan berpartisipasi dalam diskusi kelompok.
  • Ketepatan dalam memperbaiki error berdasarkan pesan di konsol.
  • Kemampuan menjelaskan kembali logika kode kepada teman.

Umpan balik lembut:

  • "Coba perhatikan baris ini, sepertinya komputernya minta tanda kutip, bantu dia ya?"
  • "Wah, logikamu sudah benar, hanya kurang sedikit di spasi, yuk perbaiki bersama."

Sumatif

Deskripsi Proyek: "Kasir Warung Pintar". Murid membuat program yang meminta input nama barang, harga, dan jumlah, lalu menampilkan total belanjaan dengan diskon jika belanja di atas jumlah tertentu.

Akomodasi Slow Learner: Disediakan lembar "Peta Kode" yang berisi alur logika dalam bentuk flowchart dan potongan kode yang tinggal disalin-tempel ke editor.

Kriteria Belum Tercapai Cukup Baik Sangat Baik
Logika Algoritma Belum mampu menyusun urutan Urutan benar, tapi logika bercabang salah Urutan dan logika benar Logika efisien dan kreatif
Sintaks Python Banyak error sintaks Ada sedikit error sintaks Sintaks bersih dan rapi Sintaks sangat rapi dan komentar jelas
Diagnosis Error Tidak mampu membaca error Mampu membaca, butuh bantuan Mampu memperbaiki error sendiri Mampu membantu orang lain memperbaiki error
Proyek Akhir Program tidak berjalan Program berjalan, ada bug Program berjalan lancar Program berjalan, ada fitur tambahan

Mengetahui,
Kepala SMK Salafiyah

Erni Sofa Nugraha, S. Pd

NIP. -

Guru Mata Pelajaran

Moch Chamdan Yuwafi, S.ST.

NIP. ........................................