Praktikum S.Data ke-3


Preetest…

1. Buatlah kelas turunan Bil_Float yang hanya mempunyai satu data member bertipe float .Kelas Bil_Float ini diturunkan dari kelas Bilangan
Penyelesaian :

    class bil_float:public bilangan
    {
    friend ostream& operator << (istream&, bilangan&);
    public:
    bil_float(int a0=0, int b0=0, float ch=’x’):bilangan(a0,b0),c(ch) {}
    private:
    float c;
    };

2. Buatlah konstruktor dari kelas bil_float
Penyelesaian :

    bil_float(int a0=0, int b0=0, float ch=’x’):bilangan(a0,b0),c(ch) {}

dalam class nya:

    class bil_float:public bilangan
    {
    friend ostream& operator << (istream&, bilangan&);
    public:
    bil_float(int a0=0, int b0=0, float ch=’x’):bilangan(a0,b0),c(ch) {}
    private:
    float c;
    };

3. Buatlah operator overloading input dan output
Penyelesaian :

operator overloading input

    istream& operator >> (istream& in,bil_float& x)
    {
    cout << x.a;
    cout << x.b;
    return in;
    }

    operator overloading output

      ostream& operator << (ostream& out,const bil_float& x)
      {
      out << ”Bagian integer: “ << x.a <<endl;
      out << ”Bagian float: “ << x.b <<endl;
      out << ”Bagian char: “ << x.c <<endl;
      return out;
      }

    POSTEST…

    Praktikum kali ini topiknya Inheritence Dalam C++.
    Membahas program yang tersimpan di bilangan.h.
    Ditugaskan untuk menurunkan ke dalam beberapa anakan dari int, char, float.
    Kemudian di tugaskan untuk memodifikasi method banding_int
    untuk membuat method banding_float pada kelas Bil_Float.

    1. Ini File Induk nya “Bilangan.H”

      #include<iostream.h>
      class Bilangan {
      friend ostream& operator<<(istream&, const Bilangan&);
      public:
      Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
      void banding_int(const Bilangan&, const Bilangan&);
      Bilangan& operator=(const Bilangan&);
      Bilangan operator+(const Bilangan&)const;
      Bilangan& operator-()const;
      //protected:
      int a;
      float b;
      };
      ostream& operator<<(ostream& out, const Bilangan& x)
      {
      out<<”Bagian Integer : “<<x.a<<endl;
      out<<”Bagian float : “<<x.b<y.a) cout<<x.a<<”::x lebih besar dari “<<y.a<<”:: y”;
      else cout<<x.a<<”::x lebih kecil dari “<<y.a<>(istream& in, Bilangan& x)
      {
      cout<<x.a;
      cout<<x.b;
      return in;
      }

      Bilangan Bilangan::operator+(const Bilangan& x) const
      {
      Bilangan cc;
      cc.a=a+x.a;
      cc.b=b+x.b;
      return cc;
      }

      Bilangan& Bilangan::operator-() const
      {
      Bilangan x;
      x.a=-a;
      x.b=-b;
      return x;
      }

    2. turunan nya “bilchar.h”

      #include “Bilangan.h”
      using namespace std;
      class Bil_Char:public Bilangan
      {
      friend ostream& operator<<(ostream&, const Bil_Char&);
      public:
      Bil_Char(int a0=0, int b0=0, char ch=’x'):Bilangan(a0,b0),c(ch){}
      private:
      float c;
      };

      ostream& operator<<(ostream& out, const Bil_Char& x)
      {
      out<<”Bagian integer : “<<x.a<<endl;
      out<<”Bagian float : “<<x.b<<endl;
      out<<”Bagian char : “<<x.c<<endl;
      return out;
      }

    3. yang terakhir programnya

      #include<iostream>
      #include “bilchar.h”

      using namespace std;
      int main() {
      Bilangan s,t(-2,3.14),d;
      cout<<"Nilai awal s\n"<<s;
      cout<<"Nilai awal t dari deklarasi\n"<<t;
      s=t;
      cout<<"Setelah di-assign t\n";
      cout<<"Nilai s\n"<<s;
      cout<<d;
      cout<<d+t;
      cout<<"Nalai d dinegatifkan\n"<<-d;
      Bil_char ss;
      cout<<"Nilai awal ss\n"<<ss;
      system("PAUSE");
      return EXIT_SUCCESS;
      }

    4. kalau digabung ini listing programnya

      #include<cstdlib>
      #include<iostream>

      using namespace std;
      class Bilangan{
      friend ostream& operator<<(istream&, Bilangan&);
      public:
      Bilangan(int a0=0, float b0=0.0) : a(a0), b(b0){}
      void banding_float(const Bilangan&, const Bilangan&);
      Bilangan& operator=(const Bilangan&);
      Bilangan operator+(const Bilangan&) const;
      Bilangan operator-() const;
      protected:
      int a;
      float b;
      };
      ostream& operator<<(ostream& out, const Bilangan& x)
      {
      out << "Bagian integer :" << x.a << endl;
      out << "Bagian float :" << x.b < y.a) cout << x.a << "::x lebih besar dari " << y.a << "::y";
      else cout << x.a << "::x lebih kecil dari" << y.a <>(istream& in, Bilangan& x)
      {
      cout << x.a;
      cout << x.b;
      return in;
      }
      Bilangan Bilangan::operator+(const Bilangan& x) const
      {
      Bilangan cc;
      cc.a = a + x.a;
      cc.b = b + x.b;
      return cc;
      }
      Bilangan Bilangan::operator-() const
      {
      Bilangan x;
      x.a = -a;
      x.b = -b;
      return x;
      }
      class Bil_float:public Bilangan{
      friend ostream& operator<<(ostream& , const Bil_float&);
      public:
      Bil_float(int a0=0, int b0=0, float fl='x'): Bilangan(a0,b0), c(fl){}
      private:
      float c;
      };
      ostream& operator<<(ostream& out, const Bil_float& x)
      {
      out << "Bagian integer : " << x.a << endl;
      out << "Bagian float : " << x.b << endl;
      out << "Bagian char : " << x.c << endl;
      return out;
      }
      class Bil_char:public Bilangan{
      friend ostream& operator<<(ostream&, const Bil_char&);
      public:
      Bil_char(int a0=0, int b0=0, char ch='x')
      : Bilangan(a0,b0), c(ch){}
      private:
      char c;
      };
      ostream& operator<<(ostream& out, const Bil_char& x)
      {
      out << "Bagian integer : " << x.a << endl;
      out << "Bagian float : " << x.b << endl;
      out << "Bagian char : " << x.c << endl;
      return out;
      }

      int main(int argc, char *argv[])
      {
      Bilangan s, t(-2,3.14), d;
      cout << "Nilai awal s\n" << s;
      cout << "Nilai awal t dari deklarasi\n" << t;
      s=t;
      cout << "Setelah s di-assign t\n";
      cout << "Nilai s\n" << s;
      cout << d;
      cout < \n” << d+t;
      cout << "Nilai d dinegatifkan\n" << -d;
      Bil_char ss;
      cout << "Nilai awal ss\n" << ss;
      cout << "\n\nRIYAN SINTARI (09018214)\n";
      system("PAUSE");
      return EXIT_SUCCESS;
      }

    5. dan outputnya ini

    About Sintata
    Seek and Share Knowledge

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    %d bloggers like this: