Uploaded by User54447

pti

advertisement
Pengertian
C++ adalah bahasa pemrograman komputer yang di buat oleh Bjarne Stroustrup, yang
merupakan perkembangan dari bahasa C dikembangkan di Bong 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,
Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa
pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai
dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup
pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung
fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat
rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti class dengan
sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar
dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object
Oriented Programming).
Kelebihan bahasa C++ :
a. Bahasa C++ tersedia hampir di semua jenis computer
b. Kode bahasa C++ dengan portabilitas dan fleksibiitas yang tinggi untuk semua jenis
computer
c. Bahasa C++ hanya menyediakan sedikit kata – kata kunci (hanya terdapat 48 kata kunci)
d. Proses eksekusi program bahasa C++ lebih cepat.
Dengan demikian, aplikasi yang dibuat dengan bahasa C++ akan menjadi aplikasi yang
efisien dan kompetitif
e. Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan
aplikasi makro
f. C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP
g. Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin
h. Kode program bersifat reuseable, sehingga dapat digunakan kembali pada project lain
dengan hanya menggunakan library dan file header
i. C++ dapat membuat aplikasi graphic processor berkualitas tinggi
Kekurangan bahasa C++ :
a. Banyaknya operator serta fleksibilitas penulisan program kadang – kadang
membingungkan pemakai (pemula)
b. Bagi pemula pada umumnya akan kesulitan menggunakan pointer
Struktur kebahasaan c++
Struktur penulisan kode program C++ pada dasarnya masih menuruni struktur penulisan
Bahasa Pemrograman C. Bahasa Pemrograman C++ merupakan Bahasa Pemrograman sendiri
dan hanya peluasan dari Bahasa Pemrograman C, dan kita masih dapat menggunakan bahasa
C di tengah bahasa C++. Struktur program dari bahasa pemrograman C++ terdiri dari kumpulan
baris pernyataan yang dibentuk dari sejumah blok fungsi dan keyword. kode program tersebut
dimungkinkan untuk memerintah komputer untuk melaksanakan tugas yang diberikan.
Program C maupun C++ selalu tersusun dari 5 (Lima) bagian utama, yaitu :
1. Preprocessor Directive (Pengarah Kompilator)
2. Declaration (Deklarasi)
3. Definition (Definisi)
4. Statement atau Expressions (Pernyataan atau Ekspresi)
5. Comments (Komentar)
Syntax adalah tata kalimat atau sering disebut dengan kode. Syntax program di sini
akan mewakili semua struktur dari bahasa pemrograman C++. Struktur bahasa C++ terdiri atas
komentar, preprocessor directive, fungsi utama maupun tambahan, definisi fungsi dan
deklarasi. Berikut ini syntax program beserta penjelasan masing-masing struktur yang ada
dalam C++.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
// Contoh komentar satu baris //
#include <iostream>
using namespace std;
void prosedur()
{
char nama[20]="Fasesa";
cout<<" Nama saya adalah "<<nama<<endl;
}
int main()
{
cout<<"Selamat datang di Blog Fasesa Notes"<<endl;
prosedur();
return 0;
}
1. Komentar
// Contoh komentar satu baris //
Bagian ini berisi mengenai keterangan pada program kita. Tidak akan dieksekusi dan
tidak akan ditampilkan ketika program dijalankan alias nggak ngaruh. Tapi cukup penting,
karena komentar akan mempermudah orang lain yang ingin mempelajari program yang kita
melalui keterangan yang ada. Dan juga sangat membantu kita megingat ketika kita membuat
program dengan statement yang panjang dan terdiri dari banyak fungsi. Komentar ditulis
dengan 2 cara yaitu :
a.
Dimulai dengan tanda // untuk komentar 1 baris (contoh di atas)
b.
Diapit dengan tanda /* ... */ untuk komentar multi baris
2. Preprocessore Directive (Pengarah Compiler)
#include
using namespace std;
Preprocessor
directive ditandai
dengan
simbol #.
Bertugas
untuk
mengarahkan prepocessor yang akan digunakan untuk membaca file header atau bisa
dikatakan sebagai pengatur proses kompilasi. Contoh preprocessor directive : #include,
#define, #if, #else, dan lainnya. Contoh file header : , , , dan lainnya.
3. Fungsi
Utama
a. Fungsi Utama
(main)
dan
Tambahan
(function
dan
procedure)
int main()
{
cout<<"Selamat datang di Blog Fasesa Notes"<
prosedur();
return 0;
}
Fungsi utama adalah bagian yang pertama kali akan dieksekusi, walaupun sebelum
bagian dari fungsi utama ini ada fungsi tambahan. Sehingga fungsi utama pasti ada di dalam
program C++. Fungsi utama ini tersusun atas kata main lalu diikuti dengan tanda (). Lalu
diikuti lagi dengan definisi fungsi (bagian dalam tanda “{}”) yang berisi deklarasi dan
perintah-perintah yang akan dieksekusi dalam program tersebut.
b. Fungsi Tambahan
void prosedur()
{
char nama[20]="Fasesa";
cout<<" Nama saya adalah "<
}
Fungsi tambahan ini adalah fungsi yang mendukung dan merupakan pemecahan dari
fungsi utama. Terdiri atas function dan procedure. Function merupakan fungsi dengan nilai
balik, sedangkan procedure adalah fungsi tanpa nilai balik. Untuk fungsi tambahan nanti akan
kita kupas lebih lebar lagi.
4. Definisi fungsi
int main()
{
cout<<"Selamat datang di Blog Fasesa Notes"<
prosedur();
return 0;
}
Definisi fungsi adalah bagian yang menyertai fungsi. Di dalamnya berisi
syntax-syntax yang nantinya akan dieksekusi apabila fungsi tersebut dipanggil. Bagian
definisi ini selalu diawali dengan tanda kurawal buka “{” dan diakhiri dengan tanda
kurawal tutup “}”. Di dalam definisi fungsi ini terdapat beberapa statement. Statement
harus diakhiri dengan tanda “;”. Tanda ini berfungsi untuk memberi tanda bahwa
satu statement sudah selesai dan akan terjadi error jika tidak ditutupi dengan tanda “;”.
Contoh : cout<<"Selamat datang di Blog Fasesa Notes"<
5. Bagian deklarasi
void prosedur()
{
char nama[20]="Fasesa";
cout<<" Nama saya adalah "<
}
Bisa dikatakan sebagai statement tempat pengenalan variabel, konstanta, fungsi, array
dan lainnya. Deklarasi yang sederhana da pada contoh di atas. Pada contoh di atas
diperkenalkan tentang tipe data apa yang digunakan variabel nama dalam procedure tersebut.
Kemudian diketahui pula nilai dari variabel nama adalah Fasesa.
Kompilasi
Kompilasi pada C++: Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu
dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya
sehingga program bisa dijalankan dengan baik. Program yang melakukan tugas ini
disebut compiler. Program hasil kompilasi atau compiler akan berbentuk executable. Program
bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan
program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++,
Pascal, Assembly, dan masih banyak lagi. Berikut contoh-contoh compiler pada program
C++:














