Menu

Sintaks C++: Pernyataan, Titik Koma, Kurung Kurawal, dan main()

Aturan sintaks inti program C++, yaitu pernyataan dan titik koma, blok kurung kurawal, fungsi main, dan cara kerja output, dijelaskan dari program pertama.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Dari "Bisa Dikompilasi" ke "Aku Bisa Membacanya"

Di halaman sebelumnya kamu mengubah sebuah source file menjadi program yang berjalan dengan compiler. Sekarang kita akan melambat dan melihat apa sebenarnya isi file itu. Setiap program C++ dibangun dari segelintir potongan struktur yang sama, dan begitu kamu bisa menyebut namanya, file .cpp yang asing tidak lagi terlihat seperti kode acak.

Berikut program lengkap yang bisa dijalankan. Baca sekali, lalu kita bongkar baris demi baris.

Ada lima baris yang bermakna, dan setiap baris punya tugas tertentu. Mari kita bahas satu per satu.

Baris #include

#include <iostream>

Baris ini memasukkan header <iostream> supaya kamu bisa memakai fitur input/output seperti cout. #include adalah preprocessor directive: ia berjalan sebelum kompilasi yang sebenarnya, dan pada dasarnya menempelkan isi header itu ke dalam filemu.

Dua hal membuat baris #include istimewa:

  • Barisnya diawali #, yang menandainya sebagai preprocessor directive.
  • Barisnya tidak diakhiri titik koma. Inilah satu pengecualian umum dari kebiasaan "setiap baris diakhiri ;" yang akan kamu bangun.

Kalau kamu memakai cout tetapi lupa #include <iostream>, compiler tidak tahu apa itu cout dan kamu akan mendapat error seperti 'cout' was not declared in this scope. Perbaikannya hampir selalu berupa include yang hilang.

Fungsi main

int main() {
    // ...
    return 0;
}

main adalah tempat programmu dimulai. Saat kamu menjalankan program yang sudah dikompilasi, eksekusi dimulai dari baris pertama di dalam main dan berhenti saat main mengembalikan nilai. Setiap program C++ punya tepat satu main, tidak lebih dan tidak kurang.

Bagian-bagiannya:

  • int: main mengembalikan sebuah bilangan bulat ke sistem operasi. Menurut konvensi, 0 berarti "selesai dengan sukses."
  • main(): namanya, diikuti tanda kurung untuk parameternya (di sini kosong).
  • { ... }: kurung kurawal membungkus isi fungsinya, yaitu pernyataan-pernyataan yang dijalankan.
  • return 0;: mengakhiri main dan melaporkan keberhasilan. Kalau tidak ditulis, C++ menganggap main mengembalikan 0 untukmu, tetapi menuliskannya membuat maksudmu jelas.

Pernyataan dan Titik Koma

Pernyataan (statement) adalah satu instruksi yang lengkap. Di C++, setiap pernyataan diakhiri titik koma:

C++ sepenuhnya mengabaikan pergantian baris dan spasi tambahan. Compiler tidak peduli apakah kamu menaruh pernyataan di satu baris atau sepuluh baris; ;-lah yang memberi tahu di mana setiap pernyataan berakhir. Bagi compiler, ketiga bentuk ini identik:

int a = 1; int b = 2;
int a = 1;
    int b = 2;
int
a
= 1;

Kebebasan itu datang bersama jebakan pemula yang paling umum: titik koma yang terlupa. Perhatikan apa yang terjadi di sini.

int x = 5    // <-- no semicolon
int y = 10;

Kamu akan mendapat error seperti expected ';' before 'int'. Perhatikan jebakannya: compiler baru sadar ada yang salah saat sampai di baris berikutnya, jadi nomor baris yang dilaporkan sering menunjuk satu baris di bawah kesalahan sebenarnya. Kalau error menyebut ; yang hilang, periksa baris di atas baris yang disebut dalam pesan itu.

Kurung Kurawal Membentuk Blok

Kalau sebagian bahasa memakai indentasi untuk mengelompokkan kode, C++ memakai kurung kurawal { }. Semua yang ada di antara sepasang kurung kurawal adalah satu blok. Isi fungsi, loop, dan pernyataan if semuanya memakainya:

