cpp 12 July 2026

Bagian 2: Anatomi C++ — Mengubah Kode Jadi Cerita yang Dimengerti Komputer

Bagian 2: Anatomi C++ — Mengubah Kode Jadi Cerita yang Dimengerti Komputer

Minggu lalu kita cuma nulis Hello World. Hari ini kita belajar mengapa dia bisa berbicara.

Bayangkan C++ itu seperti bahasa manusia: punya tata bahasa, punya kamus, punya aturan main. Kalau Anda salah satu saja — komputer diam. Dia tidak protes, tidak marah, cuma error. Dan diam itu sering lebih menakutkan.

Mari kita bedah struktur tubuh program C++. Agar nanti Anda tidak cuma copy-paste, tapi benar-benar mengerti.


1. Fungsi main() — Jantung yang Menyiram Seluruh Tubuh

Setiap program C++ wajib punya main(). Tanpa dia, program itu seperti tubuh tanpa jantung — ada bentuknya, tapi tidak hidup.

#include <iostream>

int main() {
    std::cout << "Halo, ini fungsi main!" << std::endl;
    return 0;
}

Penjelasan:

  • int main() — tanda kurung kosong () artinya fungsi ini tidak butuh masukan dari luar. int berarti dia akan mengembalikan angka bulat (biasanya 0 = sukses).
  • Kurung kurawal { dan } — batas tubuh fungsi. Semua perintah di dalam sini.
  • std::cout — perintah cetak ke layar. std:: adalah “nama keluarga” (namespace), cout adalah “nama panggilannya” (character output).
  • << — operator insertion, seperti pipa yang mengalirkan teks ke layar.
  • std::endlend line, pindah baris + flush buffer. Bisa diganti "\n" kalau mau lebih ringan.
  • return 0; — bilang ke sistem operasi: “Program selesai dengan baik.”

Tips dari meja guru:
Siswa sering lupa return 0;. Program tetap jalan, tapi best practice — selalu tulis. Itu tanda Anda profesional sejak awal.


2. Header <iostream> — Kamus yang Harus Dibawa Sebelum Berbicara

C++ tidak tahu cout kalau Anda tidak include kan dulu. Ibarat orang mau bicara tapi lupa bawa kamus.

#include <iostream>   // library standar input-output

int main() {
    std::cout << "Belajar C++ itu kayak naik sepeda." << std::endl;
    std::cout << "Awalnya berat, nanti lancar sendiri." << std::endl;
    return 0;
}

Penjelasan:

  • #include <iostream> — preprocessor directive. Dia menyisipkan isi file iostream ke kode Anda sebelum kompilasi.
  • Tanda < > artinya cari di folder system compiler. Kalau pakai " " — cari di folder project Anda.
  • Tanpa baris ini, std::cout akan error: ‘cout’ was not declared in this scope’.

Peringatan:
Jangan sampai nulis #include <iostream.h> — itu gaya C++ lama (zaman Turbo C++). Sudah usang sejak standar ISO 1998. Kita hidup di 2024, pakai yang baku.


3. using namespace std; — Agar Tidak Perlu Nulis std:: Terus

Namespace itu seperti nama keluarga. std (standard) adalah keluarga besar library C++. cout, cin, endl semuanya anak keluarga std.

#include <iostream>
using namespace std;   // sekali di awal, bebas seumur program

int main() {
    cout << "Sekarang tidak perlu std:: lagi." << endl;
    cout << "Tapi ingat: ini cuma kemudahan, bukan keharusan." << endl;
    return 0;
}

Penjelasan:

  • using namespace std; memberitahu compiler: “Kalau ketemu nama tak dikenal, coba cari di keluarga std.”
  • Bisa diletakkan di luar main() (global) atau di dalam main() (lokal). Efeknya sama, tapi scope-nya beda.

Cerita dari kelas:
Dulu saya bikin project besar, pakai using namespace std; di header file. Akhirnya collision sama library lain yang punya fungsi count().
Pelajaran: Di file header (.h), jangan pakai using namespace. Di main.cpp boleh, tapi sadari risikonya.


4. Komentar — Catatan Kaki untuk Manusia (Bukan untuk Komputer)

Kompiler mengabaikan komentar sepenuhnya. Tapi Anda 6 bulan depan akan berterima kasih.

#include <iostream>
using namespace std;

int main() {
    // ini komentar satu baris — catatan cepat
    cout << "Kode ini hidup karena dibaca manusia." << endl;

    /* 
       ini komentar multi-baris
       cocok untuk penjelasan panjang
       atau matiin kode sementara
    */
    // cout << "Baris ini tidak akan jalan." << endl;

    return 0;
}

