Praktikum S.Data ke-4


PREETEST

1. Modifikasilah operator overloading input >> agar saat memasukkan elemen yang baru, elemen array dalam keadaan terurut..

Penyelesaian :

istream& operator>>(istream& in, Array1D& x){
int posisi;
for (int posisi=1; posisi<=5; posisi++){
cout<<x.posisi;
if(posisi >= 0 && posisi <= 5)
{
cout<<x.A[posisi-1];
}
return in;
}

2. Buatlah metode hapus elemen tertentu dari array, namun sebelum dihapus,
user ditanya lebih dulu elemen mana yang akan dihapus dengan menampilkan keadaan array pada saat itu.

Penyelesaian :

void Array1D::hapus_elemen(){
int posisi;
cout<<posisi;
if(posisi>0 && posisi<=5)
A[posisi-1]='O';
else cout<<"indeks yg anda masuukan salah karena indek hanya terdiri dari 1 – 5\n";
}

POSTTEST

Praktikum ke 4 ini di perintahkan untuk membuat array dengan menambah metode menggeser ke kanan, menggeser ke kiri dan menghapus.

1. Membuat data array di batasi 5 data

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

using namespace std;

class Array1D{
friend ostream& operator<<(istream&, Array1D&);
public:
Array1D();
void cetak();
void geser_kiri();
void geser_kanan();
void hapus_elemen();

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<<(istream& in, Array1D& x){
//modifikasi untuk operator overloading
for(int i=0;i<5;i++){
cout<<"Masukkan Nilai Array yang Ke-"<<i+1<<x.A[i];
}
/* badan fungsi sebelum di modifikasi
int posisi;
cout<<posisi;
if(posisi>0 && posisi<=5){
cout<<x.A[posisi-1];
}
else
cout<=0;i–)
A[i+1]=A[i];
A[0]=temp;
}

//fungsi untuk menggeser nilai 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 tambahan untuk menghapus nilai dari indeks tertentu
void Array1D::hapus_elemen(){
int posisi;
cout<<posisi;
if(posisi>0 && posisi<=5)
A[posisi-1]='O';
else cout<<"Indeks Hanya Terdiri Dari 1 – 5\n";
}

//main fungsi
int main(int argc, char *argv[])
{
Array1D x;
cout<<"Array Masih Kosong : "<<x; //penggunaan overloading input
cout<<"\nIsi Array Saat Ini : "<<x;
x.geser_kiri(); //penggunaan fungsi
cout<<"Isi Array Setelah Di Geser Ke-Kiri : "<<x;
x.geser_kanan();
cout<<"Isi Array Setelah Di Geser Ke-Kanan : "<<x;
cout<<"\nUrutan Elemen Pada Indeksnya Saat Ini : "<<x;
x.hapus_elemen();
cout<<"Setelah Dihapus Menjadi : "<<x;
cout<<"\n\nRIYAN SINTARI 09018214 \n";
system("PAUSE");
return EXIT_SUCCESS;
}

OUTPUTNYA

2. Penggunaan geser kekiri

misalnya memasukkan data array 4 5 6 7 8

menggunakan metode menggeser ke kiri
angka 4 semula di depan menjadi angka yang paling kanan

fungsi menggeser ke kiri

3. Kemudian menggeser ke kanan,
kembali lagi ke asal dengan data : 4 5 6 7 8

fungsi menggeser ke kanan

4. Menggunakan fungsi menghapus
misal array ke 2 akan dihapus :

fungsi untuk menghapus elemen array

Mohon kritik & saran dr para visitor,, hehehe ,,,…
terimakasih šŸ™‚

About Sintata
Seek and Share Knowledge

2 Responses to Praktikum S.Data ke-4

  1. sudah berkunjung mbak yuu…..

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: