C++PROGRAM

Pemrograman Komputer (C++): Tipe Data dan Operator

Mengenal Tipe Data dan Operator pada C++

2.1 TIPE DATA PADA C++

Seperti yang terlihat pada contoh program C++ sebelumnya, ketika kita mendeklarasikan sebuah variable dan fungsi, selain nama varibel kita juga harus memberikan tipe data dari variable atau fungsi tersebut sehingga compiler mengetahui tipe data yang digunakan.

Tipe data mendefinisikan ukuran dan rentang nilai yang dapat disimpan pada sebuah variable atau konstanta, atau nilai yang dapat dihasilkan oleh sebuah fungsi. Selain itu tipe data juga menentukan operasi yang dapat dilakukan terhadap data tersebut.

Tipe data digunakan untuk membatasi nilai suatu variable sehingga pemakaian memori yang terbatas dapat lebih efisien. Terdapat empat tipe dasar pada pemprograman C++, yaitu (1) bilangan bulat, (2) bilangan pecahan, (3) logika dan (4) karakter/string.

Tabel di bawah ini menunjukan tipe data pada C++ berikut ukuran memori dan rentang nilainya.

C/C++UkuranRentang Nilai
Tipe data karakter
char1 byte-128 s/d 127
unsigned char1 byte0 s/d 255
wchar_t2 byte0 s/d 65,535
Tipe data logika
bool1 byteTrue or False
Tipe data bilangan bulat
short2 byte-32,768 s/d 32,768
unsigned short2 byte0 s/d 65,535
int4 byte*-2,147,483,648 s/d 2,147,483,6487
unsigned int4 byte*0 s/d 4,294,967,295
long4 byte-2,147,483,648 s/d 2,147,483,6487
unsigned long4 byte0 s/d 4,294,967,295
enum4 byte*-2,147,483,648 s/d  2,147,483,6487
long long8 byte-9,223,372,036,854,775,808 s/d 9,223,372,036,854,775,807
unsigned long long8 byte0 s/d 18,446,744,073,709,551,615
Tipe data bilangan pecahan
float4 byte3.4E-38 s/d 3.4E+38 (7 digit)
double8 byte1.7E-308 s/d 1.7E+308 (15 digit)
long double10 byte1.2E-4932 s/d 1.2E+4932 (19 digit)
Tipe tanpa tipe data (tidak memilki nilai)
void0Tidak ada nilai

*

Contoh Program menggunakan tipe data dan menampilkan nilainya.

      main.cpp   
#include <iostream>  
using namespace std;  
void tipedata();  

int main() {
      tipedata();
      return 0;
}  

void tipedata() {
      char chr_nilai = 48;
      int int_nilai = 48;
      float phi = 3.14, rasio = -0.898989;
      unsigned int uint_nilai = 42;
      int neg_nilai = -90;
      bool val = true;
      cout << “tampilkan nilai character (chr) ” << chr_nilai << endl;
      cout << “tampilkan nilai integer (int) ” << int_nilai << endl;
      cout << “tampilkan nilai float positif(float) ” << phi << endl;
      cout << “tampilkan nilai float negatif(float) ” << rasio << endl;
      cout << “tampilkan nilai integer positif(u int) ” << uint_nilai << endl;
      cout << “tampilkan nilai integer negatif(chr) ” << neg_nilai << endl;
}

Berikut tampilan ketika program di atas dijalankan

2.2        OPERATOR PADA C++

Seperti yang terlihat pada contoh program C++ sebelumnya, ketika kita mendeklarasikan sebuah variable dan fungsi, selain nama varibel kita juga harus memberikan tipe data dari variable atau fungsi tersebut sehingga compiler mengetahui tipe data yang digunakan. Tipe data mendefinisikan ukuran dan rentang nilai yang dapat disimpan pada sebuah variable atau konstanta, atau nilai yang dapat dihasilkan oleh sebuah fungsi. Selain itu tipe data juga menentukan operasi yang dapat dilakukan terhadap data tersebut.

2.2.1        Operator Aritmatika

OperatorKeteranganContoh
+Penjumlahan4 + 6 = 10
Pengurangan7 – 3 = 4
*Perkalian2 * 3 = 6
/Pembagian6 / 2 = 3
%Modulus  (sisa hasil bagi)8 % 3 = 2

Contoh program operasi aritmatika pada C/C++

                                                                                               main.cpp                                                                                 
#include <iostream>                                                            
using namespace std;  
#define PHI 3.14  

void lingkaran() {
    float diameter = 0;
    float luas_lingkaran = 0, keliling_lingkaran = 0;
    cout << “masukkan diameter lingkaran (cm) “;
    cin >> diameter;     cout << endl;
    luas_lingkaran = PHI * (diameter/2) * (diameter/2);
    keliling_lingkaran = PHI * diameter;
    cout << “Luas Lingkaran = ” << luas_lingkaran << ” cm2″ << endl;
    cout << “Keliling Lingaran = ” << keliling_lingkaran << ” cm” << endl;
}

int main() {
    cout << “Program Menghitung Luas dan Keliling Lingkaran” << endl;
    lingkaran();
    return 0;
}  

Berikut tampilan ketika program di atas dijalankan

2.2.2        Operator Penugasan

OperatorKeteranganContohEquivalen
=Penugasan/AssigmentA = 10 
+=PenjumlahanJumlah += 1Jumlah = Jumlah + 1
-=PenguranganKurang -= 5Kurang = Kurang – 1
*=PerkalianKali *= 2Kali = Kali * 2
/=PembagianBagi /= 6;Bagi = Bagi / 6
%=ModulusModulus %= 6Modulus = Modulus % 6
&=ANDB &= 1B = B & 1
|=ORC |= 1C = C | 1
^=XORD ^= 0D = D ^ 0
<<=Geser ke kiriLS <<= 1LS = LS << 1
>>=Geser ke kananRS >>= 2RS = RS >> 2

2.2.3        Operator Unary

OperatorKeteranganContohequivalen
Unary minusA = -1 
++Penambahan 1Value++ ++ValueValue = Value + 1
Pengurangan 1Nilai– –NilaiNilai = Nilai – 1
!Not (negasi)B = !1B = 0
~Unary complement satu (bitwise not)B = ~C 
&Menghasilkan alamat memory operant (operator pointer)Catatan: akan dijelaskan pada pembahasan tentang pointer
*Menghasilkan nilai pengenal di alamat memory (operator pointer)
sizeofUkuran dari operand dalam byte

Contoh Program operasi matematika dengan operator penugasan dan operator unary

                                                                                               main.cpp                                                                                   
#include <iostream>  
using namespace std;  

int main() {
    int hasil_operasi = 0, nilai_A = 0, nilai_B = 0, nilai_C = 0;
    cout << “Contoh Menggunakan Operator” << endl;
    cout << “nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  nilai C = ” << nilai_C << endl;
    cout << “hasil = ” << hasil_operasi << endl;
    nilai_A += 10;     nilai_B -= 3;     nilai_C++;     hasil_operasi = nilai_A + nilai_B / nilai_C;
    cout << “nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  nilai C = ” << nilai_C << endl;
    cout << “hasil dari A + B / C = ” << hasil_operasi << endl;
    nilai_A /= 5;     nilai_B–;     nilai_C *= 8;
    hasil_operasi = nilai_A % nilai_B * nilai_C;
    cout << “nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  nilai C = ” << nilai_C << endl;
    cout << “hasil dari A % B * C = ” << hasil_operasi << endl;
    return 0;
}

Berikut tampilan ketika program dijalankan

Terdapat dua jenis increment/decremet pada C/C++ yaitu pre-increment/decrement (prefix) dan post-increment/decrement (posfix). Pre-increment akan melakukan penambahan nilai terlebih dulu sebelum variabel diproses, sedangkan post-increment melakukan proses terlebih dahulu sebelum variabel ditambahkan nilainya.  Demikian juga dengan decrement, Pre-decrement akan melakukan pengurangan  nilai terlebih dulu sebelum variabel diproses, sedangkan post-decrement melakukan proses terlebih dahulu sebelum variabel dikurangi nilainya.

Contoh penggunaan operator increment dan decrement

                                                                                               main.cpp                                                                                 
#include <iostream>  
using namespace std;  
int main() {
    int hasil_operasi = 0, nilai_A = 0, nilai_B = 0;
    cout << “Contoh Prefix dan Postfix” << endl;
    cout << “(1) nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  hasil = ” << hasil_operasi << endl;
    hasil_operasi = (nilai_A++) + (++nilai_B);
    cout << “(2) nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  hasil = ” << hasil_operasi << endl;
    hasil_operasi = nilai_A + nilai_B;
    cout << “(3) nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  hasil = ” << hasil_operasi << endl;
    hasil_operasi = (nilai_A–) + (–nilai_B);
    cout << “(4) nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  hasil = ” << hasil_operasi << endl;
    hasil_operasi = nilai_A + nilai_B;
    cout << “(5) nilai A = ” << nilai_A << “,  nilai B = ” << nilai_B     << “,  hasil = ” << hasil_operasi << endl;
    return 0;
}

Berikut tampilan ketika program dijalankan

2.2.4        Operator bitwise

OperatorKeteranganContoh
&Bitwise ANDA = B & C
|Bitwise ORA = B | C
~Bitwise Not (komplemen)A =  ~B
^Bitwise XORA = B ^ C
<< Binary Left ShiftA = B << 1
>> Binary Right ShiftC = D >> 2

Contoh penggunaan operator bitwise

                                                                                               main.cpp                                                                               
#include <iostream>  
using namespace std;  

int main() {
    unsigned short in_A = 0, in_B = 0, in_C = 0, outD = 0;
    in_A = 0x00ff; in_B = 0xf0f0; in_C = 0x0f0f;
    cout << “input A = ” << in_A << endl;
    cout << “input B = ” << in_B << endl;
    cout << “input C = ” << in_C << endl;
    outD = in_A & in_B | in_C;
    cout << “D = A & B | C = ” << outD << endl;
    outD = in_A | in_B ^ in_C;
    cout << “D = A & B ^ C = ” << outD << endl;
    outD = ~outD;     cout << “D = ~D = ” << outD << endl;
    outD = in_B << 8;
    cout << “D = B << 8 = ” << outD << endl;
    outD = in_B >> 8;
    cout << “D = B >> 8 = ” << outD << endl;
    return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *