Kamis, 29 Oktober 2009

Pointer C++

Pointer
1 PENGERTIAN POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
? Operator &
1. Operator & bersifat unary (hanya memerlukan satu operand saja).
2. Operator & menghasilkan alamat dari operandnya.
? Operator *
1. Operator * bersifat unary (hanya memerlukan satu operand saja).
2. Operator * menghasilkan nilai yang berada pada sebuah alamat.


2 Inisialisasi String(cont.)
 Contoh program array dimensi 2
/*Program :array.cpp*/
#include
Void printArray(int [] [3]);
Main() {
int matrik1[2] [3] ={ {1,2,2}, {4,5,6} },
matrik2[2] [3] ={ {1,2,3,4,5,} },
matrik3[2] [3] ={ {1,2}, {4} },
printArray(matrik1) ;
printArray(matrik2) ;
printArray(matrik3) ;
return 0;
}
Pointer : variabel yang berisi alamat memori
Bentuk Umum : Type *variable name;
 Type adalah tipe dasar pointer
 Variable name adalah nama variabel pointer
 * adalah operator memori untuk mengembalikan nilai variabel pada alamatnya yang ditentukan oleh operand.

Contoh program pointer
//Program :pointer1. cpp
#include <'iostream.h'>
// cetak p dan *p
Void main(void)
{
int v = 7, *p;
p = &v;
cout << “Nilai v = “ << v << “ dan *p = “ << *p
<< “ \nAlamatnya = “ << p << ‘n’;
}

Hasil dari program adalah sebagai berikut :
Nilai v = 7 dan *p = 7
Alamatnya = efffb24
Operator Pointer
Ada beberapa operator yang digunakan dalam pointer yaitu operator alamat (&)
Contoh :
int y = 5;
int *yPtr;
Maka pernyataan
yPtr = &y;
Mengandung arti bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr.

Contoh program operator pointer :
//Program :pointer2. cpp
#include <'iostream.h'>
Int main()
{
int *ptr, num; // 1
ptr = # // 2
*ptr = 100; // 3
cout << num << “ “;
(*ptr)++; // 4
cout << num << “ “;
(*ptr)*2; // 5
cout << num << “\n “;
return 0;
}

• Operasi Aritmatika
? Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Begitu juga operasi pengurangan.

Contoh Program :
#include <'stdio.h'>
#include <'conio.h>
void main()
{ int nilai[3], *penunjuk;
clrscr();
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
printf(�Nilai %i ada di alamat memori %p\n�, *penunjuk, penunjuk);
printf(�Nilai %i ada di alamat memori %p\n�, *(penunjuk+1), penunjuk+1);
printf(�Nilai %i ada di alamat memori %p\n�, *(penunjuk+2), penunjuk+2);
getch();
}

• Operasi Logika
? Suatu pointer juga dapat dikenai operasi logika.
Contoh Program :
#include <'stdio.h'>
#include <'conio.h'>
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
if(pa < pb)
printf(�pa menunjuk ke memori lebih rendah dari pb\n�);
if(pa == pb)
printf(�pa menunjuk ke memori yang sama dengan pb\n�);
if(pa > pb)
printf(�pa menunjuk ke memori lebih tinggi dari pb\n�);
getch();
}

4 POINTER DAN STRING
Contoh Program 1 :
#include <'stdio.h'>
#include <'conio.h'>
char *nama1 = �SPIDERMAN�;
char *nama2 = �GATOTKACA�;
void main()
{ char namax;
clrscr();
puts(�SEMULA :�);
printf(�Saya suka >> %s\n�, nama1);
printf(�Tapi saya juga suka >> %s\n�, nama2);
/* Penukaran string yang ditunjuk oleh pointer nama1 dan nama2 */
printf(�SEKARANG :�);
printf(�Saya suka >> %s\n�, nama1);
printf(�Dan saya juga masih suka >> %s\n�, nama2);
getch();
}
Contoh Program 2 :
#include
void misteri1(char *);
void main() {
char string[] = "characters";
printf("String sebelum proses adalah %s", string);
misteri1(string);
printf("String setelah proses adalah %s", string);
}
void misteri1(char *s) {
while ( *s != '\0' ) {
if ( *s >= 'a' && *s <= 'z' )
*s -= 32;
++s;
}
}









5 Array Pointer
Pointer dapat di-array seperti tipe data lain dalam C++ integer
contoh :
Int *pi[10];

Contoh Program array pointer
//Program :pointer6. cpp
#include
int main()
{
Int numbers[5];
Int *p;
p = numbers; *p = 10;
p++; *p =20;
p = &numbers[2]; *p = 30;
p = numbers + 3; *p = 40;
p = numbers; *(p+4) = 50;
for (int n=0; n<5; n++)
cout << numbers[n] << “, “;
return 0;
}

Output :
10, 20, 30, 40, 50,


from : http://arem756.blogspot.com/2009/06/artikel-dan-contoh-program-pointer-c.html Read More..

Tiga fungsi pointer di C++

Tiga fungsi pointer di C++

Beberapa saat yang lalu saya pernah menulis tentang tiga fungsi pointer dalam C++. Tulisan tersebut adalah respons dari posting seseorang yang menanyakan tentang pointer.

Akan tetapi tulisan tersebut kurang menjelaskan tentang :
1. mengapa pembedaan ketiga fungsi tersebut ada.
2. beberapa istilah yang saya gunakan yang, terus terang, tidak standard.
3. apa pengaruhnya terhadap kode, dengan mengacu pada pembedaan ketiga fungsi tadi.

--- Penjelasan tentang pointer
pointer adalah built-in type di C dan C++, dimana C++ mengambil konsep pointer dari C. Pointer sebenarnya sangat terkait dengan "Abstract C Machine", yaitu model mesin abstrak dimana program C bekerja. Abstract C Machine adalah mesin abstrak dimana mesin tersebut memiliki prosesor untuk menginterpretasikan stream of instruction, dan addressable memory yang terbagi kedalam 3 bagian : automatic memory, static memory dan free memory. Addressable memory adalah memory yang konten-nya dapat diambil jika diketahui alamatnya. Lebih jauh lagi, terdapat asumsi bahwa konten memori dapat di ambil dengan waktu konstan, tidak peduli berapa nilai alamat.Hal ini disebut dengan Random Access Memory.

--- Penggunaan Awal Pointer
Jika variabel merupakan isi memori, dan untuk mengakses isi memori tersebut diperlukan address, lalu bagaimana cara kita mengetahui alamat dari suatu variabel ? Jawabannya adalah : untuk kebanyakan kasus kita sama sekali tidak perlu tahu alamat dari sebuah variabel. Untuk mengakses sebuah variabel kita hanya perlu nama dari variabel tersebut. Tugas kompiler lah yang mentranslasikan nama ke alamat mesin yang diperlukan oleh komputer.

Akan tetapi terdapat beberapa kasus dimana kita tidak mungkin memberi nama pada sebuah entitas di program kita. Hal ini terjadi terutama saat kita menggunakan data struktur dinamis seperti linked list, resizeable array, tree dan lain sebagainya. Hal ini karena kita tidak mungkin memberi nama terhadap entitas yang mungkin ada atau tidak ada. Struktur seperti linked list hampir mustahil dibuat tanpa pointer tanpa harus mendefinisikan LISP-like list.

Inilah awal mula penggunaan pointer sebagai moniker. Istilah moniker di sini berarti sesuatu yang menunjuk atau mengacu kepada entitas lain. Istilah moniker ini bukanlah istilah standard dan lazim , tetapi sesuatu yang saya pilih impromptu untuk membedakan dengan pointer atau reference yang sudah memiliki arti tersendiri.

Penggunaan lain pointer sebagai moniker adalah untuk mengatasi kelemahan bahasa C awal : Dahulu fungsi - fungsi di C hanya mengerti pass by value. Pointer digunakan untuk mengemulasi pass by reference karena pointer berisi alamat ke objek lain, sehingga fungsi tersebut dapat mengubah objek tersebut dengan memanipulasi pointer.

Pertanyaanya : siapa yang bertugas menentukan alamat objek yang di tunjuk oleh pointer dalam kasus ini ? jelas bukan kompiler karena objek tersebut tidak bernama. Apakah kita sebagai programmer menentukannya sendiri ? ternyata tidak. Hal tersebut ditentukan oleh fungsi malloc dan sejenisnya (dan juga new di C++), atau untuk kasus passing pointer ke dalam fungsi, operator &. Jadi dalam hal ini kita tidak juga menentukan alamat sebuah objek.

