Learn/ Coding/ Pengantar C++
Referensi ยท C++

Pengantar C++ โšก

Sintaks dasar C++ โ€” bahasa yang digunakan di Arduino, game engine, dan sistem embedded. Cocok sebagai batu loncatan sebelum belajar pemrograman Arduino/IoT.

๐Ÿ‘‹ Program C++ Pertama

#include <iostream>   // Library input/output
using namespace std;   // Agar bisa tulis cout, cin langsung

int main() {            // Titik masuk program โ€” WAJIB ada
    cout << "Halo, Dunia!" << endl;  // Cetak teks + baris baru
    cout << "Belajar C++ yuk!" << "\n";  // \n = baris baru
    return 0;             // Kembalikan 0 = program sukses
}

๐Ÿ“ฆ Variabel & Tipe Data

C++ bersifat strongly typed โ€” setiap variabel harus dideklarasikan dengan tipe datanya.

#include <iostream>
#include <string>    // Untuk tipe string
using namespace std;

int main() {
    // Deklarasi & inisialisasi variabel
    int umur = 15;              // Bilangan bulat: -2,147,483,648 s/d 2,147,483,647
    float tinggi = 165.5f;     // Desimal presisi rendah (tambah f)
    double pi = 3.14159265;   // Desimal presisi tinggi
    char inisial = 'B';        // Satu karakter (tanda KUTIP TUNGGAL!)
    bool lulus = true;         // true atau false (huruf kecil!)
    string nama = "Budi";     // Teks (butuh #include <string>)

    // Output
    cout << "Nama: " << nama << endl;
    cout << "Umur: " << umur << " tahun" << endl;
    cout << "Lulus: " << (lulus ? "Ya" : "Tidak") << endl;

    // Konstanta โ€” nilai tidak bisa diubah
    const int MAKS_NILAI = 100;
    const double GRAVITASI = 9.8;

    return 0;
}

โŒจ๏ธ Input & Operasi Aritmatika

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Masukkan dua angka: ";
    cin >> a >> b;    // Baca dua input sekaligus

    cout << a + b << endl;   // Penjumlahan
    cout << a - b << endl;   // Pengurangan
    cout << a * b << endl;   // Perkalian
    cout << a / b << endl;   // Pembagian bulat (karena int)
    cout << a % b << endl;   // Sisa bagi (modulo)

    // Pembagian desimal โ€” gunakan (float) atau (double)
    cout << (float)a / b << endl;

    // Operator increment/decrement
    a++;    // a = a + 1
    b--;    // b = b - 1
    a += 5; // a = a + 5
    b *= 2; // b = b * 2

    return 0;
}

๐Ÿ”€ Percabangan

int nilai = 85;

// if - else if - else
if (nilai >= 90) {
    cout << "A - Sangat Baik" << endl;
} else if (nilai >= 80) {
    cout << "B - Baik" << endl;
} else if (nilai >= 70) {
    cout << "C - Cukup" << endl;
} else {
    cout << "D - Perlu Perbaikan" << endl;
}

// Ternary operator: kondisi ? nilai_jika_benar : nilai_jika_salah
string status = (nilai >= 75) ? "Lulus" : "Tidak Lulus";
cout << status << endl;

// switch โ€” untuk nilai diskrit
int hari = 1;
switch (hari) {
    case 1: cout << "Senin"; break;
    case 2: cout << "Selasa"; break;
    case 3: cout << "Rabu"; break;
    default: cout << "Hari lain";
}

๐Ÿ” Perulangan

// FOR โ€” jumlah iterasi sudah diketahui
for (int i = 1; i <= 5; i++) {
    cout << "Baris ke-" << i << endl;
}

// Pola bintang dengan for bersarang
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= i; j++) {
        cout << "* ";
    }
    cout << endl;
}

// WHILE โ€” kondisi diperiksa di awal
int n = 1;
while (n <= 10) {
    cout << n << " ";
    n++;
}

// DO-WHILE โ€” eksekusi minimal 1 kali, kondisi diperiksa di akhir
int x = 0;
do {
    cout << "Nilai x: " << x << endl;
    x++;
} while (x < 3);

// break & continue
for (int i = 0; i < 10; i++) {
    if (i == 5) break;     // Hentikan loop
    if (i % 2 == 0) continue;  // Lewati genap
    cout << i << endl;        // Cetak 1, 3
}

๐Ÿ”ง Fungsi

#include <iostream>
using namespace std;

// Deklarasi fungsi (prototype) โ€” jika fungsi didefinisikan setelah main()
int tambah(int a, int b);
void sapa(string nama);     // void = tidak mengembalikan nilai

int main() {
    sapa("Budi");
    int hasil = tambah(10, 20);
    cout << "Hasil: " << hasil << endl;
    return 0;
}

// Definisi fungsi
void sapa(string nama) {
    cout << "Halo, " << nama << "!" << endl;
}

int tambah(int a, int b) {
    return a + b;
}

// Fungsi rekursif โ€” faktorial
int faktorial(int n) {
    if (n <= 1) return 1;   // Base case
    return n * faktorial(n - 1);  // Recursive case
}

๐Ÿ“‹ Array

// Deklarasi array โ€” ukuran harus ditentukan saat deklarasi
int nilai[5] = {85, 90, 78, 92, 88};
string nama[3] = {"Budi", "Ani", "Citra"};

// Akses elemen (indeks mulai dari 0)
cout << nilai[0] << endl;   // 85
cout << nilai[4] << endl;   // 88 (terakhir)

// Ubah nilai
nilai[2] = 95;

// Iterasi dengan for
for (int i = 0; i < 5; i++) {
    cout << "Nilai ke-" << (i+1) << ": " << nilai[i] << endl;
}

// Range-based for (C++11 ke atas)
for (int n : nilai) {
    cout << n << " ";
}
๐Ÿ’ป

Coba Online

Gunakan onlinegdb.com atau replit.com untuk compile & run C++ langsung di browser tanpa instalasi.

โšก

Langkah Berikutnya

Setelah memahami sintaks dasar C++, lanjut ke Arduino & IoT โ€” di sana C++ digunakan untuk memprogram mikrokontroler nyata!