cursor

PropellerAds

Tuesday 26 September 2017

Pengenalan Framework .NET

Untuk dapat lebih memahami tentang bahasa C# dan dapat memanfaatkannya secara lebih maksimal, maka sebelum kita memulai membahas tentang apa itu bahasa C#, ada baiknya kita mempelajari terlebih dahulu tentang Microsoft Framework .NET yang merupakan komponen yang tidak bisa dipisahkan dari bahasa C# itu sendiri.  
Adapun penjelasan pada bab ini akan diawali dengan penjelasan tentang istilah Framework .NET istilah-istilah lain yang berhubungan dengannya.
  • Apakah Itu Framework .NET ? 
Framework .NET adalah suatu komponen windows yang terintegrasi yang dibuat dengan tujuan untuk mensupport pengembangan berbagai macam jenis aplikasi serta untuk dapat mejalankan berbagai macam aplikasi generasi mendatang termasuk pengembangan aplikasi Web Services XML. 
Framework .NET di design untuk dapat memenuhi beberapa tujuan berikut ini :
  1. Untuk menyediakan environment kerja yang konsisten bagi bahasa pemrograman yang berorientasi objek (object-oriented programming - OOP) baik kode objek itu di simpan dan di eksekusi secara lokal, atau dieksekusi secara lokal tapi didistribusikan melalui internet atau di eksekusi secara remote. 
  2. Untuk menyediakan environment kerja di dalam mengeksekusi kode yang dapat meminimaliasi proses software deployment dan menghindari konflik penggunaan versi software yang di buat. 
  3. Untuk menyediakan environment kerja yang aman dalam hal pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga (third party).
  4. Untuk menyediakan environment kerja yang dapat mengurangi masalah pada persoalan performa dari kode atau dari lingkungan interpreter nya.
  5. Membuat para developer lebih mudah mengembangkan berbagai macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis windows dan aplikasi berbasis web. 
  6. Membangun semua komunikasi yang ada di dalam standar industri untuk memastikan bahwa semua kode aplikasi yang berbasis Framework .NET dapat berintegrasi dengan berbagai macam kode aplikasi lain. 
Sebagai salah satu sarana untuk dapat memenuhi tujuan di atas, maka dibuatlah berbagai macam bahasa pemrograman yang dapat digunakan dan dapat berjalan di atas platform Framework .NET seperti bahasa C#, VB.NET, J#, Perl.NET dan lain-lain. Masing-masing bahasa tersebut mempunyai kelebihan dan kekurangannya masingmasing, namun yang pasti, apapun bahasa pemrograman yang digunakan, semuanya akan dapat saling berkomunikasi dan saling compatible satu dengan yang laiinya dengan bantuan Framework .NET
  • Arsitektur Framework .NET 
Framework .NET terdiri dari dua buah komponen utama, yaitu Common Language Runtime (CLR) dan .NET Framework Class Library atau kadang juga sering disebut dengan Base Class Library (BCL). 
Common Language Runtime (CLR) adalah pondasi utama dari Framework .NET. CLR merupakan komponen yang bertanggung jawab terhadap berbagai macam hal, seperti bertanggung jawab untuk melakukan managemen memory, melakukan eksekusi kode, melakukan verifikasi terhadap keamanan kode, menentukan hak akses dari kode, melakukan kompilasi kode, dan berbagai layanan system lainnya. Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET biasa juga disebut dengan managed code, sedangkan aplikasi di luar itu biasa disebut dengan un-managed code.
Berikut ini beberapa hal yang disediakan CLR bagi para developer: 
  1. Dapat lebih menyederhakan proses pengembangan aplikasi. 
  2. Memungkinkan adanya variasi dan integrasi dari berbagai bahasa pemrograman yang ada di lingkunan Framework .NET. 
  3.  Keamanan dengan melakukan identing pada kode aplikasi.
  4. Bersifat Assembly pada saat proses deployment / kompilasi.
  5. Melakukan versioning sebuah komponen yang bisa di daur ulang.
  6. Memungkinkan penggunaan kembali kode, dengan adanya sifat inheritance.
  7. Melakukan pengaturan / manajemen tentang lifetime sebuah objek.
  8. Melakukan penganalisaan objek-objek secara otomatis. 
CLR akan melakukan kompilasi  kode-kode aplikasi kita menjadi bahasa assembly MSIL (Microsoft Intermediate Language). Proses kompilasi ini sendiri dilakukan oleh komponen yang bernama Just In Time (JIT). JIT hanya akan mengkompilasi metodemetode yang memang digunakan dalam aplikasi, dan hasil kompilasi ini sendiri di chace di dalam mesin dan akan dikompile kembali jika memang ada perubahan pada kode aplikasi kita.
.NET Framework Class Library atau sering juga disebut Base Case Library (BCL) adalah koleksi dari reusable types yang sangat terintegrasi secara melekat dengan CLR. Class library bersifat berorientasi terhadap objek yang akan menyediakan types dari fungsi-fungsi managed code. Hal ini tidak hanya berpengaruh kepada kemudahan dalam hal penggunaan, tetapi juga dapat mengurangi waktu yang diperlukan pada saat eksekusi. Dengan sifat tersebut, maka komponen pihak ketiga akan dengan mudah diaplikasikan ke dalam aplikasi yang dibuat.
Dengan adanya BCL ini, maka kita bisa menggunakan Framework .NET untuk membuat berbagai macam aplikasi, seperti :
  1. Aplikasi console.
  2. Aplikasi berbasis windowd (Windows Form).
  3. Aplikasi ASP.NET (berbasis web). 
  4. Aplikasi Web Services XML.
  5. Aplikasi berbasis Windows Services
Jika kita membuat sekumpulan Class untuk membuat aplikasi berbasis windows, maka Class-Class itu bisa kita gunakan untuk jenis aplikasi lain, seperti aplikasi berbasis web (ASP.NET). 
  • Keuntungan Framework .NET 
Berikut beberapa keuntungan dari Framework .NET 
  1. Mudah Kemudahan di sini lebih ke arah pada kemudahan bagi para developer untuk membuat aplikasi yang dijalankan pada lingkungan Framework .NET. Beberapa hal yang merepotkan developer pada saat membuat aplikasi, telah di hilangkan atau di ambil alih kemampuannya oleh Framework .NET, misalnya masalah lifetime sebuah objek yang biasanya luput dari perhatian developer pada saat proses pembuatan aplikasi. Masalah ini telah ditangani dan diatur secara otomatis oleh Framework .NET melalui komponen yang bernama Garbage Collector yang bertanggung jawab untuk mencari dan membuang objek yang sudah tidak terpakai secara otomatis.
  2. Efisien Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi dari suatu proses produktivitas, baik efisien dalam hal waktu pembuatan aplikasi atau juga efisien dalam hal lain, seperti biaya (cost).  
  3. Konsisten Kemudahan-kemudahan pada saat proses pembuatan aplikasi, juga bisa berimplikasi terhadap konsistensi pada aplikasi yang kita buat. Misalnya, dengan adanya BCL, maka kita bisa menggunakan objek atau Class yang dibuat untuk aplikasi berbasis windows pada aplikasi berbasis web. Dengan adanya kode yang bisa dintegrasikan ke dalam berbagai macam aplikasi ini, maka konsistensi kode-kode aplikasi kita dapat terjaga. 
  4. Produktivitas Semua kemudahan-kemudahan di atas, pada akhirnya akan membuat produktivitas menjadi lebih baik. Produktivitas naik, terutama produktivitas para developer, akan berdampak pada meningkatnya produktivitas suatu perusahaan.
 Sumber : Kurniawan, Agus. 2004. Pengenalan Bahasa C#. Project Otak. Diakses 27 September 2017, dari https://www.academia.edu/9025119/PANDUAN_BAHASA_PEMROGRAMAN_C_.