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.intberarti dia akan mengembalikan angka bulat (biasanya0= sukses).- Kurung kurawal
{dan}— batas tubuh fungsi. Semua perintah di dalam sini. std::cout— perintah cetak ke layar.std::adalah “nama keluarga” (namespace),coutadalah “nama panggilannya” (character output).<<— operator insertion, seperti pipa yang mengalirkan teks ke layar.std::endl— end 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 lupareturn 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 fileiostreamke kode Anda sebelum kompilasi.- Tanda
< >artinya cari di folder system compiler. Kalau pakai" "— cari di folder project Anda. - Tanpa baris ini,
std::coutakan 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 keluargastd.”- Bisa diletakkan di luar
main()(global) atau di dalammain()(lokal). Efeknya sama, tapi scope-nya beda.
Cerita dari kelas:
Dulu saya bikin project besar, pakaiusing namespace std;di header file. Akhirnya collision sama library lain yang punya fungsicount().
Pelajaran: Di file header (.h), jangan pakaiusing namespace. Dimain.cppboleh, 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 tulisx = x * 2 + 1di 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}(kecualistruct/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):
| Aturan | Contoh Baik | Contoh Buruk |
|---|---|---|
| Indentasi | 4 spasi | campur tab/spasi |
| Kurung kurawal | { di baris baru (Allman) atau sama baris (K&R) | acak |
| Nama variabel | camelCase → totalNilai | totnil, tn, x |
| Nama konstanta | UPPER_SNAKE → MAX_SISWA | maxsiswa |
| Spasi operator | a = b + c | a=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:
- Include — bawa kamus
- Namespace — singkat nama keluarga
- main() — jantung program
- Deklarasi — siapkan bahan
- Proses — masak
- Output — sajikan
- 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.