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

INTRODUCTION TO C++


A.       INTRODUCTION TO C++

C++ merupakan bahasa pemrograman yang mendukung pemrograman berorientasi objek atau Object Oriented  Programming (OOP).
Sebelum melangkah lebih jauh sebaiknya kita harus tahu terlebih dahulu tentang konsep kompilasi dan eksekusi program di dalam C++ .

Preprosesor
Perintah yang diawali tanda # (pound) dan menghasilkan file yang akan dilewatkan ke dalam compiler.
Contoh :
# include
#define
#ifdef
Kompiler C++
Kompiler  akan menerjemahkan kode program yang telah dilewatkan oleh preprosesor ke dalam bahasa assembly.
Assembler
Menerima keluaran dari compiler C++ dan akan membuat sebuah kode objek. Jika dalam kode program kita tidak menggunakan fungsi-fungsi yang terdapat pada library lain, maka kode objek ini akan langsung dieksekusi menjadi EXE.
link editor
Bagian ini dikerjakan jika kode program yang kita buat menggunakan fungsi-fungsi luar yang disimpan dalam suatu library lain. Link editor akan mengkombinasikan kode objek dan library yang ada untuk menjadikan sebuah file EXE.


B.        STRUCTURE OF A PROGRAM
Secara umum struktur program dalam C++ adalah sebagai berikut:
deklarasi header file/preprocessor
deklarasi konstanta
deklarasi var global
deklarasi fungsi
deklarasi class

program utama (fungsi utama)

main()  {
    …….
    ……..
}






Keterangan :
  1. Deklarasi header file diawali dengan #include <.......> Titik-titik diisi dengan nama header file yang ingin digunakan. Header file merupakan suatu fungsi yang mendukung eksekusi instruksi tertentu dalam C++
  2. Deklarasi konstanta (bisa ada bisa tidak)
  3. Deklarasi variabel global (bisa ada bisa tidak)
  4. Deklarasi fungsi bisa ada bisa tidak. Fungsi juga dapat diletakkan seletah fungsi main().
  5. Deklarasi class (bisa ada bisa tidak)
  6. Fungsi utama à harus ada, diawali dengan { dan diakhiri dengan }. Didalamnya berisi instruksi-instruksi yang nantinya akan dieksekusi berikut deklarasi variabel (variabel lokal) yang diperlukan.
Contoh header file yang sering digunakan :
  1. iostream.h
Untuk instruksi:
cout<<”.....................”;
cin>>nama_var;
  1. conio.h
Untuk instruksi:
getch();
clrscr();
C++ bersifat case sensitive à membedakan huruf besar dan huruf kecil, sehingga:
  1. instruksi harus ditulis dalam huruf kecil
  2. Variabel yang ditulis dengan huruf kecil dan huruf besar berbeda.

Contoh program :
Contoh 1:
/*ini contoh pertama
 Ini contoh*/
#include <iostream.h>
#include <conio.h>

main() {
cout<<"Pemrograman Terstruktur";
getch();}

Contoh 2:
//ini contoh kedua
#include <iostream.h>
#include <conio.h>

main() {
cout<<"Pemrograman Terstruktur";
cout<<"Program S1";
cout<<"Jurusan Sistem Informasi";
getch();
}

Contoh 3:
//ini contoh ketiga
#include <iostream.h>
#include <conio.h>

main() {
cout<<"Pemrograman Terstruktur\n";
cout<<"Program S1\n";
cout<<"Jurusan Sistem Inforasi";
getch();
}

Contoh 4 :
//ini contoh keempat
#include <iostream.h>
#include <conio.h>
main() {
cout<<"Pemrograman Terstruktur"<<endl;
cout<<"Program D3"<<endl;
cout<<"Jurusan Manajemen Informatika"<<endl;
getch();
}

Contoh 5 :
//ini contoh kelima
/* Pengggunaan \n
untuk mengatur tampilan */
#include <iostream.h>
#include <conio.h>

main() {
cout<<"Pemrograman\n Terstruktur\n";
cout<<"\nProgram D3";
cout<<"\nJurusan \nManajemen Informatika";
getch();
}




C.        VARIABEL, DATA TYPES
Variabel merupakan sarana yang digunakan untuk menyimpan data. Nama variabel (identifier) bebas, tetapi harus memperhatikan hal-hal sebagai berikut:
  1. tidak boleh ada spasinya
  2. tidak boleh mengandung operator aritmatik
  3. tidak boleh diawali dengan angka
  4. tidak boleh merupakan reserved word dalam bahasa pemrograman.
  5. mencerminkan data yang akan disimpan.

Tipe data
Type data digunakan untuk membatasi nilai dari suatu variabel. Nilai dari suatu variabel dibatasi karena untuk efisiensi pemakaian memori.
Macam-macam tipe data :
Name
Description
Size*
Range*
char
Character or small integer.
1byte
signed: -128 to 127
unsigned: 0 to 255
short int (short)
Short Integer.
2bytes
signed: -32768 to 32767
unsigned: 0 to 65535
int
Integer.
4bytes
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
long int (long)
Long integer.
4bytes
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
bool
Boolean value. It can take one of two values: true or false.
1byte
true or false
float
Floating point number.
4bytes
3.4e +/- 38 (7 digits)
double
Double precision floating point number.
8bytes
1.7e +/- 308 (15 digits)
long double
Long double precision floating point number.
8bytes
1.7e +/- 308 (15 digits)
wchar_t
Wide character.
2bytes
1 wide character
size dan range tergantung compilernya

Deklarasi variabel

Contoh:
int a;
float b
char n_hrf;
double gaji;
char nama[20];
dsb.
Contoh lain:
int a;
int b;
int c;
pendeklarasian variable seperti ini bisa di singkat  int a,b,c;



Memberi nilai variabel
1.      Inisialisasi (variabel diberi nilai langsung)

Contoh 6:
//a dan c diinisialisasi
#include <iostream.h>
#include <conio.h>
main() {
  int a;
  float c;
  cout<<"Nilai a = ";cin>>a;
  cout<<"\nNilai c = ";cin>>c;
  getch();}

Contoh 7:
//a dan c diinisialisasi
#include <iostream.h>
#include <conio.h>
main() {
  int a;
  float c;
  a=5.7;
  c=6.7;
  cout<<"Nilai a = "<<a;
  cout<<"\nNilai c = "<<c;
  getch();
}

Inisialisasi harus sesuai dengan tipe datanya.

Contoh 8:
//cara lain untuk inisialisasi
#include <iostream.h>
#include <conio.h>
main() {
  int a=5;
  float c=6;
  cout<<"\nNilai a = "<<a;
  cout<<"\nNilai c = "<<c;
  getch();
}

Contoh 9:
//inisialisasi untuk variable yang nilainya sama
#include <iostream.h>
#include <conio.h>
main() {
  int a,b,c;
  a=b=c=5;
  cout<<"\nNilai a = "<<a;
  cout<<"\nNilai b = "<<b;
  cout<<"\nNilai c = "<<c;
  getch();
}

2.      Input data
Menggunakan instruksi cin>>
Contoh 10:
//input data dengan cin>>
#include <iostream.h>
#include <conio.h>
main() {
  int a;
  float c;
  cin>>a;
  cin>>c;
  cout<<"\nNilai a = "<<a;
  cout<<"\nNilai c = "<<c;
  getch();
}

Contoh 11:
//input dengan tambahan instruksi cout<<
#include <iostream.h>
#include <conio.h>
main() {
  int a;
  float c;
  cout<<"Masukkan nilai a = ";cin>>a;
  cout<<"Masukkan nilai c = ";cin>>c;
  cout<<"\nNilai a = "<<a;
  cout<<"\nNilai c = "<<c;
  getch();}

3.      Proses
Cth: adanya operator aritmatik (+,-,*,/)
Contoh 12:
//penggunaan operator +
#include <iostream.h>
#include <conio.h>
main() {
  int a,b,c;
  a=6; b=7;
  c=a+b;
  cout<<"\nNilai a = "<<a;
  cout<<"\nNilai b = "<<b;
  cout<<"\nNilai c = "<<c;
  getch();}

4.      Variabel global dan lokal

#include <iostream.h>
#include <conio.h>

float phi=3.14,r1=10;

main() {

  float r, luas,hasil1;

  hasil1=phi*r1*r1;
  cout<<"Luas lingkaran pertama = "<<hasil1;

  cout<<"\nNilai jari-jari = ";cin>>r;
  luas=phi*r*r;
  cout<<"\nLuas lingkaran kedua = "<<luas;

getch();}