⚡ C++
Bahasa cepat dan powerful buat sistem, game engine, dan competitive programming.
Pengenalan C++
C++ adalah bahasa pemrograman tingkat menengah yang gabungin kecepatan bahasa low-level (kayak C) dengan fitur OOP. Dipakai buat game engine, sistem operasi, sampai trading system yang butuh performa tinggi.
File C++ berekstensi .cpp, harus di-compile dulu jadi file executable sebelum bisa dijalankan.
#include <iostream>
using namespace std;
int main() {
// Ini komentar satu baris
/*
* Ini komentar
* multi-baris
*/
cout << "Halo Dunia!" << endl;
return 0;
}
Struktur Dasar
Setiap program C++ butuh fungsi main() sebagai titik awal eksekusi.
- #include — memasukkan library, mis. <iostream>
- using namespace std; — supaya tidak perlu tulis std:: tiap kali
- int main() — fungsi wajib, titik program dimulai
- cout << — buat nampilin output
#include <iostream>
using namespace std;
int main() {
cout << "Program C++ pertamaku" << endl;
cout << "Baris kedua" << endl;
return 0;
}
Variabel & Tipe Data
C++ itu strongly typed, sama kayak Java. Tipe data harus dideklarasi di depan.
- int — bilangan bulat
- float / double — desimal
- char — satu karakter, kutip satu
- string — teks, butuh #include <string>
- bool — true / false
#include <iostream>
#include <string>
using namespace std;
int main() {
int umur = 21;
double ipk = 3.75;
char golongan = 'A';
string nama = "Siti";
bool aktif = true;
cout << "Nama: " << nama << endl;
cout << "Umur: " << umur << " tahun" << endl;
cout << "IPK: " << ipk << endl;
return 0;
}
Input & Output
cin buat input, cout buat output. Arah panahnya beda: cin >> vs cout <<.
#include <iostream>
#include <string>
using namespace std;
int main() {
string nama;
int umur;
cout << "Masukkan nama: ";
cin >> nama; // hanya baca 1 kata (berhenti di spasi)
cout << "Masukkan umur: ";
cin >> umur;
cout << "Halo " << nama << ", umur " << umur << " tahun" << endl;
return 0;
}
Operator
Sama pola dengan Java: aritmatika, perbandingan, logika.
#include <iostream>
using namespace std;
int main() {
int a = 15, b = 4;
cout << "a + b = " << (a + b) << endl; // 19
cout << "a / b = " << (a / b) << endl; // 3, bukan 3.75
cout << "a % b = " << (a % b) << endl; // 3
bool hasil = (a > 10) && (b < 10);
cout << "a>10 AND b<10: " << hasil << endl; // 1 (true)
return 0;
}
Percabangan
if-else dan switch — sintaksnya identik dengan Java dan JavaScript.
#include <iostream>
using namespace std;
int main() {
int nilai;
cout << "Nilai: ";
cin >> nilai;
if (nilai >= 85) {
cout << "Grade A" << endl;
} else if (nilai >= 70) {
cout << "Grade B" << endl;
} else {
cout << "Grade C" << endl;
}
int hari = 2;
switch(hari) {
case 1: cout << "Senin" << endl; break;
case 2: cout << "Selasa" << endl; break;
default: cout << "Hari lain" << endl;
}
return 0;
}
Perulangan
for, while, do-while. Range-based for juga ada buat array/vector.
#include <iostream>
using namespace std;
int main() {
// For
cout << "For: ";
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
// While
cout << "\nWhile: ";
int j = 1;
while (j <= 5) {
cout << j << " ";
j++;
}
// Range-based for (C++11+)
int angka[] = {10, 20, 30};
cout << "\nRange-for: ";
for (int n : angka) {
cout << n << " ";
}
return 0;
}
Fungsi
Fungsi di C++ harus dideklarasikan dengan tipe return yang jelas — beda dengan Python/JS yang lebih fleksibel.
#include <iostream>
using namespace std;
// Fungsi dengan return
int kuadrat(int x) {
return x * x;
}
// Fungsi tanpa return (void)
void sapa(string nama) {
cout << "Halo, " << nama << endl;
}
int main() {
sapa("Budi");
int hasil = kuadrat(5);
cout << "5 kuadrat = " << hasil << endl;
return 0;
}
Array
Array C++ punya ukuran tetap dan tidak otomatis dicek batasnya — beda dengan Java yang langsung crash rapi kalau out of bounds.
#include <iostream>
using namespace std;
int main() {
int nilai[4] = {85, 90, 78, 92};
cout << "Jumlah data: " << (sizeof(nilai) / sizeof(nilai[0])) << endl;
cout << "Nilai pertama: " << nilai[0] << endl;
for (int i = 0; i < 4; i++) {
cout << nilai[i] << " ";
}
return 0;
}
🚀 Mini Project: Konversi Suhu
Gabungkan fungsi, percabangan, dan input/output jadi program konversi suhu Celsius ke Fahrenheit dan Kelvin.
#include <iostream>
using namespace std;
double celsiusKeFahrenheit(double c) {
return (c * 9.0 / 5.0) + 32;
}
double celsiusKeKelvin(double c) {
return c + 273.15;
}
int main() {
double celsius;
cout << "Masukkan suhu Celsius: ";
cin >> celsius;
cout << celsius << " C = " << celsiusKeFahrenheit(celsius) << " F" << endl;
cout << celsius << " C = " << celsiusKeKelvin(celsius) << " K" << endl;
if (celsius > 35) {
cout << "Cuaca panas!" << endl;
} else if (celsius < 15) {
cout << "Cuaca dingin!" << endl;
} else {
cout << "Cuaca sedang." << endl;
}
return 0;
}
✦ Coba Sendiri
Tulis kode C++ di bawah, klik Run buat compile & jalanin langsung. Support input juga.