BAB 1 PENDAHULUAN
2.4 Framework .NET
2.4.1 Pengertian Microsoft .NET Framework
Microsoft .NET Framework (dibaca dot net framework) adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan- kebutuhan umum suatu program baru, dan mengatur eksekusi program- program yang ditulis secara khusus untuk framework ini. .NET framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows. [18]
Framework .NET di disain untuk dapat memenuhi beberapa tujuan berikut ini [9]:
1. Untuk menyediakan lingkungan kerja yang konsisten bagi bahasa pemrograman yang berorientasi objek (object oriented programming) baik kode itu disimpan dan dieksekusi secra lokal, atau dieksekusi secra lokal tetapi didistribusikan melalui internet atau dieksekusi secara
remote.
2. Untuk menyediakan lingkungan kerja di dalam mengeksekusi kode yang dapat meminimalisasi proses software development dan
menghindari konflik penggunaan software yang dibuat.
3. Untuk menyediakan lingkungan kerja yang aman dalam hal pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga (third part).
4. Untuk menyediakan lingkungan 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 bervariasi, seperti aplikasi berbasis desktop
dan aplikasi berbasis web.
6. Membangun semua komunikasi yang ada di dalam standar industri untuk memastikan bahwa kode aplikasi berbasis framework .NET dapat berintegrasi dengan berbagai macam kode aplikasi lain.
Sebagai salah satu sarana untuk dapat memenuhi tujuan yang telah dipaparkan, maka dibuatlah berbagai macam bahasa pemrograman yang dapat digunakan dan dapat berjalan di atas platform framework seperti bahasa C#, VB.NET, C++, J#, Perl.NET, dan lain-lain. Masing-masing bahasa tersebut mempunyai kelebihan dan kekurangannya masing-masing, namun yang pasti, apapun bahasa pemrograman yang digunakan, semua dapat saling berkomunikasi dan saling compatible satu sama lainnya dengan bantuan framework .NET.
2.4.2 Arsitektur Framework .NET
Framework .NET terdiri dari dua komponen utama, yaitu CLR (Common Language Runtime) dan .NET Framework Class Library atau sering disebut dengan BCL (Base Class Library).[19]
Gambar 2.8 Arsitektur framework .NET [19] 1. CLR (Common Language Library)
CLR merupakan pondasi utama dari framework .NET. CLR merupakan komponen yang bertanggung jawab terhadap berbagai macam hal, seperti bertanggung jawab untuj melakukan manajemen memori, melakukan eksekusi kode, melakukan verifikasi terhadap keamanan kode dan berbagai layanan sistem lainnya. Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET bisa juga disebut dengan
manged code, sedangkan aplikasi di luar itu bissa disebut dengan un- managed code.
Berikut ini beberapa hal yang disediakan oleh CLR bagi para
developer [9]:
a. Dapat lebih menyederhanakan proses pengembangan aplikasi. b. Memungkinkan adanya variasi dan integrasi dari berbagai bahasa
pemrograman yang ada di lingkungan framework .NET.
c. Keamanan dengan menggunakan identifying pada kode aplikasi. d. Bersifat assembly pada saat proses deployment/kompilasi.
e. Melakukan versioning sebuah komponen yang bisa di daur ulang. f. Memungkinkan penggunaan kembali kode, dengan adanya sifat
inheritance.
g. Melakukan pangaturan/manajemen tentang lifetime sebuah objek. h. Melakukan penganalisaan objek secara otomatis.
CLR melakukan kompilasi kode-kode aplikasi menjadi bahasa
assembly MSIL (Mictosoft Intermediate Language). Proses kompilasi ini sendiri dilakukan oleh komponen yang bernama JIT (Just in Time). JIT hanya akan mengkompilasi metode-metode yang memang digunakan dalam aplikasi, dan hasil kompilasi ini sendiri di simpan di dalam mesin dan akan dikompilasi kembali jika memang ada perubahan pada kode aplikasi.
2. BCL (Base Class Library)
.NET Framework Class Library atau sering juga disebut BCL adalah ko leksi 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 juga dapat mengurangi waktu yang diperlukan pada saat eksekusi. Dengan sifat tersebut, maka komponen pihak ketiga (third part) akan dengan mudah diaplikasikan ke dalam aplikasi yang dibuat.
Dengan adanya BCL ini, maka kita bisa menggunakan
framework .NET untuk membuaut berbagai macam aplikasi, seperti [9]:
a. Aplikasi console
b. Aplikasi berbasis windows (Desktop Form) c. Aplikasi berbasis ASP.NET (berbasis web)
d. Aplikasi Web Services XML
e. Aplikasi berbasis Windows Services
Jika kita membuat sekumpulan class untuk membuat aplikasi berbasis windows (Windows Form), maka class-class tersebut itu bisa kita gunakan untuk aplikasi lain, seperti aplikasi berbasis web.
2.4.3 Keuntungan Framework .NET
Berikut ini adalah beberapa keuntungan dari penggunaan framework .NET [9] :
1. Mudah
Kemudahan di sini lebih ke arah pada kemudahan developer untuk membuat aplikasi yang dijalankan pada lingkungan framework .NET. Beberapa 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 gerbage collector yang bertanggung jawab untuk mencari dan membuat objek yang sudah tidak terpakai secara otomatis.
2. Efisien
Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi dari suatu proses pembuatan produktifitas, baik efisiensi dalam hal waktu pembuatan aplikasi atau juga efisiensi dalam hal lain, seperti biaya.
3. Konsisten
Kemudahan-kemudahan pada saat pembuatan aplikasi, juga bisa berimplikasi terhadap konsistenai 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 diintegrasikan ke dalam berbagai macam aplikasi ini, maka konsistensi kode-kode aplikasi dapat terjaga.
4. Produktifitas
produktifitas menjadi lebih baik. Produktifitas naik, terutama produktifitas para developer, akan berdampak pada meningkatnya produktifitas suatu perusahaan.