WEB BLOG
this site the web

Praktikum 7

#include <cstdlib>
#include <iostream>
#define maks 5

using namespace std;

class Stack{
     friend ostream& operator<<(ostream&, const Stack&);
public:
     Stack();
     int penuh(int);
     int kosong(int);
     void cetak();
     void push(char);
     char pop();
private:
     char A[maks];
     int banyak;
};

ostream& operator<<(ostream& out, const Stack& s)
{
cout<<"\n Isi stack : ";
for(int i=0; i<s.banyak; i++)
out << s.A[i] << " ";
}

Stack::Stack(){
banyak=0;
for(int i=0; i<maks; i++)
A[i]='0';
}
int Stack::penuh(int s){
return s==maks? 1:0;
}
int Stack::kosong(int s){
return s==0? 1:0;
}
void Stack::cetak(){
cout <<"\n -> Isi Stack : ";
for(int i=0; i<banyak; i++)
cout << A[i] << " ";
}
void Stack::push(char x)
{
cout <<"\n Elemen Masuk : "<<x;
if (penuh(banyak)) cout<<"Stack penuh ";
else if (A[0]=='0'){
     A[0]=x;
     banyak++;}
else {
for (int i=banyak;i>=0; i--)
A[i+1]=A[i];
A[0]=x;
banyak++;
}
}
char Stack::pop()
{
cout <<"\n Pop stack, elemen yang di-pop: "<<A[0];
char temp=A[0];
for (int i=0; i<banyak; i++)
A[i]=A[i+1];
A[banyak]='0';
banyak++;
return temp;
}

int main()
{
Stack stack;
for (char c='a'; c<'e'; c++){
stack.push(c);
stack.cetak();
}
char p=stack.pop();
stack.cetak();
cout<<"\n-> Cetak pakai overloading: "<<stack;
system("PAUSE");
return 0;
}

Tugas s.data sbelum UTS

#include <cstdlib>
#include <iostream>
//#include “stdio.h”
//#include expects “FILENAME”

using namespace std;

int main()
{ int queue[10];
int depan = -3;
int belakang = -3;
int pilihan, data, i;

do{
cout <<” MENU\n”;
cout <<” 1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n”;
cout <<” Pilihan = “; scanf(“%d”, &pilihan);
switch (pilihan)
{
case 1:

if (belakang < 4 )
{ cout<<”Data Masuk = “; scanf(“%d”, &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}
else
cout <<”Queue penuh!\n”;

break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ cout <<”Data keluar = %d\n”, queue[depan];
depan++;
}
else
cout<<”Queue kosong!\n”;
break;
case 3:
for(i=depan; i<=belakang; i++)
cout <<”%d “, queue[i];
cout <<”\n”;
break;
}
}while (pilihan != 4);
system(“PAUSE”);
return EXIT_SUCCESS;
}

Prak 5 sData, Rabu jam 07.30

#include <iostream.h>
template <class T>

