google-site-verification: googleb4c12044f63f46ba.html Pemograman Enkapsulasi Skip to main content

Featured

STRUKTUR DATA SEARCHING (PENCARIAN)

SEARCHING (PENCARIAN).       Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Pencarian data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.       Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful). Ada beberapa pencarian yang akan kita uraikan disini: Pencarian Beruntun (Sekuensial Search). Pencarian Bagi dua (Binary Search). I. PENCARIAN BERURUTAN (SEKUENSIAL SEARCH).        Pencarian berurutan sering disebut pencari...

Pemograman Enkapsulasi


1. Indikator Topik Pembahasan.
  • Mampu membuat aksesor, mutator, dan properties.
  1. Pembuatan Aksesor (fungsi getter).
  2. Pembuatan Mutator (fungsi setter). 
  3. Pengenalan Properties.
2. Peralatan yang digunakan.
  • Visual Studio 2017 Community.    

 3. Materi Pembelajaran.
     Enkapsulasi
    Enkapsulasi adalah proses di mana tidak ada akses langsung diberikan kepada data. Sebaliknya, data yang ada disembunyikan. Jika ingin mendapatkan akses ke data, Maka harus berinteraksi dengan objek yang bertanggung jawab untuk data tersebut. Enkapsulasi berasal dari kata kapsul yang berarti pembungkus. Enkapsulasi mempunyai arti pembungkusan terhadap data dan fungsi menjadi komponen tunggal. fitur dari enkapsulasi sendiri sudah didukung dikebanyakan bahasa pemrogramman berorientasi objek, meskipun ada alternatif yang lain. enkapsulasi mengijinkan untuk memilih properti dan metode yang akan disembunyikan didalam sebuah objek untuk melindungi kode dari kerusakan yang tidak disengaja maupun disengaja. Sudah dipelajari sebelumnya bahwa sebuah kelas memiliki anggota-anggota yang mempunyai akses penentu private, public, dan protected. Secara umum semua anggota data yang didefinisikan di kelas bersifat private. Perhatikan class berikut.


Dari class diatas dapat dilihat semua atribut diberikan akses public. Ketika dibuatkan sebuah objek untuk class Prices pada main Program.cs, maka semua atribut yang ada pada class Prices akan dengan mudah dimanipulasi. Perhatikan main program berikut: 


      Dapat disimpulkan atribut yang ada Prices dapat dengan mudah dimanipulasi (dirubah-rubah) oleh class lain. Pada kasus ini class Prices akan kehilangan kontrol terhadap atribut-atribut yang dimilikinya. Sebab setiap perubahan nilai atribut yang terjadi diluar class, maka tidak ada jaminan class Prices mengetahui perubahan tersebut. Untuk meluruskan kasus tersebut, maka didalam teknik permrogramman berorientasi objek mengenal enkapsulasi yang sebenarnya terdiri dari dua metode dasar. Dua metode dasar itu dikenal dengan nama Accessor dan Mutator. Metode accessor adalah metode yang digunakan untuk melakukan akses untuk membaca atau mendapatkan nilai data yang tersimpan pada private atribut. Dengan menggunakan metode accessor, class lain dapat mendapatkan info tentang nilai data yang tersimpan pada private atribut. Metode ini juga dikenal dengan nama lain yaitu metode “Getter”. Berikut bentuk kodenya.  


Metode mutator adalah metode yang digunakan untuk melakukan kontrol terhadap setiap perubahan nilai data yang terjadi pada private atribut. Dengan menggunakan metode mutator, class lain dapat melakukan perubahaan tentang nilai data yang tersimpan pada private atribut. Metode ini juga dikenal dengan nama lain yaitu metode “Setter”. Berikut bentuk kodenya.


Dari kedua itu, masih dianggap sebagai satu enkapsulasi. Boleh ditulis keduanya atau boleh juga ditulis salah satu saja tergantung kebutuhan pemaiakan. Apabila dikehendaki readonly atribut, maka yang ditulis adalah metode accessor (getter) dan apabila dikehendaki writeonly atribut, maka yang ditulis adalah metode mutator (setter). Berikut contoh singkat enkapsulasi pada sebuah atribut yang ada di class Prices  


