Anda di halaman 1dari 79

PENGENALAN C++ . . . .

BAHASA PEMROGRAMAN

 Bahasa pemrograman, atau sering diistilahkan


juga dengan bahasa komputer atau bahasa
pemrograman komputer, adalah instruksi standar
untuk memerintah komputer
 Tingkatan bahasa pemrograman :
1. Bahasa Mesin, contoh biner :
1101001011010
2. Bahasa tingkat rendah, contoh Assembler
3. Bahasa tingkat tinggi, contoh : bahasa C,
Pascal, dll
Sejarah C++

 C++ adalah bahasa pemrograman komputer


yang di buat oleh (Bjarne Stroustrup)
merupakan perkembangan dari bahasa C
dikembangkan di Bell Labs (Dennis Ritchie)
 Pada awal tahun 1970-an, Bahasa itu
diturunkan dari bahasa sebelumnya, yaitu B,
Pada awalnya, bahasa tersebut dirancang
sebagai bahasa pemrograman yang
dijalankan pada sistem Unix
STRUKTUR PROGRAM C++

Baris pertama :
 Preprosesor : pada bagian ini berfungsi
untuk mengaktifkan fungsi-fungsi sintak dari
C++, seperti iostream, conio, stdio, string,
math, iomanip, dan lain-lain.
Contoh :
#include <stdio>
Artinya menyertakan sintak-sintak yg
terkandung didalam fungsi stdio
Baris kedua :
 Mendeklarasikan fungsi utama (main), Kata
Void menandakan fungsi main tidak bertipe
Contoh :
voidmain()

Baris ketiga
Kurung kurawal “{“ menandakan awal program
Baris ke-empat
Isi dari program. Seperti
 clrscr(); → merupakan sintak untuk
membersihkan layar dari output program
sebelumnya.
Sintak ini dapat digunakan apabila #include
<conio> dituliskan.
 cout<<“...”; →merupakan sintak untuk
menampilkan tulisan yang berada didalam tanda
kutip
 getch(); →merupakan sintak untuk memberikan
delay tampilan output yang biasanya pada pada
windows prosesnya terlalu cepat
Baris kelima adalah kurung kurawal tutup “}” tanda
berakhirnya program.
File Header dalam C++
Berikut macam-macam file header dalam C++:
1. # include<iostream.h>
Digunakan untuk menampilkan perintah:
cin (fungsi masukan)
Bentuk umum: cin>>var x;
cout (fungsi keluaran)
Bentuk umum: cout<<”tulisan”; atau
cout<<var x;
endl (pindah baris/ enter)
Bentuk umum: cout<<”tulisan”<<endl;
File Header dalam C++
Berikut macam-macam file header dalam C++:
2. # include <conio.h>
Digunakan untuk menampilakan perintah:
getch (menahan tampilan)
Bentuk umum: getch();
clrscr (membersihkan layar)
Bentuk umum: clrscr;
getche untuk membaca sebuah karakter dengan sifat
karakter yang dimasukkan tidak perlu diakhiri dengan
menekan tombol ENTER, dan karakter yang dimasukan
ditampilkan di layar.
gotoxy digunakan untuk memindahkan kursor ke
kolom x, baris y.
File Header dalam C++
Berikut macam-macam file header dalam C++:
3. # include <stdio.h>
Digunakan untuk menampilan perintah :
printf (fungsi keluaran)
Bentuk umum: printf (“tulisan”);
scanf (fungsi masukan)
Bentuk umum: scanf (“%c”, &karakter);
gets
Fungsi inputan yang bisa membaca spasi.
Bentuk umum: gets(var x);
File Header dalam C++
Berikut macam-macam file header dalam C++:
4. # include <string.h>
strcpy digunakan untuk menyalin nilai string
strlen digunakan untuk mengetahui panjang string
strupr digunakan untuk membuat string menjadi
capital.
strcmp digunakan untuk membandingkan dua buah
string. Bentuk umum : strcmp(string1,
string2);
strlwr digunakan untuk mengubah huruf menjadi
kecil semua.Bentuk umum : strlwr(string);
strcat digunakan untuk menggabungkan string.
Bentuk umum : strcat(string1,string2);
File Header dalam C++
Berikut macam-macam file header dalam C++:
5. # include <math.h>
Digunakan untuk menampilan perintah :
sqrt Fungsi akar
pow Fungsi pangkat
Sin (), cos(), tan() digunakan untuk menghitung nilai
sinus, cosinus dan tangens dari suatu sudut.
Bentuk umum: Sin(sudut); Cos(sudut);
Tan(sudut);
max digunakan untuk menghitung hasil pembagian dan
sisa pembagian. Bentuk umum: max(bil1, bil2);
min digunakan untuk menentukan bilangan terkecil dari
dua buah bilangan.
File Header dalam C++
Berikut macam-macam file header dalam C++:
6. # include <iomanip.h>
Digunakan untuk menampilan perintah :
setiosflags() untuk mengatur jumlah digit decimal
dibelakang koma.
Bentuk umum : setiosflags(ios::fixed) yang disertai

setprecision(i) untuk mendeklarasikan jumlah digit


desimal
setw() digunakan untuk mengatur lebar tampilan data
(rata kanan).
TIPE DATA, IDENTIFIER DAN
VARIABEL
Tipe data dan identifier
Tipe data bahasa C++
Variabel dan Konstanta

Auli Damayanti, S.Si.,M.Si


Tipe data dan Identifier
Tipe Data
 Data merupakan bagian yang menjelaskan suatu
informasi, dalam bahasa C++ bisa berupa bilangan,
huruf atau true dan false
 Tiap tipe data mempunyai jenis dan ukuran
tertentu di memori utama

Identifier
 Data tersimpan di suatu lokasi memori, untuk
mengenalnya digunakan suatu nama yang mewakili
suatu alamat di memori
 Identifier bisa berupa variabel, konstanta maupun
fungsi.
Tipe data dalam bahasa c++
TIPE TIPE DATA UNSIGNED
DATA KETERANGAN
Tipe data unsigned mirip
Char Menyatakan sebuah karakter seperti dengan yang bukan unsigned.
A, f, 9 Bedanya adalah tipe data
Int Menyatakan Bilangan bulat unsigned tidak mengenal nilai
Long Menyatakan bilangan bulat namun bilangan negatif (nilainya
jumlahnya nilainya lebih banyak dari selalu posisif).
pada biasanya, contohnya pada long
int yaitu 2147483648 - 2147483647 • Tipe data unsigned:
- unsigned char
Short Menyatakan Bilangan Bulat namun - unsigned int (integer)
dengan nilai yang normal, contohnya
- unsigned short (short int)
pada short int yaitu antara -32768 -
32767 - unsigned long (long integer)

Double Menyatakan bilangan real dengan


ketelitian tinggi (15 digit)
Float Menyatakan bilangan real dengan
ketelitian rendah (7 digit)
Tipe data dalam bahasa c++
Tipe Data Ukuran Jangkauan Nilai Yang dapat Ditampung
bool 1 byte True or false
unsigned short int 2 bytes 0 to 65,535
short int 2 bytes –32,768 to 32,767
unsigned long int 4 bytes 0 to 4,294,967,295
long int 4 bytes –2,147,483,648 to 2,147,483,647
int (16 bit) 2 bytes –32,768 to 32,767
int (32 bit) 4 bytes –2,147,483,648 to 2,147,483,647
unsigned int (16 bit) 2 bytes 0 to 65,535
unsigned int (32 bit) 4 bytes 0 to 4,294,967,295
char 1 byte 256 character values
float 4 bytes 1.2e–38 to 3.4e38
double 8 bytes 2.2e–308 to 1.8e308
Tipe data dalam bahasa c++
NAMA PENGENAL (Identifier)
 Nama pengenal (identifier name) adalah nama berbagai
elemen program, seperti: nama variabel, nama
konstanta, nama fungsi, nama tipe data dan lainnya.
 Nama-nama pengenal dapat ditentukan sendiri, dengan
ketentuan sebagai berikut:
1) Panjangnya dapat berupa 1 karakter atau lebih, tetapi
hanya 32 karakter pertama yang dikenal. Sebagai
contoh, misalnya nama variabel:
Nilai_mahasiswa_yang_mengambil_matakuliah_AlProg1
(49 karakter)
Nilai_mahasiswa_yang_mengambil_matakuliah_BasisData
(51 karakter)
NAMA PENGENAL ...(cont)
Nama variabel pertama akan dianggap sama dengan
nama variabel kedua karena ke-32 karakter pertama
untuk kedua nama variabel di atas adalah sama, yaitu:
Nilai_mahasiswa_yang_mengambil_m
2) Karakter pertama harus berupa huruf atau karakter
garis bawah (_).
Berikut ini adalah pengenal yang salah:
 6angka (salah, karena diawali dengan angka)
 @nggota (salah, karena diawali dengan karakter
khusus @)
Sedangkan berikut ini adalah pengenal yang benar:
 _6angka
 angota1
