C++ Language

logo-sun

C++ was designed to provide Simula’s facilities for program organization together with C’s efficiency and flexibility for systems programming.

  • Bjarne Stroupstrup, the language’s creator

History of C and C++

C++ evolved from C and was developed in 1967 by Martin Richards as a language for writing operating systems software and compilers for operating systems.

 

Syntax and Semantics

  • Syntax: the form or structure of the expressions, statements, and program units
  • Semantics: the meaning of the expressions, statements, and program units
  • Syntax and semantics provide a language’s definition
    • Users of a language definition
      • Other language designers
      • Implementers
      • Programmers (the users of the language)

 

Criteria Syntax

  • Readibility
  • Writeability
  • Verifiability
  • Translate Ability
  • Ambiguity reduction

Function of Syntax

  • Syntax has a function to communicate between programmer and the process of programming language to ease of making a program

 

C++ Syntax Element

  • Character
  • Identifier

A C++ identifier is a name used to identify a variable, function, class, module, or any other user-defined item.

  • Symbol
  • Arithmatics

= , !=,

 

C++ comments

  • Comments appear in green in Visual C++.
  • Comments are explanatory notes; they are ignored by the compiler.
  • There are two ways to include comments in a program:

            // A double slash marks the start of a //single line comment. 

/* A slash followed by an asterisk marks the start of a multiple line comment. It ends with an asterisk followed by a slash. */

 

Control Statement

  • Selection

if (single selection)

if-else (double-selection statement)

  • Repetition

do-while

for

 

A Simple C++ Example — D&D Figure 18.1

 

Keywords C++

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template

Escape Sequence

  • \n (New Line)
  • \t (Horizontal tab)
  • \r (Carriage return)
  • \a (Alert)
  • \\ (Blackslash/Comment)
  • \’ (Single quote)
  • \” (Double quote)

 

Assignment Operator

Basically, assignment operator is used to assign the value of one variable to another variable. Or assign value to a variable. Here is the general form to assign variable’s value or value to a variable

a = b;

x = 10;

 

In the above statements, the value of b is assigned to a, and the value 10 is assigned to x. Here is an example:

/* C++ Assignment Operator */

#include<iostream.h>

#include<conio.h>

void main()

{

clrscr();

int a, b=10, x;

a = b;

x = 10;

cout<<“a = “<<a<<endl;

cout<<“b = “<<b<<endl;

cout<<“x = “<<x<<endl;

getch();

}
Assignment operators supported by C++ language:

Operator Description Example
= Simple assignment operator, Assigns values from right side operands to left side operand C = A + B will assign value of A + B into C
+= Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand C += A is equivalent to C = C + A
-= Subtract AND assignment operator, It subtracts right operand from the left operand and assign the result to left operand C -= A is equivalent to C = C – A

 

*= Multiply AND assignment operator, It multiplies right operand with the left operand and assign the result to left operand C *= A is equivalent to C = C * A
/= Divide AND assignment operator, It divides left operand with the right operand and assign the result to left operand C /= A is equivalent to C = C / A
%= Modulus AND assignment operator, It takes modulus using two operands and assign the result to left operand C %= A is equivalent to C = C % A

 

<<= Left shift AND assignment operator C <<= 2 is same as C = C << 2
>>= Right shift AND assignment operator C >>= 2 is same as C = C >> 2
&= Bitwise AND assignment operator C &= 2 is same as C = C & 2
^= bitwise exclusive OR and assignment operator C ^= 2 is same as C = C ^ 2
|= bitwise inclusive OR and assignment operator C |= 2 is same as C = C | 2

 

Example:

#include <iostream>
using namespace std;
main() {
int a = 21;
int c ;
c = a;
cout << “Line 1 – = Operator, Value of c = : ” <<c<< endl ;
c += a;
cout << “Line 2 – += Operator, Value of c = : ” <<c<< endl ;
c -= a;
cout << “Line 3 – -= Operator, Value of c = : ” <<c<< endl ;
c *= a;
cout << “Line 4 – *= Operator, Value of c = : ” <<c<< endl ;

return 0;
}

 

  • Line 1 – = Operator, Value of c = : 21
  • Line 2 – += Operator, Value of c = : 42
  • Line 3 – -= Operator, Value of c = : 21
  • Line 4 – *= Operator, Value of c = : 441

 

Assignment Statement

As you know, an expression is composed of one or more operations. An expression terminated ; (semicolon) becomes a statement. Statements from the smallest executable unit within a C++ program. Statements are terminated with a semicolon.

 

An assignment statement assigns value to a variable. The value assigned may be constant, variable or an expression. The general form of an assignment statement is as follows:

a = cve ;

 

where a is a variable to whom the value is being assigned and cve can either be a constant or variable or an expression. Following are some examples of assignment statements :

 

x = 16;

y = 3.6;

z = x + y;

z = z × x;

a = b + c – d;

The symbol “=” is called as the assignment operator. One usual feature of C++ is that you can use the assignment operator serially.

 

Tip – Assignments can be chained together.

The assignment operator = returns the value of the assignment as well as actually assigning the value to the left hand operand. Because of that, assignments can be chained together. This can be useful when assigning the same value to a number of items. For example,

x = y = z = 13

 

This statement assigns the value 13 to x, y, and z. All the variables in this multiple assignment statement must be declared before. Such statement works from right to left. First, 13 is assigned to z, then the value of z, which is now 13, assigned to y, then y’s value of 13 is assigned to x.

 

Attention – The TurboC++ version 3.0 allows to chain maximum 70 assignments. All the variables participating in the multiple assignment statement must be predeclared.

 

Control Structure & Statement

Control Structure adalah Laporan yang digunakan untuk mengontrol aliran eksekusi dalam sebuah program. Sementara Statement sendiri adalah suatu Expresi/Intruksi individu yang ditulis di sebuah program untuk menginstruksi jalan proses program, yang berfungsi untuk memerintahkan bagaimana program berjalan. Sebuah statement akan selalu diakhiri dengan titik koma (;). Statements / Pernyataan memiliki 2 jenis yaitu pernyataan Tunggal dan Majemuk. Dan dibawah ini merupakan pernyataan tunggal sederhana. Contoh:

Pernyataan;

 

Sebuah pernyataan atau statement ada yang hanya memiliki satu instruksi dan ada juga yang majemuk atau memiliki lebih dari satu instruksi. Sebuah pernyataan majemuk adalah sekelompok pernyataan yang masing-masing anaknya diakhiri dengan titik koma sendiri-sendiri tetapi mereka semua dikelompokan menjadi satu  kelompok yang menggunakan/diapit dengan kurung keriting/kurung kurawa { }.

 

Contoh:

(Pernyataan_Utama)

{

Pernyataan1;

Pernyataan2;

Pernyataan3;

}

Satu blok tersebut meskipun mengandung pernyataan yang banyak di dalamnya akan tetap dinyatakan satu atau pernyataan tunggal (terdiri dari beberapa substatements) setiap kali sebuah pernyataan generik adalah bagian dari sintaks dari pernyataan kontrol aliran. ini bisa menjadi sebuah pernyataan sederhana atau pernyataan majemuk.

 

Pernyataan yang anda tulis akan dieksekusi sesuai urutan baris pemrograman, dan juga jumlah baris pada pemrograman tidak terbatas pada urutan linear laporan. Tapi pembacaan program tidak harus urut kita juga bisa mengendalikan aliran eksekusi. Seperti mengulang eksekusinya, meloncatinya, mengembalikan kembali ke atas atau membiarkan proses aliran memilih beberapa cabang yang kita buat. Kita bebas dan bisa mengendalikan proses pengeksekusian tersebut sesuai keinginan pembuat atau pengguna.

 

Selection Statements

Pernyataan Penyeleksian / Percabangan berfungsi untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Pernyataan didalam akan dieksekusi jika dan hanya jika kondisi kebutuhan tersebut terpenuhi.

 

Contoh:

if (nilai == 100)

cout << “Nilai kamu adalah 100”;

 

diatas adalah contoh penulisan jika hanya memiliki satu pernyataan di dalamnya dan dia tidak membutuhkan / diapit oleh kurung kurawa {}. Dan jika pengelompokan tersebut mengandung banyak pernyataan di dalamnya (majemuk) kita harus menggunakan / diapit oleh tanda kurung kurawa.

 

Bentuk Penulisan (Majemuk) & Contoh:

if (nilai == 100)

{

cout << “Selamat Untuk anda, “;

cout <<karena anda mendapatkan Nilai << X;

}

Tapi anda juga bisa menggunakan penulisan seperti di bawah ini jika anda ingin mengirit baris yang anda buat. Anda tidak perlu berganti baris sebanyak pernyataan anda.

