Tujuan:
1. Dapat
mendeklarasikan konstanta.
2. Dapat
menuliskan ekspresi aritmatik dengan benar, berikut pemilihan tipe data yang
benar.
3. Dapat
menggunakan operator gabungan dan ekspresi increasing dan decreasing.
4. Mengaplikasikan
konstanta dan operator aritmatik dalam program.
I. KONSTANTA
Konstanta adalah jenis identifier yang bersifat
konstant atau tetap.artinya nilai dari konstanta di dalam program tidak dapat
diubah. Konstanta berguna untuk menentukan nilai yang merupakan tetapan,
misalnya nilai pi ( π), kecepatan
cahaya dan lainnya.
Deklarasi konstanta
Ada dua cara untuk mendeklarasikan
konstanta:
1. Menggunakan Preprocessor #define
Contoh program 1:
//contoh deklarasi konstanta 1
#include <iostream> using namespace std; #define MAX 7 int main() { int A[MAX];
for (int C=0; C<MAX; C++) {
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
cout<<A[C]<<endl; }
return 0; }
|
Keterangan: dari contoh diatas bilangan 7 adalah suatu
konstanta. Jika terjadi perubahan kita hanya melakukan perubahan nilai terhadap
konstantannya saja.
Catatan:
Penggunaan #define tidak diakhiri tanda
titik koma (;)
Contoh Program 2:
//
deklarasi konstanta
#include
<iostream> #include <conio.h> using namespace std;
#define
phi 3.14
#define
r1 3
#define
r2 10.7
#define
kar 'Z'
#define
teks "Contoh deklarasi konstanta"
#define
x true main() {
cout<<teks<<"\n";
cout<<kar<<"\n"; cout<<x<<"\n";
cout<<phi<<"\n"; cout<<r1<<"\n"; cout<<r2<<"\n"; getch();
return 0;
}
|
Keterangan contoh program2 :
•
phi dan r2 adalah konstanta yang tipenya float
•
r1 adalah konstanta yang bertipe int
•
kar adalah konstanta yang bertipe char
•
teks adalah konstanta karakter string, tipe char
•
x adalah konstanta yang tipenya boolean
Output contohprogram1:
Output contohprogram2:
2. Menggunakan kata kunci
const
Selain dengan cara
# define, di dalam C++ kita dapat mendefinisikan sebuah konstanta dengan
menggunakan kata kunci Const.
Bentuk umumnya:
Const tipe_data nama_konstanta=
nilai_tetapan Contoh pendeklarasian konstanta:
Const double pi=3.14;
Const int Nilai_MAX=100;
Contoh Program3:
// contoh deklarasi konstanta3
#include
<iostream> using namespace std; const int MAX = 5; int main() { int A[MAX];
for (int C=0; C<MAX; C++) {
// mengisi nilai ke dalam A[C]
A[C] = C * 5;
// menampilkan nilai A[C] cout<<A[C]<<endl;
}
return 0;
}
|
Output contohProgram3:
Konstanta tidak dapat diubah nilainya,
berbeda dengan proses inisialisasi, dimana nilainya dapat diubah-ubah.
II. OPERATOR
Operator adalah tanda yang digunakan untuk melakukan
operasi operasi tertentu di dalam program. Dengan operator kita dapat melakukan
operasi
perhitungan,perbandingan, manipulasi,dan lain-lain.
Operator-operator yang sering digunakan yaitu:
1. Operator aritmatik, terdiri :
a)
Penjumlahan (+)
b)
Pengurangan (-)
c)
Perkalian (*)
d)
Pembagian (/)
e)
Modulo (%) Contoh Program 4:
//operator aritmatik 1
#include <iostream> #include <conio.h> using namespace std; int main() {
int a,b,plus,min,kali,bagi,mod;
cout<<"Contoh penggunaan
operator aritmatik\n"; cout<<"Masukkan
angka pertama (a) = ";cin>>a; cout<<"Masukkan angka kedua
(b) = ";cin>>b; plus=a+b;
min=a-b; kali=a*b; bagi=a/b; mod=a%b;
cout<<"\nJumlah
= "<<plus;
cout<<"\nKurang
= "<<min;
cout<<"\nModulo
= "<<mod;
Output contoh Program4:
2. Operator Relasional
Operator relasional adalah operator yang digunakan
untuk menentukan relasi atau hubungan dari dua buah operand. Adapun yang
termasuk oerator relasional di dalam C++ adalah sebagai berikut
Operator
|
Jenis operasi
|
Contoh
|
>
|
Lebih besar
|
7>3
|
<
|
Lebih kecil
|
4<2
|
>=
|
Lebih besar atau sama dengan
|
5>=5
|
<=
|
Lebih kecil atau sama dengan
|
5<=2
|
==
|
Sama dengan
|
5==2
|
!=
|
Tidak sama dengan
|
4!=2
|
Operator ini banyak digunakan untuk melakukan
pemeriksaan terhadap sebuah ekspresi (kondisi) dalam struktur percabangan dan
pengulangan.
3. Operator logika
Operator logika adalah operator yang digunakan untuk
melakukan operasi dimana nilai yang dihasilkan dari operasi tersebut hanya
berupa nilai benar dan salah. Nilai ini disebut Boolean. Adapun yang
termasuk kedalam operator logika dalam
C++ adalah seperti tabel berikut ini:
Contoh Program5:
#include <iostream> #include <conio.h> using namespace std; int main() {
cout<<"1 && 1 =
"<<(1 && 1)<<endl; cout<<"1 && 0 =
"<<(1 && 0)<<endl; cout<<"0 && 0 =
"<<(0 && 0)<<endl; cout<<"0 && 1 =
"<<(0 && 1)<<endl; cout<<"1 || 1 =
"<<(1 || 1)<<endl; cout<<"1 || 0 = "<<(1
|| 0)<<endl;
cout<<"0
|| 0 = "<<(0 || 0)<<endl;
cout<<"0
|| 1 = "<<(0 || 1)<<endl;
Output dari contoh Program 5:
Increment Dan Decrement
Increment
Increment adalah
suatu penambahan nilai yang terjadi pada sebuah variable. Adapun operator yang
digunakan untuk melakukan increment adalah operator ++. Operator ini akan
menambahkan nilai dari suatu variable dengan nilai 1. Dalam bahasa C++ ada dua
jenis increment yaitu pre-increment dan post-increment. Pre-increment adalah melakukan
penambahan nilai sebelum suatu variable itu diproses, sedangkan Postincrement adalah melakukan proses terlebih dahulu
sebelum dilakukan penambahan nilai.
Contoh Program 6:
Output contoh Program 6:
Decrement
Decrement merupakan kebalikan dari
proses increment,
yaitu menurunkan
(mengurangi) nilai dari suatu variabel. Dibagi dua
jenis yaitu pre-decrement, dan
postdecrement.
Contoh program 7 :
Output contoh Program 7:
Tipe
Casting
Tipe casting yaitu tipe data sementara, artinya mengubah tipe
data suatu variable hanya dalam operasi aritmatika. Setelah operasi
aritmatika,tipe data variabel tersebut tetap sesuai deklarasi awalnya.
Contoh
program8:
//contoh penggunaan type
casting
cout<<"Contoh penggunaan /
dan %\n\n";
cout<<"Masukkan angka pertama
(x) = ";cin>>x;
cout<<"Masukkan
angka kedua (y) = ";cin>>y;
hasil=x/y; mod=x%y;
cout<<"\nHasil
pembagian = "<<hasil; cout<<"\nSisa
hasil bagi = "<<mod;
getch();
return 0;
}
Output Program 8:
untuk hasil pembagian seharusnya 3,5 karena dari 7
dibagi 2 adalah 3,5. Mengapa demikian?karena variabel a dan b bertipe integer.
Tetapi jika variabel a dan b dirubah menjadi tipe data float maka akan eror .
Untuk dua variabel x dan y yang bertipe integer tersebut tidak bisa digunakan
untuk operasi aritmatik mod %, sedangkan operasi pembagian / untuk variabel hasil dan salah satu variabel
yang akan dibagi harus bertipe float. Jadi artinya dengan adanya dua operasi aritmatik
tersebut dalam satu program dan dengan
variabel yang sama ini tidak bisa dikerjakan. Dengan demikian agar kedua
operasi tersebut bisa berjalan bersama dalam satu program maka dibutuhkan type casting sehingga menjadi seperti berikut ini:
#include
<iostream>
#include
<conio.h> using namespace std;
cout<<"Contoh penggunaan /
dan %\n\n";
cout<<"Masukkan angka pertama
(x) = ";cin>>x; cout<<"Masukkan
angka kedua (y) = ";cin>>y;
hasil=float(x)/y; hasil= x/float(y);
mod=x%y;
cout<<"\nHasil
pembagian = "<<hasil; cout<<"\nSisa hasil bagi =
"<<mod; getch();
return 0; }
\ i i
i
Outputnya adalah:
Mengatur angka desimal dan non desimal
Caranya:
1.
menggunakan instruksi setprecision(n)
2.
menggunakan instruksi setiosflag(ios::fixed) Kedua
instruksi diatas memerlukan header file iomanip.h
Contoh
program 9:
//penggunaan
setprecision
#include
<iostream>
#include <conio.h> #include <iomanip.h> main() { int a,b; float c;
cout<<"Contoh penggunaan / dan
%\n\n"; cout<<"Masukkan angka pertama (a)
= ";cin>>a; cout<<"Masukkan angka kedua (b) = ";cin>>b; c=float(a)/b; cout<<"\nHasilpembagian =
"<<setprecision(3)<<c;
Keterangan :
setprecision (3) à
tempat yang dipesan baik untuk nilai bulat maupun desimal adalah 3.
Contoh
Program 10:
//penggunaan
setprecision dan setiosflags
#include
<iostream>
#include
<conio.h>
#include
<iomanip.h>
main() {
int
a,b;
float c;
cout<<"Contoh penggunaan / dan
%\n\n";
cout<<"Masukkan angka pertama (a) = ";cin>>a;
cout<<"Masukkan angka kedua (b) = ";cin>>b;
c=float(a)/b;
cout<<"\nHasil pembagian = "
<<setiosflags(ios::fixed)<<setprecision(2)<<c;
getch();}
|
Keterangan :
setiosflags(ios::fixed)<<setprecision(2)
à tempat yang dipesan untuk angka
desimal saja.
Contoh
program 11:
//penggunaan setprecision
untuk data yang nilainya besar
#include <iostream>
#include
<conio.h>
#include
<math.h> #include <iomanip.h>
main()
{ char nama[10];
double gpokok,pot,tunj,gbersih; cout<<"Nama karyawan :
";cin>>nama; cout<<"Gaji pokok : ";cin>>gpokok; cout<<"Tunjangan : ";cin>>tunj; cout<<"Potongan : ";cin>>pot; gbersih=gpokok+tunj-pot;
cout<<"\n\nGaji bersih :
"<<setpecision(10)<<gbersih;
Keterangan:
Instruksi setprecision(10) bisa dihilangkan
seandainya gaji bersih kurang dari 1 juta, tetapi jika lebih dari 1 juta maka
akan ditampilkan dalam bentuk eksponensial sehingga perlu ketelitian dalam
membaca hasilnya.