C++ adalah bahasa pemrograman general-purpose yang dikompilasi langsung menjadi machine code sehingga programnya berjalan sangat cepat dan hemat memori. Bahasa ini dipakai untuk membangun software yang menuntut performa tinggi: game engine, browser, sistem operasi, database, hingga aplikasi finansial. Bagi pembelajar, C++ mengajarkan cara kerja komputer secara gamblang karena kita mengelola memori, tipe data, dan alur eksekusi secara eksplisit. Pada Chapter ini kita mengenal karakteristik C++, melihat posisinya di antara bahasa lain, dan menulis program pertama yang benar-benar dijalankan.

Karakteristik Utama C++ #

C++ memiliki beberapa sifat yang membedakannya dari bahasa scripting seperti Python atau PHP. Memahami sifat-sifat ini membantu kita memahami mengapa kode C++ ditulis dengan cara tertentu.

  • Compiled language: source code diterjemahkan oleh compiler menjadi executable sebelum program dijalankan. Kesalahan sintaks terdeteksi pada saat kompilasi, bukan saat program berjalan.
  • Static typing: setiap variabel memiliki tipe yang ditentukan pada saat kompilasi. Compiler menolak program yang mencampur tipe secara tidak wajar tanpa konversi yang jelas.
  • Zero-cost abstraction: fitur seperti class, template, dan lambda dirancang agar tidak menambah biaya runtime dibanding kode yang ditulis manual pada level rendah.
  • Kontrol penuh atas memori: kita dapat memilih menyimpan data di stack atau heap, mengelola lifetime objek, dan menghindari alokasi yang tidak perlu.
  • Multi-paradigm: C++ mendukung prosedural, object-oriented, generic, dan functional programming dalam satu bahasa.

Cara Kerja Compiler #

Saat kita menjalankan perintah kompilasi, compiler membaca source code .cpp dan menghasilkan file executable. Prosesnya memakan waktu beberapa detik, tetapi hasilnya adalah program mandiri yang tidak butuh interpreter lagi. Dua tahap pentingnya: compiler memeriksa tipe dan sintaks secara menyeluruh, lalu mengoptimalkan machine code untuk CPU target.

Alur di atas menunjukkan peran compiler sebagai penerjemah sekaligus pemeriksa. Karena pemeriksaan terjadi sebelum eksekusi, banyak bug yang biasanya muncul saat runtime pada bahasa lain menjadi compile error di C++. Keunggulan ini membuat pengembangan C++ sedikit lebih ketat di awal, tetapi jauh lebih aman setelah program berhasil dikompilasi.

Program Pertama #

Berikut program C++ sederhana yang menyimpan dua nilai dan mencetaknya ke terminal. Program ini sudah memakai beberapa elemen dasar: header, fungsi main(), variabel, dan output stream.

cpp
#include <iostream>
#include <string>

int main() {
    std::string nama = "Budi";
    int umur = 21;

    std::cout << "Halo, " << nama << "!\n";
    std::cout << "Umur Anda: " << umur << " tahun\n";
    std::cout << "Tahun depan: " << umur + 1 << " tahun\n";

    return 0;
}

Output yang Dihasilkan:

text
Halo, Budi!
Umur Anda: 21 tahun
Tahun depan: 22 tahun

Mari kita telaah apa yang terjadi pada baris-baris kode di atas:

  1. Baris 1-2 (#include ...): preprocessor menyisipkan deklarasi dari header <iostream> (input-output stream) dan <string> (tipe string standar) sebelum kompilasi dimulai.
  2. Baris 4 (int main()): setiap program C++ dimulai dari fungsi main(). Tipe kembaliannya int menandakan status akhir program kepada sistem operasi.
  3. Baris 5-6: variabel nama bertipe std::string menyimpan teks "Budi", dan variabel umur bertipe int menyimpan bilangan bulat 21. Keduanya disimpan di stack.
  4. Baris 8-10 (std::cout << ...): operator << mengirim data ke output stream. Nilai umur + 1 dievaluasi terlebih dahulu menjadi 22 sebelum dicetak.
  5. Baris 12 (return 0): fungsi main() mengembalikan 0 yang berarti program selesai tanpa kesalahan.

Untuk mengompilasi dan menjalankan program ini di terminal, gunakan dua perintah berikut:

bash
g++ -std=c++23 -Wall perkenalan.cpp -o perkenalan
./perkenalan

Flag -std=c++23 memilih versi standar C++ yang dipakai compiler, sedangkan -Wall mengaktifkan peringatan untuk kode yang mencurigakan. Pembahasan lengkap tentang opsi kompilasi tersedia pada Chapter Kompilasi Program di Section Persiapan Lingkungan.

Kapan C++ Menjadi Pilihan yang Tepat #

C++ paling menguntungkan ketika program butuh performa maksimal, kontrol memori, atau keduanya. Contoh nyatanya mudah ditemukan di software yang kita pakai setiap hari. Browser seperti Chrome dan Firefox mengeksekusi JavaScript lewat engine C++ (V8 dan SpiderMonkey). Game engine seperti Unreal Engine dan Unity (bagian core-nya) ditulis dengan C++. Database seperti MySQL dan MongoDB juga memakai C++ di inti sistemnya.

Selanjutnya kita akan menelusuri sejarah dan perkembangan C++ dari versi 1985 hingga standar terbaru, sehingga kita memahami mengapa banyak fitur modern C++ lahir dan masalah apa saja yang diselesaikannya.