Sabtu, 11 Mei 2013

Interface dalam Java

    Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant).  Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh. Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class.

 Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwainterface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung daritipe object yang melewati pemanggil method interface.
  

Kenapa Kita Memakai Interface?
Kita akan menggunakan interface jika kita ingin class yang tidak berhubungan
mengimplementasikan method yang sama. Melalui interface-interface, kita dapatmenangkap kemiripan diantara class yang tidak berhubungan tanpa membuatnya seolaholah class yang berhubungan

Ciri-ciri dari interface adalah sebagai berikut..
  • Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
  • Tidak bisa membuat instance atau objek baru dari sebuah interface.
  • Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.

public interface [InterfaceName]
{
//beberapa method tanpa isi
}
public interface RemoteAllInOne {

 public void pindahChannel(int channel);

 public void perbesarVolume(int kpsts);

 public void perkecilVolume(int kpsts);

 public void perkecilZoom(int kpsts);

 public void perbesarZoom(int kpsts);
}
public class BenQ implements RemoteAllInOne {

 String[] menuTV = {"ANTV", "INDOSIAR", "TRANS-TV", "TPI", "RCTI", "SCTV", "GLOBAL-TV"};

 public void pindahChannel(int channel) {
 System.out.println("LCD BENQ Pindah Channel ke - " + this.menuTV[channel]);
 }

 public void perbesarVolume(int kpsts) {
 System.out.println("LCD BENQ Perbesar Vol : " +kpsts);
 }

 public void perkecilVolume(int kpsts) {
 System.out.println("LCD BENQ Pekecil Vol : " + kpstss);
 }

 public void perkecilZoom(int kpsts) {
 System.out.println("LCD BENQ Pekecil Zoom : " + kpsts);
 }

 public void perbesarZoom(int kpsts) {
 System.out.println("LCD BENQ Pebesar Zoom : " + kpsts);
 }
}
public class MyRemoteAllInOne {
 public void sendRequest(int aksi, RemoteAllInOne rmt, int tombol){
 switch(aksi){
 case 1:
 rmt.pindahChannel(tombol);
 break;
 case 2 :
 rmt.perkecilVolume(tombol);
 break;
 case 3 :
 rmt.perbesarVolume(tombol);
 break;
 case 4 :
 rmt.perkecilZoom(tombol);
 break;
 case 5 :
 rmt.perbesarZoom(tombol);
 break;
 }
 }
}
public class Tester {

