Pendahuluan
C# (dibaca "C Sharp")
merupakan bahasa pemrograman modern yang berorientasi objek. Secara
sintaks C# mirip dengan bahasa-bahasa keluarga C seperti C, C++, dan
Java. C# menggabungkan produktifitas dan kemudahan yang ada
di Visual
Basic dengan kemampuan dan fleksibilitas yang ada di C++, dan menambahkan
hal-hal baru yang tidak ada di Java. Perancang utamanya adalah Anders
Hejlsberg dari Microsoft, yang dulunya membuat Turbo Pascal dan berperan dalam
pengembangan bahasa Delphi dan IDE Borland Delphi.
Bahasa ini telah diserahkan oleh
Microsoft ke badan standar internasional ECMA.
Proses standarisasinya selesai pada Desember 2001 dengan nama standarnya ECMA-334. Dengan standar tersebut, siapapun dapat dengan mudah
dan bebas membuat implementasi bahasa C#.
Hello,
World!!!
Mungkin cara yang paling baik untuk
mengenal suatu bahasa adalah dengan melihat contoh programnya. Inilah
program "Hello World" yang dibuat dengan C#:
// Contoh001
class Halo
{
static void
Main()
{
System.Console.WriteLine("Halo,
dunia!!!");
}
}
Jika program tersebut dicompile dan
dijalankan, maka akan keluar tulisan berikut di layar:
Halo, dunia!!!
Menganalisa
"Hello World"
Cara mengcompile dan menjalankan
program "Hello World" akan dibahas di akhir tutorial ini.
Sebelumnya, kita akan menganalisa program di atas sedikit demi sedikit.
// Contoh001
Baris tersebut merupakan comment
satu baris. Comment satu baris diawali dengan // dan berakhir di
baris yang bersangkutan. Comment tidak akan mempengaruhi jalannya
program, walaupun begitu comment merupakan alat yang handal untuk dokumentasi
dan penulisan catatan-catatan saat kita membuat program.
Lalu perhatikan baris berikut (baris
sebelumnya sengaja dilompati):
static void Main()
Baris di atas mendeklarasikan suatu
method yang bernama Main() (di beberapa bahasa pemrograman lain, method
disebut fungsi atau subroutine). Setiap program C# harus memiliki method ini.
Method Main() adalah pintu masuk program anda, yang berarti bahwa method
ini akan dipanggil saat program dijalankan. Isi atau tubuh method harus
diawali dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung
kurawal tutup).
C# merupakan bahasa yang "case
sensitive", jadi method yang bernama Main() (m huruf besar) berbeda
dengan method yang bernama main() (m huruf kecil). Kita bisa
melihat bahwa C# meninggalkan adat istiadat keluarga C yang menggunakan method main()
(m huruf kecil) sebagai pintu masuk program. Hal ini dilakukan agar C#
konsisten dengan salah satu panduan penamaan modern yaitu mengawali nama method
dengan huruf besar. Untuk sementara, static dan void tidak
akan dibahas.
Kita bisa lihat bahwa method Main()
berada di dalam class yang bernama Halo, dengan deklarasi sebagai
berikut:
class Halo
Class merupakan salah satu unit
enkapsulasi di C#. Maksudnya, class digunakan untuk mengelompokkan
data-data dan method-method yang saling berhubungan. Tubuh class dibatasi
dengan { dan }.
Di dalam C#, method harus berada di
dalam unit enkapsulasi, contohnya class. Dalam Contoh001, method Main()
berada di dalam class Halo. Ini adalah aturan baru bagi
programmer C dan C++, tetapi bukanlah hal yang asing bagi programmer
Java. Kita bebas menentukan nama class yang memuat method Main().
Aktivitas utama program kita
terletak di baris berikut:
System.Console.WriteLine("Halo, dunia!!!");
Saat program dijalankan, baris
tersebut menyebabkan keluarnya tulisan "Halo, dunia!!!" yang diikuti
baris baru. Hal tersebut dilaksanakan oleh method WriteLine().
Method WriteLine() tersebut berada di dalam class yang bernama Console
(sebagaimana method Main() berada dalam suatu class). Class Console
sendiri dikelompokkan ke dalam namespace yang bernama System.
Namespace digunakan untuk mengelompokkan class-class dan beberapa elemen bahasa
lainnya. Jadi kita memanggil method WriteLine() dengan menuliskan
mulai dari nama namespacenya, class yang memuatnya, sampai ke method itu
sendiri. “Halo Dunia!” dikatakan sebagai argumen bagi method WriteLine().
Class Console merupakan bagian dari BCL (Base Class Library), jadi bisa
dipastikan bahwa semua implementasi standar C# memilikinya.
Baris yang barus saja kita bahas
biasa disebut dengan statement. Statement di atas melakukan pemanggilan
method, tetapi nanti kita akan melihat bahwa masih banyak jenis-jenis statement
lainnya. Setiap statement di C# harus diakhiri dengan ; (titik
koma).
Terlalu
Panjang?
Jika kita membuat program console,
kita akan banyak memakai method WriteLine(). Pemanggilannya yang
cukup panjang seperti pada Contoh001 tentunya akan merepotkan. Ada cara
yang dapat dilakukan untuk menyingkatnya, yaitu sebagai berikut:
// Contoh002
using System;
class HaloDanDadah
{
static void
Main()
{
Console.WriteLine("Halo!");
Console.WriteLine("Dadah!");
}
}
Output programnya adalah sebagai
berikut:
Halo!
Dadah!
Perhatikan statement berikut:
using System;
Statement tersebut memungkinkan kita
untuk menggunakan semua class yang berada di dalam namespace System
secara langsung. Karenanya, pemanggilan terhadap method WriteLine()
cukup diawali dengan nama classnya yaitu Console.
Di dalam Contoh002 juga jelas
terlihat bahwa method WriteLine() mengganti baris setelah menuliskan
argumennya. Oleh karena itu, "Dadah!" tertulis di bawah
"Halo!".
Membuat,
Mengcompile, dan Menjalankan Program
Di bagian ini akan dibahas dua cara,
yaitu menggunakan Framework .NET di Windows dan menggunakan Mono di Linux.
Menggunakan
Framework .NET di Windows
Yang pertama kali harus kita lakukan
adalah mendownload Microsoft .NET Framework SDK (106 MB) atau Microsoft .NET Framework Redistributable (23 MB). Ukuran versi SDK
jauh lebih besar dari versi redistributablenya, sebab
versi SDK memuat dokumentasi, contoh-contoh program, dan tools-tools tambahan
yang berguna untuk pengembangan program. Untuk mencoba program-program di
tutorial ini anda dapat menggunakan versi redistributable. Dokumentasi
yang ada di SDK akan menjadi kebutuhan saat anda sudah memulai pemrograman
serius menggunakan C#. Versi SDK hanya akan dapat berjalan di Windows
2000, Windows XP, dan Windows Server 2003.
Setelah menginstall Framework .NET,
di dalam folder Windows anda akan terdapat folder yang menyimpan compiler
C#. Contoh foldernya adalah sebagai berikut:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
Lokasi tepatnya bergantung pada
lokasi folder Windows anda dan versi Framework .NET yang anda install.
Compiler C# yang terletak di folder tersebut bernama csc.exe.
Untuk dapat memanggil compiler C# dari folder manapun, pastikan untuk menulis
perintah seperti berikut di command prompt (cek dulu lokasi foldernya):
PATH = %PATH%; C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
Setting tersebut hanya akan berlaku
dan bertahan pada command prompt yang sedang anda gunakan. Untuk
membuatnya universal dan permanen, tambahkan perintah tersebut ke file autoexec.bat.
Cara lainnya, jika anda menggunakan Windows 2000 atau Windows XP, adalah dengan
mengklik kanan "My Computer", memilih "Properties", masuk
ke tab "Advanced", dan memilih "Environment
Variables". Di bagian "System Variables" terdapat variabel
"Path". Tambahkan folder tempat Framework .NET terinstall ke
variable "Path" tersebut.
Anda dapat menuliskan
program-program C# dengan text editor seperti notepad. Save source code
anda dengan akhiran cs, misalnya contoh002.cs. Untuk mengcompile program
anda, masuklah ke command prompt dan gunakan csc. Misalnya, untuk
mengcompile contoh002.cs digunakan perintah berikut:
csc contoh002.cs
Hasil kompilasinya adalah
contoh002.exe. Anda dapat menjalankannya dengan mengetikkan nama filenya,
misalnya:
contoh002
Menggunakan
Mono di Linux
Mono merupakan salah satu proyek open source untuk membuat
implementasi Framework .NET. Cara-cara menginstallnya terdapat di website
yang bersangkutan. Setelah Mono terinstall, ketik source code dengan text
editor favorit anda dan save dengan akhiran cs. Untuk mengcompile program
anda, gunakan perintah berikut:
mcs namaprogram.cs
Untuk menjalankannya, gunakan
perintah berikut:
mono namaprogram.exe
Terdapat juga Mono untuk
Windows. Silahkan mencobanya jika anda tertarik.
Menggunakan
IDE (Integrated Development Environment)
Selain menggunakan text editor dan
command line compiler, kita bisa juga menggunakan beberapa IDE yang telah
tersedia. IDE gratis yang bisa diperoleh contohnya adalah SharpDevelop (lihat gambar di atas) dan MonoDevelop. IDE komersial yang ada
contohnya adalah Microsoft Visual Studio .NET 2003.
Berkenalan
dengan CLR dan Konsep Program Managed
Program-program C# yang dihasilkan
tidaklah terikat dengan hardware maupun operating system tertentu. Untuk
menjalankan suatu program C#, di komputer (atau alat elektronik lain) yang
bersangkutan harus tersedia CLR (Common Language Runtime). Jalannya
sebuah program C# akan dikelola sepenuhnya oleh CLR, oleh karena itu program C#
dikatakan sebagai program yang managed. Program-program klasik yang
langsung berinteraksi dengan operating system maupun hardware tertentu disebut
program unmanaged. Untuk lebih jelasnya, lihatlah diagram berikut:
Dengan perantara CLR tersebut,
program-program C# menjadi portable. Misalnya, program C# yang dicompile
menggunakan Microsoft .NET Framework dapat langsung dijalankan di Linux asalkan
terinstall Mono atau implementasi CLR lainnya. Mungkin anda sudah bisa
menebak bahwa Microsoft .NET Framework dan Mono merupakan beberapa implementasi
CLR yang ada. Beberapa implementasi CLR lainnya contohnya adalah Microsoft .NET Compact Framework (untuk Pocket PC dan handphone), dotGNU Portable .NET (untuk Linux), dan Rotor
(untuk FreeBSD).
Konsep ini sekilas terdengar mirip
dengan Java dan JVMnya, namun ada beberapa hal yang membedakan CLR dengan Java.
CLR merupakan bagian dari standar
internasional yang disebut CLI (Common Language Infratructure). CLI
memuat CLR, CIL (Common Intermediate Language, analog dengan Java bytecode),
dan BCL (Base Class Library). Sifat CLR yang merupakan open standard
memungkinkan siapa saja membuat implementasinya. Hal ini berbeda dengan
platform Java yang merupakan platform pribadi milik Sun.
Tidak seperti platform Java yang
terkait dengan bahasa Java, CLR tidak terkait dengan bahasa pemrograman apapun.
Contoh-contoh bahasa yang bisa dipakai untuk membuat program managed adalah C#,
Managed Extension for C++, Visual Basic .NET, Jscript .NET, J#, Pascal .NET,
Delphi .NET, Phyton .NET, Eiffel#, COBOL .NET, dan Perl .NET. Program
yang dibuat dengan bahasa berbeda dapat dengan mudah berinteraksi!
CLI dibuat oleh Microsoft bersamaan
dengan implementasinya yaitu Framework .NET. Microsoft menyerahkan CLI
kepada ECMA untuk distandarisasi agar pengadopsiannya lebih cepat dan
meluas. Hasil standarisasi tersebut tidaklah sia-sia, sebab dengan
standar-standar yang ada muncullah implementasi-implementasi open source
seperti Mono dan dotGNU Portable .NET. Standar CLI tersebut diberi nama ECMA-335.
Penutup
Tutorial pengenalan ini mungkin
belum bisa memperlihatkan keunggulan C# terhadap bahasa-bahasa pemrograman
lainnya, terutama terhadap C++ dan Java. Programmer C++ nantinya akan
melihat bahwa sintaks di C# lebih bersih, aturan-aturan bahasanya lebih
sederhana, dan class librarynya yang berorientasi objek sangat intuitif untuk
dipakai. Programmer Java akan lebih cepat untuk beradaptasi dan akan
menghargai elemen-elemen bahasa baru seperti property, indexer, delegate, dan
event. Dengan mempelajari C#, anda juga telah mulai menapakkan kaki anda
ke dunia pemrograman managed yang modern, di mana perbedaan bahasa, operating
system, dan hardware tidak lagi menjadi pembatas. Semoga tutorial ini
dapat menarik minat anda untuk mempelajari C# lebih lanjut.
0 Komentar:
Posting Komentar