Tuesday, December 25, 2012

Program Menghitung Pecahan menggunakan bantuan interface

hmmm, baru posting trus posting lagi dah,,,
capcus lagi codingannya yuk

koding programnya
package matematika;
public interface MtkDasar {
    String tambah(int a, int b);
    String kurang(int a, int b);
    String kali(int a, int b);
    String bagi(int a, int b);
}
package matematika;
import java.util.Scanner;

public class Matematika {
    public static void main(String[] args) {
     int a,b,c,d,e,f;
     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.tostring() + " - "+c+"/"+d+ " = "+ p.kurang(c, d));
        System.out.println(""+ p.tostring() + " x "+c+"/"+d+ " = "+ p.kali(c, d));
        System.out.println(""+ p.tostring() + " : "+c+"/"+d+ " = "+ p.bagi(c, d));
    
    }
}
class Pecahan implements MtkDasar{
    private int penyebut, pembilang, cadangan, tambahan;
    public Pecahan(int a, int b){
      if (b != 0){
            this.pembilang = a;
            this.cadangan=pembilang;
            this.penyebut = b;
            this.tambahan=penyebut;
      }else{
            System.out.println("inputan tidak boleh 0");
      }
    }
    @Override
    public String 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 String.valueOf(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 String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 3==0 && pembilang % 3 == 0){
                    pembilang=pembilang/3;
                    sebut=sebut/3;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 5==0 && pembilang % 5 == 0){
                    pembilang=pembilang/5;
                    sebut=sebut/5;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 7==0 && pembilang % 7 == 0){
                    pembilang=pembilang/7;
                    sebut=sebut/7;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else{
                    return String.valueOf(pembilang + "/" + sebut);
               }
            }
        }else{
            return "inputan tidak boleh 0";
           
        }
    }
    @Override
    public String kurang(int a, int b) {
        int bilang, sebut;
        pembilang=this.cadangan;
        penyebut=this.tambahan;
        if (b != 0){
            if (penyebut == b){
                pembilang = pembilang-a;
                return String.valueOf(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 String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 3==0 && pembilang % 3 == 0){
                    pembilang=pembilang/3;
                    sebut=sebut/3;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 5==0 && pembilang % 5 == 0){
                    pembilang=pembilang/5;
                    sebut=sebut/5;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else if(sebut % 7==0 && pembilang % 7 == 0){
                    pembilang=pembilang/7;
                    sebut=sebut/7;                   
                    return String.valueOf(pembilang + "/" + sebut);
                }else{
                    return String.valueOf(pembilang + "/" + sebut);
               }
            }
           
        }else{
            return "inputan tidak boleh 0";
        }
    }
    public String tostring(){
        pembilang=this.cadangan;
        penyebut=this.tambahan;
        return (this.pembilang+"/"+this.penyebut);
    }
  

    @Override
    public String kali(int a, int b) {
        
        pembilang=this.cadangan;
        penyebut=this.tambahan;
        if (b != 0){
            pembilang=pembilang*a;
            penyebut=penyebut*b;
             if (penyebut % 2==0 && pembilang % 2 == 0){
                    pembilang=pembilang/2;
                    penyebut=penyebut/2;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 3==0 && pembilang % 3 == 0){
                    pembilang=pembilang/3;
                    penyebut=penyebut/3;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 5==0 && pembilang % 5 == 0){
                    pembilang=pembilang/5;
                    penyebut=penyebut/5;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 7==0 && pembilang % 7 == 0){
                    pembilang=pembilang/7;
                    penyebut=penyebut/7;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else{
                    return String.valueOf(pembilang + "/" + penyebut);
               }
        }else{
            return "inputan tidak boleh 0";
        }
    }

    @Override
    public String bagi(int a, int b) {
      
         pembilang=this.cadangan;
        penyebut=this.tambahan;
        if (b != 0){
            pembilang=pembilang*b;
            penyebut=penyebut*a;
             if (penyebut % 2==0 && pembilang % 2 == 0){
                    pembilang=pembilang/2;
                    penyebut=penyebut/2;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 3==0 && pembilang % 3 == 0){
                    pembilang=pembilang/3;
                    penyebut=penyebut/3;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 5==0 && pembilang % 5 == 0){
                    pembilang=pembilang/5;
                    penyebut=penyebut/5;                   
                    return String.valueOf(pembilang + "/" + penyebut);
                }else if(penyebut % 7==0 && pembilang % 7 == 0){
                    pembilang=pembilang/7;
                    penyebut=penyebut/7;                    
                    return String.valueOf(pembilang + "/" + penyebut);
                }else{
                    return String.valueOf(pembilang + "/" + penyebut);
               }
           
        }else{
            return "inputan tidak boleh 0";
        }
    }
}                     
hehehe, banyak betul ya codingnya,,, :D
untuk hasil running, akan tampil seperti gambar dibawah ini...

hehe, inilah sedikit tutorial dari saya...
semoga bermanfaat ya... :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