BAB III Pemrograman Lanjut
3.1 Operator
Operator Assignment
Operator assignment adalah operator yang berfungsi untuk memasukkan (assign) nilai ke dalam suatu variabel ataupun konstanta. Operator ini dilambangkan dengan tanda sama dengan (=). Berikut ini contoh program #include<iostream.h>
int main(){
//mendeklarasikan konstanta melakukan assignment dengan nilai 3.14
const PI = 3.14; //mendeklarasikan variabel-variabel char MyChar; char MyString; int MyInteger; double MyDouble;
//melakukan assignment terhadap variabel di atas MyChar = “P”;
MyString = “Saya semangat sekali”; MyInteger = 21;
MyDouble = 23.456;
//menampilkan nilai dari variabel di atas cout<<”MyChar :”<<MyChar<<endl;
cout<<”MyString :”<<MyString<<endl; cout<<”MyInteger :”<<MyInteger<<endl; cout<<”MyDouble :”<<MyDouble<<endl;
return 0;
yang menggunakan operator tersebut:
Operator Unary
Dalam ilmu matematika yang disebut dengan operator unary adalah operator yang hanya melibatkan sebuah operan. Adapun yang termasuk ke dalam operator unary adalah seperti tampak pada tabel di bawah ini.
Tabel 3.1.1 : Operator Unary
Operator Jenis Operasi Contoh
+ Membuat nilai positif +7
- Membuat nilai negatif -7
++ Increament C++
-- Decrement C--
o Increament
Increament adalah suatu penambahan nilai yang terjadi pada sebuah
variabel. Adapun opeartor yang digunakan untuk melakukan Increament adalah operator ++. Operator ini akan menambahkan nilai dari suatu variabel dengan nilai 1.
Terdapat dua buah jenis Increament yang terdapat dalam bahasa C++, yaitu pre-Increament dan post-Increament. Arti dari pre-Increament adalah melakukan penambahan nilai sebelum suatu variabel itu diproses, sedangkan post-Increament merupakan kebalikannya, yaitu melakukan proses terlebih dahulu sebelum dilakukan penambahan nilai. Adapun bentuk umum dari pre-Increament dan post-Increament dapat dilihat di bawah ini.
Berikut ini contoh program yang membedakan antara pre-Increament dan post-Increament.
#include<iostream.h>
int main(){
int C; //mendeklarasikan variabel C
//mengisikan nilai ke dalam variabel C dengan nilai 5 C = 5;
//melakukan pre-increament
cout<<”Nilai awal C :”<<C<<endl; //Melakukan pre-increament
++nama_variabel;
//Melakukan post-incarement Nama_variabel++;
cout<<”Nilai ++C :”<<++C<<endl; cout<<”Nilai C akhir :”<<C<<endl; cout<<’\n’;
//mengubah nilai dalam variabel C dengan nilai 10 C = 10;
//melakukan post-increament
cout<<”Nilai awal C :”<<C<<endl; cout<<”Nilai C++ :”<<C++<<endl; cout<<”Nilai C akhir :”<<C<<endl; cout<<’\n’;
return 0; }
Hasil yang akan diberikan program di atas adalah:
Pada saat kita melakukan pre-Increament, nilai C dinaikkan dulu sebelum diproses (dalam hal ini ditampilkan ke layar) sehingga yang tampil adalah nilai 6. Sedangkan pada saat melakukan post-Increament nilai dari variabel C diproses (ditampilkan) lebih dahulu sebelum dinaikkan nilainya. Hal ini menyebabkan nilai yang ditampilkan masih tetap 10. Namun pada saat pemanggilan nilai C setelah proses post-Increament, nilai C tentu telah bertambah satu, sehingga yang ditampilkan adalah 11.
o Decrement
Decrement merupakan kebalikan dari proses Increament, yaitu
menurunkan (mengurangi) nilai dari suatu variabel. Sama juga seperti pada Increament, decrement juga dibagi ke dalam dua jenis yaitu pre
decrement dan post decrement
Operator Binary Nilai C awal : 5 Nilai ++C : 6 Nilai C akhir : 6 Nilai C awal : 10 Nilai C++ : 10 Nilai C akhir : 11
Operator binary adalah operator yang digunakan dalam operasi yang melibatkan dua buah operan. Dalam bahasa C++, operator binary ini dikelompokkan lagi ke dalam empat jenis.
o Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi-operasi aritmatika seperti penjumlahan, pengurangan dan sebagainya. Adapun yang termasuk dalam operator aritmatika di dalam C++ adalah seperti yang tampak pada tabel di bawah ini;
Tabel 3.1.2 : Operator Aritmatika
Operator Jenis Operasi Contoh
+ Penjumlahan 2 + 3 = 5
- Pengurangan 5 – 3 = 2
* Perkalian 2 * 3 = 6
/ Pembagian 10 / 3 = 3.33
% Sisa bagi (modulus) 10 % 3 = 1
o Operator Logika
Operator logika adalah operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operasi tersebut hanya berupa nilai benar (true) atau salah (false). Nilai ini disebut dengan nilai boolean.
Dalam bahasa C++ nilai benar tersebut direpresentasikan dengan bilangan selain 0 (biasanya nilai 1), sedangkan nilai salah direpresentasikan dengan nilai 0. Adapun yang termasuk ke dalam operator logika dalam C++ adalah seperti yang tampak pada tabel di bawah ini.
Tabel 3.1.3 : Operator Logika
Operator Jenis Operator Contoh
&& AND (dan) 1 && 1 = 1
|| OR (atau) 1 || 0 = 1
| NOT (negasi) !0 = 1
Berikut tabel hasil dengan menggunakan operator logika
x y X && Y X || Y !X 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 o Operator Relasional
Operator rasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah operan. Operator ini ditempatkan di dalam sebuah ekspresi yang kemudian akan menentukan benar atau tidaknya sebuah eskpresi. Adapun yang termasuk dalam operator relasional di dalam C++ adalah seperti yang tampak pada tabel di bawah ini.
Tabel 3.1.5 : Operator Relasional
Operator Jenis Operator Contoh
> Lebih besar (5>2) = 1
< Lebih kecil (5<2) = 0
>= Lebih besar sama dengan (5>=5) = 1 <= Lebih kecil sama dengan (5<=2) = 0
== Sama dengan (5==2) = 0
!= Tidak sama dengan (5 !=2) = 1
Operator ini banyak digunakan untuk melakukan pengecekan sebuah ekspresi (kondisi) dalam struktur percabangan.
o Operator Bitwise
C++ mendukung penuh operator-operator bitwise. Operator bitwise sendiri berguna untuk melakukan operasi-operasi yang berhubungan dengan pemanipulasian bit. Sebagai catatan bahwa operator bitwise ini hanya dapat dilakukan pada operan yang bertipe char dan int saja karena ini berkoresponden dengan tipe byte atau word di dalam bit. Adapun yang termasuk dalam operator bitwise dalam C++ adalah seperti tampak pada tabel di bawah ini.
Operator Jenis Operator Contoh
& AND 1 & 0 = 0
| OR 1 | 0 = 1
^ Exclusive OR (XOR) 1 ^ 1 = 0
~ NOT ~1 = 0
>> Shift Right 5<<1 = 10 << Shift Left 10>>1 = 5
Fungsi dari operator &, | dan ~ di atas sama dengan operator &&, || dan ! pada operator logika, perbedaannya hanya operator bitwise ini bekerja bit demi bit, sedangkan pada operasi logika bekerja untuk setiap nilai.
Operator Ternary
Operator Ternary adalah operator yang digunakan dalam operasi yang melibatkan tiga buah operan. Adapun operator yang digunakan untuk menyatakannya adalah operator ?:. Konsep yang mendasari operasi ini adalah suatu percabangan (pemilihan) yang didasarkan atas kondisi tertentu. Berikut ini bentuk umum dari penggunaan operator ternary.
Ekspresi1 ? Ekspresi2 : Ekspresi3;
Jika ekspresi1 bernilai benar, maka program akan mengeksekusi ekspresi2. Sedangkan jika ekspresi bernilai salah maka yang dieksekusi adalah ekspresi3.
Operator SizeOf
Kita telah melihat bahwa ketika mendeklarasikan sebuah variabel, compiler mengalokasikan suatu bagian dari lokasi memori untuk menyimpan variabel tersebut. C++ menyediakan suatu operator sizeof untuk melihat berapa banyak ruang yang disediakan untuk suatu jenis tipe data atau variabel tertentu pada program yang menggunakannya.
Ada empat metode yang dapat Anda gunakan dengan operator sizeof; menggunakan variabel atau tipe data. Sintaks umum dari operator sizeof adalah:
sizeof NamaVariabel;
sizeof (NamaVariabel);
sizeof (TipeData);
Alasan Anda harus menggunakan operator sizeof pada variabel adalah karena, jika Anda mengubah variabel tersebut yaitu, jika anda menjalankan operasi pada variabel tersebut, operator sizeof akan memberitahukannya dan mengeluarkan hasil yang tepat. Kadang dan hampir selalu, jika anda menggunakan sizeof pada tipe data, Anda mungkin akan mendapatkan bug, atau program tersebut tidak akan di compile.
Berikut ini adalah contoh programnya:
#include <iostream> using namespace std;
int main() {
double Periode = 155.50; int sizeOf = sizeof Periode;
cout << "Ukuran dari Periode adalah " << sizeOf << " bytes\n\n";
return 0;
}