بسم الله الر حمن الر حيم

Sejak pertama kenal dengan bahasa ini, saya sudah merasa jatuh hati. Bagaimana tidak, dengan sedikit pengetahuan dan kemampuan berbahasa Pascal, banyak dengan Delphi, sedikit (lebih sedikit dari Pascal) dengan Java dan yang paling sedikit dengan C++, saya sudah mampu membuat aplikasi console pada waktu itu, padahal saya belum pernah menggunakan (jangankan menggunakan, mengenalnya juga baru saat itu) bahasa C#.

Dilihat dari sejarahnya, C# creator adalah alumni divisi Code Gear. Code Gear adalah divisi pengembangan perangkat lunak milik Borland yang dipimpin oleh Anders Hejlsberg. Anders Hejlsberg kemudian pindah ke Microsoft pada 1996 untuk mendesain C#. Tujuan didesainnya C# adalah:

1. C# adalah bahasa general purpose (jamak), mendukung OOP, modern dan sederhana.

2. C# ditujukan untuk digunakan dalam mengembangkan komponen perangkat lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi.

3. C# mudah digunakan dan sangat cocok dengan programmer yang telah lama menggeluti keluarga bahasa pemrograman C (C dan C++).

4. Dukungan terhadap beberapa bahasa internasional (multi language).

5. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem klien-server (hosted system) maupun sistem embedded (embedded system), mulai dari perangkat lunak yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada perangkat lunak yang sangat kecil yang memiliki fungsi-fungsi terdedikasi.

6. Meskipun aplikasi C# ditujukan agar bersifat ‘ekonomis’ dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung dengan kinerja dan ukuran perangkat lunak yang dibuat dengan menggunakan bahasa pemrograman C dan bahasa Assembly.

7. C# harus mencakup pengecekan jenis (type checking) yang kuat, Pengecekan array, pendeteksian terhadap percobaan terhadap penggunaan variabel-variabel yang belum diinisialisasikan, Portabilitas kode sumber dan pengumpulan sampah (garbage collection) secara otomatis.

C# adalah perpanjangan tangan dari Microsoft Visual J++. Awalnya Microsoft merancang Visual J++ untuk mengaplikasikan bahasa Java pada sistem operasi Windows dan meningkatkan performa antarmuka Microsoft Component Object Model (COM), namun karena terkendala dengan pemegang hak cipta bahasa Java (Sun Microsystems) akhirnya proyek itupun dihentikan dan dicari penggantinya. Dengan berpandangan bahwa bahasa yang menggantikan haruslah lebih “hebat” dan lebih general purpose daripada bahasa yang lain maka kemudian dirancanglah bahasa C#. Perancangannya memakan waktu kurang lebih selama 10 tahun dan dipimpin Anders Helsberg sebagai Kepala divisi Perancangan. Anders Helsberg adalah mantan karyawan Borland yang telah merancang berbagai bahasa pemrograman seperti Turbo Pascal, Delphi dan juga salah satu komponen dalam Visual J++ yaitu Windows Foundation Classes (WFC).

Akhirnya, pada 26 Juni 2000, C# dipublikasikan ke khalayak ramai dan dianggap sebagai bahasa modern dengan platform Microsoft .Net Framework, mendukung OOP dan sederhana. C# distandarisasi oleh ECMA (pada Desember 2001 dan Desember 2002) dan ISO (pada Maret 2003). Kunjungi: http://www.ecma-international.org/publications/standards/ecma-335.htm.

Sekilas dilihat, syntak yang ada pada C# sangat mendekati cara penulisan syntak pada keluarga bahasa C, Delphi (Pascal) dan Java. Hal ini dikarenakan bahasa C# adalah keturunan dari bahasa tersebut di atas. C# berjalan di atas plaform .Net Framework. Microsoft .Net Framework (baca: Microsoft dot Net Framework) adalah sebuah komponen Windows yang mendukung pengembangan aplikasi-aplikasi modern dan XML Web Services. .Net tidak berjalan sendiri (seperti sistem operasi), namun ia berjalan di atas sistem operasi Windows (.Net juga bisa berjalan di Linux dengan Mono, kunjungi: http://www.mono-project.com/).

.Net Framework merupakan suatu platform aplikasi yang memungkinkan programmer untuk membuat aplikasi yang dapat berjalan di berbagai jenis komputer (serta berbagai media komputer mini, seperti: SmartPhone dll), termasuk dalam cara pendistribusian aplikasi, karena berbagai aplikasi yang berjalan di .Net sudah tentu memiliki aturan runtime standar, yaitu Common Language Runtime atau CLR. Karena CLR merupakan turunan dan implementasi dari CLI (Common Language Interface). CLI merupakan suatu standar yang mengatur jalannya program yang dibuat dalam berbagai bahasa pemrograman ke dalam satu platform yang memungkinkan sebuah aplikasi untuk berinteraksi satu sama lain. .Net memiliki Sasaran sebagai berikut:

1. Menyediakan satu lingkungan pemrograman berorientasi objek yang konsisten, entah object codenya disimpan dan dijalankan di Hardisk (secara local), dieksekusi secara local namun dibagikan lewat internet maupun dieksekusi dan dijalankan lewat jaringan.

2. Menyediakan satu lingkungan kode-kode tereksekusi (aplikasi) yang memperkecil penyebaran software dan memperkecil perbedaan antar versi.

3. Menyediakan satu lingkungan yang dapat menambah keamanan suatu aplikasi, termasuk kode tereksekusi yang dibuat oleh pihak yang tidak diketahui maupun kode tereksekusi dari pihak ketiga.

4.  Menyediakan satu lingkungan yang menghilangkan masalah-masalah dengan lingkungan tempat aplikasi dijalankan.

5. Untuk membangun Windows-based applications dan Web-based applications.

6. Membangun hubungan pada standar industry untuk memastikan bahwa kode-kode yang ditulis dengan .Net Framework dapat dipadukan dengan kode lain.

.Net Framework terdiri dari 2 buah komponen, yaitu Common Language Runtime dan .NET Framework Class Library. Berikut penjelasannya:

Common Language Runtime (CLR) merupakan komponen inti dari .Net Framework. CLR inilah yang mengatur kode-kode yang kita tulis pada saat dijalankan, serta menyediakan layanan-layanan seperti pengaturan memori, thread management, garbage collection, exception handling dan remoting. CLR juga mampu meneliti kode-kode yang kita tulis (mampu memaksimalkan kode itu) serta mampu mengurangi kerawanan suatu aplikasi dan komputer dari beberapa ancaman keamanan. CLR juga menyediakan application virtual machine yang memungkinkan para programmer untuk tidak perlu tahu kemampuan dari CPU tertentu yang akan digunakan untuk menjalankan suatu aplikasi. Dengan kata lain, aplikasi .Net kita tidak akan berhubungan langsung dengan OS, namun akan melewati CLR dahulu.

.Net Framework Class Library menyediakan untuk umum satu kerangka perpustakaan kelas (FCL) yang sangat besar. FCL mengandung ribuan kelas penyedia akses ke Windows API dan fungsi umum lainnya seperti string manipulation, common data structures, IO, streams, threas, security, network programming, windows programming, web programming, data access, dsb. FCL merupakan library standar paling besar yang selalu terhubung dengan berbagai development environment atau bahasa program yang anda gunakan. Bagian terbaik dari library ini adalah kesederhanaannya. Anda dapat menggunakan class-class ini seperti anda menggunakan class yang anda buat sendiri. Anda bahkan dapat menerapkan inheritance and pholymorphism ke dalam class-class.

Sedangkan cara kerja dari aplikasi .Net adalah sebagai berikut:

Definisi:

  • Aplikasi .Net adalah aplikasi yang digunakan oleh umum ataupun pribadi
  • Data (ADO.Net) merupakan database dari aplikasi .Net
  • XML Library
  • Framework Class Library (sudah dijelaskan)
  • Common Library Runtime (CLR) menyediakan layanan:
  1. Debbuger: Pencarian kesalahan pada aplikasi
  2. Type Checking: Pengecekan Tipe-Tipe pada source code yang digunakan untuk membangun aplikasi
    1. MSIL & JIT: MSIL (Microsoft Intermediate Language) akan dihasilkan apabila code dari .Net pilihan kita dikompilasi dengan versi .Net lainnya. MSIL bukanlah file executable melainkan code intermediate. Sedangkan JIT (Just In Time) akan merubah file hasil dari kompilasi bahasa .Net ke executable file (.exe atau .dll) saat kita membutuhkannya.
    2. Ilustrasi tentang interaksi managed code .NET dengan kode native Windows:

Sumber: http://msdn.microsoft.com/en-us/library/zw4w595w.aspx

  • Garbage Collection (GC) adalah fasilitas pencarian dan pengumpul variabel yang sebenarnya tidak dibutuhkan pada aplikasi .Net. Dengan adanya fasilitas sini, penggunaan memory akan semakin lebih kecil.
  • Windows OS: Sistem operasi milik Microsoft yang mana aplikasi .Net paling cocok dengan OS ini, walaupun .Net juga bisa berjalan di sistem operasi lain seperti: Linux, Free BSD, Unix, Mac Os X dan Solaris, dengan bantuan Mono (http://www.mono-project.com/). Sebenarnya, Microsoft juga memiliki versi .Net untuk Windows , Free BSD dan Mac OS X yang disebut sebagai Shared Source CLI.

Untuk informasi lebih lanjut, silakan kunjungi:

http://www.microsoft.com

http://www.microsoft.com/net/default.aspx

http://msdn2.microsoft.com/en-us/netframework/default.aspx

http://msdn2.microsoft.com/en-us/library/ms229335.aspx

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/dotnetperftips.asp

Alhamdulillah, semoga bermanfaat,,,

About ifqo

Kepingin melawan arus, agar tidak tenggelam,,,

One response »

  1. […] mengkompilasi kode yang ditulis. Hal ini berbeda jika anda menuliskan kode dengan bahasa semisal C#, jika kurang tag penutup seperti “;” maka akan terjadi […]

Tinggalkan Komentar/Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s