Sabtu, 12 Desember 2009

Multiple Inheritance

Multiple inheritance adalah suatu feature dari beberapa bahasa OOP
dimana sebuah class dapat diturunkan dari lebih satu induk class.

Di c++ tidak dapat mengulang inheritance secara eksplisit. Tapi sebuah
single instance dari multiple class dapat dibuat melalui mekanisme inheritance virtual.

sintaks :
class Turunan : jenis_akses Induk1, jenis_akses Induk2
{ };



Hirarki Classnya :

Rabu, 09 Desember 2009

Single Inheritance

Single inheritance adalah proses pembentukan satu class baru (derived class) hanya dari 1 class lainnya (based class).

contoh :
class Nama_Turunan : jenis_akses Nama_Induk
{ }

Contoh :
class Cewe
{ protected: int ani;
};
class Fashion: public Cewe
{ protected: int kalung;

Untuk penentuan jenis derived class harus diperhatikan juga jenis dari based classnya.


Hirarki class untuk single inheritance


Selasa, 01 Desember 2009

Array dan Pointer Di Class

Array Di Class :
- tidak ada cek range
- tidak bisa dibandingkan ( operator ==)
- tidak ada array assignment
- tidak dapat input/ output array


Pointer Di Class :
-Umumnya melalui function yg menggunakan pointers to class data members
-sebagai debuging function yg meng-access 2 bytes pertama dari data member
tiap object & mengambil nilainya


CONTOH PROGRAM PENGGUNAAAN :
#include "iostream.h"

class MyClass
{
private:
int Price;
int Count;
long Total;
public:
void Input(int P,int C)
{
Price=P;
Count=C;
}
void MyClass::Compute()
{
Total=(long) Price*Count;
}
void MyClass::Print(){
cout<<"Price="< }
};

int main()
{
MyClass *ob;

ob=new MyClass[6];
ob[0].Input(5,0);
ob[1].Input(3,5);
ob[2].Input(1,0);
ob[3].Input(5,20);
ob[4].Input(4,0);
ob[5].Input(8,5);

for(int i=0;i<6;i++)
ob[i].Compute();
for(int i=0;i<6;i++)
ob[i].Print();

delete ob;
}

Senin, 26 Oktober 2009

Contructor... next

Ternyata tidak hanya operator saja yang bisa overloading.
Constructor (untuk membangun objek) pun juga dapat overloading.


class Mobil{
private :
char merk[20];
int kec;

public :
// overloading constructor
Mobil(){
setKec(0);
setMerk("");
}

//constructor awal
Mobil(int a, char *b){
setKec(a);
setMerk(b);
}
};

Meskipun memiliki nama yang sama, namun saat pemanggilan dapat diatur sesuai yang diinginkan.

Dan ada pula, copy constructor yang menggunakan alamat dari variabel.

// copy constructor
Mobil(Mobil &obj){
kec = obj.getKec(); // kec = obj.kec;
strcpy(merk,obj.merk);
}

Maka dari itu constructor pun memiliki banyak kegunaan. Dan dibutuhkan pemahaman untuk mengerti seluk beluknya.

Rabu, 21 Oktober 2009

Nested Struct

Kalau saat belajar bahasa C, sudah dikenal tentang struct. Saat belajar bahasa C++ dikenal nested struct, yaitu struct yang berada di dalam struct.

#include

struct course
{
int couno;
int coufees;
};

struct student
{
int studno;
course sc;
course sc1;
};

void main( )
{
student s1;
s1.studno=100;
s1.sc.couno=123;
s1.sc.coufees=5000;
s1.sc1.couno=200;
s1.sc1.coufees=5000;
int x = s1.sc.coufees + s1.sc1.coufees;
cout<< “\n Student Number: ”< cout<<”\n Total Fees: Rs.”<< x;
}

Output :
Student Number: 100
Total Fees: Rs.10000


s1 adalah nama struct variable. sc adalah nama struct student luar. couno adalah anggota struct course. Seperti ituah anggota nested struct diakses.

Minggu, 11 Oktober 2009

Pointer Operator

Kalau dilihat dari banyaknya variabel yang terlihat di memori , pasti tidak pernah terpikirkan mengenai lokasi-lokasi data yang digunakan pula. Karena itu digunakan identifier yang dapat digunakan kapanpun tanpa harus memikirkan berapa banyak memori yang harus terpakai.

Ada beberapa macam, yaitu :

Reference operator (&)

Contoh : ted = &andy;
Tulisan di atas akan menandakan ted alamat dari variabel andy. Yang dimaksud disini bukan isi dari variabelnya tapi alamatnya di memori.


Dereference operator (*)

Contoh :
beth = *ted;
Tulisan di atas menandakan bahwa nilai beth dan ted adalah sama.

Sabtu, 10 Oktober 2009

Stream Manipulasi

Stream manipulator :

  • boolalpha - Nilai alphanumerik (manipulator function)
  • internal – memasukkan karakter pada posisi internal
  • left – membuat output menjadi rata kiri
  • right - membuat output menjadi rata kanan
  • noshowpoint – tidak memunculkan poin desimal
  • noshowpos – tidak memunculkan tanda positif
  • noskipws – tidak melewatkan whitespace (enter,spasi,tab)
  • nounitbuf - tidak memaksa melakukan flush setelah insersi
  • nouppercase - tidak membuat huruf besar
  • resetiosflags - mereset format flags
  • setioflags - format flags
  • showpoint - memunculkan poin desimal
  • showpos - memunculkan tanda positif
  • skipws - melewakan whitespace (enter,spasi,tab)
  • unitbuf - melakukan flush setelah insersi
  • uppercase - membuat huruf besar
  • ws - mengekstrak whitespace (enter,spasi,tab)
Dan masih banyak lagi jenis-jenisnya. Tentu fungsi masing-masingnya akan digunakan sesuai dengan keperluan.

Elemen iostream di C++

Elemen yang dimiliki iostream sebagai standard library untuk menjalankan input output dengan streams, yaitu :

  • Basic class template – dasarnya pasti ada hierarki dari template class. Dan masing-masing kelas pada templatenya memiliki parameter yang dapat dimanipulasi , dapat menunjukkan karakter spesifik tiap elemen. Biasanya, pemberian nama sesuai dengan tipenya.

Contoh : class temlate istream – basic_istream

class template fstream – basic_fstream


  • Class template instantiation

- narrow-oriented (char type) – manipulasi elemen dari tipe satu dengan yang lainnya

(paling sering digunakan)

contoh : class ios, istream, ofstream

- wide-oriented (wchar_t) – sama seperti narrow-oriented tapi nama masig-masing

kelasnya dan objek didahului karakter ‘w’.

contoh : wios, wistream


  • Standard object – mendeklarasikan objek yang digunakan untuk proses input output sebagai standardnya.

Ada 2 macam :

* narrow-oriented objects – cin, cout, cerr, clog

* wide-oriented counterparts – wcin, wcout, wcerr, wclog


  • Type – untuk menjelaskan tipe-tipe data yang bergantung pada sifat sesuai instansiasinya.

Contoh : char dan wchar_t – streampos, streamoff dan streamsize digunakan untuk

menunjukkan posisi, offset dan ukuran.


  • Manipulator – fungsi global untuk digunakan bersama operator insertion (<<) dan extraction (>>) di objek-objeknya. Biasanya memodifikasi properti dan pengaturan streams.

Contoh : endl, hex, oct , scientific

Selasa, 22 September 2009

Polymorphism

Sebagai ciri khas dari program c++ , ini adalah penjelasan dari polymorphism.

Di fungsi utama, diciptakan 2 pointer yang menunjuk pada objek suatu kelas.
CPolygon (ppoly1 and ppoly2). Lalu direferebsikan ke rect dan trgl ke pointer yang tadi. Karena keduanya merupakan kelas dari objek dari CPolygon, keduanya valid untuk
dijalankan.

Limit dalam penggunaan *ppoly1 and *ppoly2 sebagai ganti rect and
trgl adalah kedua *ppoly1 and *ppoly2 merupakan tipe CPolygon* dan
hanya bisa menggunankan pointer tersebut untuk menunjuk ke anggota
CRectangle and CTriangle yang diambil dari CPolygon. Karena itu saat
memanggil anggota area() di akhir program harus menggunakan nama objek
rect and trgl dibanding menggunakan pointer *ppoly1 and *ppoly2.

Untuk menggunakan area() dengan pointer menunjuk kelas CPolygon, anggotanya
harus dideklarasikan pada kelas CPolygon, tapi masalahnya CRectangle serta
CTriangle mengimplementasikan versi area yang berbeda, makanya tidak bisa diimplementasikan di kelas yang sama.


Contoh :

class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b; }
virtual int area ()
{ return (0); }
};

