Skip to content

praktikum 2

Oktober 19, 2010

#include <iostream>
using namespace std;

class Kompleks{
friend class Operasi;
friend ostream& operator<<(ostream&, const Kompleks&);
friend istream& operator>>(istream&, Kompleks&);
public:
Kompleks(int s=0, int t=0):a(s),b(t){}
void cetak();
Kompleks operator-();
Kompleks operator-(const Kompleks&);
Kompleks operator+(const Kompleks&);
Kompleks operator*(const Kompleks&);
private:
int a;
int b;
};

void Kompleks::cetak(){
if(b>0)cout<<“bilangan kompleks:”<<a<<“+”<<b<<“i”;
else cout<<“bilangan kompleks:”<<a<<b<<“i”;
cout<<endl;
}

Kompleks Kompleks::operator-(){
Kompleks x;
x.a=a;
x.b=-b;
return x;
}

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

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

Kompleks Kompleks::operator*(const Kompleks&m)
{
Kompleks x;
x.a=a*m.a;
x.b=b*m.b;
return x;
}

ostream& operator<<(ostream& out, const Kompleks& x){
if(x.b==0) out<<‘[‘<<x.a<<‘]’;
else if(x.a==0 && x.b==1)out<<‘[‘<<“i”<<‘]’;
else if(x.a==0 && x.b==-1)out<<‘[‘<<“-i”<<‘]’;
else if(x.a==0 && x.b>1)out<<‘[‘<<x.b<<“i”<<‘]’;
else if(x.a==0 && x.b<-1)out<<‘[‘<<x.b<<“i”<<‘]’;
else if(x.b==1)out<<‘[‘<<x.a<<“+”<<“i”<<‘]’;
else if(x.b>0)out<<‘[‘<<x.a<<“+”<<x.b<<“i”<<‘]’;
else if(x.b==-1)out<<‘[‘<<x.a<<“-i”<<‘]’;
else out<<‘[‘<<x.a<<x.b<<“i”<<‘]’;
return out;
}

istream& operator>>(istream& in, Kompleks&x)
{
cout<<“Masukan bilamgam real: “;
in>>x.a;
cout<<“Masukan bilangan imajiener : “;
in>>x.b;
return in;
}

class Operasi{
public :
Kompleks jumlah(const Kompleks&,const Kompleks&);
Kompleks kali(const Kompleks&,const Kompleks&);
Kompleks kurang(const Kompleks&,const Kompleks&);
};

Kompleks Operasi::jumlah(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a+n.a;
temp.b=m.b+n.b;
return temp;
}

Kompleks Operasi::kurang(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a-n.a;
temp.b=m.b-n.b;
return temp;
}

Kompleks Operasi::kali(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=(m.a*n.a)-(m.b*n.b);
temp.b=(m.a*n.b)-(m.b*n.a);
return temp;
}

int main (){
Kompleks x(2,3),y(4,-4),t;
Operasi z;
cout<<“\nNama:Abdul jawad\nNim:09018117\n”;
cout<<“\nMenggunakan cetak():\n”;
x.cetak();
cout<<“\nMenggunakan overloading :”<<x;
cout<<“\nKonjugat :”<<-x<<endl;
y.cetak();
cout<<“\nPenjumlahan menggunakan methods :”;
t=z.jumlah(x,y);
t.cetak();
cout<<“\nPenjumlahan menggunakan operator:”;
t=x+y;
cout<<x<<“+”<<y<<“=”<<t;
cout<<“\nPerkalian menggunakan methods:”;
t=z.kali(x,y);
t.cetak();
cout<<“\nperkalian menggunakan operator:”;
t=x*y;
cout<<x<<“*”<<y<<“=”<<t;
t=x-y;
cout<<“\n”<<x<<“-“<<y<<“=”<<t<<endl;
cout<<endl;
Kompleks n;
cin>>n;
cout<<n;
system(“PAUSE”);
return 0;
}

From → Praktikum

Tinggalkan sebuah Komentar

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: