Struktur Data 5 : Tipe Data Abtrak

A. Tipe Data Abstrak 1D Statis

# include <iostream.h>
# define maks 5
class Array1D {
friend ostream& operator<<(ostream&, const Array1D&);
friend istream& operator>>(istream&, Array1D&);
public :
Array1D();
void cetak();
void geser_kiri();
void geser_kanan();
private :
char A[maks];

};

void Array1D::cetak(){
for (int i=0; i<maks; i++)
cout << A[i] << ” “;

}

ostream& operator<<(ostream& out, const Array1D& x){
for (int i=0; i<maks; i++){
cout << x.A[i] << ” “;
cout << endl;
return out;

}

istream& operator>>(istream& in, Array1D& x){
int posisi;
cout << “Mengisi array pada posisi ke : “;
in >> posisi;
if (posisi > 0 && posisi <= maks) {
cout << “Masukkan elemen array-nya : “;
in >> x.A[posisi-1];
}
else
cout << “Anda memasukkan posisi di luar range … “;
return in;
}

voi d Array1D::geser_kanan(){
int n = maks;
int temp = A[n-1];
f or (int i=n-1; i >= 0; i–)
A[i+1] = A[i];
A [0] = temp;
}

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

Main

main() {
Array1D x;
cout << “Array ini kosong : ” << x;
cin >> x;
cout << “Isi Array saat ini : ” << x;
x.geser_kiri();
cout << “Isi Array setelah digeser ke kiri : ” << x;
x.geser_kanan();
cout << “Isi Array setelah digeser ke kanan : ” << x;
return 0;
}

Advertisements

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