Rabu, 01 Januari 2014

Tugas 6 | Class dan Object



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
.
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.
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.




0 komentar: