Programming Dalam C#
Cara membacanya adalah “Si Syarp”, bukan “Si Hesh”.
Programming Dalam C
Cara membacanya adalah “Si Syarp”, bukan “Si Hesh”.
Bahasa ini masih termasuk keluarga bahasa C, dengan sintaks sebagian besar sama, tetapi sama seperti C++, bahasa ini berorientasi objek, meskipun sekarang bisa digunakan dengan sejumlah cara lain, termasuk untuk semi-scripting.
Untuk keperluan tutorial mengenai pemrograman ini, sebaiknya kita menggunakan materi yang ada di dalam Belajar C++, Pemrograman GUI Windows dan juga Perkalian Matriks, yang sebelumnya kita tulis menggunakan C/C++, lalu mengubahnya menjadi program C#.
Jika menggunakan Windows, sebaiknya buat sebuah file bernama “Terminal.bat” yang bisa kita klik setiap kali kita memerlukan compiler C# dari dalam Explorer. Simpan file tersebut di dalam sebuah direktori kosong.
@echo off
PATH=%PATH%;%WINDIR%\Microsoft.NET\Framework64\v4.0.30319
cmd
Dengan cara ini Anda tidak perlu mengunduh atau menginstall apa-apa untuk membuat program, karena baik Windows 7 maupun Windows 10 menyediakannya secara gratis.
Compiler yang akan kita pakai memang adalah versi lama, tetapi sudah cukup jika hanya ingin belajar pemrograman yang menggunakan sebuah bahasa keturunan dari C.
Jika kita double click icon file “Terminal.bat” yang baru kita buat tadi, yang tampil adalah “cmd.exe” dengan direktori di mana Anda meletakkan file tersebut. Coba ketik “csc” (nama compiler C#) tanpa argumen apa-apa.

Abaikan pemberitahuan tentang versi compiler lama dan anjuran untuk mengunduh versi yang lebih baru itu, karena untuk keperluan kita justru versi inilah yang ingin kita pakai, supaya Anda tidak usah menginstall apa-apa lagi.
Untuk membuat sebuah program “Hello, World!” seperti sebelumnya, yang kita perlukan hanya beberapa baris kode ini.
using System;
namespace Test1 {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello, World!");
}
}
}
Ini pun bisa kita buat lebih sederhana lagi, dengan menghilangkan “namespace”.
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello, World!");
}
}
Untuk sementara, pahami dulu bahwa untuk menampilkan sebuah teks dalam mode “console”, kita perlu memanggil sebuah fungsi bernama “WriteLine” milik sebuah objek yang bernama “Console”.
Perhatikan baik-baik, seperti dalam bahasa C/C++, bahasa C# juga case-sensitive. Jadi nama objek global tersebut adalah “Console”, bukan “console”, dan nama fungsi itu adalah “WriteLine”, bukan “writeLine” atau “writeline”.
Argumen berupa teks (istilahnya adalah “string”) itu juga perlu diapit dengan sepasang tanda petik ganda atau tunggal.
Selain itu, tidak seperti fungsi “main” dalam C/C++, fungsi utama kita di sini ternyata harus dibungkus dalam sebuah “class” sebagai static function.
Setelah menulis program itu, kita perlu membuatnya menjadi “.exe” sebelum bisa dijalankan. Ketik perintah berikut di dalam terminal yang tadi sudah dibuka. Diasumsikan Anda menyimpan file di atas dengan nama “test1.cs” dalam direktori yang sama dengan “Terminal.bat”.
csc /out:test1.exe test1.cs
Seharusnya tidak ada kesalahan, dan Anda pasti akan melihat sebuah file baru bernama “test1.exe” di situ. Untuk menjalankannya, cukup ketik nama “test1.exe” itu dari dalam terminal.
Perhatikan baik-baik, program “test1.exe” itu hanya berukuran sekitar 3.5 KB. Output program pendek itu tentu saja hanya menampilkan teks “Hello, World!”, lalu keluar, persis seperti program contoh milik C++ sebelumnya.
Tetapi ada beberapa hal yang bisa diteliti di sini.
Hanya ada satu arameter “args” yang bertipe array “string”, yaitu sebuah “class” yang mewakili teks. Berapa banyak argumen yang dikirimkan pengguna ke program kita bisa dicek melalui “args.Length”.
Dengan kata lain, untuk menampilkan semua argumen yang dikirimkan oleh pengguna, kita bisa memakai cara berikut:
using System;
namespace Test1 {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello, World!");
for (int i = 0; i < args.Length; i++) {
Console.WriteLine(" => {0} ", args[i]);
}
Console.ReadKey();
}
}
}
Saya sengaja menambahkan “Console.ReadKey()” di bagian akhir program, supaya kita tetap dapat melihat output jika program dijalankan dengan cara double-click icon dari dalam Explorer.
Tetapi kali ini kita bukan menjalankannya melalui double-click, tapi harus memanggilnya langsung melalui terminal, dengan cara seperti ini:
test1 this is a test
Setelah Anda menekan ENTER, yang tampil adalah output seperti ini:
Hello, World!
=> this
=> is
=> a
=> test
Program ini adalah sebuah program “console”, yang tidak menampilkan GUI sama sekali. Karena ini baru perkenalan, sekaligus kita akan mencoba menampilkan sebuah Window berupa “Dialog Box” dengan cara yang sangat sederhana berikut. Buat sebuah kode lain yang disimpan sebagai “test2.cs”
using System;
using System.Windows.Forms;
namespace Test2 {
class Hello : Form {
Hello(string sTitle) {
this.Text = sTitle;
MessageBox.Show("Ini contoh aplikasi GUI dari C#",
"Hello",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
[STAThread]
static void Main(string[] args) {
Application.EnableVisualStyles();
Application.Run(new Hello("A Hello Form"));
}
}
}
Kompilasi sebuah program GUI agak lain.
csc /t:winexe /out:test2.exe test2.cs
Mula-mula, ketika dijalankan, yang tampil adalah ini.

Setelah kita menutup “MessageBox” itu, barulah Window aplikasi utama dari class “Hello” ditampilkan.

Setelah Form ini ditutup, sandiwara aplikasi kita yang sederhana ini pun berakhir sudah.
Bagaimana dengan program seperti “Perkalian Matriks” dari C++ sebelumnya?
Program semacam ini bisa menjadi bahan eksperimen dan latihan yang baik untuk kita di sini. Yang perlu diketahui adalah, cara mendeklarasikan sebuah array dalam C# sedikit berbeda dengan C/C++.
Jika dalam C++:
const int m1[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}
};
Dalam C#, sebuah array bisa kita deklarasikan dengan memakai keyword ‘new’ terlebih dahulu.
int[] a = new int[3]; // a memiliki 3 elemen
int[][] b; // null, tapi punya tipe array
int[][] c = {
new int[4]{1, 2, 3, 4},
new int[4]{5, 6, 7, 8},
new int[4]{9, 10, 11, 12},
new int[4]{13, 14, 15, 16}
}; // isi c adalah sama seperti deklarasi C++ sebelumnya
// Untuk mendeklarasikan array[4][4] yang kosong
int[][] result = {
new int[4],
new int[4],
new int[4],
new int[4]
};
Ada banyak cara untuk membuat program yang baik dengan hasil seperti program sederhana C++ sebelumnya. Salah satu contoh yang sangat disederhanakan dari saya, dengan sedikit memanfaatkan sisi “Object Oriented” dari bahasa C# adalah sebagai berikut:
using System;
namespace Test1 {
class Program {
int[][] m1 = {
new int[] {1, 2, 3, 4},
new int[] {5, 6, 7, 8},
new int[] {9, 10, 11, 12},
new int[] {13, 14, 15, 16}
};
int[][] m2 = {
new int[] {11, 12, 13, 14},
new int[] {15, 16, 17, 18},
new int[] {9, 10, 11, 12},
new int[] {13, 14, 15, 16}
};
int[][] m3 = {
new int[4],
new int[4],
new int[4],
new int[4]
};
void Multiply() {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
m3[i][j] = 0;
for (int k = 0; k < 4; k++) {
m3[i][j] += m1[i][k] * m2[k][j];
}
}
}
}
void Print() {
Console.WriteLine("m1:");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
Console.Write(m1[i][j] + " ");
}
Console.WriteLine();
}
Console.WriteLine("m2:");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
Console.Write(m2[i][j] + " ");
}
Console.WriteLine();
}
Console.WriteLine("m3:");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
Console.Write(m3[i][j] + " ");
}
Console.WriteLine();
}
}
static void Main(string[] args) {
Program p = new Program();
Console.WriteLine("========\nAwalnya adalah ini...");
p.Print();
p.Multiply();
Console.WriteLine("\n========\nSetelah dikalikan...");
p.Print();
}
}
}
Cobalah bereksperimen sendiri dengan berbagai cara yang mungkin, untuk mendapatkan hasil yang jauh lebih baik dibandingkan dengan contoh ini.
메타데이터
- post_id
- ae427df2febd
- slug
- programming-dalam-c-ae427df2febd
- url
- https://medium.com/@xaverius2017/programming-dalam-c-ae427df2febd
- canonical_url
- https://medium.com/@xaverius2017/programming-dalam-c-ae427df2febd
- author_url
- https://medium.com/@xaverius2017
- status
- ok
- fetched_at
- 2026-07-18 14:39:10