if (nilai == 100){   cout << “Selamat Untuk anda, “;   cout <<karena anda mendapatkan Nilai << X;

 

Pernyataan switch – case

Bentuk dari switch – case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch – case ini memiliki kegunaan sama seperti if – else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.

 

Bentuk umum dari pernyataan switch-case :

switch (ekspresi integer atau karakter )

{

case konstanta-1 :

… perintah;

… perintah;

break;

case konstanta-2 :

… perintah;

… perintah;

break;

default :

… perintah;

… perintah;

break;

}

 

Iteration Statements

Pengulangan atau dalam bahasa inggris (LOOP) adalah cara kita untuk mengendalikan proses pengeksekusan pernyataan-pernyataan membuat mereka memperoses pernyataan yang sama secara berulang-ulang hingga kondisi yang diinginkan terpenuhi. Mereka diperkenalkan oleh kata kunci while,do, dan for.

 

for (ekspresi) pernyataan;

Pengulangan akan meneruti apa yang tulis di ekspresi dan mengulangi pengeksekusian pernyataan-pernyataan yang ada di dalam sehingga syarat dan kebutuhan terpenuhi.

 

Program di bawah ini adalah contoh program penghitung baris  sampe 10 baris dengan menggunakan loop FOR

#include <iostream.h>

#include <conio.h>

int main ()

{

int n = 0;

for (n=1;n<=10;n++)

{

cout<<n<<endl;

}

getch();

}

 

Kita juga bisa membuat proses pengulangan tersebut menjadi tidak terhingga.

#include <iostream.h>

#include <conio.h>

int main ()

{

int n = 0;

for (n=1;n>0;n++)

{

cout<<n<<endl;

}

getch();

}

 

Pernyataan do – while

Pernyataan perulangan do – while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang

 

Bentuk umum perulangan do – while, sebagai berikut :

do

pernyataan / perintah ;

while ( syarat );

Bentuk umum perulangan do – while, dengan lebih dari perintah / pernyataan, sebagai berikut:

do

{

Pernyataan / perintah ;

Pernyataan / perintah ;

}  while ( syarat );

 

Sub Program C++

Suatu program yang cukup panjang dapat ditulis dalam satu fungsi main(). Namun, agar langkah program dapat ditulis dengan baik, program biasanya dipecah kedalam sejumlah subprogram. Subprogram dalam C++ berbentuk fungsi.

Fungsi di C++ dapat berupa fungsi biasa atau tidak mengembalikan nilai (void) dan juga dapat mengembalikan nilai dengan menggunakan pernyataan return.

 

Sifat-sifat subprogram (fungsi)

  • Masing-masing fungsi mempunyai nama, aturan penamaan fungsi sama seperti penamaan variabel.  Nama fungsi ini diikuti sepasang tanda kurung untuk membedakan fungsi dengan variabel. Dalam   tanda kurung ini dapat berisi argumen-argumen fungsi tersebut.
  • Badan dari masing-masing fungsi, harus dimulai dengan tanda kurung { dan diakhiri dengan tanda     kurung }. Badan dari fungsi ini berisi deklarasi variabel-variabel dan penyataan-pernyataan.

 

Tujuan Sub Program

  • Tujuan utama fungsi adalah untuk membuat programmer supaya tidak membuat penulisan ulang perintah-perintah yang sama.
  • Fungsi sangat membantu kita disaat ada projek yang besar agar dapat memperkecil kapasitas memori yang akan digunakan.
  • Dengan dipecah menjadi beberapa fungsi maka pembuatan program menjadi lebih mudah karena kesalahan-kesalahan yang terjadi terlokalisir dalam masing-masing fungsi.

Deklarasi

  • Deklarasi Lokal

Deklarasi Lokal adalah semua deklarasi (variabel, konstanta, tipe data) yang terdapat di dalam fungsi sehingga hanya bisa digunakan dalam fungsi itu saja dan tidak akan dikenali diluar fungsi tempatnya dideklarasikan.

  • Deklarasi Global

Deklarasi Global adalah semua deklarasi (variabel, konstanta, tipe data) yang terdapat di luar fungsi manapun sehingga bisa digunakan dalam seluruh bagian fungsi di dalam program.

 

Bentuk umum fungsi yang tidak mengembalikan nilai :

void NamaFungsi()

{

TipeDataNamaVariabel; //Deklarasi variabel lokal

<Statement1>;

<Statement2>;

…………;

}

 

void header()

{

 

cout<<“===========\n”;

cout”Hello Welcome to 9th group

program\n”;

cout “===========\n“;

 

}

int main() {

header();

getchar();

}
Output function tanpa mengembalikan nilai

 

Bentuk umum fungsi yang mengembalikan nilai :

TipeFungsi NamaFungsi()

{

TipeData NamaVariabel; //Deklarasi variabel lokal

<Statement1>;

<Statement2>;

 

return(Nilai|Variabel|Ekspresi);

}

 

int jumlah(int a=5, int b=9)

{

int jmlh;

jmlh=a+b;

cout<<“a+b =  “ <<jmlh<<endl;

return 0;

}

int main() {

jumlah();

getchar();

Kesimpulan

Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program (kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program.

Fungsi dibagi menjadi 2:

Void function (tidak memberikan hasil operasi)

Non-void function (memberikan hasil operasi)

 

Tipe Data Abstrak

  • tipe data yang dapat melakukan penyimpanan beberapa data yang saling terkait (seperti Nama, NRP, Alamat), sebagai suatu kesatuan, sehingga data-data tersebut seakan-akan menjadi suatu data tunggal. Pembuatan tipe data baru dalam C++ dilakukan dengan menggunakan kata kunci struct, yang merupakan kependekan dari structure (struktur)
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *