Python Academy · Pelajaran

Enkapsulasi dan Abstraksi

Pahami cara menyembunyikan kerumitan dan menampilkan hanya hal yang diperlukan.

Pelajaran 5 dari 611 langkah

Enkapsulasi dan Abstraksi adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 5 dari 6. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 6 pelajaran total.

Pengenalan Enkapsulasi dan Abstraksi

Enkapsulasi dan abstraksi adalah prinsip dasar Pemrograman Berorientasi Objek (OOP) yang membantu mengelola kompleksitas dan meningkatkan pengaturan kode.

Enkapsulasi membatasi akses langsung ke data suatu objek, sedangkan abstraksi menyembunyikan detail implementasi dan hanya menampilkan fitur-fitur penting.

Enkapsulasi dan Abstraksi — ilustrasi 1

Apa Itu Enkapsulasi?

Enkapsulasi berarti menggabungkan data (atribut) dan metode dalam satu class serta membatasi akses langsung ke keduanya.

# Example of encapsulation
class Person:
    # Private attribute (indicated by double underscores)
    def __init__(self, name):
        self.__name = name

    # Public method to access the private attribute
    def get_name(self):
        return self.__name

person = Person("Alice")
# Accessing private data via a public method
print(person.get_name())

Atribut Privat

Dalam Python, atribut privat ditandai dengan dua garis bawah __. Atribut tersebut tidak dapat diakses secara langsung dari luar class.

# Private attributes
class Car:
    def __init__(self, brand):
        self.__brand = brand  # Private attribute

    def get_brand(self):
        # Public method to access the private attribute
        return self.__brand

car = Car("Toyota")
print(car.get_brand())  # Outputs: Toyota

Apa Itu Abstraksi?

Abstraksi menyembunyikan detail implementasi internal suatu class dan hanya menampilkan fungsionalitas yang diperlukan oleh pengguna.

# Example of abstraction
from abc import ABC, abstractmethod

# Abstract Base Class
class Shape(ABC):
    @abstractmethod
    def area(self):
        pass

# Subclass implementing the abstract method
class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius * self.radius

circle = Circle(5)
print(circle.area())  # Outputs: 78.5

Class Abstrak

Class abstrak adalah class yang tidak dapat dibuat instansnya secara langsung. Class ini digunakan untuk menentukan interface umum bagi subclass-nya.

# Abstract Base Class with multiple subclasses
from abc import ABC, abstractmethod

class Animal(ABC):
    @abstractmethod
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print("Dog barks")

class Cat(Animal):
    def speak(self):
        print("Cat meows")

dog = Dog()
cat = Cat()
dog.speak()  # Outputs: Dog barks
cat.speak()  # Outputs: Cat meows

Enkapsulasi vs. Abstraksi

Enkapsulasi dan abstraksi saling berkaitan erat, tetapi merupakan konsep yang berbeda:

  • Enkapsulasi: Membatasi akses ke data di dalam suatu class.
  • Abstraksi: Menyembunyikan detail implementasi dan menyediakan interface yang jelas.

Keuntungan Enkapsulasi dan Abstraksi

Berikut beberapa keuntungan utamanya:

  • Meningkatkan keamanan dan kemudahan pemeliharaan kode.
  • Mendorong pembuatan kode yang modular dan dapat digunakan kembali.
  • Membuat kode lebih mudah dibaca dan dipahami.

Kesalahan Umum dalam Enkapsulasi dan Abstraksi

Berikut beberapa kesalahan yang harus dihindari:

  • Mengakses atribut privat secara langsung, bukan menggunakan metode pengambil dan metode pengubah.
  • Membuat instans class abstrak secara langsung.
  • Tidak mengimplementasikan semua metode abstrak dalam subclass.

Apa yang Telah Kita Pelajari?

Dalam pelajaran ini, Anda telah mempelajari:

  • Pengertian enkapsulasi dan cara membatasi akses ke data menggunakan atribut privat.
  • Pengertian abstraksi dan cara menggunakan class abstrak untuk menentukan interface umum.
  • Perbedaan dan manfaat enkapsulasi serta abstraksi.

Kerja bagus! Mari lanjut ke topik berikutnya.

Enkapsulasi dan Abstraksi — ilustrasi 11
Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
320

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Enkapsulasi dan Abstraksi” gratis?

Ya — teks lengkap “Enkapsulasi dan Abstraksi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 6 pelajaran total.

Apa yang akan aku pelajari di “Enkapsulasi dan Abstraksi”?

Pahami cara menyembunyikan kerumitan dan menampilkan hanya hal yang diperlukan. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 5 dari 6.

Berapa lama pelajaran “Enkapsulasi dan Abstraksi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kelas dan Objek
  2. Atribut dan Metode
  3. Pewarisan
  4. Polimorfisme
  5. Enkapsulasi dan Abstraksi
  6. Metode Ajaib (__str__, __repr__, dll.)
← Kembali ke Python Academy