
Daftar Isi
Pernahkah Anda merasa bingung saat membaca istilah seperti class, object, inheritance, atau encapsulation di JavaScript?
Tenang, Anda tidak sendirian. Banyak pemula yang baru belajar JavaScript sering kebingungan dengan konsep Object-Oriented Programming (OOP) karena terkesan rumit dan membingungkan.
Padahal, memahami OOP adalah langkah penting jika Anda ingin menulis kode JavaScript yang rapi, efisien, dan mudah dipelihara. Dengan menguasainya, Anda bisa membangun aplikasi besar dengan struktur kode yang terorganisir.
Dalam artikel ini, Anda akan menemukan:
- Penjelasan singkat dan mudah dipahami tentang konsep OOP.
- Implementasi OOP di JavaScript dengan contoh nyata.
- Panduan langkah demi langkah membuat class dan object.
- Tips penting agar Anda tidak salah memahami konsep dasar.
Apa Itu Object-Oriented Programming (OOP)?
Object-Oriented Programming (OOP) adalah paradigma pemrograman yang berfokus pada object — komponen yang mewakili entitas dunia nyata seperti pengguna, mobil, produk, atau data apa pun.
Dengan OOP, Anda tidak hanya menulis fungsi, tetapi juga membuat objek yang memiliki data (property) dan perilaku (method).
Konsep Utama OOP di JavaScript
1. Encapsulation (Enkapsulasi)
Enkapsulasi berarti membungkus data dan fungsi di dalam satu unit (class).
Misalnya, data pribadi pengguna hanya bisa diakses melalui method tertentu.
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
getInfo() {
return `${this.name} berusia ${this.age} tahun.`;
}
}
const user1 = new User("Andi", 20);
console.log(user1.getInfo());Penjelasan:
Di sini, data name dan age dibungkus dalam class User. Data hanya bisa diakses melalui method getInfo(), bukan langsung dari luar.
2. Inheritance (Pewarisan)
Inheritance memungkinkan Anda membuat class baru yang mewarisi sifat dan metode dari class lain.
Ini berguna untuk menghindari duplikasi kode.
class Animal {
speak() {
console.log("Hewan ini bersuara.");
}
}
class Dog extends Animal {
speak() {
console.log("Anjing menggonggong: Guk guk!");
}
}
const dog1 = new Dog();
dog1.speak();Penjelasan:
Dog mewarisi dari Animal, tapi juga bisa memiliki perilaku sendiri. Dengan cara ini, Anda bisa memperluas fungsionalitas tanpa menulis ulang semua kode.
3. Polymorphism (Polimorfisme)
Polimorfisme berarti satu method bisa memiliki bentuk atau perilaku berbeda, tergantung objek yang memanggilnya.
Contoh:
class Shape {
area() {
return 0;
}
}
class Circle extends Shape {
constructor(radius) {
super();
this.radius = radius;
}
area() {
return Math.PI * this.radius ** 2;
}
}
const circle = new Circle(5);
console.log(circle.area()); // Output: 78.5398...Penjelasan:
Method area() dimiliki oleh Shape, tapi diubah (di-override) di Circle agar sesuai dengan rumus luas lingkaran.
4. Abstraction (Abstraksi)
Abstraksi berarti hanya menampilkan fitur penting dan menyembunyikan detail kompleksnya.
Misalnya, ketika Anda memanggil circle.area(), Anda tidak perlu tahu bagaimana rumusnya bekerja—cukup tahu fungsinya menghasilkan luas.
Kini Anda sudah memahami dasar Object-Oriented Programming di JavaScript—mulai dari konsep hingga implementasi nyata. Dengan OOP, kode Anda akan lebih mudah diatur, efisien, dan siap dikembangkan ke proyek yang lebih besar.
Jika Anda ingin memperdalam pemahaman tentang JavaScript modern, baca juga artikel kami berikutnya: “Belajar Fetch API di JavaScript: Cara Mengambil Data dari Server dengan Async/Await”.
