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.
2 fungsi utama(){
4 //komentar
}
5
Program C maupun C++ selalu tersusun dari 5 (Lima) bagian utama, yaitu :
3 { //Blok pembuka
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 */
terdapat baris kosonng, hal itu tidak akan mempengaruhi jalanya program hanya
digunakan untuk mempermudah pembacaan kode program oleh manusia.
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).
Tambahan :
kemungkinan anda akan menemui program seperti ini di artikel berikutnya.
1 #include <iostream>
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.
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.
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
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++
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.
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
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
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.
Boolean bool
Character char
String string
Integer int
Bentuk Penulisan
1 tipedata nama_variable=inisialisasi;
Contoh Penulisan:
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
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
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
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:
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 :
Boolean bool
Character char
Integer int
String string
Valueless void
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.
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>
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
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
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
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
Contoh penulisan
Contoh program
1 #include <iostream>
3
4 int main(){
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
Contoh penulisan
Contoh program
1 #include <iostream>
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
Contoh penulisan
1 float p=3,14;
Contoh Program
1
#include <iostream>
2
using namespace std;
3
4 int main(){
7
Bentuk penulisan
Contoh penulisan
Contoh program
1
#include <iostream>
2
using namespace std;
3
4 int main(){
7
String string
Merupakan tipe data Text yang memungkinkan kita menyimpan nilai dengan bentuk text,
kumpulan dari karakter.
Bentuk penulisan
Bentuk penulisan
1
#include <iostream>
2 using namespace std;
3
4 int main(){
6
7 cout<<pesan<<endl;
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.
#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
Contoh Penulisan
1 int varInteger = 0;
sebenarnya untuk inisialisasi kita bebas memberikan nilai apapun sebagai nilai
awal dari variabel, tapi di sini penulis contohkan cara inisialisasi variabel dengan
nilai kosong.
Contoh Penulisan
Contoh Penulisan :
1 int varInteger{0};
3 char varChar[]{""};
4 string varstring{""};
Contoh Program
1 #include <iostream>
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
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:
Bentuk Penulisan
1 -a;
Bentuk Penulsan
1 a + b;
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:
* Perkalian a * b
/ Pembagian a / b
+ Penjumlahan a + b
- Pengurangan a – b
Dan operator aritmetika juga mempunyai beberapa operator yang dapat bersifat unary,
yaitu:
+ 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
^= Bitwise OR Eksklusif X ^= Y
|= Bitwise OR Inklusif X |= Y
<= kurang dari sama dengan ( a<=a ) atau ( a<=5 ) atau ( 5<=5 )
>= lebih dari sama dengan ( a>=a ) atau ( a>=5 ) atau ( 5>=5 )
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
| OR Bitwise OR Inklusif
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
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;
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>
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);
2 y = 2 + x;
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
* Perkalian a * b
/ Pembagian a / b
% Modulo (Sisa Pembagian) a % b
+ Penjumlahan a + b
- Pengurangan a – b
Contoh Program
1 #include <iostream>
2
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
1 #include <iostream>
2
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 }
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;
8
+ 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>
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;
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).
1 #include <iostream>
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:
1 #include <iostream>
5 {
6 int a = 10,b = 2;
7
8 cout<< (a == b) <<endl;
9 return 0;
}
10
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
1
#include <iostream>
2 using namespace std;
3
4 int main ()
5 {
6 int a = 10,b = 2;
7
return 0;
9
}
10
1
#include <iostream>
2 using namespace std;
3
4 int main ()
5 {
7
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
return 0;
9
}
10
1
#include <iostream>
2 using namespace std;
3
4 int main ()
5 {
6 int a = 10,b = 2;
7
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.
Operator Keterangan
|| Operasi Logika OR
! Operasi Logika NOT
X Y X && Y
Contoh program :
1
#include <iostream>
2 using namespace std;
3
4 int main ()
5 {
6 bool a = 1, b = 0;
7
return 0;
9
}
10
Contoh Kasus :
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;
15
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).
X Y X || Y
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 :
Contoh Program :
1 #include <iostream>
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;
14
24
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.
&& : 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>
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;
15
17 cout<<"==========================="<<endl;
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;
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);
10
12 cout<<"========================"<<endl;
| OR Bitwise OR Inklusif
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.
.
2 //menggeser 1 bit ke kiri, Dibagian kanan disisipkan 0, sebanyak bit yang digeser
Bentuk Penulisan :
1
#include <iostream>
2
using namespace std;
3
4 int main(){
5 int x;
6
9
10 x = x << 1;
2 //digeser 1 bit ke kanan, Dibagian kanan disisipkan 0, sebanyak bit yang digeser da
Bentuk Penulisan :
Contoh Program:
1 #include <iostream>
6
7 cout<<"Masukan Nilai X = "; cin>>x;
9
10 x = x >> 1;
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,
1 1 1
1 0 0
Bit Operand 1 Bit Operand 2 Hasil Operasi
0 1 0
0 0 0
Contoh:
3 -------------------------- AND
4 0100 0000 = 64
Contoh Program:
1
#include <iostream>
2
using namespace std;
3
4 int main(){
5 int hasil, x, y;
8 hasil = x & y;
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.
1 1 1
1 0 1
0 1 1
0 0 0
Contoh :
3 ------------------------OR
4 11101101 = 237
Contoh Program:
1 #include <iostream>
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,
1 1 0
1 0 1
0 1 1
0 0 0
Contoh :
3 -----------------------XOR
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;
9 a = x ^ y;
10 b = x ^ y ^ x;
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
0 1
1 0
Contoh :
1 0000 1000 = 8
2 //menjadi
Contoh Program:
1
#include <iostream>
2 using namespace std;
3
4 int main(){
5 int a, x;
6
8 a = ~x;
9
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.
Contoh Program:
1 #include <iostream>
3
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