Selasa, 27 Oktober 2009

perbedaaan Contruktor dan destruktor

perbedaan contruktor dan destruktor dalam bahasa C++ adalah dilihat dari penggunaannya, kalau construktor adalah dia berjalan pada saat program pertama kali dijalankan, sedangkan construktor adalah mengembalikan construktor ke awal, setalah construktor itu berjalan, bisa dibilang juga mereset. untuk lebih jelasnya mari kita kembali ke codingan berikut ini.

#include
#include

class pet
{
private:
   char nama[20];
      int hungry;
      int happy;
   public:
   //construktor----> pertama kali dijalanin
      pet()
      {
       strcpy(nama," ");
         hungry = 0;
         happy  = 0;
      }
      //destructor-----> untuk mengulang(menghancurkan/reset)construktor
      ~pet()
      {
       strcpy(nama," ");
         hungry = 0;
         happy = 0;
      }
sepenggal program sederhana yang saya buat, untuk menerangkan lebih jelas dari construktor dan destruktor.
semoga bisa membantu, bagi anda yang sedang mempelajari bahasa C++, kritik dan saran anda sangat berguna untuk saya. ^^

Selasa, 13 Oktober 2009

Iostream dan random dalam C++

ini codingan baru aja tadi saya pelajarin bersama teman - teman tentang penggunaan fungsi iostream dan random dalam C++ ternyata dalam penggunaanya tidak berbeda jauh dengan C.
bisa kita lihat dalam codingan sederhana tentang game suit cina dibawah ini.

#include
#include
#include //buat random
#include


void main()
{


randomize();
char input,comp;
int cek, acak;
do
{
cek=0;
cout<<"masukkan input: ";
cin>>input;
cin.sync();
cin.clear();
if(input!='g'&&input!='b'&&input!='k')cek=1;
}while(cek==1);

acak=rand()%3;
switch(acak)
{
case 0: comp='g';
break;
case 1: comp='k';
break;
case 2: comp='b';
break;
}

cout<<"player: "<<
cout<<"comp: "<<

if(input=='g'&&comp=='k')
{
cout<<"you win";
}
else if(input=='g'&&comp=='b')
{
cout<<"you lose";
}
else if(input=='b'&&comp=='g')
{
cout<<"you win";
}
else if(input=='b'&&comp=='k')
{
cout<<"you lose";
}
else if(input=='k'&&comp=='b')
{
cout<<"you win";
}
else if(input=='k'&&comp=='g')
{
cout<<"you lose";
}
else
{
cout<<"draw";
}

cin.get();

}

Senin, 12 Oktober 2009

C++ Stream Input / Output

Stream input
cin.get (char & ch)
     Menempatkan karakter input berikutnya dalam variabel ch. Mengembalikan nilai integer, yang adalah nol jika mengalami masalah (misalnya akhir file).

cin.getline (char * buffer, int length)
     Membaca karakter dalam buffer string, berhenti ketika (a) ia telah membaca panjang-1 karakter atau (b) ketika ia menemukan sebuah end-of-line karakter ( '\ n') atau akhir file. Tempat karakter null ( '\ 0') setelah karakter terakhir membaca.

cin.read (char * buffer, int n)
     Dibaca n byte (atau sampai akhir file) dari stream ke dalam buffer.

cin.gcount ()
     Mengembalikan jumlah karakter yang dibaca oleh sebelumnya mendapatkan, getline, atau membaca perintah.

cin.ignore (int n)
     Menghapus n karakter berikutnya (atau sampai akhir file) dari input stream, mmbuang mereka  ke Great Bit Bucket.

cin.putback (char ch)
     Menempatkan karakter ch kembali ke stream. Hal-hal buruk akan terjadi jika karakter ini bukan yang paling baru-baru ini diambil dari stream.

cin.get ()
     Mengembalikan karakter berikutnya dalam stream.

cin.peek ()
     Mengembalikan karakter berikutnya dalam stream tetapi tidak menghapusnya dari stream.

cin.good ()
     Returns 0 jika stream telah mengalami masalah seperti membaca akhir file, tidak ada file.

cin.bad ()
     Mengembalikan nilai bukan nol jika stream benar-benar tidak dapat digunakan, misalnya file tidak dapat dibuka (tetapi tidak jika stream telah hanya sampai di  akhir file).

cin.eof ()
     Mengembalikan nilai bukan nol jika stream telah mencapai akhir file.

Stream ouput
cout.put (char ch)
     Menempatkan ch ke stream.


cout.write (char * str, int n)
     Menempatkan n karakter ke stream, membaca mereka dari string str.




Stream manipulator

1. dec->memformat data numerik ke dalam desimal
                Input/Output    : Input dan ouput
2. endl->output sebuah karakter newline dan flush the stream
                Input/Output    : output
3. ends->ouput null
                Input/Output    : output
4. flush->Kirim data langsung ke standard output
                Input/Output    : output
5. Hex->memformat data numerik ke dalam heksadesimal
                Input/Output    : input dan ouput
6. Oct->memformat data numerik ke dalam oktal
                Input/Output    : input dan ouput
7. Setbase ( int n)->Memformat data ke basis n
                Input/Output    : output
8. Setw (int n)->Menentapkan  lebar tampilan data
                Input/Output    : outut
9. Setfill (int c)->Mengatur karakter pemenuh
Input/Output    : output
10. Setprecision (int n)->Menetapkan presisi bilangan pecahan sebanyak n digit
                Input/Output    : output

Minggu, 11 Oktober 2009

Syntax dasar Input/Output C++

#include
int main()
{
char nama[100 ];
cin>>nama;
cin.sync();
cin.clear();
cout <<"hello, " <<
cin.get();
return 0 ;
}
#include
Baris ini berguna agar program kita memakai library iostream, agar kita dapat menggunakan syntax IO C++.
cin>>nama;
Baris ini berarti kita meminta user untuk menginput data, yg kemudian akan dimasukkan ke variabel "nama"
Syntax pada C adalah scanf("%s", nama);
cin.sync();
cin.clear();
2 baris ini tidak dapat dipisahkan, digunakan untuk membersihkan buffer input. jadi setelah menerima input, kita harus memanggil 2 baris tersebut untuk membersihkannya.
Jika anda familiar dengan coding program IO C, maka kedua baris tersebut sama dengan fflush(stdin);
cout <<"hello, " <<
cout berfungi untuk mencetak ke layar. untuk codingan di atas berarti kita mencetak
"hello, " yg di sambung dengan isi dr variabel nama. Kemudian diakhiri dengan "endl" yg akan mencetak enter dan membuat kursor kita turun 1 baris.
Syntax yg serupa pada C adalah printf("hello, %s\n", nama);
cin.get();
Setelah mencetak output ke layar, kita perlu menahan layarnya agar program kita tidak langsung keluar. Maka baris ini ditambahkan pada program kita. Anda dapat mencoba menghapus atau meng-comment baris ini untuk melihat perbedaannya.
Pada C biasanya digunakan getchar();

Input dan Output di C++

Bahasa C memiliki rutin-rutin untuk proses input/output yang dideklarasikan di header file stdio.h. proses input/output versi C ini masih dapat digunakan di C++. Namun demikian C++ mengenalkan teknik baru untuk proses input/output, yaitu yang dinamakan iostreams atau disingkat menjadi streams saja. Hampir semua fungsi yang terdapat di stdio.h dapat dikonversikan ke dalam bentuk streams. Kelebihan streams dibandingkan input/output C adalah fleksibilitasnya dalam melakukan format input/output dan juga kemampuannya yang mendukung konsep operator berbeban lebih (overloaded operator).


Apa itu Streams ?

Streams adalah suatu abstraksi untuk menangani aliran data dari suatu sumber (producer) ke tujuan (consumer) lain. Baik sumber atau tujuan dapat berupa buffer di memori, string, file atau layar monitor. C++ mendeklarasikan kelas untuk strem di beberapa header file, yaitu;
• iostream.h (I/O umum)
• constrea.h (I/O ke console)
• strstrea.h (I/O ke string)
• fstream.h (I/O ke file)


Stream untuk Output

Untuk melakukan proses keluaran (output) digunakan operator <<. Bentuk umumnya adalah :

objek_stream << data

bentuk dikiri tanda << (objek_stream) adalah salah satu objek dari kelas ostream. Bentuk di kanan << adalah data yang akan dituliskan ke output.

#include

void main()
{
cout << “Belajar pemrograman C++”;
}

pernyataan diatas menuliskan string “Belajar pemrograman C++” ke stream cout. Stream cout adalah stream untuk output ke layar monitor. Operator << juga dapat dibuat bertingkat seperti contoh berikut :

#include

void main()
{
cout << “Belajar” << “ pemrograman C++” << ‘\n’;
}

seperti tipe data skalar yang ada di C++ sudah mendukung stream. Dengan demikian identifier yang memiliki tipe data skalar dapat dituliskan ke output dengan stream.
Contohnya :

#include

void main()
{
int x=10;
float y=20.0;
cout << "x = " << x << “ y = “ << y;
}

keluaran program diatas :
x = 10 y = 20

stream output juga dapat menuliskan alamat suatu identitas, misalnya :

#include

void main()
{
int x;
cout << &x; // menuliskan alamat variabel x
}

keluaran program diatas :
0x8f98fff4

Sabtu, 10 Oktober 2009

PERNYATAAN IF DALAM C++

Pernyataan IF
Pernyataan If mempunyai pengertian “jika kondisi bernilai benar, maka perintah akan dikerjakana dan jika tidak memenuhi syarat maka akan diabaikan.
Cth program:
Kasus : tentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli,dengan criteria:
1. tidak ada potongan jika total pembelian kurang dari Rp.50.000
2. jika total pembelian lebih dari atau sama dengan Rp.50.000 potongan yang diterima sebesar 20% dari total pembelian.
Dari kasus diatas maka dapat dibuatkan program sebagai berikut:
#include
#include
#include
Void main ()
{
Double tot_beli, potongan = 0, jum_bayar = 0;
Cout<<”total pemebelian Rp. “;
Cin>>tot_beli;
If (tot_beli>=50000)
Potongan = 0.2*tot_beli;
Cout<<”besarnya potongan Rp. “<<
Jum_bayar = tot_beli – potongan;
Cout<<”jumlah yang harus dibayar Rp. “;
Cout<
Getch();
}

Contoh Pemrograman Dalam Bahasa C++ Menggunakan Function

#include
#include
int fungsi_menu(void);
float fungsi_perKalian(void);
float fungsi_pemBagian(void);
float fungsi_pengUrangan(void);
float fungsi_penAmbahan(void);
int menu_exit(void);
main ()
{
fungsi_menu();
return 0;
}
int fungsi_menu()
{
clrscr();
int a;
cout << “——pilih——\n”;
cout << “1. perkalian\n”;
cout << “2. pembagian\n”;
cout << “3. pengurangan\n”;
cout << “4. penambahan\n\n”;
cout a;
switch (a)
{
case 1:
fungsi_perKalian();
break;
case 2:
fungsi_pemBagian();
break;
case 3:
fungsi_pengUrangan();
break;
case 4:
fungsi_penAmbahan();
break;
default:
break;
}
return 0;
}
float fungsi_perKalian()
{
float x,y,z;
char a;
cout x;
cout y;
z = x * y;
cout << “hasilnya : ” << z << endl;
cout << endl;
menu_exit();
return 0;
}
float fungsi_pemBagian()
{
float x,y,z;
char a;
cout x;
cout y;
z = x / y;
cout << “hasilnya : ” << z << endl;
cout << endl;
menu_exit();
return 0;
}
float fungsi_pengUrangan()
{
float x,y,z;
char a;
cout x;
cout y;
z = x – y;
cout << “hasilnya : ” << z << endl;
cout << endl;
menu_exit();
return 0;
}
float fungsi_penAmbahan()
{
float x,y,z;
char a;
cout x;
cout y;
z = x + y;
cout << “hasilnya : ” << z << endl;
cout << endl;
menu_exit();
return 0;
}
int menu_exit()
{
char a;
cout a;
if (a == ‘y’)
{
cout << endl;
fungsi_menu();
}
else
{
cout << “terimakasih telah menggunakannya”;
}
return 0;
}

Kamis, 01 Oktober 2009

Pengertian C++ Leave a Comment

C++adalah sebuah bahasa pemrograman yang memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++ Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP. Kamu dapat mendownload DJGPP atau mungkin saja anda telah memiliki kompiler lain.
Setiap kompiler ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masing masing kompiler juga akan dapat menjalankan fungsi fungsi nonstandard (fungsi fungsi ini, agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosok negeri. Sebagai contoh, di New Orleans kata median disebut neutral ground).
Kadang kadang pemakaian fungsi nonstandard akan menimbulkan masalah pada saat hendak mengkompilasi kode sumber data “source code” mempergunakan kompiler yang berbeda. Tutorial ini tidak terlepas dari masalah seperti itu. Bila anda belum mempunyai sebuah kompiler, disarankan agar anda segera memiliki sebuah kompiler. Sebuah kompiler sederhana sudah cukup untuk dipergunakan oleh anda dalam mengikuti tutorial ini.
Bahasa pemrograman C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS, akan memerlukan beberapa kata kunci (keywords); keyword sendiri tidak cukup untuk difungsikan sebagai input dan output. Walau hampir semua fungsi dalam file library tampaknya bias diakses oleh header file