C++ adalah bahasa pemrograman komputer yang di buat oleh Evano Christian Posumah (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 sistemUnix, 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).[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]
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa
tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan,
C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu
masalah dilakukan dengan membagi-bagi masalah tersebut kedalam
su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa
pemrograman yang memiliki sifat
Pemrograman berorientasi objek,
Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan
menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya
sebagai abstraksi dari object-object fisik, Class tersebut berisi
keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah
beberapa Class dibuat kemudian masalah dipecahkan dengan Class.
[3]
Standarisasi
Year | C++ Standard | Informal name |
2011 | ISO/IEC 14882:2011[4] | C++11 |
2007 | ISO/IEC TR 19768:2007[5] | C++TR1 |
2003 | ISO/IEC 14882:2003[6] | C++03 |
1998 | ISO/IEC 14882:1998[7] | 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. Telah diterbitkan sebagai 14882:11.
Contoh Program C++
#include <iostream.b>
int main()
{
cout <<"hello world"<<endl;
return 0;
}
Baris pertama :
Sebagai bagian dari proses kompilator,
Kompilator dari c++ menjalankan program yang dinamakan preprosesor.
[butuh rujukan] 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.
[8]
Baris kedua :
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.
[8]
Baris ketiga :
Kurung kurawal buka menandakan awal program.
[8]
Baris keempat :
std::cout << "Hello world\n";
Cout adalah sebuah object dari
Pustaka perangkat lunak standart
C++ yang digunakan untuk mencetak string ke piranti output standart,
yang biasanya adalah layar komputer, Compiler menghubungkan kode dari
pustaka perangkat lunak standar itu dengan kode yang telah ditulis untuk
mendapatkan hasil executable, Tanda
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.
[8] Baris kelima:
Kurung kurawal tutup menandakan akhir program.
[9]
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:.
[9]
auto | const | double | float | 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++.
[10]
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.
[10]
- include <stdio.h>
int maksimum (int,int); void tulis (int);
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.
[10]
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 |