Setelah ditambahkan enkapsulasi, maka akan terjadi perubahan pada main program. Perhatikan main program berikut.


        Pada kasus sebelumnya (gambar 2), dapat dilihat bahwa class Prices memiliki atribut public yang berakibat class lain dapat melakukan manipulasi terhadap atributnya. Sehingga class Prices kehilangan kontrol terhadap atributnya. 
       Namun perbedaan yang terjadi setelah penambahan enkapsulasi adalah meningkatnya kontrol yang ada pada atribut class Prices. Pada potongan kode pada baris ke 10 price.SetPrice(1000) main program tidak melakukan perubahan terhadap atribut yang ada pada class Prices. Melainkan main program hanya melakukan proses request (meminta) kepada class Prices untuk melakukan perubahan pada atribut price senilai 1000. Hal tersebut dapat dibuktikan dengan melihat dimana operator penugasan tidak lagi diletakkan didalam main program, melainkan tetap berada di class Prices.
        Dapat disimpulkan bahwa proses enkapsulasi bisa menyebabkan class Prices dapat mengontrol semua aktifitas yang melibatkan atributnya meskipun nilai atribut sedang digunakan (diakses) oleh class lainnya. 


Dari kode diatas class Prices membatasi nilai yang ada pada atributnya. Maka enkapsulasi melindungi atribut dan nilainya dari kerusakan yang tidak disengaja maupun disengaja.

Properties 
       perties Properti adalah anggota yang dimiliki class yang dapat menyediakan mekanisme fleksibel untuk membaca, menulis ataupun komputasi terhadap nilai dari sebuah private atribut. Properti mengaktifkan kelas untuk mengekspos cara yang public untuk mendapatkan dan menetapkan nilai-nilai, sambil menyembunyikan implementasi atau verifikasi kode. 
    Dengan kata lain properti menggabungkan kedua fungsi accessor dan mutator menjadi satu kesatuan yang diakses seperti halnya akses pada variabel. Properti adalah bentuk penyederhanaan enkapsulasi yang disediakan oleh bahasa csharp. Menyerupai getter dan setter, properti dapat menjadi read-write yang mana didalamnya terdapat get dan set. Properti juga dapat berupa readonly yang didalamnya hanya terdapat get. Dan properti dapat berupa writeonly yang didalamnya hanya terdapat set. Berikut contoh dari bentuk properti.



   Properti lengkap memiliki get dan set. Salah satu nya boleh dihapus dan bisa juga ditambahkan akses modifier antara get maupun set. Jika properti yang dibuat hanya properti default yang tidak memiliki komputasi ataupun ekspresi pada statemennya, maka penulisannya dapat disingkat. Properti jenis ini dikenal dengan nama “Auto-implemented properties”. 




     Dalam pemrograman csharp dilevel lanjut metode accessor dan mutator sudah jarang digunakan. Sebab programmer lebih sering menggunakan bentuk properti sebagai enkapsulasi dari private atribut yang terdapat di class. 

Indekser.
  Indekser masih merupakan sebuah mekanisme yang terdapat didalam class. Indekser memungkinkan sebuah objek untuk diindeks seperti halnya sebuah array. Ketika indekser didefinisikan pada class, maka class tersebut dapat mempunyai perilaku yang mirip dengan virtual array. Dan instansi dari class tersebut dapat dapat diakses dengan menggunakan akses array operator ([]). 


     Deklarasi dari perilaku indekser adalah mirip dengan sebuah properti. Layaknya properti, akses get dan set juga digunakan dalam mendefinisikan indekser. Namun properti mengembalikan atau menetapkan sebuah nilai yang ada pada atribut. Sedangkan indekser mengembalikan atau menetapkan nilai tertentu dari sebuah objek yang diinstansikan. Dengan kata lain indekser memecah sebuah instansi data menjadi bagian-bagian kecil dan indeks-indeks disetiap bagiannya. 
     Dalam mendefinisikan sebuah properti melibatkan penyedian nama properti. Sedangkan Indeksers tidak didefinisikan dengan nama, tetapi dengan kata kunci "this", yang merujuk ke instansi objek. Berikut contoh lengkap dari class Product dan class Prices yang memiliki properti dan indekser










Comments

Popular Posts