Penjelasan:

  • // — komentar sampai akhir baris.
  • /* ... */ — komentar blok, bisa numpuk ke banyak baris.
  • Gunakan komentar untuk mengapa, bukan apa. Kode sudah jelas apa-nya.

Tips:
Tulis komentar saat nge-kode, bukan setelah selesai. Nanti Anda lupa why Anda tulis x = x * 2 + 1 di tengah malam.


5. Statement & Titik Koma — Aturan Kecil yang Bikin Pusing

Di C++, setiap pernyataan (statement) diakhiri ;. Lupa satu, compiler protes.

#include <iostream>
using namespace std;

int main() {
    cout << "Satu statement" << endl;        // benar
    cout << "Dua statement" << endl          // ERROR: lupa titik koma
    cout << "Tiga statement" << endl;        // ini ikut error
    return 0;
}

Penjelasan:

  • ; pemisah statement, bukan penutup blok.
  • Blok { ... } tidak butuh ; di belakang } (kecuali struct/class).
  • Bisa nulis banyak statement di satu baris (tanpa readable), tapi jangan.

Metafora:
Titik koma itu seperti titik di akhir kalimat. Tanpa dia, kalimat Anda nggak kedetect selesai. Compiler bingung: “Ini perintah satu atau dua?”


6. Aturan Penulisan (Style) — Biar Kode Bisa Dibaca Teman Anda

Kode dibaca jauh lebih sering daripada ditulis. Tulis untuk orang lain — termasuk “Anda masa depan”.

#include <iostream>
using namespace std;

int main() {
    // indentation 4 spasi (bukan tab)
    cout << "Indentation konsisten = kode nyaman" << endl;

    // spasi di sekitar operator
    int a = 5;
    int b = 10;
    int hasil = a + b;      // enak dibaca

    // nama variabel bermakna
    int jumlahSiswa = 36;   // bukan: int x = 36;

    return 0;
}

Checklist gaya penulisan (coding style):

AturanContoh BaikContoh Buruk
Indentasi4 spasicampur tab/spasi
Kurung kurawal{ di baris baru (Allman) atau sama baris (K&R)acak
Nama variabelcamelCasetotalNilaitotnil, tn, x
Nama konstantaUPPER_SNAKEMAX_SISWAmaxsiswa
Spasi operatora = b + ca=b+c

Pengakuan:
Saya dulu anti-indentasi. “Ribet.” Sampai saya debug kode 200 baris tanpa indentasi — mata saya sakit 3 hari.
Sekarang: Saya auto-format (Ctrl+K, Ctrl+F di VS Code) sebelum commit. Hidup jadi tenang.


7. Menggabungkan Semua — Program Utuh Pertama Anda

Ini template standar yang akan jadi rangka setiap program Anda ke depan.

#include <iostream>
using namespace std;

int main() {
    // ---------------------------
    // DEKLARASI & INISIALISASI
    // ---------------------------
    string nama = "Rifqi";
    int umur = 24;
    double tinggi = 168.5;

    // ---------------------------
    // PROSES / LOGIKA
    // ---------------------------
    cout << "=== BIODATA SINGKAT ===" << endl;
    cout << "Nama   : " << nama << endl;
    cout << "Umur   : " << umur << " tahun" << endl;
    cout << "Tinggi : " << tinggi << " cm" << endl;

    // ---------------------------
    // OUTPUT AKHIR
    // ---------------------------
    cout << endl << "Program selesai. Terima kasih." << endl;

    return 0;
}

Output:

=== BIODATA SINGKAT ===
Nama   : Rifqi
Umur   : 24 tahun
Tinggi : 168.5 cm

Program selesai. Terima kasih.

Struktur yang wajib Anda hafal:

  1. Include — bawa kamus
  2. Namespace — singkat nama keluarga
  3. main() — jantung program
  4. Deklarasi — siapkan bahan
  5. Proses — masak
  6. Output — sajikan
  7. return 0 — bilang “selesai”

Penutup: Kode Itu Puisi Logika

Struktur itu kerangka. Logika itu darah. Keduanya butuh satu sama lain.

Hari ini Anda belajar anatomi C++. Bukan hafalan, tapi pemahaman. Kenapa main wajib, kenapa include di atas, kenapa titik koma tak bisa ditinggal.

Minggu depan kita masuk ke variabel & tipe data — tempat di mana data “tinggal” di memori. Di sana Anda akan tahu kenapa int tidak bisa nampung "teks", dan kenapa double butuh memori lebih besar dari float.

Sampai jumpa di bagian 3. Jangan lupa compile kode di atas. Rasakan sendiri: kode yang Anda tulis, hidup.


Rifqi Anshory — SMK RPL
Menulis kode sambil ngopi, mengajar sambil belajar.