Acorn C/C++
Borland C++
C++/CX
C++Builder
Cfront
Clang
CodeWarrior
Comeau C/C++
ConceptGCC
Digital Mars
GNU Compiler Collection
HP aC++
IBM XL C++
Intel C++ Compiler













MinGW
Norcroft C compiler
Open64
Oracle Solaris Studio
PathScale
The Portland Group
ROSE (compiler framework)
Shed Skin
Softune
TenDRA Compiler
THINK C
Turbo C++
Visual C++
Tiga Tipe Kesalahan pada C++ Sebagai Berikut:

Kesalahan Sintaksis
Bahasa C++ hanya dapat dieksekusi, jika dan hanya jika program tersebut memiliki
sintaksis yag telah sepenuhnya benar. Jika tidak, maka proses akan berhenti dan memberikan
pesan kesalahan. Sintaksis menunjukkan struktur program dan aturannya.

Kesalahan Run-time
Kesalahan tipe kedua adalah kesalahan run-time, disebut demikian karena kesalahan ini
tidak akan muncul sebelum program dijalankan. Kesalahan ini juga sering disebut dengan
exception karena kesalahan ini biasanya menunjukkan sesuatu yang ganjil terjadi.

Kesalahan Logika
Kesalahan tipe ketiga adalah kesalahan logika atau semantik. Jika terjadi kesalahan tipe ini,
maka program akan tetap berjalan dengan sukses tanpa pesan kesalahan. Namun, program
tersebut tidak menjalankan program dengan benar atau tidak menjalankan program sesuai
dengan maksud yang diinginkan programmer.
Tipe Data
Tipe data merupakan identifier atau pengenal suatu variabel. Tipe data akan
memberitahukan kepada compiler mengenai jenis tipe data dan seberapa lebar compiler
mengalokasikan ruang memori untuk suatu variabel. Sehingga dengan mekanise alokasi
memori pada pemrograman C++, program yang berjalan akan lebih efisien dari segi memori.
Tipe data dalam pemrograman terkhusus C++ dapat dibedakan berdasarkan adanya
tanda (signed) dan tidak adanya tanda (unsigned). Perbedaan antara keduanya adalah adanya
tanda bilangan yang menunjukan positif dan negatif. Untuk tipe data unsigned (tanpa tanda)
suatu bilangan hanya diawali dari 0 ke suatu jangkauan tertentu, sedangkan untuk
tipe signed (bertanda), bilangan diawali dari nilai negatif (-) menuju ke jangkauan nilai positif
(+).
Tipe
Data
Deskripsi
Ukuran
Memori
Jangkauan
int
Bilangan bulat
2 byte
-32768 hingga 32768
short int
Sama dengan int namun jangkauanya
lebih pendek
2 byte
-32768 hingga 32768
long int
Memiliki jangkauan lebih panjang dari int
4 byte
-2147483648 hingga
2147483648
bool
Tipe data untuk menampung nilai
kebenaran (flag)
1 byte
1 atau 0 (True atau False)
float
Bilangan floating point atau koma
4 byte
3,4 x 10^-38 hingga 3,4 x
10^+38
double
Sama dengan float namun memiliki
jangkauan dua kali dari float
8 byte
1,7 x 10^-308 hingga 1,7 x
10^+308
long
double
Sama dengan double namum memiliki
jangkauan lebih lebar
10 byte
3,4 x 10^-4932 hingga 3,4
x 10^+4932
char
Menampung tipe karakter
1 byte
-128 hingga 128
wchar_t
Sama dengan char namun memiliki
jangkauan lebih lebar
2 byte hingga
4 byte
1 wide character
Tipe Data
Deskripsi
Ukuran Memori
Jangkauan
Unsigned char
Menampung karakter
1 byte
0-255
Unsigned int
Bilangan bulat tak bertanda atau positif
4 byte
0-4294967295
Unsigned long int
Long integer
4 byte
0-4294967295
Unsigned short int
Short integer
2 byte
0-65535
Deklarasi

Deklarasi Variabel
Pendeklarasian variabel sangatlah mudah, yaitu dengan menuliskan terlebih dahulu tipe
data dan diikuti nama variabelnya. Sebagai contoh:
int a;
int b;
Penulisan diatas dapat dirangkum menjadi int a,b;
Berdasarkan cakupanya, variabel dapat dibedakan menjadi dua yaitu variabel global
dan lokal. Variabel global merupakan variabel yang berlaku untuk semua kode program.
Variabel ini dapat dipanggil dimanapun dari bagian suatu program. Sedangkan variabel lokal
adalah variabel yang hanya berlaku pada suatu fungsi tertentu saja dan variabel tersebut tidak
berdampak pada variabel diluar fungsi. Untuk lebih jelasknya perhatikan contoh berikut:
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int global; //Merupakan variabel global
int main(){
int lokal = 39; //Merupakan variabel lokal
return 0;
}

Deklarasi Konstanta
Konstanya merupakan variabel dengan nilai yang tetap dan tidak dapat dilakukan
perubahan. Pendeklarasian konstanta dapat dilakukan dengan dua cara yaitu:
1. Dengan menggunakan instruksi const
const float phi = 3.14;
const char karakter = ‘a’;
2. Dengan menggunakan preprocessor #define
#define phi = 3,14;
Pada proses deklarasi dengan preprocessor, kamu tidak perlu menyertakan tipe data
dari nilai konstanta tersebut.
Operator
Operator adalah simbol khusus yang biasa dilibatkan dalam pembuatan program
untuk melakukan suatu operasi matematika maupun manipulasi logika.
Pada dasarnya, ada tiga jenis operator dalam pemrograman C++:



Operator Unary - operator yang dikenakan untuk satu buah nilai (operand).
Operator Binary - operator yang dikenakan untuk dua buah nilai (operand).
Operator Ternary - operator yang dikenakan untuk tiga buah nilai (operand)
Dengan catatan jika kita hanya melihat dari jumlah operand.
Berikut adalah daftar operator yang dapat anda jadikan acuan pembuatan program.
1 Assignment Operators
Operator ini berfungsi untuk memberikan nilai kepada variabel. Kita akan
menggunakan = ( tanda sama dengan ) untuk memberi nilai.
Berikut cara penggunaanya:
nama = "Damas";
umur = 22;
Berikut contoh program sederha penggunaan assignment operator pada C++:
#include <iostream>
using namespace std;
int main ()
{
int a, b;
// a:?,
a = 10;
// a:10, b:?
b = 4;
// a:10, b:4
a = b;
// a:4,
b:4
b = 7;
// a:4,
b:7
cout << "a:";
b:?
cout << a;
cout << " b:";
cout << b;
}
Lalu outputnya adalah:
a:4 b:7
Mengapa hal itu bisa terjadi demikian? Jika kita perhatkan, kita mendeklarasikan
variabel a dan b. Lalu kita memberikan nilai 10 untuk a dan 4 untuk b pada awalnya. Lalu
kita memberikan nilai b terhadap variabel a.Perhatikan bagaimana sebuah variabel tidak
terpengaruh oleh modifikasi akhir dari b, meskipun kita menyatakan a = b sebelumnya, anda
pasti paham maksud saya.Karena sebuah operasi akan selalu berlangsung dari kanan ke
kiri.Dan variabel hanya akan menyimpan data atau nilai terakhir yang diberikan.
2 Arithmetic Operators
Operator ini digunakan untuk melakukan sebuah opearasi penghitungan atau aritmatika
dalam bahasa pemrograman. Tugasnya untuk memecahkan masalah matematika. Operator
aritmatika yang sering digunakan dalam C++ adalah:





+ untuk penjumlahan
- untuk pengurangan
* untuk perkalian
/ untuk pembagian
% untuk sisa bagi (modulo)
Berikut adalah contoh penggunaanya:
x = 11 % 3;
Dan tentunya hasil opeasi diatas dapat ditebak, ya hasilnya adalah 2, karena disini kita
mencari sisa bagi dimana hasil bagi 11 dan 3 = 3, sedangkan sisa baginya adalah 2.
3Compound Assignment
Operator ini memodifikasi nilai variabel saat ini dengan melakukan operasi di atasnya.
Operator
+=
Keterangan
Penjumlahan
Contoh Penggunaanya
z += x sama dengan, z = z + x
Operator
Keterangan
Contoh Penggunaanya
-=
Pengurangan
z -= x sama dengan, z = z - x
*=
Perkalian
z *= x sama dengan, z = z * x
/=
Pembagian
z /= x sama dengan, z = z / x
>>=
Right shift AND
z >>= 2 sama dengan, z = z >> 2
<<=
Left shift AND
z <<= 2 sama dengan, z = z << 2
&=
Bitwise AND
z &= 2 sama dengan, z = z & 2
^=
Bitwise exclusive OR
z ^= 2 sama dengan, z = z ^ 2
Berikut contoh program c++ menggunakan Compound Assignment.
#include <iostream>
using namespace std;
int main ()
{
int a, b=3;
a = b;
a += 2;
// sama dengan a = a + 2
cout << a;
}
Intinya: “menggunakan dua operand dan memberikan hasilnya ke operand kiri”.
4 Increment and Decrement Operators
Kedua operator ini sangatlah penting: Operator Increment (++) dan operator decrement (–)
digunakan untuk meningkatkan atau mengurangi satu nilai yang tersimpan dalam sebuah
variabel.
Maksudnya seperti ini:
x = x + 1 ;
y = y - 1 ;
Jika sebelumnya anda menulis kode seperti diatas maka akan sama hasilnya dengan kode
berikut:
++ x ;
-- y ;
//atau
x ++ ;
y -- ;
TIPS: Operator Increment adalah operator yang digunakan untuk menaikan nilai variabel
sebesar 1, sedangkan decrement digunakan untuk menurunkan nilai sebesar 1.
Berikut contoh program Increment dalam C++:
#include <iostream>
using namespace std;
int main ()
{
int a, b;
a = 3;
b = ++a;
cout << "a:" << a;
cout << " b:" << b;
}
Jika anda paham konsepnya anda pasti tahu hasil akhir dari variabel a akan bernilai 4, dan b
bernilai 4 karena nilai dari b adalah nilai a yang telah ditingkatkan.
Kemudian nantinya anda akan mendengar istilah:


Pre Increment (++c)
dan Post Increment (c++).
Yang membedakannya adalah Jika Pre-increment akan menenambahkan nilai 1 sebelum
operasi lain dijalankan, maka Post-increment akan menambahkan 1 nilai sesudah proses lain
dijalankan.
Silahkan coba kode program berikut ini:
#include <iostream>
using namespace std;
int main(){
// Mendeklarasikan Variabel KD
int KD;
// Mengisi nilai kedalam Variabel KD
// dengan nilai 10
KD = 10;
// Melakukan Pre-Increment
cout<<"Nilai KD awal : "<<KD<<endl;
cout<<"Nilai ++MD
: "<<++KD<<endl;
cout<<"Nilai KD
: "<<KD<<endl;
// Mengubah nilai yang terdapat dalam variabel KD
// dengan nilai 20
KD = 20;
// Melakukan Post-Increment
cout<<"\nNilai KD awal : "<<KD<<endl;
cout<<"Nilai KD++
: "<<KD++<<endl;
cout<<"Nilai KD
: "<<KD<<endl;
return 0;
}
Anda akan sering menemukannya operator tersebut dalam program looping.
5 Relational and Comparison Operators
Operator selanjutnya adalah operator relasi - operator ini akan banyak kita gunakan dalam
suatu statement bersyarat yang selalu menghasilkan nilai true atau false. Kita akan sering
menggunakan operator ini untuk menentukan kondisi.
Operator
Keterangan
==
Sama dengan
!=
Tidak sama dengan
>
Lebih dari
<
Kurang dari
>=
Lebih dari atau sama dengan
<=
Kurang dari atau sama dengan
Operator ini digunakan untuk menguji hubungan antara nilai dan atau variabel. Berikut
contoh penggunaanya dalam program:
#include <iostream>
using namespace std;
void main() {
bool nilai;
nilai = 3 > 2 ; // hasil ungkapan : benar
cout << "Nilai = " << nilai;
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai;
}
Dan berikut adalah hasil akhirnya:


Nilai = 1
Nilai = 0
6 Logical Operators
Operator Logika adalah operator yang digunakan untuk membandingkan dua nilai variabel
atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false.
Operator
Keterangan
&&
AND - Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
||
OR - Jika salah satu operand bernilai benar (TRUE) maka kondisi bernilai benar.
!
NOT - Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah
menjadi salah (FALSE), begitu pula sebaliknya.
Berikut adalah contoh penggunaanya:
( (5 == 5) && (3 > 6) )
// Hasil = false, karena ( true && false )
( (5 == 5) || (3 > 6) )
// Hasil = true, karena ( true || false )
7 Conditional Ternary Operator
Pada dasarnya, operator kondisi merupakan penyederhanaan dari bentuk if..else yang setiap
blok dari if dan else hanya terdiri dari satu statement/perintah.
Struktur penulisan operator kondisi:
(ekspresi) ? (jika benar) : (jika salah);
Berikut contoh dalam program c++:
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c;
}
8 Comma Operator
Operator koma (,) memiliki beberapa fungsi, yaitu:




Untuk memisahkan deretan deklarasi variabel
Untuk memisahkan argumen fungsi
menyatukan dua ekspresi menjadi sebuah pernyataan, dan
memungkinkan pemberian lebih dari satu ekspresi pada inisialisasi nilai awal.
Berikut contoh program dengan operator koma:
#include <iostream>
using namespace std;
int main ()
{
int a,b;
a = (b=3, b+2);
cout << a;
}
Agak rumit namun penjelasanya seperti ini: Pertama variabel b akan diberi nilai 3, kemudian
nilai b (3) akan dijumlahkan dengan 2 sehingga variabel a bernilai 5.
9 Bitwise Operators
Operator bitwise adalah operator yang digunakan untuk memanipulasi bit-bit nilai data yang
ada di memori. Operator ini hanya dapat digunakan untuk tipe data:



char
int
long int
Untuk operator bitwise dalam bentuk bit, dilakukan dalam bit per bit (binary).
& AND Bitwise AND
| OR Bitwise inclusive OR
^ NOT Unary complement (bit inversion)
<< SHL Shift bits left
>> SHR Shift bits right
10 Operator Lainnya
Berikut adalah operator lainnya yang didukung oleh bahasa C++:
Operator
Keterangan
sizeof
Untuk mengembalikan nilai dari ukuran variabel. Contoh sizeof(a), dimana ‘a’ adalah
integer maka akan mengembalikan nilai 4
. (dot) and ->
(arrow)
Operator member yang digunakan untuk mereferensikan member class, structures, dll.
Cast
Untuk mengkonversi suatu data ke tipe data lain. Contohnya int(2.2000) akan menjadi 2
*
Digunakan sebagai operator pointer
Dan berikut adalah daftar operator berdasarkan kategorinya:
Category
Operator
Associativity
Postfix
() [] -> . ++ - -
Left to right
Unary
+ - ! ~ ++ - - (type)* & sizeof
Right to left
Multiplicative
*/%
Left to right
Additive
+-
Left to right
Shift
<< >>
Left to right
Relational
< <= > >=
Left to right
Equality
== !=
Left to right
Bitwise AND
&
Left to right
Bitwise XOR
^
Left to right
Bitwise OR
|
Left to right
Logical AND
&&
Left to right
Logical OR
||
Left to right
Conditional
?:
Right to left
Assignment
= += -= *= /= %=>>= <<= &= ^= |=
Right to left
Comma
,
Left to right
Download