BAB VII
Class dan Object
.::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.
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.
.::Pengertian object::.
Pada dasarnya, semua benda yang ada d
dunia nyata dapat dianggap sebuah objek. Mobil,manusia, mahasiswa , komputer
dan televise 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
7.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
7.4 Objek Sepeda
Output :
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.
.::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
Untuk lebih jelasnya maka perhatikan
kode dibawah ini
Gambar
7.5 gambar 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 (Stringm),
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
7.6 Objek Sepeda
Output :
.::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
7.7 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 7.8
Contoh penggunaan Polymorphism
Output :
.::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 7.7 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 7.8 Class Sepeda
Gambar 7.9 Class sepedagunung
Gambar 7.10 class utama
Output :
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.
.::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.
:: Evaluasi ::
1.
Sebutkan pengertian dari class dan objek
2.
Jelaskan cara deklarasi dari class dan objek
3.
Jelaskan penggunaan method overloading untuk polymorphism
:: Jawaban ::
1.
Class
merupakan
cetakan atau blueprint atau prototype, hasil dari cetakan itu disebut objek.
Contoh pesawat Boeing 737 dibuat dengan rancangan yang sama, rancangan pesawat
ini disebut kelas. Hasil rancangan itu menjadi pesawat Boeing 737 yang disebut
objek. Pesawat-pesawat hasil rancangan tadi bisa memiliki warna, nama yang
berbeda-beda tergantung perusahaan penerbangannya. Disini jelas bahwa objek
memiliki sifat independen.
Objek adalah model dari
class. Class ‘kucing’ mendefinisikan segala kemungkinan karakteristik dan
kebiasaaan yang dimiliki kucing. Contoh, Tom adalah objek. Objek Tom adalah
seekor kucing, Kucing mempunyai
bulu, tom mempunyai bulu berwarna abu-putih. Jadi objek adalah pendefinisian
suatu benda yang merujuk kepada suatu class.
2.
Deklarasi Class
1.Identifier dimulai dengan huruf, $, _ , identifier
tidak boleh dimulai dengan angka.
2.Setelah karakter pertama, identifier dapat mengandung kombinasi dari huruf, $,atau angka.
3.Tidak ada batas panjang dari sebuah identifier.
4.Identifier didalam java case sensitive, food an Foo berbeda.
5.Tidak boleh menggunakan Java Keyword sebagai sebuah identifier.
2.Setelah karakter pertama, identifier dapat mengandung kombinasi dari huruf, $,atau angka.
3.Tidak ada batas panjang dari sebuah identifier.
4.Identifier didalam java case sensitive, food an Foo berbeda.
5.Tidak boleh menggunakan Java Keyword sebagai sebuah identifier.
Deklarasi Objek
Ada 4 cara untuk melakukan deklarasi dan pembuatan
objek
(ingat
NamaKelas = NamaConstructor)
Cara1 :
NamaKelas
namaObjek; // deklarasi
namaObjek = new NamaConstructor(); // pembuatan
Deklarasi
dan pembuatan objek boleh jadi satu dalam suatu kelas. Deklarasi dan pembuatan
objek boleh dipisah di kelas yang berbeda, misalnya deklarasi objek di method
main() pada kelas1, sedangkan pembuatan/instansiasi objek berada pada
kelas2.
Cara2 :
NamaKelas
namaObjek = new NamaConstructor();
Artinya dua
proses deklarasi dan pembuatan dijadikan satu.
Cara3 :
new NamaConstructor();
Cara ini
objek diinstansiasi tanpa nama, tujuannya hanya untuk menjalankan constructor.
Cara4 :
New
NamaKelas(”…..”).namaMethod();
Penggunaan
Objek
Penggunaan
objek sebenarnya untuk memanggil method yang merupakan sifat objek tersebut.
Bentuk umum :
namaObjek.namaMethod([daftarNilaiParameter]);
namaObjek.namaAttribute;
Penghancuran Objek
Teknik yang
digunakan java untuk menangani objek yang sudah tidak diperlukan lagi disebut
garbage collection. Objek yang sudah tidak diperlukan lagi akan terdeteksi leh
JVM, sehingga secara otomatis dihancurkan oleh garbage collector (bukan oleh
programmer).
3. Polymorphism
adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class
sendiri atau object dari superclassnya.
Pada polymorphism terdapat polymorphism overloading method da polymorphism overriding method.
- Overloading : penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
- Overriding : terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya.
Pada polymorphism terdapat polymorphism overloading method da polymorphism overriding method.
- Overloading : penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
- Overriding : terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya.
OVERLOADING METHOD
Overloading
Method digunakan untuk membuat beberapa fungsi (method) dengan nama yang SAMA
dan mengerjakan tugas yang MIRIP. Tujuannya, agar programmer tidak kesulitan
dalam mengingat sebuah fungsi yang tugasnya mirip. Misalnya untuk membuat
fungsi perkalian. Ada perkalian yang membutuhkan dua argumen dan ada perkalian
yang membutuhkan tiga argumen (tugasnya mirip, yaitu sama-sama mengalikan
argumen, hanya jumlah argumen yang berbeda). Kalau dibuat fungsi dengan nama
yang berbeda, kemungkinan programmer akan repot.
Sehingga, untuk membuat method
overloading diperlukan setidaknya satu dari tiga syarat di bawah ini:
- mempunyai jumlah argumen berbeda.
- mempunyai tipe data argumen yang berbeda.
- mempunyai urutan argumen yang berbeda.
- mempunyai jumlah argumen berbeda.
- mempunyai tipe data argumen yang berbeda.
- mempunyai urutan argumen yang berbeda.
















0 komentar:
Posting Komentar