Tidak mudah buat herman membujuk Pak Umar agar memperbolehkan Joe memanfaatkan fasilitas Lab Komputer. Namun, dengan segala macam bujukan dan rayuan, akhirnya berhasil juga.
Hari itu Joe menjadi penghuni baru di Lab itu. Ada mungkin 20 komputer, yang terbagi menjadi 2 ruangan. Dan tentu saja Joe bukan satu-satunya orang disitu. Ada banyak lagi orang seperti Joe, entah apa yang mereka kerjakan. Yang pasti Joe harus antri.
Herman berjanji mengajarkan bahasa C#. Jadi mereka janjian bertemu di Lab setelah jam sekolah. Joe sudah ambil antrian dan lama menunggu, Herman belum manampakkan batang hidungnya.
“Hai, Sri, Tumben baru datang.” Penjaga ruang komputer nampak berbinar-binar. Setiap laki-laki normal wajar jika bertingkah aneh seperti itu didepan seorang gadis cantik. Sama seperti Joe, gadis bernama Sri itu juga baru datang, juga harus ambil antrian. Sejurus kemudian dia duduk di samping Joe. Tentu saja Joe sedikit berdebar. Sama dengan penjaga komputer, Joe lelaki normal, namun dari jenis yang hanya mampu curi-curi pandang.
Ketika Herman datang mereka langsung menuju komputer paling pojok di sudut ruangan. Rupanya Herman lebih cangggih dari siapapun di ruangan itu. Dia kongkalingkong dengan penjaga komputer, entah ini disebut kecerdikan atau kelicikan.
Herman bercerita, bahasa komputer sama halnya dengan bahasa manusia. Ada aturan tata bahasa, juga kosa kata dan kamus. Tidak serumit bahasa manusia bahasa komputer jauh lebih sederhana.
Kalimat-kalimat dalam bahasa C# selalu diakhiri dengan titik koma “;”, dalam bahasa manusia kalimat selalu diakhiri dengan titik. Kosa kata dalam bahasa C# tidak lebih dari 100 kata, diantara yang paling sering digunakan adalah:
- class
- do
- else
- false
- for
- if
- int
- new
- null
- private
- protected
- public
- return
- static
- string
- this
- true
- using
- void
- while
“Joe, C# adalah bahasa yang case-sensitive, kamu harus memperlakukan huruf besar dan kecil sebagai sesuatu yang berbeda.”
“Joe, kamu dengar tidak?” Joe tergagap, tersadar dari lamunan. “Saya tahu Joe, dari bahasa tubuhmu aku bisa tahu, kalau kamu sedang naksir perempuan.” Ledek herman. “Tak usah difikirkan, dia tetanggaku, pasti kamu ingin kenalan bukan.” Wajah Joe semakin menghitam.
“Kembali ke komputer. Saya ulangi, C# itu bahasa case-sensitive.” Joe manggut-manggut. Herman terus saja nyercos. Sementara komputer menunjukkan screen-saver.
Dalam bahasa manusia, kalimat-kalimat disusun dalam satu paragraph, yang juga menunjukkan satu inti makna. Demikian juga dalam bahasa C#, kalimat-kalimat dikelompokkan dalam blok-blok yang diawali dengan tanda kurung kurawal “{“ dan diakhiri dengan kurung tutup “}”.
“Ok. Sekarang saya akan buat contoh.”
“Tunggu sebentar.” Sela Joe. “Program akan dibaca oleh orang lain, paling tidak guru saya nanti. Adakah sebuah cara untuk catatan dan itu bukan bagian dari program.”
“Pertanyaan yang bagus Joe. Untuk keterangan satu baris kamu harus memberikan dua tanda garis miring “//” didepan keterangan. Untuk keterangan yang berbentuk blok, kamu harus member tanda garis miring dan bintang diawal “/*” blok dan diakhiri dengan tanda bintang diikuti garis miring diakhir blok.
“Cukup jelas Joe?”
“Jelas”
“Ok. “
Herman membuka Visual Studio Expreess 2008, membuat project baru bertipe Applikasi Konsol. Kemudian menuliskan program berikut ini:
namespace Herman.Joe.ExLang
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello Joe");
System.Console.ReadLine();
}
}
}
“Joe, lihat, program selalu diawali dengan ‘{‘ dan di akhiri dengan ‘}’. Ada tiga blok program. Blok pertama disebut sebagai blok namespace. Blok kedua disebut blok class dan blok ketiga disebut blok method.”
“Blok yang berisi perintah sebetulnya hanya ada di blok method. Sedangkan blok yang lain berfungsi untuk pengelompokan.”
“Sebentar Mas Herman, apa yang dimaksud dengan namespace, class, dan method? Pengaruhnya apa terhadap pengelompokan?”
“Begini, ruang tempat komputer ini pasti dibuat dengan jasa arsitek. Orang arsitek mendesign rumah ini dengan gambar. Orang menyebutnya sebagai cetak biru. Kemudian orang sipil membuat bagunan berdasarkan gambar itu. Dalam C# cetak biru segala bentuk bangunan adalah class. Berdasarkan class-class itu kita buat object/bangunan.”
“Setiap rumah pasti punya fungsi-fungsi. Pintu, jendela, saluran air, listrik, atap dan lain-lain adalah fungsi-fungsi. Dalam istilah pemrograman semua itu disebut sebagai method. Method adanya selalu di dalam class.”
“Rumahku, rumahmu, dan gedung ini, semuanya ada pintunya bukan? Ketika seseorang memintamu untuk membuka pintu, jika kamu tidak mengetahui konteksnya pasti kamu bakal tanya, pintu yang mana? Nah, itulah gunanya namespace, mengelompokkan untuk memudahkan dalam mengarahkan, agar tidak salah buka pintu. Herman.Rumah.Pintu.Buka, jelas ini rumah saya. Jika saya hanya bilang Pintu.Buka, ini tidak jelas pintu yang mana dan punya siapa.”
“Oh ya saya lupa. Untuk mengakses dari satu blok ke blok berikutnya digunakan ‘.’ (dot). Jadi dalam kasus kita diatas untuk mengakses method Main, kita menyebutnya dengan Herman.Joe.ExLang.Program.Main.”
“Mengapa mesti Main()? Ada maksud khusus?”
“Oh ya, dalam C# method Main() wajib ada. Main adalah entry-point, titik masuk program. Titik tempat program mulai dijalankan. Komputer akan mencari dimana dia berada. Jika tidak ada program tidak akan jalan.”
“Jelas?”
“Ok”
“Sekarang perhatikan blok method dari Main(). Ada dua kalimat perintah disana. Perhatikan setiap perintah selalu diakhiri dengan ‘;’. Kedua perintah itu berada dalam namespase System dibawah class Console. Perintah WriteLine memerintakan komputer menulis ‘Hello Joe’ ke layar konsol. Perintah ReadLine, memerintahkan komputer untuk menunggu user mengetikkan sesuatu dan diakhiri dengan menekan tombol enter.”
“Jelas Joe?”
“Ok. Ngerti. Ee… tapi bagaimana dengan komentar?”
“Ok. Saya tambahkan komentar.” Herman kembali ke komputer dan mengetikkan sesuatu.
namespace Herman.Joe.ExLang
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello Joe. Apa kabar?");
//Menunggu Joe mengetikkan sesuatu dan menekan enter
System.Console.ReadLine();
/* Joe
Sampai disini dulu ya
Sampai besok
*/
}
}
}
“Lihat, ada dua macam komentar. Yang sebaris cukup dengan ‘//’, yang banyak baris dengan /* dan diakhiri dengan */. Tapi kamu harus bijak. Terlalu banyak komentar juga tidak baik, hanya akan mengotori program. Alangkah bagusnya jika kata-kata yang kamu pilih sebagai variabel mengandung makna-makna dalam konteks yang tepat. Dengan demikian komentar tidak diperlukan.”
“Variabel. Apa itu?”
“Besok kita akan bahas itu. Si dia kelihatannya sudah mau pulang. Kenalan dan berikan kesan.”
Bagaimanapun juga Joe, tetaplah Joe. Dia hanya mampu mengikutinya dari belakang. Takut tidak bisa keluar kata-kata.