1 | P a g e
PRAKTIKUM 3
Konstants Dan Operator
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; }
2 | P a g e
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; }
3 | P a g e 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;
4 | P a g e
Contoh Program3:
Output contohProgram3:
Konstanta tidak dapat diubah nilainya, berbeda dengan proses inisialisasi, dimana nilainya dapat diubah-ubah.
// 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; }
5 | P a g e
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<<"\nKali = "<<kali; cout<<"\nBagi = "<<bagi; cout<<"\nModulo = "<<mod; getch(); return 0; }
6 | P a g e Output contohProgram4:
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
7 | P a g e 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; cout<<"!1 = "<<!1<<endl; cout<<"!0 = "<<!0<<endl; getch(); return 0; }
8 | P a g e Output dari contohProgram5
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
Post-increment adalah melakukan proses terlebih dahulu sebelum dilakukan penambahan
nilai.
9 | P a g e Output contoh Program6:
Decrement
Decrement merupakan kebalikan dari proses increment, yaitu menurunkan
(mengurangi) nilai dari suatu variabel. Dibagi dua jenis yaitu pre-decrement, dan
10 | P a g e
Contoh program7
11 | P a g e
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 #include <iostream> #include <conio.h> using namespace std; int main() { int x,y,mod; float hasil;
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; }
12 | P a g e
Output program 8:
Penjelasan:
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 castingsehingga menjadi
seperti berikut ini:
#include <iostream> #include <conio.h> using namespace std; int main() { int x,y,mod; float hasil;
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
13 | P a g e 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; getch();
return 0; }
14 | P a g e Keterangan :
setprecision (3) tempat yang dipesan baik untuk nilai bulat maupun desimal adalah 3.
Contoh Program 10:
Keterangan :
setiosflags(ios::fixed)<<setprecision(2) tempat yang dipesan untuk angka desimal saja.
Contoh program 11:
//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();}
15 | P a g e 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.
//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; getch();}