Penyembunyian Data Dengan Python: Apa Itu, Kelebihan & Kekurangan [Dengan Contoh Pengkodean]

Diterbitkan: 2021-02-05

Daftar isi

Apa itu Penyembunyian Data?

Ini adalah metode yang digunakan dalam pemrograman berorientasi objek (OOP) untuk menyembunyikan dengan maksud menyembunyikan informasi/data dalam kode komputer. Detail objek internal, seperti anggota data, disembunyikan di dalam kelas. Ini menjamin akses terbatas ke data ke anggota kelas sambil mempertahankan integritas objek. Penyembunyian data mencakup proses menggabungkan data dan fungsi ke dalam satu unit untuk menyembunyikan data di dalam kelas dengan membatasi akses langsung ke data dari luar kelas. Jika Anda seorang pemula dalam ilmu data dan ingin mendapatkan keahlian, lihat kursus ilmu data kami dari universitas terkemuka.

Penyembunyian data membantu pemrogram komputer membuat kelas dengan kumpulan dan fungsi data unik dengan menghindari masuknya kelas lain yang tidak perlu dalam program. Menjadi teknik pengembangan perangkat lunak di OOP, ini memastikan akses data eksklusif dan mencegah perubahan data yang disengaja atau tidak diinginkan. Saling ketergantungan yang terbatas dalam komponen perangkat lunak ini membantu mengurangi kompleksitas sistem dan meningkatkan ketahanan program.

Penyembunyian data juga dikenal sebagai penyembunyian informasi atau enkapsulasi data. Enkapsulasi data dilakukan untuk menyembunyikan detail implementasi aplikasi dari penggunanya. Karena maksud di balik keduanya sama, enkapsulasi juga dikenal sebagai penyembunyian data. Ketika anggota data disebutkan sebagai pribadi di kelas, itu hanya dapat diakses di dalam kelas yang sama dan tidak dapat diakses di luar kelas itu.

Menyembunyikan Data dengan Python

Python menjadi bahasa pemrograman yang populer karena berlaku untuk semua sektor dan memiliki alat dan pustaka implementasi program yang mudah. Dokumen Python mendefinisikan Penyembunyian Data sebagai mengisolasi klien dari bagian implementasi program. Beberapa objek dalam modul disimpan internal, tidak terlihat, dan tidak dapat diakses oleh pengguna.

Modul dalam program cukup terbuka untuk memahami cara menggunakan aplikasi, tetapi pengguna tidak dapat mengetahui cara kerja aplikasi. Dengan demikian, penyembunyian data memberikan keamanan, sekaligus menghindari ketergantungan. Penyembunyian data dengan Python adalah metode untuk mencegah akses ke pengguna tertentu dalam aplikasi.

Penyembunyian data dengan Python dilakukan dengan menggunakan garis bawah ganda sebelum (awalan) nama atribut. Ini membuat atribut menjadi pribadi/tidak dapat diakses dan menyembunyikannya dari pengguna. Python tidak memiliki rahasia dalam arti sebenarnya. Namun, nama-nama metode dan atribut pribadi secara internal rusak dan tidak terurai dengan cepat, membuatnya tidak dapat diakses dengan nama yang diberikan.

Contoh Penyembunyian Data dengan Python

#!/usr/bin/python

kelas JustCounter :

__rahasiaJumlah = 0

jumlah def ( sendiri ):

diri . __rahasiaJumlah += 1

mencetak diri . __penghitungan rahasia

penghitung = JustCounter ()

kontra . menghitung ()

kontra . menghitung ()

penghitung cetak . __penghitungan rahasia

Keluaran

1

2

Traceback (panggilan terakhir terakhir):

File “test.py”, baris 12, di <module>

penghitung cetak.__secretCount

AttributeError: Contoh JustCounter tidak memiliki atribut '__secretCount'

Python secara internal mengubah nama anggota di kelas yang diakses oleh object._className__attrName.

Jika baris terakhir diubah sebagai:

………………….

penghitung cetak._JustCounter__secretCount

Kemudian berfungsi, dan hasilnya adalah:

1

2

2

Keuntungan Menyembunyikan Data

  • Objek dalam kelas terputus dari data yang tidak relevan.
  • Ini meningkatkan keamanan terhadap peretas yang tidak dapat mengakses data rahasia.
  • Ini mencegah programmer dari hubungan yang tidak disengaja ke data yang salah. Jika programmer menautkan data ini dalam kode, itu hanya akan mengembalikan kesalahan dengan menunjukkan koreksi dalam kesalahan.
  • Ini mengisolasi objek sebagai konsep dasar OOP.
  • Ini membantu untuk mencegah kerusakan data yang mudah menguap dengan menyembunyikannya dari publik .

Kekurangan Penyembunyian Data

  • Kadang-kadang mungkin memaksa programmer untuk menggunakan pengkodean tambahan.
  • Tautan antara data yang terlihat dan tidak terlihat membuat objek bekerja lebih cepat, tetapi penyembunyian data mencegah hubungan ini.
  • Penyembunyian data dapat mempersulit programmer dan perlu menulis kode yang panjang untuk menciptakan efek pada data yang disembunyikan.

Dengan demikian, penyembunyian data sangat membantu dalam Python dalam hal privasi dan keamanan untuk informasi tertentu di dalam aplikasi. Ini meningkatkan pekerjaan untuk programmer sambil menautkan data tersembunyi dalam kode. Tapi, kelebihan yang ditawarkannya benar-benar tak terhindarkan.

Baca Juga: Pertanyaan & Jawaban Wawancara Python

Kesimpulan

Untuk bergabung dengan kursus online Python kami secara gratis, Anda hanya perlu mengikuti langkah-langkah berikut:

  • Buka halaman upStart kami
  • Pilih kursus "Python untuk Ilmu Data"
  • Klik Daftar
  • Selesaikan proses pendaftaran

Itu dia. Anda dapat belajar Python online gratis melalui program upStart kami yang baru diluncurkan dan memulai perjalanan ilmu data Anda. Anda hanya perlu menginvestasikan 30 menit sehari selama beberapa minggu. Program ini tidak memerlukan investasi uang.

Daftar hari ini dan mulai.

Jika Anda memiliki pertanyaan atau saran tentang topik ini, beri tahu kami di komentar di bawah. Kami akan senang mendengar dari Anda.

Jika Anda penasaran untuk belajar tentang ilmu data, lihat Program PG Eksekutif IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1 -on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa yang disembunyikan data dengan Python?

Penyembunyian data adalah salah satu konsep inti dari pemrograman Berorientasi Objek yang membatasi akses data dari dunia luar. Detail seperti anggota data disembunyikan dengan bantuan penentu akses "Pribadi". Perhatikan contoh berikut untuk pemahaman yang lebih baik.
Misalkan kita memiliki kelas bernama myClass dan anggota pribadi bernama __privateCounter. Di dalam kelas ini, kami memiliki fungsi yang disebut myFunc yang menambah nilai __privateCounter sebesar 1 dan mencetaknya. Di luar kelas, kami telah membuat objek kelas dan memanggil myFunc menggunakan objek ini. Sekarang, jika kita mencoba mencetak __privateCounter menggunakan objek ini, itu akan menimbulkan kesalahan.
Dalam contoh di atas, "__privateCounter" secara default adalah anggota pribadi dari kelas "myClass". Karena kami telah melakukan penyembunyian data di dalamnya, itu tidak dapat diakses di luar kelas di mana ia telah dideklarasikan. Untuk mengakses anggota pribadi, kita harus mendefinisikan fungsi anggota, yang dalam hal ini adalah "myFunc".

Apa keuntungan dan kerugian dari penyembunyian data?

Meskipun penyembunyian data adalah konsep inti OOP dan memiliki banyak kelebihan, ia juga memiliki beberapa kelemahan. Berikut ini adalah beberapa keuntungan dan kerugian paling signifikan dari penyembunyian data dengan Python:
Keuntungan
1. Ini membantu untuk mencegah penyalahgunaan dan manipulasi data yang mudah menguap dengan mendeklarasikannya sebagai pribadi.
2. Data anggota kelas dipisahkan dari data yang tidak relevan.
3. Ini mengisolasi objek sebagai konsep dasar OOP.
Kekurangan
1. Pemrogram sering dipaksa untuk menulis kode yang panjang untuk melindungi data yang mudah menguap dari klien.
2. Objek bekerja relatif lebih lambat karena hubungan antara data yang terlihat dan tidak terlihat membuatnya bekerja dengan cepat dan penyembunyian data mencegah hubungan ini.

Bagaimana penyembunyian data berbeda dari abstraksi data?

Penyembunyian data mendukung gagasan untuk membatasi data sehingga tidak dapat diakses atau dimodifikasi oleh dunia luar. Misalnya, rincian gaji seorang karyawan disembunyikan dari karyawan lain. Dalam Python, ini dicapai dengan menggunakan "pengubah akses pribadi".
Abstraksi data mengacu pada gagasan menyembunyikan implementasi internal dan hanya menampilkan fitur ke dunia luar. Misalnya, dalam kalkulator, Anda hanya diperlihatkan operasi yang dilakukan oleh kalkulator. Namun, Anda tidak dapat melihat kerja internal dari operasi ini. Dalam Python, penentu akses yang berbeda digunakan untuk mengimplementasikan ini.