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