 /**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 Ephson ep = new Ephson();
 BenQ bq = new BenQ();
 Mitshubishi mt = new Mitshubishi();
 MyRemoteAllInOne my = new MyRemoteAllInOne();
 my.sendRequest(1, mt, 4);
 my.sendRequest(1, ep, 5);
 my.sendRequest(1, bq, 6);
 my.sendRequest(2, mt, 4);
 }
}


Semoga bermanfaat. :)
No comments

Jumat, 10 Mei 2013

Tugas Bab 5 Praktikum Pemrograman Lanjut



Soal 5.1 (employeePoly)
Implementasikan polymorphism pada class employee (pada bab sebelumnya) sehingga methode raiseSalary() dan print() menjadi method abstrak :

public class ShapeDemo
{
       public static void main(String [] args)
       {
              Point p = new Point(5,9);
              Color co = new Color (10,10,10);
              Circle c = new Circle(p,6);
              Rectangle r = new Rectangle(p,5,8);
                          
              System.out.println("Luas Segiempat mula-mula:"+r.area()+"\n");
              System.out.println("Keliling Segiempat mula-mula : " + r.perimeter()+ "\n");
             
              r.setHW(20.6 , 10.3);
              r.print();
              System.out.println();
             
              System.out.println("Luas Lingkaran mula-mula:"+c.area()+"\n");
              System.out.println("Keliling Lingkaran mula-mula : " +
                 c.perimeter()+ "\n");
             
              c.setRadius(5.8);
              c.setColor(co);
              c.print();
                          
       }     
}

Soal 5.2 (staff.java)
Buatlah class staff yang inherit class employee dengan ketentuan sebagai berikut :
·      Terdapat variable tambahan salary dengan tipe double
·      Jika masa kerja dibawah 1 tahun, kenaikan gaji dihitung :
salary *=1+ persen/100;
·      Jika masa kerja 1- 10 tahun , ada tambahan bonus sebesar 0.01 dari lama kerja
·      Jika masa kerja diatas 10 tahun, ada tambahan bonus sebesar 0.02 dari lama kerja

Soal 5.3 (manager.java)
Buatlah class direktur yang inherit class employee dengan ketentuan kenaikan gaji sebagai berikut :
Selain bonus sebesar 0.5 dari lama kerja , juga mendapat tunjangan sebesar 0.1 dari lama kerja

Klik disini untuk melihat source code programnya : Polymorpshm

No comments

polymorphism

                Polimorfisme (polymophism) atau yang disebut juga dengan kebanyak rupaan adalah kemampuan program untuk mengungkap banyak hal berbeda dengan cara yang sama. Polimorphisme adalah konsep yang sangat handal bagi pengembang perangkat lunak untuk pemisahan secara jelas diantara sub sistem yang berbeda. Dengan dimikian sebuah sistem akan bisa dimodifikasi secara mudah karena hanya dibutuhkan interface antar class.

Bicycle.java
public class Bicycle {
public int gear;
public int speed;
public int power;
public Bicycle(int startGear, int startSpeed, int startPower)
{
gear = startGear;
speed = startSpeed;
power = startPower;
}
public void setPower( int newValue)
{
power = newValue;
}
public void setGear( int newValue)
{
gear = newValue;
System.out.println(“Gear At”+ gear);
}
public void applyBreake(int decrement )
{
speed -= decrement;
}
public void speedUp(int increment)
{
speed += increment;
}
public void printDescription()
{
System.out.println(“Bike in gear”+this.gear+”with power”+this.power+”and speed”+this.speed);
}
}

MountainBike.java
public class MountainBike extends Bicycle {
private String suspension;
public MountainBike(int startSpeed, int startGear, int startPower, String startSuspension )
{
super(startGear, startSpeed, startPower);
setSuspension(startSuspension);
}
public String getSuspension(){
return this.suspension;
}
public void setSuspension(String suspensionType){
this.suspension = suspensionType;
}
@Override
public void printDescription(){
super.printDescription();
System.out.println(“The MountainBike has a ” + getSuspension()
+ ” suspension.”);
}
}

RoadBike.java
public class RoadBike extends Bicycle {
private int tireWidth;
public RoadBike(int startSpeed, int startPower, int startGear, int newTireWidth)
{
super(startGear, startSpeed, startPower);
setTireWidth( newTireWidth);
}
public int getTireWidth(){
return this.tireWidth;
}
public void setTireWidth(int newTireWidth){
this.tireWidth = newTireWidth;
}
@Override
public void printDescription(){
super.printDescription();
System.out.println(“The RoadBike has ” + getTireWidth()
);
}
}

Main.java
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Bicycle bike01, bike02, bike03;
bike01 = new Bicycle(20, 10, 1);
bike02 = new MountainBike(20, 10, 5, “Dual”);
bike03 = new RoadBike(40, 20, 8, 23);
MountainBike Ren = new MountainBike(99,9,9,”Dual”);
bike01.printDescription();
bike02.printDescription();
bike03.printDescription();
}
}


semoga bermanfaat. :)
No comments

Kamis, 18 April 2013

Source Code Tugas Praktikum Pemrograman Lanjut Bab 4 Inheritance

             Inheritance adalah konsep penting dalam pemrograman berorientasi objek. Bila diterjemahkan secara harafiah, artinya adalah Pewarisan. Istilah Inheritance akan lebih sering digunakan karena istilah ini sudah dikenal luas dalam dunia pemrograman internasional. Fungsi utama inheritance adalah untuk membuat Class baru dari class yang sudah ada. Inheritance menjadikan suatu class menjadi lebih reusable dalam arti lebih berguna karena dapat digunakan untuk menghasilkan class-class lain yang lebih spesifik.
 

Klik Link dibawah ini untuk mendownload source codenya :
Class Direktur
Class employee
ClassInheritanceDemo
Class Programmer
No comments

Source Code Tugas Praktikum Pemrograman Lanjut Bab III : Encapsulation.doc

 Enkapsulasi merupakan pengemasan data dan prosedur dalam objek. Juga merupakan upaya penyembunyian informasi yang diterapkan pada pemrograman terstruktur sehingga data tidak dapat diakses secara langsung oleh pihak di luar.

Contoh ; Di dalam sebuah program sering kita jumpai tombil Button Close (Sebagai Data), kemudian kita sisipkan Method System.exit(0) untuk keluar dari sistem Java.



 Soure CodeProgram :
Class TestVehicle1
Vehicle1
No comments