Grafik perbandingan
Dasar untuk perbandingan | Abstraksi | Menyembunyikan data |
---|---|---|
Dasar | Ekstrak hanya informasi yang relevan dan abaikan detail yang tidak penting. | Menyembunyikan data dari bagian-bagian program. |
Tujuan | Untuk menyembunyikan kerumitannya. | Untuk mencapai enkapsulasi. |
Kelas | Kelas menggunakan abstraksi untuk mendapatkan tipe data baru yang ditentukan pengguna. | Penyembunyian data digunakan di kelas untuk menjadikan datanya pribadi. |
Berfokus pada | Perilaku data yang dapat diobservasi. | Membatasi atau mengizinkan penggunaan data dalam kapsul. |
Definisi Abstraksi
Abstraksi terutama digunakan untuk menyembunyikan kerumitan. Ini menunjukkan karakteristik yang diperlukan dari suatu objek yang membedakannya dari semua jenis objek lainnya. Abstraksi berkonsentrasi pada aspek eksternal suatu objek. Untuk sebuah objek, abstraksi memberikan pemisahan perilaku penting dari implementasinya. Ini menentukan batas konseptual relatif terhadap pandangan pengunjung. Abstraksi yang tepat menekankan pada detail yang penting bagi pembaca atau pengguna dan menekan fitur yang tidak relevan dan menyimpang.
Tipe data yang ditentukan pengguna dibuat dengan mendefinisikan atribut dan fungsi abstrak dalam kelas untuk mendesain objek dunia nyata, memiliki sifat yang sama. Atribut ini dikenal sebagai anggota data karena mengandung informasi. Demikian pula, fungsi yang beroperasi pada data ini dikenal sebagai fungsi anggota. Abstraksi data diimplementasikan sebagai kelas yang mewakili sifat-sifat penting tanpa menyertakan penjelasan latar belakang.
Jenis-jenis abstraksi:
- Abstraksi prosedural - Ini termasuk serangkaian instruksi yang memiliki fungsi yang ditentukan.
- Abstraksi data - Ini adalah kumpulan data yang menentukan dan menjelaskan objek data.
- Abstraksi kontrol - Ini adalah mekanisme kontrol program di mana detail interior tidak ditentukan.
Definisi menyembunyikan data
Menyembunyikan data berarti menyembunyikan data dari komponen program yang tidak perlu diambil. Isolasi data dari akses langsung oleh program disebut penyembunyian data atau penyembunyian informasi. Untuk mengimplementasikan penyembunyian data, enkapsulasi digunakan di mana data dan fungsi suatu kelas dilindungi dari akses yang tidak sah. Sebaliknya, ketika data dan fungsi terbungkus menjadi satu unit dikenal sebagai enkapsulasi. Oleh karena itu, penyembunyian data membantu dalam mencapai enkapsulasi. Detail fungsional suatu objek dapat ditangani melalui penentu akses.
Menggunakan konsep penyembunyian data, data dan fungsi dalam kelas dibuat privat sehingga tidak dapat diakses secara salah oleh fungsi di luar kelas dan dilindungi dari perubahan yang tidak disengaja.
Perbedaan Kunci Antara Abstraksi dan Penyembunyian Data
- Abstraksi menunjukkan informasi yang relevan dan menolak detail yang tidak penting. Di sisi lain, penyembunyian data digunakan untuk menyembunyikan data dari bagian-bagian program.
- Tujuan abstraksi sebelumnya adalah untuk menyembunyikan detail implementasi yang rumit dari program atau perangkat lunak. Sebaliknya, penyembunyian data diimplementasikan untuk mencapai enkapsulasi.
- Abstraksi digunakan di kelas untuk membuat tipe data baru yang ditentukan pengguna. Sebagai lawan, di kelas data bersembunyi digunakan untuk membuat data pribadi.
- Abstraksi ini berkonsentrasi pada perilaku data yang dapat diamati sedangkan menyembunyikan data membatasi atau memungkinkan penggunaan data dalam kapsul.
Kesimpulan
Baik abstraksi dan penyembunyian data dimaksudkan hanya untuk menunjukkan informasi yang diperlukan dan menyembunyikan detail yang tidak penting tetapi untuk tujuan yang berbeda. Abstraksi menekankan pada penyembunyian kompleksitas implementasi sementara dalam penyembunyian data, keunggulan diberikan pada perlindungan data terhadap akses yang tidak sah.