LKPDPertemuan 11Bab 3Fase FSemester 1

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Konsep Atribut Protected dalam Prinsip Enkapsulasi Pemrograman Berorientasi Objek

LKPD ini disusun untuk satu pertemuan Koding dan Kecerdasan Artifisial kelas 11 dengan topik "Menerapkan Konsep Atribut Protected dalam Prinsip Enkapsulasi Pemrograman Berorientasi Objek".

MEJAGURU.ID - DOKUMEN LKPD

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Konsep Atribut Protected dalam Prinsip Enkapsulasi Pemrograman Berorientasi Objek

Koding dan Kecerdasan Artifisial - Kelas 11

Bab 3 Pertemuan 11

LEMBAR KERJA PESERTA DIDIK (LKPD)

Koding dan Kecerdasan Artifisial — Kelas 11 (Fase F)

Topik: Menerapkan Konsep Atribut Protected dalam Prinsip Enkapsulasi Pemrograman Berorientasi Objek

INFORMASI UMUM

Mata PelajaranKoding dan Kecerdasan Artifisial
Fase / KelasFase F / Kelas 11
TopikMenerapkan Konsep Atribut Protected dalam Prinsip Enkapsulasi Pemrograman Berorientasi Objek
Alokasi Waktu2 JP (2 x 45 menit = 90 menit)
Tipe Aktivitascampuran
Tahun Ajaran2026/2027
Semester1
Nama Murid.................................
Kelas.................................

TUJUAN PEMBELAJARAN

  1. Menerapkan prinsip enkapsulasi dalam pemrograman berorientasi objek untuk perlindungan data

PETUNJUK UMUM

  • Bacalah pengantar kasus dan instruksi pada setiap aktivitas dengan cermat.
  • Bekerjalah secara kolaboratif bersama rekan sebangku saat menelaah kode dan merancang solusi enkapsulasi.
  • Terapkan konvensi penamaan atribut enkapsulasi (khususnya atribut protected dengan awalan satu garis bawah `_`) pada sintaks pemrograman Python yang disediakan.
  • Tuliskan kode program dan jawaban secara terstruktur pada lembar atau format yang telah disediakan sebelum melakukan uji coba.

KEGIATAN

Kegiatan 1: Aktivitas 1: Menerapkan Pembatasan Akses Atribut Berbasis Protected

Estimasi: 25 menit

Alat & Bahan:

  • Lembar kerja/buku catatan
  • Komputer/laptop atau lembar kode IDE Python

Petunjuk Pengerjaan:

  1. Perhatikan potongan kode kelas `AkunBank` berikut yang belum menerapkan enkapsulasi:
  2. class AkunBank: def __init__(self, pemilik, saldo): self.pemilik = pemilik self.saldo = saldo akun1 = AkunBank('Budi', 500000) akun1.saldo = -100000 # Saldo dapat diubah secara bebas dari luar tanpa kendali
  3. Terapkan prinsip enkapsulasi dengan mengubah atribut `saldo` menjadi atribut protected menggunakan penanda garis bawah tunggal (`_saldo`).
  4. Terapkan metode getter (`get_saldo`) untuk membaca data dan setter (`set_saldo`) yang memvalidasi agar nilai saldo yang dimasukkan tidak bernilai negatif.
  5. Tuliskan hasil perbaikan kode pada ruang jawaban yang disediakan.

Pertanyaan:

1. Tuliskan implementasi lengkap kelas `AkunBank` yang telah menerapkan prinsip enkapsulasi dengan atribut protected `_saldo`, serta metode getter dan setter yang memvalidasi agar saldo tidak bernilai negatif!

Tuliskan kode Python lengkap kelas `AkunBank` yang memuat inisialisasi atribut `_saldo`, metode `get_saldo()`, dan metode `set_saldo(jumlah)` beserta aturan validasi.

Kegiatan 2: Aktivitas 2: Menerapkan Enkapsulasi Protected pada Relasi Pewarisan Kelas

Estimasi: 35 menit

Alat & Bahan:

  • Lembar kerja LKPD
  • Perangkat komputer/IDE Python

