Tuesday, December 25, 2012

Modifikasi interface dan class agar menghasilkan Return Value

hehe, sekedar sharing aja guys...
untuk cara-caranya, yuk mari kita buat kodingnya... :D

Koding dari Interface

package matematika;
    public interface MtkDasar {
    Object tambah(int a, int b);
    Object kurang(int a, int b);
}

Koding dari class main
public class Matematika {
    public static void main(String[] args) {
     int a,b,c,d;
     Scanner in = new Scanner(System.in);
        System.out.print("masukkan nilai penyebut 1 = ");
        a=in.nextInt();
        System.out.print("masukkan nilai pembilang 1 = ");
        b=in.nextInt();
        System.out.print("masukkan nilai penyebut 2 = ");
        c=in.nextInt();
        System.out.print("masukkan nilai pembilang 2 = ");
        d=in.nextInt();
     Pecahan p = new Pecahan(a, b);
        System.out.println(""+ p.tostring() + " + "+c+"/"+d+ " = "+ p.tambah(c, d));
        System.out.println(""+ p.to() + " - "+c+"/"+d+ " = "+ p.kurang(c, d));
}
}
class Pecahan implements MtkDasar{
    private int penyebut, pembilang, cadangan;
    public Pecahan(int a, int b){
      if (b != 0){
            this.pembilang = a;
            this.cadangan=pembilang;
            this.penyebut = b;
      }else{
            System.out.println("inputan tidak boleh 0");
      }
    }
    @Override
    public Object tambah(int a, int b) {
        int bilang, sebut;
        if (b != 0){
            if (penyebut == b){
                pembilang = pembilang+a;
                System.out.println(""+pembilang+" "+penyebut+" "+a+" "+b);
                return pembilang + "/" + penyebut;
               
            }else{
                sebut = penyebut * b;
                bilang = sebut / penyebut * pembilang;
                a=sebut / b * a;
                pembilang = bilang + a;                   
                if (sebut % 2==0 && pembilang % 2 == 0){
                    pembilang=pembilang/2;
                    sebut=sebut/2;                   
                    return pembilang + "/" + sebut;
                }else{
                    return pembilang + "/" + sebut;
                }
            }
        }else{
            return "inputan tidak boleh 0";
           
        }
    }
    @Override
    public Object kurang(int a, int b) {
        int bilang, sebut;
        if (b != 0){
            if (penyebut == b){
                cadangan = cadangan-a;
                return String.valueOf(cadangan + "/" + penyebut);
            }else{
                sebut = penyebut * b;
                bilang = sebut / penyebut * cadangan;
                a=sebut / b * a;
                pembilang = bilang - a;                   
                if (sebut % 2==0 && pembilang % 2 == 0){
                    pembilang=pembilang/2;
                    sebut=sebut/2;                   
                    return (pembilang + "/" + sebut);
                }else{
                    return (pembilang + "/" + sebut);
                }
            }
           
        }else{
            return "inputan tidak boleh 0";
        }
    }
    public String tostring(){
        return (this.pembilang+"/"+this.penyebut);
    }
    public String to(){
        return(this.cadangan+"/"+this.penyebut);
    }
}

setelah koding tersebut dibuat, jalankan main classnya, dan akan tampak seperti gambar di bawah ini :


selamat mencoba guys... :D

0 comments:

Post a Comment

Chat Box

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Enterprise Project Management