class CRectangle: public CPolygon {
public:
int area ()
{ return (width * height); } ----- versi area yang berbeda
};

class CTriangle: public CPolygon {
public:
int area ()
{ return (width * height / 2); } ----- versi area yang berbeda
};

int main () {
CRectangle rect;
CTriangle trgl;
CPolygon poly;
CPolygon * ppoly1 = ▭
CPolygon * ppoly2 = &trgl;
CPolygon * ppoly3 = &poly;
ppoly1->set_values (4,5);
ppoly2->set_values (4,5);
ppoly3->set_values (4,5);
cout <<>area() <<>
cout <<>area() <<>
cout <<>area() <<>
return 0;
}

Encapsulation

Pada C++, ada istilah encapsulation dimana data dan fungsi digabung pada sebuah kelas.

Contoh:

class CPolygon {
protected: int width, height; ---- data
public: void set_values (int a, int b) ---- function
{
width=a; height=b;
}
};

Inheritance

Salah satu ciri khas dari kelas C++ adalah inheritance. Inheritance dapat
membuat suatu kelas yang diambil dari kelas lain lagi, jadi secara otomatis
mengikutsertakan anggota dari "parent's" serta "dia"nya sendiri.

Untuk membuat sebuah kelas dari kelas lainnya, digunakanlah colon (:) .
Contoh format :

class derived_class_name: public base_class_name
{ /*...*/ };


Contoh :

class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b;}
};

class CRectangle: public CPolygon { --- contoh penulisan inheritance
public:
int area ()
{ return (width * height); }
};

Friend Functions dan Classes

Friend Functions

Friend functions dapat membuat, misalnya, menjalankan operasi antara
dua kelas yang berbeda. Umumnya, penggunaan dari friend functions
sama sekali tidak berhubungan dengan metode pemrograman berorientasi,
jadi bila mungkin , lebih baik memakai anggota yang sama untuk dijalankan.

Contoh :

class CRectangle {
int width, height;
public:
void set_values (int, int);
int area () {return (width * height);}
friend CRectangle duplicate (CRectangle);
};



Friend Classes

Contoh:

class CSquare {
private:
int side;
public:
void set_side (int a)
{side=a;}
friend class CRectangle;
};

Constructors dan Destructors

Constructor -- kelas yang dapat berisi fungsi spesialuntuk dipanggil kapanpun
saat objek baru dibuat.

Constructors tidak bisa dipanggil secara eksplisit bila merupakan anggota dari fungsi biasa.
Akan dijalankan hanya saat objek baru dari kelas tersebut dibuat.

For example :

CRectangle::CRectangle (int a, int b) {
width = new int;
height = new int;
*width = a;
*height = b;
}


Destructor -- kelas yang dapat berisi fungsi spesialuntuk dipanggil kapanpun saat objek ingin dihilangkan. Dan bisa juga dijalankan ketika akhir program sudah dicapai , seperti operasi delete.

Contoh :

CRectangle::~CRectangle () {
delete width;
delete height;
}

Kelas

Kelas adalah suatu konsep perluasan dari struktur data, selain menyimpan data, jadi mampu menyimpan data and fungsi.

Biasanya kelas dideklarasikan menggunakan keyword class, dengan format :


class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;


Class_name adalah identifikasi yang vaild untuk sebuah kelas, object_names
adalah berbagai kemungkinan nama yang digunakan untuk menamai objek di kelas.
Di bagian deklarasi dapat berisi anggota-anggota, dapat berupa deklarasi data atau fungsi, dapat ditambahkan juga specifier.

