Mengenal Class, Object dan Encapsulation di C#

Mengenal Class, Object dan Encapsulation di C#
Mengenal Class, Object dan Encapsulation pada C# - Belajar suatu bahasa program tentunya sudah tidak asing lagi dengan kata-kata Class, Object dan Encaplsulation ,sama halnya kita belajar bahasa pemrograman C# atau CShape. Pada arikel kali ini saya akan membahas secara detail apa itu class , object dan encapsulation . Pada dasarnya kita belajar ini adalah sebagai awal atau dasar seorang programmer belajar suatu bahasa program untuk mudah dalam pengaplikasiannya pada program, ada beberapa dasar teori yang di pelajari seorang programmer , tidak halnya bahasa pemrograman C# atau CShape seperti Variable , Ekpresi , Flow Control , Method dan Exception Handling, yang saya bahas di artikel sebelumnya yang masih dasar dari C# atau CShape.



Langsung saja kita menuju pokok bahasan kita yaitu Class , Object dan Encapsulation C#, simak baik-baik penjelasan dibawah ini.

A. OBJECT
Pemrograman berorientasi objek merupakan pemrograman yang menyatukan (encapsulation) state (data) dan behavior (operasi) yang merupakan wujud abstrak dari objek dalam dunia nyata. Pada dasarnya, object adalah sebuah benda. Benda apa saja yang dapat dikenali maupun dibayangkan. Nyata maupun abstrak. Fisik maupun konseptual. Termasuk juga software. Bagi programmer, object adalah benda yang dapat dinyatakan dalam sebuah program. Seorang customer adalah sebuah object yang dapat dinyatakan dalam program, demikian juga produk, perusahaan, hingga benda-benda seperti database, file, dll. Sebuah object adalah sebuah benda yang memiliki batasan yang terdefinisi dengan jelas. Maksudnya, tujuan dari object tersebut harus jelas. Sebuah object memiliki dua hal yaitu:

1. State
Merupakan keadaan atau situasi pada objek. State dinyatakan dalam sekumpulan atribut (variabel) dan nilai.
2. Behaviour
Merupakan tingkah laku atau cara objek bereaksi terhadap objek yang lain. Behavior dari objek berbentuk operasi-operasi yang dapat dilakukan oleh objek.


B. CLASS
Class berbeda dengan object. Class merupakan prototipe yang mendefinisikan variabel dan metode secara umum. Disisi lain object merupakan “instance” atau lebih tepatnya cloning/cetakan dari sebuah class. Misalnya sebelum membuat lilin berbentuk kucing, maka terlebih dulu dibuat cetakannya (class), sedangkan lilin yang berbentuk kucing adalah object.Contoh lain yaitu dalam Bumi ini kita memiliki class dan object yang kita gambarkan dalam sebuah makhluk hidup dan aktivitasnya. Semua yang ada di bumi ini disebut dengan object seperti manusia adalah objek, dan binatang juga objek. Lalu apa itu class? Dalam dunia ini kita memiliki perbedaan antara objek yang satu dengan objek yang lainnnya, sebagai contoh adalah pengelompokkan klasifikasi (seperti nama kita), yaitu saya adalah object, david juga objek , maria juga object, maka kami adalah People Class, kemudian saya memiliki kucing bernama Catty, david memiliki kucing bernama puppy dan maria memiliki kucing bernama pussy maka mereka termasuk ke dalam Cat Class, jadi dengan class ini kita dapat mendeskripsikan properties dan fungsi dari setiap group dari objek yang ada.

Setiap kita bekerja dengan C# dan membuat sebuah class pada program, maka class dari template yang telah kita buat tadi memiliki fungsi dan properti atau behavior yang sama dengan class sebelumnya tetapi setiap kita buat class ini kita dapat mengubah nilai atau properties yang ada. Sebagai Contoh kita membuat People Class, manusia ini memiliki nama, tinggi, dan berat. Maka kita dapat membuat mahasiswa yang memiliki nama, tinggi, dan berat yang berbeda-beda juga. Class dapat digambarkan sebagai berikut:
Gambar 4.1 Struktur Class
Dari gambar 4.1 kita dapat membuat sebuah class untuk mengimplementasikan class kendaraan
mengimplementasikan class kendaraan
Class member dibagi menjadi beberapa kategori:
1. Konstanta : anggota Class yang bernilai tetap
2. Field : variabel yang dideklarasikan dalam Class
3. Method : anggota Class yang berisi baris perintah yang bisa dipanggil oleh Class atau Object
4. Properties : metode khusus yang digunakan untuk mendapatkan atau mengubah nilai dari sebuah field dalam Class
5. Event : segala sesuatu yang dapat dikenakan terhadap sebuah Class atau Object
6. Indexer
7. Operator
8. Constructor : method yang digunakan untuk menciptakan sebuah object berdasarkan kerangka Class
9. Destructor : method yang digunakan untuk menghancurkan sebuah object


C. PRINSIP DASAR PEMROGRAMAN BERORIENTASI OBJEK (PBO)

Ada empat prinsip dasar PBO yaitu:

1. Abstraction
Abstraction adalah karakteristik mendasar yang dimiliki oleh sebuah entity (benda) yang membedakan entity tersebut dari semua jenis entity yang lain. Dengan abstraction, kita dapat mengurangi kompleksitas dengan berkonsentrasi pada karakteristik mendasar dari sebuah entity tersebut. Abstraction bersifat sangat konseptual. Berikut beberapa contoh abstraction:

Seorang mahasiswa adalah murid di sebuah perguruan tinggi Seorang dosen adalah pengajar di perguruan tinggi Sebuah matakuliah adalah pelajaran yang diajarkan di perguraun tinggi Seorang customer adalah pembeli dari suatu produk
Mahasiswa, dosen, matakuliah dan customer adalah abstraction dari sebuah konsep.

2. Encapsulation
Merupakan proses penyatuan variabel dan metode dalam satu “kapsul” class. Encapsulation sering juga dinyatakan sebagai penyembunyian informasi. Encapsulation memungkinkan seseorang untuk melakukan sesuatu tanpa perlu tahu secara mendetail tentang bagaimana sesuatu tersebut dilakukan.
Contohnya adalah penggunaan remote control TV. Jika Anda (client) ingin memindahkan saluran TV dari satu saluran ke saluran lain, Anda cukup menekan tombol saluran yang dikehendaki pada remote control Anda. Anda tidak perlu tahu secara mendetail implementasi dari serangkaian mekanisme elektronik yang kompleks yang terjadi di dalam remote control dan TV Anda. Anda cukup tahu bagaimana menekan tombol remote control saja. 
Contoh lain dalah penggunaan mesin ATM. Itulah encapsulation, menyembunyikan semua detail informasi dan mekanisme.
Encapsulation menghilangkan ketergantungan pada implementasi. Sehingga dimungkinkan untuk mengganti implementasi tanpa merubah pengetahuan client. Pada contoh diatas, implementasi dari mekanisme elektronik pemindahan saluran pada remote TV dapat saja diganti/diubah, tetapi bagi client tetap saja hanya cukup tahu bagaimana menekan tombol remote TV.

Encapsulation juga melindungi informasi internal dari suatu object. Client tidak dapat mengakses informasi internal tersebut. Client hanya dapat meminta suatu object untuk melakukan operasi yang merubah informasi internal tadi.
Ada 2 hal yang diperhatikan dalam encapsulation, yaitu : Menggabungkan variabel dan metode dalam satu entity (Class). Mengatur akses ke member (data/atribut) dari entity tersebut.

3. Modularity
Modularity adalah memecah-mecah suatu yang kompleks menjadi bagian-bagian kecil yang lebih mudah di-manage. Modularity memudahkan dalam memahami sebuah sistem yang kompleks.
Contohnya, sebuah sistem software pembelian barang melalui internet. Sistem ini sedemikian besar dan kompleks untuk dimengerti. Maka itu, sistem ini dipecah-pecah menjadi modul-modul berikut:
  • Sistem pemesanan
  • Sistem pembayaran
  • Sistem pengiriman

Modul-modul diatas dapat dikembangkan secara independen dan ketiganya adalah building block dari sistem yang lebih besar yaitu sistem pembelian barang melalui internet.

4. Hirarki
Hirarki adalah pengurutan dari suatu abstraction menjadi sebuah struktur pohon. Dengan menggunakan hirarki, memudahkan untuk mengenali persamaan dan perbedaan dari anggota dalam hirarki tersebut. Suatu contoh, misalnya botani. Botani mengelompokkan tumbuhan menjadi beberapa keluarga tumbuhan.

D. OVERLOADING METHOD
Merupakan method dengan nama yang sama tapi dengan parameter yang berbeda-beda. Dalam C# hal ini diizinkan karena yang harus diperhatikan adalah type bukan nama methodnya. Tujuan melakukan overloading adalah agar dengan method yang sama anda bisa memanggilnya dengan berbagai cara. Contoh:
Overloading method
Demikian pembahasan singkat tentang Mengenal Class, Object dan Encapsulation di C#, untuk artikel selanjutnya masih berkaitan dengan pemrograman C# atau CShape jadi stay terus di blog saya. Belajar pemrograman lebih asik jika kita tahu dasarnya . Salam Coding 

Sekian dan Terima Kasih.

4 Responses to "Mengenal Class, Object dan Encapsulation di C#"

  1. Baru masuk pengenalan ya, belum masuk ke contoh programnya langsung gan hehe. Jelas dan padat kok penjelasannya

    ReplyDelete
    Replies
    1. Belum gan , paling next time kalo dasaar penjelasannya udah selesai baru ke contoh program

      Delete
  2. nambah ilmu banget,,come back gan

    ReplyDelete

Silahkan Berkomentar Dengan Sopan.