Senin, 04 Januari 2010

Program Menghitung Luas Bangun

Contoh Program C++ Menghitung Luas Bangun  dapat anda lihat pada source kode di bawah. Contoh Program C++ di bawah menggunakan user input yaitu nilai-nilai diinputkan sendiri oleh user. Untuk Mencobanya silahkan copy paste source code Menghitung Luas Bangun berikut:

#include<iostream.h>
//#include<string.h>
#include<math.h>

const float phi = 3.14;

class menu
{
    private:

    public:


void pilihan()
{
        cout<<" Menu Bangun : "<<endl;
        cout<<"\t 1.Balok"<<endl;
        cout<<"\t 2.Kubus"<<endl;
        cout<<"\t 3.Tabung"<<endl;
        cout<<"\t 4.Bola"<<endl;
        cout<<"\t 5.Kerucut"<<endl;
        cout<<"\t 6.Limas Segiempat"<<endl;
        cout<<"\t 7.Prisma segitiga"<<endl;
        cout<<"\t 8.Keluar Program"<<endl;
        cout<<"Pilihan : ";
}

};

class tekan
{
    private:

    public:

void kembali()
{
    cout<<" Tekan 1 Untuk Ke Menu Utama " <<endl;
    cout<<" Tekan 2 Untuk Kembali " <<endl;
    cout<<" Tekan 3 Untuk Keluar Program " <<endl;
}
};

class balok
{
    private:
        float a,b,c,d;
    public:
        void volumebal();
        void luasbal();

};
void balok::volumebal()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Balok \""<<endl;
        cout<<" Masukkan Nilai p : ";cin>>a;
        cout<<" Masukkan Nilai l : ";cin>>b;
        cout<<" Masukkan Nilai t : ";cin>>c;
        d=a*b*c;
        cout<<" Volume Balok     : "<<d<<endl;
    }
void balok::luasbal()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Balok \""<<endl;
        cout<<" Masukkan Nilai p     : ";cin>>a;
        cout<<" Masukkan Nilai l     : ";cin>>b;
        cout<<" Masukkan Nilai t     : ";cin>>c;
        d=2*(a*b)+2*(a*c)+2*(b*c);
        cout<<" Luas Permukaan Balok : "<<d<<endl;
    }


class kubus
{
    private:
        float a,b,c,d;
    public:
        void volumekub();
        void luaskub();

};
void kubus::volumekub()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Kubus \""<<endl;
        cout<<" Masukkan Nilai sisi : ";cin>>a;
        d=a*a*a;
        cout<<" Volume Kubus        : "<<d<<endl;
    }

void kubus::luaskub()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Kubus \""<<endl;
        cout<<" Masukkan Nilai sisi  : ";cin>>a;
        d=6*(a*a);
        cout<<" Luas Permukaan Kubus : "<<d<<endl;
    }

class tabung
{
    private:
        float a,b,c,d;
    public:
        void volumetab();
        void luastab();



};
void tabung::volumetab()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Tabung \""<<endl;
        cout<<" Masukkan Nilai Jari-jari    : ";cin>>a;
        cout<<"Masukkan Nilai Tinggi Tabung : ";cin>>b;
        float d;
        d=phi*a*a*b;
        cout<<" Volume Tabung               : "<<d<<endl;

    }
void tabung::luastab()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Tabung \""<<endl;
        cout<<" Masukkan Nilai Jari-jari     : ";cin>>a;
        cout<<" Masukkan Nilai Tinggi Tabung : ";cin>>b;
        d=2*(phi*a*a)+2*phi*a*b;
        cout<<" Luas Permukaan Kubus         : "<<d<<endl;
    }


class bola
{
    private:
        float a,b,c,d;
    public:
        void volumebol();
        void luasbol();

};
void bola::volumebol()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Bola \""<<endl;
        cout<<" Masukkan Nilai Jari-jari : ";cin>>a;
        d=4/3*phi*a*a*a;
        cout<<" Volume Bola              : "<<d<<endl;
    }
