google ads

Jumat, 03 Desember 2010

CONSTANTS AND OPERATORS


CONSTANTS AND OPERATORS


D.      KONSTANTA
Indikator Kompetensi:
  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. Dapat melakukan type casting dalam suatu ekspresi aritmatik
  5. Mengaplikasikan konstanta dan operator aritmatik dalam program.

Deklarasi konstanta
Ada dua cara untuk mendeklarasikan konstanta:
  1. Setelah deklarasi header file dengan menggunakan #define

Contoh 1:

//contoh deklarasi konstanta 1
#include <iostream.h>
#include <conio.h>
#define phi 3.14
#define r1 3
#define r2 10.7
#define kar 'A'
#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();}


      Keterangan :
    • 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


  1. Di dalam fungsi dengan menggunakan const
Contoh 2:

// contoh deklarasi konstanta 2
#include <iostream.h>
#include <conio.h>

main() {
  const float phi=3.14;
  const int r1=3;
  const float r2=10.7;
  const char kar='A';
  const char teks[30]="Contoh deklarasi konstanta" ;
  const bool x=true;
  cout<<teks<<"\n";
  cout<<kar<<"\n";
  cout<<x<<"\n";
  cout<<phi<<"\n";
  cout<<r1<<"\n";
  cout<<r2<<"\n";
  getch();}




Konstanta tidak dapat diubah nilainya, berbeda dengan proses inisialisasi, dimana nilainya dapat diubah-ubah.



E.       OPERATORS
1.      Operator aritmatik, terdiri :
a)      Penjumlahan (+)
b)      Pengurangan (-)
c)      Perkalian (*)
d)     Pembagian (/)
e)      Modulo (%)

Contoh 3:

//operator aritmatik 1
#include <iostream.h>
#include <conio.h>
#define phi 3.14
#define r1 10
#define teks "Program mencari luas lingkaran\n\n"

main() {
  cout<<teks;
  float r, luas;
  cout<<"Luas lingkaran pertama = "<< phi*r1*r1;
  cout<<"\nNilai jari-jari = ";cin>>r;
  luas=phi*r*r;
  cout<<"\nLuas lingkaran kedua = "<<luas;

  getch();}





Contoh 4:

//operator aritmatik 2
#include <iostream.h>
#include <conio.h>

main() {
  int a,b,hasil,sisa;
  cout<<"Contoh penggunaan / dan %\n\n";
  cout<<"Masukkan angka pertama (a) = ";cin>>a;
  cout<<"Masukkan angka kedua   (b) = ";cin>>b;
  hasil=a/b;
  sisa=a%b;
  cout<<"\nHasil pembagian bulat = "<<hasil;
  cout<<"\nSisa hasil bagi       = "<<sisa;
  getch();}

Tipe Casting
Dari contoh 3 dapat diketahui bahwa:
Jika kita mempunyai dua variabel integer (a dan b), dan kita ingin membagi keduanya (a/b), hasilnya disimpan ke variabel hasil yang tipenya int , maka hasil yang tersimpan hanya nilai integernya saja.
Bagaimana jika kita ingin agar dua bilangan bulat yang dibagi tersebut hasilnya dapat memuat angka desimal?
Caranya :
Tipe variabel yang menampung hasil harus float dan ubah salah satu data yang diproses menjadi float sementara (type casting)

Contoh 5:

//operator aritmatik 3
//pembagian dengan hasil bertipe float, hasil yang tersimpan adalah integernya
#include <iostream.h>
#include <conio.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=a/b;
  cout<<"\nHasil pembagian          = "<<c;
  getch();}


Contoh 6:

//operator aritmatik 4
//contoh penggunaan type casting
#include <iostream.h>
#include <conio.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          = "<<c;
  getch();}



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 7:

//penggunaan setprecision
#include <iostream.h>
#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 = "<<setprecision(3)<<c;
  getch();}


Keterangan :
setprecision (3) à tempat yang dipesan baik untuk nilai bulat maupun desimal adalah 3.

Contoh 8:

//penggunaan setprecision dan setiosflags
#include <iostream.h>
#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 9:

//penggunaan setprecision untuk data yang nilainya besar
#include <iostream.h>
#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();}

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.

2.      Operator gabungan
Antara lain : +=, -=, *=, /=, %=

Operator
Contoh
Ekivalen
+=
bonus += 500;
bonus = bonus + 500;
-=
budget -= 50;
budget = budget - 50;
*=
gaji *= 1.2;
gaji=gaji * 1.2;
/=
faktor/= 50;
faktor= faktor/.50;
%= 
 jml_hari %=7;
jml_hari =jml_hari % 7;



Contoh 10:

// operator gabungan
#include <iostream.h>
#include <conio.h>
main()
{
   int i  = 4;
   int j  = 8;
   int k = 12;
   int jwb;
   jwb = i + j;
   cout << jwb << "\n";
   jwb += k;
   cout << jwb << "\n";
   jwb /= 3;
   cout << jwb << "\n";
   jwb -= 5;
   cout << jwb << "\n";
   jwb *= 2;
   cout << jwb << "\n";
   jwb %= 4;
   cout << jwb << "\n";
   jwb *= 5+3;
   cout << jwb << "\n";
   jwb += 4-2;
   cout << jwb << "\n";
   getch();}




Increase dan Decrease

Operator
Contoh
Deskripsi
Pernyataan yang ekivalen
++
J++;       
posfix
j = j + 1;                       j += 1;
++
++j;
prefix
j = j + 1;                       j += 1;
--
j--;
postfix
j = j - 1;                        j  -= 1;
--
--j;
prefix
j = j - 1;                        j -= 1;


Contoh 11 :

// increase dan decrease
#include <iostream.h>
#include <conio.h>
main()
{
   int i1=4,i2=4;
   int j1=8,j2=8;
   int a,b,c,d;
   a=++i1;
   b=i2++;
   c=--j1;
   d=j2--;
   cout<<"\nNilai a = "<<a;
   cout<<"\nNilai i1 = "<<i1;
   cout<<"\n\nNilai b = "<<b;
   cout<<"\nNilai i2 = "<<i2;
   cout<<"\n\nNilai c = "<<c;
   cout<<"\nNilai j1 = "<<j1;
   cout<<"\n\nNilai d = "<<d;
   cout<<"\nNilai j2 = "<<j2;
   getch();}



Fungsi built-in matematik yang sering digunakan

Fungsi-fungsi tersebut antara lain:
  1. Fungsi sqrt(x) à untuk mencari Öx.
  2. Fungsi pow(x,y) à digunakan untuk mencari xy
Kedua fungsi tersebut harus menggunakan header file math.h

Contoh 12:

//penggunaan sqrt dan pow
#include <iostream.h>
#include <conio.h>
#include <math.h>

main() {
  float a,b,c,d;
  a=5;
  b=7;
  c=sqrt(a);
  d=pow(a,b);
  cout<<"\nAkar "<<a<<" = "<<c;
  cout<<"\n"<<a<<" pangkat "<<b<<" = "<<d;
  getch();}



3.      Operator Logika
Adalah operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operasi tersebut hanya berupa nilai benar (true) dan salah (false), atau sering disebut dengan nilai boolean.

Operator
Jenis Operator
Contoh
&&
AND (dan)
1 && 1 = 1
||
OR (atau)
1 || 0 = 0
!
NOT (negasi)
!0 = 1
Contoh 13 :
//penggunaan operator and
#include <iostream.h>
#include <conio.h>

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;
  getch();}


Contoh 14 :

//penggunaan operator or
#include <iostream.h>
#include <conio.h>

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;
  getch();}


Contoh 15 :

//penggunaan operator not
#include <iostream.h>
#include <conio.h>

main() {
 
  cout<<”!1  = “<<!1<<endl;
  cout<<”!0  = ”<<!0<<endl;
  getch();}

0 komentar:

Posting Komentar