NAMA PENGENAL ...(cont)
3) Tidak boleh mengandung karakter-karakter
khususdan blank (spasi) kecuali garis bawah.
Berikut ini adalah pengenal yang salah:
Nilai-mahasiswa (salah, karena mengandung
karakter -)
Dollar$ (salah, karena mengandung karakter
$)
No telp (salah, karena ada spasi)
Sedangkan berikut ini adalah pengenal yang benar:
Nilai_mahasiswa
NoTelp
4) Huruf besar dan huruf kecil dianggap berbeda
Contoh :
mahasiswa
Mahasiswa
NAMA PENGENAL ...(cont)
5) Tidak boleh sama dengan keyword.
Keywordadalah identifieryang telah didefinisikan
sebelumnya oleh Bahasa C, misalnya :
asm, auto, bool, break, case, default, delete,
do, float, for, friend, volatile, typename, try,
using, this, throw, int, if, new, false, switch, sizeof,
dsb

Apabila digunakan pengenal variabel di dalam program


Turbo C++, maka variabel tersebut harus dideklarasikan
terlebih dahulu. Pada waktu mendeklarasikan suatu
variabel, maka harus menentukan tipe dari datanya. Tipe
dari data menunjukkan suatu nilai yang dapat digunakan
oleh variabel bersangkutan. Tipe data yang ada dalam
Turbo C++ dapat berupa tipe data standart, tipe data
yang didefinisikan sendiri, tipe data terstruktur dan tipe
pointer.
Variabel dan konstanta

 Variabel berupa identifier mewakili


alamat memori yang menampung suatu
nilai dan nilainya dapat diubah pada saat
eksekusi.
 Konstanta bisa berupa suatu identifier
yang mewakili alamat memori yang
menampung nilai, namun nilai tersebut
tidak dapat diubah.
 Konstanta bisa berupa suatu nilai yang
ditulis langsung di dalam kode program
VARIABEL
 Sebelum digunakan, suatu variabel harus dideklarasi-
kan terlebih dahulu
Cara deklarasi : <tipe> <var1>, <var2>, …;

Contoh : int panjang, lebar;
 Bisa langsung diinisialisasi suatu nilai tertentu,
Contoh :
float jari_jari = 5.25;
 Untuk mengubah nilai di dalam variabel digunakan
operato pengerjaan, misalnya “=“,
Contoh:
int panjang, lebar;
panjang = 15;
lebar = 12;
KONSTANTA
Konstanta bisa berupa konstanta simbolik bisa berupa
konstanta literal.
 Konstanta Simbolik bisa dibuat dengan 2 cara:
 1. Dengan memakai kata kunci const,
contoh:
const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak
dapat diubah jika telah diinisialisasi
2. Dengan preprocessor directive #define,
contoh :

#define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan
dengan const adalah kecepatan kompilasi,karena
sebelum kompilasi dilaksanakan, kompiler pertama
kali mencari symbol #define (# dikatakan prepocessor
directive) dan mengganti semua Phi dengan nilai
KONSTANTA
#include <iostream.h>
#include <conio.h>

void main()
{
const float phi=3.14;
float jari,luas,kell;
jari=14;
luas=phi*jari*jari;
kell=2*phi*jari;
cout<<"Luas lingkaran = "<<luas<<endl;
cout<<"Keliling lingkaran= "<<kell;
getch();
}
KONSTANTA
Konstanta bisa berupa konstanta simbolik bisa berupa
konstanta literal.
  Konstanta literal adalah nilai yang ditulis N pada
kode program.
Contoh berikut ini nilai 15 dinamakan konstanta
literal,
panjang = 15;

Contoh Program
#include <iostream>
void main()
{
int panjang, lebar;

panjang = 15; //<-- nilai diubah menjadi 15


lebar = 12; //<-- nilai diubah menjadi 12
cout << "Panjang = " << panjang << endl;
cout << "Lebar = " << lebar << endl;
}
Contoh Hasil Eksekusi

• Analisa Program :
– Pada program di atas variabel panjang dan lebar
dideklarasikan bertipe int.
– Kemudian variabel panjang diberi nilai 15 (integer) dan lebar
diberi nilai 12 (integer), tampak bahwa nilai dari variabel
tersebut dapat diubah.
– Pada baris berikutnya nilai dari variabel dapat diakses untuk
dicetak ke layar.
OPERATOR DAN STATEMENT
INPUT-OUTPUT
S T AT E M E N T

 Statement adalah sebuah baris perintah pada bahasa C++


yang mempunyai arti tertentu.
 Statement bisa berupa perubahan nilai variabel, struktur
kendali percabangan maupun perulangan, bisa juga beupa
pemanggilan fungsi yang semuanya itu diakhiri dengan
tanda titik koma (;).
 Ekspresi adalah segala sesuatu yang menghasilkan nilai,
bisa berupa konstanta literal, variabel maupun kombinasi
dengan menggunakan operator dari keduanya
S T AT E M E N T

CONTOH :

 Contoh Statement berupa perubahan nilai variabel.


panjang = 25;
 Contoh statement berupa struktur kendali if
if(bil%2==0)
cout << “Bilangan teresebut genap”;
 Contoh statement berupa pemanggilan fungsi
luas(panjang,lebar);
EKSPRESI DAN
O P E R ATO R

 Segala sesuatu yang menghasilkan nilai dinamakan


ekspresi.
 Tipe data suatu ekspresi ditentukan dari tipe data
operand dan operator yang membentuk ekspresi
tersebut.
 Operator adalah simbol yang digunakan untuk
melakukan suatu operasi.
 Jika dalam sebuah statement terdapat lebih dari satu
operator, maka operator akan dikerjakan dengan
urutan sesuai dengan jenjangnya.
Presedensi dan
Assosiativitas Operator

1. Presedensi menentukan urutan pengerjaan operator


berdasarkan prioritas. Operator yang memiliki
tingkat presedensi lebih tinggi akan dikerjakan lebih
dahulu.

2. Assosiativitas menentukan urutan pengerjaan


operator berdasarkan lokasinya dalam sebuah
ekspresi (apakah dari kiri atau dari kanan).

3. Assosiativitas berlaku untuk operator-operator yang


memiliki presedensi yang sama.
PRIORITAS OPERATOR

in g ka t a n o p e r a tor sama,
T g letak,
n n y a te r g a n t un
penggunaa
hulukan
yang depan dida
URUTAN
KATEGORI SIMBOL NAMA PRIORITAS
PENGERJAAN
Resolusi Lingkup :: Resolusi Lingkup 1 Kiri-Kanan
() Kurung Kiri-Kanan
Kurung, indeks [] Elemen array Kiri-Kanan
larik dan elemen -> Pointer ke anggota struktur atau kelas 2 Kiri-Kanan
struktur data
. Anggota struktur, union atau kelas Kiri-Kanan
++ Pre-increment Kanan-Kiri
-- Pre-decrement Kanan-Kiri
! Logika not Kanan-Kiri
~ Komplemen Bitwise Kanan-Kiri
- Unary minus Kanan-Kiri
+ Unary plus Kanan-Kiri
Operator Unary & Alamat 3 Kanan-Kiri
* Indirection Kanan-Kiri
(type) Type casting Kanan-Kiri
sizeof Ukuran tipe data Kanan-Kiri
new Alokasi memori Kanan-Kiri
delete Dealokasi memori Kanan-Kiri
PRIORITAS OPERATOR
URUTAN
KATEGORI SIMBOL NAMA PRIORITAS
PENGERJAAN
* Perkalian
Operator aritmatika
/ Pembagian 4 Kiri-Kanan
perkalian
% Sisa Pembagian
Operator + Penambahan
5 Kiri-Kanan
penambahan - Pengurangan
<< Geser Kiri
Pergeseran bit 6 Kiri-Kanan
>> Geser Kanan
< Lebih kecil
<= Lebih kecil sama dg
Operator Relational 7 Kiri-Kanan
> Lebih besar
>= Lebih besar sama dg
== Sama dengan
Operator Relational 8 Kiri-Kanan
!= Tidak sama dengan
& Bitwise AND 9
Operator Bitwise ^ Bitwise XOR 10 Kiri-Kanan
| Bitwise OR 11
&& Logika AND 12
Operator Logika Kiri-Kanan
|| Logika OR 13
Operator Ternary ?: Operator kondisi 14 Kanan-Kiri
=, +=, -
=, *=, Operator penugasan arithmatika
Operator Penugasan /=, %=
15 Kanan-Kiri
Majemuk &=, ^=, |
=, <<=, Operator penugasan bitwise
>>=
Operator koma , Operator Koma 16 Kiri-Kanan
OPERATOR dengan
Prioritas dan Urutan
Pengerjaan

• Contoh: xy  yz
x
xy  yz

• Ditulis dalam bhs pemrograman C:


• x = (x * y + y * z)/(x * y – y * z);

1 2 4 5

3 6

8
Precedence dan Associativity
#include <iostream.h>
#include <conio.h>

void main ()
{
int a, b, z=100;
float x, y;
cout<<“Pengaruh prioritas dan urutan pengerjaan\n\n";
cout<<"Masukkan sebarang nilai integer: ";
cin>>a;
x = a/3*3; y = a*3/3; z += b = a;
cout<<"\n\nx = "<<a<<"/3*3, diperoleh x = "<<x<<"\n\n";
cout<<"y = "<<a<<"*3/3, diperoleh y = "<<y<<"\n\n";
cout<<"bila z=100, maka untuk z += b = "<<a;
cout<<" diperoleh z = "<<z<<"\n\n\n";
getch();
} 38
Operator
• Didasarkan atas jumlah operand, operator dapat
dibedakan menjadi tiga jenis, yaitu :
– Unary operator
– Binary operator
– Ternary operator

• Unary operator memerlukan 1 operand,


binary operator memerlukan 2 operand,
sedangkan ternary operator memerlukan 3
operand.

39
OPERATOR
Operator merupakan simbol yang biasa dilibatkan dalam
program untuk melakukan sesuatu operasi atau
memanipulasi.
Contoh : a = b + c * d / 4
a, b, c, d  disebut operand
=, +, *, /  disebut operator

Macam operator antara lain :


1. Operator Penugasan
2. Operator Aritmatika
3. Operator Majemuk
4. Operator Penaikan dan Penurunan
5. Operator Bitwise
6. Operator Relasi
7. Operator Kondisi, dll
OPERATOR penugasan

Operator penugasan, simbolnya berupa sama dengan ( = )


berguna untuk memberikan suatu nilai ke suatu variabel.
Contoh :
a=1 variabel a diisi 1 dan variabel a diisi
b=2+b hasil ungkapan 2+ b

a=2+(b=1) mula-mula variabel b diberi nilai 1,


kemudian variabel a diisi dengan
hasil ungkapan 2 + 1

a=b=c=1 mula-mula c diisi 1, kemudian b diisi


dengan c dan a diisi dengan b.
OPERATOR penugasan

• Contoh
x = 2; // konstanta
x = y; // variabel lain
x = 2 * y; // ekspresi
a = sin (y); // fungsi

• Tipe hasil operasi disesuaikan dengan tipe


operand sebelah kiri.
int x = 7/2; /*nilai x sama dgn 3 */
float y = 3; /*nilai y sama dengan 3.000 */
OPERATOR ARITMATIKA

Operator Aritmatika
OPERATOR KETERANGAN CONTOH
* Perkalian 2*3
/ Pembagian 7/2
% Sisa pembagian(modulo) 7%2
+ Penjumlahan 5+4
- Pengurangan 5-3
++ Increment x++;
-- Decrement z--;
() Menaikan Priority x=(2+3)*5

Operator Unary Aritmatika


OPERATOR KETERANGAN CONTOH
- Tanda Minus - 4
+ Tanda plus +3
OPERATOR UNARY

 Operator unary adalah operator yang hanya mempunyai sebuah


opeand.
 Simbol operator unary yaitu :

 Walaupun simbol yang digunakan sama dengan operator


aritmatika minus, namun operator unary minus berbeda dengan
operator aritmatika minus.
OPERATOR UNARY

 Operator Unary Minus


Operator ini dipakai untuk memberi nilai minus suatu nilai
numerik (bukan pengurangan).
Misalnya ungkapan : A + - B * C akan diartikan A + (-B) * C.
Operator unary “-“ ditulis di depan
operand.

 Operator Unary ++ dan - -


Operator ++ digunakan untuk menambah nilai variabel
dengan 1 (increment) sedangkan -- digunakan untuk
mengurangi 1 (decrement)
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int a,b;
cout<<"Coba anda masukkan nilai a dan b";

cout<<endl;
cout<<"a = "; cin>>a;
cout<<"b = "; cin>>b;
cout<<a<<" + "<<b<<" = "<<a+b<<endl;
cout<<a<<" - "<<b<<" = "<<a-b<<endl;
cout<<a<<" * "<<b<<" = "<<a*b<<endl;
cout<<a<<" / "<<b<<" = "<<a/b<<endl;
cout<<a<<" % "<<b<<" = "<<a%b<<endl;
cout<<"-"<<a<<" = "<<-a<<endl;
getch();
OPERATOR penurunan & Penaikan

OPERATOR KETERANGAN
++ Operator Penaikan
-- Operator Penurunan

 Operator penaikan (++) akan menaikkan atau menambahkan 1


nilai variable. Sedangkan operator (--) akan menurunkan atau
mengurangi 1 nilai variable.
Misalnya : a++;
a+=1; a=a+1;
 Untuk ketiga pernyataan tersebut, memiliki arti yang sama
yaitu menaikkan 1nilai variable 1.
 Karakteristik dari operator ini adalah dapat dipakai di awal (++a)
(--a) atau di akhir (a++) (a--) variable.
 Untuk penggunaan biasa, mungkin tidak akan ditemui
perbedaan hasil dari cara penulisannya.
 Namun untuk beberapa operasi nantinya harus diperhatikan cara
peletakan operator ini, karena akan berpengaruh terhadap hasil.
OPERATOR UNARY

 Operator ++ yang diletakkan di depan operand dinamakan


pre increment sedangkan yang diletakkan di belakang
dinamakan post increment.
 Pre increment artinya penambahan 1 dilakuan terlebih dahulu
sebelum suatu ekspesi dioperasikan, sedangkan post
increment penambahan 1 baru dilakukan setelah ekspresi
dioperasikan.
 Contoh:
OPERATOR UNARY

 Demikian juga dengan operator -- yang diletak-kan di depan


operand dinamakan pre decre-ment sedangkan yang
diletakkan di belakang dinamakan post decrement.
 Operasi dari operator ini sama dengan decrement.
 Contoh :
Contoh 1 : Contoh 2:
B=3; B=3;
A=++B; A=B++;
// A= 4, B=4 //hasil A=3, B=4

Contoh 3 : Contoh 4:
B=3; B=3;
A=--B; A=B--;
// A = 2, B = 2 //hasil A=3, B=2
CONTOH PROGRAM 1 : Tentukan output program berikut

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

void main()
{
int A,B;
B=5;
A=B++;
cout<<"HASILNYA :"<<endl;
cout<<"1."<<A<<endl;
cout<<"2."<<B<<endl;
cout<<"3."<<++B<<endl;
cout<<"4."<<A++<<endl;
cout<<endl;
getch();
}
CONTOH PROGRAM 2 : Tentukan output program berikut
#include <iostream.h>
void main()
{
int A,B;
A=10;
B=A++;
cout<<“HASILNYA :"<<endl;
cout<<“1.”<<++A<<endl;
cout<<“2.”<<B<<endl;
cout<<“3.”<<A--<<endl;
cout<<“4.”<<++A<<endl;
cout<<“5.”<<++B<<endl;
cout<<“6.”<<B--<<endl;
cout<<“7.”<<A--<<endl;
cout<<“8.”<<B<<endl;
cout<<“9.”<<A<<endl;
cout<<"10."<<++A<<“"<<B--<<“"<<--A<<“"<<A++<<“"<<++B;
cout<<endl;
getch();
}
Tampilan program diatas adalah :
#include <iostream.h>
#include <conio.h>
void main()
{
int a=7, b;
cout<<"a1= "<<a--<<endl;
cout<<"a2= "<<++a<<" "<<--a<<endl;
cout<<"a3= "<<a<<" "<<++a<<endl;
cout<<"a4= "<<a--<<endl;
b=a++;
cout<<"a5= "<<a++<<" "<<b<<endl;
cout<<"b1= "<<--b<<" "<<b++<<endl;
cout<<"1. "<<++a<<endl<<"2. "<<--b<<endl;
cout<<"3. "<<a--<<endl<<"4. "<<b--;
getch();
}
#include <iostream.h>
#include <conio.h>
void main()
{
int a=2, b;
cout<<"a1= "<<++a<<endl;
cout<<"a2= "<<a++<<" "<<--a<<endl;
cout<<"a3= "<<++a<<" "<<a--<<endl;
cout<<"a4= "<<a++<<endl;
cout<<"a5= "<<++a<<" "<<a--<<endl;
b= 3 + a++;
cout<<endl<<endl<<"b1= "<<b<<endl;
cout<<"1. "<<++a<<endl<<"2. "<<--b<<endl;
cout<<"3. "<<a--<<endl<<"4. "<<b--;
getch();
}
OPERATOR majemuk

Operator berikut ini biasa disebut Combined Operator

OPERATOR CONTOH KETERANGAN

+= x +=2 Kependekan dari x = x + 2

-= X -=2 Kependekan dari x = x – 2

*= X *=2 Kependekan dari x = x * 2

/= X /=2 Kependekan dari x = x / 2

%= X %=2 Kependekan dari x = x % 2

^= X ^=2 Kependekan dari x = x ^ 2


Contoh Operator
Pengerjaan
 Jika variabel a dan b bernilai 10, maka hasil operasi
operator pengerjaan adaah sebagai berikut:

 C++ mengijinkan operator pengerjaan ditulis lebih dari