--- Builtin Array di C dan C++
Sebelum membahas array di C dan di C++, ada baiknya kita membahas tentang array. Array adalah asosiasi antara sebuah index dengan nilai. Jika diketahui sebuah index, kita akan mengetahui nilainya. Dari definisi ini :
1. Tidak disebutkan bahwa index harus integer, atau tipe tertentu.
2. Tidak disebutkan range dari indexnya dimulai dari nilai tertentu, Bahkan tidak disebutkan bahwa indeks nya memiliki batas bawah maupun batas atas.
3. Tidak disebutkan bahwa nilai harus disimpan secara contigous, bahkan tidak disebutkan bahwa nilainya harus di simpan sama sekali.

akan tetapi :
1. Banyak bahasa pemrograman yang di desain tahun 60-an hingga tahun 70-an menentukan bahwa index array adalah integer atau sesuatu yang bisa dikonversi menjadi integer atau sesuatu yang memiliki nilai berurutan seperti integer.

2. Beberapa bahasa menentukan bahwa array dimulai dengan nilai tertentu. contohnya di C, array dimulai dari 0 sementara di Pascal Array dimulai dari 1. Dalam Algo-68 programmer dapat menentukan sendiri batas- batas array. Akan tetapi dalam semua bahasa pemrograman mengakses nilai dengan indeks yang di luar batas dianggap sebagai programming error.

3. Semua bahasa pemrogramman yang saya tahu menyimpan elemen - elemen array di memory. beberapa bahasa, misalnya C, menjamin bahwa elemen - elemen tersebut disimpan dalam memory yang contigous.

Sekarang tipe yang lebih mendekati definisi awal array tersedia dengan nama associative array. Tipe ini didukung oleh beberapa bahasa seperti PHP dan JavaScript, dan juga tersedia dalam beberapa bahasa lain sebagai library ( seperti std::map di C++).

Kembali ke C dan C++ array, kita dapat tentukan beberapa property array : zero based, contigous dan convertible to pointer. Banyak alasan dengan dipilihnya property seperti ini, tapi yang paling penting adalah efisiensi, yang akan kita bicarakan sebentar lagi. setiap array dapat dikonversi menjadi pointer yang menunjuk ke elemen pertama. Hal ini sangat konvenien mengingat dynamic array diciptakan dengan alokasi memori dari free memory (dengan fungsi calloc, yang berarti contigous alloc. yang aneh adalah fungsi ini berperilaku mirip dengan malloc kecuali dia menginisialisasi memori dengan nol. ). Kemudian kita tahu bahwa elemen dalam array di simpan secara berurutan, dengan demikian alamat semua elemen array adalah ptr + n * sizeof(elemen). Dengan mendefinisikan pointer arithmatic, didapat kesamaan ar[idx] == *(ar + idx). hal ini menimbulkan sesuatu yang menarik , ar[idx] == *(ar + idx) == *(idx + ar) == idx[ar] (yes, it is valid C !!).

Operasi pointer arithmatic lain juga didefinisikan untuk pointer. yang menarik adalah increment dan decrement. programmer dapat memeriksa semua elemen dalam array dengan cara menginkremen pointer dari pointer penunjuk elemen pertama. Tentu saja hal yang sama dapat dilakukan dengan indexing biasa, ar[idx], akan tetapi dengan operasi pointer bisa lebih efisien. Alasannya terletak pada bagaimana cara komputer membaca data di ar[idx]. Untuk mesin yang memiliki indexed addressing hal ini cukup sederhana dan efisien (ar jadi base, idx jadi index, fetching cukup 1 instruksi mov). Tetapi untuk mesin yang tidak memiliki indexed addressing, akan ada operasi ADD antara ar dan idx, lalu simpan hasilnya ke suatu tempat (register), lalu baru mov. Kadang - kadang register tersebut digunakan untuk operasi ADD sehingga terdapat beberapa mov untuk menyimpan state. Akan tetapi jika menggunakan pointer arithmatic, cukup meng-increase nilai yang sudah ada di register, lalu mov. Tentu saja instruksi di dalam loop juga mempengaruhi efisiensi ini, tetapi untuk mesin yang mendukung operasi increment langsung, iterasi lewat pointer biasanya lebih efisien.

Ini adalah penggunaan pointer sebagai iterator. Nama iterator diambil dari STL, dan iterator di STL adalah abstraksi dari pointer. Yang menakjubkan adalah konsep iterator, yang digeneralisasi dari pointer, adalah konsep yang cukup powerful untuk merepresentasikan semua algoritma yang bekerja untuk linear container ( linear container adalah semua container yang memiliki iterator yang menunjuk pada elemen pertama, memiliki iterator yang menunjuk pada elemen one-past-end, dan semua elemen dapat dicapai dengan melakukan operasi incremen dari iterator penunjuk elemen pertama sebanyak yang diperlukan. Contoh linear container adalah array, vector, linked - list, dan deque. contoh yang bukan linear container adalah graph dan forest.).

---Fixed memory Location
Dalam pemrograman, kita dihadapkan pada beberapa situasi seperti :
- setelah startup, prosesor 80386 akan memulai eksekusi pada alamat ( ... lupa).
- Interrupt vector beberapa prosesor ditaruh pada alamat yang ditentukan oleh pembuat prosesor tersebut.
- Video Memory di DOS dimulai pada alamat (... lupa).

Situasi - situasi tersebut hanya mungkin terjadi jika kita memrogram "close to metal" e.g membuat operating system, atau kita memrogram dalam OS yang super primitif seperti DOS. Dalam kasus - kasus ini kita memerlukan pointer dengan alamat di set ke nilai tertentu. Ini adalah penggunaan pointer sebagai abstraksi alamat di hardware. Penggunaan ini adalah penggunaan pointer paling jarang.

--- So, What's a big deal about it ?
Ketiga fungsi pointer di atas memerlukan operasi yang berbeda- beda. Contohnya jika pointer berfungsi sebagai moniker, operasi yang sangat diperlukan adalah fungsi malloc, calloc, free, new, delete, operator ->, operator * dan operator &. sebagai moniker pointer tidak memerlukan konvertability ke integer dan operasi pointer arihmatic (walaupun ada trik mengakses field struct dari pointer dengan meng-cast pointer to struct menjadi char*, tambahkan offsetnya, lalu baca dengan operator * dan di cast ke tipe field tersebut. trik ini sangat berbahaya dan sebaiknya tidak dipakai ).
Jika pointer berfungsi sebagai iterator, operasi pointer arithmatic adalah esensial. Tetapi operasi new dan delete sama sekali tidak di perlukan (kecuali untuk array of pointer). bottom line is: you do not do memory management via iterator.
Sifat konvertibilitas antara integer dan pointer hanya diperlukan jika pointer tersebut dipakai sebagai abstraksi fixed address. Dua fungsi lain tidak memerlukan sifat ini.

--- Pointer in OOP
C++ mendukung OOP, akan tetapi pada saat yang sama juga kompatibel dengan C. Hal ini menimbulkan masalah. Akan tetapi sebelum melihat apa masalahnya, ada baiknya kita bahas sedikit tentang Polymorphism.

Polymorphism adalah jawaban untuk pertanyaan: bagaimana cara menulis fungsi atau prosedur yang tidak dibatasi oleh tipe. contohnya adalah fungsi average, fungsi ini menjumlahkan sejumlah elemen dan membaginya dengan banyaknya elemen. hal ini benar untuk banyak tipe termasuk integer, koordinat kartesian, bilangan kompleks, kuartenion, matrix ,dsb walau aturan penjumlahan tipe - tipe tersebut berbeda. Untuk bahasa yang tidak mendukung polymorphism, anda harus menulis fungsi seperti averageInt, averageMatrix, averageComplex, etc.

Dari sifatnya, polymorphism terbagi dua: ad-hoc polymorphism dimana polymorphism hanya bekerja pada tipe yang sudah ada. contoh mekanisme ad-hoc polymorphism adalah function dan operator overloading. Sedangkan true polymorphism atau parametric polymorphism dapat digunakan bahkan untuk tipe yang belum dispesifikasi. Perbedaan lainnya adalah untuk ad-hoc polymorphism biasanya anda harus menulis fungsi untuk semua tipe yang berpartisipasi dalam mekanisme polymorphism, sperti menulis average untuk integer, lalu untuk quartenion, lalu satu lagi untuk complex, dll. Sedangkan untuk parametric polymorphism anda hanya perlu menulis satu fungsi.

Dari binding-time nya, polymorphism dapat dibagi 2: static dan dynamic polymorphism. Static polymorphism menentukan fungsi mana yang akan di panggil (atau mungkin di generate ) pada saat kompilasi. Sedangkan dynamic polymorphism menentukan fungsi yang di panggil pada saat run-time. contoh static polymorphism adalah template, sedangkan contoh dynamic polymorphism adalah virtual function.

static polymorphism dapat dibagi menjadi predicative atau impredicative, tetapi hal ini tidak ada hubungannya dengan diskusi kita.

Untuk dynamic polymorphism, dapat dibagi lagi berdasarkan berapa banyak parameter yang berpengaruh dari penentuan fungsi. Jika hanya parameter pertama yang berpengaruh, hal ini disebut dengan single dispatch. Jika lebih dari satu, hal ini disebut dengan multimethod. multimethod yang dipengaruhi oleh dua parameter mempunyai nama khusus yaitu double dispatch. Harap perhatikan bahwa p->somefunc(a,b) itu secara prinsip sama dengan somefunc(p,a,b) dimana p adalah this parameter (walaupun semua kompiler akan mereject kalau anda mengganti fungsi seperti itu).

Dynamic Polymorphism juga dapat dibagi berdasarkan constraint nya menjadi dua: Subtyping Polymorphism dimana polymorphic type harus merupakan turunan dari satu base class yang merupakan sebuah interface yang menentukan sifat mana yang polymorphic. Yang lainnya adalah DuckTyping yang tidak memerlukan base class yang berfungsi sebagai interface. Dalam DuckTyping sebuah object dapat menerima message apa saja, walau jika object tersebut tak dapat merespond message tersebut objeck yang bersangkutan akan mengeluarkan error seperti DoesNotUnderstand message di SmallTalk. Untuk subtype polymorphism, hal ini tidak mungkin karena sebuah object hanya akan menghandle message yang didefinisikan di base class, dan kompiler akan mereject message lain.

Kembali ke bahasan kita, C++ mendukung Subtyping single dispatch dynamic Polymorphism. Jadi untuk dynamic polymorphism, semua tipe yang ingin digunakan secara polymorphic harus diturunkan dari satu base class. C++ juga mengharuskan semua fungsi yang bisa dipanggil secara polymorphic harus dideklarasikan virtual. Dan pemilihan fungsi yang diperlukan hanya ditentukan oleh satu parameter (this parameter) melalui mekanisme vtable.


from: http://www.gamedevid.org/forum/showthread.php?t=5075 Read More..

Kamis, 08 Oktober 2009

BUKU Refrensi C++


DASAR PEMROGRAMAN C++
ISBN 979-763-582-1
Pengarang HANIF AL FATTA
Penerbit ANDI PUBLISHER
Terbitan 10 Februari 2007
Kategori Language Programmig Basic
Ukuran 24 x 15 cm (Standar +)
Status lama

Read More..

Rabu, 07 Oktober 2009

Pengenalan & Sejarah Bahasa Pemrograman C++

Sejarah Singkat

Pada mulanya bahasa komputer digunakan untuk membantu dalam melakukan perhitungan - perhitungan Telemetri. ketika itu bahasa yang digunakan masih sangat primitif sekali, karena masih berupa bahasa mesin yang hanya mengenal angka 1 dan 0. Selanjutnya bahasa mesin tersebut disederhanakan menjadi bahasa yang agak dipahami yang disebut bahasa Assembly, yaitu bahasa tingkat menengah (Low Level Language). Pada Tahun 1969, Laboraturium Bell AT&T di Murray Hill, New Jersey menggunakan bahasa Assembly untuk mengembangkan sistem operasi UNIX. yang bertujuan untuk membuat Sistem operasi yang dapat bersifat mudah di program (Programmer Friendly). Setelah UNIX berjalan, Ken Thompson, seorang pengembang sistem pada Laboratorium AT&T Laboratories mengembangkan compiler baru dengan nama bahasa B. Bahasa B ini digunakan untuk merevisi sistem operasi UNIX. Karena bahasa B ini masih bersifat Intpreter dan terbilang lambat, maka pada tahun 1971. Sistem operasi UNIX ditulis ulang menggunakan bahasa C, yaitu bahasa pemrograman yang dikembangkan oleh Dennis Ritchi, seorang pengembang sistem di laboratorium yang sama. Tetapi bahasa C masih sulit dipelajari karena masih bersifat prosedural murni. akhirnya pada tahun 1983, Bjarne Stroustrup yang juga pengembang sistem di Laboratorium yang sama menciptakan bahasa C++ yang merupakan bahasa Hybrid dari bahasa C. Karena bahasa C++ didasarkan dari bahasa C. sehingga kita bisa mengkompilasi program - program yang ditulis dalam bahasa C dengan menggunakan Compiler C++.

Keistimewaan

Keistimewaan bahasa C++ adalah karena bahasa ini merupakan bahasa pemrograman yang berorientasi Objek (Object Oriented Programming). bahasa C++ sendiri merupakan bahasa tingkat menengah (Middle Level Language).

Hingga saat ini bahasa C masih digunakan untuk mengembangkan program dan sistem operasi diantaranya sytem operasi yang sering kita gunakan Windows dan Linux. dan banyak digunakan juga untuk mengembangkan program - program aplikasi di bidang Telekomunikasi, Finansial, dan Bisnis. bahkan sampai saat ini permainan game yang biasa kita temukan pada komputer sebagian besar masih menggunakan bahasa C/C++.

Proses Kompilasi dan Eksekusi Program

a. Preprocessor
mula - mula kode program akan dimasukan kebagian preprocessing yaitu yang diawali dengan # (Pound)dan akan menghasilkan file yang akan di lewatkan kedalam Compiler. beberapa Preprocessor tersebut diantaranya : #include, #define, #ifdef, dll.

b. Compiler C++
Disini Compiler akan menterjemahkan kode program yang dilewatkan oleh preprocessor kedalam bahasa Assembly.

c. Assembler
Assembler menerima keluaran dari compiler C++ dan akan membuat sebuah Code Objek, yang akan dieksekusi menjadi file EXE.

d. Link editor
bagian ini dikerjakan jika kode program yang kita buat menggunakan fungsi - fungsi luar yang disimpan dalam sebuah library lain. Link editor akan mengkombinasikan kode objek dan library yang ada untuk menjadikan sebuah file EXE.

dari pengenalan, sejarah dan sedikit pembahasan mengenai bahasa pemrograman C++ diatas dapat membuka wawasan anda mengenai bahasa C++. mungkin jika anda tertarik dan ingin mempelajari bahasa C++ ini , Silakan anda download C++ compiler for windows yang telah saya sediakan dibawah ini :

Turbo C++ For Windows
Read More..

Dasar Program C++

Dasar Program C++

Hal yang menjadi catatan penting di sini bahwa program C++ bersifat Case Sensitive, artinya huruf besar dan kecil dianggap beda. (Dalam contoh ini memakai program Turbo C++)
Contoh program C++ :
#include "iostream.h"
void main()
{
cout << "Hello world.\n"; }
A. FILE HEADER
iostream.h pada contoh diatas disebut file header, yang diperlukan agar perintah cout bisa dijalankan.

Untuk mengaksesnya, digunakan perintah #include , atau #include “file header”. Dalam suatu program bisa jadi melibatkan lebih dari satu file header. File header untuk printf adalah stdio.h
File header untuk clrscr() adalah conio.h

B. FUNGSI MAIN()
Tulisan main()
merupakan nama fungsi, sedangkan bagian yang diapit dengan { dan } disebut blok (tubuh fungsi). Sedangkan perintah void bermakna bahwa fungsi main() tidak mengembalikan nilai/value.

C. STATEMENT
Perintah cout << "Hello world.\n"; adalah salah satu contoh statement. Perintah tersebut digunakan untuk menampilkan tulisan pada layar. Setiap statement harus diakhiri dengan ; (titik koma). Tanda \n digunakan untuk pindah baris. Bandingkan hasilnya contoh diatas dengan di bawah ini:
#include "stdio.h"
void main()
{
printf ("Hello world.\n");
}
D. MENGHAPUS LAYAR
Untuk menghapus/membersihkan layar dalam program C++ digunakan perintah clrscr(). Perintah ini bisa dijalankan setelah ditambahkan file header conio.h.
Contoh:
#include "stdio.h"
#include "conio.h"
void main()
{
printf ("Hello world.\n");
clrscr();
}

E. KOMENTAR
Anda dapat menambahkan komentar pada program C++ Anda. Berikut ini style untuk menambah komentar.
// ----------------------------------
// ini adalah komentarku yang pertama
// ----------------------------------
atau
/* ----------------------------------
ini adalah komentarku yang pertama
---------------------------------- */
Contoh:
#include "iostream.h"
void main()
{
//Perintah ini untuk menampilkan Hello world dilayar :
cout << "Hello world.\n"; /*Perintah ini untuk menampilkan Latihan Torbo C++ dilayar : */ cout << "Latihan Torbo C++.\n"; }

Sumber : http://kliksanasini.blogspot.com
Read More..