Petunjuk Pengerjaan:

  1. Simak studi kasus sistem data sekolah berikut: Kelas induk `AnggotaSekolah` memiliki atribut `_nama` dan `_id_pengenal` (protected) agar dapat diakses secara langsung oleh kelas turunan `Siswa` tanpa dibuka bebas untuk publik luar.
  2. Lengkapi dan terapkan kode program untuk kelas `AnggotaSekolah` dan kelas turunan `Siswa` sesuai spesifikasi berikut:
  3. 1. Kelas `AnggotaSekolah` menginisialisasi atribut protected `_nama` dan `_id_pengenal`.
  4. 2. Kelas `Siswa` mewarisi `AnggotaSekolah` dengan tambahan atribut protected `_nilai_akhir`.
  5. 3. Kelas `Siswa` memiliki metode enkapsulasi `tampilkan_profil()` yang mengakses atribut protected dari kelas induk (`_nama` dan `_id_pengenal`) serta mencetak nilainya secara terkontrol.
  6. 4. Terapkan metode setter `update_nilai()` pada kelas `Siswa` yang memastikan nilai hanya dapat diperbarui jika rentang angka antara 0 sampai 100.
  7. Tuliskan kode hasil penerapan pada format tabel implementasi kelas.

Pertanyaan:

1. Lengkapi tabel perancangan dan implementasi kode Python untuk kelas induk `AnggotaSekolah` dan kelas anak `Siswa` yang menerapkan prinsip enkapsulasi atribut protected!

Ruang tabel jawaban

Isi tabel 2 baris:
- Kolom 1: Nama Kelas (AnggotaSekolah / Siswa)
- Kolom 2: Atribut Protected yang Diterapkan
- Kolom 3: Blok Kode Python Penerapan Enkapsulasi

Kegiatan 3: Aktivitas 3: Menerapkan Perbaikan Modifikasi Data pada Sistem IoT Cuaca

Estimasi: 30 menit

Alat & Bahan:

  • Lembar kerja LKPD
  • Komputer/laptop dengan Python terpasang

Petunjuk Pengerjaan:

  1. Diberikan sebuah skenario perangkat IoT pemantau cuaca di mana data suhu dan kelembapan rentan termanipulasi karena atribut objek masih bersifat public.
  2. Kondisi kode awal: class SensorCuaca: def __init__(self, lokasi): self.lokasi = lokasi self.suhu = 25.0 s = SensorCuaca('Lab') s.suhu = 999.0 # Anomali data lolos karena tanpa perlindungan enkapsulasi
  3. Terapkan modifikasi enkapsulasi pada kelas `SensorCuaca` dengan:
  4. a. Mengubah atribut `suhu` menjadi atribut protected `_suhu`.
  5. b. Menerapkan metode `baca_suhu()` sebagai getter.
  6. c. Menerapkan metode `rekam_suhu(nilai_suhu)` sebagai setter dengan aturan: suhu hanya diperbarui jika berada pada rentang wajar -10.0 hingga 60.0 derajat Celcius. Jika di luar rentang, nilai tidak berubah.
  7. d. Tuliskan kode pemanggilan objek yang membuktikan bahwa nilai tidak wajar (999.0) tertolak dan nilai wajar (28.5) berhasil diterapkan.
  8. Setelah menyelesaikan penulisan kode, ikuti sesi refleksi dan penutupan pembelajaran bersama guru.

Pertanyaan:

1. Tuliskan kode program lengkap kelas `SensorCuaca` yang menerapkan enkapsulasi atribut protected beserta metode kendali data dan baris uji coba pemanggilannya!

Tuliskan kode perbaikan kelas `SensorCuaca` dan 4 baris kode pengujian instansiasi objek yang membuktikan fungsi perlindungan data berjalan.

REFLEKSI

1. Bagaimana penerapan atribut protected membantu kamu mengamankan data internal objek agar tidak dimanipulasi secara langsung dari luar program?

2. Dalam situasi apa pada pengembangan aplikasi nyata kamu lebih memilih menerapkan atribut protected dibandingkan atribut public biasa?

Lihat & unduh lengkap

Masuk pakai Google untuk membuka lkpd pertemuan ini secara penuh.

Apa isi pertemuan ini?

Dokumen mencakup tujuan pembelajaran terpilih, urutan kegiatan inti yang sudah disesuaikan dengan alokasi JP, serta pertanyaan pemantik dan asesmen formatif singkat. Cocok dipakai sebagai bahan persiapan tatap muka maupun lampiran supervisi.

Cara pakai pertemuan ini

Unduh DOCX, lalu sesuaikan nama sekolah, kepala sekolah, dan NIP. Bagian kegiatan inti bisa Bapak/Ibu kurangi atau tambah sesuai karakter siswa di kelas; tujuan pembelajaran sebaiknya tetap selaras dengan ATP induk.