Sunday, September 03, 2006

Ki Mantab :: .Net Framework

Ini adalah cerita fiktif yang bernuasa teknologi. Cerita ini
merupakan cerita pertama .Sebelum masuk ke cerita, mungkin diperkenalkan
terlebih dulu tokoh penting yaitu Ki Mantab (KM) adalah guru spiritual
yang bisa dihubungin melalui jarak jauh dan Bejo (BJ) adalah anak
mahasiswa yang kuliah di salah satu kampus di Jawa.

BJ

Selamat malam Ki Mantab

KM

Selamat malam anakku, bagaimana keadaan kuliahmu hari ini?

BJ

Kuliahku baik-baik aja tapi ada siang ada keramaian dikampus yaitu
ada seminar. Saya sendiri tidak mengikuti seminar tersebut cuman
waktu dikelas banyak teman-teman berdiskusi tentang Dotnet
(temanku menulisnya .NET). Ki manteb tahu apa itu .NET ?

KM

.NET itu merupakan suatu framework software yang mirip dengan apa
yang kau pelajari dikampus yaitu Java dimana .NET juga mempunyai
virtual machine yang merubah code menjadi Intermediate Language
(IL) dan jika kita eksekusi maka IL code ini diubah ke machine code.

BJ

Sejak kapan .NET muncul?

KM

Ki mantab tidak tahu persisnya tetapi teknologi .NET pertama kali
diperkenalkan oleh Bill Gate , dia adalah CEO dari Microsoft yaitu
perusahan yang membuat .NET ini , pada 20 juni 2000 ketika acara
Forum 2000 dimana Bill Gate menjelaskan visi dari teknologi .NET

BJ

Kalau saya memakai .NET, Operating System apa yang harus dipakai?

KM

Runtime .NET hanya bisa running di OS Windows 98/ME, NT, 2000, XP,
2003 dan OS generasi selanjutnya.

Khsusus untuk ASP.NET disisi development harus
diinstall IIS dan jika OS tidak mempunya IIS seperti XP Home
edition maka bisa diinstall Cassini Web Server, ini dapat didownload di
www.asp.net

Pada awalnya .NET memang tidak dirancang untuk OS Linux tetapi
para komunitas .NET telah berhasil membuat tiruan framework .NET
yang berjalan di OS Linux yaitu project Mono, framework Mono dapat
didownload di www.mono-project. com

BJ

Ki Mantab, kenapa ini disebut .NET ?

KM

Hmm..anakku, ki mantab juga tidak tahu kenapa disebut .NET, kok
tidak disebut .NOT. Mungkin bisa nanya ke Mr. Bill Gate

BJ

Tool apa yang saya dapat gunakan untuk membuat aplikasi .NET ?

KM

Anakku, banyak tool yang dapat digunakan untuk membuat aplikasi
.NET. Berikut ini Ki mantab sebutkan mulai dari tool yang gratis
hingga commercial

* .NET Framework SDK, ini adalah SDK framework .NET,
gratis dan juga sudah disediakan command-line compiler untuk
C++, C#, VB.NET serta tool-tool lain untuk
mendukung pembuatan aplikasi .NET. SDK ini dapat didownload di
http://msdn. microsoft. com/netframework

* ASP.NET Web Matrix, ini adalah tool
untuk membuat aplikasi ASP.NET , gratis dan juga
telah disediakan mini web server untuk OS yang tidak mempunyai web
server seperti OS Windows XP Home Edition. Tool ini dapat didownload
di www.asp.net
* SharpDevelop, tool gratis yang dikembangkan oleh
komunitas .NET yang dapat digunakan untuk membuat aplikasi
.NET yang dulu hanya untuk bahasa C# tapi sekarang sudah
dapat membuat aplikasi VB.NET . Tool ini juga
dilengkapi dengan N-unit untuk testing dan semua ini dapat
didownload di http://www.icsharpc ode.net/OpenSour ce/SD/default. asp

* Visual Studio.NET , tool ini tidak gratis alias
komersial yang dibuat oleh Microsoft. Banyak kelebihan yang
didapat ketika memakai tool ini untuk membuat aplikasi .NET.
Untuk informasi detail nya: http://msdn. microsoft. com

* C# Builder, tool ini juga komersial yang dibuat oleh
Borland. Tool ini mempunyai kelebihan untuk mengintegrasikan
code-code Delphi dan java kedalam C#. Untuk informasi
detailnya http://www.borland. com
* Dan banyak lagi tool yang lainnya...

Oleh karena itu tidak ada alasan bahwa belajar.NET susah karena
tool nya komersial. Banyak yang juga yang gratisan

BJ

Kalau saran Ki mantab bagaimana?

KM

Anakku, ini pertanyaan yang susah. Semua akan kembali ke
masing-masing style dari orang yang membuat applikasi .NET. Baik
gratisan maupun komersial mempunyai kelebihan masing-masing.

Kalau mempunyai uang banyak, Ki mantab menyarankan untuk membeli
tool komersial karena kelebihan fitur yang disediakan yang mana
dapat menurunkan development time. Disamping itu, dukungan technical
support dari pihak pembuat tool tersebut juga sangat berguna ketika masa
development.

BJ

Balik lag ke topik .NET, mungkin Ki mantab bisa menjelaskan detail
dari .NET terutama dibagian Framework nya.

KM

.NET itu hadir sebagai jawaban dari permasalahan persistance API.
Kita ketahui bersama sebelum .NET, API dimasing-masing OS itu
kadangkala nya berbeda. Nah, dengan hadir nya .NET diharapkan
masalah Gap API antar OS dapat diselesaikan. Sebagai contoh
menampilkan MessageBox

HWND hwndMain = CreateWindowEx(
0, "MainWClass" , "Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hwndMain , SW_SHOWDEFAULT) ;
UpdateWindow( hwndMain) ;

Parameter CreateWindowEx, kadangkalanya tidak ada di Windows
98/2000 dibandingkan OS Windows 2003. Dengan .NET dapat
menyederhanakan code diatas tanpa pusing apakah pakai Windows
98/2000 ataupun 2003

Form form = new Form();
form.Text = "Main Window";
form.Show();

BJ

Terus mengenai Frameworknya bagaimana?

KM

.NET Framework sendiri, Ki mantab bisa gambar seperti ini

Framework .NET terdiri dari

* Common Language Runtime
* Base Class Library
* Library .NET
* Common Language Specification

BJ

Oh...mungkin Ki mantab bisa menjelaskan dari bawah keatas, mungkin
dimulai dengan apakah itu Common Language Runtime?

KM

CLR (Common Language Runtime) bisa dikatakan sebagai jembatan
antara framework .NET dengan OS. CLR ini yang bertanggun jawab
untuk beberapa urusan seperti

* Manajemen memory
* Manjemen object life yang telah dibuat oleh code .NET
* Manajemen threading
* Interaksi dengan OS dalam level machine code
* Mengubah dari code IL menjadi machine code

Ki mantab bisa gambarkan diagram dari CLR seperti ini

BJ

Ki mantab, bagaimana peranan CLR mulai dari code yang kemudian di
eksekusi?

KM

CLR merupakan core dari framework .NET, proses eksekusi/kompilasi
code .NET melibatkan CLR bisa dilihat pada gambar dibawah ini

* Mula-mula code dicompile menjadi IL+Meta Data
* Didalam Meta data berisi informasi tentang lokasi file,
library yang digunakan ..dan sebagainya
* Ketika code ini dieksekusi maka JIT yang dibantu CLR mengubah
code IL menjadi Machine code

BJ

Oh begitu ya..terus bagaimana bagian yang berwarna ungu dari
framework .NET?

KM

Yang berwarna ungu merupakan kumpulan kelas-kelas/ library yang
dapat digunakan oleh aplikasi-aplikasi .NET.Library tersebut
seperti tergambar dibawah ini

Disini library .NET sangatlah banyak sekali sehingga saran Ki
mantab tidak perlu dihafal semua library. Semakin banyak membuat
aplikasi .NET semakin lama makin hafal sendiri

BJ

Terus bagaimana peranan Common Language Specification?

KM

Common Language Specification (CLS) merupakan jembatan antara
bahasa .NET dengan bahasa Framework sehingga memungkinkan .NET dapat
dicoding dengan berbagai bahasa pemrograman seperti C++, C#, VB, J#,
Cobol...

BJ

Bagaimana cara memilih bahasa pemrograman .NET ?

KM

Anakku, .NET menawarkan banyak pilihan bahasa yang dapat digunakan
untuk membuat aplikasi .NET. Semua akan tergantung dari style
masing-masing orang. Jika dulu pernah coding C/C++/Java maka akan lebih
enak menggunakan bahasa C# sebagai bahasa .NET tetapi mereka yang
mempunyai background di VB maka akan sangat bagus untuk menggunakan
VB.NET

BJ

Saya mempunyai bakground bahasa pemrograman bahasa java, bagaimana
strateginya untuk belajar .NET?

KM

Kalau mempunyai background java, Ki mantab menyarankan untuk
menggunakan C# karena baik java maupun C# mempunyai kemiripan sintak dan
style

BJ

Bagaimana teman-teman saya yang mempunyai background di VB?

KM

Untuk yang mempunyai background VB, Ki mantab menyarankan untuk
membuang jauh-jauh VB nya,cukup ambil sedikit sintak dan kemudian fokus
ke VB.NET terutama dibagian OO (object-oritented) nya

BJ

Ah, kenapa mesti dibuang jauh-jauh VB ketika belajar VB.NET


KM

Ya, anakku..memang harus dibuang jauh-jauh VB nya ketika belajar
VB.NET , ambil sintak VB nya saja karena ada paradigma
yang baru pada .NET dimana sangat berbeda di VB6 terutama
paradigma OOP. Di .NET semua harus support OO sehingga yang VB6
dulu gak bisa OOP maka ketika di .NET harus support OOP.

BJ

Ki mantab, tadi sore saya sudah mencoba membuat aplikasi .NET
dengan menggunakan tool Visual Studio .NET 2003 tetapi
teman-temanku bilang sudah muncul Visual Studio 2005 beta 2. Apakah saya
menunda belajar .NET nya sampai muncul Visual Studio 2005

KM

Anakku, Ki mantab mengingatkan bahwa .NET itu tidak sama dengan
Visual Studio. Visual Studio merupakan salah satu tool untuk
membuat aplikasi .NET. Jadi sebaiknya fokus ke bahasa .NET. Kalau kita
hanya fokus ke tool misalkan sekarang pakai tool Visual Studio 2003
kemudian muncul Visual Studio 2005, belum belajar tool Visual Studio
2005 nanti muncul Visual Studio 2006...padahal esensialnya bukan
di tool.

Ki mantab takut ketika tidak mempunyai tool Visual Studio, kita
tidak bisa coding .NET...itu kesalahan besar..banyak cara dan tool
untuk membuat aplikasi .NET jadi fokus ke bahasa .NET dan solusi.

BJ

Alangkah enaknya kalau saya belajar .NET secara bersama-sama tidak
sendirian. Adakah solusinya?

KM

Coba bergabung ke komunitas .NET Indonesia (INDC)
www.netindonesia. net . Disamping itu,
juga sudah disediakan milis dotnet. Cara mendaftarnya cukup dengan
kirim email kosong ke dotnet-subscribe@ netindonesia. net
dan milis C# indonesia
http://groups. yahoo.com/ group/csharp_ indo <../csharp_indo>

BJ

Adakah resource mengenai .NET yang berbahasa indonesia?

KM

Anakku, kamu bisa mengunjungi website komunitas .NET (INDC)
www.netindonesia. net dan juga project
otak. Project otak merupakan project komunitas yang bertujuan
untuk menyediakan resource tentang teknologi .NET dalam bentuk
e-book gratis berbahasa indonesia. Portal project otak :
http://otak. csharpindonesia. net dan
www.project- otak.org (msh dalam under
development)

Author Unknown

1 comment:

  1. Kami perusahaan outsourcing IT membutuhkan tenaga IT sebanyak 60 orang untuk ditempatkan di Jabotabek dengan kualifikasi sebagai berikut:

    Developer (Code : Dev)
    1 to 2 years of actual delivery experience on a software development project (Desktop & Web applications)
    Strong in logic and algorithm
    Good knowledge of Object Oriented Programming (C#, VB.NET, ASP.NET + AJAX)
    Good knowledge of Object Oriented Analysis/Design
    Good knowledge and skill of RDBMS (knowledge in SQL Server is an advantage)

    Senior Developer (Code : Sr.Dev1)
    At least 2 years experience in full life-cycle development of large-scale applications (object-oriented and/or distributed component based, especially .NET)
    Strong in logic and algorithm
    Excellent knowledge of Object Oriented Programming (C#, VB.NET, ASP.NET + AJAX)
    Experience with Object Oriented Analysis/Design & some knowledge and skills on Software Architecture
    Good knowledge and skill of RDBMS (experience in SQL Server is a must)
    Knowledge of Software Development Life Cycle Methodologies (such as MSF, RUP and Agile Methodologies)
    Experience in a mentoring/coaching role

    Senior Developer (Code : Sr.Dev2)
    At least 2 years experience in full life-cycle development of large-scale applications (object-oriented and/or distributed component based, especially .NET)
    Strong in logic and algorithm
    Excellent knowledge of Object Oriented Programming (C#, VB.NET, ASP.NET ,VB.NET,Pseudo OOP,ORACLE,Office Windows Component,Crystal Report,VBScript,JAvaSCript)
    Experience with Object Oriented Analysis/Design & some knowledge and skills on Software Architecture
    Good knowledge and skill of RDBMS (experience in SQL Server is a must)
    Knowledge of Software Development Life Cycle Methodologies (such as MSF, RUP and Agile Methodologies)
    Experience in a mentoring/coaching role

    Quality Assurance/Tester (Code : QA)
    1-2 years experience as QA/Tester
    Able to create Test Plan & Scenario based on Use Case Diagram/Functional Specification
    Able to perform Functional Testing
    Familiar with Load Testing/Stress Testing and its tools
    Familiar with Performance Testing/Profiling and its tools
    Able to make test scripts
    Knows .NET Technology

    Senior Quality Assurance/Tester (Code : SQA)
    At least 2 years experience as QA/Tester or 1 year as Senior QA/Tester
    Able to create Test Plan & Scenario based on Use Case Diagram/Functional Specification
    Experienced and knowledgeable with all types of software testing (unit, functional, integration, load and stress tests)
    Experienced in using testing tools (VSTS usage is a plus)
    Proficient in code review
    Able to make test scripts
    Skilled in C#, VB.NET, ASP.NET and SQL Server 2000/2005
    A team player with good leadership skills

    Junior System Analyst/Senior System Analyst (Code : JSA)
    1-2 years experience as System Analyst
    Good analytical skills
    Familiar with Software Development Life Cycle (SDLC)
    Able to create Design Documents (Functional Specification Diagram, ERD)
    Familiar with UML (Use Case Diagram, Sequence Diagram, Activity Diagram)
    Good knowledge in database design
    Familiar with SQL Server 2000/2005
    Knows .NET Technology

    Team Lead (Code : TL)
    1-2 years experience as Team Leadear
    Good analytical skills and organization
    Familiar with Software Development Life Cycle (SDLC)
    Able to create Design Documents (Functional Specification Diagram,ERD)
    Familiar with SQL Server 2000/2005
    Knows .NET Technology
    Skilled in C#, VB.NET, ASP.NET and SQL Server 2000/2005
    Knowledge of Software Development Life Cycle Methodologies (such as MSF, RUP and Agile Methodologies)


    Jika anda berminat dan memiliki kualifikasi diatas dapat mengirimkan aplikasi berupa CV dan lamaran lengkap (*.doc) dan cantumkan posisi yang dilamar ke hrd_muthiacharissa@yahoo.com.Hanya kandidat terpilih yang akan dihubungi selanjutnya.

    ReplyDelete