Pada deklarasi di struktur data sebenarnya sama, kecuali sekarang dapat menuliskan
fungsi serta anggota, dan tentunya specifier. Ada 3 keyword dari specifier ini :
  • private -- anggota kelasnya hanya bisa diakses oleh anggota kelas yang sama ataupun teman.
  • protected -- anggota kelasnya bisa diakses oleh anggota kelas yang sama ataupun teman, juga bisa dari anggota kelas yang didatangkan.
  • public -- anggota kelasnya bisa diakses dari mana saja asalkan objeknya visible.

Overloaded functions

Pada C++ 2 fungsi berbeda bisa memiliki nama yang sama di tipe maupun jumlah parameter
yang berbeda.

Contoh :

// overloaded function
#include
using namespace std;

int operate (int a, int b)
{
return (a*b);
}

float operate (float a, float b)
{
return (a/b);
}

int main ()
{
int x=5,y=2;
float n=5.0,m=2.0;
cout <<>
cout << "\n";
cout <<>
cout << "\n";
return 0;
}

Pada contoh di atas ada fungsi yang memiliki nama dan operasi sama, tapi tipenya
berbeda, ada yang int dan float. Compilernya tahu yang mana yang harus dipanggil dengan melihat tipe yang dilewati sebagai argumen. Kalau yang diipanggil 2 ints maka akan memanggil fungsi yang mempunyai 2 parameter int di prototypenya dan bila yang dipanggil 2 floats , akan memanggil fungsi yang memiliki 2 parameter float di prototype.

Saat pertama kali mengoperasikan dua argumen yang terlewati adalah tipe dari int,
lalu fungsi yang memiliki ; dipanggil. Saat yang kedua dipanggil ( dua argumen tipe float ). lalu prototype kedua dipanggil. Jadi, pemanggilan ini berdasarkan tipe dari argumennya karena sudah terjadi overloaded function.

Karena sebuah fungsi tidak bisa overloaded hanya karena return type.
Maka dari itu parameter harus memiliki tipe yang berbeda.

Default Values pada Parameters

Saat deklarasi fungsi dapat menentukan nilai default untuk masing-masing parameter.
Akan berguna bila argumen kosong saat memanggil fungsi di program. Caranya dengan menggunakan operator dan nilai argumen di fungsi yang dideklarasikan.
Bila sebuah nilai parameter yang sudah ditentukan tidak dilalui, nilai default digunakan.

Contoh :

// default values in functions
#include
using namespace std;

int divide (int a, int b=2)
{
int r;
r=a/b;
return (r);
}

int main ()
{
cout <<>
cout <<>
cout <<>
return 0;
}



Ada dua fungsi pemanggilan divide :

  • divide (12)
Karena diketahui int b = 2, maka hasil dari fungsi tersebut adalah 6 (12/2).
Parameter kedua adalah 2 karena sudah dispesifikasi bila parameter tidak dilalui
adalah yang tercantum pada fungsi.

  • divide (20,4)
Sudah ada dua parameter, jadi nilai default untuk b (int b=2) tidak digunakan, maka
b menggunakan nilai dari soal, yaitu 4. Hasilnya adalah 5 (20/4).


Ini adalah penggunaan default parameter dijalankan.

Fungsi.. 2

Passed by Value

Saat fungsi tambahan dipanggil, nilai dari variabel lokal a dan b menjadi 5 dan 3, tapi walaupun dilakukan modifikasi tetap tidak merubah apapun pada nilai x dan y di luar itu, karena variabel x dan y itu bukan dilewati dari fungsi tapi hanya di-copy nilainya saat fungsi dipanggil.


Passed by Reference


Untuk variabel di-passed by reference bukan meng-copy nilainya, melainkan bahkan meng-copy variabelnya sendiri dan modifikasi yang dilakukan pada variabel lokal memiliki pengaruh.
Passing by reference juag merupakan jalan yang baik untuk mengizinkan fungsi mengembalikan lebih dari satu nilai.

Selasa, 15 September 2009

