Soal Rangkuman Python OOP — Konfirmasi Hasil Belajar lewat Kode
Empat latihan yang merangkum apa yang kamu pelajari di Python OOP — definisi class dengan special method, pewarisan, encapsulation, dan polimorfisme. Tulis kode, jalankan, dan review seluruh chapter sekaligus.
Soal 1: Desain class Point dengan special method
Bangun class Point yang merepresentasikan koordinat 2D. Kamu akan menginisialisasi atribut di __init__, mendefinisikan apa yang dilakukan + antara dua titik dengan __add__, dan membentuk apa yang ditampilkan print() dengan __str__ — tiga special method yang bekerja bersama.
Soal 2: Perluas akun bank dengan pewarisan dan super()
Wariskan dari class induk BankAccount untuk membangun SavingsAccount yang dapat menerapkan bunga. Polanya adalah pewarisan klasik: panggil initializer induk dengan super().__init__(...), lalu tambahkan atribut khusus anak di atasnya.
Soal 3: Validasi suhu dengan @property
Tulis class Celsius yang menolak assignment di bawah nol absolut (-273.15). Kamu akan memakai @property dan @value.setter untuk menyisipkan validasi tepat ke dalam assignment atribut — itulah pola encapsulation klasik.
t.value = X terlihat seperti assignment biasa, tapi melewati setter, yang memvalidasi nilainya lebih dulu. Di luar rentang → ValueError, di dalam rentang → simpan di _value.Soal 4: Pakai polimorfisme untuk menghitung luas dalam satu loop
Beri dua class berbeda method dengan nama yang sama (area()), masukkan instance-nya ke dalam list, dan proses mereka dengan satu loop for. Pemanggil tidak peduli class mana yang mana — itulah polimorfisme dalam intinya.
shape.area() pada tiap item di list, method yang cocok dengan tipe aktual item otomatis dipilih.Kerja bagus sudah sampai di sini
Itu menutup Python OOP. Kamu sudah membahas desain class dan instance, special method seperti __init__ / __add__ / __str__, pewarisan dengan super(), encapsulation dengan @property, polimorfisme, statement with, dan type hints — pada dasarnya semua tool yang kamu butuhkan untuk menyatukan data dan perilaku ke dalam satu tipe. Sekarang kamu bisa mendefinisikan tipe sendiri, melekatkan method padanya, dan memperlakukan beberapa tipe lewat antarmuka bersama.
Chapter berikutnya, Python Lanjutan, adalah tentang melampaui satu file: mengorganisasi modul dan package, dan menggunakan standard library — datetime, os, re, json, collections, dataclasses, asyncio, dan banyak lagi — untuk membangun jenis pemrosesan yang akan kamu temui di kode produksi nyata.