Malioboro

Jalan Malioboro adalah nama salah satu jalan dari tiga jalan di Kota Yogyakarta yang membentang dari Tugu Yogyakarta hingga ke perempatan Kantor Pos Yogyakarta

bukit bintang

Bukit Bintang Berada di perbukitan Pathuk, Gunungkidul.

Benteng Vredeburg

Museum Benteng Vredeburg adalah sebuah benteng yang dibangun tahun 1765 oleh VOC di Yogyakarta selama masa kolonial VOC.

Tugu Jogja

Tugu Yogyakarta adalah sebuah tugu atau menara yang sering dipakai sebagai simbol/lambang dari kota Yogyakarta.

Prambanan

Prambanan adalah kompleks candi Hindu terbesar di Indonesia

Minggu, 31 Oktober 2010

Stack C++

#include <cstdlib>
#include <iostream>
using namespace std;
class Stack{
public:
Stack(){
jum = 5;
last = 0;
}
void push(int data){
if(jum > last){
a[last] = data;
last = last + 1;
}
}
int pop(){
if(last > 0){
int temp = a[last - 1];
a[last - 1] = 0;
last = last – 1;
return temp;
}
}
void print(){
for(int i = 0; i < last; i++){
cout << a[i] << ” “;
}
}
private:
int a[5];
int jum;
int last;
};
int main(int argc, char *argv[])
{
Stack x;
x.push(2);
x.push(4);
x.push(11);
x.push(5);
x.push(7);
x.push(9);
x.push(30);
x.print();
cout<<endl;
x.pop();
x.pop();
x.pop();
x.pop();
//x.pop();
//x.pop();
x.print();
cout<<endl;
system(“PAUSE”);
return EXIT_SUCCESS;
}

Program Antrian (queue) C++

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<process.h>
#define maxsize 5

struct que
{
      int items[maxsize];
      int rear , front;
};

void insert(struct que *,int);
int remove(struct que *) ;
int empty (struct que *);
void makenull(struct que *);
void front(struct que *);


 /****************** insert function **********************/

void insert(struct que *q,int a)

 {

     if(q->rear==maxsize-1)

           q->rear=0;

        else

           (q->rear)++ ;

    if(q->rear==q->front)
         {

        cout<<endl<<"OVERFLOW" <<endl ;
           //exit(1);
         }

       q->items[q->rear]=a ;


 }

  /*************** remove function ********************/

int remove(struct que *q)
        {

         if(empty(q))

          {
        cout<<endl<<" UNDERFLOW"<<endl;

          }

        if(q->front==maxsize-1)

          q->front =0;

          else
          {
         (q->front)++;
          }
          return (q->items[q->front]);

 q->rear=q->front=maxsize-1;

        }


 /********************** empty function ************************/

 int empty(struct que *q)
       {
        

          if(q->front==q->rear)
          
            return (1);

        else

            return (0);

        }
/********************* front function ******************************/
//returns the 1st element in queue
void front(struct que *q)

{
    int a;

    int first_val;

  
    first_val=q->items[q->front];

    cout<<endl<<"FIRST ELEMENT IS :" <<first_val;
 }

  /******************** makenull function ***************************/

 void makenull(struct que *q)

 {
    if(empty(q))

        {

           cout<<"THE QUEUE  IS EMPTY";
        }

         else

        {

           q->rear=q->front=maxsize-1;

           cout<<endl<<"QUEUE Is EMPTY "<<endl ;
        }

 }


 /****************** main function *****************************/

void main ()

{

    int a;
    clrscr();
    struct que *q;


    for(int i=0;i<maxsize;i++)
    q->items[i]=0;

   char  choice;
   q->rear=q->front=maxsize-1;
      cout<<endl<<"******************* IMPLIMENTATION OF QUEUES******************" <<endl<<endl;

 do


    { //clrscr();


    cout<<endl<<endl<<" 1 : Insert "<<endl<<" 2 : Remove "<<endl<<" 3 : check empty : 0 shows  not empty & 1  shows  empty " <<endl<<" 4 : Makenull"<<endl<<" 5 : Front"<<endl;
    cout<<                          "enter ur choice : " ;

    choice=getche();

      switch(choice)

          {

            case '1' :

               {

                 cout<<endl<<"ENTER THE VALUE : ";
                 cin>>a;

                 insert(q,a);

                 for(int i=0; i<=maxsize-2;i++)

                 cout<<q->items[i]<<" ";

                 break;

               }

            case '2' :

               {
                  cout<<endl<<"THE VALUE IS: ";

                 cout<<remove(q)<<endl;

                 for(int i=maxsize-1;i>0;i--)

                 cout<<q->items[i]<<" ";

                 break;

               }



            case '3' :

               {

                 cout<<endl<<empty(q);

                 break;

               }

            case '4' :

               {

                 makenull(q);

                     for(int i=0;i<maxsize;i++)
                    {

                    q->items[i]='\0';

                    cout<<q->items[i]<<endl;

                     }

                     break;

               }

            case '5':

                {

                       front(q);

                       break;
                }


              default :



                 cout<<"  wrong choice  ";
                 break;

          }//end of switch

    cout<<endl<<"Do u want to exit y/n :" ;

    } //end do while

    while((choice=getche())!='y');

 }//end main

Rabu, 27 Oktober 2010

PRAKTIKUM SDATA 5 , rabu jam 09.00

#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");
}

POSTEST PRAKTIKUM SDATA 4 ,rabu jam 09.00

#include <cstdlib>
#include <iostream>
#define maks5

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[5];
};

//konstrukstor

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


void Array1D::cetak(){

       for(int i=0;i<5;i++)
       cout<<A[i]<<" ";
}

//overloading fungsi cetak

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

//overloading input

istream& operator>>(istream& in, Array1D& x){
       
        for(int i=0;i<5;i++){
        cout<<"masukkan nilai array ke-"<<i+1<<" : ";
        in>>x.A[i];
}
                
        return in;
}

//fungsi untuk menggeser semua nilai 1 indeks ke kanan

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

//fungsi untuk menggeser semua nilai 1 indeks ke kiri

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

//menthods yang di tambahkan untuk menghapus nilai dari indeks tertentu

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

//main fingsi

int main(int argc, char *argv[])
{
    Array1D x;
    cout<<"Array masih kosong : "<<x; //pemanggilan overloading output
    cin>>x; //penggunaan overloading input
    cout<<"Isi Array saat ini : "<<x;
    x.geser_kiri();  //penggunaan fingsi
    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;
}

PRAKTIKUM SDATA 3 , rabu jam 09.00

#include <cstdlib>
#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;
// protected:
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 dari ” << y.a << “::y”;
}

Bilangan& Bilangan::operator=(const Bilangan&x){

a = x.a;
b = x.b;
return *this;
}

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

cout << “\nMasukkan bagian integer : “;
in >> x.a;
cout << “Masukkan 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;
}



“Bil_char.h”




#include <cstdlib>

#include <iostream>
#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:
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;
}



“Turunan.cpp”




#include <cstdlib>

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

using namespace std;


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 << “Masukkan nilai – nilai objek d”;
cin >> d;
cout << “Setelah d + t => \n” << d+t;
cout << “Nilai d dinegatifkan\n” << -d;
Bil_char ss;
cout << “Nilai awal ss\n” << ss;
system(“PAUSE”);
return EXIT_SUCCESS;
}

PRAKTIKUM SDATA 2 ,rabu jam 09.00

#include <iostream.h>
template <class T>
class kompleks {
 friend class operasi;
 friend ostream& operator<<(ostream&, const kompleks<T>&) ;
 friend istream& operator>>(istream&, kompleks<T>&) ;
public :
 kompleks(T s=0, T +=0): a(s), b(+){};
 void cetak();
 kompleks operator-();
 kompleks operator-(const kompleks<T>&);
 kompleks operator+(const kompleks<T>&);
private :
 T a;
 T b;
};

template <class T>

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

template <class T>

kompleks<T>kompleks<T>::operator-()
{
kompleks x;
x.a=a;
x.b=-b;
return x;
}

template <class T>

kompleks<T>kompleks<T>::operator-(const kompleks<T>& m)
{
kompleks x;
x.a=a - m.a;
x.b=b - m.b;
return x;
}

template <class T>

kompleks<T> kompleks<T>::operator+(const kompleks<T>& m)
{
kompleks x;
x.a = a + m.a;
x.b = b + m.b;
return x;
}

template <class T>

ostream& operator<<(ostream& out, const kompleks<T>& 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;
}

template <class T>

istream& operator>>(istream& in,kompleks<T>& x)
{
cout<<"masukkan bagian real : ";
in >>x.a;
cout<<"masukkan bagian imaginer : ";
in>>x.b;
return in;
}

template <class T>

class operasi {
public :
 kompleks<T>jumlah(const kompleks<T>&,const kompleks<T>&);
 kompleks<T>kali(const kompleks<T>&,const kompleks<T>&);
 kompleks<T>kurang(const kompleks<T>&,const kompleks<T>&);
};

template <class T>

kompleks<T> operasi<T> :: jumlah(const kompleks<T>& m, const kompleks<T>& n)
{
kompleks<T>temp;
temp.a=m.a + n.a;
temp.b=m.b + n.b;
return temp;
}

template <class T >

kompleks<T>operasi<T>::kurang(const kompleks<T>& m, const kompleks<T>& n)
{
kompleks<T>temp;
temp.a=m.a - n.a;
temp.b=m.b- n.b;
return temp;
}

template <class T >

kompleks<T>operasi<T>::kurang(const kompleks<T>& m, const kompleks<T>& n)
{
kompleks<T>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<int>x(2.3),y(4,-4),+;
 operasi<int> z;
 cout<<"menggunakan cetak():";x.cetak();
 cout<<"menggunakan overloading : "<< x;
 cout<<"konjugat : " << -x;
 y.cetak();
 cout<<"\npenjumlahan mengunaka"<<y<<"="<<t;
 cn methid ";
 t=z.jumlah(x.y);
 t.cetak();
 cout<<"penjumlahan menggunakan operator ";
 t=x+y;
 cout<<x<<"+out<<"\perkalian menggunakan method : ";
 t=z.kali(x.y);
 t.cetak();
 cout<<"perkalian menggunakan operator : ";
 t=x*y;
 cout<<x<<"*"<<y<<"="<<t<<endl;
 kompleks<int>n;
 cin>>n;
 cout<<n;
 return 0;
}

Rabu, 29 September 2010

Praktikum sdata-rabu 09.00

Praktikum sdata-rabu 09.00

Nama      : Hery Dewantoro
Nim       : 09018264
postest   : Praktikum sdata

#include <cstdlib>
#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 dari”<<y.a<<”::y”;
}
Bilangan& Bilangan::operator=(const Bilangan& x){
a=x.a;
b=x.b;
return *this;
}
istream& operator>>(istream& in,Bilangan& x){
cout<<”\nMasukkan bagian integer :”;
in>>x.a;
cout<<”\nMasukkan 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<<”Masukkan nila-nilai objek d”;
cin>>d;
cout<<”Setelah d+t =>\n”<<d+t;
cout<<”NIlai d dinegatifkan\n”<<-d;

system (“pause”);
return 0;
}

stuktur program :
a. bagian 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.bagian 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 dari”<<y.a<<”::y”;
}

c. bagian Method

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<<”Masukkan nila-nilai objek d”;
cin>>d;
cout<<”Setelah d+t =>\n”<<d+t;
cout<<”NIlai d dinegatifkan\n”<<-d;

system (“pause”);
return 0;
}

d. Bagian data member

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;

e. Operator overloading sbg friend maupun anggota kelas

ostream& operator<<(ostream& out,const Bilangan& x){
out<<”Bagian integer :”<<x.a<<endl;
out<<”Bagian float :”<<x.b<<endl;
return out;
}
istream& operator>>(istream& in,Bilangan& x){
cout<<”\nMasukkan bagian integer :”;
in>>x.a;
cout<<”\nMasukkan bagian float :”;
in>>x.b;
return in;
}

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More