void bola::luasbol()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Bola \""<<endl;
        cout<<" Masukkan Nilai Jari-jari : ";cin>>a;
        d=4*phi*a*a;
        cout<<" Luas Permukaan bola      : "<<d<<endl;
    }

class kerucut
{
    private:
        float a,b,c,d;
    public:
        void volumeker();
        void luasker();

};
void kerucut::volumeker()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Kerucut \""<<endl;
        cout<<" Masukkan Nilai Jari-jari Alas : ";cin>>a;
        cout<<" Masukkan Nilai Tinggi Kerucut : ";cin>>b;
        d=0.333*phi*a*a*b;
        cout<<" Volume Kerucut                : "<<d<<endl;
    }
void kerucut::luasker()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Kerucut \""<<endl;
        cout<<" Masukkan Nilai Jari-jari Alas : ";cin>>a;
        cout<<" Masukkan Nilai Tinggi Kerucut : ";cin>>b;
        float c,d,hasil;
        c=sqrt((a*a)+(b*b));
        d=0.333*3.14*a*a*c;
        cout<<" Luas Permukaan Kerucut        : "<<d<<endl;
    }

class limas
{
    private:
        float a,b,c,d,e,f;
    public:
        void volumelim();
        void luaslim();

};
void limas::volumelim()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Limas \""<<endl;
        cout<<" Masukkan Nilai Panjang Segiempat Alas : ";cin>>a;
        cout<<" Masukkan Nilai Lebar Segiempat Alas   : ";cin>>b;
        cout<<" Masukkan Nilai Tinggi Limas           : ";cin>>c;
        d=0.333*a*b*c;
        cout<<" Volume Limas                          : "<<d<<endl;
    }
void limas::luaslim()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Limas \""<<endl;
        cout<<" Masukkan Nilai Panjang Segiempat Alas : ";cin>>a;
        cout<<" Masukkan Nilai Lebar Segiempat Alas   : ";cin>>b;
        cout<<" Masukkan Nilai Tinggi Limas           : ";cin>>c;
        e=sqrt((c*c)+((a/2)*(a/2)));
        f=sqrt((c*c)+((b/2)*(b/2)));
        d=(2*(0.5*a*f))+(2*(0.5*b*e));
        cout<<" Luas Permukaan Limas                  : "<<d<<endl;
    }




class prisma
{
    private:
        float a,b,c,d,e;
    public:
        void volumepris();
        void luaspris();
};
void prisma::volumepris()
    {
        cout<<endl;
        cout<<"\"Menghitung Volume Prisma \""<<endl;
        cout<<" Masukkan Nilai Tinggi Prisma        : ";cin>>a;
        cout<<" Masukkan Nilai Lebar Segitiga Alas  : ";cin>>b;
        cout<<" Masukkan NIlai Tinggi Segitiga Alas : ";cin>>c;
        d=(0.5*c*b)*a;
        cout<<" Volume Prisma                       : "<<d<<endl;
    }
void prisma::luaspris()
    {
        cout<<endl;
        cout<<"\"Menghitung Luas Permukaan Prisma \""<<endl;
        cout<<" Masukkan Nilai Tinggi Prisma        : ";cin>>a;
        cout<<" Masukkan Nilai Lebar Segitiga Alas  : ";cin>>b;
        cout<<" Masukkan NIlai Tinggi Segitiga Alas : ";cin>>c;
        float e,d;
        e=sqrt((c*c)+(b*b));
        d=(2*(0.5*c*b))+(c*a)+(b*a)+(a*e);
        cout<<" Luas Permukaan Prisma               : "<<d<<endl;
    }


int main()
{
    char pilih;
    char x;
    char nomor;
    char user[20];
    menu men;
    tekan kem;
    balok bal;
    kubus kub;
    bola bol;
    tabung tab;
    kerucut ker;
    limas lim;
    prisma pris;
    cout<<"Masukkan nama Anda : ";cin.getline(user, 200);
    cout<<"Selamat Datang "<<user<<" di \"Program Mencari Volume & Luas Permukaan Bangun Ruang\""<<endl;
    label:
    men.pilihan();
    cin>>pilih;
    cout<<"\n";
    switch(pilih)
    {
        case '1':ulang1:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Balok"<<endl;
            cout<<"2.Luas Permukaan Balok"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':bal.volumebal();
                            kem.kembali();
                            bali1:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang1; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali1; break;
                            }
                            break;
                case '2':bal.luasbal();
                            kem.kembali();
                            bali2:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang1; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali2; break;
                            }
                            break;
                case '3':goto label;
                            break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                            goto ulang1;
                            break;
            }
            break;
        case '2':ulang2:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Kubus"<<endl;
            cout<<"2.Luas Permukaan Kubus"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':kub.volumekub();
                            kem.kembali();
                            bali3:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang2; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali3; break;
                            }
                            break;
                case '2':kub.luaskub();
                            kem.kembali();
                            bali4:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang2; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali4; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang2; break;
            }
            break;
        case '3':ulang3:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Tabung"<<endl;
            cout<<"2.Luas Permukaan Tabung"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':tab.volumetab();
                            kem.kembali();
                            bali5:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang3; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali5; break;
                            }
                            break;
                case '2':tab.luastab();
                            kem.kembali();
                            bali6:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang3; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali6; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang3; break;
            }
            break;
        case '4':ulang4:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Bola"<<endl;
            cout<<"2.Luas Permukaan Bola"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':bol.volumebol();
                            kem.kembali();
                            bali7:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang4; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali7; break;
                            }
                            break;
                case '2':bol.luasbol();
                            kem.kembali();
                            bali8:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang4; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali8; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang4; break;
            }
            break;
        case '5':ulang5:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Kerucut"<<endl;
            cout<<"2.Luas Permukaan Kerucut"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':ker.volumeker();
                            kem.kembali();
                            bali9:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang5; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali9; break;
                            }
                            break;
                case '2':ker.luasker();
                            kem.kembali();
                            bali10:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label;
                                            break;
                                case '2':goto ulang5; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali10; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang5; break;
            }
            break;
        case '6':ulang6:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Limas Segiempat"<<endl;
            cout<<"2.Luas Permukaan Limas Segiempat"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':lim.volumelim();
                            kem.kembali();
                            bali11:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang6; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali11; break;
                            }
                            break;
                case '2':lim.luaslim();
                            kem.kembali();
                            bali12:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang6; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali12; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang6; break;
            }
            break;
        case '7':ulang7:
            cout<<"Menu : "<<endl;
            cout<<"1.Volume Prisma Segitiga"<<endl;
            cout<<"2.Luas Permukaan Prisma Segitiga"<<endl;
            cout<<"3.Kembali ke menu utama"<<endl;
            cout<<"Pilihan : ";
            cin>>nomor;
            cout<<"\n";
            switch(nomor)
            {
                case '1':pris.volumepris();
                            kem.kembali();
                            bali13:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang7; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali13; break;
                            }break;
                case '2':pris.luaspris();
                            kem.kembali();
                            bali14:
                            cin >> x;
                            switch(x)
                            {
                                case '1':goto label; break;
                                case '2':goto ulang7; break;
                                case '3':break;
                                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl;
                                            goto bali14; break;
                            }
                            break;
                case '3':goto label;break;
                default :cout<<"Nomor Yang Anda Masukkan Salah, Silahkan Ulangi Lagi !!!"<<endl; goto ulang7; break;
            }
            break;
        case '8':break;
        default : cout<<"Pilihan anda Salah, Silahkan Pilih Ulang\n"<<endl; goto label; break;

    }

    return 0;
}

Hasil Outputnya :

Tidak ada komentar:

Posting Komentar