LKPDPertemuan 13Bab 3Fase FSemester 1

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Pewarisan dengan Fungsi super() untuk Mengoptimalkan Hierarki Struktur Kode

LKPD ini disusun untuk satu pertemuan Koding dan Kecerdasan Artifisial kelas 11 dengan topik "Menerapkan Pewarisan dengan Fungsi super() untuk Mengoptimalkan Hierarki Struktur Kode".

MEJAGURU.ID - DOKUMEN LKPD

LKPD Koding dan Kecerdasan Artifisial Kelas 11: Menerapkan Pewarisan dengan Fungsi super() untuk Mengoptimalkan Hierarki Struktur Kode

Koding dan Kecerdasan Artifisial - Kelas 11

Bab 3 Pertemuan 13

LEMBAR KERJA PESERTA DIDIK (LKPD)

Koding dan Kecerdasan Artifisial — Kelas 11 (Fase F)

Topik: Menerapkan Pewarisan dengan Fungsi super() untuk Mengoptimalkan Hierarki Struktur Kode

INFORMASI UMUM

Mata PelajaranKoding dan Kecerdasan Artifisial
Fase / KelasFase F / Kelas 11
TopikMenerapkan Pewarisan dengan Fungsi super() untuk Mengoptimalkan Hierarki Struktur Kode
Alokasi Waktu2 JP (2 x 45 menit = 90 menit)
Tipe Aktivitascampuran
Tahun Ajaran2026/2027
Semester1
Nama Murid.................................
Kelas.................................

TUJUAN PEMBELAJARAN

  1. Menerapkan pewarisan dan polimorfisme dalam pemrograman berorientasi objek untuk mengoptimalkan hierarki struktur kode

PETUNJUK UMUM

  • Bacalah instruksi pada setiap kegiatan dengan seksama sebelum menuliskan kode atau jawaban.
  • Gunakan lingkungan pemrograman Python (IDLE, VS Code, Jupyter Notebook, atau compiler online) untuk menguji kode yang kalian rancang.
  • Kerjakan Kegiatan 1 secara mandiri, Kegiatan 2 secara berpasangan/diskusi terpandu, dan Kegiatan 3 secara mandiri untuk pemantapan.
  • Pastikan menerapkan kaidah sintaksis fungsi super() dan pewarisan OOP secara tepat untuk mengoptimalkan hierarki kode.

KEGIATAN

Kegiatan 1: Aktivitas 1: Menerapkan Pewarisan Tunggal Menggunakan Fungsi super()

Estimasi: 25 menit

Alat & Bahan:

  • Perangkat komputer/laptop atau smartphone
  • Python 3 interpreter / IDE / Compiler Python Online

Petunjuk Pengerjaan:

  1. Perhatikan rancangan kelas induk 'KarakterGame' yang memiliki atribut 'nama' dan 'energi', serta metode 'tampilkan_status()'.
  2. Terapkan konsep pewarisan dengan membuat kelas turunan bernama 'Prajurit' yang mewarisi kelas 'KarakterGame'.
  3. Gunakan fungsi 'super().__init__()' di dalam konstruktor kelas 'Prajurit' agar inisialisasi atribut kelas induk berjalan optimal tanpa menulis ulang penetapan atribut.
  4. Tambahkan atribut khusus pada kelas 'Prajurit' yaitu 'senjata', lalu jalankan pembuatan objek 'prajurit1 = Prajurit("Arjuna", 100, "Busur Panah")'.

Pertanyaan:

1. Tuliskan kode program Python lengkap untuk mendefinisikan kelas induk 'KarakterGame' dan kelas turunan 'Prajurit' dengan memanfaatkan pemanggilan 'super().__init__()' untuk mengoptimalkan inisialisasi atribut pewarisan!

2. Lengkapilah baris kode rumpang pemanggilan super() berikut agar atribut 'nama' dan 'energi' pada kelas 'Penyihir' terinisialisasi secara tepat melalui konstruktor kelas induk:
class Penyihir(KarakterGame):
def __init__(self, nama, energi, sihir):
____________________
self.sihir = sihir

Tuliskan kode program dan potongan baris sintaks Python secara rapi pada editor teks atau kolom kode yang disediakan.

Kegiatan 2: Aktivitas 2: Menerapkan Polimorfisme Melalui Method Overriding dan super()

Estimasi: 35 menit

Alat & Bahan:

  • Perangkat komputer/laptop dengan Python IDE
  • Buku catatan / lembar kerja kelompok

Petunjuk Pengerjaan:

  1. Diskusikan bersama rekan sebangku bagaimana mengoptimalkan hierarki kode dengan polimorfisme (method overriding).
  2. Pada kelas induk 'KarakterGame', metode 'serang()' mencetak: '[nama] melakukan serangan biasa!'.
  3. Terapkan polimorfisme pada kelas 'Prajurit' dan 'Penyihir' dengan melakukan override terhadap metode 'serang()'.
  4. Pada kelas 'Prajurit', panggil metode 'serang()' milik kelas induk menggunakan 'super().serang()' terlebih dahulu, kemudian tambahkan cetakan: '[nama] menebaskan pedang!'.
  5. Pada kelas 'Penyihir', ganti sepenuhnya perilaku metode 'serang()' agar mencetak: '[nama] menembakkan bola api!'.
  6. Buat sebuah daftar (list) berisi objek prajurit dan objek penyihir, lalu lakukan perulangan (loop) untuk memanggil metode 'serang()' pada setiap objek guna membuktikan perilaku polimorfisme.

Pertanyaan:

1. Tuliskan kode implementasi override metode 'serang()' pada kelas 'Prajurit' yang menggabungkan metode induk via 'super().serang()' dan kode override metode 'serang()' pada kelas 'Penyihir' yang mengganti total perilaku metode!

2. Tuliskan blok kode perulangan (loop) untuk mengeksekusi metode 'serang()' pada daftar objek '[Prajurit("Gatotkaca", 100, "Kapak"), Penyihir("Gandalf", 80, "Cahaya")]' yang mendemonstrasikan penerapan polimorfisme, beserta output terminal yang dihasilkan!

Tuliskan kode implementasi metode overriding serta hasil keluaran (output) terminal secara berurutan pada lembar pengerjaan.

Kegiatan 3: Aktivitas 3: Mengoptimalkan Hierarki Kode Pewarisan dan Polimorfisme Bertingkat

Estimasi: 30 menit

Alat & Bahan:

  • Perangkat komputer/laptop dengan Python IDE
  • Lembar kerja siswa

Petunjuk Pengerjaan:

  1. Perhatikan skenario struktur kelas hierarkis berikut: Kelas induk utama 'Kendaraan' (atribut: 'merk', 'kecepatan_maksimal'), kelas turunan tingkat 1 'Mobil' (atribut tambahan: 'kapasitas_penumpang'), dan kelas turunan tingkat 2 'MobilListrik' (atribut tambahan: 'daya_baterai').
  2. Terapkan pewarisan bertingkat secara modular dan optimal: konstruktor 'Mobil' memanggil 'super().__init__()' milik 'Kendaraan', dan konstruktor 'MobilListrik' memanggil 'super().__init__()' milik 'Mobil'.
  3. Terapkan polimorfisme pada metode 'info_spesifikasi()' di mana 'MobilListrik' menggunakan 'super().info_spesifikasi()' untuk mencetak data dari kelas induk kemudian menambahkan informasi daya baterai.
  4. Setelah menyelesaikan penulisan kode, luangkan waktu untuk mengisi pertanyaan refleksi dan mengikuti penutupan pembelajaran.

Pertanyaan:

1. Lengkapi tabel pemetaan pewarisan dan pemanggilan fungsi super() berikut untuk struktur kelas 'Kendaraan', 'Mobil', dan 'MobilListrik'!

Ruang tabel jawaban

2. Tuliskan kode program kelas 'MobilListrik' yang menerapkan pewarisan dari 'Mobil' dengan konstruktor yang menggunakan 'super()' serta override metode 'info_spesifikasi()' yang juga memanfaatkan 'super().info_spesifikasi()'!

Isi tabel analisis hierarki kelas pada format tabel 4 kolom yang disediakan, lalu tuliskan kode kelas MobilListrik di bawah tabel.

REFLEKSI

1. Bagaimana penggunaan fungsi super() membantu kalian menghindari penulisan kode berulang (redundansi) saat membangun kelas turunan?

2. Dalam situasi perancangan kode program berorientasi objek nyata, mengapa polimorfisme melalui method overriding memudahkan pengelolaan beragam objek dengan antarmuka metode yang seragam?

3. Bagian mana dari pembuatan hierarki pewarisan bertingkat yang paling menantang bagi kalian, dan bagaimana cara kalian memastikannya berjalan tanpa galat?

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.