← Semua docs

βš–οΈ Kompilasi vs Interpretasi

Kenapa C++ harus di-compile dulu sedangkan Python langsung jalan?

Dua cara komputer memahami kodemu

Komputer sebenarnya hanya paham bahasa mesin: deretan 0 dan 1. Karena itu kodemu perlu diterjemahkan. Ada dua cara: DIKOMPILASI β€” seluruh kode diterjemahkan lebih dulu menjadi file program, baru dijalankan; seperti menerjemahkan seluruh buku sebelum dibaca cepat. DIINTERPRETASI β€” kode dibaca dan dijalankan baris demi baris oleh penerjemah (interpreter); seperti penerjemah yang mendampingi sambil membacakan.

C++ β€” dikompilasi, sangat cepat

Kode .cpp diterjemahkan oleh compiler (g++) menjadi program. Setelah jadi bahasa mesin, jalanannya super cepat β€” makanya C++ jadi bahasa utama OSN dan pembuat game. Konsekuensinya: tiap kali kode diubah harus compile ulang, dan kamu harus menuliskan tipe data dengan rapi.

1g++ -O2 -std=gnu++20 -o main main.cpp
2./main < input.txt

Python β€” diinterpretasi, ramah pemula

File .py langsung dijalankan oleh interpreter (python3) tanpa compile β€” tulis, enter, jalan! Tulisannya mirip bahasa manusia sehingga nyaman untuk pemula. Imbangannya: karena dibaca baris demi baris saat berjalan, Python lebih lambat daripada C++. Dipakai luas di dunia AI dan data science.

1python3 main.py < input.txt

Rust β€” dikompilasi, cepat dan modern

Seperti C++, Rust di-compile dulu (rustc) menjadi program yang cepat. Keunggulannya: compiler Rust memeriksa kesalahan memori SEBELUM program berjalan, jadi banyak bug tertangkap di awal. Imbangannya: aturannya lebih ketat, jadi terasa lebih menantang untuk pemula.

1rustc -O --edition 2021 -o main main.rs
2./main < input.txt

Perbandingan singkat

Ringkasan tiga bahasa favorit APC:

C++PythonRust
Cara jalanDikompilasiDiinterpretasiDikompilasi
KecepatanSangat cepatLebih lambatSangat cepat
Ramah pemulaCukupSangat ramahMenantang
Wajib tulis tipeYaTidakYa
Compile dulu?YaTidakYa
Populer untukOSN, gameAI, dataSistem modern

Jadi, mulai dari mana?

Baru belajar? Mulailah dari Python supaya fokus ke logika. Fokus OSN atau suka kecepatan? C++ pilihan klasik. Ingin disiplin dan modern? Coba Rust. Tenang β€” di APC ketiganya diladeni sama baiknya, dan pindah-pindah bahasa itu normal kok!

🧠 Uji ingatanmu

Jawab untuk mengunci ingatan β€” 5 XP per jawaban benar + bonus 5 XP kalau tuntas semua.

1. Bahasa yang menjalankan kode baris demi baris (tanpa compile) adalah…
2. Kelebihan utama bahasa yang DIKOMPILASI adalah…
3. Program yang menerjemahkan Python saat dijalankan disebut… (satu kata)