๐ŸŽฏ Tujuan ๐Ÿงฉ Class & Object ๐Ÿ›๏ธ 4 Pilar OOP ๐ŸŽฎ RPG Class Factory Studio ๐Ÿ“ Evaluasi Formatif โœจ Rangkuman & Refleksi
Learn / Informatika / Informatika Lanjut / 02. OOP Python
๐Ÿš€ Informatika Lanjut ยท Modul 02

Pemrograman Berorientasi Objek (OOP) di Python

Tingkatkan kemampuan kodingmu dari prosedural sederhana ke paradigma industri modern! Pelajari bagaimana membuat Class (Cetak Biru), mencetak Object, mendefinisikan constructor __init__, serta menerapkan prinsip Pewarisan (Inheritance) dan Enkapsulasi!

โฑ๏ธ Waktu: 45 Menit ๐Ÿ Paradigma: Class, Object, __init__ ๐Ÿ“ Evaluasi: 20 Soal (4 Bagian)
๐ŸŽฏ

Tujuan Pembelajaran

Kompetensi yang akan kamu kuasai setelah menyelesaikan modul ini

01.
Memahami Perbedaan Prosedural vs OOP

Menjelaskan keunggulan membungkus variabel (atribut) dan fungsi (method) ke dalam satu kesatuan objek.

02.
Mendefinisikan Class & Constructor __init__

Menulis class Python lengkap dengan parameter self dan inisialisasi properti objek baru.

03.
Menerapkan Pewarisan (Inheritance)

Membuat Subclass anak yang mewarisi sifat dan method dari Superclass induk (contoh: Class Warrior turunan dari Hero).

04.
Konsep Enkapsulasi & Polimorfisme

Melindungi atribut privat agar tidak diubah sembarangan dan mendefinisikan method yang memiliki banyak bentuk.

1

Analogi Cetak Biru (Class) & Bangunan Nyata (Object)

Memahami konsep dasar bagaimana objek diciptakan di dalam memori program

๐Ÿ“

1. Class (Cetak Biru / Blueprint)

Kerangka acuan atau cetakan pabrik yang mendefinisikan atribut apa saja yang dimiliki serta aksi (method) apa yang bisa dilakukan.
Contoh: class Mobil: memiliki atribut warna, kecepatan, dan method maju(), rem().

๐Ÿš—

2. Object / Instance (Benda Nyata)

Hasil cetakan konkret nyata yang menempati ruang memori RAM, dengan nilai atribut yang spesifik dan unik.
Contoh: mobil_andi = Mobil("Merah", 120) dan mobil_budi = Mobil("Hitam", 180).

2

4 Pilar Utama Object-Oriented Programming

Prinsip arsitektur perangkat lunak skala enterprise

๐Ÿ”’ 1. Encapsulation

Membungkus data dan menyembunyikan variabel internal agar tidak dimodifikasi langsung dari luar.

๐Ÿงฌ 2. Inheritance

Mewariskan properti dan method dari class induk (Parent) ke class turunan (Child).

๐ŸŽญ 3. Polymorphism

Satu nama method yang dapat memiliki perilaku berbeda pada class turunan yang berbeda.

๐Ÿ’ก 4. Abstraction

Menyembunyikan detail kerumitan internal dan hanya menampilkan fungsi penting kepada pengguna.

๐ŸŽฎ

RPG Character Class Factory Studio

Cetak objek Hero baru dari blueprint Class Python dan uji method aksinya secara interaktif!

Studio Objek
โš™๏ธ Parameter Constructor __init__:
LIVE PYTHON OBJECT IN MEMORY Belum Dicetak
class Hero:
def __init__(self, nama, role):
self.nama = nama
self.role = role
๐Ÿ’ก Klik tombol "Cetak Objek" untuk membuat instance baru di RAM.
๐Ÿ“

Evaluasi Formatif: OOP Python

Uji pemahaman Class, Object, Constructor, dan Pewarisan (Total Skor: 100)

Target Kelulusan Minimal 70 Poin
Bagian A

Pilihan Ganda (5 Soal ยท Bobot: 25 Poin)

1. Metode khusus (Constructor) dalam bahasa Python yang otomatis dipanggil saat sebuah objek baru pertama kali diciptakan adalah...

2. Parameter self pada penulisan method di dalam class Python berfungsi untuk...

3. Konsep di mana sebuah class anak (Subclass) dapat mewarisi seluruh atribut dan method dari class induk (Superclass) dinamakan...

4. Perhatikan kode: class Siswa: pass dilanjutkan andi = Siswa(). Variabel andi dalam istilah OOP disebut sebagai...

5. Di Python, penulisan nama variabel atribut yang diawali dua garis bawah (seperti self.__pin) bertujuan untuk...

Bagian B

Benar atau Salah (5 Soal ยท Bobot: 25 Poin)

1. Dari satu Class blueprint yang sama, kita bisa menciptakan ratusan Object instance yang berbeda-beda nilainya.
2. Method di dalam class Python adalah sebuah fungsi biasa yang terikat pada class tersebut dan memiliki parameter pertama self.
3. Polimorfisme memungkinkan class turunan memiliki method dengan nama yang sama persis namun melakukan aksi yang disesuaikan (Override).
4. Penulisan nama Class di Python menurut konvensi PEP 8 sebaiknya menggunakan format CamelCase (contoh: MobilSport).
5. Pemrograman berorientasi objek (OOP) hanya bisa digunakan untuk membuat game dan tidak bisa untuk aplikasi bisnis atau web.
Bagian C

Menjodohkan Istilah OOP & Contoh Kodenya (5 Pasangan ยท Bobot: 25 Poin)

Bagian D

Urutan Merancang Class Rekening Bank OOP (Bobot: 25 Poin)

Urutkan proses penulisan class sistem perbankan:

A. Mendefinisikan class: class RekeningBank:
B. Membuat constructor def __init__(self, pemilik, saldo_awal):
C. Menambahkan method def setor(self, jumlah): self.saldo += jumlah
D. Menginstansiasi objek nasabah: akun_budi = RekeningBank("Budi", 500000)
E. Memanggil method setor: akun_budi.setor(100000)
โœจ

Rangkuman Materi & Refleksi Belajar

Tuliskan pemahaman dan pengalaman belajarmu pada materi ini

1. Struktur Nyata: OOP memetakan entitas dunia nyata (seperti Siswa, Mobil, Produk Toko) menjadi struktur kode yang logis dan mudah dipahami.

2. Efisiensi Pewarisan: Dengan Inheritance, kita tidak perlu mengulang penulisan kode atribut dasar berkali-kali pada class sejenis.

3. Skalabilitas Kode: Aplikasi besar dengan ratusan ribu baris kode dapat dirawat dengan mudah berkat modularitas OOP.