Post Icon

Materi C++


A.      Sejarah C++
Tahun  1978,  Brian  W.  Kerninghan  &  Dennis  M.  Ritchie  dari  AT  &  T  Laboratories mengembangkan  bahasa  B  menjadi  bahasa  C.  Bahasa  B  yang  diciptakan  oleh  Ken  Thompson sebenarnya  merupakan  pengembangan  dari  bahasa  BCPL  (  Basic  Combined  Programming Language ) yang diciptakan oleh Martin Richard.
Sejak  tahun  1980,  bahasa  C  banyak  digunakan  pemrogram  di  Eropa  yang  sebelumnya menggunakan  bahasa  B  dan  BCPL.  Dalam  perkembangannya,  bahasa  C  menjadi  bahasa  paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.
Tahun  1989,  dunia  pemrograman  C  mengalami  peristiwa  penting  dengan  dikeluarkannya standar  bahasa  C  oleh American  National  Standards  Institute (ANSI).  Bahasa  C  yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.
Mulai  awal  tahun  1980,  Bjarne  Stroustrup  dari  AT  &  T  Bell  Laboratories  mulai mengembangkan  bahasa  C.  Pada  tahun  1985,  lahirlah  secara  resmi  bahasa  baru  hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C.
Pada  evolusi  selanjutnya,  Borland  International  Inc.  mengembangkan  kompiler  C++  menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi  ini,  mulai  tahun  1990  C++  menjadi  bahasa  berorientasi  obyek  yang  digunakan  oleh sebagian besar pemrogram professional.
 
B.       Struktur Bahasa C++
Contoh 1  :                                                                Hasil  :
// my first program in C++                                             Hello World!  
#include <iostream.h>
int main ()
{
  cout << "Hello World!";
  return 0;
}

Sisi  kiri  merupakan source  code,  yang  dapat  diberi  nama hiworld.cpp  dan  sisi  kanan  adalah hasilnya setelah di-kompile dan di-eksekusi.

Program  diatas  merupakan  salah  satu  program  paling  sederhana  dalam  C++,  tetapi  dalam program  tersebut  mengandung  komponen  dasar  yang  selalu  ada  pada  setiap  pemrograman C++. Jika dilihat satu persatu  :

// my first program in C++
Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan dianggap  sebagai  komentar  dan  tidak  akan  berpengaruh  terhadap  program.  Dapat digunakan  oleh  programmer  untuk  menyertakan  penjelasan  singkat  atau  observasi yang terkait dengan program tersebut. 
#include <iostream.h>
Kalimat  yang  diawali  dengan  tanda  (#)  adalah  are  preprocessor  directive.  Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk kompiler. Dalam kasus ini kalimat   #include  <iostream.h>  memberitahukan  preprocessor  kompiler  untuk menyertakan  header  file standard iostream.  File  spesifik  ini  juga  termasuk  library deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan digunakan nanti dalam program.
int main ()
Baris ini  mencocokan  pada awal dari deklarasi fungsi main. fungsi main merupakan titik  awal  dimana  seluruh  program  C++  akan  mulai  dieksekusi.  Diletakan  diawal, ditengah  atau  diakhir  program,  isi  dari  fungsi  main  akan  selalu  dieksekusi  pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi  main.  Main  diikuti  oleh  sepasang  tanda  kurung ()  karena  merupakan  fungsi.  pada  C++, semua  fungsi  diikuti  oleh  sepasang  tanda  kurung () dimana,  dapat  berisi  argumen didalamnya.  Isi  dari  fungsi  main  selanjutnya  akan  mengikuti,berupa deklarasi formal dan dituliskan diantara kurung kurawal ({}), seperti dalam contoh.
cout << "Hello World";
Intruksi  ini  merupakan  hal  yang  paling  penting  dalam  program  contoh.  cout merupakan  standard  output  stream  dalam  C++  (biasanya  monitor).  cout dideklarasikan dalam  header file iostream.h, sehingga agar dapat digunakan maka file ini harus disertakan.  Perhatikan  setiap  kalimat  diakhiri  dengan  tanda  semicolon  (;).  Karakter  ini menandakan  akhir  dari  instruksi  dan harus  disertakan  pada setiap  akhir  instruksi pada program C++ manapun. 
return 0;
Intruksi return  menyebabkan  fungsi main()  berakhir  dan  mengembalikan  kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program. 

Tidak  semua  baris  pada  program  ini  melakukan aksi.  Ada  baris  yang  hanya  berisi  komentar (diawali  //),  baris  yang  berisi  instruksi  untuk  preprocessor  kompiler  (yang  diawali #), kemudian  baris  yang  merupakan  inisialisasi  sebuah  fungsi  (dalam  kasus  ini,  fungsi main) dan baris yang berisi instruksi (seperti,  cout <<), baris yang terakhir ini disertakan dalam blok yang dibatasi oleh kurung kurawal ({}) dari fungsi  main.

Struktur program dapat dituliskan dalam bentuk yang lain agar lebih mudah dibaca, contoh : 

int main ()                                         Atau dapat juga dituliskan  : 
{
  cout << " Hello World ";                int main () { cout << " Hello World "; return 0; }
  return 0;
}

Dalam satu baris dan memiliki arti yang sama dengan program-program sebelumnya. pada C++ pembatas antar instruksi ditandai dengan semicolon (;) pada setiap akhir instruksi.
Contoh 2  :                                                    Hasil  :
// my second program in C++                       Hello  World!  I'm  a  C++ program
#include <iostream.h> 
int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++ program";
  return 0;
}

Komentar
Komentar adalah bagian dari program yang diabaikan oleh kompiler. Tidak melaksanakan aksi apapun.  Mereka  berguna  untuk  memungkinkan  para  programmer  untuk  memasukan  catatan atau deskripsi tambahan mengenai program tersebut. C++ memiliki dua cara untuk menuliskan komentar :

//  Komentar baris
/* Komentar Blok   */

Komentar baris, akan mengabaikan apapun mulai dari tanda (//) sampai akhir dari baris yang sama. Komentar Blok, akan mengabaikan apapun yang berada diantara tanda /* dan */.

C.       Variabel, tipe data, konstanta
Untuk dapat menulis program yang dapat membantu menjalankan tugas-tugas kita, kita harus mengenal konsep dari  variabel. Sebagai ilustrasi, ingat 2 buah angka, angka pertama adalah 5 dan angka kedua adalah 2. Selanjutnya tambahkan 1 pada angka pertama kemudian hasilnya dikurangi angka kedua (dimana hasil akhirnya adalah 4).

Seluruh proses ini dapat diekspresikan dalam C++ dengan serangkaian instruksi sbb:
a = 5;
b = 2;
a = a + 1;
result = a - b;
Jelas  ini  merupakan  satu  contoh  yang  sangat  sederhana  karena  kita  hanya menggunakan  2 nilai  integer  yang  kecil,  tetapi  komputer  dapat  menyimpan  jutaan  angka  dalam  waktu  yang bersamaan dan dapat melakukan operasi matematika yang rumit.
Karena itu, kita dapat mendefinisikan variable sebagai bagian dari memory untuk menyimpan nilai  yang  telah  ditentukan.  Setiap  variable  memerlukan  identifier  yang  dapat membedakannya  dari  variable  yang  lain,  sebagai  contoh  dari  kode  diatas  identifier variabelnya adalah a, b dan result, tetapi kita dapat membuat nama untuk variabel selama masih merupakan identifier yang benar.

Identifiers
Identifier adalah  untaian  satu atau lebih huruf, angka, atau garis  bawah ( _ ). Panjang dari identifier,  tidak  terbatas,  walaupun  untuk  beberapa  kompiler  hanya  32  karakter  pertama saja  yang  dibaca  sebagai  identifier  (sisanya  diabaikan).  Identifier  harus  selalu  diawali dengan huruf atau garis bawah ( _ ). 
 Ketentuan  lainnya  yang  harus  diperhatikan  dalam  menentukan  identifier  adalah  tidak  boleh menggunakan key word dari bahasa C++. Sebagai  tambahan,  represetasi  alternatif  dari  operator,  tidak  dapat  digunakan  sebagai identifier.

CATATAN:  Bahasa  C++  adalah  bahasa  yang    "case  sensitive",  ini  berarti  identifier  yang dituliskan  dengan  huruf  kapital  akan  dianggap  berbeda  dengan  identifier  yang  sama  tetapi dituliskan dengan huruf kecil, sabagai contoh  :  variabel RESULT tidak  sama  dengan  variable result ataupun variabel Result.
 
Tipe Data
Tipe data yang ada pada C++, berikut beberapa nilai kisaran yang dapat direpresentasikan:
Name
Bytes
Description
Range
int
*
Integer.  Its  length  traditionally depends  on  the  length  of  the system's  Word  type,  thus  in MSDOS  it  is  16  bits  long, whereas  in  32  bit  systems  (like Windows  9x/2000/NT  and systems  that  work  under protected  mode  in  x86  systems) it is 32 bits long (4 bytes).
See short, long
float
4
floating point number.
3.4e + / - 38 (7 digits)

Deklarasi variabel
Untuk  menggunakan  variabel  pada  C++,  kita  harus  mendeklarasikan  tipe  data  yang  akan digunakan. Sintaks penulisan deklarasi variabel adalah dengan menuliskan tipe data yang akan digunakan diikuti dengan identifier yang benar, contoh :
int a;
float mynumber;
Jika  akan  menggunakan  tipe  data  yang  sama  untuk  beberapa  identifier  maka  dapat dituliskan dengan menggunakan tanda koma, contoh :
int a, b, c;
Tipe  data  integer  (char,  short,  long  dan int)  dapat  berupa  signed  atau  unsigned tergantung  dari  kisaran  nilai  yang  akan  direpresentasikan.  Dilakukan  dengan menyertakan keyword signed atau unsigned sebelum tipe data, contoh :
unsigned short NumberOfSons;
signed int MyAccountBalance;
Jika tidak dituliskan, maka akan dianggap sebagai signed.
Contoh  3 :                                                                Hasil :
// operating with variables  
#include <iostream.h>                                              4
int main ()
{
  // declaring variables:
  int a, b;
  int result;

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

Inisialisasi Variabel
Ketika  mendeklarasikan  variabel  local,  kita  dapat  memberikan  nilai  tertentu.  Sintaks penulisan sbb  :
type identifier = initial_value ;
Misalkan kita akan mendeklarasikan variabel int dengan nama a yang bernilai 0, maka dapat dituliskan  : 
int a = 0;
Atau dengan cara lainnya, yaitu menyertakan nilai yang akan diberikan dalam tanda (): 
type identifier (initial_value) ; 
Contoh  :  int a (0); 

Lingkup Variabel
Pada  C++,  kita  dapat  mendeklarasikan  variable  dibagian  mana  saja  dari program,  bahkan diantara 2 kalimat perintah.
Variabel  Global  dapat digunakan  untuk  setiap bagian  dari  program, maupun  fungsi,  walaupun dideklarasikan  diakhir program.  Lingkup  dari  variable local  terbatas.  Hanya berlaku  dimana  variable tersebut  dideklarasikan. Jika dideklarasikan diawal fungsi  (seperti  dalam main)  maka  lingkup  dari variable  tersebut  adalah untuk  seluruh  fungsi main. Seperti contoh diatas, jika terdapat fungsi lain yang ditambahkan pada main(),  maka variable local yang dideklarasikan dalam main tidak dapat digunakan pada fungsi lainnya dan sebaliknya.
Pada C++, lingkup variable local ditandai dengan blok dimana variable tersebut dideklarasikan ( blok tersebut adalah sekumpulan instruksi dalam kurung kurawal {} ). Jika dideklarasikan dalam fungsi tersebut, maka akan berlaku sebagai variable dalam fungsi tersebut, jika dideklarasikan dalam sebuah perulangan, maka hanya berlaku dalam perulangan tersebut, dan seterusnya.

Karakter dan String
Merupakan konstanta non-numerik, Contoh  : 
'z'
'p'
 "Hello world"
"How do you do?" 
Untuk  karakter  tunggal  dituliskan  diantara  kutip  tunggal  (')  dan  untuk  untaian  beberapa karakter, dituliskan diantara kutip ganda ("). Konstanta karakter dan string memiliki beberapa hal khusus, seperti escape codes. 
\n    : newline                                                      \a    : alert (beep)
\r     : carriage return                                            \'     : single quotes (')
\t     : tabulation                                                   \"    : double quotes (")                  
\v    : vertical tabulation                                      \?    : question (?)
\b    : backspace                                                  \\    : inverted slash (\)
\f     : page feed

Arithmetic operators ( +, -, *, /, % )
+     : addition
-      : subtraction
*     : multiplication
/      : division
%    : module

Relational operators ( ==, !=, >, <, >=, <= )
Untuk  mengevaluasi  antara  2  ekspresi,  dapat  digunakan  operator  Relasional.  Hasil  dari operator ini adalah nilai bool yaitu hanya berupa  true atau false, atau dapat juga dalam nilai int,  0  untuk  mereprensentasikan "false"  dan 1  untuk  merepresentasikan "true".  Operator-operator relasional pada C++ :
==   : Equal
!=    : Different
>     : Greater than
<     : Less than 
>=   : Greater or equal than
<=   : Less or equal than

Komunikasi melalui console
Console merupakan interface dasar pada computers, biasanya berupa keyboard dan monitor. Keyboard  merupakan  alat input  standar  dan  monitor  adalah  alat output  standar.  Dalam library iostream C++ , standard operasi input dan output untuk pemrograman didukung oleh 2 data  streams: cin  untuk  input  dan cout  untuk  output.  Juga, cerr  dan clog  sebagai tambahan  untuk  output  streams  yang  di  desain  khusus  untuk  menampilkan error  messages. Dapat diarahkan langsung ke standard output maupun ke log file. 

Biasanya cout (standard  output  stream)  ditujukan  untuk  monitor  dan cin (standard  input stream)  ditujukan  untuk  keyboard.  Dengan  menggunakan  dua  streams  ini,  maka  kita  dapat berinteraksi  dengan  user  dengan  menampilkan  messages  pada  monitor  dan  menerima  input dari keyboard. 

       Output (cout)
Penggunaan cout stream  dhubungkan  dengan  operator  overloaded   << (Sepasang  tanda "less than").  Contoh  :
cout << "Output sentence"; // prints Output sentence on
screen
cout << 120;               // prints number 120 on screen
cout << x;                 // prints the content of
variable x on screen
Operator << dikenal sebagai insertion operator, dimana berfungsi untuk menginput data yang mengikutinya.  Jika  berupa  string,  maka  harus  diapit  dengan  kutip  ganda  ("),  sehingga membedakannya dari variable. Operator insertion (<<) dapat digunakan lebih dari 1 kali dalam kalimat yang sama,
Manfaat  dari  pengulangan  penggunaan  operator  insertion  (<<)  adalah  untuk  menampilkan kombinasi dari satu variabel dan konstanta atau lebih.

       Input (cin).
Menangani  standard  input  pada  C++  dengan  menambahkan  overloaded  operator extraction (>>)  pada cin  stream.  Harus  diikuti  bengan  variable  yang  akan  menyimpan  data.  cin akan memproses input dari keyboard sekali saja dan tombol ENTER harus ditekan. cin juga dapat digunakan untuk lebih dari satu input. Dalam hal ini data yang di input harus 2, satu untuk  variabel a dan lainnya untuk  variabel b yang penulisannya dipisahkan dengan :  spasi, tabular atau newline.

Struktur Kondisional : if and else
Digunakan  untuk  mengeksekusi  sebuah  atau  satu  blok  instruksi  jika  kondisi  terpenuhi, sintaks:
if (condition) statement condition merupakan ekspresi yang dievaluasi. Jika kondisi bernilai true, maka statement akan  dijalankan.  Jika false,  maka  statement  akan  diabaikan  dan  program  menjalankan instruksi selanjutnya.
 Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:
if (x == 100)
cout << "x is 100";
Jika  ada  lebih  dari  satu  instruksi  yang  akan  dijalankan  maka  harus  dibuat  dalam  blok instruksi dengan menggunakan tanda kurung kurawal { }: 
 if (x == 100)
 {
  cout << "x is ";
  cout << x;
 }
Dapat  juga  menggunakan  keyword  else,  jika  kondisi  tidak  terpenuhi.  Penulisannya digabungkan dengan if :
if (condition) statement1 else statement2 else statement3
Contoh :
if (x > 0)
  cout << "x is positive";
else if (x < 0)
  cout << "x is negative";
else
          cout << "x is 0";
Akan tercetak x is positive jika nilai x > 0.

The while loop.
Sintaks :
while (expression) statement
Fungsi dari statement diatas adalah mengulang statement jika expression bernilai true.
Contoh :                                                              Output :
// custom countdown using while                       Enter the starting number > 8
#include <iostream.h>                                      8, 7, 6, 5, 4, 3, 2, 1, FIRE!
int main ()
{
  int n;
  cout << "Enter the starting number > ";
  cin >> n;

  while (n>0) {
    cout << n << ", ";
    --n;
  }
  cout << "FIRE!";
  return 0;
}

The do-while loop.
Format:
do statement while (condition);
         
Secara  fungsional,  hampir  sama  dengan  while loop,  hanya  saja condition dalam do-while dievaluasi  setelah  eksekusi statement  ,  dengan  kata  lain,  sedikitnya  satu  kali  eksekusi statement walaupun kondisi tidak terpenuhi.
Contoh  :   
  // number echoer
#include <iostream.h>
int main ()
{
  unsigned long n;
  do {
    cout << "Enter number (0 to end): ";
    cin >> n;
    cout << "You entered: " << n << "\n";
  } while (n != 0);
  return 0;
}

Output :
Enter number (0 to end): 12345
You entered: 12345
Enter number (0 to end): 160277
You entered: 160277
Enter number (0 to end): 0
You entered: 0

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar