C++ adalah bahasa pemrograman yang dikembangkan dari bahasa C oleh Bjarne Stroustrup di Bell Labs. C++ mendukung konsep pemrograman berorientasi objek dengan menambahkan fitur-fitur baru seperti class, inheritance, dan overloading. C++ juga mewarisi sintaks dasar dan tipe data dari bahasa C.
1. XC++
C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne Stroustrup, yang
merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie).
Pada awal tahun 1970-an, bahasa itu merupakan peningkatan dari bahasa
sebelumnya, yaitu B.
Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang
dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI (American National
Standards Institute) pada bahasa pemrograman C menjadi versi dominan, meskipun
versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan
maupun untuk sistem embedded.
Bjarne Stroustrup pada Bell 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).[1]
Pada C++ ditambahkan konsep-
konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading.[butuh
rujukan]
Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan
terhadap konsep pemrograman berorientasi objek (object-oriented programming).[2][3]
Standardisasi
Year C++ Standard Informal name
2011 ISO/IEC 14882:2011 C++11
2007 ISO/IEC TR 19768:2007 C++TR1
2003 ISO/IEC 14882:2003 C++03
1998 ISO/IEC 14882:1998 C++98
Pada tahun 1998, C++ Standar Komite (ISO/IEC JTC1/SC22/WG21 Working Group)
mengeluarkan Standar Internasional ISO/IEC 14882:1998 yang digunakan selama
beberapa tahun. Pada tahun 2003 dirilis versi yang telah dikoreksi, ISO/IEC
14882:2003. Pada tahun 2005, Laporan Teknis yang disebut "Laporan Teknis
Perpustakaan 1" (sering dikenal sebagai TR1) dirilis. Revisi terbaru dari standar C++
adalah C+11 (sebelumnya dikenal C++0x) telah disetujui oleh ISO/IEC pada tanggal 12
Agustus 2011 dan telah diterbitkan sebagai 14882:11.
Contoh Program C++
2. C++ mewarisi sebagian besar sintaks C. Berikut ini adalah program Hello world
versi Bjarne Stroustrup yang menggunakan fasilitas stream pustaka dasar C++ untuk
menulis pesan ke standard output:
#include <iostream>
int main()
{
std::cout << "Hello, world!n";
}
Keterangan
Baris pertama:
#include <iostream.h>
Sebagai bagian dari proses kompilator, kompilator dari c++ menjalankan program yang
dinamakan preprosesor. Preprosesor memiliki kemampuan menambahkan dan
menghapus kode dari sumber. Pada bagian #include memberitahuakan preprosesor
untuk menyertakan kode dari iostream, berkas iostream berisi deklarasi untuk berbagai
fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.
Baris kedua:
int main ()
Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi
banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function). Fungsi
adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu.
Kata Void menandakan fungsi main tidak bertipe.
Baris ketiga:
{
Kurung kurawal buka menandakan awal program.
Baris keempat:
std::cout << "Hello worldn";
Cout adalah sebuah object dari pustaka perangkat lunak standar C++ yang digunakan
untuk mencetak string ke peranti output standar, yang biasanya adalah layar komputer,
kompilator menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode
yang telah ditulis untuk mendapatkan hasil executable. Tanda
3. n
adalah format modifier yang digunakan untuk berganti baris setelah menampilkan
string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan
dituliskan pada baris bawahnya. Baris kelima:
}
Kurung kurawal tutup menandakan akhir program.
Kata yang dipesan
Kelompok pertama
C++ mempunyai 32 buah kata yang dipesan (reserved words). Kata kunci kelompok
pertama merupakan turunan dari bahasa C, di antaranya:
auto const double int short struct unsigned
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while
Kelompok kedua
Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya
ada di bahasa C++.
asm dynamic_cast namespace reinterpret_cast try
bool explicit new static_cast typeid
catch false operator template typename
class friend private this using
const_cast inline public throw virtual
delete mutable protected true wchar_t
Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable,
class, enum, macro, dan struct.
# include <stdio.h>
int maksimum (int,int);
void tulis (int);
4. main()
int nilai 1,nilai 2,nilai maks;
printf (*n ketikkan dua bilangan bulat:);
scanf("%d%d",& nilai 1,nilai 2);
nilai maks=maksimum (nilai 1,nilai 2);
tulis(nilai maks);
returns 0;
int maksimum(int x1,int x2)
if (x1>x2)
return x1;
else
return x2;
void tulis(int x)
printf("n hasilnya adalah:%d",x);
Tipe data dasar
Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer.
Besar dan tipe dari variabel-variabel di dalam standar program C++ dispesifikasikan
sebagai berikut.
Nama Keterangan Ukuran Jangkauan
char Abjad/karakter atau untuk bilangan bulat kecil 1 byte
signed: -128 to 127
unsigned: 0 to 255
short int
(short)
Bilangan bulat dengan jangkauan pendek 2 byte
signed: -32768 to 32767
unsigned: 0 to 65535
int Bilangan bulat 4 byte
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
long int (long) Integer dengan jangkauan panjang 4 byte
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
bool
Boolean, dapat bernilai benar atau salah (true or
false)
i byte true or false
float
Angka dengan titik mengambang (bilangan
cacah)
4 byte 3.4e +/- 38 (7 digit)
double Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)
long double Bilangan cacah dengan ketelitian ganda panjang 8 byte 1.7e +/- 308 (15 digits)
wchar_t
Karakter lebar, biasa dipakai untuk Unicode
karakter
2 byte 1 karakter lebar
Kompilator C++
5. Acorn C/C++
Borland C++
C++/CX
C++Builder
Cfront
Clang
CodeWarrior
Comeau C/C++
ConceptGCC
Digital Mars
Dev-C++
Eclipse IDE
GNU Compiler Collection
HP aC++
IBM XL C++
Intel C++ Compiler
MinGW
NetBeans IDE
Norcroft C compiler
Open64
Oracle Solaris Studio
PathScale
The Portland Group
ROSE (compiler framework)
Shed Skin
Sublime Text
Softune
TenDRA Compiler
THINK C
Turbo C++
Visual C++
IBM VisualAge
Vim
Watcom C/C++ compiler
Zortech
Keluarga bahasa pemrograman C++
Algorithmic skeleton
C++/CLI
C++/CX
Charm++
Embedded C++
6. Felix (programming language)
Intel Array Building Blocks
Intel Parallel Studio
Managed Extensions for C++
R++
Sieve C++ Parallel Programming System
Threading Building Blocks
ΜC++
7. 1. Struktur Dasar Program C++
Bentuk atau struktur dasar program yang dibuat dengan C++ terdiri dari tiga bagian:
1. Bagian include
2. Bagian namespace
3. Bagian fungsi
Mari kita lihat contohnya:
Ini adalah struktur paling sederhana dari program C++.
Berikut ini penjelasan detail setiap bagian:
1. Bagian Deklarasi Include
Pada bagian ini, kita mendefinisikan library (pustaka) apa saja yang akan kita
gunakan di dalam program.
8. Library bisa kita anggap sebagai program lain yang ingin kita gunakan di dalam
program kita.
Pada contoh di atas, kita menggunakan pustaka iostream. Library ini berisi fungsi-
fungsi untuk melakukan input dan output.
Kadang kita juga akan menemukan library yang di-include dengan
ekstensi .h, .cpp, .hpp, .cc, .c, dsb.
Contoh:
#include <math.h>
#include <signal.h>
#include <time.h>
#include "hello.h"
Semua memiliki arti yang sama, yaitu: gunakan library yang lain ke dalam program
ini.
Perbedaanya pada jenis file yang akan diimpor:
.h artinya header file dari C atau C++;
.cpp artinya source code dari C++;
.hpp artinya header file dari C++;
.cc dan .c artinya header file dari C.
Lalu perbedaan yang lain tedapat pada simbol yang digunakan untuk include.
Jika menggunakan tanda kurung siku <...> maka program akan mencari library ke
dalam sistem komputer kita.
Sedangkan yang menggunakan tanda petik, akan mencari ke lokasi yang ditentukan di
sana.
Contoh:
#include "/home/dian/hello.h"
Maka program akan mencari library ke dalam direktori /home/dian/.
2. Bagian Deklarasi Namespace
Bagian ini sebenarnya bersifat opsional, bisa ditulis bisa tidak.
Pada contoh di atas, kita menggunakan namespace std. Karena fungsi-fungsi pada
iostream dibungkus dalam namespace std.
Apabila kita tidak menggunakan namespace std, maka untuk menggunakan
fungsi cin dan cout yang ada pada iostream harus diawali dengan std::.
9. Seperti ini:
std::cout << "Hello World!" << endl;
std::cout << "Belajar C++!" << endl;
Jika tidak ingin menulis std:: terus-menerus, maka gunakanlah namespace std.
3. Bagian Fungsi
Bagian ini adalah baigan terpenting, di sinilah kita akan banyak menulis kode
program.
Pada contoh di atas, terdapat fungsi main.
Fungsi main() adalah fungsi yang akan dieksekusi pertamakali saat program dibuka.
Fungsi ini wajib ada di setiap program yang dibuat untuk dieksekusi.
Tapi…
Jika hanya membuat program yang berfungsi sebagai library saja, fungsi main() boleh
tidak dibuat.
Selain fungsi main() kita juga bisa membuat fungsi yang lain pada bagian ini.
Contoh:
#include <iostream>
using namespace std;
int main(){
cout << "Hello world!" << endl;
return 0;
}
void hello(){
cout << "Hello apa kabar?" << endl;
}
Pada contoh di atas kita membuat fungsi hell() di bawah fungsi main().
Apakah boleh ditulis di atas fungsi main()?
Boleh.
Yang tidak boleh, menuliskannya di dalam fungsi main seperti ini:
#include <iostream>
using namespace std;
int main(){
10. cout << "Hello world!" << endl;
void hello(){
cout << "Hello apa kabar?" << endl;
}
return 0;
}
2. Penulisan Statement dan Ekspresi
Statemen dan ekspresi adalah perintah-perintah yang ditulis di dalam fungsi.
Contoh:
#include <iostream>
using namespace std;
int main(){
cout << "Hello world!" << endl;
cout << "Hari ini saya belajar c++" << endl;
cout << "Belajar C++ itu mudah";
return 0;
}
Perhatikan baris-baris ini:
cout << "Hello world!" << endl;
cout << "Hari ini saya belajar c++" << endl;
cout << "Belajar C++ itu mudah";
return 0;
Ini adalah statement dan ekspresi.
Penulisan statement dan ekspresi wajib diakhiri dengan titik-koma (;).
Apabila tidak ada titik-koma, maka program akan error.
3. White Space
White Space biasanya dibuat dengan tab dan spasi.
C++ tidak memiliki aturan yang ketat dalam penulisan White space.
Misalnya kita buat program seperti ini:
11. Program ini akan tetap valid dan bisa dikompilasi.
Namun, agar program mudah dibaca sebaiknya gunakan white space secara bijak.
Karena kode program kita tidak hanya akan dibaca oleh komputer saja.
Programmer yang baik, selalu menulis kode yang manusiawi. 😊
4. Penulisan Blok Kode
Blok kode adalah kumpulan dari beberapa statemen yang dibungkus dengan tanda
kurung kurawal {...}.
Contoh:
12. Pada contoh di atas terdapat dua blok program. Blok pertama adalah blok
fungsi main() lalu blok kedua adalah blok perulangan for.
Blok perulangan for berada di dalam blok fungsi main().
Lalu pertanyaannya:
Apakah boleh blok main() berada di dalam blok for?
Jawabannya: tidak!
Karena blok main() merupakan fungsi.
Selain blok fungsi dan class, blok yang lainnya bisa ditulis di dalam blok for.
Contohnya seperti blok if, while, for, do/while, dsb.
13. 5. Penulisan Komentar
Komentar adalah bagian kode yang akan diabaikan oleh komputer. Ada dua cara
penulisan komentar pada C++:
1. Menggunakan garis miring ganda //;
2. dan menggunakan garis miring bintang /**/.
Contoh:
#include <iostream>
using namespace std;
/* ini adalah komentar
yang lebih dari satu baris */
int main(){
// ini adalah komentar satu baris
cout << "Hello world!" << endl;
return 0;
}
Komentar biasanya digunakan untuk memberikan informasi tambahan pada kode
program dan juga menonaktifkan statement maupun blok kode.
Contoh:
#include <iostream>
using namespace std;
/* ini adalah komentar
yang lebih dari satu baris */
int main(){
// ini adalah komentar satu baris
cout << "Hello world!" << endl;
// cout << "Tutorial C++ untuk pemula" << endl;
return 0;
}
Perhatikan baris ini:
// cout << "Tutorial C++ untuk pemula" << endl;
Ini adalah sebuah komentar, bukan lagi sebuah statement. Karena di depannya ada
garis miring ganda (//).
6. Penulisan String dan Karakter
String merupakan kumpulan karakter…
…atau kita juga bisa sebut dengan teks.
14. String dalam program C++ ditulis dengan diapit tanda ptik ganda ("...") dan untuk
karakter ditulis dengan tanda petik tunggal ('...').
Contoh:
#include <iostream>
using namespace std;
int main(){
// contoh penulisan string
cout << "Tutorial C++ untuk Pemula" << endl;
// contoh penulisan karakter
cout << 'a' << endl;
return 0;
}
15. Mengenal Fungsi Input dan Output pada C++
Pada dasarnya, program komputer hanya terdiri dari tiga bagian:
Input adalah sesuatu data yang kita masukan ke dalam program.
Input biasanya diambil dari perangakat inputan seperti keyboard, mouse,
kamera, microphone, dll.
Proses adalah langkah-langkah yang harus dilakukan program untuk
menghasilkan output.
Output adalah informasi yang dihasilkan setelah dilakukan proses. Output
biasanya ditampilkan ke layar komputer.
Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan
output dan mengambil input.
Fungsi Output pada C++
C++ memiliki empat fungsi dasar untuk menampilkan output:
1. cout untuk menampilkan teks ke layar;
2. cerr untuk menampilkan error;
3. clog untuk menampilkan log;
4. printf() untuk menampilkan output, fungsi ini dari C;
Kita akan fokus memabahas yang dua saja, yakni cout dan printf().
Soalnya cerr dan clog, cara pakainya sama seperti cout.
Bedanya sih pada konteks penggunaanya, yakni untuk error dan log.
1. Fungsi cout
Fungsi cout adalah fungsi standar pada C++ untuk menampilkan output ke layar.
16. Berikut ini struktur dasar fungsi cout:
Setelah simbol << kita bisa menuliskan teks yang akan ditampilkan ke layar.
Teks harus diapit dengan tanda petik dan untuk membuat baris baru bisa
menggunakan endl atau simbol n.
Pembuatan baris baru bersifat opsional, terserah kita mau ditambahkan atau tidak.
Contoh:
cout << "Namaku adalah ";
cout << "Petani kode";
Maka outputnya akan ditampilkan dalam satu baris:
Namaku adalah Petani Kode
Sedangkan kalau kita menggunakan endl atau n.
cout << "Namaku adalah " << endl;
cout << "Petani kode";
Hasilnya akan ditampilkan dalam dua baris:
Namaku adalah
Petani kode
Apapun setelah simbol << akan ditampilkan ke layar. Jika kita ingin menampilkan
variabel, kita bisa menulisnya seperti ini:
string nama = "Petani Kode";
cout << "Hello " << nama << endl;
Hasilnya:
Hello Petani Kode
Buatlah program bernama program_output.cpp, kemudian isi dengan kode berikut:
#include <iostream>
17. using namespace std;
int main(){
cout << "=========== PROGRAM OUTPUT ===========" << endl;
cout << "Progarm ini adalah program untukn";
cout << "Menampilkan output ke layar komputer.n";
cout << "Output sangat penting buat menampilkann";
cout << "informasi kepada user.n";
cout << "======================================" << endl;
cout << endl;
cout << "Program ini dibuat oleh Dian" << endl;
return 0;
}
Coba compile dan jalankan, maka hasilnya:
2. Fungsi printf()
Fungsi printf() merupakan fungsi yang aslinya dari bahasa C, tapi bisa juga dipakai
pada C++.
Fungsi printf() merupakan fungsi untuk menampilkan output ke layar komputer.
Fungsi ini terdapat pada library <stdio.h> dan juga <iostream>.
Berikut ini struktur dasar fungsi printf():
18. Perhatikan:
"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi
sebuah variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada
teks "format".
Mari kita lihat contohnya:
Buatlah sebuah program C++ bernama program_output_printf.cpp, lalu isi dengan
kode berikut.
#include <iostream>
using namespace std;
int main(){
printf("Hello, ini adalah teks outputn");
printf("Nama saya %sn", "Dian");
printf("Usia saya %dn", 20);
return 0;
}
Hasilnya:
19. Ada beberapa hal yang perlu di perhatikan…
Pada fungsi printf() kita menggunakan simbol %s, %d, dan n untuk format teks.
Mari kita bahas arti dari simbol tersebut:
%s adalah simbol untuk menampilkan nilai string;
%d adalah simbol untuk menampilkan nilai angka atau bilangan desimal;
n adalah simbol untuk membuat baris baru.
Selain tiga simbol tersebut, masih banyak lagi simbol yang lain.
Simbol Arti atau Fungsi
%c untuk menampilkan karakter
%s untuk menampilkan teks (string)
%d, %i untuk menampilkan bilangan desimal
%f untuk menampilkan bilangan pecahan
%o untuk menampilkan bilangan oktal
%x untuk menampilkan bilangan heksadesimal
t untuk membuat tabs
Fungsi Input pada C++
Sementara untuk mengambil input, C++ memiliki fungsi cin dan bisa juga
menggunakan scanf() dari bahasa C.
1. Fungsi cin
Fungsi cin (c input) adalah fungsi untuk mengambil input dari keyboard.
Berikut ini bentuk dasar fungsi cin:
20. Fungsi cin membutuhkan variabel untuk menyimpan data yang diinputkan.
Kita akan bahas variabel nanti di:
Belajar C++ #05: Mengenal Variabel, Konstanta, dan Tipe Data
Intinya variabel berfungsi untuk meyimpan data saat program berjalan.
Mari kita coba menggunakan fungsi cin.
Buatlah program baru bernama program_input.cpp, kemudian isi dengan kode
berikut:
#include <iostream>
using namespace std;
int main(){
string nama;
cout << "Tuliskan nama: ";
cin >> nama;
cout << "Hi " << nama;
cout << " elamat datang di club!" << endl;
return 0;
}
Setelah itu, coba compile dan jalankan.
Maka hasilnya:
21. 2. Fungsi scanf()
Fungsi scanf() sebenarnya dari bahasa C, tapi bisa juga digunakan pada C++.
Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini
memiliki format seperti fungsi printf().
Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.
Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.
22. Mari kita lihat contohnya:
#include <iostream>
using namepsace std;
int main () {
// membuat variabel
char name[20], web_address[30];
printf("Nama: ");
scanf("%s", &name);
printf("Alamat web: ");
scanf("%s", &web_address);
printf("n------------------------------n");
printf("Nama yang diinputkan: %sn", name);
printf("Alamat Web yang diinputkan: %sn", web_address);
return 0;
}
Hasilnya:
Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah
menjadi dua seperti ini:
23. Untuk mengatasi masalah ini, kita bisa ubah format yang digunakan
pada scanf() menjadi seperti ini:
printf("Nama: ");
scanf("%[^n]s", name);
Maka fungsi scanf() akan menerima spasi.
Dalam menggunakan scanf(), kita dianjurkan menggunakan simbol & sebelum nama
variabel.
Contoh:
#include <stdio.h>
void main(){
int a, b, c;
printf("Inputkan nilai a: ");
scanf("%i", &a);
printf("Inputkan nilai b: ");
scanf("%i", &b);
c = a + b;
printf("Hasil a + b: %i", c);
}
Simbol & berfungsi untuk mengambil alamat memori dari sebuah variabel.
Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang akan diinputkan.
24. Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan
alamat memori yang akan digunakan oleh scanf().