Sabtu, 04 Februari 2012

OPERATOR DAN STATEMEN I/O (INPUT & OUTOUT)

OPERATOR
Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan
sesuatu operasi atau manipulasi.

OPERATOR PENUGASAN
Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan
(“=”).
Contoh :
nilai = 80;
A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.

OPERATOR ARITMATIKA









NB : Operator seperti operator negasi (-) disebut unary operator, karena membutuhkan
hanya satu buah operand
Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua
bilangan. Misalnya : 9 % 2 = 1, 9 % 3 = 0
Contoh :

#include <iostream.h>
void main ()
{
            int m = 82, n = 26;
            cout<<m<<" + "<<n<<" = "<<m+n<<endl;
            cout<<m<<" - "<<n<<" = "<<m-n<<endl;
            cout<<m<<" * "<<n<<" = "<<m*n<<endl;
            cout<<m<<" / "<<n<<" = "<<m/n<<endl;
            cout<<m<<" % "<<n<<" = "<<m%n<<endl;
            cout<<"-"<<m<<" = "<<-m<<endl;
}

Output :
            82 + 26  = 108
            82 – 26  = 56
            82 * 26  = 2132
            82 / 26   = 3
            82 % 26 = 4
            -82 = - 82

Karena tipe datanya adalah int, maka 82/26=3, supaya dapat merepresentasikan nilai
yang sebenarnya, gunakan tipe data float.
Cara lain penulisan dengan menggunakan operator aritmatika :
m = m + n ó m += n
m = m - n ó m -= n
m = m * n ó m *= n
m = m / n ó m /= n
m = m % n ó m %= n


OPERATOR HUBUNGAN (PERBANDINGAN)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++



Contoh:
#include <iostream.h>
void main ()
{
            int m = 5, n = 7;
            if(m == n) cout <<m<<"sama dengan"<<n<<endl;
            else if (m != n) cout<<m<<"tidak sama dengan "<<n<<endl;
            else if (m > n) cout<<m<<"lebih besar dari "<<n<<endl;
            else if (m <= n) cout<<m<<"lebih kecil dari "<<n<<endl;
}


Outputnya :
            5 tidak sama dengan 7

OPERATOR NAIK DAN TURUN ( INCREMENT DAN DECREMENT )

 







Contoh :

#include <iostream.h>
void main ()
{
     int m = 44, n = 66;

     cout<<"m = "<<m<<" , n = "<<n<<endl;
     ++m; --n;
     cout<<"m = "<<m<<" , n = "<<n<<endl;
     m++; n--;
     cout<<"m = "<<m<<" , n = "<<n<<endl;
}

Outputnya :
            m = 44, n = 66
            m = 45, n = 65
            m = 46, n = 64
           
Terlihat bahwa operator pre-increment dan post-increment memiliki akibat yang
sama, yaitu manambah nilai satu pada m dan memasukkan nilai tersebut kembali ke m
(m=m+1). Hal yang sama juga terjadi pada operator pre-decrement dan post-decrement
yang memberikan akibat yang sama, yaitu mengurangi nilai satu dari n ( n = n - 1).

Tetapi bila digunakan sebagai sub-ekspresi, operator post-increment dan preincrement
menunjukkan hasil yang berbeda

Contoh :

#include <iostream.h>
void main ()
{
     int m = 66, n;
     n = ++m;
     cout<<"m = "<<m<<", n = "<<n<<endl;
     n = m++;
     cout<<"m = "<<m<<", n = "<<n<<endl;
     cout<<"m = "<<m++<<endl;
     cout<<"m = "<<m<<endl;
     cout<<"m = "<<++m<<endl;
}

Outputnya :
            m = 67, n = 67
            m = 68, n = 67
            m = 68
            m = 69
            m = 70

Penjelasan :
Dalam penugasan yang pertama, m adalah pre-increment, menaikkan nilainya menjadi
67, yang selanjutnya dimasukkan ke n.
Dalam penugasan kedua, m adalah post-increment, sehingga 67 dimasukkan dahulu ke n
baru kemudian nilai m-nya dinaikkan, itu sebabnya mengapa nilai m = 68 dan n = 67.
Dalam penugasan ketiga, m adalah post-increment, sehingga nilai m ( = 68 ) ditampilkan
dahulu ( ke layar ) baru kemudian nilai m dinaikkan menjadi 69.
Dalam penugasan keempat, m adalah pre-increment, sehingga nilai m dinaikkan dahulu
menjadi 70 baru kemudian ditampilkan ke layar.
Supaya lebih paham, perhatikan pula contoh dibawah.
Contoh :

#include <iostream.h>
void main ()
{
     int m=5, n;
     n=++m * --m;
     cout<<"m"<<m<<"n= "<<n<<endl;
     cout<<++m<<" "<<++m<<" "<<++m<<endl;
}

Outputnya :
            m5n= 25
            8  7  6

Penjelasan :
Dalam penugasan untuk n, pertama kali m dinaikkan (++m) menjadi 6, kemudian m
diturunkan kembali menjadi 5, karena adanya --m. Sehingga nilai m sekarang adalah 5
dan nilai m = 5 inilah yang dievaluasi pada saat penugasanperkalian dilakukan. Pada
baris terakhir, ketiga sub-ekspresi dievaluasi dari kanan ke kiri.