Fungsi.. 1

Fungsi adalah kumpulan dari statement yang dijalankan ketika dipanggil.
Format dari fungsi adalah sbb:

type name ( parameter1, parameter2, ...) { statements }


Keterangan :
  • type -- tipe data specifier dari data yang dikembalikan oleh fungsi
  • name -- identifier untuk memungkinkan memanggil fungsi
  • parameters (sebanyak yang dibituhkan) -- setiap parameter terdiri dari tipe data specifier yang diikuti oleh identifier . Parameter yang berbeda dipisahkan oleh koma (,).
  • statements -- bagian dari fungsi yang biasanya ditandai dengan kurung {}

Contoh :

int main(int a, int b)
{
int r;
r=a+b;
return (r);
}


Dan ada juga fungsi yang tidak memiliki tipe. Contoh :

void printmessage ()
{
cout << "I'm a function!"; --- langsung perintah print pada statementnya
}

The Selective Structure - Switch

switch (expression)
{
case constant1:
group of statements 1;
break;
case constant2:
group of statements 2;
break;
.
.
.
default:
default group of statements
}



Urutan proses: switch mengevaluasi ekspresi dan mengecek apakah ekuivalen dengan constant1. Jika iya, akan dieksekusi statement-statement1 sampai tiba di break statement. Saat sampai, program akan berakhir.

JIka tidak, akan dicek ke constant2. Bila ekuivalen dengan constant2, proses yang dijalankan juga sama dengan di atas.

Akhirnya , jika nilai ekspresi tidak ada yang cocok dengan constant2 sebelumnya ( dapat menambah case label sebagai nilai yang ingin dicek) , program akan eksekusi statement setelah default: label, jika ada .

Pengulangan pada C++

while loop
Format :

while (expression) statement


Fungsinya untuk mengulang statement saat kondisinya adalah true.

Contoh:

 while (n>0) {
cout << class="str">", ";
--n;
}

do-while loop
Format :

do statement while (condition);


Fungsinya sama persis dengan while loop, kecuali kondisi pada do-while dievaluasi setelah statement dieksekusi, palong sedikit satu kali meskipun kondisinya tidak pernah tercapai.

Contoh :

do {
cout << "Enter number (0 to end): ";
cin >> n;
cout << "You entered: " << class="str">"\n";
} while (n != 0);


for loop
Format :

for (initialization; condition; increase) statement;


Fungsinya untuk mengulang statement saat kondisinya true. Dan dilakukan penulisan specific location (ada inisialisasi statement dan increase statement). Loop ini dirancang untuk melakukan repetition dengan sebuah counter yang diinisialisasi dan akan bertambah di masing-masing iteration.

Contoh :
 for (int n=10; n>0; n--) {
cout << class="str">", ";
}

Conditional Statement pada c++

If digunakan untuk mengeksekusi sebuah statement maupun blok statement hanya bila kondisinya terpenuhi.

Saat kondisi dari ekspresi dievaluasi , bila bernilai true maka statement akan dijalankan. Sedangkan bila bernilai false, statement tidak dijalankan dan program berlanjut sampai selesai.

Contohnya :

Program untuk mencetak x is 100 hanya bila nilai yang disimpan di variabel x benar-benar 100 :

if (x == 100)
cout << "x is 100";

or

if (x == 100)
{
cout << "x is ";
cout << x;
}

Dapat menambahkan specify lain bila kondisi tidak terpenuhi dengan menggunakan keyword lainnya :

if (x == 100)
cout << "x is 100"; else
cout << "x is not 100";

Dapat digunakan untuk menunjukkan x is positive, negative or bukan keduanya (mis. 0):

if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is negative";
else
cout << "x is 0";


Note : Bila menginginkan lebih dari satu statement yang dijalankan, maka harus di-group dan diberikan tanda kurung {}.

Dua Objek pada Satu Kelas

// contoh: satu kelas, dua objek
#include
using namespace std;

class CRectangle {
int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};

void CRectangle::set_values (int a, int b) {
x = a;
y = b;
}

int main () {
CRectangle rect, rectb;
rect.set_values (3,4);
rectb.set_values (5,6);
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
return 0;
}

