Senin, 17 September 2012

refleksi kuliah struktur data minggu ke 2

sperti biasa,jam 7 dimualai.. teeeeeeeeeeet.. dosen membuka perkuliahan,ceramah sedikit,trs membagi kelompok TP mak 6 orang dan diberi tugas masing2 anak.yang tidak punya kegiatan dikelas disuruh pulang saja. tadi membahas tentang srtuct dan class.
Srtuct mendefinisikan tipe data dan memberitahukan kepada visual c++ untuk memperlakukan koleksi tipe data yang dari dirinya dapat mendefinisikan variabel dan array variabel.
kalau class adalah sesuatu yang mempunyai data(sifat) dan fungsi (kelakuan) untuk mendiskripsikan suatu obyek.

Class bisa kita artikan juga sebagai kumpulan data, dan objek-objek dalam suatu unit.
Sintak class adalah sebagai berikut :
class <nama class> {
public :
//
berisi function member / method
private:
//berisi data member
Protected:
//berisi data member. Bisa diakses kelas turunan
};
Contoh deklarasi sebuah class :
class contoh {
Public:
contoh();//constructor
Void input();//method
~ contoh();//destructor
Private:
int a,b;//data member
};
Dalam suatu class terdapat constructor dan destructor. Constructor sendiri mempunyai nama seperti nama class namun tidak mempunyai tipe kembalian. Untuk destructor, mempunyai nama seperti nama class dan tidak memiliki tipe kembalian, serta di dahului tanda seperti cacing (~).

nah itu krg lebihnya  yang dipresentasikan tadi,namun sayangnya pada program agak mengalami kendala,progrmnya tidak mau dirunning.. yaa mungkin sudah ikutan ngambek mngkin.. hhe..
sekian dari saya, wassalam.. see you next week.. :))

Minggu, 16 September 2012

Refleksi Kuliah Struktur Data minggu ke 1

Seperti biasa,kuliah dimulai jam 7 pagi tepat,ternyata bnyak temen2 yg sudah dtang tepat waktu dan malah menunggu dosen datang. stelah itu dosen membuka dan memberikan motivasi dan ruang lingkup materi kuliah.Dosen memberi kesempatan mahasiswa untuk bertanya, sharing, dan meminta penunjukan/ pemilihan koordinator kelas. Dosen menyampaikan sedikit materi dasar-dasar pemrograman parameter nilai,template,dll.. cukup paham sih. untuk minggu ini memang baru pengenalan saja,belum diberi latian seperti biasanya. Namun saat pertemuan dgn mentor di lab Basdat dan Jaringan,sudah latihan untuk menjalankan program2 yg sudah disediakan. oke,setelah itu lanjut kuliah lain. sampai jumpa diminggu ke 2.. :))

ringkasan pertemuan 1


ini diaaa..program pertama yang sudah dicoba diawal pertemuan di lab.
1. parameter nilai
#include<iostream>
Using namespace std;
int Abc(int a, int b, int c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”);
}
fungsi ini menghitung rumus yang a+b*c adalah untuk kasuk a,b,dan c bilangan bulat,maka hasilnya juga bilangan bulat. Dalam program diatas a,b,c adalah parameter formal.



 2. Fungsi Template
 
Program 1.2
#include<iostream>
 using namespace std;
float Abc(float a, float b, float c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system( "PAUSE")
}
 program 1.1 dan 1.2 hanya berbeda dari tipe data dari parameter formal dan nilai yang dikembalikan.kita dapat menulis kode generik dimana tipe dataadalah variabel yang nilainya ditentukan oleh kode generik compiler. ini ditulis dengan menggunakan pernyataan template seperti yang ditunjukkan dalam program 1.3. dari kode generik compiler dapat membuat program dengan menggantikan 1,1 in untuk T dan program 1.2 dengan menggantikan mengambang T.

Rabu, 12 September 2012

ringkasan materi pertama S.Data


1Ringkasan pertama struktur data
#1Parameter nilai
#include<iostream>
Using namespace std;
int Abc(int a, int b, int c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”);
}
mempertimbangkan fungsi cpp abc (program 1.1). fungsi ini menghitung rumus yang a + b * c untuk kasus ketika a,b dan c adalah bilangan bulat,hasilnya juga bilangan bulat.
dalam program 1.1 a, b, dan c adalah parameter formal abc fungsi. Setiap tipe integer. jika fungsi dipanggil oleh pernyataan.



1.      2. Fungsi Template
Program 1.2
#include<iostream>
 Using namespace std;
float Abc(float a, float b, float c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”);
}


Program 1.3
#include<iostream>
 Using namespace std;
template<class T>
T Abc(T a, T b, T c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”); 
}
 program 1.1 dan 1.2 hanya berbeda dari tipe data dari parameter formal dan nilai yang dikembalikan.kita dapat menulis kode generik dimana tipe dataadalah variabel yang nilainya ditentukan oleh kode generik compiler. ini ditulis dengan menggunakan pernyataan template seperti yang ditunjukkan dalam program 1.3. dari kode generik compiler dapat membuat program dengan menggantikan 1,1 in untuk T dan program 1.2 dengan menggantikan mengambang T.

1.    3. Reference Parameter
#include<iostream>

 Using namespace std;
template<class T>
T Abc(T& a, T& b, T& c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   int a = 2, b = 3, c = 4;
   cout << Abc(a,b,c) << endl;
 system(“PAUSE”);
}

1.      4. Cost Reference Parameter

#include<iostream>
 
 Using namespace std;
template<class T>
T Abc(const T& a, const T& b,
         const T& c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”);
}

 
#include<iostream>

 Using namespace std;
template<class Ta, class Tb, class Tc>
Ta Abc(const Ta& a, const Tb& b, const Tc& c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
system(“PAUSE”); 
}

ALOKASI MEMORI DINAMIS
Deklarasi :
Int * y;
Sebenarnya :
y =new int;
Variabel y merujuk pointer ke integer dan *y merujuk ke integer.
*y = 10; 

ARRAY SATU DIMENSI DINAMIS  
float *x = new float [n];

Elemen array diberi alamat dengan penulisan x[0], x[1], …, x[n-1].


PENANGANAN PERKECUALIAN
Apa yang terjadi dengan pernyataan :
float *x = new float [n];
ketika dieksekusi komputer dan ternyata memori tidak tersedia untuk n bilangan floating point ?

float *x;
try { x = new float [n]; }
catch (xalloc) {
cerr << “Out of Memory” << endl;
exit(1);  }

OPERATOR DELETE
Pernyataan :
                        delete y;           // variabel biasa
                        delete [ ] x;      // variabel array
akan membebaskan memori yang dialokasikan oleh *y dan array satu dimensi x.

METHOD (FUNCTION)
return-type method-name(para1, para2, . . .) {
. . .
body-of-the-method;
. . .
}
Contoh :
double jumlah_kuadrat(int x, int y) {
            return x*x + y*y;
}

METHOD OVEROADING
}  int max( int a, int b, int c )
}  int max( int a, int b)
}  int max( float a, float b, float c)
}  int max( float a, float b)