satu kali pada sebuah statement, misalnya :
x = y = a * b;
#include <iostream.h>
#include <conio.h>
void main()
{
int a=10, b;
cout<<"a1= "<<--a<<endl;
cout<<"a2= "<<a++<<" "<<a--<<endl;
a-=2;
cout<<"a3= "<<a<<" "<<++a<<endl;
cout<<"a4= "<<a--<<endl;
b=a+1;
cout<<"a5= "<<++a<<" "<<b<<endl;
cout<<"b1= "<<--b<<" "<<b++<<endl;
cout<<"1. "<<++a<<endl<<"2. "<<--b<<endl;
cout<<"3. "<<a--<<endl<<"4. "<<b--;
getch();
}
#include <iostream.h>
#include <conio.h>
void main()
{
int a=21, b;
cout<<"a1= "<<a++<<endl;
cout<<"a2= "<<++a<<" "<<--a<<endl;
cout<<"a3= "<<++a<<" "<<a--<<endl;
cout<<"a4= "<<a++<<endl;
a+=5;
cout<<"a5= "<<++a<<" "<<a--<<endl;
getch();
}
OPERATOR relasional

 Digunakan untuk membandingkan dua nilai, dan


hasilnya TRUE atau FALSE

Simbol Fungsi
== Sama Dengan
!= Tidak Sama Dengan
< Lebih Kecil Dari
> Lebih Besar Dari
<= Lebih Kecil atau Sama Dengan
>= Lebih Besar atau Sama Dengan
?: Conditional assignment

61
OPERATOR relasional

• TRUE dalam bahasa pemrograman C nilainya Tidak


sama dengan NOL
• FALSE dalam bahasa pemrograman C nilainya
sama dengan NOL
• Sedangkan nilai TRUE yang diset oleh program C
saat run time nilainya sama dengan 1.
• Contoh:
int x;
x = (20 > 10); //nilai x sama dgn 1
x = (20 == 10); //nilai x sama dgn 0
62
OPERATOR Relasi

• Contoh :
#include <iostream.h>
#include <conio.h>

void main()
{ int x=5, y=6;
if ( x == y) cout<<" sama dengan \n";
if ( x != y) cout<<" tidak sama dengan \n";
if ( x < y) cout<<" lebih kecil daripada \n";
if ( x > y) cout<<" lebih besar daripada \n";
if ( x <= y) cout<<" lebih kecil atau sama dgn \n";
if ( x >= y) cout<<“ lebih besar atau sama dgn \n";
getch();
}
#include <iostream.h>
#include <conio.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;
getch();
}

KELUARAN PROGRAM :
5 tidak sama dengan 7
OPERATOR bitwise

OPERATOR KETERANGAN CONTOH


~ Bitwise NOT (komplemen) ~A
<< Geser ke kiri A << 2
>> Geser ke kanan B >> 2
& Bitwise AND A&B
^ Bitwise XOR A^B
| Bitwise OR A|B
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand
bertipe data int atau char

PRIORITAS OPERATOR
Tertinggi ~
>> <<
&
^
Terendah |
OPERATOR bitwise

• Operasinya dilakukan bit per bit


• Contoh: a=24 Binernya: 011000

int a=24; int b=35; int b=35 Binernya: 100011


c; (a&b) per bit hasilnya :
c = a & b; //nilai c = 0 000000 desimalnya 0
c = a | b; //nilai c = 59 (a | b) per bit hasilnya :
111011 desimalnya 59

66
OPERATOR bitwise

• Dua buah bit di-XOR-kan akan menghasilkan 1


jika kedua bit tersebut berbeda, dan akan
menghasilkan 0 jika kedua bit tersebut sama.

• Contoh: int A,B=45;


A=B^75; //Nilai A=102

Desimal 45 binernya: 0101101


Desimal 75 binernya: 1001011
Kemudian bit per bit di XOR kan maka
hasilnya: 1100110 atau (102 desimal).
OPERATOR bitwise

• Operator shift-right (>> n) dapat dipergunakan untuk


menggeser n bit ke kanan dan diberi nilai 0 (nol) sejumlah
n bit dari paling kiri yang ditinggalkan.
• Operator shift-left (<< n) dapat dipergunakan untuk
menggeser n bit ke kiri dan diberi nilai 0 (nol) sejumlah n
bit dari paling kanan yang ditinggalkan.

• Contoh:
int A, B=78; Catatan:
A = B>>3; //nilai A=9 78 binernya: 00100 1110
Geser kekanan 3 bit: 000001001 = 9
A = B<<2; //nilai A=312 Geser kekiri 2 bit : 010011000 = 312

68
OPERATOR LOGIKA

Operator logika digunakan untuk menghubungkan dua atau lebih


ungkapan menjadi sebuah ungkapan berkondisi.

Operator Deskripsi Contoh


&& logic AND m && n
|| logic OR m ||n
! logic NOT !m

#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;
}

KELUARAN :
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 yang sama artinya dengan statement di atas :