Salah satu keunggulan dari kelas adalah dapat mendeklarasikan beberapa objek. Misalnya, kelas CRectangle, yang mendeklarasikan objek rectb sebagai tambahan dari objek rect.
Yang masing-masing memiliki anggota variabel serta fungsi sendiri .

Panggilan terhadap rect.area() tidak memberikan hasil yang sama dengan panggilan terhadap rectb.area(). Karena CRectangle memiliki variable x dan y serta memiliki anggota fungsi sendiri members set_value() and area() yang digunakan masing-masing untuk dioperasikan.

Konsep dasar dari object-oriented programming:
Data dan fungsi adalah bagian dari objek.

Yang Terbaik dari C++

Setelah membaca posting saya sebelumnya, tentang pengenalan, detail tentang c++, tentu saja diketahui bahwa C++ merupakan pemrograman yang berorientasi pada objek.

Object-oriented programs lebih mudah untuk dimengerti, dibenarkan serta dimodifikasi. Banyak bahasa yang berorientasi objek telah ditemukan, diantaranya adalah Smalltalk.

Keunggulan dari C++ :

Senin, 14 September 2009

Operator pada C++

C++ memiliki lebih dari 30 operator, melingkupi aritmatika dasar, bit manipulation, indirection, perbandingan, operator logika dan lain-lain.


Dan masih banyak lagi operator.

Hampir semua operator dapat overloading untuk setiap tipe, dengan pengecualian (. dan.*). Overloading sebuah operator tidak merubahaturan kalkulasi operator yang seharusnya, dan juga tidak merubah jumlah operand yang opertaor gunakan .

Konstanta pada C++

INTEGER NUMERAL

1776
707
-273

