August 2005 - Posts

CMS yang Bagus itu adalah.......

Dua hari lalu setelah menyelesaikan project report macro for SAP kelar..akhirnya aku obok2x CMS-CMS yang ada di .NET. CMS yang aku obok-obok adalah Rainbow dan Dotnetnuke...aku menghabis 2 hari bahkan sampai begadang hingga subuh lantaran mau melakukan compare CMS Rainbow dan Dotnetnuke dari segi feature, architecture dan kemudahan how to use...akhirnya akupun menyerah....rupanya Dotnetnuke itu bagus ketimbang rainbow;)

Kemarin malam saya juga mencoba membuat module baru untuk Dotnetnuke dengan menggunakan bahasa C#..wow amazing...it's work!!...Next action, I'll use Dotnetnuke for DMC Server framework for portal solution..let start guys..!!

Share this post: | | | |

Sebuah Hipotesa::Sebuah Harga Revolusi Bagi Programmer .NET

Perkembangan .NET di indonesia bisa dikatakan sangat pesat dibuktikan banyak perusahan-perusahan software menggunakan .NET sebagai solusinya dan juga perusahan-perusahan end-user yang menggunakan .NET sebagai solusi untuk problem sehari-hari bahkan ada company yang menjadikan .NET sebagai standard policy yang harus digunakan.

Fenomena ini akan berdampak juga dengan tenaga kerja dari pengguna .NET yang tak lain dan tak bukan adalah programmer .NET. Kalau kita flashback beberapa tahun lalu tidak banyak perusahan yang mencari programmer .NET, hal ini mungkin karena .NET belum dijadikan salah satu solusi dalam problemnya. Sekarang banyak perusahan baik software company maupun company end-user bahkan instansi pemerintah mencari-cari programmer .NET dengan spesifikasi tertentu. Banyak company juga sulit mencari programmer .NET.

Hal ini menarik dimana antara demand untuk programmer .NET lebih tinggi dari supply. Fenomena ini sangatlah menguntungkan disisi programmer dan ini mungkin bisa dijadikan alat untuk melakukan revolusi bagi programmer .NET. Why? How?...

Mengapa Diperlukan Revolusi?
Kalau kita perhatikan fenomena struktur organisasi industri di indonesia maka kita akan menjumpai banyak fakta yang mana posisi engineering selalu dan selalu dibawah management. Kalau kita melihat maksud dan definis management sebenarnya engineering juga perlu management tetapi banyak orang yang beranggapan bahwa level engineering merupakan level bawah bahkan maaf-maaf kadang company memperlakukan engineering seperti kuli yang mungkin kalau di telaah management dan engineering sama-sama s1 mungkin lebih tua dan lebih experience dari si manegement. Suka atau tidak suka itulah fakta dilapangan padahal setiap orang mempunyai kesempatan yang sama untuk maju.

Dibeberapa company terutama core business nya banyak mengarah ke engineering masih tetap menganggap engineer adalah level bawah. Kalau kita mau extreme bagaimana kalau semua engineer mogok kerja semua..siapa yang dirugikan? anda lah yang tahu jawabannya.
Atau lebih extreme lagi lakukan revolusi engineering.

Revolusi engineering bisa jadi solusi untuk memperbaiki martabat dan menuntut persamaan hak dan kedudukan. Banyak company yang sudah melakukan revolusi dimana keduduakan seorang engineering bisa selevel dengan manegerial.


Strategi Revolusi Programmer .NET
Sebelum melakukan revolusi terutama pada programmer .NET ada beberapa hal yang perlu disiapkan seperti:

  1. Meningkatkan experience dengan cara mengerjakan banyak project baik project komersial maupun open source mulai skala kecil hingga skala enterprise.
  2. Meningkatkan skill programming terutama OOP dan pattern. Diharapkan dengan ini dapat meningkatkan kualitas dari software yang dibuat.
  3. Meningkatkan pengetahuan business process. Perhatikan mengapa programmer .NET di banking environment lebih berharga ketimbang programmer .NET di vendor yang hanya membuat aplikasi perkantoran bahkan mungkin dari segi programming mungkin programmer vendor jauh lebih jago ketimbang programmer banking, hal ini dikarena bukan masalah jago-jago an di programming melainkan pengetahuan business process di banking itu lebih dihargai ketimbang pengetahuan business process di perkantoran.
  4. Melakukan kolaborasi dengan programmer .NET diluar selain dikantor. Dengan melakukan kolaborasi dan menjalin persahabatan dengan programer .NET lainnya dalam suatu wadah tertentu seperti Indonesia .NET Developer Community dapat meningkatkan relasi dan brainstorming dengan programmer .NET lainnya sehingga ujung-ujungnya akan meningkatkan kualitas programming anda.
  5. Melakukan marketing diri dunia software engineering. Banyak jalan untuk melakukan marketing diri didunia software seperti menulis paper, buku ataupun berkolaborasi membangun software open source.

Dengan modal ini diharapakan level anda meningkat bukan seperti kuli yang tidak mempunyai decision. Mengatakan "tidak" kepada pekerjaan yang mungkin secara teknis itu sia-sia malahan kegunaannya tidak jelas itu memang sulit apalagi kalau kita tidak mempunyai barganing position dan komitment..yang berani.

Lakukan revolusi sekarang atau anda terjebak dalam bui didalam lautan yang tak pernah mendarat di daratan.


Any comment?

Share this post: | | | |

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.icsharpcode.net/OpenSource/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
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)
Share this post: | | | |

Telaah Buku Komersialku yang ke-4

Walaupun baru sekarang memberikan informasi bukuku ke-4 yang diterbitkan oleh Elexmedia Komputindo, www.elexmedia.co.id, yang berjudul Packaging dan deployment pada aplikasi .NET. Buku ini diperuntukan untuk level beginner dan intermediate. Berikut ini sinopsis dari buku ke-4 ku ini:

Perkembangan aplikasi .NET akhir-akhir ini mengalami perkembangan yang membanggakan. Hal yang sangat naif apabila kita membuat aplikasi .NET yang canggih tetapi kita tidak mampu membuat packaging dan deployment dibeberapa komputer.
Buku ini hadir untuk memenuhi kebutuhan dalam hal packaging dan deployment  melalui Visual Studio.NET. Buku ini membahas antara lain
- Implementasi packagin melalui Visual Studio.NET
- Packaging dan deployment Framework .NET
- Packaging dan Deployment Aplikasi Desktop
- Packaging dan Deployment Aplikasi Web
- Packaging dan Deployment Komponen
- Packaging dan Deployment Aplikasi Berbasis Database
- Packaging dan Deployment Windows Service
- Packaging dan Deployment XML Web Service
- Packaging dan Deployment Aplikasi Remoting
- Packaging dan Deployment Komponen Third Party
- Packaging dan Deployment Merge Module
- Membuat Smart Installer Dengan Custom Installer
- Modifikasi User Interface Pada Installer

Semua code dibuku ini menggunakan C# dan VB.NET

Sedangkan daftar isi dari buku ini adalah:
Bagian I – Pengenalan Packaging dan Deployment
Bab 1 Packaging dan Deployement….…………………..
1.1 Apakah itu Packaging…………………………......
1.2 Apakah itu Deployment…………………………...
1.3 Keuntungan Packaging dan Deployment………….
  
Bab 2 Visual Studio.NET Sebagai Tool Packaging……………………
2.1 Mengenal Project Packaging……………………...
2.2 Fitur Visual Studio.NET Sebagai Packaging……..
 2.2.1 File System Editor………………………...
 2.2.2 Registry Editor……………………………
 2.2.3 File Type Editor…………………………..
 2.2.4 User Interface Editor……………………...
 2.2.5 Custom Actions Editor……………………
 2.2.6 Launch Conditions Editor………………...
 2.2.7 Properties Instal Setup……………………
2.3 Packaging untuk Beberapa OS Windows ………..
2.4 HelloWorld – Packaging .NET……………………
  
Bagian II – Proses Implementasi Packaging dan Deployment
Bab 3 Packaging dan Deployment Framework .NET….
3.1 Framework .NET………………………………….
3.2 Mendeteksi Framework .NET Diinstall…………...
3.3 Redistribusi Framework .NET…………………….
3.4 Redistribusi Framework .NET 1.1 Melalui Dotnetfx.exe…………………
3.5 Packaging Aplikasi Berbasis .NET…….………….
 3.5.1 Pembuatan Aplikasi .NET………………...
 3.5.2 Pembuatan Packaging……………………..
 3.5.3 Deployment Aplikasi .NET……………….
 
Bab 4 Packaging dan Deployment Aplikasi Desktop..………………………
4.1 Fitur Sistem Packaging Untuk Aplikasi Desktop...
4.2 Implementasi Packaging dan Deployment………..
 4.2.1 Skenario Project………………………….
 4.2.2 Pembuatan Aplikasi Desktop…………….
 4.2.3 Pembuatan Packaging……………………
 4.2.4 Deployment………………………………
  
Bab 5 Packaging dan Deployment Aplikasi Web…....……………………
5.1 Fitur Sistem Packaging Untuk Aplikasi Web.........
5.2 Implementasi Packaging dan Deployment………..
 5.2.1 Skenario Project………………………….
 5.2.2 Pembuatan Aplikasi Web………………...
 5.2.3 Pembuatan Packaging……………………
 5.2.4 Deployment………………………………
 
Bab 6 Packaging dan Deployment Komponen……....……………………
6.1 Fitur Sistem Packaging Untuk Komponen..............
6.2 Implementasi Packaging dan Deployment………...
 6.2.1 Skenario Project………………………….
 6.2.2 Pembuatan Komponen……..…………….
 6.2.3 Pembuatan Packaging……………………
 6.2.4 Deployment………………………………
  
Bab 7 Packaging dan Deployment Aplikasi Berbasis Database………………………
7.1 Fitur Sistem Packaging Untuk Aplikasi Database..
7.2 Implementasi Packaging dan Deployment………..
 7.2.1 Skenario Project………………………….
 7.2.2 Pembuatan Aplikasi Database………….
 7.2.3 Pembuatan Packaging……………………
 7.2.4 Deployment………………………………
 
Bab 8 Packaging dan Deployment Windows Service…..
8.1 Fitur Sistem Packaging Untuk Windows Service...
8.2 Implementasi Packaging dan Deployment………..
 8.2.1 Skenario Project………………………….
 8.2.2 Pembuatan Aplikasi Windows Service …..
 8.2.3 Pembuatan Packaging……………………
 8.2.4 Deployment………………………………
  
Bab 9 Packaging dan Deployment XML Web Service...
9.1 Fitur Sistem Packaging Untuk XML Web Service.
9.2 Implementasi Packaging dan Deployment………..
 9.2.1 Skenario Project………………………….
 9.2.2 Pembuatan XML Web Services………….
 9.2.3 Pembuatan Aplikasi Consumer Web Service…………………
 9.2.4 Pembuatan Packaging……………………
 9.2.5 Deployment………………………………
  
Bab 10 Packaging dan Deployment Aplikasi Remoting..
10.1 Fitur Sistem Packaging Untuk Aplikasi Remoting.
10.2 Implementasi Packaging dan Deployment………..
 10.2.1 Skenario Project………………………..
 10.2.2 Pembuatan Aplikasi Remoting...………..
 10.2.3 Pembuatan Packaging………………….
 10.2.4 Deployment…………………………….
  
Bab 11 Packaging dan Deployment Komponen Third Party
11.1 Apakah ThirdParty itu ?
11.2 Strategi Deployment Komponen ThirdParty……..
  
Bagian III – Topik Khusus Packaging dan Deployment
Bab 12 Packaging dan Deployment Merge Module
12.1 Apakah itu Merge Module ?………………………
12.2 Implementasi Merge Module……………………..
 12.2.1 Pembuatan File Share…………………...
 12.2.2 Pembuatan Merge Module……………...
 12.2.3 Pembuatan Package Instalation…………
  
Bab 13 Membuat Smart Installer Dengan Custom Installer
13.1 Mengenal Custom Installer………………………..
13.2 Implementasi Custom Installer
  
Bab 14 Modifikasi User Interface Pada Installer
14.1 Pendahuluan……………………………………….
14.2 Memasukkan Nilai Input Dari TextBox…………..
14.3 Menampilkan Form Register………………………


Ok, kalau ada pertanyaan mengenai buku ini dapat langsung ditanyakan di forum ini
 

Share this post: | | | |

Back to campus...Back to idealism

Mungkin bisa dibilang aneh tapi memang nyata..ya, saya akhirnya memutuskan untuk mengambil s2 ilmu ekonomi UI dengan spesialis Ekonomi Bisnis dengan pertimbangan saya bisa dapat model ekonomi bisnis baik secara micro maupun macro serta untuk membangun relasi bisnis baru disana. Akhir bulan agustus 2005 ini, adalah kuliahku yang perdana di UI - salemba;)...

Back to campus...back to idealism...why not?..

Share this post: | | | |
Posted by Agus Kurniawan | with no comments
Filed under:

Workshop ASP.NET 2.0 Gelombang ke-2 di Brainmatics

Dikarenakan banyaknya peminat yang mau belajar ASP.NET 2.0  maka workshop ASP.NET 2.0 dibuka untuk gelombang ke-2. Segera daftar sebelum jatah kursinya habis...

http://www.brainmatics.com/index.php?option=com_content&task=view&id=48&Itemid=69

Share this post: | | | |