TEORI DASAR C++

                                                         TEORI DASAR C++   


 1. sejarah dan konsep C++
                             
    C++ adalah salah satu bahasa pemrograman komputer. Yang dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C.Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).C++ adalah sebuah bahasa pemrograman yang memiliki banyak dialek, bahasa inimemiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++ Borland,C++ Microsoft Visual, C/386 Watcom, dan DJGPP. Anda dapat mendownload DJGPP atau mungkin saja anda telah memiliki kompiler lain. Setiap kompiler ini agak berbeda. Setiapkompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masingmasing kompiler juga akan dapat menjalankan fungsi fungsi nonstandard (fungsi fungsi ini,agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosoknegeri. Sebagai contoh, di New Orleans kata median disebut neutral ground). Kadang kadangpemakaian fungsi nonstandard akan menimbulkan masalah pada saat anda hendakmengkompilasi kode sumber data (source code) (yaitu program berbahasa C++ yang ditulisoleh seorang programer) mempergunakan kompiler yang berbeda.

2. definisi variabel, library, operator, manipulator
        
   a. Variabel adalah suatu tempat yang berfungsi untuk menyimpan nilai atau konstanta. nilai tersebut biasanya di dapat dari masukan pengguna, programmer, lingkungan, atau merupakan hasil dari proses program. Variabel yang telah kita buat merupakan sebuah memori pada komputer.


  b. library di C++ biasanya di tandai dengan header dengan simbol # di depan nya
contoh #inlcude <iostream.h>
Baris yang ditandai dengan simbol # disebut Preprocessor directive. Bertugas untuk mengarahkan prepocessor yang akan digunakan untuk membaca file header atau bisa dikatakan sebagai pengatur proses kompilasi.






Ada beberapa Library dalam bahasa C++ yang sering digunakan, diantaranya seperti berikut :


  • <stdio.h>  yang merupakan singkatan dari "standard input / output header", adalah header yang berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untuk berbagai standard input dan output operasi
  • <conio.h>  adalah header file yang digunakan untuk membuat teks antarmuka pengguna
  • <assert.h> adalah file header yang mendefinisikan makro menegaskan C preprocessor
  • <complex.h>  adalah file header yang mendefinisikan fungsi untuk aritmatika kompleks
  • <ctype.h>  adalah header untuk deklarasi yang  berfungsi mengklasifikasi karakter
  • <errno.h>  adalah file header yang berfungsi melaporkan kondisi kesalahan melalui kode kesalahan.
  • <fenv.h>  adalah file header yang mengandung berbagai fungsi dan macro untuk memanipulasi lingkungan floating-point
  • <float.h>  adalah header  yang berfungsi memperluas ke berbagai limit dan parameter dari jenis floating-point standar
  • <inttypes.h>  file header berfungsi mendefinisikan beberapa macro untuk digunakan dengan fungsi printf dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.
  • <iso646.h>  adalah header yang  mendefinisikan beberapa macro yang memungkinkan programmer untuk menggunakan C bitwise bahasa dan operator logika, yang, tanpa file header, tidak bisa cepat atau mudah diketik pada beberapa keyboard non-QWERTY internasional dan.
  • <limits.h> adalah file header dari perpustakaan standar bahasa pemrograman C yang mencakup definisi karakteristik dari jenis variabel umum
  • <locale.h>  adalah pemrograman bahasa C file header, digunakan untuk tujuan lokalisasi
  • <math.h>  berisi prototype fungsi untuk pustaka matematika
  • <string.h>  berisi prototype fungsi untuk pemrosesan string


conio.h adalah file header pada pemrogramman C yang telah lama digunakan pada compiler berbasis MS-DOS untuk membuat antarmuka pengguna C. Conio.h tidak dijelaskan secara gamblang pada buku bahasa pemrogramman C dan bukan pula bagian dari librari standar C, ISOC juga tidak dibutuhkan oleh POSIX.

Header ini mendeklarasikan beberapa fungsi librari yang dimasukkan untuk melakukan "input dan output konsol" dari sebuah program. Kebanyakan kompiler bahasa C yang menargetkan UNIX dan Linux tidak memiliki header ini dan tidak menyediakan fungsi perpustakaan. Beberapa sistem embedded yang menggunakan perpustakaan conio-kompatibel. 

c.   Dalam C++ operator aritmatika memiliki kedudukan prioritas tertinggi atau terendah, hal tersebut ditentukan oleh cara penulisan atau penempatannya,

1. Kedudukan prioritas secara penulisan tercantum sebagaimana dalam tabel.
Operator
Prioritas
++ -- (khusus yang berkedudukan sebagai awalan)
Tertinggi
-  (Unary Minus)
* / %
+ -
Terendah

2. Kedudukan prioritas tertinggi secara penempatan ditentukan oleh posisi yang PALING KIRI dari baris program.

Jadi jika operator memiliki kedudukan prioritas yang sama (secara penulisan) maka hal tersebut dapat ditentukan lagi prioritas utamanya secara penempatan.

Sebagai contoh perhatikan persamaan berikut ini:
x = ( 2 + 3) * 2 

Secara logika matematika biasa kita sudah dapat menentukan berapa nilai dari x, yaitu 10, sebab 2 + 3 dikerjakan terlebih dahulu dan hasilnya baru dikalikan dengan 2, namun perlu agan-agan sekalian ketahui bahwa hal tersebut sangatlah berbeda jika kita implementasikan kedalam pemrograman C++, lebih jelasnya perhatikan contoh program dibawah ini:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan kurung() untuk mengatur prioritas
*Pembuktian prioritas suatu operator
*/
 
void main() { 
clrscr() 
int x ; 
x = 2 + 3 * 2 ; 
cout << " x = " << x << '\n'; 
x = (2 + 3) * 2 ; 
cout << " x = " << x << '\n'; 
getch(); 
}

Hasil eksekusi:
8 
12

2. Operator Penaikan dan Penurunan

Operator penaikan adalah operator yang digunakan untuk menaikan nilai variabel sebesar 1. Operator penurunan adalah operator yang digunakan untuk menurunkan nilai variabel sebesar 1.

Contoh:
x = x + 1 ;
y = y - 1 ;

Bisa ditulis menjadi 
++ x ; -- y ;
atau:
x ++ ; y -- ;

3. Menentukan Prioritas Operator Penaikan dan Penurunan

Sekarang kita akan mencoba untuk menentukan prioritas dari operator penaikan dan penurunan, lalu bagaimanakah efek yang ditimbulkan dari hasil percobaan ini? selengkapnya silakan perhatikan contoh program di bawah ini:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator penaikan di belakang variabel 
*/

void main() { 
int r = 10; 
int s; s = 10 + r++ ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi:
r = 11 
s = 20

Penjelasan:

Pada contoh diatas s diisi dengan penjumlahan nilai 10 dan r. Dengan demikian s akan bernilai 20. setelah s diisi dengan 20, nilai r baru dinaikan karena operator ++ ditulis dibelakang r. Disebut post-increment yang artinya dinaikkan dibelakang setelah penjumlahan antara r dan 10 dilaksanakan. Contoh lagi:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator penaikan di depan variabel
*/

void main() { 
int r = 10; 
int s; 
s = 10 + ++r ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi:
r = 11 
s = 20

Penjelasan:

Pada contoh ini, nilai r mula-mula dinaikan terlebih dahulu karena operator ++ ditempatkan didepan r. Disebut pre-increment kemudian nilainnya dijumlahkan dengan 10 dan diberikan ke s. Dengan demikian s bernilai 21 dan r sama dengan 11.

4. Operator Penugasan

Operator Penugasan adalah operator yang digunakan untuk memberikan nilai ke dalam variabel tertentu. Asumsikan variabel a bernilai 50 dan variabel b bernilai 30,lalu perhatikan tabel berikut:
Operator
Keterangan
Contoh
=
Memberikan nilai dari operand sisi kanan untuk sisi kiri
c = a + b
hasilnya c diberi nilai 80
c = a = b
Hasilnya c,a,b bernilai 30
+=
Menambahkan operand kiri dengan operand kanan dan menugaskan hasilnya untuk operand kiri
c += a
sama dengan
c = c + a
-=
Mengurangi operand kanan dari operand kiri dan menugaskan hasilnya untuk operand kiri
c -= a
sama dengan
c = c - a
*=
Mengalikan operand kanan dengan operand kiri dan menugaskan hasilnya untuk operand kiri
c *= a
sama dengan
c = c * a
/=
Membagi operand kiri dengan operand kanan dan menugaskan hasil untuk operand kiri
c /= a
sama dengan
c = c / a
%=
Menghitung sisa pembagian menggunakan dua operand dan memberikan hasilnya ke operand kiri
c %= a
sama dengan
c = c %  a

Contoh program:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator penugasan
*/
 
void main() { 
int a = 50; 
int b = 30; 
int c = a + b; 
cout << "Nilai c adalah : " << c; c = a = b; 
cout << "Nilai c sekarang : " << c; 
cout << "Nilai a sekarang : " << a; 
c += a; 
cout << "Nilai c sekarang : " << c;
c *= a; 
cout << "Nilai c sekarang : " << c; 
c -= a; 
cout << "Nilai c sekarang : " << c; 
c /= a; 
cout << "Nilai c sekarang : " << c; 
c %= a; 
cout << "Nilai c sekarang : " << c; 
getch(); 
}

5. Operator Kondisi

Operator Kondisi merupakan penyederhanaan dari bentuk if..else yang setiap blok dari if dan else hanya terdiri dari satu statement/perintah.

Bentuk umum:
(ekspresi)? (jika benar) : (jika salah);

Contoh Program:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator kondisi untuk memperoleh 
*bilangan terkecil diantara dua buah bilangan 
*/
 
void main() { 
int bil1, bil2, minim; 
bil1 = 53; 
bil2 = 6;
minim = (bil1 < bil2) ? bil1 : bil2; 
cout << " Bilangan terkecil = " << minim << '\n'; 
getch(); 
}

Hasil Eksekusi: 
Bilangan terkecil = 6

6. Operator Relasi / Perbandingan

Operator Relasi digunakan untuk menguji hubungan antara nilai dan atau variabel. Operator ini digunakan dalam suatu statement bersyarat yang selalu menghasilkan nilai true atau false.

Jenis-jenis operator relasi bisa dilihat dalam tabel berikut:
Operator
Keterangan
==
Sama dengan (bukan penugasan)
!=
Tidak sama dengan
> 
Lebih dari
< 
Kurang dari
>=
Lebih dari atau sama dengan
<=
Kurang dari atau sama dengan

Contoh program:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator relasi
*/

void main() { 
int nilai; 
nilai = 3 > 2 ; // hasil ungkapan : benar 
cout << "Nilai = " << nilai << endl; 
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai << endl; 
getch(); 
}

Hasil eksekusi:
Nilai = 1 
Nilai = 0

7. Operator Logika

Operator Logika digunakan untuk membandingkan dua nilai variabel atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false. Asumsikan variabel a bernilai true, b bernilai false dan c bernilai true, lalu perhatikan tabel berikut:
Operator
Keterangan
Contoh
&&
Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
a && b hasilnya false
a && c hasilnya true
||
Jika salah satu dari operand bernilai benar (TRUE) maka kondisi bernilai benar.
a || b hasilnya true
a || c hasilnya true
!
Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi salah (FALSE), begitu pula sebaliknya
!a hasilnya false
!b hasilnya true
!( b && a ) hasilnya true

Contoh Program:
#include <iostream.h> 
#include <conio.h>

/**
*bundet.com
*Penggunaan operator logika
*/

void main() { 
bool a = true; 
bool b = false; 
bool c = true; 
cout<< "(a && b) : " << (a && b);
cout<< "\n (a && c) : " << (a && c); 
cout<< "\n (a && b && c) : " << (a && b && c); 
cout<< "\n (a || b) : " << (a || b); 
cout<< "\n (a || c) : " << (a || c); 
cout<< "\n (a || b || c) : " << (a || b || c); 
cout<< "\n !a : " << !a; 
cout<< "\n !b : " << !b; 
cout<< "\n !(b && a) : " << !(b && a); 
getch(); 
}

d.  Manipulator adalah fungsi pembantu yang memungkinkan untuk mengontrol input / output stream. Manipulator pada umumnya digunakan untuk mengatur tampilan layar. Contohnya untuk mengatur supaya suatu nilai ditampilkan dengan lebar 8 karakter dan diatur rata kiri terhadap lebar tersebut.

3. tipe data
    Dalam ilmu komputer dan pemrograman komputer, tipe data ialah klasifikasi data yang mengenalkan kompilator atau penerjemah bagaimana programmer bermaksud untuk menggunakan data. Sebagian besar bahasa pemrograman mendukung berbagai macam data, sebagai contoh, bilangan riil, integer atau boolean. Sebuah tipe data menyediakan sekumpulan nilai-nilai dari ekspresi (yaitu variabel, fungsi) yang dapat mengambil nilai tersebut. Tipe data ini mendefinisikan operasi yang akan dilakukan pada data, maksud dari data dan jurusan nilai dari tipe tersebut dapat disimpan. Namun secara umum, dalam bahasa pemrograman apapun mengenal 5 tipe data ini, yaitu integer, float, char, string, dan boolean. Masing masing tipe data ini mempunyai kegunaan masing-masing. Oleh karena itu, jika pada saat pengolahan data yang terdapat data yang mempunyai tipe data berbeda, maka harus dilakukan konversi terlebih dahulu. Berikut adalah penjelasan dari keempat tipe data.
  • Integer, tipe data integer ini digunakan untuk mendeklarasikan data/variable sebagai bilangan bulat. Misalkan nilai 10, 7,29,100, adn 22. Penggunaan tipe data integer biasanya digunakan untuk data yang akan dilakukan pengoprasian penjumlahan, pengurangan, pembagian, atau perkalian.
  • Float, seperti halnya integer, tipe data ini digunakan untuk data angka, namun untuk angka/nilai yang berupa pecahan. Jadi apabila ingin mendapatkan hasil yang terbaik pada suatu proses pengoprasian angka, maka kita bisa menggunakan tipe data float. Contohnya nilai 1.5, 3.5, 3.14, dan lain bilangan pecahan lainnya.
  • Char, char adalah tipe data yang digunakan untuk deklarasi variable berupa karakter. Karakter tersebut bisa berupa simbol, alfabet, atau angka.
  • String, khusus untuk string, tipe data yang digunakan untuk mendeklarasikan data yang berisi kalimat atau kata.
  • Boolean, tipe data ini sangat berbeda dengan yang lainnya. Karena tipe data boolean ini hanya digunakan untuk data yang mempunyai 2 nilai saja, yaitu true atau false.
tipe data, variabel, dan konstanta
Perlu Anda ketahui juga, setiap bahasa pemrograman mempunyai style sendiri-sendiri pada penggunaan tipe data. Bahkan ada juga yang tidak perlu pendeklarasian dalam menggunakan tipe data.

Contoh Tipe Data pada Bahaha Pemrograman PHP

var $a; // deklarasi variabel tanpa menggunakan tipe data

Contoh Tipe Data pada Bahaha Pemrograman VB/VB .NET

Dim nama As String `deklarasi variabel nama sebagai data string
Dim umur As Integer `deklarasi variabel nama sebagai data integer

Contoh Tipe Data pada Bahaha Pemrograman JAVA

int umur; // deklarasi variabel umur sebagai integer
String nama; // deklarasi variabel nama sebagai string
float volumebola; // deklarasi variabel volumebola sebagai float untuk pecahan

Contoh Tipe Data pada Bahaha Pemrograman JAVASCRIPT

var data; // deklarasi variable di javascript cukup menggunakan var saja
Dari beberapa contoh diatas dapat kita ketahui beberapa perbedaan disetiap bahasa pemrograman. Apabila anda mendalami salah satu bahasa pemrograman lambat laun Anda akan mengetahui berbagai macam tipe data yang ada.

Variabel

Variabel adalah suatu data yang nilainya dapat berubah-ubah. Variabel sangat erat kaitannya dengan tipe data. Karena sebagai keberadaan suatu data perlu di tentukan tipe datanya untuk pengenalan processor dalam mengolah data tersebut. Contohnya dari variable seperti script dibawah ini
int a;
Maskud dari satu baris script diatas ialah memberi instruksi pada processor untuk membuat variable a yang dialokasikan pada memori sebesar bit tipe data integer dengan nilai NULL (tidak terisi apapun)
Dalam mempelajari bahasa permrograman selain Asembly, kita tidak perlu memikirkan dimana alamat memori untuk menyimpan variabel tersebut. Namun yang perlu dipahami ialah kapan dan untuk apa kita memilih tipe data untuk suatu variabel. Dengan kata lain, kita harus tahu dan paham dalam penggunaan tipe data pada variabel.
4. Format penulisan variabel dan konstanta
      Penamaan variabel merujuk ke aturan identifier yang pernah kita bahas beberapa tutorial sebelumnya. Berikut aturan penamaan variabel di dalam bahasa pemrograman C:
  • Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis bawah ( _ ).
  • Karakter pertama dari variabel hanya boleh berupa huruf dan underscore ( _ ), tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak menggunakan karakter underscore sebagai awal dari variabel karena bisa bentrok dengan beberapa variabel settingan program.
  • Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa memakai kata int sebagai nama variabel, karena int merupakan keyword untuk menandakan tipe data integer.
  • Beberapa compiler bahasa C ada yang membatasi panjang variabel maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama variabel yang lebih dari 31 karakter.

Cara Penulisan Variabel di dalam bahasa C

Ketika akan menulis variabel, dalam hampir semua bahasa pemrograman terdapat 2 proses: deklarasi dan inisialisasi.
Deklarasi adalah proses untuk memberitahukan compiler bahasa C bahwa kita akan membuat sebuah variabel. Bahasa C termasuk bahasa pemrograman yang menggunakan konsep strongly typed programming language, yang artinya untuk setiap variabel harus ditulis akan berisi tipe data apa. Apakah itu angka bulat (integer), angka pecahan (float), huruf (char), atau yang lain.
Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari konstanta di dalam program tidak dapat dirubah / bersifat tetap. konstanta juga sering dianggap seperti variabel, namun nilainya tetap / tidak dapat diubah-ubah.

Konstanta berguna untuk menentukan nilai yang merupakan tetapan, misalnya nilai pi (π), kecepatan cahaya, ketetapan gravitasi dan lainnya. Dengan mendefinisikan konstanta yang bersifat global, maka kita dapat menggunakannya di setiap bagian program.



Cara Membuat Konstanta C++

Dalam C++, terdapat 2 buah cara untuk membuat konstanta, yaitu dengan menggunakan kata kunci const dan menggunakan preprocessor directive #define.

Menggunakan kata kunci const
Dalam C++ kita dapat mendefinisikan sebuah konstanta dengan menggunakan kata kunci const. Berikut ini adalah bentuk umumnya:
const  tipe_data  nama_konstanta = nilai_tetapan;

Contoh pendeklarasian konstanta dengan kata kunci const adalah sebagai berikut:
const double PI = 3.14;
const int NILAI_MAX = 100;
const char MyChar = 'A';
const string MyName = "Andi";

Perlu diketahui konstanta yang terdiri dari satu karakter (char) atau dikenal sebagai konstanta karakter harus diawali dan diakhiri dengan tanda petik tunggal(') sedangkan konstanta yang terdiri dari beberapa karakter (string) atau dikenal dengan konstanta string harus diawali dan diakhiri dengan tanda petik ganda(").

Untuk dapat lebih memahaminya, berikut kami sajikan beberapa contoh program yang merupakan implementasi dari pendeklarasian konstanta dengan kata kunci const.
Contoh Konstanta dalam C++
Contoh Konstanta dalam C++
#include <iostream>

using namespace std;

int main ()
{
     const float PI = 3.14;
     float LuarLingkaran, Jari2;

     cout <<"\n === Program Luas Lingkaran === \n\n";

     cout <<"Masukkan nilai Jari-jari : "; cin>>Jari2;
     // PI = 10; seandainya PI dirubah 10 maka akan error
     // silakan dicoba
     LuarLingkaran = PI * Jari2 * Jari2;
     cout <<"Luas Lingkaran : " <<LuarLingkaran<<endl;

     return 0;
}

Contoh Konstanta dalam C++
Contoh Konstanta dalam C++
#include <iostream>

using namespace std;

int main ()
{
     const char MyChar = 'A';     const string MyName = "MateriDosen";
     // Seandainya isi dari MyChar atau MyName dirubah
     // Maka akan terjadi error. Silakan dicoba ya

     cout <<"Isi dari constanta MyChar : "<<MyChar;
     cout <<"\nIsi dari constanta MyName : "<<MyName;

     return 0;
}

Contoh Konstanta dalam C++
Contoh Konstanta dalam C++
#include <iostream>

using namespace std;

const int MAX = 8;
int main (){
     int A[MAX];
     for (int i=0; i<MAX; i++){
          // Mengisi nilai kedalam A[i]
          A[i] = i * 2;

          // Menampilkan nilai A[i]
          cout<<A[i]<<endl;
     }

     return 0;
}

Menggunakan Preprocessor Directive #define
Kita dapat menggunakan preprocessor directive #define untuk mendefinisikan sebuah konstanta. Penggunaan #define sendiri memiliki kelebihan apabila dibandingkan dengan const. yaitu pada sisi kecepatan kompilasi, karena sebelum kompilasi dilakukan, kompiler pertama kali mencari symbol #define (oleh karena itu mengapa "#" dikatakan prepocessor directive), sehingga dari segi kompilasi penggunaan #define lebih cepat dibanding const.


Berikut adalah bentuk umum penggunaan #define
#define  nama_konstanta  nilai_tetapan;

Contoh pendeklarasian konstanta dengan #define adalah sebagai berikut:
#define MAX 8
#define PI 3.14
#define MyName "MateriDosen"

Untuk dapat lebih memahaminya, berikut kami berikan contoh program yang merupakan implementasi dari pendeklarasian konstanta dengan #define.
Contoh Konstanta dalam C++
Contoh Konstanta dalam C++
#include <iostream>

using namespace std;

// Tidak diakhiri titik koma
#define MAX 8
#define MyName "MateriDosen"

int main (){
     int A[MAX];
     for (int i=0; i<MAX; i++){
          // Mengisi nilai kedalam A[i]
          A[i] = i * 2;

          // Menampilkan nilai A[i]
          cout<<A[i]<<endl;
     }

     cout <<"\n\nDibuat oleh : "<<MyName;

     return 0;
}
Perlu sobat perhatikan bahwa penggunaan #define tidak diakhiri dengan tanda titik koma (;). Hal tersebut berbeda dengan penggunaan kata kunci const yang harus diakhiri titik koma (;).

5. Input dan Output ( cin, cout, komentar)
    Berbicara tentang input dan ouput data dalam C++ tidak jauh dari penggunaan keyboard untuk input dan tampilan layar monitor untuk output. Berikut adalah pengenalan input dan output pada C++.
INPUT(memasukkan data)
A. Cin
Dalam C++, perintah cin digunakan untuk menginput suatu nilai dari suatu piranti masukan (keyboard) untuk selanjutnya diproses oleh program. Sintaknya adalah:
cin >> variabel;
contohnya:
cout << “Masukkan suatu bilangan : ”;
cin >> bil;
cout << “Anda memasukkan bilangan “ << bil “\n”;
B. getch()
Perintah getch() berfungsi sama seperti cin (perintah input), akan tetapi getch() khusus untuk input berupa karakter. Disamping itu getch() dapat membaca input berupa spasi atau tab, sedangkan cin tidak bisa.
Sintaksnya:
Variabel = getch();
Fungsi ini juga dapat digunakan apabila tidak diinginkan penekanan ENTER ketika input data karakter.
C. getche()
Perintah getche() kegunaannya sama dengan getch(), bedanya adalah:
  • getch() tidak menampilkan karakter yang diiinput
  • getche() menampilkan karakter yang diinput
fungsi getch() dan getche() sama-sama membutuhkan file header conio.h .Berikut ini contoh penggunaan getch() dan getche()
char karakter;
cout << “masukkan sebuah karakter : “;
karakter = getch();
cout << “Anda mengetik karakter : ” << karakter;
cout << “masukkan sebuah karakter : “;
karakter = getche();
cout << “Anda mengetik karakter : ” << karakter;
OUTPUT(menampilkan data)
Cout
Dalam c++, perintah cout digunakan untuk menampilkan suatu informasi ke piranti output (layar). Contoh-contoh penggunaannya telah banyak diberikan di bab-bab sebelumnya. Berikut ini perintah-perintah tambahan untuk mengatur tampilan output.
endl
Perintah ini berfungsi sama dengan \n (ganti baris)
Contoh:
cout << “Hallo” << endl;
setw()
Perintah ini digunakan untuk mengatur lebar tampilan data (rata kanan).
Contoh:
A = 123;
B = 98;
C = 1;
cout << “Nilai A = “ << setw(6) << A << endl;
cout << “Nilai B = “ << setw(6) << B << endl;
cout << “Nilai C = “ << setw(6) << C << endl;
Bandingkan bila tanpa menggunakan setw().
setfill()
Perintah setfill digunakan untuk menambahkan suatu karakter tertentu pada field yang kosong pada suatu data. Perhatikan contoh berikut ini
A = 123;
B = 98;
cout<< “Nilai A = “<< setw(6) << setfill(‘*’) << A << endl;
cout<< “Nilai B = “<< setw(6) << setfill(‘.’) << B << endl;
Perintah setfill() biasanya digunakan setelah penggunaan setw().


Komentar dalam C++

Posted on   Januari 22, 2018  |  Last Modified   September 4, 2018
Komentar dalam C++
Tidak hanya pada bahsa pemrograman C++ yang menyediakan fitur Comment (Komentar), hampir di setiap bahasa pemrograman menyediakan fitur Comment. Semua karakter yang tergolong dalam komentar tidak akan dibaca oleh CPU, dan tidak dilaksanakan sebagai peritah oleh CPU atau dengan nama lain akan diabaikan.
Komentar dalam kode program biasanya digunakan oleh para programmer untuk memberi tanda atau keterangan pada kode program yang dia kembangkan, agar mudah dibaca, dipahami dan dimengerti terutama untuk programmer lainya jika kita sedang bekerja dalam suatu team, karena tidak semua programmer mempunyai jalan pikiran yang sama dalam pembuatan algoritma, hal ini sangat beguna untuk memberitahu dengan menggunakan bahasa manusia dan mempermudahkan pada orang untuk mempelajari apa yang ada di dalam kode program yang telah kita tulis.
C++ menyediakan dua macam fitur komentar yaitu single-line dan multi-line. kedua cara tersebut bisa kita gunakan dan tidak akan mempengaruhi jalanya program, atau dengan kata lain yaitu CPU akan mengabaikan semua karakter dalam bentuk komentar yang anda buat.

Single-line : dengan tanda //

Cara komentar diatas akan membuat semua karakter setelah tanda // dan hanya di baris itu akan berlaku menjadi komentar. Biasanya cara ini digunakan untuk menandai atau memberi keterangan pada kode di baris itu.
Contoh Penulisan
1
std::cout<<”BelajarC++”<<std::endl;  //ini komentar. pernyataan di samping akan mencetak “BelajarC++” di layar.
Atau
1
2
//ini komentar, pernyataan di bawah akan mencetak “BelajarC++” di layar.
std::cout<<”BelajarC++”<<std::endl;
Contoh Program
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main(){
    //cetak "belajarcpp"
    cout<<"belajarcpp"<<endl; //Komentar
    //Komentar
    return 0;
} //akhir

Multi-line : diapit oleh /* dan */

Merupakan fitur komentar yang diturunkan oleh Bahasa Pemrograman C, cara di atas akan membuat semua karakter di antara tanda /* dan */ akan berlaku sebagai komentar. Jika cara single line tidak cukup untuk memberi keterangan (komentar) yang membutuhkan berbaris-baris atau membuat komentar menggunakan break line agar mudah untuk di baca, maka kita dapat menggunakan cara komentar multi-line.
Contoh Penulisan :
1
2
3
4
5
/*komentar anda, 1 baris */
/*komentar anda untuk 4 baris
baris 2
baris 3
baris 4*/
Contoh Program
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
/* program ini adalah contoh program penggunaan fitur komentar multi line.
meskipun anda menulis sebanyak mungkin di dalam fitur komentar ini
kompiler akan mengabaikan semua karakter di dalam komentar.
Komentar multi line akan berakhir sampai tanda */
int main(){
    cout<<"belajarcpp"<<endl;
    return 0;
} //akhir
Fitur komentar biasanya juga digunakan untuk menandai pernyataan dari algoritma yang bermasalah, Menghilangkan sementara pernyataan dari dalam baris eksekusi kompilator agar tidak dibaca oleh kompilator. Kadang hal ini berguna untuk menghilangkan sementara pernyataan bermasalah, agar dapat diperbaiki lain waktu dan membuat program masih tetap berjalan dengan baik tanpa pernyataan itu.
Dalam artikel berikutnya penulis akan sering menggunakan fitur komentar di dalam contoh kode program untuk mempermudah penulis menjelaskan dan juga mempermudah anda membaca contoh program
6. jenis manipulator
    

endl

endl adalah sebuah fungsi manipulator yang berguna untuk memasukkan karakter NewLine atau mengatur pindah baris, dengan kata lain fungsi manipulator ini serupa dengan "\n". Fungsi endl sangat dibutuhkan untuk piranti keluaran berupa file di disk. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>


Untuk lebih jelasnya, fungsi manipulator endl dapat dilihat pada program dibawah ini:
contoh manipulator endl
contoh manipulator endl
#include <iostream>

using namespace std;

int main ()
{
     int nilai1=100, nilai2=80;
     int jumlah = nilai1 + nilai2;

     // Contoh fungsi manipulator endl
     cout<<"Nilai 1 : "<<nilai1<<endl;
     cout<<"Nilai 2 : "<<nilai2<<endl<<endl;

     cout<<"Jumlah Kedua Nilai : "<<jumlah;

     return 0;
}

ends

ends adalah sebuah fungsi manipulator yang berguna untuk menambah karakter null (nilai ASCII NOL) kederetan suatu karakter. Fungsi seperti ini seringkali diperlukan, misalnya untuk mengirim sejumlah karakter ke file di disk atau modem dan mengakhirinya dengan karakter NULL. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>

Contoh :
cout<<'M'<<'D'<<ends;
Pernyataan di atas mengirimkan 2 buah karakter (M dan D) serta sebuah karakter null. Pada layar, ends akan menimbulkan sebuah karakter kosong.

Untuk lebih jelasnya, fungsi manipulator ends dapat dilihat pada program dibawah ini:
contoh manipulator ends
contoh manipulator ends
#include <iostream>

using namespace std;

int main ()
{
     int nilai1=100, nilai2=80;
     int jumlah = nilai1 + nilai2;

     // Contoh fungsi manipulator ends
     cout<<"Nilai 1 : "<<nilai1<<".";
     cout<<"\nNilai 2 : "<<nilai2<<ends<<ends<<".";

     cout<<"\n\nJumlah Kedua Nilai : "<<jumlah;

     return 0;
}

setw( )

setw( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur lebar dari suatu tampilan data. Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>. Bentuk umum penulisan setw() adalah sebgai berikut:
setw(int n);
n = adalah nilai lebar tampilan data, yang bernilai integer.

Untuk lebih jelasnya, fungsi manipulator setw() dapat dilihat pada program dibawah ini:
contoh manipulator setw
contoh manipulator setw
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int jumbar1 = 1300, jumbar2 = 80, jumbar3 = 520;

     // Contoh fungsi manipulator setw( )
     cout<<"Barang 1 = "<<setw(8)<<jumbar1<<endl;
     cout<<"Barang 2 = "<<setw(8)<<jumbar2<<endl;
     cout<<"Barang 3 = "<<setw(4)<<jumbar3<<endl;

     return 0;
}

dec( ), oct( ) dan hex( )

dec, oct dan hex adalah sebuah fungsi manipulator yang berguna untuk memunculkan data dalam bentuk hexadesimal (bilangan berbasis 16), oktal (bilangan berbasis 8) dan desimal (bilangan berbasis 10). Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>.

Untuk lebih jelasnya, fungsi manipulator dec(), oct() dan hex() dapat dilihat pada contoh program dibawah ini:
contoh manipulator dec, oct, hex
contoh manipulator dec, oct, hex
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int nilai = 500;

     cout<<"Nilai Awal= "<<nilai<<endl<<endl;

     cout<<"Nilai ke Desimal = "<<dec<<nilai<<endl;
     cout<<"Nilai ke Oktal = "<<oct<<nilai<<endl;
     cout<<"Nilai ke Hexadesimal = "<<hex<<nilai<<endl;

     return 0;
}

setbase( )

setbase( ) adalah sebuah fungsi manipulator yang berguna untuk konversi bilangan desimal, oktal dan hexadesimal. Seandainya sobat akan menggunakan manipulator setbase(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setbase() adalah sebgai berikut:
setbase(base bilangan);

Untuk lebih jelasnya, fungsi manipulator setbase( ) dapat dilihat pada contoh program dibawah ini:
contoh manipulator setbase
contoh manipulator setbase
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int MD;

     cout<<"Penerapan Manipulator setbase()"<<"\n\n";
     cout<<"Desimal Oktal Hexadesimal"<<endl;
     cout<<"----------------------------"<<"\n";

     for(MD=180;MD<=190;MD++){
          cout<<setbase(10)<<MD<<"      ";
          cout<<setbase(8)<<MD<<"      ";
          cout<<setbase(16)<<MD<<endl;
     }

     return 0;
}

setfill( )

setfill( ) adalah sebuah fungsi manipulator yang berguna untuk menampilkan suatu karakter yang diletakkan didepan nilai yang diatur oleh fungsi setfill(). Untuk menggunakan manipulator setfill(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setfill() adalah sebgai berikut:
setfill(charakter);

Untuk lebih jelasnya, fungsi manipulator setfill( ) dapat dilihat pada contoh program dibawah ini:
contoh manipulator setfill
contoh manipulator setfill
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int MD;

     cout<<"Penggunan Manipulator setfill()"<<"\n\n";

     for(MD=1;MD<=15;MD++)
     {
          cout<<setfill('*');
          cout<<setw(MD)<<MD<<endl;
     }

     return 0;
}

setprecision( )

setprecision( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur jumlah digit desimal yang ingin ditampilkan. biasanya setprecision() digunakan jika sobat bekerja dengan menggunakan bilangan pecahan, dengan setprecision() sobat dapat mengatur jumah digit pecahan yang ingin ditampilkan, Untuk menggunakan manipulator setprecision(), sobat harus menyertakan file header <iomanip>

Baca Juga : Gratis, Tutorial Lengkap Belajar Bahasa Pemrograman C++

Untuk lebih jelasnya, fungsi manipulator setprecision( ) dapat dilihat pada contoh program dibawah ini:
contoh manipulator setprecision
contoh manipulator setprecision
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     float M,D,MD;

     M = 12.34;
     D = 38.56;
     MD = M * D;

     cout<<setiosflags(ios::fixed);
     cout<<setprecision(0)<<MD<<endl;
     cout<<setprecision(2)<<MD<<endl;
     cout<<setprecision(4)<<MD<<endl;
     cout<<setprecision(6)<<MD<<endl;
     cout<<setprecision(8)<<MD<<endl;

     return 0;
}

setiosflags( )

setiosflags( ) adalah sebuah fungsi manipulator yang dipakai untuk mengatur berbagai format keluaran data, Untuk menggunakan manipulator setiosflags(), sobat harus menyertakan file header <iomanip>. Terdapat berbagai format keluaran (outout) untuk fungsi setiosflags(), diantaranya adalah sebagai berikut:

Tebel Tanda format untuk menampilkan setiosflags() dan resetiosflags()
Tanda Format
Keterangan
ios::right
Menyetel rata kanan pada lebar field yang diatur melalui setw()
ios::left
Menyetel rata kiri pada lebar field yang diatur melalui setw()
ios::fixed
Memformat keluaran dalam bentuk notasi desimal
ios::scientific
Memformat keluaran pada notasi eksponensial
ios::oct
Memformat keluaran pada basis 8 (oktal)
ios::hex
Memformat keluaran pada basis 16 (heksadesimal)
ios::dec
Memformat keluaran pada basis 10 (desimal)
ios::uppercase
Memformat huruf dalam notasi heksadesimal pada bentuk huruf kapital
ios::showpoint
Menampilkan titik desimal dalam bilangan pecahan yang tidak mempunyai bagian pecahan
ios::showbase
Menampilkan awalan 0x bagi bilangan heksadesimal atau 0 (nol) bagi bilangan oktal
ios::showpos
Untuk menampilkan tanda + pada bilangan positif

Untuk lebih jelasnya, fungsi manipulator setiosflags( ) yang menggunakan tanda format ios::left dan ios::right dapat dilihat pada contoh program dibawah ini:
contoh manipulator setiosflags
contoh manipulator setiosflags
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int M = 20, D = 35;

     // Contoh fungsi manipulator setiosflags()
     cout<<"\nPenggunaan ios::left dan ios::right\n";

     cout<<"\nRata Sebelah Kiri  = ";
     cout<<setiosflags(ios::left)<<setw(8)<<M;
     cout<<setiosflags(ios::left)<<setw(8)<<D;

     cout<<"\nRata Sebelah Kanan = ";
     cout<<setiosflags(ios::right)<<setw(8)<<M;
     cout<<setiosflags(ios::right)<<setw(8)<<D;

     return 0;
}
7. Percabangan
 Mari Belajar C++ kembali, setelah saya membahas pengertian c++ dan fungsi input/output kali ini saya akan membahas mengenai percabangan pada c++. Dalam kehidupan sehari-hari tentu temen-temen pernah dong mengalami suatu masalah yang diharuskan untuk memilih suatu kondisi tertentu. Nah didalam sebuah pemrograman kita juga dihadapkan pada suatu masalah, yaitu proses menyeleksi atau pemilihan suatu statemen atau dalam bahasa c++ yaitu percabangan. Apa itu Percabangan pada C++?
Berikut uraian mengenai percabangan didalam c++
Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan atas
kondisi tertentu untuk mengarahkan perjalanan suatu proses. Biasanya program akan dieksekusi baris perbaris setiap saat secara berurutan. Eksekusi baris perbaris sangat baik,sebab tidak akan terdapat saat vacuum pada program. Jika ingin perubahan,dalam hal ini program melompat(tidak berurutan) baik ke baris perintah jauh dibawahnya maupun melompat ke baris perintah diatasnya. Maka kita membutuhkan perintah percabangan , yaitu fungsi yang dapat mengatur program agar melompat ke suatu baris perintah yang ditentukan,sesuai dengan kondisi yang sedang diterima.
Dalam menuliskan syarat digunakan suatu operator relasi yang digunakan untuk membandingkan 2 buah nilai :
PERCABANGAN PADA C++
Fungsi percabangan yang biasa digunakan dalam C++ adalah : if, if-else, dan switch.
Mari Kita bahas satu persatu :
1. Percabangan Bersyarat IF
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi yang akan diperiksa.Percabangan if akan menagani suatu eksprsi apabila kondisi terpenuhi. Bentuk dasar pernyataan if adalah:
If (ekspresi kondisional)
Statemen ;
//Diatas jika hanya terdiri dari satu statement, Bagaimana Jika lebih dari 1 ? Jika lebih dari satu makan statemennya harus berada dalam { }.
If (ekspresi kondisional)
{
Statemen 1
Statemen_2
Statemen_3
……..
Statemen_n
}
Penjelasannya jika ekspresi kondisional di dalam tanda kurung benar,  maka statemen atau grup statemen dibawahnya akan dieksekusi, sebaliknya jika ekspresi kondisionalnya salah maka statemen/grup statemen di bawahnya tidak akan dieksekusi (fungsi if tidak menghasilkan apa-apa). Ekpresi kondional adalah ekspresi yang menjadi  dasar bagi pernyataan yang berkondisi (selau dipakai pada fungsi if), yang memberikan nilai benar atau salah.
Berikut Contoh program percabangan bersyarat IF :
#include <iostream.h>
#include <conio.h>
main(){
int x;
cout<<“\n================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF\n”;
cout<<“\n================================\n”;
cout<<“Masukkan Angka: “;
cin>>x;
if (x>0)
cout<<“Angka yang dinputkan bilangan positif”;
getch();
}
dan berikut outputnya :
PERCABANGAN IF PADA C++
2. Percabangan IF-ELSE
Percabangan if-else akan menangani salah satu dari dua ekspresi / grup ekspresi sesuai nilai kondisi yang dihasilkan. dan dapat dikatan percabangan ini sedikit lebih komplekjika dibandningan dengan percabangan if diatas. Bentuk percabangan if-else sebagai berikut:
//Struktur 2 kondisi
If(ekspresi kondisional)
Statemen_1;
Else
Statemen_2;
dan untuk struktur 3 kondisi atau lebih berikut strukturnya :
If(ekspresi kondisional)
{
Statemen_1_1
Statemen_1_2
………………………
Statemen_1_n
}
Else
{
Statemen_2_1
Statemen_2_2
………………………
Statemen_2_n
}
Penjelasan dari bentuk diatas apabila ekspresi kondisional menghasilkan nilai benar maka program akan mengeksekusi statemen_1,namun sebaliknya apabila ekspresi kondisional bernilai salah maka yang akan dieksekusi adalah statemen_2 .
Berikut Contoh Program If – else 2 kondisi:
#include <iostream.h>
#include <conio.h>
main(){
int x;
cout<<“\n======================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE\n”;
cout<<“\n======================================\n”;
cout<<“Masukkan Nilai = “;
cin>>x;
if (x% 2 == 0)
cout<<“Nilai dimasukkan adalah bilangan genap”;
else
cout<<“Nilai dimasukkan adalah bilangan ganjil”;
getch();
}
outputnya :
PERCABANGAN IF-ELSE 2 PADA C++ PERCABANGAN IF-ELSE PADA C++
Contoh untuk Program If – else 3 kondisi:
#include <iostream.h>
#include <conio.h>
main ()
{
int x;
char i;
cout<<“\n========================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE-IF\n”;
cout<<“\n========================================\n”;
cout<<“Masukkan Bilangan:”;
cin>>x;
if (x>0)
{
cout<<“Bilangannya adalah Positif(+)”;
}
else if (x<0)
{
cout<<“Bilangannya adalah Negatif(-)”;
}
else
{
cout<<“Bilangannya adalah Nol(0)”;
}
cin>>i;
getch();
}
Dan outputnya :
PERCABANGAN IF-ELSE-IF PADA C++
3. PERCABANGAN SWITCH-CASE-DEFAULT
adalah sebuah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ekspresi dan nilai penyeleksi. secara singkat, pernyataan ini merupakan pernyataan pilihan ganda. Bentuk dari pernyataan switch adalah:
Switch(ekspresi)
{case ekspresi_1
pernyataan_1;
break;
case ekspresi_2
break;
case ekspresi_n;
break;
default;
pernyataan_x
}
Pada pernyataan switch,ekspresi dapat berupa ekspresi,konstanta ataupun variable.Adapaun ekspresi1,ekspresi2,dan seterusnya dapat berupa sembarang konstanta bertipe int atau char. Pencocokan ekspresi dengan ekspresi1,ekpresi2,dan sebagainya dilakukan secara berurutan,dimulai yang pertama. Sekiranya Cocol, pernyataan yang mengikuti case bersangkutan dijalankan. Kalau selanjutnya pernyataan break ditemukan, eksekusi dari pernyataan  switch berakhir. Dan perlu diketahui, untuk bagian default hanya akan dijalankan jika ungkapan pada bagian case tiadak ada yang cocok dengan ungkapan switch. 
                                                                                                                                                                                                                          contoh studi kasus :
#include <iostream>
using namespace std;

void pilihan (int x){
    if (x==1) {
        cout << "batagor";
    }
    else {
        cout << "es dawet";
    }
}

int main(){
    int pilih;

    cout << "1. batagor" << '\n';
    cout << "2. es dawet" << '\n';
    cout << "Masukan Pulihan Anda (1-2): "; cin >> pilih;

    pilihan (pilih);
}
                          TERIMA KASIH

Komentar