Di atas adalah angka-angka yang termasuk ke nilai desimal integer .
Dan tidak memiliki aturan penulisan quote (") pada karakter spesial.

C++ juga mengizinkan penggunaan konstanta bilangan oktal (basis 8) dan heksadesimal (basis 16).
Jika ingin menggunakan octal number harus dimulai dengan angka 0 (zero ).
Dan bila ingin menggunakan hexadecimal number harus dimulai dengan 0x (zero, x).


Contoh :
75 // decimal
0113 // octal
0x4b // hexadecimal



CHARACTER dan STRING

x // string
'x' // character

x akan menunjukkan huruf x itu sendiri, sedangkan 'x' (menggunakan kutip satu ) menunjukkan karakter konstan 'x'.

Pemahaman character dan string memiliki sedikit keanehan, seperti kode untuk melarikan diri. Karena itu karakter-karakter spesial diekspresikan saat menulis source code program dengan penulisan backslash (\).


Inisialisasi Variabel

Saat mendeklarasi variabel lokal, bila ingin menyimpan nilai di waktu yang sama saat dideklarasikan, juga bisa dengan menginisialisasikan variabel.

Ada 2 cara untuk melakukan di c++ :

Yang pertama, dikenal dengan nama c-like, dilakukan dengan menuliskan tanda sama dengan diikuti dengan nilai yang ingin diinisialisasi :

type identifier = initial_value ;

Contoh:

int a = 0 ;



Yang kedua, dikenal dengan nama constructor initialization, dilakukan dengan menggunakan tanda kurung (()) :

type identifier (initial_value) ;

Contoh :

int a(0);

Keduanya dapat digunakan dan ekuivalen pada pemrograman C++.

Penggunaan Variabel

Semua variabel yang digunakan dalam pembuatan program harus dideklarasikan pada awal coding, sama seperti di awal fungsi main dideklarasikan a, b dan hasil termasuk tipe int.

Variabel dapat berupa scope global atau lokal.
Variabel global adalah variabel yang dideklarasikan di main body source code, di luar semua fungsi.



Variabel lokal dibatasi oleh tanda kurung ({}) di tempat dideklarasikan.
Variabel lokal ini tidak bisa diakses dari fungsi yang lain.

Deklarasi Variabel

Untuk menggunakan variabel pada C++, pertama-tama harus mendeklarasikan dulu tipe data yang ingin digunakan.Syntax penulisannya adalah dengan menspesifikasikan tipe data (misal : int, bool, float...) dan diikuti valid variable identifier.

Contoh :

int a; -- tipe data int, identifier a
float mynumber; -- tipe data float, identifier my number


Jika ingin mendeklarasikan lebih dari satu identifier juga bisa, tapi harus memiliki tipe data yang sama. Penulisannya bisa dipisahkan dengan koma (,) :

int a, b, c;

atau

int a;
int b;
int c;



Contoh program :
// variabel yang dideklrasi

#include
using namespace std;

int main ()
{
// deklarasi variabel:
int a, b;
int result;

// proses:
a = 5;
b = 2;
a = a + 1;
result = a - b;

// cetak result:
cout << result;

// program dijalankan:
return 0;
}

Tipe Data Fundamental

Saat membuat program, variabel yang dibuat disimpan pada memori komputer,tapi komputer harus tahu tipe data apa yang disimpan, karena cakupan memori yang dibutuhkan pun berbeda, serta cara interpretasinya pun beda.

Memori dalam komputer dihitung dalam satuan byte.
Satu byte adalah satuan minimum memori yang dapat digunakan dalam C++. Satu byte ini juga dapat menyimpan data : satu single character atau small integer
(generally an integer between 0 and 255). Dan nyatanya, komputer juga dapat memanipulasi tipe data kompleks dari long - numbers atay non-integer numbers.

Komentar pada C++

Komentar adalah sebuah teks yang tidak dianggap ada oleh compiler namun sangat berguna sekali untuk programmer.Komentar biasanya digunakan untuk menuliskan keterangan-keterangan untuk referensi selanjutnya.

Komentar mempiliki tujuan, yaitu untuk mengizinkan programmer agar dapat menyisipkan catatan-catatan penting di dalam source code.
Komentar juga dapat digunakan untuk mengetes beberapa baris kode dapat dijalankan atau tidak.

Cara penulisan komentar pada C++ :

  • /* (slash, asterisk) karakter, diikuti urutan karakter lainnya (bisa jadi baris baru) , lalu kembali diikuti */ karakter. Syntax ini dinamakan ANSI C.
  • The // (2 slashes) karakter, diikuti urutan karakter lainnya. Biasanya disebut single-line comment.



Contoh program :
/*program ke2 di C++
dengan komentar */

#include
using namespace std;

int main ()
{
cout << "Hello World! "; // cetak Hello World!
cout << "I'm a C++ program"; // cetak I'm a C++ program
return 0;
}


Penulisan komentar pada C++ hanya akan dianggap sebagai ekspresi oleh compiler C++, karena mungkin akan menyebabkan satu atau beberapa error message saat dicompile.

Struktur Program .. 2

Pada posting sebelumnya , sudah dipelajari bagaimana menulis kode.

Program ini sudah dituliskan di baris yang berbeda agar lebih mudah dibaca, tapi pada C++, tidak ada peraturan yang ketat untuk membagi kode di beberapa baris.

Contoh :
int main ()
{
cout << " Hello World!";
return 0;
}

Dapat juga ditulis :

int main (){ cout << " Hello World!"; return 0;}


Keduanya merupakan penulisan yang memiliki maksud sama, dan saat dijalankan programnya akan menghasilkan hasil yang sama.

Pada C++, pemisahan statement dilakukan dengan menggunakan semicolon (;) di akhir masing-masing statement. Hal ini juga dilakukan agar lebih mudah dibaca serta dimengerti.

Struktur Program .. 1

Dan berikut ini adalah cara penulisan program di C++ :

// program pertama di C++

#include
using namespace std;

int main ()
{
cout << "Hello World!"; // cetak Hello World!
return 0;
}


Ini adalah sedikit keterangan dari masing-masing bagian yang ada pada kode di atas :

// program pertama di C++
Ini adalah baris komentar. Semua baris yang diawali dengan dua slash (//) dianggap sebagai komentar dan tidak memiliki efek apapun pada program. Programer dapat menggunakanny untuk memberikan penjelasan singkat tentang program itu sendiri.

#include
Baris yang dimulai dengan tanda hash (#) dianggap sebagai preprosesor. BUkan merupakan barisan kode dengan ekspresi tapi merupakan indikasi dari preprosesor compiler.Contohnya #include merupakan preprocessor untuk mengikutsertakan iostream standard file. Iostream ini adalad deklarasi input-output standard di C++, dan fungsinya akan digunakan nanti di programnya.

using namespace std;
Semua elemen standar C++ dideklarasikan oleh namespace, yang diberi nama std. Elemen ini digunakan sebagai standard library, dan faktanya seringkali digunakan setiap source code.

int main ()
Ini adalah awal dari pendefinisian fungsi main. Disini adalah awal dari suatu program dijalankan pada source code. Dan tidak ada masalah bila ada pula fungsi-fungsi yang lainnya, tetap fungsi main saja yang dijalankan. Maka sangat penting, di C++ untuk memiliki fungsi main.

Penulisan (()) setelah main karena ini adalah deklarasi suatu fungsi. Dan ada juga beberapa parameter yang dituliskan di dalam tanda kurung tersebut.

Setelah itu penulisan ({}) sebagai tempat yang berisi langkah-langkah fungsi saat dijalankan.

cout << "Hello World!";
Ini adalah baris statement. Dan hanya menjalankan hal yang sifatnya visible saat dijalankan hasilnya.

cout adalah standard output stream di C++, dan lanjutannya adalah karakter-karakter apa yang diinginkan untuk keluar sebagai tampilan output di layar.

cout sudah dideklarasikan pada iostream standard file dengan nama std namespace, maka dari itiu dibutuhkan specific file dan namespace di awal code.
Akhir statement , seperti biasa, diakhiri dengan tanda semicolon character (;).

return 0;
Statement return ini menyebabkan fungsi main selesai. Biasanya diinterpretasikan agar program yang dijalankan terhindar dari error.

Pengenalan C++

Pertama kali mendengar tentang C++, mungkin akan ada beberapa orang yang mengerutkan kening. Dan mungkin ada juga yang berpikir itu adalah salah satu fungsi matematika. Ternyata , keduanya bukan yang dimaksud dari C++.

Dan ini adalah penjelasan mengenai C++ :

C++ (dieja "C plus plus") adalah bahasa pemrograman yang multi paradigma, bebas, bisa dicompile. Ditemukan oleh Bjarne Stroustrup pada tahun 1979, dengan nama asli "C with Classes". Dan diubah namanya menjadi C++ pada tahun 1983.

C++ digunakan untuk industri software, dan termasuk salah satu dari bahasa pemrograman yang populer. Beberapa aplikasinya termasuk sistem software, aplikasi software, software embeddedm aplikasi client dan lain-lain. Dan ada juga yang menyediakan compiler gratis, seperti GNU Project, Borland, Microsoft, dan lain-lain.

Pertama-tama dimulai dari adanya kelas, lalu fungsi virtual, operator overloading, multiple inheritance, templates dan excepteion handling di antaranya. Setelah beberapa tahun, C++ diratifikasi pada tahun 1998 sebagai ISO.IEC 14882:1998. Lalu ada juga standard versi lainnya, yaitu C++ox yang muncul pada tahun 2003.


Langkah terbaik agar semakin lancar membuat coding adalah dengan modifikasi dan menambah fungsi baru ke program yang benar-benar dimengerti.


Say HI ...

Hi..Ini adalah blog saya yang ke-3..
Dua blog lainnya saya buat di blogspot ini dan wordpress. Tapi sayangnya saya kadang tidak mempunyai cukup waktu untuk meng-update blog-blog tersebut. Dan ternyata, saya masih harus membuat jenis blog yang sama untuk mata kuliah di semester 3 ini di Universita Bina Nusantara. Yang pada Bahasa Indonesia disebut Pemrograman Berorientasi Objek dnegan dosennya Mr. Hendra,S.Kom.,MT.

Dan akhirnya , saya pun harus memulai blog ini.
Akan ada beberapa pemahaman mengenai program c++ serta codingan program c++.


Hormat,


Noviandita . P . H