Java sample OOP
Selasa, 15 Juli 2014
Add Comment
import java.util.Scanner;
public class samlpeOOP
{
public static void main(String[] args)
{
float p,l,s,a,t,bm;
int menu;
char lagi;
Scanner in = new Scanner(System.in);
do{
System.out.println(" | BANGUN DATAR ");
System.out.println(" | ------------ ");
System.out.println(" | 1. Bujur Sangkar ");
System.out.println(" | 2. Persegi Panjang ");
System.out.println(" | 3. Segitiga \n");
System.out.print(" Masukkan pilihan anda : ");
menu = in.nextInt();
switch(menu)
{
case 1 :
System.out.print(" | Input panjang sisi : ");
s = in.nextInt();
BangunDatar bd = new BujurSangkar(s);
System.out.println("\n | Luas Bujur Sangkar dengan panjang sisi "+s+" = "+ bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
case 2 :
System.out.print(" | Input panjang : ");
p = in.nextInt();
System.out.print(" | Input luas : ");
l = in.nextInt();
bd = new PersegiPanjang(p, l);
System.out.println("\n | Luas Persegi Panjang dengan panjang "+p+" dan lebar "+l+" = " + bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
case 3 :
System.out.print(" | Input panjang alas : ");
a = in.nextInt();
System.out.print(" | Input tinggi : ");
t = in.nextInt();
System.out.print(" | Input panjang bidang miring : ");
bm = in.nextInt();
bd = new Segitiga(a, t, bm);
System.out.println("\n | Luas Segitiga dengan alas "+a+" dan tinggi "+t+" = " + bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
}
System.out.print ("\n Kembali Ke menu utama (y/t)? ");
lagi = in.next().charAt(0);
}
while (lagi == 'y' || lagi == 'Y');
}
}
abstract class BangunDatar
{
abstract double CariLuas();
abstract double CariKeliling();
}
class PersegiPanjang extends BangunDatar
{
private float lebar = 1;
private float panjang = 1;
PersegiPanjang(float p, float l)
{
panjang = p;
lebar = l;
}
double CariLuas()
{
return panjang * lebar;
}
double CariKeliling()
{
return 2 * (panjang + lebar);
}
}
class BujurSangkar extends BangunDatar
{
private float sisi = 1;
BujurSangkar (float s)
{
sisi = s;
}
double CariLuas()
{
return sisi * sisi;
}
double CariKeliling()
{
return 4 * sisi;
}
}
class Segitiga extends BangunDatar
{
private float alas = 1;
private float tinggi = 1;
private float bidangMiring = 1;
Segitiga (float a, float t, float bm)
{
alas = a;
tinggi = t;
bidangMiring = bm;
}
double CariLuas()
{
return (alas * tinggi)/2;
}
double CariKeliling()
{
return alas + tinggi + bidangMiring;
}
}
public class samlpeOOP
{
public static void main(String[] args)
{
float p,l,s,a,t,bm;
int menu;
char lagi;
Scanner in = new Scanner(System.in);
do{
System.out.println(" | BANGUN DATAR ");
System.out.println(" | ------------ ");
System.out.println(" | 1. Bujur Sangkar ");
System.out.println(" | 2. Persegi Panjang ");
System.out.println(" | 3. Segitiga \n");
System.out.print(" Masukkan pilihan anda : ");
menu = in.nextInt();
switch(menu)
{
case 1 :
System.out.print(" | Input panjang sisi : ");
s = in.nextInt();
BangunDatar bd = new BujurSangkar(s);
System.out.println("\n | Luas Bujur Sangkar dengan panjang sisi "+s+" = "+ bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
case 2 :
System.out.print(" | Input panjang : ");
p = in.nextInt();
System.out.print(" | Input luas : ");
l = in.nextInt();
bd = new PersegiPanjang(p, l);
System.out.println("\n | Luas Persegi Panjang dengan panjang "+p+" dan lebar "+l+" = " + bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
case 3 :
System.out.print(" | Input panjang alas : ");
a = in.nextInt();
System.out.print(" | Input tinggi : ");
t = in.nextInt();
System.out.print(" | Input panjang bidang miring : ");
bm = in.nextInt();
bd = new Segitiga(a, t, bm);
System.out.println("\n | Luas Segitiga dengan alas "+a+" dan tinggi "+t+" = " + bd.CariLuas());
System.out.println(" | Kelilingnya : " + bd.CariKeliling());
break;
}
System.out.print ("\n Kembali Ke menu utama (y/t)? ");
lagi = in.next().charAt(0);
}
while (lagi == 'y' || lagi == 'Y');
}
}
abstract class BangunDatar
{
abstract double CariLuas();
abstract double CariKeliling();
}
class PersegiPanjang extends BangunDatar
{
private float lebar = 1;
private float panjang = 1;
PersegiPanjang(float p, float l)
{
panjang = p;
lebar = l;
}
double CariLuas()
{
return panjang * lebar;
}
double CariKeliling()
{
return 2 * (panjang + lebar);
}
}
class BujurSangkar extends BangunDatar
{
private float sisi = 1;
BujurSangkar (float s)
{
sisi = s;
}
double CariLuas()
{
return sisi * sisi;
}
double CariKeliling()
{
return 4 * sisi;
}
}
class Segitiga extends BangunDatar
{
private float alas = 1;
private float tinggi = 1;
private float bidangMiring = 1;
Segitiga (float a, float t, float bm)
{
alas = a;
tinggi = t;
bidangMiring = bm;
}
double CariLuas()
{
return (alas * tinggi)/2;
}
double CariKeliling()
{
return alas + tinggi + bidangMiring;
}
}
0 Response to "Java sample OOP"
Posting Komentar