Sunday, September 23, 2007

Ketinggalan Yang HARUS Dikejar

Beberapa waktu belakangan ini lagi belajar J2EE. Seperti biasa, Harry yang research. Cuma gw gak kuat pengen baca sendiri kalo J2EE. Sambil baca tutorial J2EE, sambil baca-baca milis JUG-Indonesia. Ternyata orang-orang di Indonesia banyak yang jago-jago java. Terlihat sudah ketinggalan yang harus gw kejar berkaitan dengan J2EE :) Di satu sisi sedih, kenapa gak dari dulu belajarnya, tapi di sisi lain jadi semangat luar biasa. J2EE memang hebat.

Yang tadi diceritain, ketinggalan dengan orang-orang di Indonesia. Yang lebih jauh lagi, hari kamis kemaren gw baca detik. Google menambahkan fitur untuk bikin presentasi di Google Docs. Abis baca tulisan itu, gw langsung coba. Ternyata memang gila. Kita bisa bikin presentasi, senyaman kita pake MS Power Point. Lalu kita bisa upload file-file presentasi yang kita bikin pake MS Power Point. Presentasi bisa kita jalanin, dan kita bisa undang orang-orang untuk join. Lalu di sebelah kanan slide ada tempat buat chatting, buat nge-diskusiin yang dipresentasin. Jadi bisa dibayangin, presentasi bisa dilakukan dan semua orang bisa ngeliat yang di presentasiin di layar mereka. Bahkan yang presentasi bisa ada di belahan bumi lain.

Yang dipake sama google adalah teknologi web, yang tiap hari kita pake. Tapi yang bikin luar biasa adalah, ide mereka membuat sesuatu dengan teknologi yang bisa memberi manfaat besar buat manusia.

Tadi, beberapa menit yang lalu. Iseng-iseng masuk youtube. Terus iseng-iseng masukin keyword "microsoft". Terus nemu beberapa movie

Microsoft Surface - The Possibilities
Microsoft Surface - The Power
Microsoft Research : The vision
Microsoft unveil the SURFACE

Microsoft Surface, surface computer yang pertama yang memungkinkan user berinteraksi dengan cara yang gak biasa. Rincinya bisa diliat di web micorosoft.

Pas nonton movie ini, yang ada di otak cuma "gilaa...gilaaa...gilaaa". Yang ada di movie itu cuma ada di film-film. Waktu yang mirip-mirip kaya gini ada di film Jhonny Mnemonic beberapa taun lalu, gw cuma ketawa-ketawa doang. TAunya jadi kenyataan.

Betapa jauhnya ketinggalan gw mikir dibandingin sama Microsoft. Mungkin pikiran kita ini terlalu dibatasi oleh pikiran "tidak mungkin" ya, sampe akhirnya membuat otak kita berenti mikir. Gw masih teguh pendirian (dari mulai diskusi sama Nicko), bahwa ada sesuatu yang gak mungkin. Tapi, mungkin kita terlalu mudah bilang sesuatu itu tidak mungkin, bikin mimpi-mimpi kita jadi kecil-kecilan terus.

Bagaimanapun, yang bikin teknologi-teknologi hebat itu manusia kok. Mungkin kita gak punya dana buat bikin sampe jadi kenyataan, tapi setidaknya kita bisa mikir sejauh itu. Bagaimanapun, ini adalah ketinggalan yang harus dikejar.

Saturday, September 22, 2007

Rindu Kampus

Tadi siang janjian sama Pak Panji, mau ketemu calon client di gedung Alumni IPB. Janjian di kampus IPB Baranang Siang, kantor Departemen Ilmu Komputer (Ilkom) IPB jam 10.30, karena janjian sama orangnya jam 11.00. Sampe ke ke Ilkom jam 11 kurang (sorry Pak Panji :D, ke kantor dulu sebentar).

Sampe Ilkom, langsung masuk ke kantor dosen. Di sana Pak Panji udah nunggu, dan ternyata ada banyak dosen-dosen lain. Ada Pak Harry Agung lagi sibuk dengan laptopnya, sambil di sebelahnya ada buku tebel judulnya "Data Mining". Ternyata pak Agung mau ngajar Ekstensi Ilkom. Ternyata yang diajarin adalah Data Mining for Spatial Database. Yeeh, keren bener, Data Mining-nya aja baru tau dikit gw. Pak Harry Agung ini kalo gak salah memang ahli di bidang GIS.

Sambil liat presentasi yang Pak Panji baru bikin. Di meja itu ada Pak Wisnu dan Endang. Sambil liat-liat presentasi, sambil ngobrol-ngobrol tentang software engineering sama Pak Wisnu. Ternyata Pak Wisnu ngajar Analisis dan Disain Perangkat Lunak. Akhirnya jadi tuker-tukeran buku deh. Asik, jadi punya tambahan orang yang bisa ditanya2 tentang Software Engineering nih. Pas lagi ngobrol2, ada Bu Meuthia masuk. Weh Bu Meuthia masih keren aja tuh sampe sekarang gak berubah-berubah :)

Akhirnya kami berangkat ketemuan sama orang yang udah dijanjiin. Diskusi masalah kerjaan dsb dsb. Lalu balik lagi ke kampus.

Sampe di kampus, naro tas di kantor Ilkom terus mau solat di musola belakang. Pak Panji nyuruh solat di ruang Ilkom, tapi pengen di belakang aja ah. Gabung sama mahasiswa2 (so tua bener nih). Sebelum ke belakang ketemu sama Pak Agus Buwono. Kayanya Pak Agus baru beres ngajar.

Pas jalan ke belakang mau ke musholla, ketemu si Dien (Inf 37), dan si Harry (Inf 38/39?). Mungkin di situ banyak anak2 Inf, cuma yang gw kenal dua itu. Akhirnya ngobrol-ngobrol ama si Dien di depan kelas KOM1 (inget masa lalu :( ).

Pisah sama Dien akhirnya solat di musola, di situ ada beberapa mahasiswa lagi pake sepatu. Terus solat Dzuhur.

Setelah selesai, balik lagi ke Ilkom ngambil tas dan permisi pulang. Di situ orang-orangnya masih tetep sama, cuma Pak Agung udah selesai ngajarnya. Lalu pak Agus lagi di meja depan, di meja itu ada dua mahasiswa yang kayanya lagi bimbingan skripsi. Akhirnya permisi pulang sama semuanya.

Di jalan gw mikir kenapa kok rasanya hari ini seneng bener. Ternyata seneng itu karena hari ini rindu gw terobati :) Desember 2005, gw lulus dari UGM. Dari hari itu, gw kangen terus sama suasana kampus. Rasanya pengen kuliah terus. Ketemu sama orang-orang yang lagi belajar hal-hal hebat di Ilmu Komputer, diskusi sama mereka tentang ilmu2 yang mereka minat.

Pulang dari sana, chat sama Fajar, terus dapet kabar baik, si Ajaw keterima di mitrais, Alhamdulillah. Terus gw bilang ke Fajar, "Jar, someday somehow somewhere gw harus kuliah lagi." :)

Saturday, September 01, 2007

ASP .Net, Mimpi Yang Jadi Kenyataan

Udah beberapa tahun belakangan ini gw selalu mikirin disain framework untuk pengembangan aplikasi. Mikirin hal ini, tepatnya dari tahun 2003, sewaktu kerja di Gamatechno.

Awalnya mikirin framework buat web application, lalu sekarang berkembang ke framework yang umum yang bisa dipake di pengembangan aplikasi apapun. Framework umum ini dipikirin awalnya karena "kenalan" sama MVC pattern.

Setelah punya Azpiration sama temen-temen, akhirnya pengembangan aplikasi web dengan PHP maupun pengembangan aplikasi dekstop dengan java dilakukan dengan menggunakan MVC pattern.

Mikirin framework, karena punya impian kalo development jauh lebih mudah dan gak perlu mikirin hal-hal yang selalu berulang. Karena di framework seharusnya sudah ada class-class dasar.

Alesan berikutnya adalah keseragaman dalam disain dan coding. Dengan adanya framework, semua orang akan memrogram dengan gaya yang sama. Dengan demikian, siapapun bisa maintain kode siapapun. Hmm, idealnya begitu tapi biasalah dunia ini kan tidak ideal :)

Minggu ini, kami kedatangan prospek pekerjaan. Pekerjaan ini harus dikembangkan menggunakan ASP .Net dan Oracle. Karena kita blank sama sekali, akhirnya kit susun strateginya nih untuk belajar cepat. Diutuslah Bapak Harry. the fastest programmer in Azpiration untuk belajar. Jadwal belajar dari hari Kamis, lalu hari Sabtu setelah Ashar harus presentasi ke kami berdua. Nah, gw nulis ini setelah presentasi dan diskusi :)

