Java sample OOP

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;
    }
}

0 Response to "Java sample OOP"

Posting Komentar