Pertemuan IX: Generalisasi dan Inheritance

Salah satu teknik pemrograman berbasis objek adalah generalisasi dan inheritance. Konsep ini dapat dianalogikan dengan induk dan anak dimana anak akan mewarisi sifat induknya. Untuk mempermudah pemahaman ada baiknya kita coba untuk mempraktekkannya dengan bahasa Java dengan IDE Netbeans.


Buat project baru dengan cara File – New Project. Pilih kategori Java dan pilih Java Application pada kolom yang kanan.


Anda akan diminta memberi nama serta lokasi tempat penyimpanan dengan cara mengklik “Browse“. Jika direktori tidak muncul klik “Desktop” agar memunculkan seluruh direktori yang ada di komputer.


Setelah diklik “Computer” akan terlihat seluruh direktori yang ada. Cari folder yang Anda inginkan. Jika sudah, beri nama project Anda, misalnya “Generalisasi“.


Setelah di klik “Finish” berarti Anda telah siap membuat project. Perhatikan Netbeans memberikan satu kelas secara default dengan nama “Main“. Berikutnya kita akan membuat dua kelas baru yaitu kelas persegiPanjang dan kelas Balok. Cara membuat kelas baru adalah sebagai berikut:


Pada paket “Generalisasi” klik kanan kemudian pilih New – Java Class. Beri nama “persegiPanjang“. Dengan cara yang sama buat juga kelas berikutnya yaitu kelas “Balok“.


Dobel klik kelas persegiPanjang dan tulis program yang menghitung luas persegi panjang dari masukan panjang dan lebar dengan cara objek. Walaupun beberapa literatur bisa juga membuat program Java secara terstruktur, alangkah baiknya Java dibuat dengan basis Objek. Perlu diketahui bahwa tiap objek memeliki nama, atribut dan operasi. Lihat listing persegiPanjang berikut ini.


Perhatikan, pada kelas persegiPanjang terdapat dua atribut yaitu panjang dan lebar yang bertipe double. Script baris ke 15 bermaksud merubah variabel panjang yang diterima lewat masukan tertentu (nanti menggunakan form) menjadi double, dilanjutkan dengan script ke 18 yang menangkap variabel itu ke kelas yang bersangkutan lewat mekanisme “this“. Diakhiri dengan methode getPanjang yang menginstruksikan Java bahwa variabel panjang harus disimpan. Penjelasan yang sama untuk setLebar dan getLebar. Operasi terakhir adalah getLuas yang memerintahkan Java untuk menyimpan hasil perkalian panjang dan lebar.


Berikutnya kita membuat kode program balok. Karena balok merupakan anak dari persegi panjang (Inheritance) maka pada awal program perlu ditambahkan extends dan dilanjutkan nama kelas induknya (lihat baris ke-12). Saat menghitung volume, kita tinggal memanggil “getLuas” dari induknya (persegi panjang) dengan mengetik instruksi “super“. Perhatikan, saat diketik titik, harusnya ada bantuan getLuas, jika tidak, mungkin Anda belum menulis “extends” di awal program, atau getLuas di persegiPanjang bertipe “private“, oleh karena itu ganti menjadi “public“.


Buat kelas baru dengan nama formBalok dengan tipe Jframe Form. Buat rancangan Graphic User Interface (GUI) seperti gambar di atas. Buat programnya dengan mendobel klik “Hitung“.


Perhatikan, baris pertama bermaksud membuat suatu instance baru bernama “b“. Instance adalah objek yang dibuat dari suatu kelas, dalam hal ini kelas “Balok“. Karena dibuat dari kelas balok maka seluruh operasi pada kelas balok diterapkan juga di objek “b” tersebut, seperti setPanjang, setLebar, dan setTinggi. Methode getText() sudah tersedia di Java, yang bermaksud menangkap text dari inputan pada Text Field (jTextField1, jTextField2, dan jTextField3). Disarankan untuk memberi nama baru pada variabel tersebut, karena nama tersebut merupakan nama bawaan Netbeans. Instruksi “setText” merupakan kebalikan dari getText, yaitu mengirimkan Text ke Text Field tertentu (dalam hal ini jTextField4). Klik kanan pada Form Balok, pilih Run File, hasilnya harus seperti ini.


Selamat Mencoba


Rahmadya Trias Handayanto

Iklan

2 respons untuk ‘Pertemuan IX: Generalisasi dan Inheritance

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s