P. 1
Polimorphism

Polimorphism

|Views: 383|Likes:
Dipublikasikan oleh rosani

More info:

Published by: rosani on Nov 21, 2009
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/28/2013

pdf

text

original

Polimorphism

Polimorphism bisa diartikan sebagai suatu object yang dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnya Polimorphism ada 2 macam; 1. Overloading, Penggunaan satu nama untuk beberapa method yang berbeda parameter 2. Overriding, Terjadi ketika deklarasi method subclass sama dengan method dari superclassnya OVERLOADING

Dalam sebuah kelas diperbolehkan ada lebih dari satu method dengan nama yang sama dengan catatan methods dapat dibedakan berdasarkan banyaknya parameter atau tipe data parameter formal

class Lingkaran { double r; Lingkaran (double r) { this.r = r; } double Luas() { return Math.PI*this.r*this.r; } double Luas (double r) { //overloading method Luas() beda signature this.r = r; return Math.PI*this.r*this.r; } double Luas (int r) { //overloading method Luas() beda signature System.out.println(”tipe data harus double. r tidak diubah!”); return Math.PI*this.r*this.r; } double Luas (double r, double PI) {

//overloading method Luas() beda signature this.r = r; return PI*this.r*this.r; } }

Overloading tidak bisa dilakukan dengan membedakan nilai kembaliannya

class Lingkaran { double r; Lingkaran (double r) { this.r = r; } double Luas() { return Math.PI*this.r*this.r; } }

Overloading juga bisa dilakukan pada sub kelasnya

class Lingkaran { double r; Lingkaran(double r) { this.r = r; } double Luas() { return Math.PI*this.r*this.r; } double Luas(double r) { //overloading method Luas() beda signature this.r = r; return Math.PI*this.r*this.r;

} double Luas(int r) { //overloading method Luas() beda signature System.out.println(”tipe data harus double. r tidak diubah!”); return Math.PI*this.r*this.r; } double Luas(double r, double PI) { //overloading method Luas() beda signature this.r = r; return PI*this.r*this.r; } } class Tabung extends Lingkaran { double h; Tabung() { super(0); //konstruktor kelas turunan, ada keyword super() //diisi nilai awal } double Luas(double r, double PI, double h) { //overloading method Luas() beda signature this.r = r; return PI*this.r*this.r*this.h; } } Overloading method dapat digunakan ketika kita mempunyai operasi yang sama namun berbeda implementasinya. Yang terpenting dalam melakukan ini, nama method harus sama, tapi mempunyai parameter yang berbeda. Terserah berbeda dari segi tipe datanya atau jumlah parameternya. Tergantung kebutuhan untuk implementasi dan nilai kembaliannya. Jadi yang perlu diingat saat melakukan overloading method: • Nama method sama

• Parameter berbeda (baik tipe maupun jumlahnya) • Tipe data nilai kembalian dapat berbeda atau sama Overloading itu mendeklarasikan lebih dari satu kali dengan syarat-syarat tertentu. baik overloading method ataupun konstruktor OVERRIDING Overriding konsepnya sama dengan overloading yaitu menulis kembali method. Namun, caranya overriding menulis kembali method sama persis. Sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda implementasinya. Jadi overriding method mempunyai nama method yang sama, jumlah parameter dan tipe parameter serta nilai kembalian (return) method yang di override. Jika method memiliki modifier akses public, method overridenya juga harus public. Contoh: class Kendaraan { public String getJenis() { System.out.println(“Harga BBM turun”); } } class Motor extends Kendaraan { public String getJenis() { System.out.println(“Harga BBM premium 4000 rupiah”); } } NB:
• •

class motor mengextends class kendaraan class motor melakukan override method di kendaraan namun berbeda implementasi

Kesimpulan:

• •

Override method merupakan method yang sama persis dengan method yang sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi (program body) Overidding tidak bisa dilakukan dalam kelas itu sendiri Jadi Overidding kerat kaitannya dengan inheritance (pewarisan)

Contoh lain: class Lingkaran { double r; Lingkaran(double r) { this.r = r; } double Luas() { return Math.PI*this.r*this.r; } double Luas(double r) { this.r = r; return Math.PI*this.r*this.r; } } class Tabung extends Lingkaran { double h; Tabung() { //konstruktor kelas turunan, ada super() dan diisi nilai awal super(0); } double Luas(double r) { //overriding (method and parameter sama) this.r = r; return Math.PI * this.r * this.r * this.h;

} } NB:
• • •

Class lingkaran melakukan overloading method Luas (beda signature) Class tabung mengextends class lingkaran Class tabung meng-override method Luas hasil dari overload. Jadi kita juga biosa mengoverride method hasil overloading juga

contoh lain: class Sepeda{ //Sepeda.java int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println(”Gir:” + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(”Kecepatan:” + kecepatan); } } class SepedaGunung extends Sepeda { //SepedaGunung.java int setSadel; void ubahGir(int pertambahanGir){ gir= 2*(gir+ pertambahanGir ); System.out.println(”Gir:” + gir); } } class SepedaGunungBeraksi { //SepedaGunungBeraksi.java

public static void main(String[] args) { // Membuat object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); } } Diposkan oleh NANANG di 08:40 0 komentar Link ke posting ini

Inheritance (Pewarisan)
Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini. Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai subclass dari class tersebut. Dengan kata lain: * Super (super class) Bisa disebut juga dengan induk. Misalnya class ORTU adalah super class yang mewarisi ke class ANAK Nah, karena mewarisi berarti ORTU bertindak sebagai super class * Sub (sub class) Bisa disebut dengan anak Misalnya class ANAK diwarisi oleh class ORTU Artinya anak adalah sub class dari class ORTU (super class) Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, kode method dapat dituliskan hanya sekali dan dapat digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan perbedaannya sendiri dan induknya. Misalnya class ORTU mempunyai mempunyai variabel dan method dan diturunkan ke sub classnya (misal: class ANAK). Berarti class ANAK mempunyai semua variabel dan method yang dimiliki oleh class ORTU.

Lalu bagaimana caranya? Caranya adalah dengan menggunakan kata kunci extends. Bentuk umum proses inheritance adalah class extends { ; } Contoh: class ANAK extends ORTU { } // class anak sebagai subclass yang mendapat warisan dari class ORTU Contoh lain: // Lingkaran.java class Lingkaran { double r; double Luas() { return Math.PI * this.r * this.r; } } // Silinder.java class Silinder extends Lingkaran { double h; double Volume() { return Math.PI * this.r * this.r * this.h ; } } Di dalam Java semua class yang kita buat sebenarnya adalah turunan atau subclass dari class Object. Class Object merupakan class tertinggi dari semua hirarki class dalam Java Latihan berikut untuk mengenalkan konsep dari inheritance yaitu suatu class dapat mewariskan atibut dan method kepada claas lain (subclass) berikut kita analisis source code berikut:

Sepeda.java (class tertinggi atau superclass) class Sepeda{ //mendeklarasikan variabel int kecepatan = 0; int gir = 0; //membuat method ubahGir dan parameter pertambahanGir yang bertipe integer void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println(”Gir:” + gir); } //membuat method tambahKecepatan dan parameter pertambahanKecepatan yang bertipe integer void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(”Kecepatan:” + kecepatan); } } SepedaGunung.java adalah class yang mewarisi class Sepeda.java. dengan keyword extends kita dapat menggunakan method dan atribut yang ada pada class Sepeda.java SepedaGunung.java class SepedaGunung extends Sepeda { //mendeklarasikan atribut int setSadel; //membuat method setSadel dan parameter nilaiSadel yang bertipe integer public void setSadel(int nilaiSadel) { setSadel = nilaiSadel; System.out.println(“Tinggi Sadel:”+setSadel);

} } SepedaGunungBeraksi.java digunakan untuk mengeksekusi atau memanggil method yang ada pada class Sepeda.java dan class SepedaGunung.java SepedaGunungBeraksi.java class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method dan memberikan nilai parameter pada masing-masing method diobject sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); } } dengan cara yang sama, kita akan mengembangkan program java diatas. kita akan membuat class MobilBMW yang merupakan inherit dari class Mobillengkap dengan menambahkan beberapa method nontonTV() yang isinya menampilkan tulisan tv dihidupkan, tv mencari chanel, tv menampilkan gambar. buat class MobilBMWBeraksi yang memanggil method nontonTV(), hidupkanMobil(), matikanMobil(), dan ubahGigi(). jawab: terlebih dahulu kita buat class Mobillengkap.java yang sebelumnya sudah kita buat di artikel sebelumnya: class mobilLengkap{ //penulisan class harus sama dengan nama filenya String warna ; int tahunProduksi; //membuat method printMobil void printMobil(){

System.out.println(”warna:”+warna); System.out.println(”Tahun:”+tahunProduksi); } //membuat method hidupkanMobil void hidupkanMobil(){ System.out.println(”mobil sudah hidup”); } //membuat method matikanMobil void matikanMobil(){ System.out.println(”mobil sudah mati”); } //membuat method jalankanMobil void jalankanMobil(){ System.out.println(”mobil sudah berjalan”); } } selanjutnya kita buat class MobilBMW.java yang mengextends atau mewarisi class MobilLengkap.java yang ditambahi dengan method nontonTV(). MobilBMW.java class MobilBMW extends MobilLengkap{ /*perintah extends digunakan untuk mewarisi atribut dan method yang ada pada class mobilLengkap*/ //membuat method nontonTV() public void nontonTV(){ System.out.println(”TV dihidupkan”); System.out.println(”TV mencari Chanel”); System.out.println(”TV menampilkan gambar”);

} } selanjutnya kita buat file MobilBMWBeraksi.java untuk memanggil method nontonTV(), hidupkanMobil(), matikanMobil(), dan ubahGir(). MobilBMWBeraksi.java public class MobilBMWBeraksi{ public static void main(String[] args){ //membuat object MobilBMW mobilku= new MobilBMW(); //memanggil method mobilku.nontonTV(); mobilku.hidupkanMobil(); mobilku.matikanMobil(); mobilku.ubahGigi(); } }

Diposkan oleh NANANG di 07:01 0 komentar Link ke posting ini

JAVA FUNDAMENTAL
OPERATOR Operator adalah suatu simbol yang digunakan untuk operasi tertentu. JAVA mempunyai banyak jenis operator antara lain:
• • • • •

Assignment Aritmatika Hubungan Logika Bitwise

Klasifikasi lain tentang Operator (berdasarkan jumlah operand):

Operator Unary: Melibatkan satu operand. Contoh: -4.00

• •

Operator binary: Melibatkan dua operand. Contoh: 2 + 3 Operator tertiary: Melibatkan tiga operand. Contoh: 23 ? SI : NOSI

Operator yang mempunyai jenjang lebih kecil akan dikerjakan lebih dulu contohnya: Total=2+3*8; /*Total=26 karena * mempunyai jenjang lebih dulu yang dikerjakan 3*8 dulu baru kemudian ditambahkan dengan 2*/ Operator Assignment

Operator Aritmatika

Operator Hubungan

Operator Logika

Operator Bitwise

Operator Ternary Biasa disebut dengan Operator Kondisi. Operator ini membutuhkan 3 argumen Bentuk Umum: ?:; //Nilai_1 untuk nilai yang benar //Nilai_2 untuk nilai yang salah Contoh: String Nilai = IPK <> sumber: http://bernazlionk.wordpress.com/2009/01/18/java-operator/ Diposkan oleh NANANG di 07:01 0 komentar Link ke posting ini

Sabtu, 12 September 2009

Tugas mata kuliah "Pemrograman Berorientasi Obyek"
PEMROGRAMAN BERORIENTASI OBJEK Belajar PBO, berarti harus membiasakan diri berpikir secara kelas dan objek setiap menghadapi masalah. Contoh : Buatlah program untuk menghitung keliling lingkaran dari masukan jari-jarinya ! Masalah tersebut bila disajikan dengan pendekatan kelas dan objek, harus direvisi sebagai berikut : Buatlah kelas lingkaran yang memiliki tanggungjawab mengetahui jari-jarinya dan kelilingnya, lingkaran tersebut dapat melakukan aksi mengembang dan berkerut sesuai dengan panjang jari-jarinya.

1
Bahasa java yang telah dirilis : 1. Product Sun Microsystem : j2se, j2me, j2ee 2. Product Borland : JBuilder 3. Product Microsoft : Visual J Spesifikasi j2ee antara lain JDBC, JDOM (untuk XML), Remote Method Invocation, Enterprise Java Beans, Java Messaging, Java Server Pages, Java Servlet, Socket Programming, dan SQLJ. Java/Standard Development Kit (JDK/SDK) merupakan alatalat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload di : http://java.sun.com/product/JDK/index.html atau http://java.sun.com/j2se/1.5/index.html atau http://java.sun.com/cgi-bin/java-ports.cgi

3
Komponen JDK antara lain compiler(javac), interpreter(java) disebut juga java virtual machine atau java runtime environment, applet viewer(appletviewer), debugger(jdb), java class library(jcl), header dan stub generator(javah), dan yang paling penting yaitu java documentation(javadoc). Penjelasan penggunaan komponen JDK : 1. Kompilator (javac) Bertugas untuk melaksanakan kompilasi *.java menjadi *.class Syntax umum : javac nama.java 2. Interpreter (java) Bertugas untuk menjalankan bytecode (*.class) Syntax umum : java nama.class 3. Applet Viewer Digunakan untuk menjalanakan applet viewer, namun sekarang sudah digantikan browser. Syntax umum : appletviewer nama.html 4. Java Debugger Bertugas untuk melakukan debugging aplikasi java. Syntax umum : jdb option

4
5. Java Class File Diassembler (javap) Bertugas membuat daftar method dan attribute public dari suatu kelas. Syntax : javap namaKelas

6. Java Header and Stub Generator Bertugas menerjemahkan bahasa yang ditulis dalam bahasa java menjadi bahasa C. Syntax umum : javah namaKelas 7. Java Documentation Generator Menampilkan pustaka kelas, interface, constructor, dan method standard yang telah dibuat vendor. Dari hasil instalasi, dokumentasi ini dapat dilihat di C:\java\docs\api\index.html atau C:\Program Files\NetBeans3.6\docs\junit\index.html 8. Source Code Java API Source code ini dapat diperoleh dari file src.zip.

5
Untuk pemrogram pemula lingkungan pemrograman java dapat diringkas menjadi : 1. Editing source code menggunakan editor teks. 2. Compiling menggunakan keyword javac melalui command promp (dapat juga dari editor teks). 3. Executing menggunakan : a. Keyword java melalui command prompt (dapat juga dari editor teks) b. Browser atau applerviewer untuk applet. Token Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa java yaitu identifier, keyword, literal dan tipe data, operator, serta separator. Identifier Identifier adalah token yang merepresentasikan nama sesuatu. Sesuatu tersebut adalah variabel, atau konstanta, atau attribute, atau method, atau kelas, atau package, atau interface, atau nama file, dan lain-lain.

6
Keyword Kata kunci digunakan untuk suatu tujuan tertentu. Ada 51 keyword dalam java yaitu : abstract continue for new switch boolean default goto null synchronized break do if package this byte double implements private threadsafe byvalue else import protected throw case extends instanceof public throws catch false int return transient car final interface short true class finally long static try const float native super void while Literal dan Tipe Data Primitif Literal adalah nilai variabel/attribute atau nilai konstanta atau nilai objek data. Ada tiga besaran literal dalam java yaitu angka, karakter, dan string. Angka terdiri dari byte, short, int, long, float, double, dan boolean (dianggap angka true = 1 atau false = 0) Diposkan oleh NANANG di 22:59 0 komentar Link ke posting ini

BELAJAR JAVA
PEMROGRAMAN BERORIENTASI OBJEK Belajar PBO, berarti harus membiasakan diri berpikir secara kelas dan objek setiap menghadapi masalah. Contoh : Buatlah program untuk menghitung keliling lingkaran dari masukan jari-jarinya ! Masalah tersebut bila disajikan dengan pendekatan kelas dan objek, harus direvisi sebagai berikut : Selengkapnyaa………

Tugas Kuliah
Membuat dan Memanggil Method Class mobillengkap { String warna; Int tahunproduksi; Int mati =1; Int ubahgigi = 3; Void printmobil() { System.out.println(“Warna :”+warna); System.out.println(“Tahun Produksi :”+tahunproduksi); } Void nyala() { System.out.println(“Mesin mobil menyala……”); Off = 0 } Void mati() { Off = 1 System.out.println(“Mesin mobil dimatikan……”); } Void ubahgigi() { If (mati = 1) { System.out.println(“Gigi persneling tidak bisa di ubah………”); System.out.println(“Mesin mobil tidak menyala………..”); } Else System.out.println(“Gigi persneleng ditambah 1.”); } } Public class mobillengkapberaksi { Public static void main(String[]args) { /* Membuat object */ Mobil2mobilku = new mobil2();

/* Memanggil atribut dan memberi nilai */ Mobilku.warna = “Hitam”; Mobilku.tahunproduksi = 2006; Mobilku.printmobil(); } } Diposkan oleh NANANG di 22:51 0 komentar Link ke posting ini Langgan: Entri (Atom)

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->