Ada beberapa hal penting yang tadi di sampein, dan sebagiannya sangat menakjubkan, begini:
  • ASP .Net itu bukan adiknya ASP yang dulu. Tapi bener-bener makhluk baru dengan fisik dan jiwa yang jauh sekali bedanya. ASP yang dulu, adalah bahasa scripting yang dieksekusi oleh web server (seperti PHP). Sedangkan ASP .Net adalah framework :) Pertama kali si Harry bilang gitu, gw bingung "kok framework?". Jadi untuk ngembangin aplikasi di ASP .Net kita pake framework ASP .Net itu. Kalo di PHP, kita pake bahasa PHP lalu pake Prado, Mojafi, GTFW, atau Azpiration Framework misalnya. ASP .Net adalah suatu framework untuk mengembangkan aplikasi berbasis web di environment .Net. Kalo kata si Harry, ASP .Net ini serasa coding PHP pake framework Prado. Jadi, kita coding web application ini udah kaya coding aplikasi dekstop. Kalo udah pernah coding VB atau Delphi, nah udah rasanya persis kaya gitu. Lebih detil lagi gini, di web application ada action di form berupa POST atau GET. Pada saat action, browser akan meminta file tertentu sambil mengirim variabel yang ada di form. Lalu file tersebut memroses action tersebut. Hal ini di-encapsulate oleh ASP .Net. Caranya, mereka punya web control, jadi buat bikin button enggak lagi pake input type="" tapi pake asp:...runat="server". Tinggal drag drop, set propertiesnya. Kalo kita buka source HTMLnya isinya tag tadi. Tapi nanti kalo kita akses halaman itu dari browser, sampe ke browser bentuknya udah jadi HTML campur Java Script. Lalu ada code di file lain (diluar file html ini) yang kerjanya sebagai event handler dari setiap kontrol yang ada. Jadi udah kaya development aplikasi desktop persis.
  • Visual Studio .Net 2005 Express Edition (VSEE 2005), betul-betul cukup buat kami ngembangin aplikasi ASP .Net. Karena ini versi gratis, tadinya takut gak cukup. Takut gini takut gitu, nanti udah coding cape-cape di tengah jalah ketauanlah kurangnya. Tapi akhirnya tadi setelah liat, VSEE 2005 ini cukup (lebih dari cukup malah). Dulu untuk disain tampilan kami selalu pake Macromedia Dreamweaver. Tapi setelah gw masuk ke Gamatechno dan belajar tableless layout dari Nicko, kami ngerasa gak perlu lagi. Tapi akhir-akhir ini tampilan sistem yang dibuat udah semakin advance. Misalnya, bisa nambah row di table, lalu di setiap row table ada kolom input, lalu ada blok filter, dsb dsb. Mulailah kerasa cape lagi. Tahun lalu bikin tools buat GUI, dan sudah dipake. Cuma masih jauh dari cukup. Nah di VSEE 2005 ini, bikin tampilan web itu udah kaya bikin form di desktop. Dan bisa dengan berbagai mekanisme: bisa pake table untuk layout, bisa pake absolute position dsb. Lalu kontrol-kontrol dari .Net-nya (yang tadi diceritain di atas (asp:...runat="server"..)
  • Pengaksesan database. Tadi penjelasan belum terlalu dalam, karena Harry belum sempet mendalami ADO .Net. Baru sekilas aja. Tapi dari sekilas itu aja udah luar biasa. Dulu kita bikin relasi antar table di database lalu ngakses dengan SQL. Sekarang itu tetap bisa sih, tapi bisa relasi antar objek ADO .Net. Gila gak tuh. Relasinya terjadi bukan pake SQL, tapi ada objek A dan B yang diambil dari database, lalu pas coding butuh relasi, nah bisa deh direlasi-in. Udah gitu, VSEE 2005nya juga luar biasa. Di situ ada Datasource Pannel. Kalo dibuka, tampil daftar server yang bisa diakses (kaya pgadminya postgresql). Lalu gimana cara membuat paling mudah untuk membuat CUFD di satu halaman? Gampang. Drag tabel yang dipilih, terus drop deh di halaman disain web. Konfigurasi properties. Jadi deh. Bisa Create data, Update, dan Delete. Untuk filter, tinggal ambil kontrol filter, konfigurasi dikit, jadi tuh filter tabel tadi (sampe bengong liatnya). Tapi disain seperti itu gak bagus kata Harry (Harry kata Microsoft). Jadi, research akan diteruskan ke ADO .Net.
Setelah beres presentasi dan diskusi, gw ngerasa impian yang udah lama ada jadi kenyataan. Sering banget di sini cerita-cerita masalah efisiensi pengembangan software. Umumnya bicara masalah framework dan tools. Nah sebagian besar yang diobrolin, udah ada semua di ASP .Net dan VSEE 2005, bahkan lebih bagus dari yang kita bayangin. Ini yang tadi kita liat bikin aplikasi web aja semudah itu. Gimana kalo desktop apps ya.

Sampe keluar omongan, "kalo gini, gimana kalo kita migrasi aja semua ke .Net". Belum disimpulkan apa-apa. Tapi omongan itu bukan cuma sekedar omongan. Kayanya Microsoft mulai berhasil mencuci otak kami betiga nih :)