LKPDPertemuan 8Bab 3Fase FSemester 1

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Pembatasan Hak Akses Atribut Publik dan Privat untuk Perlindungan Data

LKPD ini disusun untuk satu pertemuan Koding dan Kecerdasan Artifisial kelas 11 dengan topik "Menerapkan Pembatasan Hak Akses Atribut Publik dan Privat untuk Perlindungan Data".

MEJAGURU.ID - DOKUMEN LKPD

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Pembatasan Hak Akses Atribut Publik dan Privat untuk Perlindungan Data

Koding dan Kecerdasan Artifisial - Kelas 11

Bab 3 Pertemuan 8

LEMBAR KERJA PESERTA DIDIK (LKPD)

Koding dan Kecerdasan Artifisial — Kelas 11 (Fase F)

Topik: Menerapkan Pembatasan Hak Akses Atribut Publik dan Privat untuk Perlindungan Data

INFORMASI UMUM

Mata PelajaranKoding dan Kecerdasan Artifisial
Fase / KelasFase F / Kelas 11
TopikMenerapkan Pembatasan Hak Akses Atribut Publik dan Privat untuk Perlindungan Data
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 setiap studi kasus dan potongan kode dengan saksama bersama rekan kelompok/pasanganmu.
  • Terapkan prinsip enkapsulasi dalam bahasa Python dengan mengubah atribut rentan menjadi private (menggunakan awalan dua garis bawah '__') serta menyediakan metode perantara (getter dan setter).
  • Tuliskan kode program dan jawabanmu secara rapi pada format ruang jawaban yang telah disediakan.

KEGIATAN

Kegiatan 1: Aktivitas 1: Menerapkan Hak Akses Private pada Kelas Objek Siswa

Estimasi: 25 menit

Alat & Bahan:

  • Buku catatan / Komputer (Python IDE / compiler online)

Petunjuk Pengerjaan:

  1. Perhatikan potongan kode kelas Siswa berikut yang masih memiliki atribut publik tanpa perlindungan: class Siswa: def __init__(self, nama, nilai): self.nama = nama self.nilai = nilai s1 = Siswa("Ayu", 80) s1.nilai = -50 # Masalah: nilai tidak valid dapat masuk secara langsung! print(s1.nilai)
  2. Ubahlah deklarasi atribut 'nilai' menjadi atribut private menggunakan penanda '__'.
  3. Terapkan prinsip enkapsulasi dengan membuat method 'get_nilai()' untuk membaca data dan 'set_nilai(nilai_baru)' untuk mengubah data nilai.
  4. Tuliskan implementasi kode kelas Siswa yang telah dienkapsulasi pada ruang jawaban yang disediakan.

Pertanyaan:

1. Tuliskan implementasi lengkap kelas Siswa hasil penerapan hak akses private pada atribut nilai beserta metode get_nilai() dan set_nilai()!

2. Terapkan pemanggilan metode get_nilai() dan set_nilai() pada objek 's1 = Siswa("Ayu", 80)' untuk mengubah nilainya menjadi 95 kemudian menampilkannya ke layar!

Format jawaban berupa blok teks kode Python terindentasi rapi: (1) Definisi kelas Siswa lengkap dengan __init__, getter, dan setter; (2) Kode inisialisasi objek dan pemanggilan method.

Kegiatan 2: Aktivitas 2: Menerapkan Enkapsulasi dengan Aturan Validasi Perlindungan Data

Estimasi: 35 menit

Alat & Bahan:

  • Komputer/Laptop atau lembar kerja kode

Petunjuk Pengerjaan:

  1. Perhatikan skenario sistem RekeningBank di mana saldo tidak boleh bernilai negatif dan penarikan tidak boleh melebihi saldo yang tersedia.
  2. Kode dasar tanpa enkapsulasi: class RekeningBank: def __init__(self, pemilik, saldo): self.pemilik = pemilik self.saldo = saldo
  3. Terapkan enkapsulasi penuh: jadikan atribut 'saldo' private ('__saldo').
  4. Terapkan metode getter 'get_saldo(self)' untuk melihat saldo.
  5. Terapkan metode 'set_saldo(self, jumlah)' atau operasi setor dan tarik dengan validasi: jika jumlah yang disetor/diset kurang dari 0, data saldo ditolak/tidak diubah.

Pertanyaan:

1. Tuliskan kode kelas RekeningBank yang menerapkan enkapsulasi pada atribut saldo dan menerapkan validasi pada setter sehingga saldo tidak dapat diubah menjadi nilai negatif!

2. Berdasarkan kode kelas yang kamu buat, tuliskan baris kode untuk menguji apakah enkapsulasi berhasil melindungi data saat seseorang mencoba menjalankan instruksi langsung: 'rek = RekeningBank("Budi", 500000)' lalu 'rek.__saldo = -100000' dan verifikasi nilainya menggunakan 'rek.get_saldo()'!

Tuliskan kode program Python secara terstruktur pada area teks kode: deklarasi kelas RekeningBank (soal 1) dan kode pengujian hak akses beserta komentar output hasil eksekusi (soal 2).

Kegiatan 3: Aktivitas 3: Menerapkan Refaktorisasi Enkapsulasi pada Sistem Akun Pengguna

Estimasi: 30 menit

Alat & Bahan:

  • Komputer / Perangkat gawai / Lembar Kerja

Petunjuk Pengerjaan:

  1. Diberikan kode kelas AkunPengguna berikut yang masih rawan: class AkunPengguna: def __init__(self, username, pin): self.username = username self.pin = pin
  2. Lakukan refaktorisasi (perbaikan kode) untuk menerapkan perlindungan data:
  3. 1) Ubah atribut 'pin' menjadi privat.
  4. 2) Terapkan metode getter 'get_pin()' yang mengembalikan PIN dalam bentuk sensor (contoh: '****') atau mengembalikan nilai sebenarnya jika parameter verifikasi benar.
  5. 3) Terapkan metode setter 'set_pin(pin_lama, pin_baru)' yang hanya mengubah PIN jika 'pin_lama' cocok dan panjang 'pin_baru' tepat 4 digit angka.
  6. Aktivitas ini sudah mencakup sesi presentasi hasil kode, transisi, dan refleksi akhir pembelajaran.

Pertanyaan:

1. Tuliskan kode kelas AkunPengguna yang telah direfaktorisasi dengan menerapkan enkapsulasi pada atribut PIN beserta logika validasi perubahan PIN!

2. Isilah tabel analisis penerapan enkapsulasi berikut untuk membandingkan kode sebelum dan sesudah refaktorisasi:

Ruang tabel jawaban

Format jawaban:
1. Kode program Python kelas AkunPengguna.
2. Tabel analisis 3 kolom (Aspek, Sebelum Enkapsulasi, Sesudah Enkapsulasi) dengan 2 baris analisis hak akses dan validasi.

REFLEKSI

1. Bagian mana dari penerapan enkapsulasi (penentuan atribut privat atau perancangan metode getter/setter) yang paling menantang bagimu saat mengamankan data objek?

2. Mengapa dalam pemrograman berorientasi objek kita tidak disarankan membiarkan semua atribut objek bersifat publik?

3. Bagaimana prinsip pembatasan akses data ini membantumu memahami pentingnya menjaga keamanan data pada aplikasi nyata?

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.