z = (a > b) ? a : b;
Jika (a>b) bernilai benar maka z=a. Sebaliknya jika (a>b) bernilai
salah maka z=b.
OPERATOR kondisi
Contoh 1 :
#include <iostream.h>
#include <conio.h>
void main()
{
int a = 32, b = 2;
int min = a < b ? a : b;
cout<<"Bilangan terkecil adalah "<<min<<endl;
getch();
}

Contoh 2 :
#include <iostream.h>
#include <conio.h>
void main()
{
int a = 7, b = 5;
int z = a > b ? a : b;
cout<<z<<" lebih besar dari "<<b<< endl;
getch();
}
STATEMENT INPUT -
OUTPUT
Pada C++ terdapat 2 jenis I/O dasar, yaitu:
1. Statemen Input adalah Statemen / fungsi yang digunakan
untuk membaca data dari inputing device
(keyboard/mouse).
contoh : cin (character in)
2. Statemen Output adalah Statemen yang digunakan untuk
menuliskan data ke layar monitor.
contoh : cout (character out)
LATIHAN SOAL

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

void main () {
int bil, abs;
cout<<"Menentukan nilai absolut\n\n";
cout<<"Masukkan bilangan integer: ";
cin>>bil;
abs = (bil >= 0) ? bil : - bil;
cout<<"Nilai absolutnya adalah : \n\n"<<abs;
getch();
}

Tentukan tampilan program diatas !!!


#include <iostream.h>
#include <conio.h>
void main()
{
int a=5, b;
cout<<"a1= "<<a++<<endl;
cout<<"a2= "<<++a<<" "<<--a<<endl;
cout<<"a3= "<<++a<<" "<<a--<<endl;
cout<<"a4= "<<a++<<endl;
a+=5;
cout<<"a5= "<<++a<<" "<<a--<<endl;
b= a * --a + a++;
cout<<endl<<endl<<"b1= "<<b<<endl;
cout<<"1. "<<++a<<endl<<"2. "<<--b<<endl;
cout<<"3. "<<a--<<endl<<"4. "<<b--;
getch();
}
Latihan
#include <stdio.h>
int main()
{ int x=10, y=6;
x *= 5 + y;
y += y &= x;
printf(“x = %d\ny = %d",x,y);
return(0);
}

Apakah keluaran yang akan ditampilkan di


layar monitor bila program di atas berhasil
dieksekusi ?
75
Latihan
#include <stdio.h>
#include <iostream.h>
int main () {
float x;
x = 7/2; printf("x = %f\n",x);
x = 7.0/2; printf("x = %f\n",x);
x = 7/2.0; printf("x = %f\n",x);
x = 7.0/2.0; printf("x = %f\n",x);
x = (float)7/2; printf("x = %f\n\n\n",x);
system("PAUSE");
return(0);
}

Bagaimanakah hasil keluaran yang ditampilkan


di layar monitor dari program di atas?,
Jelaskan?
76
Latihan
#include <conio.h>
#include <iostream.h>

void main () {
int y, n;
n =10; y=++n; cout<<"y1 = "<<y<<endl;
n =10; y=n++; cout<<"y2 = "<<y<<endl;
n =10; n++; cout<<"n1 = "<<n<<endl;
y*=2; cout<<"y3 = "<<y<<endl;
n+=y; cout<<"n2 = "<<n;
getch();
}Apakah keluaran yang akan ditampilkan di layar
monitor bila program di atas berhasil dieksekusi ?

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

void main (); {


int y; n;
n =10; y=++n; cout<<"y1 = "<<y<<endl;
n =10; y=n++; cout<<"y2 = "<<y<<endl;
n =10; n++; cout<<"n1 = "<<n<<endl;
y*=2; cout>>"y3 = “>>y>>endl;
n+=y; cout>>"n2 = “>>n;
getch();
}
1. Apakah program diatas berhasil dirunning ?
2. Apakah keluaran program di atas !!!
3. Buatlah program c++ untuk menghitung A – B
dengan syarat nilai A harus lebih besar dari B
TUGAS INDIVIDU 2
1. Algoritma menampilkan deret berikut :
1 1 2 3 5 8 . . .n
2. Algoritma untuk menampilkan faktorial suatu bilangan
3. Tentukan keluaran program berikut :

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

void main () {
int y, n;
n =10; y=++n; cout<<"y1 = "<<y<<endl;
n =10; y=n++; cout<<"y2 = "<<y <<" "<<--y<<endl;
n =10; n++; cout<<"n1 = "<<n<<endl;
y*=2; cout<<"y3 = "<<y<<endl;
n+=y; cout<<"n2 = "<<n;
getch();
}

Anda mungkin juga menyukai