---
# System prepended metadata

title: Bab 2. Pengenalan C++

---

# Bab 2. Pengenalan C++

## 2.0 Membuat Program C++ Pertama

<< jelaskan langkah menulis source code, kompilasi, dan menjalankan program >>

### Variabel
Variabel adalah lokasi di memori komputer yang dinamakan untuk menyimpan nilai. Nilai yang disimpan ini dapat berubah-ubah selama program berjalan (ini kenapa disebut sebagai variabel yang berarti peubah). Ketika program berjalan data-data yang diproses oleh program disimpan di dalam memori komputer (RAM). **ikuti penjelasan java**



### Operator
Pada baris 18 terdapat kode berikut:
```cpp
gaji = jam * honor;
```
Simbol `=` dan `*` adalah operator. Operator adalah simbol-simbol yang dituliskan dalam program untuk melakukan operasi-operasi terhadap data. Data yang dituliskan dengan operator untuk dilakukan operasi terhadapnya ini disebut sebagai operand. Pada kode di atas `jam` dan `honor` adalah operand dan operator `*` melakukan perkalian terhadap dua operand tersebut. 

## 2.1 Bagian-bagian Program C++
Setiap program C++ mempunyai anatomi. Tidak seperti anatomi manusia, bagian-bagian program C++ tidak salalu dalam tempat yang sama. Namun, tetap saja, bagian-bagian tersebut selalu ada dalam sebuah program C++, dan langkah pertama kita dalam mempelajari C++ adalah mempelajari bagian-bagian tersebut. Kita akan memulai dengan melihat sebuah program C++ berikut:

```cpp=
// Program C++ sederhana
#include<iostream>
using namespace std;

int main()
{
    cout << "Programming sangat menyenangkan";
    return 0;
}
```

Program di atas memberikan output console seperti berikut:
```
Programming sangat menyenangkan
```

Baris 1 dari program di atas:
```cpp
// Program C++ sederhana
```

adalah comment (komentar). Tanda // menandakan awal dari sebuah comment. Compiler mengabaikan semuya dari // sampai dengan akhir baris. Ini berarti kita dapat menuliskan apapun yang kita mau pada baris tersebut dan compiler tidak akan komplain. Meskipun comment tidak diperlukan untuk sebuah program dapat dikompilasi, comment sangat penting untuk programmer. Comment dapat digunakan untuk menjelaskan suatu kode-kode kepada programmer lain atau sebagai pengingat kita. 

Baris 2:
```cpp
#include<iostream>
```

Baris ini disebut sebagai ***preprocessor directive***. Directive berarti pengarah preprocessor berarti sebelum diproses. Preprocessor adalah aplikasi pemroses sebelum kompiler. Preprocessor ini membaca directive-directive (pengarah-pengarah) yang dimulai dengan simbol #. Anda dapat membayangkan preprocessor sebagai sebuah program yang "menyiapkan" source code untuk compiler.

Directive `#include` menyebabkan preprocessor untuk meng-include (menyertakan) isi dari file lain dalam program. Kata di dalam kurung siku, `iostream`, adalah nama dari file yang disertakan. File `iostream` terdiri dari kode yang memungkinkan kode ....


> Statement adalah instruksi komplit yang menyebabkan komputer melakukan suatu aksi. Statement dapat berupa kombinasi 


Setelah tanda kurung kurawal buka kita melihat statement berikut pada baris 7:
```cpp
cout << "Programming sangat menyenangkan!";
```

Baris ini mencetak sebuah pesan ke layar (console). Kita akan membahas lebih lanjut mengenai `cout` dan operator `<<` pada bagian selanjutnya. 

## 2.2 Mencetak Output ke Console dengan `cout`

Pada bagian ini kita akan mempelajari cara menulis program yang menghasilkan output ke layar. Output ke layar yang paling sederhana adalah output ke console, yang hanya terdiri dari teks. Istilah `console` adalah istilah lama komputer. Istilah itu dari jaman dahulu ketika operator komputer berintaeraksi dengan sistem dengan mengetikkan sesuatu pada termina. Terminal, yang terdiri dari layar sederhana dan keyboard, disebut sebagai console.

Pada komputer modern, sistem operasi bergrafik seperti Windows dan Mac OS X, output console umumnya ditampilkan dalam sebuah window seperti pada Gamber 2.1. Dalam C++ Anda menggunakan object `cout` untuk menghasilkan output console. (Kita dapat membayakangkan `cout` sebagai singkatan console output.)
![](https://i.imgur.com/BVzHaLU.png)

`cout` diklasifikasikan sebagai *object stream*, yang berarti ia bekerja dengan stream data (aliran data). Untuk mencetak sebuah pesan pada layar, kita mengirimkan sebuah aliran karakter ke `cout`. Mari kita lihat baris 7 dari Program 2.1:

```java
cout << "Programming sangat menyenangkan!";
```

Perhatikan operator `<<` yang digunakan untuk mengirimkan string "Programming menyenangkan" ke `cout`. Ketika simbol `<<` digunakan dengan cara ini, simbol ini disebut sebagai `operator stream insertion`. Teks yang ditulis di sebelah kanan operator ini dikirimkan ke `cout` dan lalu dicetak ke console. 

Operator stream insertion selalu dituliskan dengan dua tanda kurang dari tanpa spasi di antaranya. Kita dapat membayangkan operator stream insertion ini, `<<`, sebagai panah yang mengarah ke `cout`. Ini diilustrasikan pada Gambar 2.2.


![](https://i.imgur.com/8etjgGP.png)


```cpp
// Program C++ sederhana
#include <iostream>
using namespace std;

int main()
{
    cout << "Programming " << "sangat menyenangkan!";
    return 0;
}
```

```Output
Programming sangat menyenangkan
```

Seperti yang dapat kita lihat pada program di atas, operator stream insertion dapat dituliskan lebih dari satu kali dalam satu baris dan string yang ditulis di sebelah kanan operator ini dikirimkan ke `cout` secara berurutan dari kiri ke kanan. Program 2.3 berikut menunjukkan cara lain untuk mencetak teks yang sama seperti di atas.

```cpp
// Program C++ sederhana
#include <iostream>
using namespace std;

int main()
{
    cout << "Programming ";
    cout << "sangat menyenangkan!";
    return 0;
}
```

***Output***
```

```

Hal penting yang perlu dipahami pada Program 2.3 di atas, meskipun output dipecah menjadi dua statement pemrograman, program ini akan tetap menampilkan pesan dalam satu baris.