Install Web App

Belajar Typescript #42 | Konsep OOP - Encapsulation

profil-penulis

Irgo Adityawan

28 Februari 2023

Enkapsulasi adalah salah satu konsep utama dalam pemrograman berorientasi objek (OOP) yang memungkinkan Anda untuk mengatur akses ke properti dan method dalam suatu objek. Dengan enkapsulasi, Anda dapat melindungi data dan perilaku dari akses yang tidak sah dan memastikan bahwa hanya metode yang benar-benar diperlukan yang dapat berinteraksi dengan objek tersebut. Artikel ini akan menjelaskan konsep enkapsulasi dalam OOP, cara menerapkannya dalam TypeScript, dan mengapa enkapsulasi penting dalam pengembangan aplikasi.

Apa Itu Enkapsulasi?

Enkapsulasi adalah konsep yang melibatkan penyembunyian detail implementasi dalam suatu objek dan hanya mengekspos metode atau properti yang relevan. Ini adalah salah satu prinsip utama dalam OOP yang membantu dalam membangun kode yang aman, terstruktur, dan mudah dimengerti.

Ada tiga tingkat akses utama dalam enkapsulasi:

  1. Public: Properti atau method yang dapat diakses dari luar objek.

  2. Private: Properti atau method yang hanya dapat diakses dari dalam objek.

  3. Protected: Properti atau method yang dapat diakses dari dalam objek dan juga dari kelas turunannya.

Konsep enkapsulasi dapat membantu dalam mencapai beberapa tujuan penting:

  • Pemisahan Concerns: Memisahkan logika bisnis dari detail implementasi, sehingga perubahan dapat dikelola dengan lebih mudah.

  • Keamanan: Melindungi data dan perilaku dari akses yang tidak sah atau modifikasi yang tidak diinginkan.

  • Keterbacaan Kode: Membuat kode lebih mudah dimengerti dengan menyembunyikan detail implementasi yang kompleks.

Menerapkan Enkapsulasi dalam TypeScript

Dalam TypeScript, Anda dapat menerapkan enkapsulasi dengan cara berikut:

1. Menggunakan Access Modifiers

Access modifiers adalah kata kunci yang digunakan untuk mengatur tingkat akses properti atau method dalam sebuah class. Terdapat tiga access modifiers utama: public, private, dan protected.

  • public: Properti atau method dapat diakses dari mana saja.
  • private: Properti atau method hanya dapat diakses dari dalam objek itu sendiri.
  • protected: Properti atau method dapat diakses dari dalam objek dan kelas turunannya.

Contoh penggunaan access modifiers dalam TypeScript:

class Person {
  private name: string;

  constructor(name: string) {
    this.name = name;
  }

  public greet() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

Dalam contoh di atas, properti name didefinisikan sebagai private, yang berarti hanya dapat diakses dari dalam class Person. Method greet() didefinisikan sebagai public, yang berarti dapat diakses dari luar objek.

2. Menggunakan Getters dan Setters

Anda juga dapat menggunakan getters dan setters untuk mengakses atau mengubah nilai properti dengan cara yang terkendali. Dengan getters dan setters, Anda dapat menerapkan validasi atau logika tambahan saat mengakses atau mengubah nilai properti.

Contoh penggunaan getters dan setters dalam TypeScript:

class Circle {
  private _radius: number;

  constructor(radius: number) {
    this._radius = radius;
  }

  get radius(): number {
    return this._radius;
  }

  set radius(value: number) {
    if (value >= 0) {
      this._radius = value;
    } else {
      console.error("Radius must be a non-negative number.");
    }
  }
}

Dalam contoh di atas, kita menggunakan getter radius untuk mengambil nilai properti _radius dan setter radius untuk mengubah nilainya. Setter melakukan validasi untuk memastikan bahwa nilai radius selalu non-negatif.

Kesimpulan

Enkapsulasi adalah konsep penting dalam OOP yang memungkinkan Anda untuk menyembunyikan detail implementasi yang tidak perlu dan melindungi data serta perilaku dalam objek. Dalam TypeScript, Anda dapat menerapkan enkapsulasi dengan menggunakan access modifiers, getters, dan setters. Dengan enkapsulasi yang baik, Anda dapat membangun kode yang lebih aman, terstruktur, dan mudah dimengerti.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Typescript #01 | Memahami apa itu Typescript

2. Belajar Typescript #02 | Setup project Typescript

3. Belajar Typescript #03 | Konfigurasi compiler Typescript

4. Belajar Typescript #04 | Membuat code dan menjalankan Typescript

5. Belajar Typescript #05 | Basic types pada Typescript

6. Belajar Typescript #06 | Type data Boolean pada Typescript

7. Belajar Typescript #07 | Type data Number pada Typescript

8. Belajar Typescript #08 | Type data String pada Typescript

9. Belajar Typescript #09 | Type data Null dan Undefined pada Typescript

10. Belajar Typescript #10 | Type data Any pada Typescript

11. Belajar Typescript #11 | Type data Void pada Typescript

12. Belajar Typescript #12 | Object types pada Typescript

13. Belajar Typescript #13 | Object Literal pada Typescript

14. Belajar Typescript #14 | Type data Void pada Typescript

15. Belajar Typescript #15 Object types pada Typescript

16. Belajar Typescript #16 | Memahami dan menerapkan type aliases

17. Belajar Typescript #17 | Memahami dan menerapkan union types

18. Belajar Typescript #18 | Memahami dan menerapkan intersection types

19. Belajar Typescript #19 | Basic types lanjutan - Array

20. Belajar Typescript #20 | Basic types lanjutan - Tuples

21. Belajar Typescript #21 | Basic types lanjutan - Null

22. Belajar Typescript #22 | Basic types lanjutan - Undefined

23. Belajar Typescript #23 | Basic types lanjutan - Void

24. Belajar Typescript #24 | Basic types lanjutan - Never

25. Belajar Typescript #25 | Mengenal teknik lanjutan pada Typescript

26. Belajar Typescript #26 | Optional Parameter

27. Belajar Typescript #27 | Default Parameter

28. Belajar Typescript #28 | Return Type

29. Belajar Typescript #29 | Mendeklarasikan Fungsi - Tanpa Parameter

30. Belajar Typescript #30 | Mendeklarasikan Fungsi - Dengan Parameter

31. Belajar Typescript #31 | Mendeklarasikan Fungsi - Dengan Return Type

32. Belajar Typescript #32 | Mendeklarasikan Fungsi - Sebagai Variabel

33. Belajar Typescript #33 | Mendeklarasikan Fungsi - Sebagai Tipe Data

34. Belajar Typescript #34 | Function Call Signature

35. Belajar Typescript #35 | Menerapkan Types ke dalam class

36. Belajar Typescript #36 | Class declaration

37. Belajar Typescript #37 | Properties dan Methods

38. Belajar Typescript #38 | Object dan Properti dari sebuah class

39. Belajar Typescript #39 | Constructor

40. Belajar Typescript #40 | Konsep OOP - Inheritance

41. Belajar Typescript #41 | Konsep OOP - Abstraction

42. Belajar Typescript #42 | Konsep OOP - Encapsulation

43. Belajar Typescript #43 | Accessors

44. Belajar Typescript #44 | Member visibility / Access modifier

45. Belajar Typescript #45 | Konsep OOP Polymorphism

46. Interfaces TypeScript

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya