C# adalah bahasa pemrograman yang diciptakan oleh Microsoft (dikembangkan dibawah kepemimpinan Anders Hejlsberg yang notabene juga telah menciptakan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan Borland Delphi). Bahasa C# juga telah di standarisasi secara internasional oleh ECMA.Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services.Mengapa Mempergunakan C#?Pertanyaan di atas mungkin muncul di benak kita semua pada saat pertama kali mendengar tentang C#. Hal tersebut sangat beralasan, dengan melihat kenyataan bahwa sebelum C# muncul, telah banyak bahasa pemrograman yang ada, seperti C, C++, Java, Perl dan lain-lain.Ada beberapa alasan kenapa memilih C#, yaitu :
- Sederhana (simple)
C# menghilangkan beberapa hal yang bersifat kompleks yang terdapat dalam beberapa macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya mengilangkan macro, templates, multiple inheritance dan virtual base classes. Hal hal tersebut yang dapat menyebabkan kebingungan pada saat menggunakannya, dan juga berpotensial dapat menjadi masalah bagi para programmer C++. Jika anda pertama kali belajar bahasa C# sebagai bahasa pemrograman, maka hal-hal tersebut diatas tidak akan membuat waktu anda terbuang terlalu banyak untuk mempelajarinya. C# bersifat sederhana, karena bahasa ini didasarkan kepada bahasa C dan C++. Jika anda familiar dengan C dan C++ atau bahkan Java, anda akan menemukan aspekaspek yang begitu familiar, seperti statements, expression, operators, dan beberapa fungsi yang diadopsi langsung dari Java, C dan C++, tetapi dengan berbagai perbaikan yang membuat bahasanya menjadi lebih sederhana. Perhatikan Gambar 1 yang merupakan komposisi bahasa yang terdapat dalam C# sehingga kita tidak perlu takut lagi untuk mempelajari C#.
- Modern
Apa yang membuat C# menjadi suatu bahasa pemrograman yang modern?Jawabannya adalah adanya beberapa fitur seperti exception handling, garbage collection, extensible data types, dan code security (keamanan kode/bahasa pemrograman). Dengan adanya fitur-fitur tersebut, menjadikan bahasa C# sebagai bahasa pemrograman yang modern.
- Object-Oriented Language
Kunci dari bahasa pemrograman yang bersifat Object Oriented adalah encapsulation, inheritance, dan polymorphism. Secara sederhana, istilah-istilah tersebut bisa didefinisikan sebagai berikut (definisi dan penjelasan lebih lanjut akan di uraikan pada bab-bab selanjutnya). encapsulation, dimana semua fungsi ditempatkan dalam satu paket (single package). inheritance, adalah suatu cara yang terstruktur dari suatu kode-kode pemrograman dan fungsi untuk menjadi sebuat program baru dan berbentuk suatu paket. Polymorphism, adalah kemampuan untuk mengadaptasi apa yang diperlukan untuk dikerjakan. Sifat-sifat tersebut di atas, telah di miliki oleh C# sehingga bahasa C# merupakan bahasa yang bersifat Object Oriented.
- Powerfull dan fleksibel
- Efisien
C# adalah bahasa pemrograman yang menggunakan jumlah kata-kata yang tidak terlalu banyak. C# hanya berisi kata-kata yang biasa disebut dengan keywords. Keywords ini digunakan untuk menjelaskan berbagai macam informasi. Jika anda berpikiran bahwa bahasa pemrograman yang menggunakan sangat banyak kata-kata (keywords) akan lebih powerfull, maka jawabannya adalah “pemikiran itu tidak selalu benar”, karena hal itu justru bisa menambah kerumitan para developer pada saat membuat suatu aplikasi.Tabel 1 memperlihatkan daftar keywords yang ada dalam bahasa C#.
Modular
Kode C# ditulis dengan pembagian masing Class-Class (classes) yang terdiri dari beberapa routines yang disebut sebagai member methods. Class-Class dan metodemetode ini dapat digunakan kembali oleh program atau aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan oleh Class dan metode yang dimaksud, maka kita akan dapat membuat suata kode yang dapat digunakan oleh satu atau beberapa aplikasi dan program (reusable code).
- C# akan menjadi populer
Dengan dukungan penuh dari Microsoft yang akan mengeluarkan produk-produk utamanya dengan dukungan Framework .NET, maka masa depan bahasa C# sebagai salah satu bahasa pemrograman yang ada di dalam lingkungan Framework .
--------------------------------------------------------------------------------------------------------------------------
Sebelum belajar lebih lanjut tentang programming C#, sebaiknya kenali dulu sintaks dasar C#. Sintaks dasar C# adalah sebagai berikut:
- Nama File Nama file secara default dalam program yang kita buat adalah Program.cs. walaupun kita bisa menggantinya dengan apa saja seperti programpertama.cs. Akhiran atau extention yang di pakai bahwa suatu file berisi sorce code C# adalah .cs
- Comment
Comment dapat digunakan sebagai dokumentasi, untuk memberikan informasi atau keterangan mengenai program yang kita buat dan memahami dalam membantu program yang kita buat.2.1. Comment Single LineComment Single line di awali dengan tanda // hanya berlaku untuk satu baris code dan berakhir pada baris tersebut.Contoh:System.Console.WriteLine(“Halo Dunia!”); //akan menuliskan pesan di layar2.2. Comment Multi LineComment Multi Line di awali dengan tanda /* dan di akhiri dengan */Contoh:/* Comment jenis inidapat menutupi lebihdari satu baris */ - Method Main
Method Main() bisa di katakan sebagai pintu masuk program anda. Kalau anda mencoba mengganti nama Main() dengan nama lain, compiler akan mengeluh bahwa tidak ada entry point atau pintu masuk. Perlu juga diketahui bahwa isi atau tubuh method harus diawali dengan “{“ dan diakhiri dengan “}”. Method Main() dapat disebut juga sebagai fungsi utama.Contoh:static void Main(string[] args){//Tubuh atau isi method} - Class
Method di dalam C# tidak bisa berdiri sendiri, namun harus menjadi bagian dari suatu class. Nama class yang menyelimuti Main() tidak menjadi masalah. Seperti method, tubuh suatu class dimulai dengan { dan diakhiri dengan }.Contoh:
class Hallo
{
// tubuh atau isi class} - System.Console.WriteLine() dan System.Console.Write()
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 System menampung semua class library .NET (Console adalah salah satu dari class library .NET). Jadi kita memanggil method WriteLine() dengan menuliskan mulai dari namespacenya sampai ke method itu sendiri.Contoh:System.Console.WriteLine(“Halo Lingkup Informatika!”); //Akan menyisipkan baris baruSystem.Console.Write(“Sedang belajar C#!”); // tanpa menyisipkan baris baruSystem.Console.Write(“Gampang-gampang susah.”); // tanpa menyisipkan baris baruOutput dari penggalan program di atas sebagai berikut:Halo Lingkup Informatika!Sedang belajar C#! Gampang-gampang susah. - Readline()
Method static ReadLine() dari class Console memungkinkan kita menuliskan input sampai enter ditekan. Input yang kita berikan akan dikembalikan ke program dalam bentuk string. String yang dikembalikan tersebut dapat kita jadikan argument bagi Parse().Contoh:class Input{static void Main(){int var1, var2;Console.WriteLine(“Program Penjumlahan”);Console.WriteLine();Console.Write(“Masukkan angka pertama: ”);var1 = int.Parse(Console.ReadLine());Console.Write(“Masukkan angka kedua: ”);var2 = int.Parse(Console.ReadLine());Console.WriteLine();Console.WriteLine(“Jumlahnya adalah {0}.”, var1 + var2);}} - Parse()Type data yang telah dipakai seperti int dan double juga merupakan sejenis class. Type type dasar yang didefinisikan Framework .NET memiliki method static yang bernama Parse(). Method tersebut menerima sebuah argument string dan mengembalikan hasil olahannya. Hasil olahannya berupa type yang bersangkutan, dengan nilai yang terkandung di dalam string argument.
- Namespace
Namespace adalah kata kunci untuk mendefinisikan ruang lingkup atau batasan program dan menghindari konflik nama. Misalnya source code A.cs dan source code B.cs sama-sama membuat class yang bernama namakelas. Kedua class yang namanya sama tersebut dapat digunakan di suatu program asalkan terletak di namespace yang berbeda. Kegunaan namespace untuk mengelompokan elemen-elemennya (misalnya class) bisa dimisalkan seperti kegunaan folder untuk mengelompokkan file-file. - Placeholder
Placeholder adalah data yang di ikat atau di gabungkan ke dalam sebuah pernyataan secara terpisah dari data-data yang lain.
Contoh:int permen = 10;int snack = 5;Console.ReadLine();
//placeholder {0} dan {1}
Console.WriteLine("Saya memliki {0} permen dan {1} snack", permen, snack);
--------------------------------------------------------------------------------------------------------------
C#-Peralatan yang diperlukan
-----------------------------------------------------------------------------------
Pada bagian ini akan dibahas mengenai peralatan yang diperlukan untuk membuat coding C#. DI bagian awal kita telah menyinggung bahwa C# merupakan baigan dari .Net Framework dan digunakan untuk menyusun aplikasi .Net. Sebelum membahas tentang peralatan yang diperlukan di sini akan diberikan sedikit pemahaman mengenai hubungan antara C# dengan .Net Framework.
.Net Framework
.Net Framework adalah sebuat platform yang dapat membantu anda untuk membangun beberapa jenis aplikasi seperti berikut:
.Net Framework terdiri atas pustaka kode yang sangat lengkap yang digunakan oleh bahasa seperti C#. Berikut in iadalah beberapa komponen dari .Net Framework
C# - Integrated Development Environment (IDE)
Microsoft menyediakan perangkat pengembangan aplikasi dengan menggunakan bahasa pemrograman C# sebagai berikut:
-----------------------------------------------------------------------------------
Pada bagian ini akan dibahas mengenai peralatan yang diperlukan untuk membuat coding C#. DI bagian awal kita telah menyinggung bahwa C# merupakan baigan dari .Net Framework dan digunakan untuk menyusun aplikasi .Net. Sebelum membahas tentang peralatan yang diperlukan di sini akan diberikan sedikit pemahaman mengenai hubungan antara C# dengan .Net Framework.
.Net Framework
.Net Framework adalah sebuat platform yang dapat membantu anda untuk membangun beberapa jenis aplikasi seperti berikut:
- Aplikasi Windows
- Aplikasi Web
- Web Service
.Net Framework terdiri atas pustaka kode yang sangat lengkap yang digunakan oleh bahasa seperti C#. Berikut in iadalah beberapa komponen dari .Net Framework
- Common Language Runtime (CLR)
- The .Net Framework Class Library
- Common Language Specification
- Common Type System
- Metadata and Assemblies
- Windows Forms
- ASP.Net and ASP.Net AJAX
- ADO.Net
- Windows Workflow Foundation (WF)
- Windows Presentation Foundation
- Windows Communication Foundation (WCF)
- LINQ
C# - Integrated Development Environment (IDE)
Microsoft menyediakan perangkat pengembangan aplikasi dengan menggunakan bahasa pemrograman C# sebagai berikut:
- Visual Studio 2010 (VS)
- Visual C# 2010 Express (VCE)
- Visual Web Developer