π― 1. Pengantar OOP (Object-Oriented Programming)
7
π Deskripsi
Object-Oriented Programming (OOP) adalah paradigma pemrograman yang berfokus pada objek, yaitu representasi dari entitas dunia nyata yang memiliki data (atribut) dan perilaku (method).
π§ Narasi
Daripada menulis kode panjang tanpa struktur, OOP membantu kita membangun aplikasi seperti menyusun βlegoβ: tiap bagian kecil (objek) punya fungsi jelas dan bisa digabung menjadi sistem besar.
π§© 2. Konsep Dasar OOP
π Tabel Konsep
| Konsep | Penjelasan | Contoh |
|---|---|---|
| Class | Blueprint | Mahasiswa |
| Object | Instance | Andi, Budi |
| Attribute | Data | nama, nim |
| Method | Fungsi | tampilkanData() |
π§ Narasi
- Class = cetakan
- Object = hasil cetakan
π Satu class bisa menghasilkan banyak object
π§± 3. Pilar OOP
6
π 4 Pilar OOP
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
π§ Narasi
Empat pilar ini membuat kode:
- Lebih aman
- Lebih fleksibel
- Mudah dikembangkan
π 4. Encapsulation
π Deskripsi
Menyembunyikan data dan hanya mengakses melalui method.
π» Contoh
class Mahasiswa:
def __init__(self, nama):
self.__nama = nama # private
def get_nama(self):
return self.__nama
π§ Narasi
Encapsulation melindungi data agar tidak diubah sembarangan.
π 5. Inheritance
π Deskripsi
Class dapat mewarisi sifat dari class lain.
π» Contoh
class User:
def login(self):
print("Login user")
class Admin(User):
def akses(self):
print("Akses admin")
π§ Narasi
Inheritance menghindari duplikasi kode.
π 6. Polymorphism
π Deskripsi
Satu method bisa memiliki banyak bentuk.
π» Contoh
class Hewan:
def suara(self):
print("Suara hewan")
class Kucing(Hewan):
def suara(self):
print("Meong")
π§ Narasi
Polymorphism membuat program lebih fleksibel.
π§ 7. Abstraction
π Deskripsi
Menyembunyikan detail kompleks dan hanya menampilkan yang penting.
π§ Narasi
User tidak perlu tahu bagaimana sistem bekerja, cukup tahu cara menggunakannya.
π₯οΈ 8. OOP dalam Aplikasi Desktop
7
π Implementasi
- Class untuk GUI
- Class untuk logic
- Class untuk database
π§ Narasi
OOP membantu memisahkan:
- Tampilan (UI)
- Proses (Logic)
- Data (Model)
π§ͺ 9. Tutorial Praktikum: OOP GUI (Python Tkinter)
π― Studi Kasus
Aplikasi GUI berbasis class
π» Contoh
import tkinter as tk
class Aplikasi:
def __init__(self, root):
self.root = root
self.root.title("OOP GUI")
self.label = tk.Label(root, text="Masukkan Nama")
self.label.pack()
self.entry = tk.Entry(root)
self.entry.pack()
self.button = tk.Button(root, text="Klik", command=self.tampil)
self.button.pack()
self.hasil = tk.Label(root, text="")
self.hasil.pack()
def tampil(self):
nama = self.entry.get()
self.hasil.config(text="Halo " + nama)
root = tk.Tk()
app = Aplikasi(root)
root.mainloop()
π§ Penjelasan
class Aplikasiβ representasi program__init__β konstruktor- Method
tampil()β event handler
ποΈ 10. Class Diagram
8
π Deskripsi
Class diagram digunakan untuk merancang struktur OOP.
π§ Narasi
Diagram membantu sebelum coding:
- Memahami hubungan class
- Menghindari kesalahan desain
β οΈ 11. Kesalahan Umum
β Tabel Kesalahan
| Kesalahan | Dampak |
|---|---|
| Tidak gunakan OOP | Kode berantakan |
| Class terlalu besar | Sulit maintenance |
| Tidak gunakan inheritance | Duplikasi kode |
| Tidak encapsulation | Data tidak aman |
π§ Narasi
OOP harus digunakan dengan benar, bukan sekadar formalitas.
π― 12. Best Practice
β Tips
- Buat class kecil dan fokus
- Gunakan inheritance seperlunya
- Gunakan encapsulation
- Pisahkan UI dan logic
- Gunakan naming yang jelas
ποΈ 13. Studi Kasus Nyata
9
π Contoh
- Aplikasi kasir
- Sistem akademik
- Sistem inventaris
π§ Narasi
Semua aplikasi profesional menggunakan OOP untuk skalabilitas.
π 14. Rangkuman
π Inti Materi
- OOP = pemrograman berbasis objek
- Terdiri dari class & object
- Memiliki 4 pilar utama
- Digunakan dalam aplikasi desktop
- Membuat kode rapi & scalable
π 15. Latihan & Tugas
βοΈ Latihan
- Apa itu class dan object?
- Sebutkan 4 pilar OOP!
- Apa manfaat inheritance?
π» Tugas Praktikum
Buat aplikasi:
- GUI berbasis class
- Input nama
- Tampilkan hasil
- Gunakan minimal 1 class
π Penutup
OOP adalah fondasi:
- Untuk aplikasi besar
- Untuk kerja tim
- Untuk software profesional