You are currently viewing Membedah Anatomi Program Sederhana Bahasa C#

Membedah Anatomi Program Sederhana Bahasa C#

Halo! Selamat datang kembali di “Seri Belajar Dasar Pemrograman Bahasa C#“. Pada materi kali ini kita akan membedah anatomi program sederhana bahasa C#.

Setelah menyelesaikan materi ini, sebagai pemula, Anda akan semakin familiar dengan struktur program yang ditulis dengan bahasa C#. Materi ini akan kita mulai dengan membuat sebuah aplikasi console sederhana bernama “Tebak Angka”.

Membuat Program C# Pertama Anda

Sebagai pemanasan sebelum kita mulai membedah anatomi atau konstruksi sebuah program sederhana yang ditulis dengan bahasa C#, kita akan membuat sebuah aplikasi permainan console bernama “Tebak Angka”.

Dalam permainan ini, pemain diharuskan menebak apa angka yang sedang dipikirkan oleh komputer saat ini, sampai tebakannya benar.

Untuk itu, kita akan menulis beberapa baris kode program dengan bahasa C#. Mungkin Anda akan merasa kurang familiar dengan apa yang Anda tulis sekarang. Namun, jangan khawatir! Selama Anda mengikuti Seri Belajar Dasar Pemrograman Bahasa C# dengan baik, sedikit demi sedikit Anda akan mulai familiar dengan setiap baris kode program yang Anda tulis di sini.

Sementara ini, ikuti saja instruksi yang saya berikan. Sudah siap menulis program C# pertama Anda? Ayo kita mulai!

Membuat aplikasi console C# dengan .NET Core

1. Buat sebuah folder bernama “TebakAngka” di lokasi manapun di dalam direktori komputer Anda.

Jika Anda menggunakan sistem operasi Windows, buka folder tersebut, ketik cmd di directory bar pada Windows Explorer, lalu tekan enter untuk membuka command prompt pada direktori tersebut.

Membuka command prompt dari Windows explorer

Catatan

Jika Anda menggunakan sistem operasi lain seperti Linux atau MacOS, Anda bisa membuka Command Line Tools atau Terminal yang disediakan masing-masing OS tersebut. Arahkan direktori ke folder TebakAngka yang Anda buat dengan menggunakan perintah cd (current directory). MacOS | Linux

2. Ketik dotnet new console pada command prompt untuk membuat aplikasi console di .NET Core.

Membuat aplikasi console dengan command line interface .net core
Membuat Aplikasi Console Dengan .NET Command Line Interface

Anda akan mendapatkan pesan seperti pada gambar di bawah ini apabila sebuah aplikasi console telah berhasil dibuat.

Membuat aplikasi konsol dengan dotnet core

3. Masih di jendela command prompt, ketik code . untuk membuka Visual Studio Code (Selanjutnya saya akan menyebutnya VS Code). Perhatikan ada tanda titik “.” setelah code!

membuka visual code dari command line
Membuka VS Code dari command prompt

4. Setelah VS Code terbuka, tidak lama akan muncul pesan agar Anda menambahkan aset yang diperlukan untuk melakukan debugging seperti pada gambar di bawah ini. Tekan tombol “Yes”.

Missing debugging asset

Perhatikan panel Explorer di sisi kiri editor! Sebuah folder bernama .vscode akan ditambahkan jika sebelumnya Anda menekan tombol “Yes”.

folder debugging asset

Menulis kode program menggunakan Visual Studio Code

Arahkan kursor Anda ke panel Explorer, lalu pilih file Program.cs. VS Code akan menampilkan kode program di dalam file tersebut di panel editor. Hapus baris kode program Console.WriteLine("Hello World!");yang berada di dalam blok Main(). Ganti dengan kode program di bawah ini (letakkan di antara tanda { dan } tepat setelah static void Main(string[] args)).

Console.Clear();
Random random = new Random();
int randNumber = random.Next(0,100);
bool guessed = false;
int guesses = 0;

ConsoleColor prevColor = Console.ForegroundColor;

while (!guessed)
{
    Console.Write("Tebak! angka berapa yang saya pikirkan?: ");
    int ans = Convert.ToInt32(Console.ReadLine());

    guesses += 1;
    Console.Clear();
    if (ans == randNumber)
    {
        Console.ForegroundColor = ConsoleColor.Cyan;
        Console.WriteLine("SELAMAT! Kamu menebaknya dengan BENAR.");
        Console.ForegroundColor = prevColor;
        Console.WriteLine("Kamu perlu menebak {0} kali.", guesses);                    
        break;
    }
    else if (ans > randNumber)
    {
        Console.ForegroundColor = ConsoleColor.Red;
        Console.WriteLine("Angkanya LEBIH KECIL daripada angka yang kamu tebak.");
        Console.ForegroundColor = prevColor;
    }
    else if (ans < randNumber)
    {
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("Angkanya LEBIH BESAR daripada angka yang kamu tebak.");
        Console.ForegroundColor = prevColor;
    }
}

Console.ReadKey();

Tekan ctrl + F5 pada VS Code untuk menjalankan program tanpa melakukan debugging. Atau, Anda bisa menekan ctrl + @ untuk membuka integrated terminal (command prompt yang terintegrasi dengan VS Code), ketik dotnet run, lalu tekan tombol enter.

integrated terminal di vs code

Saatnya, bermain! Tebak, angka berapa yang dipikirkan oleh program Anda?

tebak angka

Jika angka tebakan Anda lebih besar dari jawaban, Anda akan mendapatkan pesan seperti pada gambar di bawah ini.

Sebaliknya jika lebih kecil dari jawaban, Anda akan mendapatkan pesan seperti pada gambar di bawah ini.

Setelah Anda menebak angkanya dengan benar, Anda akan mendapatkan pesan seperti pada gambar di bawah ini.

tebak angka

Seru, bukan? Nantinya, setelah menyelesaikan seluruh materi di MahirKoding.id, Anda diharapkan mampu mengembangkan aplikasi yang lebih kompleks dan tentunya lebih seru.

Pemanasan selesai. Sekarang saatnya kita bedah dan kuliti anatomi atau konstruksi dari sebuah program sederhana yang ditulis dengan bahasa pemrograman C#.

Anatomi Program Sederhana Dengan Bahasa C#

Pada saat pertama kali Anda membuka Program.cs, Anda bisa melihat bahwa .NET Core telah menyediakan beberapa baris kode program sebagai kerangka atau template seperti yang terlihat pada kode program di bawah ini.

using System;

namespace TebakAngka
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Jika Anda menjalankan kode program di atas, teks “Hello World!” akan ditampilkan di layar console. Kode program ini merupakan konstruksi minimal yang harus dimiliki setiap program C# agar bisa dijalankan. Jika Anda ingin memahami apa maksud dan kegunaan dari setiap baris kode program di atas, ayo kita lanjutkan!

Fungsi using directive dan namespace

Buat sebuah program baru dengan cara yang sama seperti sebelumnya. Beri nama ProgramSederhana. Buka file Program.cs, lalu hapus baris kode using System;.

Apa yang terjadi? Coba perhatikan baris Console.WriteLine("Hello World!");. Muncul garis merah bergelombang (red squiggly) di bawah Console. Jika Anda mengarahkan kursor tepat di atas Console, Anda akan mendapatkan pesan eror seperti pada gambar di bawah ini.

pesan eror

Eror seperti di atas muncul karena kini compiler tidak bisa mengenali apa itu Console di dalam namespace ProgramSederhana yang berada di dalam file Program.cs (current context). Mengapa? Karena nama Console didefinsikan di dalam sebuah file pada Base Class Library (.NET Framework) / Core Library (.NET Core) dengan namespace System. Agar compiler bisa mengenali nama Console yang digunakan di dalam Program.cs, Kita harus mengimpor atau menyertakan namespace System ke dalam file Program.cs terlebih dahulu.

Jadi, directive using System; digunakan untuk menyertakan namespace System ke dalam suatu context (dalam hal ini kode program di dalam file Program.cs), agar Anda bisa menggunakan nama-nama yang didefinisikan di namespace tersebut (misal, Console) dari dalam konteks program Anda (namespace TebakAngka di dalam file Program.cs).

Namespace

Namespace digunakan untuk memberi ruang lingkup penamaan class supaya tidak terjadi konflik penamaan apabila terdapat dua buah class berbeda dengan nama yang sama. Untuk mempelajari namespace lebih mendalam, klik tautan di bawah ini.

Fungsi class Program

Bahasa C# pada dasarnya adalah bahasa pemrograman berorientasi objek (OOP). Dalam OOP, setiap kode program harus dienkapsulasi atau dirangkum ke dalam sebuah class. Dalam hal ini, class Program berfungsi untuk mengenkapsulasi method Main().

Jika penjelasan saya masih terasa asing bagi Anda, tidak perlu khawatir. Konsep class dan objek bisa Anda pelajari di materi pemrograman berorientasi objek setelah menyelesaikan seri belajar dasar pemrograman bahasa C#.

Class

Class merupakan sebuah prototype dari sebuah objek dan merupakan jantung dari pemrograman berorientasi objek. Untuk mengenal class lebih lanjut, klik tautan di bawah ini.

Fungsi static Main()

Method Main merupakan entry point atau pintu masuk dari program kita. Maksudnya, method Main() adalah yang pertama kali dipanggil dan dieksekusi oleh compiler saat program kita dijalankan.

Karena compiler harus segera memanggil dan mengeksekusi method Main(), maka method tersebut harus didekorasi dengan kata kunci static. Dalam pemrograman OOP, tanpa kata kunci static, compiler harus menginstansiasi (mengkreasi) objek dari class Program terlebih dahulu sebelum mengeksekusi Main(). Hal ini tentunya tidak memungkinkan!

Coba hapus kata kunci static pada method Main() dan jalankan program Anda. Tentunya, Anda akan mendapatkan pesan eror: Program does not contain a static ‘Main’ method suitable for an entry point.

Pada template yang dibuat oleh .NET Core, method Main() memiliki satu buah parameter berupa array dari tipe string bernama args (Main(string[] args)). Ketika sebuah method memiliki parameter, artinya method tersebut bisa menerima input yang biasa disebut dengan argumen.

Apabila method Main() adalah method yang dipanggil oleh compiler, maka kapan kita bisa memberi input berupa argumen ke method Main()? Jawabannya adalah melalui Command Line Argument.

Apa Itu Command Line Argument?

Tambahkan kode program di bawah ini ke dalam program ProgramSederhana. setelah Console.WriteLine("Hello World!");.

for (int i = 0; i < args.Length; i++)
    Console.WriteLine("Arg: {0}", args[i]);

Buka integrated terminal dengan menekan tombol ctrl + @ pada keyboard (Saya berasumsi, Anda menggunakan VS Code). Beri perintah dotnet run, lalu tekan tombol enter.

Anda hanya akan melihat tulisan “Hello World!” pada layar console.

Kembali ke integrated terminal. Kali ini beri perintah dotnet run arg1 arg2 arg3, lalu tekan tombol enter. Kira-kira apa hasil yang akan ditampilkan di layar console? Tulis jawaban Anda di kolom komentar.

Perintah dotnet run biasa disebut dengan command line. Sedangkan arg1, arg2, dan arg3 adalah argumen yang kita sertakan ketika memberikan perintah dengan command line. Oleh karena itu, arg1, arg2, dan arg3 disebut dengan command line argument.

Penutup

Pada materi kali ini, kita telah berhasil membuat sebuah program dengan bahasa C#.

Kita juga telah mempelajari anatomi atau struktur yang menyusun konstruksi sebuah program C# sederhana. Di mana setiap program yang ditulis dengan bahasa C# biasanya minimal menggunakan using directive, namespace, class, dan method Main().

Jika Anda merasa kesulitan dalam memahami materi ini, jangan menyerah! Tulis kesulitan atau pertanyaan Anda di kolom komentar, saya akan membantu.

Selamat belajar!

This Post Has One Comment
  1. Bangga Shepta Preskaya

    Kak Dian, kenapa waktu saya Start Withouth Debugging malah muncul pesan:
    Unhandled exception. System.IO.IOException: The handle is invalid.
    at System.ConsolePal.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
    at System.ConsolePal.Clear()
    at System.Console.Clear()
    at TebakAngka.Program.Main(String[] args) in D:\MahirKoding\TebakAngka\Program.cs:line 11
    Mohon bantuannya. Terima kasih

Tinggalkan Balasan