Konsep visual: Struktur utama program C++
C++ adalah bahasa pemrograman tingkat menengah yang dikembangkan oleh Bjarne Stroustrup sebagai ekstensi dari bahasa C. Dikenal karena efisiensi, kecepatan, dan kemampuannya untuk berinteraksi langsung dengan perangkat keras, C++ tetap menjadi pilihan utama untuk pengembangan sistem operasi, mesin game, dan aplikasi berperforma tinggi. Memahami dasar teori di baliknya sangat krusial sebelum terjun ke implementasi kode.
C++ adalah bahasa multi-paradigma. Ini berarti ia mendukung beberapa gaya penulisan kode. Tiga paradigma utama yang didukung oleh C++ adalah:
Setiap program C++ yang valid harus memiliki satu titik masuk utama, yaitu fungsi main(). Eksekusi program selalu dimulai dari sini. Struktur paling minimal melibatkan inklusi header file dan definisi fungsi utama.
#include <iostream>
int main() {
// Baris ini adalah instruksi pertama program
std::cout << "Halo Dunia!" << std::endl;
return 0;
}
Pada contoh di atas, #include <iostream> adalah direktif praprosesor yang memberitahu kompiler untuk menyertakan pustaka input/output standar (untuk menggunakan std::cout). int main() mendefinisikan fungsi utama, dan return 0; menandakan bahwa program telah selesai dieksekusi tanpa error.
C++ adalah bahasa yang dikompilasi. Teori ini memisahkan proses penulisan kode dari eksekusi. Prosesnya terdiri dari beberapa tahapan:
#include dan makro..cpp) diubah menjadi kode assembly..o atau .obj)..exe di Windows).Ini berbeda dengan bahasa terinterpretasi seperti Python atau JavaScript. Keuntungan utama dari kompilasi adalah kecepatan eksekusi program akhir yang jauh lebih cepat karena kode mesin sudah siap dijalankan langsung oleh CPU.
Salah satu dasar teori terpenting C++ adalah manajemen memori yang eksplisit. Tidak seperti Java atau C#, C++ memberikan kontrol langsung kepada programmer atas alokasi dan dealokasi memori.
Kita berinteraksi dengan dua area memori utama:
new. Programmer bertanggung jawab penuh untuk membebaskan memori ini menggunakan delete agar tidak terjadi kebocoran memori (memory leak).Memahami pointer—variabel yang menyimpan alamat memori—adalah kunci untuk menguasai manajemen memori di C++. Pointer memungkinkan manipulasi data secara tidak langsung dan merupakan fondasi dari banyak struktur data canggih dalam bahasa ini.
Setiap variabel harus memiliki tipe data yang menentukan ukuran memori yang dialokasikan dan jenis operasi yang dapat dilakukan padanya. Tipe data primitif standar meliputi int (bilangan bulat), float/double (bilangan desimal), char (karakter), dan bool (Boolean).
Selain tipe primitif, C++ sangat bergantung pada struktur data, baik yang disediakan pustaka standar (STL) maupun yang dibuat sendiri. STL (Standard Template Library) menyediakan kontainer siap pakai seperti vector (array dinamis), list, dan map, yang semuanya dibangun di atas konsep pemrograman generik melalui templates, sehingga meningkatkan reusabilitas dan efisiensi kode secara signifikan.