Fransisca's Blog

blog buat tugas PBO..^^

keterangan sedikit^^

Diposting oleh sisqa

ga ngerti knp di 2 post debelumnya ga bisa bikin include na T.T

tapi cm sekedar infoo:
yg program kalkulator:
#include
#include

yg program phonebook:
#include
#Include

sekian infoo na...
thnkz^^

program kalkulator dengan menggunakan inheritance^^

Diposting oleh sisqa

#include
#include

class simple
{
private : float bil2;
protected : float bil1;
public : void setbil1(int a)
{ bil1 = a; }
void setbil2(int b)
{ bil2 = b; }
int kurang()
{ return bil1 - bil2; }
int tambah()
{ return bil1 + bil2; }
int kali()
{ return bil1 * bil2; }
int bagi()
{ return bil1 / bil2; }
};

class s : public simple
{
private :

protected : char temp[20];

public :
char * oktal()
{
itoa(bil1, temp, 8);
return temp;
}
char * desimal()
{
itoa(bil1, temp, 10);
return temp;
}
char * hdesimal()
{
itoa(bil1, temp, 16);
return temp;
}
void biner(int x);
};

void s::biner(int bil1)
{
int temp = 128;
for(int i=0; i<8;>>=1;
}
}
void menu()
{
cout << "selamat datang di prog calculator sisqa ^^"<<< "silahkan memilih jenis calculator yang ingin digunakan"<<< "1. simpel calculator"<<< "2. sientific calculator"<<< "3. keluar"<<< "pilihan : "; cin >> pilih;
cin.clear();
cin.sync();

switch(pilih)
{
case '1' : do{
cout <<"anda memilih simple calculator^^"<<<"silahkan pilih apa yang akan anda lakukan?"<<<"tapi semuanya hanya bisa 2 bilangan ya^^"<<<"1. penjumlahan"<<<"2. pengurangan"<<<"3. perkalian"<<<"4. pembagian"<<<"5. keluar"<<<"pilihan :"; cin >> pilih1;
cin.clear();
cin.sync();

switch(pilih1)
{
case '1' : cout << "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil penjumlahan: "<< case="" 2="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil pengurangan: "<< case="" 3="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil perkalian: "<< case="" 4="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil pembagian: "<< cout=""><< "pilihan : "; cin >> pilih;
cin.clear();
cin.sync();
break;
}while(pilih1 != '5');

case '2' : do{
cout <<"anda memilih sientific calculator^^"<<<"silahkan pilih apa yang akan anda lakukan?"<<<"1. penjumlahan"<<<"2. pengurangan"<<<"3. perkalian"<<<"4. pembagian"<<<"5. mengubah bil jadi oktal"<<<"6. mengubah bil jadi desimal"<<<"7. mengubah bil jadi heksadesimal"<<<"8. mengubah bil jadi biner"<<<"9. keluar"<<<"pilihan :"; cin >> pilih2;
cin.clear();
cin.sync();

switch(pilih2)
{
case '1' : cout << "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil penjumlahan: "<< case="" 2="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil pengurangan: "<< case="" 3="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil perkalian: "<< case="" 4="" cout=""><< "masukan bilangan 1 : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);

cout << "masukan bilangan 2 : "; cin >> bil2;
cin.clear();
cin.sync();
obj1.setbil2(bil2);

cout << "hasil pembagian: "<< case="" 5="" cout=""><< "masukan bilangan yang ingin diubah menjadi bilangan oktal^^"<<< "bilangan : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);
cout << "oktal : " << case="" 6="" cout=""><< "masukan bilangan yang ingin diubah menjadi bilangan desimal^^"<<< "bilangan : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);
cout << "desimal : " << case="" 7="" cout=""><< "masukan bilangan yang ingin diubah menjadi bilangan oktal^^"<<< "bilangan : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);
cout << "heksadesimal : " << case="" 8="" cout=""><< "masukan bilangan yang ingin diubah menjadi bilangan biner^^"<<< "bilangan : "; cin >> bil1;
cin.clear();
cin.sync();
obj1.setbil1(bil1);
cout<<<"biner : "; obj1.biner(bil1); cout<<< "pilihan : "; cin >> pilih;
cin.clear();
cin.sync();
break;
}while(pilih !='3');
}

program phonebook dengan inheritance

Diposting oleh sisqa

#include
#include

class bukutelp
{
private : char nama[30];
char nohp[20];
protected : char email[50];
char alamat[100];
public : void setnama(char *nma)
{
strcpy(nama,nma);
}
void setnohp(char *no)
{
strcpy(nohp,no);
}
char *getnama()
{
return nama;
}
char *getnohp()
{
return nohp;
}
};

class bukutelp2 : public bukutelp
{
public : void setmail(char *mail)
{
strcpy(email,mail);
}
void setalmt(char *almt)
{
strcpy(alamat,almt);
}
char *getmail()
{
return email;
}
char *getalmt()
{
return alamat;
}
};

void main()
{
bukutelp2 obj[2];

char nama[30],nohp[20];
char mail[50],almt[100];
int pilihan;
int count = 0;
int k;

do{
cout<<"My Phonebook\n";
cout<<"============\n\n";
cout<<"1. Isi Phonebook Seri Lama\n";
cout<<"2. Lihat Phonebook Seri Lama\n";
cout<<"3. Isi Phonebook Seri Baru\n";
cout<<"4. Lihat Phonebook Seri Baru\n";
cout<<"5. Keluar\n\n";
cout<<"Masukkan pilihan Anda : ";
cin>>pilihan;
cin.sync();cin.clear();

switch(pilihan)
{
case 1 : do{
cout << "masukan nama[5..20] : ";
cin >> nama;
cin.clear();
cin.sync();
}while(strlen(nama)>20 || strlen(nama)<5);

do{
cout << "masukan no hp[10..12]: ";
cin >> nohp;
cin.clear();
cin.sync();
count=count +1;
for(k=0;k {
if(nohp[k]<'0'||nohp[k]>'9')
{count = 0 ;}
}
}while(count==0||strlen(nohp)>12 || strlen(nohp)<10);

obj[0].setnama(nama);
obj[0].setnohp(nohp);
break;
case 2 : if(count != 0 )
{
for(int i=0;i {
cout << obj[0].getnama()<< ":" << obj[0].getnohp() <
}
}
else
{
cout<<"data ga ada";
}
break;
case 3 : count = 0;
do{
cout << "masukan nama[5..20] : ";
cin >> nama;
cin.clear();
cin.sync();
}while(strlen(nama)>20 || strlen(nama)<5);

do{
cout << "masukan no hp[10..12]: ";
cin >> nohp;
cin.clear();
cin.sync();
count=count +1;
for(k=0;k {
if(nohp[k]<'0'||nohp[k]>'9')
{count = 0 ;}
}
}while(count==0||strlen(nohp)>12 || strlen(nohp)<10);

do{
cout << "masukan alamat [5..45]: ";
cin.getline(almt,46);
cin.clear();
cin.sync();
}while(strlen(almt)<5||strlen(almt)>45);

do{
cout<<"masukan email[5..20]: ";
cin.getline(mail,25);
cin.clear();
cin.sync();
}while(strlen(mail)<5||strlen(mail)>45);
obj[1].setmail(mail);
obj[1].setalmt(almt);
obj[1].setnama(nama);
obj[1].setnohp(nohp);
break;
case 4 : if(count!=0)
{
cout< for(int i=0;i {
cout< cout<<" : \n";
cout<<" No Hp : "< cout<<" Alamat : "< cout<<" email : "< }
cout< }
else
cout<<"\n\nTidak ada data\n\n";
break;
}
}while(pilihan!=5);

}

template

Diposting oleh sisqa

Template adalah sebuah implementasi dari generic programming atau parameterized type. Generic programming adalah gaya pemrograman dimana algoritma ditulis dengan istilah ‘to be specified-later type’, maksudnya tipe datanya dapat dispesifikasi nanti dengan menggunakan parameter. Implementasi ini dapat dilakukan dengan 2 jenis template.

Jenis – jenis template:

1. Function template

Dengan menggunakan function template, dapat di definisikan sebuah bentuk fungsi yang berhubungan dengan overloasding function, dengan membiarkan tipe data parameter.

Contoh:

#include

using name space std;

template // mambuat template

T getmax(T a, T b) // function template

{

T result;

result = (a>b)?a:b;

return (result);

}

int main()

{

int i=5,j=6,k;

long l=10,m=5,n;

k= getmax(i,j); // cara manggil template getmax

n = getmas(l,m);

cout << k <

cout << n << endl;

return 0;

}

Pada saat template dijalankan, compiler mengenerate function yang sesuai dengan tipe data fungsi pemanggilnya.

Berbeda dengan overloading function, overloading function tidak selalu dapat digantikan oleh template, karna jika kita memiliki action yang berbeda, maka tidak dapat digantikan oleh template, sebaliknya jika memiliki action yang sama, kita dapat mempersingkat program kita dengan menggunakan template.

Template itu seperti bunglon, tetap bunglon namun dapat berubah warna sesuai kebutuhan.

2. Class template

Disebut juga generic class atau class generator, digunakan untuk mendefinisikan model class.

Generic container classes:

- Kita dapat memiliki tipe data integer atau lainnya, dengan basic operation yang sama(insert, delete, index,etc)

- Hanya dengan mendefinisikan struktur class dengan generic operation, dan system akan mengenerate definisi class on the fly.

Contoh:

#include

Template

Class mytemp //membuat class template

{

T1 t1;

T2 t2;

Public : mytemp(T1 t1,T2 t2)

{t1 = tt1; t2 = tt2;}

Void display

{Cout << t1 << “” << t2 << endl;}

};

Void main()

{

int a = 123;

double b = 456.789;

mytempmt(a,b); //membuat objek dari class template

mt.display();

}