SDK terpasang, editor siap, dan dotnet CLI sudah kita kenal. Sekarang kita rangkai semuanya menjadi satu: project pertama bernama HaloApp, dari terminal kosong sampai program berjalan dan menampilkan output.

Membuat Kerangka Project #

  1. Buka terminal dan buat folder latihan, misalnya ~/latihan-csharp.
  2. Jalankan perintah pembuat template dengan nama HaloApp.
  3. Masuk ke folder project yang baru dibuat.
bash
mkdir -p ~/latihan-csharp && cd ~/latihan-csharp
dotnet new console -o HaloApp
cd HaloApp

Output yang Dihasilkan:

text
The template "Console App" was created successfully.

Processing post-creation actions...
Restoring ~/latihan-csharp/HaloApp/HaloApp.csproj:
  Determining projects to restore...
  Restored ~/latihan-csharp/HaloApp/HaloApp.csproj (in 65 ms).
Restore succeeded.

Template Console App membuat dua file: Program.cs dan HaloApp.csproj. Folder bin/ dan obj/ muncul setelah build pertama dijalankan. Struktur lengkapnya dibahas tuntas di bab Struktur Project .NET.

Kode Bawaan Template #

Buka file Program.cs:

csharp
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

Jalankan langsung:

bash
dotnet run

Output yang Dihasilkan:

text
Hello, World!

Kita bedah isi file tersebut:

  1. Baris 1 — komentar untuk pembaca manusia; compiler mengabaikannya. Tautannya mengarah ke dokumentasi template console.
  2. Baris 2 — Console.WriteLine("Hello, World!") mencetak teks ke terminal diikuti perpindahan baris.

Tidak ada class Program dan tidak ada method Main — template modern memakai top-level statements. Compiler C# membungkus pernyataan tingkat atas menjadi class dan entry point secara otomatis saat kompilasi.

Mengubah Menjadi Program Pertama Kita #

Ganti isi Program.cs menjadi:

csharp
string nama = "Budi";
Console.WriteLine($"Halo, {nama}! Selamat belajar C#.");

Jalankan ulang:

bash
dotnet run

Output yang Dihasilkan:

text
Halo, Budi! Selamat belajar C#.

Bedah baris-per-baris:

  1. string nama = "Budi"; — deklarasi variabel nama bertipe string dengan nilai "Budi".
  2. Console.WriteLine($"Halo, {nama}! ...") — tanda $ sebelum tanda kutip mengaktifkan string interpolation; ekspresi di dalam {...} dievaluasi dan hasilnya disisipkan ke teks.

Menjalankan dari Editor #

Program yang sama dapat dijalankan dari editor:

  • VS Code: buka folder HaloApp, lalu tekan F5 atau jalankan dotnet run di terminal terintegrasi.
  • Visual Studio: buka folder project, lalu tekan Ctrl+F5.

Kedua jalur memanggil build dan .NET runtime yang sama, sehingga output yang dihasilkan identik dengan versi terminal.