Object-Oriented Programming (OOP) adalah paradigma pemrograman yang mengorganisir kode dalam bentuk objek. Setiap objek memiliki data (atribut) dan perilaku (method).
Object-Oriented Programming (OOP) adalah paradigma pemrograman yang mengorganisir kode dalam bentuk objek. Setiap objek memiliki data (atribut) dan perilaku (method).
OOP dibangun di atas empat konsep utama:
Pendekatan ini cocok untuk sistem yang kompleks karena menyerupai cara kita memodelkan dunia nyata.
Functional Programming (FP) adalah paradigma yang berfokus pada fungsi murni dan alur data yang jelas.
Prinsip utama FP:
FP lebih menekankan logika daripada struktur.
Perbedaan paling mendasar:
Contoh sederhana:
// OOP
class NumberFilter {
constructor(numbers) {
this.numbers = numbers;
}
getEven() {
return this.numbers.filter(n => n % 2 === 0);
}
}
// Functional
const getEven = (numbers) => numbers.filter(n => n % 2 === 0);
Hasilnya sama, tapi pendekatannya berbeda total.
Banyak yang terlalu bias tanpa lihat minusnya:
FP:
Kalau lu fanatik ke salah satu, itu tanda lu belum paham keduanya.
Jawaban jujur: tidak ada yang “lebih baik”.
Di dunia nyata, kebanyakan proyek pakai keduanya sekaligus.
Bahasa modern seperti JavaScript, Python, dan Kotlin sudah mendukung multi-paradigm.
Artinya:
Lu tidak dituntut milih satu.
Lu dituntut ngerti kapan pakai yang mana.
OOP dan Functional Programming bukan musuh. Mereka adalah alat.
Developer yang biasa-biasa saja akan debat mana yang lebih baik.
Developer yang serius akan pakai keduanya sesuai kebutuhan.
Kalau lu cuma ngerti satu, lu terbatas.
Kalau lu ngerti dua-duanya, lu fleksibel — dan itu yang dicari industri.