Pertemuan Ketujuh

STACK (TUMPUKAN)

3
4

4

Int B = 4 ;
Int c *, * D ;
Int A  = 3 ;


-7
-5

4

C = & A ;
Cout << * C ;
D = & B ;
Cout << * D ;
B = -5 ; A = -7 ;
Cout << * D << * C ;

Ø  2 cara mendeklarasikan bilangan NODE :
?




a.       Node * A ; A→
b.      Node A ; A
A.into = 3 ;
3




A.berikut = NULL A
Delete A
Node * A = new Node ;
A.into = 5 ;
5




A.berikurt = NULL
4




NULL
               Struct Node {
               Int into ;
               Node * berikut ;
               }
Struct Node {
Int into ;
Node * berikut ;
}
Delete Q {
Node * Q = new node ;
Q.into = 7 ;
Q.berikut NULL
}
Int Q = 7 ;
Cout << * C ;

Ø  Class Node {
Public ;
Int data ;
Node * berikut ;
};
Node * Q = new node ;
Q → data = 7 ;
Q → berikut = NULL ;
Node * P = new node ;
P → data = 3 ;
P → berikut = NULL ;
Q → berikut = P ;

Ø  Jalan = p ;
While jalan →berikut ; ! = NULL {
Jalan = jalan → berikut ;
Cout << jalan → into ;
Cout << P → berikut → into ;
Cout << p → berikut → berikut = S ;

Cout << p → berikut → berikut → berikut  = T 
Read more ...

Pertemuan Keenam

Overloading operator & Overload operator penugasan
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;
}

Operator = pada dasarnya berfungsi untuk menyalin semua elemen dari array
v (2) ke array yang lain, dalam hal ini diwakili this. Jika v bukan dirinya sendiri (4)
maka proses penyalinan akan dilaksanakan. Langkah pertama, ukuran dari v disalin
(5). Elemen lama (bila ada) dibebaskan (6). Kemudian dipesan memori sebesar ukuran
size untuk array element (dalam hal ini yang ditunjuk pointer this) (7). Setelah itu
baru disalin elemen demi elemen (8) setiap elemen array v ke elemen array this (9).
Pointer this dikembalikan (11).
Read more ...

Pertemuan Kelima

TDA Array
    - setiap instan objek data adalah himpunan pasangan terbentuk ( indeks, harga )
    - tidak ada himpunan pasangan himpunan dengan indeks sama
    - fungsi- fungsi yang di berlakukan pada arrray.
 > Buat            : membuat Array kosong awal
 > Simpan       : menambah pasangan berbentuk ( indeks, harga) kedalam himpunan dan jika terdapat pasangan                         indeks sama  --> hapus pasangan lama
 > Tampilkan  : tampilkan harga dari pasangan bila diberikan indeksnya.

Perlu diperhatikan bahwa yang aktif pada copy konstruktor di atas adalah
pointer this. Ukurannya disalin dari objek v (4), kemudian dipesan memori sebanyak

ukurannya (5). Proses penyalinan elemen dilakukan elemen demi elemen (6 dan 7).

Konstruktor copy array satu dimensi
template<class T>
Array1D<T>::Array1D(const Array1D<T>& v)
{
size = v.size;
element = new T[size];
for (int i = 0; i < size; i++)
element[i] = v.element[i];

}


Read more ...

Pertemuan Keempat

Tipe Data Abstrak Array Satu Dimensi Dinamis

Kelas array satu dimensi dinamis
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);
private:
int size;
T *element;
};
Penjelasan:
Kelas Array1D mempunyai private data member 2 buah yaitu size bertipe int
(19), yang menyatakan banyak elemen dari array, dan pointer element yang menyatakan array itu sendiri (20). Banyaknya elemen array element ditentukan
berdasarkan size.

Konstruktor array satu dimensi
template<class T>
Array1D<T>::Array1D(int sz)
{
size = sz;
element = new T[sz];
}
Penjelasan:
Konstruktor kelas Array1D ukurannya ditentukan dari luar kelas sebesar sz
(2) yang di-assign ke data member size (4), kemudian dipesan memori sebanyak sz
untuk array element (5).


Read more ...

Pertemuan Ketiga

Fungsi Faktorial Rekursif

Coding:
int fak ( int n ) {
if (n == 1) 
return 1
else return n*fak (n-1);
}

void cetaklah (int n){
if ( n > 1){
cetaklah (n-1)
cout<<"i="<<n;
  }
}

void cetaklah (int a [], in n)
if ( n>=1 ) {
cetaklah (a, n-1);
cout << a [n];
}

Array 1 Dimensi

# include <iostream.h>
# define maks 5
class Array1D {
public :
  Array1D();
  void cetak();
  void geser_kiri();
  void geser_kanan();
private :
  char A[maks];
};

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

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

{
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()
 {
 i nt n = maks;
 i nt temp = A[n-1];
 f or (int i=n-1; i >= 0; i--)
 A[i+1] = A[i];
 A [0] = temp;
}

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

main() {
Array1D x;
cout << "Array masih 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;
 }

Read more ...

Pertemuan Kedua

Mendeklarasikan bilangan pertama dan bilangan kedua tipe float diawali dengan bilangan 0.

Coding:

void jumlah(float jumlah, float a, float b){
jumlah = a+b;
retutrn jumlah;
}

float jumlahkan(float x, floay y){
float temp;
tempt = x + y;
return temp;
}

void tampilan(float k, float l, float m){
cout<<"jumlah"<<k<<"+"<<k<<"+"<<"="<<m;
return m;
}

main(){
bilangan x;
masukkandata (x.bil1, x.bil2);
float jumlah;
jumlah=jumlahkan  (x.bil1, x.bil2);
tampilkan  (x.bil1, x.bil2, jumlah);
}
Read more ...

Pertemuan Pertama

Ini hari pertama melaksanakan mata kuliah Struktur Data.
Kami di berikan perintah oleh dosen pengampu untuk mengcoding.

Terdapat kalimat :
   "Jika saya bangun pagi maka saya akan kuliah"

   "Jika saya tidak bangun pagi maka saya bolos"


- Abstrak :

   If (jam bangun < 5){
      cout << "Saya akan kuliah\n";
   else
      cout << "Bolos";

    }

- Perulangan For:

    for (int i = 1; i <= 10; i++){
       cout << “i =” << i;

    }


-Perulangan While:
    while(i<1){
    int i=1;
    while (i <=10){
   cout<<"i"<<i;
   }
   i++
   }

- void cetaklah(int a, int b){
   total =0 ;
   for (int i=1; i<=10; i++)
   total =total+i;
   }

-int hitunglah(int a, int b){
   total =0 ;
   for (int i=a; i<=b; i++)
   total =total+i;
   return total
   }

-void tukat (int&a, int&b){
  int temp;
  temp = a;
  a= b;
  b=temp
}



  
Read more ...
@2014| Alldynovryaldy