class Array1D{
      friend ostream& operator<<(ostream&,const Array1D<T>&);
public:
       Array1D(int size=0);
       Array1D(const Array1D<T>& v);
       Array1D(){delete[]element;}
       T& operator[](int i)const;
       int Size(){return size;}
       Array1D<T>& operator =(const Array1D<T>& v);
       Array1D<T> operator+()const;
       Array1D<T> operator+(const Array1D<T>& v)const;
       Array1D<T> operator-()const;
       Array1D<T> operator-(const Array1D<T>& v)const;
       Array1D<T> operator*(const Array1D<T>& v)const;
       Array1D<T>&operator+=(const T& x);
       Array1D<T>& ReSize(int sz);
       Array1D<T>& geser_kanan();
       Array1D<T>& geser_kiri();
private:
        int size;
        T*element;
};
template <class T>
Array1D<T>::Array1D(int sz)
{
                         size =sz;
                         element=new T[sz];
}
template <class T>
Array1D<T>::Array1D(const Array1D<T>& v)
{
                           size = v.size;
                           element=new T[size]; // get space
                           for (int i=0;i<size;i++)// copy elements
                           element[i]=v.element[i];
}
template <class T>
T& Array1D<T>::operator[](int i)const
{
                          return element[i];
}
template <class T>
Array1D<T>&Array1D<T>::operator =(const Array1D<T>& v)
{
                             if (this !=&v){
                                      size=v.size;
                                      delete[]element;
                                      element=new T[size];
                                      for(int i=0;i<size;i++)
                                      element[i]=v.element[i];
                                      }
                                      return *this;
}
template <class T>
Array1D<T>Array1D<T>::operator+(const Array1D<T>& v)const
{
             Array1D<T>w(size);
             for(int i=0; i<size;i++)
             w.element[i]=element[i]- v.element[i];
             return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-(const Array1D<T>& v)const
{
         Array1D<T>w(size);
         for(int i=0; i<size;i++)
         w.element[i]=element[i]+ v.element[i];
         return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-()const
{
          Array1D<T>w(size);
          for(int i=0; i<size;i++)
          w.element[i]=-element[i];
          return w;
}
template <class T>
Array1D<T>Array1D<T>::operator*(const Array1D<T>& v)const
{
         Array1D<T>w(size);
         for(int i=0; i<size;i++)
         w.element[i]=element[i]* v.element[i];
         return w;
}
template <class T>
Array1D<T>&Array1D<T>::operator+=(const T& x)
{
            for(int i=0; i<size;i++)
            element[i]+=x;
            return *this;
}
template <class T>
ostream& operator<<(ostream& out,const Array1D<T>& x)
{
            for(int i=0; i<x.size;i++)
            out<<x.element[i]<<" ";
            return out;
}
template <class T>
Array1D<T>&Array1D<T>::ReSize(int sz)
{
         delete[]element;
         size=sz;
         element=new T[size];
         return *this;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kanan()
{
     int n = size;
     int temp = element[n-1];
     for (int i=n-1; i>=0; i--)
     element[i+1]=element[i];
     element[0]=temp;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kiri()
{
     int n=size;
     int temp = element[0];
     for(int i=0; i<n; i++)
     element[i]=element[i+1];
     element[n-1]=temp;
   
}

int main()
{
    int X(10),Y,Z;
    for (int i=0; i<10; i++)
    X=i;
    cout<<" X = "<< X <<endl;
    cout<<" X is "<< X <<endl;
    Y=X;
    cout<<" Y is "<< Y <<endl;
    Y += 2;
    cout << " X incremented by 2 is " <<X<<endl;
    Z=(Y+X)*Y;
    cout<<"(Y+X)*y is " << Z <<endl;
    cout<< "-(Y+X)*Y is " << -Z <<endl;
    cout<<"setelah digeser kekanan :"<<(Y-X)*Y<<endl;
    cout<<"setelah digeser kekiri  :"<<(Y+X)<<endl;
    system("PAUSE");
}

praktikum 4

#include <cstdlib>
#include <iostream>
#define maks10

using namespace std;

class Array1D{
      friend ostream& operator<<(ostream&, const Array1D&);
      friend istream& operator>>(istream&, Array1D&);
public:
       Array1D();
       void cetak();
       void geser_kiri();
       void geser_kanan();
       void hapus_elemen();
       void urut();
private:
        char A[10];
};

Array1D::Array1D(){
                   for(int i=0;i<10;i++)
                   A[i]='O';
}

void Array1D::cetak(){
     for(int i=0;i<10;i++)
     cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
         for(int i=0;i<10;i++)
         out<<x.A[i]<<" ";
         out<<endl;
         return out;
}

istream& operator>>(istream& in, Array1D& x){
       

         for(int i=0;i<10;i++){
                 cout<<"masukkan nilai array ke-"<<i+1<<" : ";
                 in>>x.A[i];
                 }

         return in;
}
void Array1D::geser_kanan(){
     int n=10;
     int temp=A[n-1];
     for(int i=n-1;i>=0;i--)
        A[i+1]=A[i];
     A[0]=temp;
}


void Array1D::geser_kiri(){
     int n=10;
     int temp=A[0];
     for(int i=0;i<n;i++)
        A[i]=A[i+1];
     A[n-1]=temp;
}

void Array1D::hapus_elemen(){
     int posisi;
     cout<<"\npilih indeks berapa yang akan di hapus :\n";
     cin>>posisi;
     if(posisi>0 && posisi<=10)
        A[posisi-1]='O';
     else cout<<"indeks hanya terdiri dari 1 - 10\n";
}

int main(int argc, char *argv[])
{
    Array1D x;
    cout<<"Array masih kosong : "<<x;
    cin>>x;
    cout<<"Isi Array saat ini : "<<x;
    x.geser_kiri();
    cout<<"Isi Array setelah di geser kiri : "<<x;
    x.geser_kanan();
    cout<<"Isi Array setelah di geser kanan : "<<x;
    cout<<"Urutan elemen pada indeksnya saat ini : "<<x;
    x.hapus_elemen();
    cout<<"Setelah dihapus menjadi : "<<x;
         
    system("PAUSE");
    return EXIT_SUCCESS;
}

Prak 2 struktur data

NAMA : AL-KAUTSAR YULIAN ARTA
NIM : 09018271




#include <cstdlib>
#include <iostream>
class Operasi;
using namespace std;
//template <class T>
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&);
      private:
              int a;
              int b;
};
//template <class T>
    void Kompleks::cetak(){
    if(b>0) cout << "Bilangan Kompleks : " << a << "+" << b << "i";
    else cout << "Bilangan kompleks : " << a << b << "i";
    cout << endl;
    }
    //template <class T>
    Kompleks Kompleks::operator-(){
    Kompleks x;
    x.a=a;
    x.b=-b;
    return x;
    }
    //template <class T>
    Kompleks Kompleks::operator-(const Kompleks& m){
    Kompleks x;
    x.a=a-m.a;
    x.b=b-m.b;
    return x;
    }
    //template <class T>
    Kompleks Kompleks::operator+(const Kompleks& m){
    Kompleks x;
    x.a=a+m.a;
    x.b=b+m.b;
    }
    //template <class T>
    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>1) out << '[' << x.a << "+" << x.b << "i" << ']';
    else if (x.b==-1) out << '[' << x.a << "-i" << ']';
    else out << '[' << x.a << x.b << ']';
    return out;
    }
    //template <class T>
    istream& operator>>(istream& in, Kompleks& x){
    cout << "Masukan bagian real     : ";
    in >> x.a;
    cout << "Masukan bagian imajiner : ";
    in >> x.b;
    return in;
    }
    //template <class T>
class Operasi
{
    public:
    void cetak();
    Kompleks jumlah(const Kompleks&, const Kompleks&);
    Kompleks kali(const Kompleks&, const Kompleks&);
    Kompleks kurang(const Kompleks&, const Kompleks&);
    private:
              int a;
              int b;
    };
void Operasi::cetak(){
     if(b>0) cout << "Bilangan Kompleks : " << a << "+" << b << "i";
    else cout << "Bilangan kompleks : " << a << b << "i";
    cout << endl;
}
    //template <class T>
    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;
    }
    //template <class T>
    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;
    }
    //template <class T>
    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(int argc, char *argv[])
{
    Kompleks x(2, 3), y(4, -4), t;
    Operasi z;
    cout << "Menggunakan cetak() : "; x.cetak();
    cout << "Menggunakan Overloading : " << x;
    cout << "Konjugat : " << -x;
    y.cetak();
    cout << "\nPenjumlahan menggunakan method : ";
    t=z.jumlah(x, y);
    t.cetak();
    cout << "Penjumlahan menggunakan operator : ";
    t=x+y;
    cout << x << "+" << y << "=" << t;
    cout << "\nPerkalian menggunakan method : ";
    t=z.kali(x, y);
    z.cetak();
    cout << "\nPerkalian menggunakan operator : ";
    //x*y;
    //ut << x << "*" << y << "=" << t;
    t-y;
    cout << "\n" << x << "-" << y << "=" << t << endl;
    Kompleks n;
    cin >> n;
    cout << n;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Prak 1 struktur data

NAMA : Al-kautsar yulian arta
NIM : 09018271

class bilangan

#include <iostream>
using namespace std;
class Bilangan {
friend ostream& operator<<(ostream&, const Bilangan&) ;
friend istream& operator>>(istream&, 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 ;
private:
int a;
float b;
};

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

void Bilangan::banding_int(const Bilangan& x, const Bilangan& y)
{
if (x.a>y.a)cout<<x.a<<”::x lebih besar dari “<<y.a<<”::y”;
else cout <<x.a<<”::x lebih kecil”<<y.a<<”::y”;
}

Bilangan& Bilangan ::operator =(const Bilangan& x)
{
a=x.a;
b=x.b;
return *this;
}
istream& operator>>(istream& in ,Bilangan& x)
{
cout<<”\nMasukan bagian integer :”;
in>>x.a;
cout<<”masukan bagian float :”;
in>>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;
}

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 s di-assign t \n”;
cout<<”nilai s\n”<<s;
cout<<”masukan nilai-nilai objek d”;
cin>>d;
cout<<”setelah d +t =>\n”<<d+t;
cout<<”nilai d dinegatifkan\n”<<-d;
system (“PAUSE”);
return EXIT_SUCCESS;
}


struktur program diatas :

A. KELAS
class Bilangan {
friend ostream& operator<<(ostream&, const Bilangan&) ;
friend istream& operator>>(istream&, 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 ;
private:
int a;
float b;
};

B. KONSTRUKTOR
void Bilangan::banding_int(const Bilangan& x, const Bilangan& y)
{
if (x.a>y.a)cout<<x.a<<”::x lebih besar dari “<<y.a<<”::y”;
else cout <<x.a<<”::x lebih kecil”<<y.a<<”::y”;
}

Bilangan& Bilangan ::operator =(const Bilangan& x)
{
a=x.a;
b=x.b;
return *this;

C. METHOD
int a;
float b;
};

D. DATA MEMBER
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 ;

E. OPERATOR OVERLOADING
friend ostream& operator<<(ostream&, const Bilangan&) ;
friend istream& operator>>(istream&, Bilangan&);
 

W3C Validations

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi dapibus dolor sit amet metus suscipit iaculis. Quisque at nulla eu elit adipiscing tempor.

Usage Policies