OPERATOR BITWISE

NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau
char
Berikut ini diberikan tabel kebenaran untuk operator logika
P = A operator B


Contoh :

#include <iostream.h>
void main ()
{
     int m = 82, n = 26;
     cout<<m<<" << 2"<<" = "<<(m<<2)<<endl;
     cout<<m<<" >> 2"<<" = "<<(m>>2)<<endl;
     cout<<m<<" & 2"<<" = "<<(m&2)<<endl;
     cout<<m<<" | 2"<<" = "<<(m|2)<<endl;
     cout<<m<<" ^  2"<<" = "<<(m^2)<<endl;
     cout<<"~"<<m<<" = "<<~m<<endl;
}

Output :
            82 <<  2 = 328
            82 >> 2 = 20
            82 & 26 = 18
            82 | 26 = 90
            82 ^ 26 = 72
            ~82 = -83

Penjelasan :
Nilai keluaran diatas, tergantung dari jenis compiler yang digunakan. Hasil diatas
merupakan keluaran dari compiler Turbo C++.
Pada Turbo C++ besar dari integer adalah 2 byte atau sama dengan 16 bit, untuk
mengetahuinya digunakan perintah
cout<<sizeof(int)<<endl; // Untuk mengetahui besar dari int
Maka :
8210 = 00000000010100102 dan
2610 = 00000000000110102
Sehingga :
82 << 2 à00000001010010002 = 32810
82 >> 2 à00000000000101002 = 2010
82 & 26 à 00000000010100102
00000000000110102
------------------------------------------ &
00000000000100102 = 1810
dan begitu juga untuk operasi OR dan XOR.
~82 à digunakan 2’s complement, yaitu
8210 = 00000000010100102  lalu dinegasikan tiap bitnya menjadi
11111111101011012 kemudian LSB ditambah 1 menjadi
1111111110101110 = 6545410 nilai ini melebihi jangkauan maksimum int
yang berkisar di -32768 sampai 32767, sehingga nilai yang keluar yaitu
83.
Cara lain penulisan dengan menggunakan operator bitwise :
m = m << n ó m <<= n
m = m >> n ó m >>= n
m = m & n ó m &= n
m = m | n ó m |= n
m = m ^ n ó m ^= n


OPERATOR LOGIKA
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.





Contoh :

#include <iostream.h>
void main ()
{
     int m = 166;
     cout<<"(m>=0 && m<=150) -> "<<(m>=0 && m<=150)<<endl;
     cout<<"(m>=0 || m<=150) -> "<<(m>=0 || m<=150)endl;
}

Outputnya :
            (m>=0 &&  m<=150) -> 0
            (m>=0 ||  m<=150) -> 1

Penjelasan :
Hasil keluaran dari operator logika adalah 0 dan 1.
0 jika keluarannya salah dan 1 jika keluarannya benar.

OPERATOR KONDISI
Operator kondisi digunakan untuk memperoleh nilai dari dua kemungkinan
ungkapan1 ? ungkapan2 : ungkapan3
Bila nilai ungkapan1 benar, maka nilainya sama dengan ungkapan2, bila tidak maka
nilainya sama dengan ungkapan3
Contoh :

#include <iostream.h>
void main ()
{
     int m = 26, n = 82;
     int min = m < n ? m : n;
     cout<<”Bilangan terkecil adalah “<<min<<endl;
}

Outputnya :
            Bilangan terkecil adalah 26

STATEMEN I/O
Pada C++ terdapat 2 jenis I/O dasar, yaitu:
a. Statemen Input adalah Statemen / fungsi yang digunakan untuk membaca data dari
inputing device (keyboard/mouse), contoh : cout (character out)
b. Statemen Output adalah Statemen yang digunakan untuk menuliskan data ke layar
monitor, contoh : cin (character in)

Contoh 1:


#include <iostream.h>
void main ()
{
  char nama[100]; // Dekalarasi variable nama
  cout<<"masukan nama anda : " ;
  cin>>nama; //meminta user untuk menginstalisasi variable nama
  cout<<"Nama anda adalah "<<nama;
}

Contoh 2:


#include <iostream.h>
#include <conio.h>
void main ()
{
     int nilai;
     clrscr ();
     cout << "Masukan nilai anda : " ;
     cin>>nilai;
     cout <<"Anda memperoleh nilai : "<<nilai<<endl;
     cout <<"Apakah anda telah puas mendapat nilai ? "<<nilai;
     getch();
}

Outputnya :
            Masukan nilai anda : 45
            Anda memperoleh nilai : 45
Apakah anda telah puas mendapat nilai ? 45

Contoh 3:

//program untuk mempertukarkan nilai A dengan nilai B
#include <iostream.h>
void main ()
{
     int A, B, temp;
     cout << "A= ";
     cin >> A;

     cout << "B= ";
     cin >> B;

     temp =A;
     A=B;
     B=temp;

     cout << "Jadi Sekarang : " <<endl;
     cout << "A= " << A << endl;
     cout << "B= " << B;
}


Output :
               A = 5
            B = 3
            Jadi Sekarang
               A = 3
            B = 5

Tidak ada komentar:

Posting Komentar