Pengertian Class
Class berbeda dengan
object, sebagai analogi, di dunia ini tidak ada seorang manusia yang sama
persis. Namun pada sisi lain seluruh manusia di dunia digolongkan ke dalam
kelompok homo sapiens. Homo sapiens merupakan class, sedangkan manusia adalah
objek homo sapiens.
Gambar 1.1 Struktur Class
Class merupakan
prototype yang mendefinisikan variabel dan metode secara umum. Pada sisi lain,
objek merupakan instanisasi suatu class. Contohnya adalah class sepeda. Class
sepeda pasti memiliki roda, peda dan gigi serta memiliki fungsi seperti memutar
kemudi, mengubah gigi dan lain-lain. Secara umum, class dapat digambarkan
seperti gambar dibawah ini.
Gambar 1.2 Class Sepeda
Pengertian Object
Pada dasarnya, semua
benda yang ada d dunia nyata dapat dianggap sebuah objek. Mobil, manusia,
mahasiswa , komputer dan televisi merupakan contoh objek yang ada didunia
nyata.
Kalau kita memahami
sifat objek maka akan menghasilkan dua karakteristik berbeda yaitu:
Atribut (Variabel)
merupakan karakteristik yang menjelaskan keadaan (State) suatu objek. Misalnya
roda mobil, pedal dan jumlah roda.
Behavior (metode)
merupakan karakteristik ang menjelaskan tingakh laku sebuah objek, misalnya :
kecepatan naik, kecepatan turun, berhenti, maju dan lain-lain.
Sama halnya dalam dunia
pemrograman berorientasi objek, pengembangan perangkat lunak memperhatikan pula
karakteristik yang dimiliki objek. Untuk menangani pemrograman berorientasi
objek, maka dikembangkan sebuah struktur pemodelam yang dikenal dengan
pemodelan class.
Deklarasi Class dan Object
Dalam pemrograman C#, deklarasi class secara umum
ditulis dengan cara sebagai berikut
class nama_class
{
atribut /*deklarasi variabel */
metode /*deklarasi metode*/
}
Untuk lebih jelasnya perhatikan kode program dibawah ini.
Gambar 1.3 Deklarasi Class
Pada kode diatas kita mendeklarasikan
sebuah class dengan 4 atribut yaitu
kecepatan_sepeda (int), posisi_gigi(int), merek_sepeda(String) dan
pemilik_sepeda (String). Selanjutnya kita juga membuat 2 buah behavior (method)
yaitu ubah_kecepatan dan ubah gigi. Kedua method tersebut tidak memiliki nilai
kembalian maka dideklarasikan dengan menggunakan keyword void. Untuk class
dapat bekerja maka kita harus membuat objek dari class sepeda tersebut.
Gambar 1.4 Object Sepeda
Setelah class sepeda selesai dibuat, maka pada baris
kode main kita harus membuat objek sepeda berdasarkan class sepeda yang kita
buat. Pada contoh diatas kita membuat dua buah objek (spd1, dan spd2) dan kedua
objek tersebut menggunakan semua atribut yang dimiliki oleh class sepeda dan
menggunakan semua metode yang dimiliki oleh class sepeda.
Adapun Output yang dihasilkan dari program diatas yaitu :
Gambar 1.5 Hasil Program Class
Enkapsulasi
Enkapsulasi merupakan
pembungkusan variabel dan metode dalam
sebuah objek. Enkapsulasi memungkinkan seseorang melakukan sesuatu tanpa harus
mengetahui detail informasi.
Manfaat enkapsulasi
adalah :
- Modularity, yaitu memecah-mecah sesuatu yang kompleks menjadi bagian kecil yang lebih mudah dikelola
- Information hiding, yaitu menyembunyikan informasi yang tidak perlu diketahui oleh objek lain
Analoginya enkapsulasi
(pengkapsulan) mirip dengan kapsul obat,
secara fisik kita tidak bisa melihat isi didalam kapsul obat, namun informasi
nya ada didalam dan berguna untuk orang yang sedang sakit. Enkapsulasi dapat
dilakukan dengan mengimplemtasikan access modifier.
Access modifier adalah
keyword yang menentukan tipe access dari sebuah method atau variabel. Didalam
pemrograman C# terdapat 3 access modifier yaitu :
Gambar 1.6 Access Modifier
Untuk lebih jelasnya
maka perhatikan kode dibawah ini.
Gambar 1.7 Kode Enkapsulasi
Pada kode diatas kita
telah mengubah access merek_sepeda menjadi private, sehingga hanya class sepeda
yang dapat mengakses variabel merek_sepeda tersebut. Agar objek dapat mengakses
variabel tersebut maka kita harus
membuat method yang dapat menset dan menampilkan nilai dari merek_sepeda dalam
hal ini adalah public void setMerekSepeda (String m), dan public String
getMerekSepeda(). Sebenarnya pada method setMerekSepeda kita dapat menambahkan
kode kode yang lebih detail mengenai merek sepeda, namun pada saat kita
menampilkan mereksepeda pada method getMerekSepeda, objek hanya mendapat
informasi mengenai merek sepeda. Sehingga detail informasi mengenai merek sepeda telah berhasil kita sembunyikan.
Selanjutnya kita menambahkan objek berdasarkan class sepeda tersebut.
Gambar 1.8 Object Sepeda
Adapun Output yang dihasilkan dari kode program diatas yaitu :
Gambar 1.9 Hasil dari Program Enkapsulasi
Polymorphism
Polymorphism merupakan
kemampuan memnyembunyikan berbagai implementasi berbeda di belakang antarmuka
(banyak bentuk). Sebagai contoh, ketika
akan menghitung luas berbagai bentuk misalnya, segi empat, lingkaran, dan segitiga
kita dapat menggunakan teknik polymorphism
luas_lingkaran=3.14 *
jari * jari
luas_segiempat=panjang
* lebar
luas_segitiga=0.5 *
tinggi * alas
untuk menangani
masalah, kita dapat membuat class sesuai
dengan kebutuhan setiap rumus matematika yang ada. Dalam setiap class, kita
dapat membuat sebuah metode untuk menghitung luas, misalnya hitugluas()
Gambar 1.10 Contoh Polymorphism
Pada potongan kode
diatas kita membuat sebuah class bangunGeometri dimana terdapat dua buah method
dengan nama yang sama, namun parameter yang dibutuhkan berbeda, yaitu public double
luas (int jari_jari) dan public double luas (int panjang, int lebar). Sehingga
jika kita memanggil method dengan satu parameter maka program akan menghitung
luas lingkaran, sedangkan jika kita memanggil method dengan dua parameter maka
program akan menghitung luas persegi panjang.
Gambar 1.11 Contoh Penggunaan Polymorphism
Adapun Output dari kode program tersebut yaitu :
Gambar 1.12 Hasil Polymorphism
Inheritance
Class dapat
didefinisikan dengan referensi pada
class lain yang telah terdefinisi. Inheritance dikenal pewarisan atribut dan
metode pada class yang diperoleh sebagai
class yang telah terdefinisi.
Gambar 1.13 Model Pewarisan
Secara prinsip
inheritance adalah pembuatan sebuah class baru berdasarkan class yang sudah ada
dengan fungsi yang lebih dikembangkan. Semua method dan variabel yang diset
sebagai public atau protected dapat digunakan oleh inherited class (class
yang diwariskan). Sehingga dengan
inheritance kita tidak perlu lagi membuat sebuah class dari awal, jika sebuah
class telah dibuat sebelumnya maka kita hanya perlu menambahkan fungsi dari
class tersebut. Jadi program lebih mudah dikembangkan.
Untuk lebih jelas nya
perhatikan kode program dibawah ini.
Gambar 1.14 Class Sepeda
Gambar 1.15 Class sepedagunung
Gambar 1.16 Class Utama
Dari contoh diatas kita
membuat satu buah class dasar yaitu sepeda. Class sepeda memiliki atribut mereksepeda,
dan behavior ubah_kecepatan dan ubah_gigi. Selanjutnya kita membuat class baru
yaitu sepedagunung yang diturunkan dari class sepeda. Class sepeda gunung
memiliki satu buah atribut yaitu mereksepeda. Selanjutnya class utama dimana
kita membuat objek dari class sepedagunung.
Adapun Outputnya yaitu :
Gambar 1.17 Hasil Program Pewarisan
Kesimpulan
Class adalah prototype
dari sebuah objek, atau class adalah blueprint dari sebuah objek Sedangkan
objek adalah hasil instance dari sebuah class Enkapsulasi adalah penyembunyian
detail informasi dari sebuah objek Polymorphism merupakan kemampuan
memnyembunyikan berbagai implementasi berbeda di belakang antarmuka (banyak
bentuk) Inheritance adalah Class dapat didefinisikan dengan referensi pada
class lain yang telah terdefinisi.
0 komentar:
Posting Komentar