Dua baris di dalam kurung kurawal if hanya berjalan saat kondisinya benar. cout terakhir berada di luar kurung kurawal, jadi ia selalu berjalan.

Karena strukturnya ditentukan oleh kurung kurawal, bukan indentasi, C++ tidak memaksa kamu memakai indentasi. Tetapi kamu tetap sebaiknya memakainya: indentasi adalah cara manusia membaca struktur yang dibentuk kurung kurawal. Bug yang umum adalah kurung kurawal yang tidak berpasangan: setiap { butuh penutup }. Kalau kamu lupa satu, compiler biasanya melaporkan error di dekat akhir file (expected '}' at end of input), jauh dari tempat kamu sebenarnya salah. Menghitung kurung kurawal, atau membiarkan editor mencocokkannya untukmu, menghindarkan banyak kebingungan.

Output dengan cout dan <<

Kamu sudah beberapa kali melihat cout. Ini adalah stream output standar, dan kamu mengirim nilai ke sana dengan operator << (baca sebagai "masukkan ini ke output"):

Kamu bisa merangkai << untuk mencetak beberapa hal berturut-turut. endl mengakhiri baris (dan juga mengosongkan buffer); escape sequence "\n" adalah cara yang lebih ringan untuk mencetak baris baru. Untuk program sederhana, keduanya sama-sama boleh.

Soal using namespace std; di bagian atas: nama-nama dari standard library berada di namespace std, jadi nama lengkapnya adalah std::cout. Menulis using namespace std; sekali membuatmu bisa membuang awalan std:: dan cukup menulis cout. Ini praktis di contoh pendek, tetapi di proyek yang lebih besar banyak tim lebih memilih std::cout yang eksplisit untuk menghindari bentrokan nama. Jadi jangan heran kalau kamu melihat keduanya.

Sekarang Kamu Bisa Membaca Kerangka Program Apa Pun

Include di bagian atas, fungsi main sebagai titik masuk, pernyataan yang diakhiri titik koma, kurung kurawal yang mengelompokkan kode menjadi blok, dan cout << untuk output: kerangka itu ada di hampir setiap file C++ yang akan kamu buka. Sisa bahasanya adalah detail yang ditumpuk di atas beberapa bentuk ini. Kalau sebuah program terlihat menakutkan, cari main terlebih dulu, lalu baca pernyataannya secara berurutan; strukturnya akan menuntunmu.

Berikutnya: Komentar

Saat ini setiap baris di programmu adalah kode yang dibaca compiler. Berikutnya kita akan menambahkan baris yang sengaja diabaikannya, yaitu komentar, supaya kamu bisa meninggalkan catatan untuk dirimu sendiri dan pembaca lain. Kamu akan melihat bentuk satu baris // dan bentuk blok /* ... */, plus kapan masing-masing jadi pilihan yang tepat.

Pertanyaan yang sering diajukan

Kenapa setiap pernyataan C++ butuh titik koma?

C++ mengabaikan pergantian baris dan spasi, jadi ia butuh penanda eksplisit tentang di mana satu pernyataan berakhir dan pernyataan berikutnya dimulai. Penanda itu adalah titik koma ;. Titik koma yang hilang adalah compile error paling umum bagi pemula, dan nomor baris yang dilaporkan sering kali adalah baris setelah baris tempat kamu lupa menulisnya.

Apa fungsi int main() di C++?

main adalah fungsi tempat program mulai berjalan: eksekusi dimulai di baris pertamanya dan berakhir saat fungsi itu mengembalikan nilai. Setiap program C++ butuh tepat satu main. int berarti fungsi ini mengembalikan kode status berupa bilangan bulat ke sistem operasi, dan menurut konvensi 0 menandakan berhasil.

Apakah aku harus menulis std:: sebelum cout?

Tulis std::cout (nama lengkap) atau tambahkan using namespace std; sekali di bagian atas, lalu cukup tulis cout. Bentuk lengkap lebih aman di file yang lebih besar; using namespace std; adalah jalan pintas yang umum di contoh kecil dan tutorial.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai