Belajar C++ - Sintaks Dasar & Struktur Program
Episode 3 of 24

Belajar C++ - Sintaks Dasar & Struktur Program

Episode ini membangun sintaks dasar C++: struktur program lengkap, deklarasi variabel dan konstanta dengan tipe dasar, fungsi dengan scope dan return values, serta program interaktif memakai std::cin dan std::cout.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Setelah memahami arsitektur di balik C++, saatnya menulis kode yang benar-benar terkompilasi. Episode 3 membangun sintaks dasar: bagaimana sebuah program C++ disusun, bagaimana variabel dan konstanta dideklarasikan, dan bagaimana fungsi bekerja dengan scope dan nilai kembalian.

Sintaks C++ memadukan warisan C yang ringkas dengan fitur modern. Kalian akan melihat std::cin dan std::cout untuk pertama kalinya — antarmuka input-output yang type-safe dan akan menemani kalian sepanjang series ini.

Anatomi Program C++

Program Minimal yang Valid

Setiap program C++ setidaknya memiliki satu fungsi main. Eksekusi selalu dimulai dari fungsi ini, dan nilai kembaliannya menentukan status keluar program. Perhatikan struktur berikut:

Program C++ lengkap
cat > struktur.cpp <<'EOF'
#include <iostream>
 
int main() {
    std::cout << "Struktur program C++\n";
    return 0;
}
EOF
g++ -std=c++20 -Wall -Wextra struktur.cpp -o struktur
./struktur

Baris #include <iostream> memuat deklarasi stream input-output. Fungsi main mengembalikan int: nilai 0 menandakan sukses, dan nilai lain menandakan ada error. Kalian bisa mengecek status keluar dengan echo $? setelah menjalankan program.

Statement, Blok Kode, dan Komentar

Sebuah program terdiri dari statement yang diakhiri titik koma. Sekumpulan statement yang dibungkus tanda kurung kurawal membentuk blok kode. Komentar menjelaskan maksud kode dan diabaikan compiler — pakai // untuk satu baris dan /* ... */ untuk beberapa baris.

Komentar bukan dekorasi. Di C++ yang kompleks, komentar yang menjelaskan mengapa sebuah keputusan diambil jauh lebih berharga daripada yang menjelaskan apa yang dilakukan kode.

Variabel, Konstanta, dan Tipe Dasar

Tipe Data Fundamental

C++ menyediakan tipe dasar: int untuk bilangan bulat, double dan float untuk pecahan, char untuk satu karakter, bool untuk nilai benar-salah, dan void untuk tidak ada nilai. Sejak C++11, auto bisa menebak tipe dari inisialisasi.

Deklarasikan variabel dengan menyertakan tipe atau memakai auto:

Variabel dan konstanta
cat > variabel.cpp <<'EOF'
#include <iostream>
 
int main() {
    int umur = 25;
    double harga = 19.99;
    char inisial = 'A';
    bool aktif = true;
    auto jumlah = 42;
 
    const double pajak = 0.11;
    constexpr int kuota = 100;
 
    std::cout << umur << " " << harga << " " << inisial << " "
              << aktif << " " << jumlah << "\n";
    std::cout << "Pajak: " << pajak << " Kuota: " << kuota << "\n";
}
EOF
g++ -std=c++20 variabel.cpp -o variabel
./variabel

const double pajak = 0.11 membuat konstanta yang tidak bisa diubah, sedangkan constexpr int kuota = 100 dihitung saat kompilasi. Gunakan auto saat tipe sudah jelas dari inisialisasi, dan sebutkan tipe eksplisit saat kejelasan lebih penting.

Literal dan Inisialisasi

Suffix literal seperti 19.99 (double) atau 19.99f (float) menentukan tipe nilai. Sejak C++11, brace initialization int x{42} lebih aman daripada bentuk lama karena menolak penyempitan tipe yang tidak disengaja — misalnya memasukkan 3.7 ke int akan memicu peringatan atau error.

Fungsi, Scope, dan Nilai Kembalian

Mendefinisikan Fungsi

Fungsi membungkus logika agar bisa dipanggil berulang. Sebuah fungsi terdiri dari tipe kembalian, nama, parameter, dan tubuh fungsi:

Fungsi dengan scope
cat > fungsi.cpp <<'EOF'
#include <iostream>
 
int kuadrat(int x) {
    return x * x;
}
 
int main() {
    int hasil = kuadrat(7);
    std::cout << "Kuadrat 7 = " << hasil << "\n";
}
EOF
g++ -std=c++20 fungsi.cpp -o fungsi
./fungsi

Fungsi kuadrat menerima satu parameter int x dan mengembalikan x * x. Jika sebuah fungsi tidak mengembalikan nilai, tipe kembaliannya void.

Scope dan Durasi Hidup

Scope menentukan di mana sebuah nama bisa diakses. Variabel yang dideklarasikan di dalam blok hanya terlihat di dalam blok tersebut dan blok anaknya. Variabel global dideklarasikan di luar fungsi dan terlihat di mana saja, tetapi gunakan dengan hemat karena sulit dilacak.

Variabel lokal yang dideklarasikan di dalam blok dihancurkan saat blok selesai — waktunya ditentukan oleh scope, bukan oleh garbage collector. Ini adalah dasar dari RAII yang akan kalian kenal di episode 7.

Input dan Output dengan std::cin dan std::cout

Program Interaktif Pertama

std::cout mengirim data ke layar, std::cin membaca data dari keyboard. Operator << mengalirkan nilai ke output, dan >> mengalirkan input ke variabel. Gabungkan keduanya untuk program yang berinteraksi dengan pengguna:

Program interaktif
cat > sapa.cpp <<'EOF'
#include <iostream>
#include <string>
 
int main() {
    std::string nama;
    std::cout << "Siapa nama kalian? ";
    std::cin >> nama;
    std::cout << "Halo, " << nama << "!\n";
}
EOF
g++ -std=c++20 sapa.cpp -o sapa
./sapa

std::cin >> nama membaca satu kata dari input dan menyimpannya ke std::string. Untuk membaca satu baris penuh termasuk spasi, gunakan std::getline(std::cin, nama). Perhatikan bahwa std::string — bukan char[] ala C — adalah tipe string modern yang aman.

Warning

std::cin >> berhenti di spasi. Untuk nama dengan spasi, misalnya dua kata, gunakan std::getline agar seluruh baris terbaca.

Penutup

Inti yang harus dibawa pulang:

  • Program C++ selalu dimulai dari fungsi main yang mengembalikan int.
  • Tipe dasar: int, double, float, char, bool, dan auto.
  • const untuk konstanta runtime, constexpr untuk konstanta kompilasi.
  • Scope menentukan visibilitas dan durasi hidup variabel.
  • std::cout untuk output, std::cin untuk input, std::getline untuk satu baris penuh.
  • Brace initialization lebih aman daripada bentuk lama.

Di episode 4 selanjutnya kita akan membahas kontrol alur dan operator — operator aritmatika, logika, bitwise, dan incremental, statement kondisional if, switch, dan ternary, semua jenis perulangan termasuk range-based for, serta break dan continue. Inilah alat yang membuat program kalian mengambil keputusan.

Belajar C++ - Sintaks Dasar & Struktur Program | Belajar C++