Anda di halaman 1dari 74

TUTORIAL C++

Selamat Datang Di Project Belajar C++, di bawah ini adalah daftar isi pembelajaran
bahasa pemrograman C++. Langkah-langkah lengkap yang akan menuntun anda ke
dunia programming dengan C++. tidak perlu khawatir untuk para pemula karena penulis
akan mengajari anda dari 0 sampai menjadi Programmer Profesional.
 Pendahuluan
o Komputer
o Sistem Bilangan
o Sejarah Bahasa Pemrograman
o Pengenalan C++
o Sejarah C++
o Kompilator
o IDE C++
 Dasar
o Bagian-bagian kode C++
o Komentar
 Dasar Input Output dan Variabel
o Input Output C++
o Variabel
o Ruang Lingkup
o Identitas
o Tipe Data
o Inisialisasi
o Literal dan Konstanta
o Variabel Lokal
o Variabel Global dan Kata Kunci Extern
o Variabel Statis Global
o Input Output C pada CLI
o Escape Sequences
 Operator
o Macam-macam Operator
o Penugasan
o Aritmetika
o Penaikan dan Penurunan
o Relasi dan Perbandingan
o Logika
o Bitwise
o Tugas Majemuk
o Ternary
o Precedence of Operators
 Flow Control
o Pernyataan dan Kontrol Aliran
o Penyeleksian
 IF
 Switch
o Pengulangan
 While
 Do-while
 For
o Lompatan
 Break
 Continue
 Goto
 Preprocessor Directive
o Preprocessor Directive
 Array
o Array
o Array Multidimensi
 Pointer dan Memori Dinamis
o Pointer
o Aritmetika pada Pointer
o Null Pointer
o Reference
o C-Style String
o Memori Dinamis
o Tata Letak Memori
 Function
o Function
o Parameter
o Function Prototype
o Pass by Value
o Pass by Reference
o Pass by Address
o Return
o Inline Function
o Function Overloading
o Default Parameter
o Variabel Durasi Statis
 Struktur Data
o Structure
o Nesting Structure
 Object Oriented Programming I: Class & Object
o Konsep OOP
o Sejarah OOP
o Class & Object
o Arrow Operator
o Access Modifier
o Friend Class dan Function
o Static Member Variable
o Static Member Function
o Constructor
o Destructor
o Member Initialization List
o this
 OOP II: Relationship
o Object Relationship
o Pewarisan
o Warisan Berlian
o Function Overriding
o Final Specifier
o Virtual dan Polymorphism
o Enkapsulasi
o Abstraksi
 Input Output File
o Input Output File
 Operator Overloading
o Operator Overloading
 Template
o Template
 Exceptions
o Exception Handling
 Namespace
o Namespace
Bagian-Bagian dan Struktur Kode
Program C++
Struktur penulisan kode program C++ pada dasarnya masih menuruni struktur penulisan
Bahasa Pemrograman C. Bahasa Pemrograman C++ merupakan Bahasa
Pemrograman sendiri dan hanya peluasan dari Bahasa Pemrograman C, dan kita masih
dapat menggunakan bahasa C di tengah bahasa C++.

Struktur program dari bahasa pemrograman C++ terdiri dari kumpulan baris pernyataan
yang dibentuk dari sejumah blok fungsi dan keyword. kode program tersebut
dimungkinkan untuk memerintah komputer untuk melaksanakan tugas yang diberikan.

Struktur Kode Program C++


1 #Preprocessor Directive

2 fungsi utama(){

3     Definisi yang terdiri dari kumpulan pernyataan;

4     //komentar

}
5

Program C maupun C++ selalu tersusun dari 5 (Lima) bagian utama, yaitu :

1. Preprocessor Directive (Pengarah Kompilator)


2. Declaration (Deklarasi)
3. Definition (Definisi)
4. Statement atau Expressions (Pernyataan atau Ekspresi)
5. Comments (Komentar)

Contoh Dasar Program C++


1 #include <iostream> // Preprocessor Directive

2 int main() //Function utama

3 { //Blok pembuka

4     std::cout<<"Selamat Datang Di BelajarC++";  //Pernyataan (Statement)

5     return 0; //Pernyataan

} //Blok Penutup
6
Keterangan :
Baris pertama :  #include <iostream>
Pernyataan yang diawali dengan menggunakan tanda pagar  #  disebut
sebagai Preprocessor Directive, Pada contoh di atas tertulis  #include <iostream>  yang
berarti program tersebut akan menggunakan fitur dari pustaka (Library) yang
bernama  iostream .
#include <iostream>  adalah file-header yang pada dasarnya digunakan untuk
menyatakan bahwa file dari program yang sedang ditulis menggunakan pustaka
(Library) yang di dalamnya memuat kumpulan keyword dan function. disebutkan di
dalam kode program bertujuan untuk memberitahu compiler bahwa file akan
menggunakan beberapa fitur yang ada pada pustaka yang disebutkan.
Sebagai bukti, pada baris ke 6 program di atas menggunakan salah satu fitur yang
disediakan oleh pustaka  iostream , yaitu menggunakan  std::cout .
Baris Pertama setelah  #include<iostream>  :  //File-header
//File-header setelah #include<iostream> adalah komentar, semua karaketer
setelah tanda // akan menjadi komentar dan tidak akan mempengaruhi jalanya
program. Komentar digunakan untuk mempermudah programmer dalam mempelajari
program dengan memberi tanda atau keterangan pada program. Ada dua cara dalam
menggunakan komentar yang pertama adalah dengan tanda // dan kedua dengan
menaruh komentar di antara tanda /* dan */

Baris kedua : baris kosong

terdapat baris kosonng, hal itu tidak akan mempengaruhi jalanya program hanya
digunakan untuk mempermudah pembacaan kode program oleh manusia.

Baris Ketiga :  int main()


int main() , Merupakan fungsi (function) utama, fungsi yang akan dibaca oleh
kompilator pertama kali secara otomatis, tidak akan ada function yang otomatis dibaca
oleh kompilator kecuali fungsi utama  int main() , fungsi utama bagaikan sebuah kepala
dari sebuah program yang mengatur arah kompilator.
int  dalam fungsi utama adalah sebuah return type integer. Dalam peraturan C++ fungsi
utama memang harus menggunakan return type integer.
Dan tepat setelah identifier (identitas)  main  terdapat sepasang tanda kurung  ( ) , itu
merupakan tempat dimana kita dapat mengisi parameter untuk function, tetapi dalam
fungsi utama, hal itu tidak dibutuhkan dan dibiarkan dalam keadaan kosong.
Baris Keempat : Tanda  {
Tanda  { , merupakan sebuah blok pembuka, blok pembuka memiliki sebuah pasangan
yang dinamakan blok penutup, di dalam contoh program di atas penulis menaruh blok
penutup di baris paling akhir dengan tanda  } . Kedua blok tersebut menyatakan bahwa
kode yang diapit oleh mereka adalah satu ruang lingkup (scope) dan menyatakan
bahwa semua kode di dalam blok tersebut merupakan definsi dari fungsi utama.
Baris Kelima :  std::cout<<"Selamat Datang Di BelajarC++";
std::cout<<"Selamat Datang Di BelajarC++";  adalah sebuah baris pernyataan
(Statement) dan merupakan definisi dari fungsi utama. std::cout merupakan bagian dari
library  <iostream> . Berfungsi untuk mencetak sebuah kalimat  Selamat Datang Di
BelajarC++  saat program di eksekusi.
Dan juga, Contoh program di atas dapat ditulis menjadi bentuk seperti di bawah ini.
1 include <iostream>
2 int main(){std::cout<<"Selamat Datang Di BelajarC++";}
contoh program di atas mungkin terlihat lebih sedikit dan menghemat baris, cara
tersebut boleh digunakan tapi kemungkinan kita akan kesulit untuk membaca program
tersebut.

Dalam pemrograman C/C++ sebenarnya tidak jauh beda dengan bahasa pemrograman
lainnya, setiap program di berbagai bahasa pemrograman biasanya berisi dari berbaris-
baris penyataan (statements), ada statement bersifat mengatur jalanya alur program dan
ada yang bersifat sebagai perintah, dan setiap baris dari penyataan akan diakhiri
dengan tanda titik koma atau semicolon  ; .
Bukan hanya statement yang mendominasi dalam sebuah
program, Expressions (ekspresi) juga digunakan untuk mengatur dan menentukan
sesuatu yang berhubungan dengan angka, ekspresi masih sama seperti pernyataan,
tetapi pernyataan ini lebih membahas mengenai penghitungan (Aritmetika).

1 std::cout<<"Selamat Datang Di BelajarC++"; //Statement


2 std::cout<<7+7; // Expression
Hal-hal di atas merupakan dasar-dasar dari C++ yang perlu anda ingat, ini adalah
pengantar anda untuk masuk ke pembelajaran Bahasa Pemrograman C++.

Tambahan :
kemungkinan anda akan menemui program seperti ini di artikel berikutnya.

1 #include <iostream>

2 using namespace std;

3  

4 int main(){

5     cout<<"belajarcpp"<<endl;

6     return 0;

}
7

di atas adalah contoh program yang berasal dari contoh program pertama dengan
sedikit perubahan. yang berbeda adalah, penulis menambahkan pernyataan  using
namespace std;  pada baris kedua dan  return 0;  pada baris keenam. Meskipun berbeda
tetapi hasil dari contoh program di atas masih sama seperti contoh program pertama.
using namespace std;  pada contoh program pertama kita
menggunakan  std::cout .  using namespace std;  menyatakan bahwa program di atas
akan menggunakan namespace yang bernama  std , sehingga kita tidak perlu untuk
menyertakan identitas  std::  pada anggota dari namespace  std  salah satunya
adalah  cout .
endl : merupakan anggota dari iostream dan masuk sebagai
anggota namespace std yang digunakan untuk mengakhiri baris/pindah baris pada
hasil layar program.

return 0 : merupakan pernyataan pengembalian, untuk memberitahu kepada sistem


operasi bahwa program telah berakhir secara normal dengan nilai 0 yang berarti tanpa
kesalahan.
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 men


Atau

1 //ini komentar, pernyataan di bawah akan mencetak “BelajarC++” di layar.


2 std::cout<<”BelajarC++”<<std::endl;
Contoh Program

1
#include <iostream>
2 using namespace std;
3  
4 int main(){
5     //cetak "belajarcpp"
6     cout<<"belajarcpp"<<endl; //Komentar
    //Komentar
7     return 0;
8 } //akhir
9
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 /*komentar anda, 1 baris */


2 /*komentar anda untuk 4 baris
3 baris 2
4 baris 3
baris 4*/
5
Contoh Program

1
2 #include <iostream>
using namespace std;
3
 
4 /* program ini adalah contoh program penggunaan fitur komentar multi line.
5 meskipun anda menulis sebanyak mungkin di dalam fitur komentar ini
6 kompiler akan mengabaikan semua karakter di dalam komentar.
7 Komentar multi line akan berakhir sampai tanda */
8  
int main(){
9
    cout<<"belajarcpp"<<endl;
10     return 0;
11 } //akhir
12
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.
Pengertian dan Dasar Input Output C++

Pengertian Input & Output


Input dan Output (Masukan dan Keluaran) adalah aktifitas pengguna dengan program
pada komputer yang memungkinkan kita memberikan data kedalam program dan
program itu juga dapat mengeluarkan data untuk pengguna. Data tersebut dapat
berupa text, file, gambar, hardcopy dan lain-lain.

Pada ANSI C, operasi Input Output (IO Dasar pada layar CMD/Terminal) dilakukan


dengan menggunakan function yang ada pada pustaka  stdio , beberapa function yang
tersedia pada pustaka  stdio  untuk IO adalah  printf ,  scanf ,  putchar ,  puts  dan lain-lain.
Dan pada bahasa pemrograman C++, pencipta membuat cara baru untuk melakukan
operasi Input dan Output yang bisa dipercaya lebih mudah dari bahasa pemrograman C,
fitur Input dan output C++ tidak menggantikan fitur input output pada bahasa C, kita
tetap biasa menggunakan fungsi-fungsi input output C di dalam program C++.
Operasi Input dan Output dapat kita lakukan dengan menggunakan fungsi-fungsi yang
berada pada Stream dan salah satunya ada pada pustaka iostream.

Output (Keluaran)
Output (keluaran) adalah aktifitas program yang mendapatkan perintah untuk
memberikan informasi data kepada pengguna (manusia). Data itu biasanya merupakan
hasil olahan dari data sebelumnya. Dalam bahasa C++ kita dapat melakukan
pengeluaran menggunakan object  cout .
Untuk menggunakan object  cout  kita membutuhkan Insertion Operator dengan
tanda  <<  di antara object dengan ekspresi.
Jika kita ingin melakukan keluaran (menampilkan) nilai dari suatu variable kita hanya
akan membutuhkan identias dari variable tersebut dan jika kita ingin langsung
menampilakan sebaris kalimat (string), kita dapat melakukanya dengan menambahkan
sepasang tanda petik dua di awal kalimat dan di akhir kalimat.

Contoh Penulisan

1 cout<<variable;
2 //atau
3 cout<<"Hallo Semua";
4 //atau
cout<<variable<<" Hallo Semua";
5
Pada pernyataan pertama, pernyataan tersebut akan melakukan keluaran dengan
menampilkan nilai dari variable. Pada pernyataan kedua adalah keluaran yang akan
menampilkan string  Hallo Semua  dan Pada pernyataan ketiga adalah keluaran yang
akan menampilkan nilai dari variable dan string  Hallo Semua
Input (Masukan)
Input adalah interaksi pengguna (manusia) dengan program, memungkinkan program
dapat menerima data atau informasi dari pengguna, dalam bahasa pemrograman C++
kita dapat melakukanya perintah masukan dengan menggunakan object  cin .
Untuk menggunakan cin kita membutuhkan Extraction Operator dengan tanda  >>  yang
diletakan di antara object  cin  dan ekspresi.
Sebelum kita mencoba fitur masukan (input) pada C++, kita harus mengetahui bahawa
setiap data yang diberikan oleh pengguna akan membutuhkan tempat penyimpanan,
pada komputer dinamakan sebagai memori dan memori dapat dipesan dengan
menggunakan bahasa pemrograman dengan cara mendirikan variable

Maka data yang diberikan oleh pengguna dalam operasi pemasukan (input) akan
disimpan di dalam memori variable yang telah kita dirikan.

Contoh Penulisan

1 cin>>variable;
Contoh Program

1
#include <iostream>
2 using namespace std;
3 int main ( ) {
4    int x ;
5    cout<<"Masukkan sebuah angka : ";
6    cin>>x;
   cout<<"Angka yang dimasukkan adalah "<<x<<endl;
7    return 0;
8 }
9
Di atas adalah contoh program yang mencontohkan bagaimana penggunaan input
output dengan object  cout  dan  cin . Pada baris ke empat didirikan variable  x  dengan
tipe data integer yang akan berfungsi untuk penyimpanan data masukan dari pengguna
program.
Baris selanjutnya adalah contoh penggunan keluaran dengan object  cout  mengeluarkan
sebuah string dengan kalimat  Masukan sebuah angka :  .
Baris ke enam adalah contoh penggunaan perintah masukan  cin , masukan dari
pengguna akan dimasukan dan disimpan dalam memori variable  x .
Dan baris ketujuh adalah penggunaan  cout , menampilkan string dengan kalimat  Angka
yang dimasukan adalah :  dan menampilkan isi dari variable  x  yang merupakan data
yang pengguna masukan pada baris keenam.
Penjelasan dan Cara Mendirikan
Variabel

Penjelasan Variabel
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. Di dalam
komputer, tepatnya pada memori komputer, sebenarnya terdapat banyak sekali memori
yang tersusun yang memiliki alamat sebagai penanda memori. Alamat memori diwakili
dengan bilangan hexadecimal dan setiap alamat mewakili satu bit.

Setiap kali kita mendirikan variabel kita sebenarnya meminta memori pada CPU, lalu
CPU akan memeriksa dan mencari alamat memori mana yang masih kosong dan dapat
digunakan. Memori itu akan diberikan kepada program dalam bentuk alamat memori.
Dengan arti bahwa variabel hanyalah sebuah perwakilan dari alamat memori yang
diberikan.

Cara Mendirikan Variabel


Deklarasi variabel adalah proses mendirikan atau pembuatan variabel dalam kode
program. Untuk mendirikan variabel kita membutuhkan sebuah tipe data yang berguna
untuk mewakili bentuk nilai yang akan disimpan dan sebuah nama (identifier) sebagai
pengenal.

Bentuk Penulisan

1 tipe_data identitas;
Contoh Penulisan

1 int umur;
Pada contoh di atas kita nyatakan bahwa akan kita dirikan sebuah variabel yang dapat
menyimpan data dalam bentuk integer dengan nama pengenal adalah  umur .
Anda dapat membuat variabel tanpa nilai atau anda juga bisa langsung menyertakan
nilai pada saat deklarasi variabel, pemberial nilai saat deklarasi disebut
sebagai inisialisasi.

Bentuk Penulisan

1 Tipe_data identitas = inisialisasi;


Contoh Penulisan
1 int umur = 21;
Sebuah deklarasi merupakan sebuah pernyataan, Setiap kali pendeklarasian variabel
harus diakhiri dengan tanda titik koma  ; .
Peraturan pemberian identitas variabel
Dalam peraturan pemberian identitas variabel dapat terdiri dari huruf, angka dan
karakter  _ . nama variabel harus dimulai dengan huruf atau tanda garis bawah  _ . dan
juga huruf besar dan huruf kecil dalam pemrograman C++ akan dianggap beda
meskipun memiliki nama yang sama karena C++ merupakan Bahasa
Pemrograman Case-Sensitive.
Ada satu peraturan lainnya dalam pemberian nama pada variabel yaitu tidak boleh
menggunakan spasi saat penamaan variabel.

tapi jika nama tersebut memiliki dua kata atau lebih dan ingin tetap menamakanya
dengan kata terpisah supaya mudah dibaca, anda tidak bisa menulis namanya
menggunakan spasi tapi anda bisa menggantikan spasi dengan tanda  _  . ini dapat
mempermudah anda dalam pembacaan nama yang lebih dari 1 kata.
Peraturan terakhir adalah nama variabel tidak boleh diawali dengan angka atau
menggunakan operator aritmetika. contoh penulisan yang benar adalah:

1 belajarcpp

2 belajar_cpp

3 belajarCpp5

Jenis-jenis Tipe Data pada Variabel


Dalam mendirikan sebuah variabel kita akan membutuhkan tipe data untuk menentukan
bentuk dari nilai yang dapat disimpan dalam variabel tersebut. Tipe data variable secara
umum bisa dibedakan menjadi tiga, yaitu:

Variabel Numerik: Memungkinkan pengguna menyimpan data dalam bentuk angka


atau bilangan. Variabel numerik dapat dibagi menjadi beberapa bagian yaitu : Bilangan
Bulat (Integer  int ), Bilangan Desimal Berpresisi Tunggal (Floating Point  float ).
Bilangan Desimal Berpresisi Ganda (Double Precision  double ).
Variabel Text: memungkinkan pengguna untuk menyimpan data berbentuk karakter.
Bahasa pemrograman C++ menyediakan beberapa tipe data untuk variabel jenis ini,
seperti char (Character / Karakter tunggal), string (kumpulan dari karakter atau kata)
dll.

Boolean: merupakan jenis yang hanya dapat mewakili satu dari dua pilihan yaitu 1
(True) atau 0 (False). Pada pemrograman C++ kita dapat gunakan tipe data jenis ini,
dengan memberikan keyword  bool .
Mendirikan banyak Variabel dengan satu tipe data
Pada bahasa pemrograman kita dimungkinkan untuk mendirikan banyak variabel dalam
satu baris dan satu tipe data jika memang variabel-variabel yang kita butuhkan memiliki
tipe data yang sama.
Contoh penulisan

1 int x, i, p;
2 double a, b, c;
Hal ini sangat berguna karena tidak memakan banyak baris dalam mendirikan banyak
variabel.

Contoh pendeklarasian banyak variable dengan Inisialisasi :

1 int x=10, y=21;


2 string nama ="Belajar C++ ", website=”belajarcpp.com”;

Tabel Macam-macam Tipe Data.

Tipe Data Bentuk Penulisan

Boolean bool

Character char

String string

Integer int

Floating Point float

Double Floating Point double

Bentuk Penulisan

1 tipedata nama_variable=inisialisasi;

Contoh Penulisan:

1 bool variabelBool = 0, variabel_boolean;


2 char variabelChar, variabel_char = 'a';
3 string variabelString = "Belajar Cpp", variabel_string;
4 int variabelInt, variabel_int = 9;
float variabelFloat = 20,9, variabel_float;
5 double variabelDouble, variabel_double = 90,0;
6
Contoh Program

1 #include <iostream>
2 using namespace std;
3  
4 int main ()
{
5    // Pendeklarasian variabel:
6    int a, b = 2;
7    int hasil;
8  
9    // Operasi
10    a = 5; //Assignment Operator bukan inisialisasi
   a = a + 1;
11    hasil = a - b;
12  
13    //Output hasil operasi di atas
14    cout <<"Hasil dari operasi variabel adalah :"<<hasil;
15  
16   return 0;
}
Penjelasan Scope atau Ruang Lingkup

Penjelasan Scope atau Ruang Lingkup


Scope dalam bahasa Indonesia memiliki arti Cakupan atau Ruang
lingkup. Scope adalah kode sumber yang bersarang di dalam blok atau pada awal blok
dan berakhir di ujung blok. Kadang sifat kode sumber akan dipengaruhi oleh ruang
lingkup tersebut.

Sering kali pemula mengabaikan keberadaan dari ruang lingkup, hal ini sangat penting
dan tidak bisa diabaikan. Pemahaman mengenai ruang lingkup berguna agar saat
pemanggilan identitas yang pernah anda deklarasikan, tidak menimbulkan
pesan error pada kompilator yang biasanya mengeluh mengenai “pencarian identitas
yang dimaksud tidak ditemukan”.

Dan di bawah ini merupakan contoh program yang menggambarkan bagaimana ruang
lingkup pada bahasa pemrograman C++ bekerja, dengan dilengkapi penjelasan yang
diletakan pada fitur komentar dan mencontohkan bagaimana menggunakan deklarasi
dengan benar.

1
2 int main ()
3 {
    int c = a; // Kesalahan: nama 'a' tidak dalam lingkup / tidak ditemukan.
4     int a = 1; // ['a' Pertama] lingkup 'a' pertama dimulai.
5     ++ a; // nama 'a' adalah dalam lingkup dan mengacu pada 'a' yang pertama.
6     {
7         ++ a; // nama 'a' adalah dalam lingkup dan mengacu pada 'a' yang pertama.
8         int a = 2; // ['a' Kedua] lingkup 'a' kedua dimulai.
        a = 42; // 'a' adalah dalam lingkup dan mengacu pada variabel 'a' yang ked
9     } // Blok ujung, ruang lingkup 'a' kedua
10     // Ruang Lingkup 'a' pertama berlanjut
11 } // Blok ujung, ruang lingkup 'a' pertama
12 int b = a; // Kesalahan: nama 'a' tidak dalam ruang lingkup
13
Peraturan dalam ruang lingkup yang perlu
diperhatikan:
 Ruang lingkup bisa kita buat menggunakan sepasang tanda  {  dan  }  . sepasang
tanda tersebut juga biasa digunakan dalam pembuatan function, class, struct dan
lain sebagainya, semua yang ada dalam ruang lingkup akan disebut sebagai
definisi.
 Deklarasi harus dibuat dahulu sebelum dapat digunakan.
 Dalam satu ruang lingkup, deklarasi tidak diperbolehkan untuk memiliki identitas
yang sama
 Deklarasi yang didirikan di dalam ruang lingkup akan memiliki sifat lokal yang
memiliki arti hanya dapat digunakan di dalam ruang lingkup dimana deklarasi itu
didirikan.
 Ruang Lingkup dimungkinkan untuk memiliki ruang lingkup di dalamya, hal itu
dinamakan sebagai nested scope. Deklarasi yang didirikan di ruang lingkup induk
akan dapat diakses di dalam anak ruang lingkup dan bahkan bisa digantikan
dengan deklarasi baru yang memiliki nama yang sama di dalam anak ruang
lingkup. Tapi deklarasi yang didirikan di dalam anak ruang linkup tidak bisa
digunakan di induk ruang lingkup

Contoh program yang salah :

1
2 #include <iostream>
3 using namespace std;
4  
5 int main ()
{
6     int c = a; //salah
7     int a = 1;
8     ++ a;
9     {
10         int a = 2;
        a = 42;
11         cout<<a<<endl;
12     }
13     cout<<a<<endl;
14 }
int b = a; //salah
15
16

Contoh program yang benar :

1
2 #include <iostream>
3 using namespace std;
4  
int main ()
5 {
6     int a = 1;
7     ++ a;
8     {
9         int a = 2;
        a = 42;
10         cout<<a<<endl;
11     }
12     cout<<a<<endl;
13 }
14
Pengertian dan Ketentuan Memberikan
Indentitas pada Kode Program

Pengertian Identifier
Identifier atau dalam bahasa Indonesia merupakan Identitas. Identifier adalah identitas
atau nama yang telah diberikan kepada function, variabel, obyek, class, namespace dan
lain-lain.

Identifier merupakan suatu identitas untuk sebuah deklarasi yang kita dirikan agar CPU,
programmer maupun manusia dapat mudah mengenali deklarasi dalam kode program.
Berikut adalah hal yang harus anda perhatikan dalam pembuatan nama atau identitas:

Hal dan Peraturan Pembuatan Identifier:


1. Identifier dapat terdiri dari satu atau beberapa karakter yang terdiri dari angka (0-
9), huruf (A-Z, a-z), Simbol Dollar ($), garis bawah (_). Tapi ingat dalam
pembuatan identifier tidak boleh menggunakan angka pada awal dari dari
identitas, contoh:  5menit .
2. Case Sensitive: yang harus anda perhatikan di sini adalah membedakan Huruf
besar dan huruf kecil. Dalam pemrograman jika kita membuat nama identifier
dengan memiliki nama yang sama akan dianggap berbeda jika bentuk hurufnya
berbeda. contoh :  namaidentifier  tidak sama dengan  Namaidentifier .
3. Simbol lain yang tidak disebutkan di peraturan no 1, tidak bisa digunakan dalam
pembuatan identifier. Seperti (-),(,),(.),(+),(\) dan lain-lain.
4. dalam pembuatan identifier tidak diperbolehkan menggunakan spasi.
5. Tidak bisa menggunakan nama yang sama dengan beberapa
standar keyword pada C++, contoh:  int ,  float ,  char ,  private ,  class ,  struct  dan
lain-lain.
6. Panjang Identifier tidak dibatasi.
7. Di bawah ini adalah macam-macam identifier yang tidak bisa dipakai karena
sudah menjadi keyword dalam standar pustaka bahasa pemrograman C++.

alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch,
const_cast, continue, decltype, default, delete, do, double, dynamic_cast, else, en
1 goto, if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullpt
register, reinterpret_cast, return, short, signed, sizeof, static, static_assert, s
throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void,
8. Contoh Identifier yang salah :

1 3NamaIdentifier
2 float
3 nama identifier
%^7543
4
9. Contoh Identifier yang benar :
1 namaIdentifier
2 NaMAIdEntiFier
3 _namaidentifier
4 Nama3Identifier
$identifierBernama
5
Identifier$Bernama
6
Contoh Program :

1
2 #include <iostream>
3 #include <string>
4 using namespace std;
5  
int main(){
6     string $BelajarCpp, BelajarCPP, belajar_cpp, belajarcpp;
7    
8     $BelajarCpp = "$BelajarCpp.com";
9     BelajarCPP = "BelajarCPP.com";
10     belajar_cpp = "belajar_cpp.com";
11     belajarcpp = "belajarcpp.com";
12  
    cout<<$BelajarCpp<<endl;
13     cout<<BelajarCPP<<endl;
14     cout<<belajar_cpp<<endl;
15     cout<<belajarcpp<<endl;
16  
17     return 0;
18 }
19
Macam-macam dan Penjelasan Tipe
Data dalam C++
Tipe data adalah klasifikasi variabel untuk menentukan bentuk keadaan data yang akan
disimpan dalam memori dan jenis operasi apa yang dapat dilakukan oleh variabel
tersebut. variabel memiliki 3 jenis tipe data yaitu Variabel Numerik,
Variabel Text dan Boolean.

Variabel Numerik : Memungkinkan kita untuk menyimpan data dalam bentuk bilangan.
Variabel numerik dapat dibagi menjadi beberapa bagian yaitu : Bilangan Bulat
(Integer  int ), Bilangan Desimal Berpresisi Tunggal (Floating Point  float ). Bilangan
Desimal Berpresisi Ganda (Double Precision  double ).
Variabel Text : memungkinkan kita untuk menyimpan data dalam bentuk Karakter.
Bahasa Pemrograman C++ menyediakan beberapa tipe data dasar
seperti char (Character atau Karakter Tunggal) dan string (Kumpulan Karakter).

Boolean : pada bahasa pemrograman C++ ditulis dengan penulisan  bool  merupakan
jenis memori yang dapat mewakili satu nilai dari dua pilihan yaitu  1  (True)
atau  0  (False).
Tipe data yang umum digunakan :

Tipe Data Bentuk Penulisan

Boolean bool

Character char

Integer int

Floating Point float

Double Floating Point double

String string

Valueless void

Dari tipe data di atas bisa kita modifikasi menggunakan Modifiers Type untuk


memberikan fungsi lebih kepada Variabel.
Modifiers Type Fungsi

signed Untuk membuat Tipe Data Numerik menjadi Negatif

unsigned Untuk membuat Tipe Data Numerik menjadi Positif

short Pemesanan Jarak dan Ukuran memori lebih Kecil

long Pemesanan Jarak dan Ukuran memori lebih Besar

Ketika kita sedang membuat variabel, kita sebenarnya sedang memesan memori untuk
penyimpanan kepada komputer sebesar tipe data yang digunakan karena setiap tipe
data memiliki besar memori yang berbeda.

Di bawah ini adalah tabel keterangan detail mengenai masing-masing Tipe Data
termasuk Tipe Data yang menggunakan Tipe Modifikasi. keterangan cara penulisan dan
mengenai seberapa besar memori yang akan digunakan untuk penyimpanan.

Daftar Lengkap Tipe data C++


Tipe Data Bentuk Penulisan Ukuran Memori

Integer int 4 byte = 32 bit

signed int 4 byte = 32 bit

signed short int 2 byte = 16 bit

signed long int 4 byte = 32 bit

signed long long int 4 byte = 32 bit

unsigned int 4 byte = 32 bit

unsigned short int 2 byte = 16 bit


Tipe Data Bentuk Penulisan Ukuran Memori

unsigned long int 4 byte = 32 bit

unsigned long long int 4 byte = 32 bit

Floating Point float 4 byte = 32 bit

Double Floating Point double 8 byte = 64 bit

long double 12 byte = 96 bit

Boolean bool 1 byte = 8 bit

Character char 1 byte = 8 bit

(C++ 11) char16_t 2 byte = 16 bit

(C++ 11) char32_t 4 byte = 32 bit

wchar_t 2 byte = 16 bit

unsigned char 1 byte = 8 bit

signed char 1 byte = 8 bit

String string 4 byte = 32 bit

Pointer Null (C++ 11) decltype(nullptr) 4 byte = 32 bit

Valueless void 1 byte = 8 bit

Tetapi Untuk ukuran memori mungkin bisa bebeda-beda pada setiap komputer yang
anda gunakan. Untuk melihat pasti ukuran memori setiap tipe data pada komputer anda,
anda bisa menggunakan function  sizeof()  untuk memeriksa besar memori yang
dipakai.
Function  sizeof()  biasanya digunakan untuk mengetahui besar memori dari tipe data,
variabel, obyek dan semua deklarasi yang dapat memakan memori pada komputer.
Contoh Program :

1 #include <iostream>

2 using namespace std;

3  

int main()
4
{
5
    cout << "--> Integer " << endl;
6
    cout << "Ukuran Memori dari int : " << sizeof(int) << endl;
7
    cout << "Ukuran Memori dari signed int : " << sizeof(signed int) << endl;
8
    cout << "Ukuran Memori dari signed int : " << sizeof(signed short int) << endl;
9
    cout << "Ukuran Memori dari signed int : " << sizeof(signed long int) << endl;
10     cout << "Ukuran Memori dari signed int : " << sizeof(signed long long int) << end

11     cout << "Ukuran Memori dari unsigned int : " << sizeof(unsigned int) << endl;

12     cout << "Ukuran Memori dari unsigned int : " << sizeof(unsigned short int) << en

13     cout << "Ukuran Memori dari unsigned int : " << sizeof(unsigned long int) << end

14     cout << "Ukuran Memori dari unsigned int : " << sizeof(unsigned long long int) <

15  

    cout << endl << "--> Floating Point " << endl;
16
    cout << "Ukuran Memori dari float : " << sizeof(float) << endl;
17
 
18
    cout << endl << "--> Double Floating Point " << endl;
19
    cout << "Ukuran Memori dari Double : " << sizeof(double) << endl;
20
    cout << "Ukuran Memori dari Long Double : " << sizeof(long double) << endl;
21
 
22
    cout << endl << "--> Boolean " << endl;
23
    cout << "Ukuran Memori dari Boolean : " << sizeof(bool) << endl;
24
25

26  

27     cout << endl << "--> Character " << endl;

28     cout << "Ukuran Memori dari Char : " << sizeof(char) << endl;

29     cout << "Ukuran Memori dari Singned Char : " << sizeof(signed char) << endl;

    cout << "Ukuran Memori dari Unsigned Char : " << sizeof(unsigned char) << endl;
30
    cout << "Ukuran Memori dari char16_t : " << sizeof(char16_t) << endl;
31
    cout << "Ukuran Memori dari char32_t : " << sizeof(char32_t) << endl;
32
    cout << "Ukuran Memori dari wchar_t : " << sizeof(wchar_t) << endl;
33
 
34
    cout << endl << "--> String " << endl;
35
    cout << "Ukuran Memori dari String: " << sizeof(string) << endl;
36
 
37
    cout << endl << "--> Pointer Null " << endl;
38     cout << "Ukuran Memori dari decltype(nullptr): " << sizeof(decltype(nullptr)) <

39
 
40     cout << endl << "--> Valueless " << endl;

41     cout << "Ukuran Memori dari void: " << sizeof(void) << endl;

42  

43     return 0;

44 }

45

Fungsi dan Cara penggunaan macam-macam dasar


Tipe Data
Boolean  bool
Boolean adalah salah satu tipe data yang dapat memiliki nilai dari dua pilihan
yaitu True  1  atau False  0  . Tipe data ini biasanya digunakan untuk memberikan dan
memastikan kebenaran dari sebuah operasi atau kondisi program.
Bentuk penulisan

1 bool daftar_variabel = inisialisasi;


Contoh penulisan

1 bool pilihan=0; // Contoh mendirikan variable Boolean dengan inisialisasi 0 = false

Contoh program

1
#include <iostream>
2
using namespace std;
3
 
4
int main()
5 {

6     int angka; //Tipe data Integer untuk menyimpan data bersifat bilangan bulat

7     bool hasil = true; //Tipe data Boolean yang mempunyai nilai awal true ( 1 )

8  

9     cout<<"Masukan angka = ";cin>>angka; //Input Bilangan bulat ke variabel "angka

10  

11     hasil = angka > 10;

    //variabel "hasil" akan menyimpan nilai kondisi dari variabel "angka" > 10.
12
    cout<<hasil; //jika kondisi True maka akan tertulis angka 1 atau 0 jika kondis
13
    return 0;
14
}
15

Character  char
Char adalah salah satu tipe data sembarang huruf, angka, dan simbol. Yang
memungkinkan kita untuk memesan memori yang dapat menyimpan nilai dalam bentuk
karakter tunggal seperti ‘a’, ‘$’ dan lain-lain.

Bentuk penulisan

1 char nama_variabel = inisialisasi ;

Contoh penulisan

1 char grade = 'a';

Contoh program
1 #include <iostream>

2 using namespace std;

3  

4 int main(){

    char x='A'; //Variabel Char hanya dapat memuat satu karakter.


5
 
6
    cout<<"Masukan kelas = ";cin>>x; //Jika anda memasukan karakter lebih dari sat
7 pertama.

8     cout<<endl<<"Yang anda masukan adalah "<<endl<<x;

9  

10     return 0;

11 }

Integer  int
Integer adalah salah satu tipe data numerik yang memungkinakn kita untuk menyimpan
data dalam bentuk bilangan bulat.

Bentuk penulisan

1 int daftar_variabel = inisialisasi;

Contoh penulisan

1 int bilangan = 10;

Contoh program

1 #include <iostream>

2 using namespace std;

3  

int main(){
4
    int bilangan = 0, hasil=0;
5
 
6
    cout<<"Masukan angka = ";cin>>bilangan;
7
    hasil = bilangan * 2;
8
    cout<<"Hasil dari "<<bilangan<<" X 2 adalah "<<hasil;
9
 
10
    return 0;
11
}
12

Float Point  float


Float  adalah salah satu tipe data Numerik yang memungkinkan untuk menyimpan nilai
dalam memori bersifat bilangan pecahan atau real, maupun eksponensial.
Bentuk penulisan

1 float daftar_variabel = inisialisasi;

Contoh penulisan

1 float p=3,14;

Contoh Program

1
#include <iostream>
2
using namespace std;
3
 
4 int main(){

5     float jari, hasil ;

6     const float p=3.14; //variabel konstanta

7  

8     cout<<"Masukan Jumlah jari-jari = ";cin>>jari;

9     hasil = (jari * p)*2; //disini kita menggunakan variabel float

    //karena hasil dari penghitungan lingkaran biasanya berbentuk bilangan pecahan


10
    cout<<"Keliling dari Lingkaran adalah "<<hasil;
11
 
12
    return 0;
13
}
14

Double Floating Point  double


Double sama seperti  float  adalah salah satu tipe data yang bersifat menyatakan
bilangan pecahan atau real, maupun eksponensial. Bedanya adalah penyimpanan
angka masimal lebih besar daripada  float , otomatis  double  juga akan membutuhkan
memori yang lebih besar.

Bentuk penulisan

1 double daftar_variabel = inisialisasi;

Contoh penulisan

1 double angka = 3.14;

Contoh program

1
#include <iostream>
2
using namespace std;
3
 
4 int main(){

5     double jari, hasil ;

6     const double p=3.14;

7  

8     cout<<"Masukan Jumlah jari-jari = ";cin>>jari;

9     hasil = jari*(jari * p);

    cout<<"Luas dari lingkaran 3.14 X "<<jari<<" X "<<jari<<" adalah "<<hasil;


10
 
11
    return 0;
12
}
13

String  string
Merupakan tipe data Text yang memungkinkan kita menyimpan nilai dengan bentuk text,
kumpulan dari karakter.

Bentuk penulisan

1 string daftar_variabel = inisialisasi;

Bentuk penulisan

1 string kalimat = ”Selamat Belajar Di belajarcpp.com” ;


Contoh Program

1
#include <iostream>
2 using namespace std;

3
 
4 int main(){

5     string pesan = "Selamat Belajar Di belajarcpp.com", kalimat = "";

6  

7     cout<<pesan<<endl;

8     getline(cin,kalimat); //Fungsi input agar dapat membaca kalimat panjang dan ya

    cout<<kalimat<<endl;
9
 
10
    return 0;
11
}
12

Valueless  void
void  adalah salah satu tipe data yang berarti “tidak ada” atau “tidak mempunyai tipe
data”. Void masih di dalam katagori tipe data tetapi kita tidak bisa menggunakanya pada
variabel biasa.
void  biasanya digunakan pada function yang tidak mempunyai return value  void
myFunction() , pada function parameter yang tidak mempunyai parameter  void
myfunction(void)  dan pada pointer  void *myPointer; .
Penjelasan dan Cara Inisialisasi pada
C++
Pengertian Inisialisasi
Variabel adalah suatu tempat dimana kita bisa menyimpan nilai atau data di dalamnya,
dan tempat itu merupakan memori dari komputer, memori yang telah diberikan oleh
CPU memungkinkan kita untuk menyimpan data dengan jenis tertentu di dalam memori
komputer.

Data dari variabel bisa kita salin, simpan atau bisa kita perbaharui. untuk melakukan hal
tersebut kita harus melakukanya dengan memanggil identitas dari variabel yang telah
kita berikan pada saat deklarasi variabel tersebut.

Inisialisasi (Initialization) adalah tugas pemberian nilai awal yang dilakukan saat
deklarasi variabel atau obyek. Inisialisasi sangat disarankan untuk dilakukan setiap
mendirikan sebuah deklarasi.

Kenapa Inisialisasi Disarankan Untuk Dilakukan?


Ketika kita mendirikan variabel, kita sebenarnya memesan tempat memori pada
komputer. Di dalam bahasa pemrograman ada istilah seperti pemesanan memori dan
pelepasan memori dan hal Itu adalah aktivitas yang selalu dilakukan oleh program-
program di dalam komputer anda.

Inisialisasi disarankan untuk dilakukan karena ketika suatu program melepaskan


memori, sebenarnya memori tersebut hanya dilepaskan dan tidak dikosongkan, dengan
arti ketika kita memesan memori (mendirikan variabel) tanpa inisialisasi, kemungkinan
kita akan mendapatkan data sampah pada memori yang telah kita pesan itu. Anda bisa
mencobanya melalui contoh program di bawah.

#include <iostream>;
1
using namespace std;
2
 
3
int main()
4
{
5
    int a;
6
    cout<<a;
7
 
8
    return 0;
9 }
Variabel  a  pada contoh program di atas akan memiliki nilai yang diwariskan oleh
pengguna (program) sebelumya jika memori tersebut pernah digunakan, dan jika kita
tidak melakukan inisialisasi pada variabel tersebut maka nilai tersebut dapat membuat
program kita mendapatkan data yang bukan asli berasal dari operasi program kita (data
asing dan tidak diharapkan).
Macam-macam Cara Inisialisasi
1. C-like Initialization atau Copy Initialization, diwariskan oleh Bahasa
Pemrograman C. dengan cara menambahkan tanda “sama dengan”  =  di antara
nama variabel dan nilai awal variabel.
Bentuk Penulisan

1 dataType identitas = initial_value;

Contoh Penulisan

1 int varInteger = 0;

2 char varSingleChar = 0; //atau char varSingleChar = '';

3 char varChar[] = "";

4 string varstring = "";

sebenarnya untuk inisialisasi kita bebas memberikan nilai apapun sebagai nilai
awal dari variabel, tapi di sini penulis contohkan cara inisialisasi variabel dengan
nilai kosong.

2. Constructor Initialization atau Direct initialization, diperkenalkan pada C++,


membungkus nilai awal di dalam atau antara tanda kurung  (  dan  ) .
Bentuk Penulisan

1 dataType identitas (initial_value);

Contoh Penulisan

1 int varInteger (0);

2 char varSingleChar ('');

3 char varChar[] = ("");

3. Inisialisasi Seragam (Uniform initialization), diperkenalkan oleh revisi C ++


standar, pada tahun 2011 , mirip dengan cara kedua, tetapi menggunakan kurung
kurawal  { } . cara uniform initialization biasanya digunakan untuk inisialisasi
variabel array.
Bentuk Penulisan

1 dataType identitas {initial_value};

Contoh Penulisan :
1 int varInteger{0};

2 char varSingleChar{0}; //atau char varSingleChar {' '};

3 char varChar[]{""};

4 string varstring{""};

Contoh Program

1 #include <iostream>

2 using namespace std;

3  

int main ()
4
{
5
    int x;        //variabel yang tidak diinisialisasi akan memiliki nilai awal dar
6
    int a=6;      // C-like Initialization, int bernilai= 6
7
    int b(2);     // Inisialisasi Constructor, int bernilai=2
8
    int c{3};     // Inisialisasi Seragam, int bernilai=4
9
    int hasil;    // int tidak bernilai. value undetermined (karena kita yakin dan
hal ini tidak disarankan)
10
 
11
    //jika kita tidak menginisialisasi salah satu variabel maka akan menghasilkan
12
    cout <<"Hasil variabel tidak mempunyai nilai awal : "<<x+a<<endl;
13
 
14
    //Operasi dengan variabel yang mempunyai nilai awal (hasil sesuai dengan harap
15
    a = a + b;
16
    hasil = a - c;
17     cout <<"Hasil variabel yang mempunyai nilai awal : "<< hasil;

18  
19     //Inisialisasi sangat penting dalam deklarasi untuk memastikan tidak adanya ni

20     //yang kemungkinan dapat mengacaukan operasi matematika dalam program kita.

21     return 0;

22 }
23
Sifat-sifat dan Macam-macam Operator
Pengertian Operator
Operator adalah simbol atau karakter khusus yang digunakan untuk melakukan suatu
operasi membantu kompilator untuk memanipulasi secara matematis atau logis pada
data yang diberikan.

Bahasa pemrograman C++ menyediakan banyak operator yang sangat berguna untuk
melakukan operasi. pada artikel ini penulis akan membahas beberapa informasi tentang
operator yang umum harus diketahui.

1 A + B;

Di atas adalah contoh bentuk dari operasi, dalam suatu operasi umumnya mempunyai
istilah “operand” dan “operator”. operand merupakan data yang akan dimanipulasi oleh
operator merupakan  A  dan  B , untuk operator merupakan simbol atau tanda yang
berfungsi untuk memanipulasi sebuah data atau beberapa data, dalam contoh di atas
adalah tanda  + .
Sifat-Sifat Operator
Dalam banyaknya macam-macam operator kita biasa menggolongkanya berdasarkan
sifatnya, berikut sifat-sifat dari operator:

 Unary : Sifat Unary adalah operator yang hanya melibatkan


sebuah operand pada suatu operasi. Ada dua operator unary utama
yaitu increment dan decrement operator.

Bentuk Penulisan

1 -a;

 Binary : Sifat Binary adalah operator yang melibatkan dua buah operand dan


satu operator di tengah dua operand pada suatu operasi .

Bentuk Penulsan

1 a + b;

 Ternary : Sifat Tenary pada operator adalah operator kondisi ( atau Conditional


Operator) yang melibatkan tiga buah operand pada suatu operasi.

Bentuk Penulisan

1 pernyataan: expresi?pilhan1:pilihan2;
Macam-macam Operator
Operator Aritmetika   ( * ,  / ,  % ,  + ,  - )
Operator untuk operasi aritmetika tergolong sebagai operator binary yang artinya
operator-operator ini memerlukan satu operator untuk dua operand, Operator aritmetika
terdiri dari:

Operator Keterangan Contoh

* Perkalian a * b

/ Pembagian a / b

% Sisa pembagian (Modulo) a % b

+ Penjumlahan a + b

- Pengurangan a – b

Dan operator aritmetika juga mempunyai beberapa operator yang dapat bersifat unary,
yaitu:

Operator Keterangan Contoh

+ Penjumlahan +a

- Pengurangan -a

Compound Assignment
( += ,  -= ,  *= ,  /= ,  %= ,  >>= ,  <<= ,  &= ,  ^= ,  |= )
Compound Assignment jika di artikan ke dalam bahasa Indonesia adalah "Senyawa
Tugas". Tapi di Indonesia orang biasa menyebut sebagai "Pemberi Nilai Aritmetika".
Operasi ini mirip seperti Operator aritmetika hanya saja bereda cara penulisanya (Lebih
singkat).
Operator Keterangan Contoh

+= Penambahan X += Y

-= Pengurangan X -= Y

*= Perkalian X *= Y

/= Pembagian X /= Y

%= Sisa Pembagian (Modulo) X %= Y

>>= Pergeseran bit ke kiri X >>= Y

<<= Pergeseran bit ke kanan X <<= Y

&= Bitwise DAN X &= Y

^= Bitwise OR Eksklusif X ^= Y

|= Bitwise OR Inklusif X |= Y

Increment   Dan   Decrement Operator   ( ++ ,  -- )


Increment dan Decrement Operator atau Operasi Peningkatan dan Penurunan.
Increment adalah peningkatan atau penambahan operator dengan tanda  ++  berfungsi
untuk meningkatkan nilai operand sebanyak  1 . Dan Decrement adalah Penurunan atau
pengurangan operator dengan tanda  --  berfungsi untuk menurunkan
nilai operand sebanyak  1 .
Tabel Operator Penambahan dan Pengurangan

Operator Keterangan Penjabaran

++ Increment / Penaikan / Penambahan X = X + 1

-- Decrement / Penurunan / Pengurangan X = X – 1


Dalam peletakan operator, Operator increment dan decrement dapat diletakan pada
awal atau akhir, Peletakan operator ini akan mempengaruhi cara kerja dari operator
tersebut, seperti yang di jelaskan di bawah ini:

++X  (Prefix) adalah Nilai variabel  X  dinaikan dahulu sebelum diproses.


X++  (Postfix) adalah Nilai variabel  X  diproses dahulu sebelum dinaikan.
Relational and Comparison Operators   ( == ,   != ,   < ,   > ,   <= ,   >= )
Dua ekspresi dapat dibandingkan dengan menggunakan Relational and Comparison
Operators. Misalnya, untuk menentukan apakah suatu variable memiliki nilai lebih besar
atau lebih kecil dan sebagainya, hal itu dapat ditentukan dengan menggunakan
operator Relational and Comparison Operators. dan Hasil operasi tersebut akan bernilai
Benar ( 1 ) atau salah (  0  ) yang merupakan bilangan Boolean.
Operator Keterangan Contoh

== Sama dengan ( a==a ) atau ( a==5 ) atau ( 5==5 )

!= tidak sama dengan ( a!=a ) atau ( a!=5 ) atau ( 5!=5 )

< kurang dari ( a<a ) atau ( a<5 ) atau ( 5<5 )

> lebih besar dari ( a>a ) atau ( a>5 ) atau ( 5>5 )

<= kurang dari sama dengan ( a<=a ) atau ( a<=5 ) atau ( 5<=5 )

>= lebih dari sama dengan ( a>=a ) atau ( a>=5 ) atau ( 5>=5 )

Logical Operator   ( && ,   || ,   ! )


Logical operator digunakan untuk memeriksa kesamaan nilai dari dua data atau lebih
dan juga ada yang dapat mengembalikan nilai dari bilangan Boolean.

Asumsikan jika kita memiliki dua operand  A  dengan nilai 1 dan  B  dengan nilai  0  ,
kelanjutanya akan penulis coba demonstrasikan pada contoh di dalam table di bawah.
Operato Keterangan Contoh
r

&& Disebut sebagai Logical AND operator. Jika A && B =


kedua operand tidak memiliki nilai yang sama maka akan false
bernilai  false
Operato Keterangan Contoh
r

|| Disebut sebagai Logical OR operator. Jika keduanya atau A || B =


salah satu data bernilai  true  maka akan menghasilkan true
nilai  true

! Disebut sebagai Logical NOT operator. Untuk !(A && B)


mengembalikan nilai, jika  A  adalah  true  maka akan = true
bernilai  false

Bitwise Operators   ( & ,   | ,   ^ ,   ~ ,   << ,   >> )


Operator Bitwise adalah operasi matematika yang mengoperasikan pada bilangan biner
berbasis 2. Operator bitwise berfungsi untuk mengoperasi sebuah data angka bilangan
desimal yang akan diubah menjadi bilangan biner terlebih dahulu dan dioperasikan
sesuai operasi yang diperintahkan, untuk hasil akhirnya akan diubah kembali menjadi
bilangan desimal.

Operator Asm equivalent Keterangan

& AND Bitwise DAN

| OR Bitwise OR Inklusif

^ XOR Bitwise OR Eksklusif

~ NOT Akan membalikan nilai

<< SHL Pergeseran Bit ke kiri

>> SHR Pergeseran Bit ke kanan

Conditional Ternary Operator   (   ?   )


Conditional ternary operator akan mengevaluasi ekspresi dan memilih dua pilihan nilai,
menjadi memiliki  nilaiSatu  jika ekspresi yang dievaluasi adalah  true  dan
memiliki  nilaiDua  jika ekspresi bernilai sebagai  false .
Bentuk penulisan

1 Ekspresi ? nilaiSatu : nilaiDua


Atau gampangnya

1 Ekspresi ? true : false

Comma Operator (   ,   )
Comma Operator atau Operator koma (  ,  ) digunakan untuk memisahkan dua atau lebih
ekspresi yang disertakan di mana hanya satu ekspresi yang diharapkan. Ketika set
ekspresi harus dievaluasi untuk nilai, hanya ekspresi paling kanan yang akan dianggap.
Contoh

1 a = (b=3, b+2, c=10);

Pertama akan menetapkan nilai  3  untuk  b  dan kemudian menetapkan  b+2  dan untuk
terakhir akan menetapkan  c  dengan nilai  10 , Jadi pada akhirnya variabel  a  akan berisi
nilai  10 , sedangkan variabel  b  akan berisi nilai  3  dan  c  bernilai  10 .
Penjelasan Assignment Operator
(Operator Penugasan)
Assignment Operator ( = )
Operator penugasan atau dalam bahasa inggris disebut sebagai Assignment Operator.
Merupakan operator dengan tanda (  =  ) yang digunakan untuk memberi nilai kepada
tujuan.
Bentuk Penulisan

1 tujuan = sumber;

Nilai yang diletakan pada  sumber  akan di salin ke  tujuan .


Contoh Penulisan

1 x = 5;

Pernyataan di atas merupakan operasi dari operator penugasan dimana sumber berada
pada sisi kanan dan tujuan berada pada sisi kiri. menyalin nilai
integer  5  kepada variabel  x , tugas operasi selalu berlangsung dari kanan ke kiri dan
tidak pernah sebaliknya.
Contoh Penulisan

1 x = y;

Ekspresi di atas menyalin nilai yang dimiliki oleh variabel  y  kepada variabel  x , dan jika
pada variabel  x  sebelumnya memang sudah memiliki nilai sendiri maka nilai pada
variabel  x  akan digantikan dengan nilai baru yang dimiliki oleh variabel  y .
Contoh Program

1 #include <iostream>

2 using namespace std;

3  

int main ()
4
{
5
   int x, y;         // x:?,  y:?
6
 
7
   x = 10;           // x:10, y:?
8
   y = 6;            // x:10, y:6
9
   x = y;            // x:6,  y:6
10    y = 2;            // x:6,  y:2
11
 
12
   cout << "x : "<<x<<endl;
13
   cout << "y : "<<y<<endl;
14
   return 0;
15
}
16

Program di atas akan menghasilkan keluaran pada CLI yang menyatakan hasil akhir
dari variabel  x  dan  y .

x:6
y:2

Operasi penugasan biasanya berisi sebuah ekspresi yang dapat dievaluasi, yang
memungkinkan kita melakukan operasi sebelum kita salin ke pada tujuan. Sebagai
contoh :

1 y = 2 + (x = 5);

Dalam contoh di atas,  x  diberi nilai  5  dan  y  mendapatkan nilai dari


penjumlahan  2  ditambah nilai  x  yang sudah memiliki nilai  5 , atau setara dengan.
1 x = 5;

2 y = 2 + x;

dengan itu  y  mendapatkan nilai  7  dari penjumlahan  2 + 5 .


Ekspresi berikut ini juga berlaku pada Bahasa Pemrograman C/C ++ :

1 x = y = z = 5;

Ini memberikan nilai 5 ke tiga variabel:  x ,  y  dan  z , cara kerjanya selalu dimulai dari
kanan-ke-kiri.

Tambahan
Jika pembaca mengikuti pembelajaran di belajarcpp.com dan menyadari dan beripikiran
bahwa pengertian operator penugasan di atas mirip seperti pengertian inisialisasi.

Maka akan penulis jelaskan bahwa operator penugasan dan inisialisasi itu berbeda,
inisialisasi memang menggunakan operator penugasan, tapi dari segi keseluruhan
penyataan itu disebut sebagai inisialisasi karena apa yang ditugaskan merupakan
variabel baru yang saat itu juga di buat dan langsung diberikan nilai.
Jika operator penugasan merupakan tanda operasi  = , dan sebuah pernyataan bisa
disebut operasi penugasan jika keadaan variabel-variabel tersebut ada dan mereka
semua sudah dibuat sebelumnya.
Penjelasan dan Macam-macam
Operator Aritmetika

Pengertian Operator Aritmetika


Aritmetika berasal dari bahasa yunani yang memiliki arti angka, adalah ilmu hitung yang
mempelajari operasi dasar bilangan yang merupakan bagian dari matematika.

Operator aritmetika pada Bahasa Pemrograman C++ terdiri dari Penjumlahan  + ,


Pengurangan  - , perkalian  * , pembagian  / , dan modulo  % . Semua itu berfungsi untuk
memanipulasi data yang berbentuk bilangan.
Tabel Operator Aritmetika

Operator Keterangan Contoh

* Perkalian a * b

/ Pembagian a / b

% Modulo (Sisa Pembagian) a % b

+ Penjumlahan a + b

- Pengurangan a – b

Untuk operator pembagian, perkalian, penjumlahan dan pengurangan memiliki cara


kerja yang sama seperti apa yang ada pada matematika di dunia nyata. Untuk
pembagian sedikit berbeda cara kerjanya karena hasil dari operasi pembagian akan
dipengaruhi oleh tipe data dari operand.

Contoh Program

1 #include <iostream>

2  

3 using namespace std;

4  

int main(){
5

6     double a, b;

7     int c, d;

    a = 7.0/4.0;
8
    b = 7/4;
9
    c = 7.0/4.0;
10
    d = 7/4;
11
 
12
    cout<<a<<endl;
13
    cout<<b<<endl;
14
    cout<<c<<endl;
15     cout<<d<<endl;

16  

17     return 0;

18 }

19

Dan Modulo adalah operator yang akan menghasilkan sisa dari pemagian bilangan


bulat. misal bilangan bulat  10 % 3  akan menghasilkan  1 .
Contoh Program

1 #include <iostream>

2  

3 using namespace std;

4  

int main(){
5
    double a, b;
6
    a = 7%4;
7
    b = 10%3;
8
 
9
    cout<<a<<endl;
10
11     cout<<b<<endl;

12  

13     return 0;

14 }

Bentuk penulisan operasi

1 x = a + b

2 x = a * (b + c)

hasil dari operasi akan disalin ke tempat tujuan yang biasanya merupakan suatu
variabel atau menjadi argument untuk function parameter.

Contoh program

1
#include <iostream>
2
using namespace std;
3
 
4
int main(){
5
    int x, y;
6     cout<<"Masukan nilai x = ";cin>>x;

7     cout<<"Masukan nilai y = ";cin>>y;

8  

9     cout<<"x + y = "<<(x + y)<<endl;

10     cout<<"x - y = "<<(x - y)<<endl;

    cout<<"x * y = "<<(x * y)<<endl;


11
    cout<<"x / y = "<<(x / y)<<endl;
12
    cout<<"x % y = "<<(x % y)<<endl;
13
 
14
    return 0;
15
}
16
Dalam operator aritmetika memiliki 2 sifat yaitu binary dan unary dan pada tabel dan
beberapa penjelasan di atas, penulis hanya menjelasan mengenai operator yang
bersifat binary.

Pada operator aritmetika memiliki dua operator yang bersifat unary, yaitu :

Operator Keterangan Contoh

+ Penjumlahan +a

- Pengurangan -a

Fungsi operator di atas akan mengubah nilai dari suatu bilangan menjadi positif atau
negatif. Tetapi jika nilai tersebut bersifat negatif dan diberikan operator  -  maka akan
berubah menjadi positif. Semua ini bekerja mirip seperti matematika pada dunia nyata.
Bentuk penulisan

1 B = 7

2 A = -B

yang berarti bahwa A akan memiliki nilai B tapi nilai tersebut akan bersifat negatif.

Contoh Program

1
#include <iostream>
2 using namespace std;

3  
4 int main(){

5     int a = -6;

6   

7     a = -a;

8     cout<<a;

9   

    return 0;
10
}
11

Contoh Program :
1 #include <iostream>

2 using namespace std;

3  

int main(){
4
    //Declarasi Variabel + Inisialisasi
5
    int x=0, y=0, a=0, b=0, c=0, d=0, e=0, f=0;
6
 
7
    //input
8
    cout<<"MasukanNilai X : "; cin>>x;
9
    cout<<"MasukanNilai Y : "; cin>>y;
10
 
11     //Operasi Binary

12     a=x+y;

13     c=x% y;

14     b=x-y;

15     d=x*y;

16  

    //Operasi Unary
17
    e = +x;
18
    f = -x;
19
 
20
    //Output
21
    cout<<" Hasil Dari A = X + Y= "<<a<<endl;
22
    cout<<" Hasil Dari B = X - Y= = "<<b<<endl;
23     cout<<" Hasildari C = X % Y = "<<c<<endl;

24     cout<<" Hasildari D = X * Y = "<<d<<endl;

25     cout<<" Hasildari E = -X = "<<e<<endl;

26     cout<<" Hasildari F = +X = "<<f<<endl;

27  
28

29     return 0;

30 }

31
Penjelasan dan Contoh dari Operator
Penaikan dan Penurunan
Increment And Decrement Operator atau dalam bahasa Indonesia adalah “Operator
penaikan dan penurunan”. Dalam operator ini terdapat dua bentuk operator yaitu
penaikan ( ++ ) dan penurunan ( -- ).
Tabel Operator penaikan dan penurunan
Operator Keterangan Penjabaran

++ Penaikan x = x + 1

-- Penurunan x = x - 1

Operator penaikan ( ++ ) berfungsi untuk menambahkan  1  nilai kepada nilai tujuan dan
Operator penurunan ( -- ) berfungsi untuk mengurangi  1  nilai pada nilai tujuan.
Contoh :

1 int x = 1 ;

2 x++;

Contoh di atas adalah contoh bagaimana operator penaikan di gunakan, nilai  x  yang
telah diinisialisasi dengan nilai  1  akan ditambahkan dengan nilai  1  dan
menjadi  2  setelah menggunakan operator penaikan, dan juga sebaliknya jika
mnggunakan operator penurunan.
Cara kerja dari operator penaikan dan penurunan akan berbeda tergantung dari
peletakanya, tanda operator penaikan atau penurunan dapat diletakan di
depan operand (Prefix) atau di belakang operand (Postfix).

++X  (Prefix) adalah Nilai variabel  X  dinaikan dahulu sebelum diproses.


X++  (Postfix) adalah Nilai variabel  X  diproses dahulu sebelum dinaikan.
Contoh Program :

1 #include <iostream>

2 using namespace std;

3  

int main(){
4
   int x=5;
5
   cout<<"Penaikan ++x"<<endl;
6

7
   cout<<"x = "<<x<<endl;
8
   cout<<"++x = "<<++x<<endl;
9    cout<<"x = "<<x<<endl;

10    x=5;

11    cout<<"Penaikan x++"<<endl;

12    cout<<"x = "<<x<<endl;

   cout<<"x++ = "<<x++<<endl;
13
   cout<<"x = "<<x<<endl;
14
 
15
   x=5;
16
   cout<<"Pengurangan --x"<<endl;
17
   cout<<"x = "<<x<<endl;
18
   cout<<"--x = "<<--x<<endl;
19    cout<<"x = "<<x<<endl;

20    x=5;

21    cout<<"Pengurangan x--"<<endl;

22    cout<<"x = "<<x<<endl;

23    cout<<"x-- = "<<x--<<endl;

   cout<<"x = "<<x<<endl;
24
 
25
   return 0;
26
}
27

28
Macam-macam Operator Relasi dan
Perbandingan
Penjelasan Relational and Comparison Operators
Relational and Comparison operators atau dalam indonesia disebut sebagai
“Operator Relasional dan Perbandingan” yang berfungsi untuk membandingkan
dua operand atau ekspresi yang sebagai operand, hasil dari perbandingan akan
menghasilkan nilai bertipe Boolean, “True atau False“. Operator ini memiliki 6 bentuk
operasi, yaitu:

Operator Keterangan Contoh

== Sama dengan a==b  atau  a==5

!= Tidak sama dengan a!=b  atau  a!=5

< Kurang dari a<b  atau  a<5

<= Kurang dari sama dengan a<=b  atau  a<=5

> Lebih besar dari a>b  atau  a>5

>= Lebih dari sama dengan a>=b  atau  a>=5

Macam-macam Operator Relasional dan


Perbandingan
Sama Dengan  ==
Berfungsi untuk membandingkan dua operand, memeriksa apakah
dua operand tersebut memiliki nilai yang sama. Jika kedua operand memiliki nilai yang
sama maka akan mnghasilkan nilai  1  (True) jika berbeda maka akan
menghasilkan  0  (false).
Contoh program

1 #include <iostream>

2 using namespace std;


3
 
4 int main ()

5 {

6     int a = 10,b = 2;

7  

8     cout<< (a == b) <<endl;

9     return 0;

}
10

Tidak sama dengan  !=


Berfungsi terbalik dari fungsi operator  == . Operator  !=  akan membandingkan nilai dari
dua operand, jika kedua operand memiliki nilai yang sama maka akan menghasilkan
nilai  0  (False) dan jika kedua operand tidak memiliki nilai yang sama maka akan
menghasilkan nilai  1  (true).
Contoh program

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     int a = 10,b = 2;

7  

8     cout<< (a != b) <<endl;

    return 0;
9
}
10

Kurang dari  <


Berfungsi untuk membandingkan nilai operand memeriksa apakah nilai operand pada
sisi kiri lebih kecil dari pada nilai operand pada sisi kanan. Jika memang sesuai maka
akan menghasilkan nilai  1  (true) jika tidak maka menghasilkan nilai  0  (false).

Baca :   Macam-macam Compound Assignment


Contoh program

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     int a = 10,b = 2;

7  

8     cout<< (a < b) <<endl;

    return 0;
9
}
10

Kurang dari sama dengan  <=


Memiliki nama “kurang dari sama dengan” fungsi hampir sama seperti fungsi
operator  <  tapi berbeda pada jarak batas perbandinganya, jika pada operator  <  nilai sisi
kiri harus kurang dari sisi kanan tapi jika operator  <=  nilai sisi kiri bisa kurang dari atau
tepat pada nilai sisi kanan.
Contoh program

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     int a = 10,b = 10;

7  

8     cout<< (a <= b) <<endl;

    return 0;
9
}
10
Lebih besar dari  >
Berfungsi untuk membandingkan dua operand, memeriksa apakah sisi kiri operand lebih
besar dari sisi kanan operand jika benar maka akan menghasilkan nilai  1  (true) jika tidak
maka akan menghasilkan nilai  0  (false).
Contoh program

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     int a = 10,b = 2;

7  

8     cout<< (a > b) <<endl;

    return 0;
9
}
10

Lebih dari sama dengan  >=


Memiliki nama “lebih besar dari sama dengan” memiliki fungsi yang sama seperti
operator  >  hanya berbeda pada jarak batas perbandinganya sama seperti operator  <= .
Contoh program

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     int a = 10,b = 2;

7  

8     cout<< (a >= b) <<endl;

    return 0;
9
}
10
Penjelasan dan Macam-macam
Operator Logika
Operator logika digunakan untuk melakukan operasi logika yang akan menghasilkan
nilai bertipe Boolean yaitu true dan false. Operator pada operator logika dapat
digunakan untuk membandingkan dari dua operand dan ada juga yang dapat
membalikan nilai dari sebuah operand.

Tabel Operator Logika :

Operator Keterangan

&& Operasi Logika AND

|| Operasi Logika OR

! Operasi Logika NOT

Operator logika digunakan untuk mengoprasikan operand yang bertipe Boolean dan


akan menghasilkan Boolean. Jika operand yang dinyatakan tidak bertipe boolean,
misalnya operand memiliki nilai integer  76 .
Maka operator akan memperlakukan operand tersebut sebagai Boolean, Dengan
ketentuan Jika nilai operand adalah  0  maka akan di anggap sebagai  0  (false) dan jika
nilai bukan  0  maka akan dianggap  1  (true) meskipun nilai tersebut bilangan negatif.
Macam-macam Operator Logika
&&  Operator Logika AND
Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi
sebagai operand untuk mendapatkan rasional tunggal. Operasi akan menghasilkan
nilai  1  (true) jika kedua operand bernilai 1 (true) tapi jika salah satu atau keduanya
bernilai (false) maka akan menghasilkan nilai (false).
Di bawah ini adalah tabel dari perbandingan Operator logika AND.

Table Logika AND :

X Y X && Y

True True True


X Y X && Y

True False False

False True False

False False False

Contoh program :

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     bool a = 1, b = 0;

7  

8     cout<< (a && b) <<endl;

    return 0;
9
}
10

Contoh Kasus :

Ekspresi Relasi 1 :  4 < 10


Ekspresi Relasi 2 :  7 == 6
Ekspresi Relasi 3 :  9 >= 4
Penggabungan ketiga ekspresi relasi diatas menjadi :

1 4 < 10 && 7==6 && 9 >= 4

Maka ketiga ekspresi tersebut mempunyai nilai :

Ekspresi Relasi-1 :  4 < 10  (BENAR/1)


Ekspresi Relasi-2 :  7 == 6  (SALAH/0)
Ekspresi Relasi-3 :  9 >= 4  (BENAR/1)
Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan
menghasilkan:

1 4 < 10 && 7==6 && 9 >= 4 //(SALAH = 0)


Contoh Program :

1
#include <iostream>
2
using namespace std;
3
 
4
int main( ){
5
   int a, b, c, hasil1, hasil2, hasil3, hasilAkhir;
6
 
7
   cout<<"Masukan Nilai A = ";cin>>a;
8
   cout<<"Masukan Nilai B = ";cin>>b;
9
   cout<<"Masukan Nilai C = ";cin>>c;
10
 
11    hasil1 = a + 4 < 10;

12    hasil2 = b > a + 5;

13    hasil3 = c - 3 >= 4;

14    hasilAkhir = hasil1 && hasil2 && hasil3;

15  

   cout<<"=  Program Ekspresi AND  ="<<endl;


16
   cout<<"=========================="<<endl;
17
   cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl;
18
   cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl;
19
   cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl;
20
   cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl;
21
 
22    return 0;

23 }

24
Operator Logika OR
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi
untuk mendapatkan hasil rasional tunggal, Operator  ||  dibaca sebagai OR, akan
dianggap  1  (true), bila salah satu ekspresi relasi yang dibandingkan bernilai  1  (true) dan
bila semua ekspresi relasi yang dibandingkan bernilai  0  (false), maka akan
bernilai  0  (false).

Baca :   Penjelasan dan Macam-macam Pernyataan Pengulangan

Tabel Perbandingan Operator Logika OR

X Y X || Y

True True True

True False True

False True True

False False False

Contoh Program :

1
#include <iostream>
2 using namespace std;

3  
4 int main ()

5 {

6     bool a = 1, b = 0;

7  

8     cout<< (a || b) <<endl;

    return 0;
9
}
10
Contoh Kasus :

Ekspresi Relasi 1 :  4<10


Ekspresi Relasi 2 :  7==6
Ekspresi Relasi 3 :  9 >= 4
Penggabungan ketiga ekspresi relasi di atas menjadi :

1 4 < 10 && 7==6 && 9 >= 4

Maka ketiga ekspresi tersebut mempunyai nilai :

Ekspresi Relasi-1 :  4 < 10  (BENAR/1)


Ekspresi Relasi-2 :  7 == 6  (SALAH/0)
Ekspresi Relasi-3 :  9 >= 4  (BENAR/1)
Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan
menghasilkan :

1 4 < 10 || 7==6 || 9 >= 4 //(BENAR/1)

Contoh Program :

1 #include <iostream>

2 using namespace std;

3  

int main( ){
4
   int a, b, c, hasil1, hasil2, hasil3, hasilAkhir;
5
 
6
   cout<<"Masukan Nilai A = ";cin>>a;
7
   cout<<"Masukan Nilai B = ";cin>>b;
8
   cout<<"Masukan Nilai C = ";cin>>c;
9
 
10
   hasil1 = a + 4 < 10;
11    hasil2 = b > a + 5;

12    hasil3 = c - 3 >= 4;

13    hasilAkhir = hasil1 || hasil2 || hasil3;

14  

15    cout<<"=  Program Ekspresi OR  ="<<endl;


16
   cout<<"=========================="<<endl;
17
   cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl;
18
   cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl;
19
   cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl;
20
   cout<<"Hasil dari Hasil Akhir = d || e || f adalah "<<hasilAkhir<<endl;
21
 
22
   return 0;
23 }

24

Cara Kerja operator AND dan OR pada Compiler :

Berdasarkan pernyataan-pernyataan di atas, C++ dalam mengevaluasi hal ini akan


menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi
apa yang diperlukan dari kiri ke kanan. Mendapatkan tujuanya dan mengabaikan
sisanya.

Contoh  (5==6 && 4>3) . C++ akan memproses dan mengevaluasi dari kiri ke kanan
apakah  5==6  adalah  0  (false) atau  1  (true) dan jika mempunyai nilai  1  (true) maka akan
melanjutkan pemeriksaan ke ekspresi selanjutnya.
Tapi kenyataanya adalah  0  (false) maka pemeriksaan akan berhenti di situ dan
mengabaikan sisanya. karena sifat operator AND  &&  yaitu, untuk mendapatkan
nilai  1  (true) dibutuhkan semua operand bernilai  1  (true). Sifat tersebut juga akan
berlaku ke semua operator logika.

Baca :   Macam-macam Compound Assignment

&&  : Jika mendapatkan nilai  0  (false) maka langsung menghasikan nilai  0  (False).
||  : Jika mendapatkan nilai  1  (true) maka langsung menghasikan nilai  1  (True).
Contoh Program :

1 #include <iostream>

2 using namespace std;

3  

int main( ){
4
   int a, b, c, hasil1, hasil2, hasil3, hasilAkhir;
5
6
 
7
   cout<<"Masukan Nilai A = ";cin>>a;
8
   cout<<"Masukan Nilai B = ";cin>>b;
9
   cout<<"Masukan Nilai C = ";cin>>c;
10
 
11
   hasil1 = a + 4 < 10;
12
   hasil2 = b > a + 5;
13    hasil3 = c - 3 >= 4;

14    hasilAkhir = hasil1 && hasil2 || hasil3;

15  

16    cout<<"= Program Ekspresi AND OR ="<<endl;

17    cout<<"==========================="<<endl;

   cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl;


18
   cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl;
19
   cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl;
20
   cout<<"Hasil dari Hasil Akhir = d && e || f adalah "<<hasilAkhir<<endl;
21
 
22
   return 0;
23
}
24

Operator Logika NOT


Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang disebutkan
bernilai  1  (true) maka akan menghasilkan nilai  0  (false), begitu pula sebaliknya.
Contoh :

1 !true // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi

2 !false // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjad

3 !(7==7) // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menja

4 !(9<=2) // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menj

Contoh kasus :
Ekspresi Relasi :  4 < 10
Penggunaan umum Operator Logika NOT diatas menjadi;

1 !( 4 < 10) = 0 //(false)

Ekspresi di atas mempunyai nilai  1  (true) dan jika mengunakan operator logika NOT,
maka ekspresi tersebut akan bernilai  0  (false)
Contoh Program :

1
#include <iostream>
2
using namespace std;
3
 
4
int main(){
5
   int A, hasilSebenarnya, hasilNOT;
6    cout<<"Masukan Nilai A = "; cin>>a;

7  
8     hasilSebenarnya = (a + 5 < 15);

9     hasilNOT = !(a + 5 < 15);

10  

11    cout<<"= Program Ekspresi NOT ="<<endl;

12    cout<<"========================"<<endl;

   cout<<"Nilai A               = "<<a<<endl


13
   cout<<"Nilai hasilSebenarnya = (a + 4 < 10) = "<<hasilSebenarnya<<endl;
14
   cout<<"Nilai hasilNOT        = !(hasilSebenarnya) atau !(a + 5 < 15) = "<<hasil
15
   return 0;
16
}
17
Penjelasan dan Macam-macam
Operator Bitwise
Operator bitwise adalah operasi matematika yang mengoprasikan suatu nilai
dalam bilangan biner. Operator bitwise akan bekerja dengan mengubah bilangan
desimal menjadi bilangan biner, setelah itu akan melakukan operasi berdasarkan
operator bitwise yang digunakan dan pada akhirnya nilai tersebut akan diubah menjadi
bilangan desimal kembali.

Operator Asm equivalent Keterangan

& AND Bitwise AND

| OR Bitwise OR Inklusif

^ XOR Bitwise OR Eksklusif

~ NOT Akan membalikan nilai

<< SHL Pengeseran bit ke kiri

>> SHR Pergeseran Bit ke Kanan

Macam-macam Operator Bitwise
Shift Left (  <<  )
Operator Bitwise Shift Left ( << ) adalah operator yang akan menggeser nilai dalam
bentuk bilangan biner ke kiri. Operator ini akan mengubah bilangan desimal menjadi
bilangan biner lalu menggeser angka dari bilangan biner tersebut ke kiri dan setelah itu
akan mengubahnya kembali ke bilangan desimal.
.

1 0000 0000 1100 1001 = 201

2 //menggeser 1 bit ke kiri, Dibagian kanan disisipkan 0, sebanyak bit yang digeser

3 0000 0001 1001 0010 = 402

Bentuk Penulisan :

1 Nilai << jumlah;


Contoh Program :

1
#include <iostream>
2
using namespace std;
3
 
4 int main(){

5    int x;

6  

7    cout<<"Masukan Nilai X = "; cin>>x;

8    cout<<"Nilai Awal : "<<x<<endl;

9  

10    x = x << 1;

   cout<<"Hasil dari Geser 1 Bit Ke Kiri = "<<x<<endl;


11
 
12
   return 0;
13
}
14

Shift Right (  >>  )


Operator Bitwise Shift Right ( >> ) adalah operator yang akan mengeser nilai dalam
bentuk bilangan biner ke kanan. Operator ini akan mengubah bilangan desimal menjadi
bilangan biner setelah itu menggeser angka dari dari bilangan biner tersebut ke kanan
dan pada akhirnya akan mengubahnya kembali ke bilangan desimal.
1 0000 0000 1100 1001 = 201

2 //digeser 1 bit ke kanan, Dibagian kanan disisipkan 0, sebanyak bit yang digeser da

3 0000 0000 0110 0100 = 100

Bentuk Penulisan :

1 Nilai >> jumlah;

Contoh Program:

1 #include <iostream>

2 using namespace std;


3
 
4
int main(){
5    int x;

6  
7    cout<<"Masukan Nilai X = "; cin>>x;

8    cout<<"Nilai Awal : "<<x<<endl;

9  

10    x = x >> 1;

11    cout<<"Hasil dari Geser 1 Bit Ke Kanan = "<<x<<endl;

12  

   return 0;
13
}
14

AND (  &  )
Operator Bitwise AND (  &  ) adalah operator yang akan membandingkan dua operand
dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi
bilangan biner lalu membandingkanya dengan operand dari sisi lain,

Baca :   Penjelasan dan Macam-macam Operator Logika

Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan


berdasarkan sifat dari AND yaitu untuk menghasilkan nilai  1  (true) kedua operand harus
bernilai  1 (true) jika tidak akan menghasilkan nilai  0  (false).
Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal.

Tabel Operator Bitiwise AND

Bit Operand 1 Bit Operand 2 Hasil Operasi

1 1 1

1 0 0
Bit Operand 1 Bit Operand 2 Hasil Operasi

0 1 0

0 0 0

Contoh:

1 1100 1001 = 201

2 0110 0100 = 100

3 -------------------------- AND

4 0100 0000 = 64

Contoh Program:

1
#include <iostream>
2
using namespace std;
3
 
4 int main(){

5    int hasil, x, y;

6    cout<<"Masukan Nilai X = "; cin>>x;

7    cout<<"Masukan Nilai Y = "; cin>>y;

8    hasil = x & y;

   cout<<"Hasil dari "<<x<<" & "<<y<<" = "<<hasil<<endl;


9
   return 0;
10
}
11

OR (  |  )
Operator Bitwise OR (  |  ) adalah operator yang akan membandingkan
dua operand dalam bentuk bilangan biner. Operator ini akan mengubah bilangan
desimal menjadi bilangan biner lalu membandingkanya dengan operand dari sisi lain.
Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan
berdasarkan sifat dari OR yaitu untuk mendapatkan nilai  1  (true) maka salah satu atau
semua operand harus bernilai  1  (true), jika semua operand bernilai  0  (false) maka akan
mendapatkan nilai  0  (false).
Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal.

Tabel Operator Bitiwise OR

Bit Operand 1 Bit Operand 2 Hasil Operator

1 1 1

1 0 1

0 1 1

0 0 0

Contoh :

1 1100 1001 = 201

2 0110 0100 = 100

3 ------------------------OR

4 11101101 = 237

Contoh Program:

1 #include <iostream>

2 using namespace std;

3  

int main(){
4
   int hasil, x, y;
5
   cout<<"Masukan Nilai X = "; cin>>x;
6
   cout<<"Masukan Nilai Y = "; cin>>y;
7
   hasil = x | y;
8
   cout<<"Hasil dari "<<x<<" | "<<y<<" = "<<hasil<<endl;
9    return 0;

10 }
11

XOR   (   ^   )
Operator Bitwise XOR (  ^  ) merupakan singkatan dari eXclusive OR adalah operator
yang akan membandingkan dua operand dalam bentuk bilangan biner. Operator ini akan
mengubah bilangan desimal menjadi bilangan biner lalu membandingkanya
dengan operand dari sisi lain,

Baca :   Pengertian Function Prototype

Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan


berdasarkan sifat dari XOR yaitu untuk mendapatkan nilai  1  (true) maka
kedua operand harus memiliki nilai yang berbeda, jika kedua operand memiliki nilai yang
sama maka akan mendapatkan nilai  0  ( false ).
Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal.

Tabel Operator Bitiwise XOR

Bit Operand 1 Bit Operand 2 Hasil Operasi

1 1 0

1 0 1

0 1 1

0 0 0

Contoh :

1 1100 1001 = 201

2 0110 0100 = 100

3 -----------------------XOR

4 1010 1101 = 137

Contoh Program:

1 #include <iostream>
2
using namespace std;
3
int main( )
4
{
5    int a, b, x, y;

6  
7    cout<<"Masukan Nilai X = "; cin>>x;

8    cout<<"Masukan Nilai Y = "; cin>>y;

9    a = x ^ y;

10    b = x ^ y ^ x;

   cout<<"Hasil dari "<<x<<" ^ "<<y<<" = "<<a<<endl;


11
   cout<<"Hasil dari "<<x<<" ^ "<<y<<" ^ "<<x<<" = "<<b<<endl;
12
   return 0;
13
}
14

NOT   (   ~   )
Operator Bitwise NOT (  ~  ) adalah operator bersifat unary yang akan membalikan nilai di
dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi
bilangan biner lalu membalikan nilai dari bit ke bit (angka ke angka), jika bit tersebut
memiliki nilai  1  ( true) maka akan dibalik menjadi  0  (false) begitu pula sebaliknya.
setelah operasi selesai maka hasil akhir akan di kembalikan ke bentuk bilangan decimal.
Tabel Operator Bitiwise NOT

Bit Operand Hasil

0 1

1 0

Contoh :

1 0000 1000 = 8

2 //menjadi

3 1111 0111 = 247

Contoh Program:
1
#include <iostream>
2 using namespace std;

3  
4 int main(){

5    int a, x;

6  

7    cout<<"Masukan Nilai X = "; cin>>x;

8    a = ~x;

9  

   cout<<"Hasil dari ~ "<<x<<" = "<<a<<endl;


10
   return 0;
11
}
12

Mungkin pada contoh-contoh di atas hasil penghitungan yang penulis contohkan tidak
selalu akurat seperti apa yang telah anda coba dalam contoh program. operator-
operator di atas dalam melakukan operasi tergantung pada seberapa besar bit yang
digunakan, beberapa contoh di atas penulis contohkan dengan menggunakan
penyimpanan sebesar 8 bit.

Baca :   Macam-macam Operator Relasi dan Perbandingan

Contoh Program:

1 #include <iostream>

2 using namespace std;

3  

int main (){


4
    //Variabel
5
    int a=10, b=12;
6
    int hasilAND, hasilOR, hasilXOR, hasilNOT, hasilSHL, hasilSHR;
7
 
8
9
    //Operasi Bitwise
10
    hasilAND=a&b;
11
    hasilOR=a|b;
12
    hasilXOR=a^b;
13
    hasilNOT=~a;
14     hasilSHL=a<<1;

15     hasilSHR=a>>1;

16  

17     //Output

18     cout<<hasilAND<<endl;

    cout<<hasilOR<<endl;
19
    cout<<hasilXOR<<endl;
20
    cout<<hasilNOT<<endl;
21
    cout<<hasilSHL<<endl;
22
    cout<<hasilSHR<<endl;
23
 
24
    return 0;
25
}
26

Anda mungkin juga menyukai