Bahasa pemrograman
C++ merupakan superset dari bahasa pendahulunya yaitu bahasa pemrograman
C. Bahasa pemrograman C dikembangkan oleh Dennis Ritchie pada tahun
1972 di Laboratorium Bell. Bahasa pemrograman C adalah bahasa
pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah
(berorientase mesin) dan bahasa tingkat tinggi (bahasa berorientase pada
manusia). Bahasa pemrograman C berada satu tingkat di atas bahasa yang
berorientasi pada mesin, namun tetap satu tingkat dibawah sebagian besar
bahasa yang berorientasi persoalan. Bahasa pemrograman C cukup dekat
dengan komputer untuk memberikan kendali yang besar terhadap detil
implementasi pemakaian, namun cukup jauh untuk mengabaikan detil
hardware. Karena itulah bahasa pemrograman C suatu ketika dipandang
sebagai bahasa high-level dan pada saat yang lain dilihat sebagai bahasa
low-level.
Bahasa pemrograman C merupakan bahasa pemrograman
terstruktur, yang membagi program kedalam bentuk sebuah blok. Tujuannya
adalah untuk memudahkan dalam pembuatan dan pengembangan program.
Program yang ditulis dengan bahasa pemrograman C mudah sekali untuk
dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat
adanya standarisasi bahasa pemrograman C yaitu berupa standar ANSI
(American National Standards Institute) yang dijadikan acuan oleh para
pembuat kompiler C.
Bahasa Pemrograman C++ Membawa Bahasa Pemrograman C ke Lingkungan Pemrograman Berorientasi Obyek
Setelah
bahasa pemrograman C, menyusul apa yang kita kenal dengan bahasa
pemrograman C++. Bahasa pemrograman C++ tetap mempertahankan kehebatan
C, termasuk kemampuan dan keluwesannya dalam menangani interface
hardware dan software, pemrograman low-levelnya, serta efisiensinya.
bahasa pemrograman C++ diciptakan satu dekade setelah C. Diciptakan oleh
Bjarne Stoustrup, Laboratorium Bell, AT&T, pada tahun 1983.
Bahasa
pemrograman C diambil sebagai landasan dari C++, mengingat
keportabilitasan C yang memungkinkannya diterapkan pada berbagai mesin,
dari PC hingga mainframe, serta pada pelbagai sistem operasi (DOS, UNIX,
VMS dan sebagainya). Namun bahasa pemrograman C++ membawa C ke dunia
pemrograman berorientasi obyek, dan tetap mempertahankan keterpaduan dan
efisiensi eksekusi C.
Keistimewaan yang sangat berarti pada
bahasa pemrograman C++ adalah karena bahasa ini mendukung pemrograman
berorientasi obyek. Tetapi bahasa pemrograman C++ hanyalah bahasa yang
bersifat hibrid, bukan bahasa murni yang berorientasi obyek. Karena itu,
bahasa pemrogram C pada tahap awal dapat berpindah jalur ke C++ setahap
demi setahap. Pustaka-pustaka yang dibangun dengan C tetap dapat
dipakai pada C++, dibaurkan dengan pemrograman yang berorientasi obyek.
Tujuan
utama pembuatan bahasa pemrograman C++ adalah untuk meningkatkan
produktivitas pemrograman dalam bahasa aplikasi. Kebanyakan pakar setuju
bahwa pemrograman berorientasi obyek dan C++ dapat mengurangi
kekompleksitasan, terutama pada program yang besar yang terdiri dari
10.000 baris atau lebih.
Tujuan utama pembuatan bahasa
pemrograman C++ adalah untuk meningkatkan produktivitas pemrograman
dalam bahasa aplikasi. Kebanyakan pakar setuju bahwa pemrograman
berorientasi obyek dan C++ dapat mengurangi kekompleksitasan, terutama
pada program yang besar yang terdiri dari 10.000 baris atau lebih.
ELEMEN DASAR BAHASA PEMROGRAMAN C++
1. Identifier (Pengenal) Bahasa C++
Identifier
adalah nama yang digunakan untuk mempresentasikan variabel, konstanta,
jenis (type), fungsi, dan nama program. Identifier dalam pendeklarasian
variabel, jenis, atau fungsi pada bahasa pemrograman C++ dimulai dengan
sebuah huruf atau garis bawah. Karakter-karakter lain dalam sebuah
identifier dapat berupa huruf, angka, garis bawah, atau tanda dollar.
Compiler C++ membedakan huruf kecil dan besar. Variabel NAMA_PEGAWAI dan
nama_pegawai dipandang sebagai dua identifier yang menggambarkan
variabel memori yang berbeda. Contoh identifier yang diperkenankan untuk
dipakai: a atau akelas atau kelas$ atau _kelas atau _KELAS$, sedangkan
identifier yang tidak diperbolehkan untuk dipakai: $KELAS atau 7kelas
atau kelas! atau ..kelas.
2. Himpunan Karakter
Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol)
Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y z
Digit: 0 1 2 3 4 5 6 7 8 9
Simbol dan lain-lain: _ - + * dan sebagainya.
3. Kata-kata Kunci
Kata
kunci (keyword) adalah pengenal sistem yang mempunyai makna khusus bagi
kompiler. Kegunaan dari golongan ini tidak dapat diubah. Karena itu
kata kunci tidak dapat digunakan sebagai pengenal yang dibuat oleh
pemrogram.
Kata kunci diusulkan ANSI:
auto, double, int,
struct, break, else, loop, switch, case, enum, register, typedef, char,
extern, return, union, const, float, short, unsigned, continue, for,
signed, void, default, goto, sizeof, volatile, do, if, static, while
Sedangkan turbo C memperluasnya dengan menambahkan beberapa kata kunci:
_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interrupt
Sementara itu, Microsoft C/C++ menambah beberapa kata kunci:
_asm,
_loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran,
_segname, _near, _saveregs, _segment, _syscall, _self, _stdcall,
_fastcall, _based
4. Tipe Data Bahasa C++
Tipe data dasar pada
C++, yakni: teks (char), nilai integer (int, short, long), nilai
floating-point (float, double, long double), dan enumerated (enum). Jika
jenis data yang didefinisikan adalah variabel enumerated, maka ini
terkait dengan konstanta integer yang telah diberi nama enumeration set.
Dalam bahasa pemrograman C, jenis enum dianggap ekivalen dengan jenis
int, sehingga memungkinkan sebuah program untuk memberikan nilai integer
langsung pada variabel enumerated. Namun dalam bahasa pemrograman C++,
ada mekanisme pemeriksaan jenis data yang ketat, dan tidak
memperkenankan operasi campuran seperti ini.
Setiap bahasa
memakai seperangkat karakter untuk mengekspresikan pernyataan yang
mengandung arti. Bahasa pemrograman C++ ditulis menggunakan sejumlah
karakter yang meliputi: 26 huruf kecil (a, b, c, ... dstnya) dan 26
huruf besar (A, B, C, ... dstnya); 10 angka (0, 1, 2, 3, 4, 5, 6, 7, 8,
9); dan lambang-lambang (+ - * = / . , : ; ? ' \ " ! @ # $ % ^ & * (
) { } [ ]).
Ukuran memori yang diperlukan untuk masing-masing
tipe data sangat bergantung pada perangkat keras dari komputer yang
digunakan. Karena itu jangkauan bilangan dari masing-masing tipe data
juga bisa berlainan antara satu jenis mesin dengan mesin lainnya. Nilai
yang tercakup pada tipe data bilangan (bulat maupun pecahan) pada
arsitektur PC yang berbasis DOS, adalah sebagai berikut:
Tipe data Ukuran memori Jangkauan nilai
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4x10-36 s/d 3,4x10+38
double 8 byte 1,7x10-308 s/d 1,7x10+308
long double 10 byte 3,4x10_4932 s/d 1,1x10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)
4.1. Tipe Data Tertentu
Modifier unsigned:
Yang
termasuk jenis data modifier unsigned yang dapat diterapkan pada char,
int, short, long adalah void dan pointer. Bila salah satu jenis data di
atas dimodifikasi menjadi usigned, dapat dipandang range nilai yang bisa
dijangkau mempresentasikan bilangan seperti pada angka yang ditunjukkan
oleh jumlah kilometer yang telah ditempuh pada mobil atau sepeda motor.
Angka tersebut dimulai dari 0000... dan mencapai maksimum 9999..., dan
kembali ke 0000... Jadi dalam unsigned, yang ditampilkan hanyalah
bilangan positif keseluruhan dalam range nol sampai ke bilangan maksimum
yang dapat diprepresentasikannya.
Tipe data Ukuran memori Jangkauan nilai
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647
Modifier signed:
Digunakan
untuk memperluas tanda yang digunakan integer dan karakter. Cara ini
memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif
atau negatif.
Tipe data Ukuran memori Jangkauan nilai
signed char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
Untuk
mengetahui ukuran memori yang diperlukan oleh semua tipe data, bisa
dilihat dengan meng-compiler dan mengeksekusi contoh program sederhana,
berikut:
//* Menentukan ukuran memori *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << "Ukuran char : " << sizeof(char) << '\n';
cout << "Ukuran short : " << sizeof(short) << '\n';
cout << "Ukuran int : " << sizeof(int) << '\n';
cout << "Ukuran long : " << sizeof(long) << '\n';
cout << "Ukuran float : " << sizeof(float) << '\n';
cout << "Ukuran double : " << sizeof(double) << '\n';
cout << "Ukuran long double : " << sizeof(long double) << '\n';
}
Penjelasan program:
Pemrograman
C++ tidak terlepas dari fungsi. Sebab fungsi adalah salah satu dasar
penyusunan blok pada C++. Sebuah program C++ minimal mengandung sebuah
fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi program C++.
main adalah nama judul fungsi. Sedangkan yang dimulai dari tanda {
hingga tanda } disebut tubuh fungsi. Semua yang terletak di dalam tanda
{} disebut blok. Tanda () digunakan untuk mengapit argumen fungsi, yaitu
nilai yang akan dilewatkan ke fungsi. Kata void yang mendahului main()
dipakai untuk menyetakan bahwa fungsi ini tidak memiliki nilai balik.
Pengenal
cout merupakan sebuah obyek di dalam C++. Obyek ini disediakan oleh C++
untuk mengarahkan data ke standard output (normalnya adalah layar),
sebagai contoh tambahan misalnya:
cout << "Hallo! Selamat datang di website ideelok \n";
Tanda
<< merupakan sebuah operator yang disebut operator
penyisipan/peletakan. Operator ini akan mengarahkan operand (data) yang
terletak di sebelah kanan obyeknya ke obyek yang terletak di sebelah
kiri. Pada pernyataan di atas, konstanta string "Hallo! Selamat datang
di website ideelok \n" diarahkan ke cout, yang memberikan hasil berupa
tampilan string tersebut ke layar. Didalam sebuah string, karakter \
diikuti dengan karakter tertentu menyatakan sebuah karakter tunggal.
Pada contoh \n adalah karakter pindah baris (newline).
Pada baris
#include <iosterm.h>, baris ini menginstruksikan kepada kompiler
untuk menyiapkan file lain pada saat program dikompolasi. Dalam hal ini
file-file yang berakhiran dengan .h disebut file header, yaitu file-file
yang berisi berbagai deklarasi, seperti fungsi, variabel dan
sebagainya. #include <iostream.h> perlu disertakan pada program
yang melibatkan obyek cout. Tanpa kehadiran baris tersebut akan terjadi
kesalahan program sewaktu program dikompilasi. Sebab file iostream.h
berisi deklarasi yang diperlukan oleh cout dan berbagai obyek yang
berhubungan dengan operasi masukan-keluaran pada stream.
Pada
baris clrscr(); adalah perintah untuk menghapus layar. Apabila
pernyataan di atas digunakan, baris #include <conio.h> perlu
disertakan dalam program.
5. Variabel dan Konstanta Bahasa C++
Data
pada C++ tersusun dari variabel dan konstanta. Variabel merupakan
komponen penting pada pemrograman. Variabel digunakan dalam program
untuk menyimpan suatu nilai, dengan nilai yang ada padanya dapat diubah
selama eksekusi program berlangsung. Adapun konstanta menyatakan nilai
yang tetap. Misalnya 234 adalah sebuah konstanta bilangan bulat.
5.1. Mendeklarasikan dan Mendefinisikan Variabel
Variabel
yang akan digunakan dalam program haruslah dideklarasikan terlebih
dahulu, maksudnya mengenalkan sebuah pengenal ke program dan menentukan
jenis data yang bisa disimpan di dalamnya. Apabila suatu pendeklarasian
menyebabkan pengalokasian memori, maka pendeklarasian tersebut dinamakan
pendefinisian. Yang jelas pendefinisian berarti pula pendeklarasian,
tetapi tidak semua pendeklarasian berarti pendefinisian.
bentuk pendefinisian variabel:
tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.
5.2. Memberikan Nilai ke Variabel
Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah:
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
5.3. Variabel dan Konstanta Bertipe char
Bentuk pernyataan variabel bertipe char:
char karakter;
Dalam
hal ini variabel karakter bertipe char. Variabel ini dapat menampung
data sebuah karakter. Untuk menuliskan sebuah konstanta bertipe char,
karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A'
karakter berupa huruf A.
Karakter yang ditulis dengan bentuk
\karakter mempunyai arti tersendiri (karakter khusus) dan biasa disebut
escape sequence characters.
Karakter-karakter khusus tersebut antara lain:
\0 artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\' artinya karakter '
\" artinya karakter "
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
5.4. Variabel dan Konstanta Bertipe int
Variabel bertipe int didefinisikan dengan bentuk:
int bilangan;
Setelah
pendefinisian seperti itu, variabel ini dapat digunakan untuk menampung
nilai bertipe int. Sebuah konstanta bertipe int adalah bilangan bulat
yang terletak antara minus 32768 hingga plus 32767 (pada PC berbasis
DOS) dan tidak mengandung titik desimal.
5.5. Variabel dan Konstanta Bertipe long
Apabila
diinginkan untuk memproses bilangan bulat yang nilainya lebih besar
daripada tipe int, Anda dapat menggunakan tipe long. Suatu variabel
bertipe long didefinisikan dengan cara seperti di bawah ini:
long jumlah_penduduk;
Pada
contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian
variabel ini dapat menampung nilai ratusan juta. Adapun konstanta
bertipe long biasa ditulis dengan akhiran L. Sebagai contoh:
1543267635435L
5.6. Variabel dan Konstanta Bertipe float, double dan long double
Tipe-tipe
data yang telah dibahas di depan (char, int dan long) berhubungan
dengan bilangan bulat. Seandainya diinginkan untuk memproses bilangan
yang mengandung nilai pecahan, bisa menggunakan tipe float, double atau
long double. Ketiga tipe yang berhubungan dengan bilangan pecahan ini
mempunyai perbedaan dalam hal: kepresisian data, dan jangkauan nilai
yang dicakup.
Contoh pendefinisian variabel untuk menampung bilangan pecahan:
float panjang;
double phi;
long double tetapan;
5.7. Inisialisasi Variabel
Adakalanya dalam penulisan program, variabel langsung diberi nilai awal setelah didefinisikan. Sebagai contoh:
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;
OPERATOR BAHASA PEMROGRAMAN C++
Operator
merupakan simbol yang biasa dilibatkan dalam program untuk melakukan
sesuatu operasi atau manipulasi, misalnya untuk menjumlahkan dua buah
nilai, memberikan nilai pada suatu variabel, ataupun membandingkan
kesamaan dua buah nilai. Bahasa pemrograman C++ mempunyai banyak
operator yang tidak didapat dalam bahasa pemrograman lain, antara lain:
operator bitwise, operator inkremen dan dekremen, operator kondisional,
operator koma, operator aritmatika dan lain-lain.
a) Operator bitwise
Operator
bitwise pada bahasa pemrograman C++ memperlakukan variabel sebagai
gabungan dari bit-bit dan bukan sebagai bilangan. Operator ini berguna
untuk mengakses bit-bit individual dalam memori, seperti memori screen
untuk display grafik, informasi CapsLock (on atau off). Operator bitwise
ini hanya dapat beroperasi pada jenis data integral, bukan bilangan
floating-point. Tiga operator bitwise berkelakuan seperti operator
logika, namun ini terjadi pada setiap bit dalam sebuah integer, yakni:
AND (&), OR(I), dan XOR (^), komplemen (~) membalik (menginversi)
setiap bit, operator shift kiri (<<), dan operator shift kanan
(>>).
AND
Simbol operator: &, dengan bentuk penggunaan : operand1 & operand2
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1
OR
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1
XOR
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi
EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1
bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0
Contoh program operasi I, & dan ^:
//* Efek operator I, & dan ^ *
#include <iostream.h>
#include <conio.h>
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << "a= " << a << '\n';
cout << "b= " << b << '\n';
cout << "c= " << c << '\n';
}
Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50
Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0 1 1 0011 <- 115
Operasi AND pada b:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0100 0001 <- 65
Operasi XOR pada c:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0011 0010 <- 50
b) Operator Shift
Operator
>> dan << pada bahasa pemrograman C++ berguna untuk
menggeser bit-bit dalam suatu bilangan bulat ke kiri atau ke kanan.
Shift kiri menggerakkan bit-bit ke kiri dan mengatur bit paling kanan
(yang tidak signifikan) menjadi nol. Sedangkan bit paling kiri (paling
signifikan) yang ter-shift keluar akan dibuang. Sementara itu, operator
shift kanan menggerakkan bit-bit ke kanan. Bit-bit dengan orde lebih
rendah yang ter-shift keluar akan dibuang. Pergeseran bit ke kiri
mempunyai efek seperti perkalian, sedangkan pergeseran ke kanan
memberikan efek seperti pembagian.
b.1) Operastor shift kiri
Bentuk umum dipakai: nilai << jumlah bit digeser ke kiri
Setiap
pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian
dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut
beserta hasilnya:
//* Operator SHIFT KIRI *
#include <iostream.h>
#include <conio.h>
main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x << 1; // geser ke kiri 1 bit
cout << "Nilai x kini = " << x << '\n';
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 186
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186
di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.
b.2) Operator shift kanan
Bentuk umum dipakai: nilai >> jumlah bit digeser ke kanan
Setiap
pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian
dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut
beserta hasilnya:
//* OPERATOR SHIFT KANAN *
#include <iostream.h>
#include <conio.h>
void main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x >> 1; // geser kekanan 1 bit
cout << "Nilai x kini = " << x << '/n';
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 46
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186
di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.
c) Operator Komplemen
Operator
ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit
operand bernilai 1 hasilnya 0, dan bila bit operand bernilai 0 hasilnya
1.
Contoh pemakaian operator komplemen:
//* Operator komplemen *
#include <iostream.h>
#include <conio.h>
main()
{
unsigned char nilai = 81;
unsigned char a;
clrscr();
a = ~nilai; // komplemen dari nilai
cout << "a = " << a << '\n';
}
Hasil eksekusi program:
a = 65454
Penjelasan hasil program:
0000 0000 0101 0001 <- 81
inversinya menjadi
1111 1111 1010 1110 <- 6554
d) Operator Aritmatika
Bahasa
C++ melibatkan operator aritmatika standar untuk penjumlahan (+),
pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator
aritmatika tersebut tergolong sebagai operator binary. Adapun operator
yang tergolong sebagai operator unary yaitu tanda minus (-), dan tanda
plus (+).
Prioritas operator :
Operator dengan prioritas
tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator
yang memiliki prioritas lebih rendah.
Prioritas 1: + --
Prioritas 2: - (unary minus)
Prioritas 3: * / %
Prioritas 4: + -
Apabila
operastor memiliki prioritas yang sama, operator yang terletak
disebelah kiri dalam suatu ungkapan yang akan diutamakan untuk
dikerjakan terlebih dahulu.
Tanda kurung biasa digunakan untuk urutan mengerjakan, misalnya x = (2 + 3) * 2;
(2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)
Contoh program:
//* Operasi aritmatika dengan menggunakan tanda kurung) *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int x;
x = 2 + 3 * 2;
cout << "x= " << x << '\n';
x = (2 + 3) * 2;
cout << "x= " << x << '\n';
}
Hasil eksekusi program:
x= 8
x= 12
Operator
seperti penjumlahan, pengurangan, perkalian dan pembagian merupakan hal
yang umum. Adapun operator sisa pembagian (operator modulus) yang
berupa % ada baiknya untuk diterangkan lebih lanjut. Operator ini
diterapkan pada operan bertipe integer. Untuk lebih jelasnya perhatikan
beberapa contoh berikut:
7 % 2 -> 1 sisa pembagian bilangan 7 dengan 2 adalah 1
9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4
Contoh program
//* sisa pembagian (modulus) *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << 9 % 5 << '\n';
cout << 13 % 5 << '\n';
}
Hasil eksekusi program:
4
3
e) Operator Assigenment
Operator
assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement
assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator
assigenment dan bukan oleh staement assigenment. Seperti operator bahasa
pemrograman C++ yang lain, hasil operator assigenment merupakan nilai
yang diberikan. Misalnya :
nilai = 4 * (bilangan = 3)
Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil akhir 12.