Skip to main content

Perbedaan Antara Abstraksi dan Enkapsulasi

Abstraksi adalah proses pengumpulan informasi penting yang akan menciptakan dasar untuk membangun sistem yang kompleks. Enkapsulasi adalah proses membuat sistem yang kompleks lebih mudah ditangani oleh pengguna akhir, tanpa khawatir tentang kerumitan internal. 

Perbedaan mendasar antara "abstraksi" dan "enkapsulasi" adalah bahwa abstraksi berfokus pada "mengidentifikasi komponen yang diperlukan untuk membangun sistem" sedangkan, enkapsulasi berfokus pada "menyembunyikan kompleksitas internal suatu sistem".

Abstraksi adalah proses pengumpulan informasi penting yang akan menciptakan dasar untuk membangun sistem yang kompleks. Enkapsulasi adalah proses membuat sistem yang kompleks lebih mudah ditangani oleh pengguna akhir, tanpa khawatir tentang kerumitan internal. Perbedaan mendasar antara "abstraksi" dan "enkapsulasi" adalah bahwa abstraksi berfokus pada "mengidentifikasi komponen yang diperlukan untuk membangun sistem" sedangkan, enkapsulasi berfokus pada "menyembunyikan kompleksitas internal suatu sistem".
Perbedaan Antara Abstraksi dan Enkapsulasi
Perbedaan Antara Abstraksi dan Enkapsulasi

Tabel


ABSTRAKSIENKAPSULASI
PengertianMenunjukkan, elemen apa yang diperlukan untuk membangun sistem.Menyembunyikan kompleksitas sistem.
AplikasiSelama 'level desain'.Selama 'Level Implementasi'.
FokusFokusnya adalah pada "apa" yang harus dilakukanFokusnya adalah pada "bagaimana" itu harus dilakukan.
PencapaianDicapai melalui enkapsulasi.Dicapai dengan menjadikan anggota kelas sebagai 'pribadi'.
ContohGUI ponsel, memiliki beberapa ikon untuk diklik, yang pada klik melakukan fungsi tertentu.Setelah ikon diklik, pengguna akhir tidak tahu tentang detail penerapannya

Definisi Abstraksi

Abstraksi adalah mekanisme penggalian elemen-elemen penting untuk pembuatan sistem, tanpa rincian implementasinya. Dalam abstraksi, kita harus fokus hanya pada apa yang harus dilakukan daripada bagaimana seharusnya dilakukan. Abstraksi adalah proses berpikir; itu memecahkan masalah di tingkat desain.
Klasifikasi hierarki membantu kita mengelola abstraksi yang kompleks. Ini memungkinkan kita untuk memecah sistem yang rumit menjadi beberapa bagian yang dapat dikelola dan membuat semantik berlapis. Selain itu, ini adalah "generalisasi". Mari, ambil contoh 'Sepeda', ia dibuat dari sejumlah subsistem seperti mesin, rem, lampu, tata suara, tempat duduk, dan banyak lagi, yang ketika dirakit menciptakan objek 'sepeda'.
'Rem' yang merupakan subsistem sepeda selanjutnya dapat diklasifikasikan sebagai rem roda depan dan rem roda belakang, tetapi secara umum, kami melihat semua subsistem sebagai rem. Jadi, kita harus mengelola sistem yang kompleks dengan klasifikasi hierarkis, yang membantu kita untuk mengetahui elemen-elemen penting apa yang akan diperlukan untuk membuat sistem.
Jadi, abstraksi tidak lain adalah generalisasi “elemen apa yang penting untuk menciptakan sistem”, yaitu mengambil yang penting saja.

Definisi Enkapsulasi

Enkapsulasi adalah fitur penting dari pemrograman berorientasi objek. Ini adalah mekanisme yang mengikat data dan kode bersama-sama dan juga menjaga mereka aman dari gangguan luar. Dengan kata sederhana, enkapsulasi menyembunyikan kerumitan suatu sistem, karena kata kunci di sini adalah “menyembunyikan data”. Ini seperti pembungkus pelindung yang menyembunyikan data dan kode di dalam kelas, diakses oleh kode lain yang didefinisikan di luar kelas dan fungsi / metode anggota yang bukan anggota kelas itu.
Ketika "data" dan kode yang beroperasi pada data itu, ditautkan dalam suatu kelas, objek dari kelas tersebut dibuat. Akses ke komponen objek dibatasi oleh antarmuka yang didefinisikan dengan baik yang disebut akses specifier. Ada tiga penentu akses di C ++ dan Java; mereka publik, pribadi, dilindungi.
Enkapsulasi ini terutama dicapai dengan menjadikan data dan kode, yang beroperasi pada data, sebagai pribadi. Anggota pribadi kelas tidak dapat mengakses oleh kode yang ditentukan di luar kelas. Ini membantu dalam mencegah penyalahgunaan data yang diamankan sementara itu juga menyembunyikan kompleksitas kode.
Mari kita ambil contoh ponsel. Di ponsel, Anda dapat melakukan banyak fungsi seperti mengklik gambar, merekam video / audio, mengirim pesan, mengakses internet dan banyak lagi. Anda menganggap semua ini sebagai fitur ponsel. Tetapi, pengguna akhir tidak perlu mengetahui kompleksitas internal dari fitur-fitur ini, sebelum menggunakan aplikasi ini, Anda juga tidak perlu mengubah fungsionalitas fitur apa pun.
Jadi, dengan cara ini, enkapsulasi menyembunyikan kompleksitas dan juga mencegah penyalahgunaan data.

Perbedaan Kunci Antara Abstraksi dan Enkapsulasi

  1. Abstraksi berfokus pada elemen-elemen yang diperlukan untuk membangun sistem, sedangkan enkapsulasi berfokus pada menyembunyikan kompleksitas sistem.
  2. Abstraksi dilakukan selama tingkat desain sistem. Di sisi lain, enkapsulasi dilakukan sistem sedang dilaksanakan.
  3. Motif utama abstraksi adalah, apa yang harus dilakukan untuk membangun suatu sistem. Motif utama enkapsulasi adalah, bagaimana hal itu harus dilakukan untuk membangun suatu sistem.
  4. Abstraksi dicapai dengan enkapsulasi sedangkan enkapsulasi dicapai dengan membuat elemen-elemen dari sistem menjadi privat.

Kesimpulan:


Abstraksi dan enkapsulasi keduanya adalah fitur penting dari OOP. Enkapsulasi yang baik dapat mencapai abstraksi yang baik.
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar