Pages

Thursday, March 14, 2013

Menghitung Luas dan Keliling Segitiga di Java


Ini merupakan program mencari Luas dan Keliling segitiga dan kemudian diurutkan dengan buble sort.

Source code :
public class Segitiga {
    public int alas, tinggi; // atribut
    public Segitiga (int alas1, int tinggi1){
        alas = alas1;
        tinggi = tinggi1;
    }
    public double miring (){
        return Math.sqrt(alas*alas+tinggi*tinggi); //menghitung bidang miring
    }
    public double luas (){
        return alas*tinggi/2; //menghitung luas
    }
    public double keliling (){
        return alas+tinggi+miring(); //menghitung keliling
    }
}
public class SegitigaMain {
    public static void main(String[] args) {
        Segitiga [] st = new Segitiga [2];
        st[0] = new Segitiga (3,4);
        st[1] = new Segitiga (6,8);
       
        double Luas [] = new double [2];//mendeklarasikan array luas
        double Keliling [] = new double [2];//deklarasikan array keliling
       
        int i=0;
        while (i<2){
            Luas [i] = st[i].luas();//menghitung luas ke-i
            Keliling [i] = st[i].keliling();//menghitung keliling ke-i
            i++;
        }
        System.out.println("==== Hasil Sebelum diurutkan ====");
        System.out.println("Luas : "); //mencetak luas yang telah diurutkan
        for (int x=0;x<2;x++){
            System.out.println(Luas[x]);
        }
        System.out.println("Keliling : "); //mencetak keliling setelah diurutkan
        for (int y=0;y<2;y++){
            System.out.println(Keliling[y]);
        }
        System.out.println(" ");

        //mengurutkan luas dan keliling dengan metode bubble sort
        int b=2;
        for (int a=0;a<b;a++){
            int c = 1;
            while (c>a){
                if (Luas [c]<Luas[c-1]){
                    //penukaran luas apabila Luas [y] < Luas [y-1]
                    double tmp = Luas [c-1];
                    Luas [c-1] = Luas [c];
                    Luas [c] = tmp;
                }
                if (Keliling [c]<Keliling[c-1]){
                    //penukaran Keliling apabila Kell [y] < Luas [y-1]
                    double tmp = Keliling [c-1];
                    Keliling [c-1] = Keliling [c];
                    Keliling [c] = tmp;
                }
                c--;
            }
        }
        System.out.println("==== Hasil Setelah diurutkan ====");
        System.out.println("Luas : ");
        //mencetak luas yang telah diurutkan
        for (int x=0;x<2;x++){
            System.out.println(Luas[x]);
        }
        System.out.println("Keliling : ");
        //mencetak keliling setelah diurutkan
        for (int y=0;y<2;y++){
            System.out.println(Keliling[y]);
        }
    }
}

0 comments:

Post a Comment