Belajar C# - Sintaks Dasar & Struktur Program
Series/Belajar C#/Episode 3
Episode 3 of 23

Belajar C# - Sintaks Dasar & Struktur Program

Episode ini mengajarkan fondasi sintaks C#: struktur program dengan top-level statements, deklarasi variabel dan konstanta, tipe data dasar, operator dan control flow, serta cara menjalankan program console pertama secara lengkap.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Di episode 2 kalian memahami arsitektur di balik C#. Sekarang saatnya menulis kode sungguhan. Episode 3 adalah fondasi paling penting karena hampir semua sintaks lain dibangun di atas variabel, tipe data, operator, dan control flow yang kita pelajari di sini.

C# adalah bahasa yang ekspresif: banyak cara untuk menulis hal yang sama. Di episode ini kita memakai gaya modern yang disarankan — var untuk variabel lokal, top-level statements untuk program sederhana, dan string interpolation untuk menyusun teks.

Episode 3 ini mencakup struktur program console, deklarasi variabel dan konstanta, tipe data dasar, operator serta control flow, dan cara menjalankan semuanya dengan dotnet CLI.

Struktur Program Console

Top-level Statements

Project console baru dari template menggunakan top-level statements: kalian langsung menulis pernyataan tanpa kelas dan method Main. Compiler akan membungkusnya secara otomatis. Ini membuat program kecil menjadi ringkas:

Program.cs dengan top-level statements
Console.WriteLine("Belajar C#");
Console.WriteLine($"Bulan sekarang: {DateTime.Now:MMMM}");

Untuk program yang lebih besar, kalian tetap bisa menulis method Main secara eksplisit:

Program.cs dengan method Main
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine($"Jumlah argumen: {args.Length}");
    }
}

Pola kedua ini lazim di project lama atau saat kalian butuh kontrol penuh atas entry point. Untuk seri ini, kita memakai top-level statements kecuali disebutkan lain.

Deklarasi Variabel dan Konstanta

Keyword var

var adalah cara menyingkat deklarasi variabel: tipe ditentukan compiler dari nilai awalnya. Ini bukan variabel dinamis — tipe tetap ketat, hanya penulisannya yang pendek:

Deklarasi variabel dengan var
var nama = "Arman";
var umur = 30;
var gaji = 7.5m;
Console.WriteLine($"{nama} berusia {umur} tahun");

Perhatikan bahwa var gaji = 7.5m disimpulkan sebagai decimal karena ada akhiran m. Compiler menegakkan tipe ini — jika kalian memaksa mengisi nilai yang salah, build langsung gagal.

Keyword const dan readonly

Gunakan const untuk nilai yang benar-benar tetap dan diketahui saat kompilasi. Untuk nilai yang ditentukan saat runtime tapi tidak boleh berubah setelahnya, gunakan readonly:

Konstanta dan readonly
const double Pajak = 0.11;
var namaAplikasi = "Toko";
 
readonly string Region = "id";
Console.WriteLine($"Pajak {Pajak:P0}, region {Region}");

Catatan: const hanya berlaku untuk tipe primitif dan string. Untuk nilai kompleks yang tidak berubah, readonly adalah pilihan yang tepat.

Tipe Data Dasar

Bilangan, Teks, dan Boolean

Tipe data dasar C# sesuai domain masing-masing:

  • int: bilangan bulat 32-bit, cukup untuk sebagian besar hitungan.
  • long: bilangan bulat 64-bit untuk nilai besar.
  • double: bilangan pecahan 64-bit, default untuk perhitungan ilmiah.
  • decimal: pecahan presisi tinggi untuk uang, bebas error pembulatan.
  • bool: nilai benar atau salah.
  • string: teks Unicode yang immutable.
Tipe data dasar
int jumlahBarang = 5;
long totalPengunjung = 1_000_000L;
double rataRata = 3.14;
decimal harga = 199_999.99m;
bool stokTersedia = true;
string pesan = "Halo dunia";
 
Console.WriteLine($"{jumlahBarang} | {totalPengunjung} | {harga:C}");

Notasi _ sebagai pemisah ribuan (underscore digit separator) mulai C# 7.0 dan membuat angka besar mudah dibaca. Akhiran L untuk long dan m untuk decimal menegaskan tipe literal.

Operator dan Control Flow

Operator Perbandingan dan Logika

C# menyediakan operator perbandingan (<, >, ==, !=) dan logika (&&, ||, !). Evaluasi logika bersifat short-circuit: ekspresi berhenti begitu hasilnya sudah pasti.

Operator dan percabangan
var nilai = 78;
var naikKelas = nilai >= 75;
var beasiswa = naikKelas && nilai > 90;
 
if (beasiswa)
{
    Console.WriteLine("Kalian mendapat beasiswa penuh.");
}
else if (naikKelas)
{
    Console.WriteLine("Kalian naik kelas.");
}
else
{
    Console.WriteLine("Kalian harus mengulang.");
}

Perulangan for dan foreach

Untuk perulangan, for dipakai saat kalian tahu jumlah iterasi, sedangkan foreach paling aman saat memproses koleksi:

Perulangan for dan foreach
for (var i = 1; i <= 5; i++)
{
    Console.WriteLine($"Iterasi ke-{i}");
}
 
var daftar = new[] { "satu", "dua", "tiga" };
foreach (var item in daftar)
{
    Console.WriteLine(item);
}

Perulangan foreach var item in daftar tidak akan pernah melewati batas koleksi, sehingga lebih aman dibanding mengakses indeks manual.

Menjalankan Program

Build dan Run

Simpan semua kode di atas dalam Program.cs, lalu jalankan:

Menjalankan program console
dotnet run

Jika ada kesalahan tipe, compiler akan berhenti dan menampilkan pesan lengkap dengan nomor baris. Biasakan membaca pesan error compiler — itu adalah teman terbaik kalian selama belajar C#.

Penutup

Inti yang harus dibawa pulang:

  • Top-level statements membuat program kecil ringkas tanpa kelas dan method Main.
  • var menyimpulkan tipe saat kompilasi, bukan membuat variabel dinamis.
  • const untuk nilai tetap saat kompilasi; readonly untuk nilai tetap saat runtime.
  • decimal wajib untuk uang; double untuk perhitungan ilmiah.
  • Operator logika bersifat short-circuit; foreach lebih aman dari indeks manual.

Di episode 4 selanjutnya kita masuk ke jantung paradigma C#: classes, objects, dan OOP — class dan constructor, enkapsulasi dengan properties, inheritance, polymorphism, abstract class dan interface, serta record types untuk data immutable.

Belajar C# - Sintaks Dasar & Struktur Program | Belajar C#