Tuesday, December 27, 2005

Crazy Things at Sunday Midnight

Hari sabtu malem abis capek ngajar Java n coba prepare buat ngajar besoknya, eh ada temen yang ngajakin pesta farewell. Idenya sih spontan aja, ya namanya temen harus donk kita terima ajakanya terutama masalah makan2 :p. Temen gw rencananya mo jadi branch manager Astra Credit Company di Tangerang, keren banget deh. So tengah malem akhirnya berangkat juga, dan emang di jalan lagi rame soalnya pas malem natal juga.

Ya biasalah ada acara makan2 n nonton, but karena bioskop untuk yang midnight udah selesai akhirnya batal deh nontonnya. Secara ga sengaja ketemu temennya temenku, nah dia tuh DJ n pas lagi manggung, so kita diajaknya dugem. Tapi lagi2 ada problem , soalnya kita pada pake sendal, so ga boleh masuk ama penjaganya. Makanya ini pengalaman, laen kali pake sepatu klo keluar2 malem :)). Banyak rencana gagal n jam baru jam 3 pagi, so kita muter2 dulu sebelum pulang.

Ada ide spontan untuk lewat "Taman Lawang", ya pengen liat2 aja gimana sih suasananya. Karena semua pada setuju jadilah kita kesitu. Dengan mobil pelan2 kita liatin satu2 "transvestite" yang ada disitu. Banyak kejadian lucu, karena gw takut banget so keringat dingin keluar semua, terus tetep waspada untuk kunci pintu n kaca :p. Hmm rupanya ada juga lho yang lumayan cakep, kok bisa ya, bahkan ada yang berani buka2an...gile bener. Abis puter2 2 kali capek deh rasanya soalnya takut banget klo diapa2in. Mobil langsung aja luncur lagi ke rumah.

Nah pas didaerah blokm ada yang minta dilewatin "Mahakam", klo yang ini katanya girl2 aseli lho. Tapi karena udah pagi , ya udah sepi, paling klo ada ya yang ga bagus2 amat. Hmm masih penasaran ada yang ngajak ke "Gajahmada", karena kejauhan n udah capek akhirnya dibatalin deh. Sampe dirumah gw bener2 capek n mikir gile bener hari ini :), Jakarta emang kayak gini , apa aja ada, mulai dari low sampe high asal ada uang maka akan done. Mudah2an aja gw ga kebawa arus yang begitu. Amien

Tuesday, December 20, 2005

Humble MySQL Security

Lagi2 MySQL :p, ya soalnya dari kemarin mencoba integrate dengan database telkomsel.com yang ternyata ga ada yang pake oracle. Mungkin ini sedikit tips untuk keamanan di MySQL bagi orang2 newbie seperti aku. Yang lebih aku tekankan adalah pengaturan pada tiga table berikut (semuanya ada di database mysql) :
  • user
  • db
  • table_priv
Prinsipnya sih klo aku pikir2 hampir sama seperti setting2 di iptables (ingat jaman ngoprek pake Linux :) ). Jadi intinya tutup rapat semua yang general dan buka di bagian yang lebih spesifik. Dari 3 table diatas berurutan mulai dari general ke yang lebih spesifik

user table
------------
Ini akan mengatur host mana aja yang boleh mengakses ke database server ini dengan user yang apropriate. Disini juga akan diatur role2 untuk CRUD dan privileges. Saranku pastikan untuk diset ke "N" value semua role2 yang ada jika ingin mengatur ke yang lebih spesifik di dalam table db

db table
-------------
Lebih spesifik ke pada akses database, klo user table untuk masalah host security, db table lebih kearah privileges untuk menggunakan db yang diinginkan sesuai role. Sekali lagi klo memang kita mau lebih spesifik ke table privileges maka semua role lebih baik untuk diset ke "N" value.

table_priv table
--------------------
privileges yang paling spesifik, jadi disini kmu bisa maen2 role2 apa aja bagi sebuah host dan user untuk mengakses suatu table. Disini ada column Table_priv untuk diisi type DML dan DDL apa yang diperbolehkan terhadap suatu table, bisa Insert, Delete, Update, atau Create.

Dengan mendefinisikan didalam table2 tersebut maka untuk langkah pertama keamanan sudah cukup baik , meskipun mungkin ada yang lebih spesifik dan urgent. So mohon sharenya klo memang tidak hanya itu saja dalam melakukan keamanan di MySQL server.

Recover lost MySQL root password mini-HowTo

Bete khan klo lupa password root dari mysql server. Ya memang demi keamanan memang database server harus di proteksi dengan password, namanya lupa mau diapain lagi. Aku juga kemarin baru2 saja mengalaminya, but ada trick untuk mengatasi hal ini, dan perlu diingat ini hanya akan berjalan sekali dalam start server untuk pertama kali.

Lebih detailnya liat pada situs ini http://news.postnuke.com/Article1273.html ,tapi perlu disesuaikan dengan os masing2, tapi pada intinya jalan ok. Thank for that cheat trick :p


Monday, December 12, 2005

Family Gathering at Marbella , Anyer

Weekend yang menyenangkan, mulai hari jumat sudah libur :). Yup, my company mengadakan acara family gathering di anyer dan tempatnya sih ga tanggung2 , Sol Elite Marbella bro. Meskipun begitu tetep aja ada beberapa problem, mulai pas berangkatnya yang katanya mo pake kendaraan bus "White House" eh ternyata cuman pake "Kopaja berAC", he4x bener2 kacau deh. Tapi lumayanlah siangnya dapet makan sepuasnya di Sari Kuring Cilegon.

Pas sampe di Marbella, ternyata keren juga hotel ini, gede dan megah. Ditambah lagi groupku dapet jatah kamar type "President Suite", hmm baru kali ini merasakan hotel mewah. Ya lumayanlah untuk pengganti gagalnya fam gath ke Bali. Sayangnya sih dari pihak team organizernya kurang kreatif, cuman kegiatannya kumpul2 , makan dan tidur. Makanya aku ama sohib2 1 kamar sering banget maen bilyard biar ga bete.

Acara hari awal, sore hari maen bola di pantai, gile bener dasar ga pernah olahraga semuanya KO padahal baru beberapa menit aja. Justru sang bos, si Irwan yang sepertinya baru pertama maen bola , ngajakin terus n tanya2 cara nendang ala Beckham :) , lucu juga si bos, bener2 disini kita semua free udah melupakan kerjaan yang sebenernya menumpuk. Kesanku terhadap pantainya sih biasa aja, bisa dibilang sangan jelek !!, banyak pedagang kaki lima dan tukang pijat kampungan :(. Pas malemnya setelah makan malem, kita yang cowok kumpul2 ngobrol ringan2 dipinggir pantai. Hmm akhirnya pertama kali aku rasain bir karena temen2 pada nawarin, baru 1/2 kaleng udah ga kuat sepertinya. Kok pada seneng ya ama bir, padahal rasanya ga enak banget mendingan minum teh botol sosro.

Sabtu pagi yang seru, maen jetsky , banana boat dan simple surfing dengan gratis . Dari pagi ampe tengah siang bolong. Hmm temen2 kulitnya pada jadi udang rebus merah2 yang kulitnya putih, nah klo kulitnya yang hitam kayak aku tambah gosong banget. After that, acara meeting yang kata temen2 senior mirip kayak "Cuci Otak" bener2 membosankan. Baru setelah itu game2 diadakan, Komukasi (teamku juara 1, tapi peserta cuman 2), bakiak ga dapet juara padahal udah pake strategi keren :), sumpit kelereng juara 1 karena biasa makan hoka2 bento, dan terakhir juara 3 gebuk bantal, ya soalnya pas semifinal lawanya sang bos, so ga enak klo menang :)). Malam hari bener2 KO aku, diajak maen bilyard udah ga kuat lagi.

Minggu pagi yang cerah, makan pagi kesiangan dan diterusin dengan bilyard sampe kumpul dilobby buat checkout dan makan siang. Udah kebayang bete karena busnya pasti bikin ga nyaman, eh ternyata salah, bus nya jadi kramat djati yang sangat nyaman. Thank banget neh buat team event organizer yang telah menerima dan menindaklanjuti keluhan kita2. Bener2 melelahkan tapi menyenangkan, I hope we will go to Bali for next family gathering, and I hope I will go with my spouse :)). Alhamdullilah Amien.

Liat link ini jika temen butuh referensi tentang Sol Elite Marbella


Monday, December 05, 2005

Drupal CMS (Content Management System)

Lupakan sejenak masalah love :p, lumayan lho buat diotak atik, semua nya tinggal konfigurasi sana sini, jadi deh. Ya klo loe semua pengen bikin web tapi masih belum canggih codingnya pake aja CMS yang satu ini. Klo udah biasa dengan MAMBO, ga ada salahnya untuk coba yang satu ini. Fiturnya cukup lengkap mulai dari content management system, blogs, forums, newsletters, picture galleries , themes dan module2 lain yang tinggal di plug and unplug. Installasi cukup mudah, tutorialnya cukup lengkap untuk ukuran software gratis :).

Jadi klo loe mo bikin web site yang butuh fitur lengkap, Drupal is best choice. Kemarin sih aku mo coba ajuin projek pribadi untuk bikin web dengan layanan module : forum, blog, news dan SMS. Semua ini bisa diimplementasi kok, SMS module itu tinggal dimasukin pluginnya n it will be running.

Kemarin sih sempat2 baca artikel dan forum tentang "Drupal vs MAMBO". Kebanyakan sih bilang Drupal bisa saja menggantikan MAMBO, karena saat ini Drupal sangan mudah dan modular banget. Klo menurutku sih terserah mo pake yang mana, itu bisa tergantung dari web site yang akan kita bikin. Pada dasarnya aku berpendapat, teknologi CMS-nya itu yang hebat, sedangkan tool2nya lebih bersifat mempermudah aja.

Klo loe2 pada pengen coba, silahkan kunjungi www.drupal.org

Tuesday, November 29, 2005

28th Jazz Goes To Campus

Sebenernya aku ga begitu suka musik jazz , alternative maniak. Tapi karena ada temen aku yang master jazz ajak nonton JGTC, khan ga ada salahnya ikut2an nimbrung. Lagian bisa aja ketemu ama yummy girl di FE UI. Dengan mengusung tema "Journey of a Symphony" terdapat 2 stage yaitu "Stage Symphony dan Stage Harmony". Sepertinya "Stage Symphony" adalah main stage, karena banyaknya pemusik jazz ternama yang main disana. Sedangkan "Stage Harmony" lebih kearah pemusik muda berbakat. Itu as far as i know, soalnya aku juga pemula banget neh :).

Dari mulai jam 10 sampe 6 sore aku mencoba menikmati musik jazz. Aku terkesan banget ama Starlite, Tika, BazzAttack disamping pemusik terkenal kayak Ireng Maulana, Tompi , NERA. Terutama ama Starlite dan Tika. Starlite ini pemenang Jazz Music Competition 2004, dan gilenya personelnya semua cewek2 imut :), apalagi drummernya masih SMP bro. Musiknya kebanyakan instrument dan skillnya wow keren banget. Untuk tika aku lebih terkesan karena suara dan jenis musiknya, mirip2 kayak The Cardigans gitu deh.

Karena saking menikmatinya, aku bahkan minta kirim temenku yang master jazz untuk kirim list dari koleksi jazznya. Hmm sepertinya mulai mencoba menekuni jazz, terutama yang jazz modern :), alternative ? I always still loving it

Thursday, November 24, 2005

Scarab was running :)

After trying install scarab application for couple times, I have already done. What's matter about the problems are very not serious. Just only i wrong got the release version :). I never succesful when install version scarab-1.0-b17, but it was very fast and successful install on scarab-1.0-b20. These are step by step in my simple installation.
1. Dowloading scrab from scarab.trigris.org , rememeber lastest version is very recommended :)
2. Then extract on your directory , let's say SCARAB_HOME
3. Create build.properties, don't worry about it , you can just copy from template minimal.properties or project.properties. Official scarab recommended for first.
4. Set appropriate parameter value as you want and as you need
5. Go in SCARAB_HOME/build, then run ant deploy or just ant
6. You can fly with ant create-db for database preparation
7. To run on server, just go in SCRAB_HOME/tomcat/bin and run startup.bat. So you've done, wow :) just simple and great.

I am trying on WINDOWS so I don't know on other platform is as simple as on it. Oh I forgot it, before you try to install you must have already installed these application :
Ant 1.5 or greater and MySQL 4.1 or greater (the databases are optional, because you can use the others)

Monday, November 21, 2005

Moview Review : Final Fantasy VII - Advent Children

Film yang memang bener2 aku tunggu sejak dibilangin klo cerita di game Final Fantasy VII bagus banget. Meskipun ga pernah maen game nya tetep penasaran, dan memang film ini beda banget sama yang "Final Fantasy" versi barat yang sudah release lebih dahulu. Dari segi ceritanya sih sepertinya sama dengan yang di game nya CMIIW. So klo belum pernah maen game seperti aku ya susah sekali ngerti istilah2 disitu seperti Geostigma, mother , dsb. Ya untuk cerita sih aku coba ngerti AFAIK aja, dan aku rasa ceritanya biasa aja. Aku lebih melihat yang ditonjolin adalah animasinya, dan memang top banget deh perang animasinya. Dan boleh aku bilang sih mungkin lebih baik dari buatan amrik sana. Dengan bintang utama si Cloud film ini menceritakan tentang perang antara kubu peacefull dan destroyer. Di kubu peacefull ada si Cloud, Vincent, Pricess, Tifa dan kelompok shinra company. Nah di kubu destroyer meskipun lebih sedikit yaitu gang Kadaj namun mereka mencoba untuk memakai kekuatan sephiroth untuk menhancurkan dunia. Perang pun terjadi , dan apa yang akan terjadi, tonton aja filmnya :). Tapi klo yang bukan fans game Final Fantasy VII sepertinya akan ngantuk seperti aku :).



Movie Review : FlighPlan

Seperti film Jodie Foster sebelumnya "Panic Room", film ini menyajikan ketegangan dari awal sampai akhir. Diawali dengan trauma kematian suaminya, Kylie Prats (Jodie Foster) kehilangan anaknya didalam pesawat. Dan semua awak pesawat dibuat kebingungan untuk mencari gadis berumur 6 tahun dan parahnya partner Kylie dalam menemukan anaknya yang hilang adalah sang penyandera. So dengan kondisi tidak ada yang peduli lagi ditambah dengan kuatnya koordinasi penyandera, Kylie berjuang sendiri untuk mengalahkan itu semua. Akting Jodie Foster dalam film tegang memang sangat baik, dengan mimik yang tiada tandingannya :). Hmm, sepertinya pecinta film jangan melewatkan tontonan ini. Dan klo saya sih fans berat si Jodie Foster :) so pasti sudah nonton.


Thursday, November 17, 2005

Java Expert Level (In School Analogy)

Barusan baca di milist JUG dan setelah baca email dari salah satu member ada benarnya juga. Ini kalimat yang aku kutip dari email.

"Seseorang menguasai Java Fundamental alias languagenya dan pemrograman berorientasi-obyek itu baru tahap SD. Kalau sudah menguasai tools macam build tools, IDE dan application server macam Ant, Eclipse dan JBoss itu sudah sampai tahap SMP. Tapi kalau sudah menguasai spesifikasi, paham pattern dan tahu cara kerja app server barulah dia sampai tahap SMA. Tahap kuliah adalah kalau dia sudah mampu menciptakan framework sendiri, bikin code generator dan tools sendiri."

Dan untuk mencapai itu dibutuhkan waktu dan pengalaman yang cukup banyak bahkan bisa sampe bertahun-tahun. So sekarang kembali lagi pada kita , kira2 aku ini masuk level yang mana ? Dan justru lucunya banyak pula yang udah bisa maenin tools tapi fundamentalnya masih belum kuat, artinya udah SMP tapi SDnya ga lulus kali ye :). Mungkin aku juga mengalami hal begitu, bagaimana dengan kalian2.


Wednesday, November 16, 2005

Oracle XE (Express Edition) is FREE !!

Oracle akhirnya meliris versi gratis DBMSnya, namanya Oracle Express Edition (XE). Katanya sih light-weight kaya DBMS gratis terkenal lainnya , MySQL, PostgreeSQL. Dan neh DBMS bisa diembeded dengan aplikasi secara gratis pula. So sekarang mulai peranglah antara kubu Free vs kubu Opensource.

Impact yang sangat bagus adalah bagi para developer, dengan adanya aplikasi bagus nan gratis maka untuk mendeploy aplikasi bagus ga perlu bayar mahal pula. Nah setelah terlihat sukses maka bisa upgrade ke versi yang bayar alias komersil. Sepertinya oracle udah mengikuti jejak dari Microsoft yang telah mengeluarkan versi gratis MSQL , yaitu MSQL express. Tapi untuk versi gratis Oracle XE ini hanya di batasi untuk storage sebesar 4 GB, hmmm masih lebih bagus dibandingkan dengan MSQL Express yang hanya 2 GB.

Pertanyaannya, apakah Oracle XE tetap kerasa berat seperti versi yang lain, dan apakah sebenernya tujuan dari Oracle sendiri (ingat Oracle telah membeli InnoDB engine seperti yang digunakan di MySQL). So liat aja perkembangannya.

Ini bagi yang mo download : http://www.oracle.com/technology/software/products/database/xe/index.html

Tuesday, November 15, 2005

Technology Fast 50 Special Award Winner for 2005

Graham Technology baru saja memenangkan award dari The Deloitte Award untuk kategori "Technology Fast 50 Special Award Winner for 2005". Ini merupakan penghargaan bagi 50 perusahaan technolgi yang berkembang paling cepat. Selamat buat Graham Technology, semoga dalam masa akan datang rangking semakin tinggi.
www.fast50.co.uk



Monday, November 14, 2005

Java trademark is Sun's property

He4x...barusan baca thread di theserverside bahwa pengacara Sun menuntut owner dari Javatoolbox karena memakai trademark Java. Gile !!! padahal Java khan yang umum, di Indonesia aja banyak yang pake nama Java, East java, west Java dll. Pas dulunya klo ga salah namanya bukan Java, tapi OAK, soalnya menurut cerita ketika pas mereka bikin hanya ada pohon OAK didekat jendela, trus ganti jadi Java karena keseringan minum kopi tubruk. Nah sekarang berani2 nya nuntut orang pake nama Java. Pokoknya ga fair deh kayaknya , itu klo menurut aku lho. Ga tau klo menurut lawyernya Sun :). Klo pengen jelas coba deh liat thread disini www.theserverside.com

Wednesday, October 12, 2005

PHP and Oracle

Yah masak consultant disuruh coding PHP ? itulah pertanyaanku dari kemarin karena dapet job aneh. Ya memang begitu, karena hanya untuk mencapai masalah performansi aku harus tetep coding pake PHP meskipun cuman beberapa baris :(. Anehnya lagi database yang digunakan adalah oracle, Hmm masak bisa pake oracle kok cuman pake PHP. Ya begitulah keadaanya gabisa nolak lagi.

Setelah liat2 sana sini , so aku coba kasih step simple untuk koneksi PHP dengan Oracle. Untuk caraku aku pake OCI, meskipun dalam manualnya ada cara lain (cari yang paling cepet aja ). Pertama u harus download oracle instant client, ini harus klo u ga punya installation oracle client di komputer. Abis gitu extract dan set PATH kearah directory tersebut. Terakhir uncomment extension di php.ini pada bagian "php_oci8.dll". So you've done, simpel dan cepat. Tinggal masalah sintaks dan masalah logika. Klo pengen lebih jelas silahkan kunjungi Oracle Faq dan Oracle PHP. Lumayan lho untuk dipelajari, sapa tau nanti kepepet kayak saya :D.

Saturday, October 01, 2005

Is My NF done ?

Cita2ku salah satunya ingin menjadi enterpreneur. Ya kebetulan berteman dengan orang yang tepat , maka aku putuskan untuk mencoba bisnis franchise lembaga pendidikan komputer "Nurul Fikri". Dengan modal yang pas2an :P, dan dengan kerja keras (terutama temen2ku :D) akhirnya pada bulan ini secara resmi sudah berdiri dan berjalan. Cukup lama juga lho, sekitar hampir 3-4 bulan kita mengurusi dari hal kecil ke besar, mulai dari sewa ruko, beliperalatan, pengurusan CV dan aggrement dari NF pusat.

Apakah udah selesai sampe begitu ? ternyata belum, dan inilah saat yang bener2 berat, yaitu marketing. Gmn caranya agar para mahasiswa dan orang2 awan pengen belajar di NF. Banyak juga cara yang udah kita tempuh, yang pertama presentasi gratis, workshop (masih rencana kedepan) dan paling penting adalah brosur dan spanduk. Disaat inilah teamwork kami bener2 di uji dan di test, ya meskipun masih ada yang males2an (termasuk saya :p). Tapi aku yakin dalam 1-2 bulan kedepan akan terlihat hasilnya, semoga. Dan aku punya pesan bahwa klo mo usaha , siapkan dana operasional untuk min 6 bulan , agar loe semuatetep bisa survive pas kondisi belum dapet customer. Bravo Enterpreneur !!.

ERP and CRM Presentation

Beberapa hari yang lalu aku mendapatkan pengalaman yang luar biasa. Untuk pertama kalinya jadi pembicara dalam presentasi yang lumayan gede, pesertanya sekitar 160 mahasiswa. Ya, tepatnya jadi pembicara di Universitas Islam Negeri Syarif Hidayatullah. Meskipun rada2 berbau nepotisme tetep aja itu memberiku pengalaman yang berharga. Sesuai dengan request dari bapak dosen sana bahwa saya harus memberikan presentasi tentang solusi bisnis di suatu company, dan karena kebetulan company saya bergerak dibidang CRM maka saya mengusulkanuntuk overview tentang ERP dan CRM.

Semua berjalan OK, sampai pada saat mulai presentasi. Ketika aku coba memberikan gambaran dengan bahasa sederhana, para mahasiswa terlihat bengong :P. Tapi aku tetep coba untuk lebih interaktif namun tetep aja begitu kondisinya. So ,akhirnya aku putusin untuk mempercepat presentasi agar mereka tidak boring, dan aku berharap nantinya akan banyak pertanyaan tentang CRM dan ERP. Bener juga pada saat sesi tanya jawab lumayan ada yang bertanya dan meskipun pertanyaannya rada ringan tetep aja aku antusias menjawabnya.

Setelah semua selesai, aku bincang2 dengan bapak2 dosen, dan aku coba bertanya kenapa para mahasiswa kok kurang bisa mengerti apa yang saya sampaikan. Hmmm, beliaunya menjawab klo mahasiswa yang ikut kebanyakan adalah mahasiswa baru. Pikir saya pantes saja :), wong ada beberapa yang masih awan dengan komputer. Wah ternyata salah sasaran :P, tapi lumayan juga buat pengalaman yang berharga. KLo u semua pengen liat2 bahan presentasinya download aja disini Enterprise Business Solution

Tuesday, September 27, 2005

Is This a JDBC's Anomali ?

Karena harus menyesuaikan diri dengan tool produk dari company, akhirnya mau ga mau pake juga technology JDBC untuk akses data. Hmmm padahal ini teknik yang standard dan mungkin udah banyak ditinggalkan. Khan sekarang lebih mudah untuk menggunakan technology ORM. Tapi karena hanya JDBC yang didukung oleh GT-X (tool tadi :D) ya apa boleh buat.

Nah pas lagi eksperimen, ada anomali yang aneh pada JDBCnya. Begini, menurut guide JDBC, jika kita melakukan query dan mendapatkan hasil berupa ResultSet maka kita harus tampung dulu hasilnya ato paling tidak sesegera melakukan proses terhadap result tersebut sebelum ResultSet di close. Karena jika kita pake setelah ResultSet diclose maka akan muncul pesan error "This result has been invalidated". Di Java hal itu dikarenakan nilai referencenya udah tidak valid sehingga tidak bisa diakses. Dan itu memang terjadi pas aku pake DBMS PointBase dan SQL Server. Tapi pas aku coba pake Oracle dan MySQL oke2 aja, aneh khan :). So sampe saat ini aku masih ga ngeh mana yang sebenernya yang implementasi JDBCnya bener dan tepat. Ato itu lebih mengarah ke karakteristik DBMSnya ? wah sampe saat ini belum terjawab

So, klo ada temen2 yang bisa kasih penjelasan tentang anomali ini, aku ucapakan terima kasih. Perkiraan awalku sih kemungkinan JDBCnya ato DBMSnya. Mohon bantuannya.

Monday, September 12, 2005

CRM ... IMHO

Akhirnya sempat juga nulis setelah beberapa waktu sulit untuk mencari waktu luang. Hmm setelah pikir2 dapat juga ide untuk coba bahas tentang CRM (Customer Relationship Management). Secara kebetulan juga ditempat kerjaku yang baru juga fokus ke dunia CRM. Dan sekitar 2 minggu lalu aku dapet trainning tentang penggunaan tools dari company-ku, dan tool itu nantinya akan dipake untuk develop aplikasi CRM.

Oke deh aku akan coba beri sedikit tentang pengertian CRM, menurutku CRM adalah suatu aplikasi/methodology untuk melakukan analisa, pendekatan dan hubungan dengan customer secara online dan ontime. Jadi pada dasarnya CRM kebanyakan akan dipake dilayer front-end, biasanya untuk melakukan manajemen customer, melakukan penawaran, mencatat tracking dsb. Ini masih IMHO lho :D, dan secara default seharusnya aplikasi CRM harus support untuk konektivitas seperti email , telpon, TV dan media komunikasi yang lain. Pada saat ini aku sedang design dan develop template untuk aplikasi Sales And Service untuk banking. Disitu terdapat beberapa modul utama yaitu customer management, account management dan card management. So kebanyakan data yang diambil sudah disediakan oleh core sistem dari banking itu sendiri. CRM lebih ditekankan untuk langsung face to face dengan end user, dengan begitu maka pelayanan terhadap customer akan menjadi lebih baik.

Sekarang ini CRM di pasaran sedang naik daun bersama aplikasi lain seperti ERP (Enterprise Resource Planning) dan SCM ( Supply Chain Management). Maka tidak ada salahnya untuk belajar lebih jauh tentang CRM, dan diIndonesia untuk aplikasi CRM ini akan lebih rumit karena masalah information file yang memang masih jelek di negara kita. Dengan Information File yang bagus maka aplikasi CRM akan menjadi semakin bagus pula. Di dunia banyak sekali provider CRM, diantaranya yang menjadi leader adalah Graham Technology (It's my company :p) dengan produknya GTX dan Siebel. Semoga untuk kedepannya aplikasi CRM bisa membawa dampak cukup berarti bagi kelangsungan hubungan customer dan company. Amien.

Tuesday, July 19, 2005

Money or Career Oriented

Ini mungkin yang selalu ada di otak para fresh graduater :). Ketika mereka melamar pekerjaan , mana yang akan dipilih.Biasanya untuk yang money oriented butuh skill yang cukup tinggi dan keberuntungan juga , sedangkan yang kedua lebih kearahloyality dan safety. Hal2 itu juga bertemu denganku ketika pas baru lulus, aku dengan knowledge java yang pas2an diterima dicompany kelas menengah tetapi dengan gaji yang lumayan gede. Setelah hampir 1 tahun mencari jati diri :D, akhirnya aku mendapatsaran dari senior bahwa untuk pertama2 memang untuk yang mengejar karir terasa bergaji kecil. Karena mungkin untuk membuktikanloyalitas dan kemampuannya. Pada selanjutnya aku coba analogikan dengan si A (money) dan si B(career) dalam pekerjaan dunia IT.

Namun seiring dengan waktu, suatu saat (mungkin 2-3 tahun ) maka si B ini akan mendapatkan promosi jabatan , misal dari developer menjadi programmer analyst. Otomatis salarynya akan naik, ini merupakan penghargaan dari company terhadap kinerja dan loyalitas kita.Sedangkan si B , karena mengejar uang, maka setiap kontrak selesai dia akan mencari pekerjaan dengan salary yang lebih gede dari sebelumnya tapi dengan posisi yang sama yaitu developer. Apa yang terjadi 6-7 tahun lagi ?

Kemungkinan besar, si A akan tetap menjadi developer dan pada akhirnya akan menurunkan rate salarynya lebih rendah ato palingtidak tetap dengan salary terakhir, karena untuk posisi jabatan tertentu pastilah ada batasan range salary yang jelas. Masalahnya companyakan berpikir logis, bagaimana mungkin akan mengeluarkan budget besar hanya untuk seorang developer, akan lebih baik apabila dipakaiuntuk orang yang lebih bermanfaat. Sedangkan si B sangat mungkin akan dipromosikan menjadi system analyst yang notabene memiliki salarylebih tinggi dibanding developer. Nah , sekarang apa yang bisa jadi bahan perbandingan ? secara OTE (On Total Earning) maka si A dan si Bakan memperoleh total pendapatan yang sama, karena pada menjelang tahun2 terakhir salary si B lebih baik. Dan apa kelebihan dari masing2 ? untuk si Akemungkinan hanya masalah skill saja sangat bagus, sedangkan si B akan memperoleh salary selanjutnya yang lebih besar dan lebih baik, sertadia bisa lebih mudah berpindah company karena posisinya yang lebih strategis dibandingkan si A.

Analogi itulah yang saya pikirkan , meskipun tidak sepenuhnya benar dan tepat karena semua tergantung kerja keras dan faktor keberuntungan.Namun kedepannya bisa saja itu terbukti, dan sekarang saya mencoba untuk merintis kembali ke jalan karier. Tetapi ada beberapa pertimbangan yang harus dipikirkan, antara lain : salary mendekati salary kontrak (lebih kecil sedikit:(), kesempatan karier dan kesempatan ke luar negeri. Hal inilahyang saya harapkan dan saya kejar di company saya yang baru. Semoga semuanya berjalan dengan lancar... Amien.

Sekali lagi ini merupakan analogi , bisa terbukti bisa tidak , dan semua tergantung dari pemikiran masing2 temen2. Soalnya ada beberapa daritemen2 yang mungkin lebih suka free dan berkembang dengan bebas. Mohon masukannya :D

Tuesday, July 12, 2005

VCD "Gadis Dago" ...:D

Hmmm... lagi - lagi bandung. Setalah "Bandung Lautan Asmara", "Belum ada Judul" dan movie karya anak2 kampus Dayeuh Kolot, sekarang udah muncul lagi "Gadis Dago". Sesuai dengan news dari Liputan 6 dan metro TV, judul itu dipake karena tempat pembuatannya di daerah dago, lebih tepatnya Jl. Ir Juanda di kamar hotel kelas melati. Dan yang maen adalah mahasiswa :) seperti halnya "Bandung Lautan Asmara".

Menurut berita , durasinya sekitar 50 menit , dan sekarang banyak dijual sekitar 15 rb per keping bahkan ada yang cuma gocenk. Ayo sapa tertarik ., buruan aja !!. Sekarang aparat kepolisian sedang menyelidiki kasus ini. Dan aku pikir nantinya yang ditahan selain pemainnya juga yang burning kopiannya. Nah lho !!

Ada comment , ato ada yang udah punya kopiannya ?

Oasis's New Album

Setelah mencari mp3 gratis selama berminggu- minggu ga dapet ... eh temen sebelah duduku punya :((. O ya yang aku cari adalah album baru oasis (my favorite band), katanya si noel pas belum release , di album baru "Don't Believe The Truth" beraliran psychedelic alternative. Jadinya udah berubah haluan dari gaya2 britpop yang gayanya lebih melankolis daripada alternative biasa.

Hmm, setelah denger ember beda banget, gaya psychedelic lebih kearah alternative yang mixed abis dan ga rame kaya alternative punk. Dentuman drum dari anggota baru si Zak Starkey (anaknya mantan drumer The Beatles , Ringo Star). Melody dari Noel yang creative tapi ringan dan iringan rythm dari Gem Archer yang jernih menambah kompak dari komposisi lagu2nya. Bas dari Andy Bell juga lebih terasa dibandingkan album2 yang dulu, dan yang pasti suara khas dari si Liam. Pokoknya oke deh rasanya beda.

Ngomong2 lagu ada beberapa gaya. Untuk "Lyla" emang terkesan gaya lama, oasis banget deh :D. Trus gaya kasarnya "Mucky Fingers", raucous ala "Turn Up The Sun" sampe gaya lembutnya "Let There Be Love" . Dan lagu terkeren "The Important of Being The Idle" katanya untuk menjawab dari lagunya The Beatles "I'm Only Sleeping". Lagu2 yang paling aku suka : Lyla, Turn Up The Sun, Let There Be Love dan The Important of Being The Idle. Pokoknya semua sih top abis, check aja di Oasis's Site. Dan yang beda dari album2 sebelumnya adalah song writer -nya udah ga dimonopoli oleh si Noel, sekarang si Liam , Andy Bell, dan Gem Archer juga cukup produktif.

O ya bagi teman2 penggemar band2 baru kaya The Strokes, The Hives, White Stripes , The Hives, Franz Ferdinand , pokoknya yang alirannya kaya gitu (alternative), mohon kasih info2 nya yah

Monday, July 11, 2005

To be a Java Master !!

Beberapa hari yang lalu aku ngobrol ama seniorku dulu pas di project. Yah temen2 yang lain bilang dia master java , hmmm....emang sih :D klo menurutku. Nah selama ini aku selalu belajar Java dari technology yang udah ada dan selalu mengikuti technology yang baru2 juga. Karena terlalu cepat juga perkembangan technology Java, maka aku coba tanya pada sang master kira2 gimana yah best practice nya biar bisa jadi master Java. Sarannya sih pertama coba u bikin target siapa yang bakalan u mau kejar knowledgenya, dengan begitu kmu akan punya target dan tidak ngambang belajarnya. Trus ada point2 penting yang aku dapat dari sang master, cobalah kmu kuasai beberapa technology disini, setelah itu barulah kmu bisa berkelana di dunia Java (bukan dunia persilatan !!). Tapi sebenernya sih menurutku ini tergantung dari zamannya , dan kebetulan technology ini memang sangat tepat keberadaannya.

Technology dan knowledge tersebut antara lain :
1 . OOP (Object Oriented Programming ) dan Design Pattern concept
2. JUnit but not JUnitEE
3. Ant , coba liat postinganku yang sebelumnya
4. SCJP (Sun Certified for Java Programmer)
5. And the last but not least , Spring Framework

Mungkin klo u semua mo coba ya monggo, aku sih sekarang sedang coba memperdalam technology diatas. O ya klo dapet site dan tutorial yang bagus tentang point2 yang diatas tolong dishare, dan klo ada comment ya silahkan nulis...Bebas aja kok :D

Wednesday, June 29, 2005

Automation with Ant

Pernah bikin Java program yang lumayan komplek tapi capek compile ,gabungin dalam jar terus pengen running ? Ant adalah jawabannya. Ant merupakan build file seperti halnya make, tapi bedanya Ant dibuat pake dan untuk Java sehingga dijamin multiplatform. Dengan Ant maka kita melakukan otomasi pada development dan pendistribusiannya :D.

Ant memiliki 2 file konfigurasi yang utama , yang pertama adalah build.xml. File inilah yang dibaca oleh Ant sehingga melakukan proses compiling, jar-ing dan distributing. Disini u harus memasukkan tag2 dalam format xml. Yang kedua adalah build.properties, disini disimpan variable2 yang nantinya akan digunakan didalam build.xml. Biasanya yang ditaruh disini adalah semacam directory path, classpath dll. Setelah semua beres, dengan sekali ketik : ant maka proses otomasi akan dilakukan.

Dan menurutku pada saat ini dan masa mendatang proses otomasi dalam suatu project sangat mutlak digunakan, so belajarlah dan implement menggunakan Ant. Oke ini alamat yang kmu perlukan untuk mendapatkan info tentang Ant.

Automation makes jobs to be easier and simplier.

Tuesday, June 21, 2005

IntelliJ IDEA

IntelliJ IDEA merupakan salah satu Java IDE yang cukup populer dikalangan developer java, ya soalnya aku juga pake ini :D. Ada beberapa feature dari IDEA ini yang sangat membantu developer java dalam hal bikin program, karena akan mempermudah dan mempercepat proses coding. Dengan tampilan GUI yang sangat modern, IDEA (terbaru versi 5.0, tapi aku masih pake yang 4.5 ) memberikan code inspection dimana memberikan pesan live error ketika ada code yang tidak sesuai dengan pattern Java. Klo temen2 membutuhkan code completion , maka tidak salah pake IDEA karena banyak code completion yang disediakan, mulai dari method completion sampai class completion.

Untuk masalah refactoring, IDEA jagonya, mulai dari refactoring EJB's code sampai supporting untuk JDK 1.5. Selain itu supporting terhadap third-party juga OK, seperti Application Server (Web Logic, Tomcat), CVS, SourceSafe, StarTeam, Ant build dan JUnit. Bahkan untuk developer J2EE, disediakan hot swap debugging yaitu melakukan compile code dan langsung bisa dibaca di application server tanpa harus restart server. Ini sangat membantu banget lho :p. O ya bagi yang ga tau refactoring, refactoring adalah usaha untuk merubah struktur code program (internal behaviour) dengan tidak merubah/mempengaruhi jalannya program itu sendiri(external behaviour). Di IDEA terdapat fitur garbage collection, jadi klo memory PC temen2 udah kecil bisa langsung aja execute button di kanan bawah, maka memory akan nambah lagi .. keren banget :o.

KLo pengen tau lebih jauh , coba kunjungi IntelliJ IDEA, tapi ini ga gratis lho dan ga open-source juga. Jika pengen yang free dan open-source bisa coba IDE lain seperti Eclipse, Emacs, dan NetBeans. Masih kurang ? coba lagi deh untuk yang commersial ini JDeveloper n JBuilder. He4x... ato malahan bingung mau pake yang mana, klo gitu ini aku kasih Java IDE Comparison (PDF) biar tau kelebihan dan kekurangan masing2. Tapi yang pasti coding pake Java lho yah :D.

Monday, June 20, 2005

Oracle Toplink

Toplink adalah framework untuk mapping data dari Relational DB ke dalam Objek Java. Fungsinya hampir sama dengan tool ORM (Object/Relational Mapping) yang sering dipake saat ini seperti Hibernate dan iBATIS, dan hampir sama pula dengan standard spesifikasi dari Java yaitu JDO (Java Data Objects). Cuman perbedaannya sih hanya dalam algoritma implementasinya. Pada saat ini versi yang dipake adalah Toplink 10.1.3.

Menurut dari arsitekturnya, Toplink ini bisa dipake didalam DBMS yang berbeda, Application Server yang berbeda, dan arsitektur J2EE yang berbeda. Hmm ... jadinya bisa di sebut multi-??? ;p. Pada intinya Toplink akan support jika arsitektur yang dipake juga support JDBC karena Toplink akan menggunakannya. Dengan menggunakan Toplink maka objek dari RDBMS (Relational Database Management System) akan bisa dibaca di Java seperti Java Bean yang dalam hal ini disebut model. Jadinya nantinya kita akan bermain-main dengan setter/getter dari objek bean. Mengapa bisa terjadi ? karena Toplink punya file mapping , berupa xml, yang akan mendefinisikan konversi antara DB type dengan Java type. Toplink juga mendukung adanya constraint foreign key dengan cara merepresentasikan sebagai reference object dalam objek Java. Hmm... tapi kayaknya ga bakalan dipake klo RDBMS-nya pake MySQL (itu pun klo bisa pake Toplink) karena setauku di MySQL ga ada yang namanya foreign key :(.

Di project yang sedang aku kerjakan, aku juga pake Toplink. Tapi sayang kita cuman dikasih layer lagi berisi method2 buatan programmer Toplink untuk mengakses objek2 yang dihasilkan Toplink agar penggunaan sintaknya seragam. Meskipun begitu aku masih bica baca dari code2nya :D. Intinya didalam Toplink, session itu dimasukkan ke dalam Unit of Work, jadi paling hati2 klo main sessionnya. Misal jika session modenya Non transaction ya jangan coba2 untuk mengupdate data, trus jangan sampe dalam 1 method membikin dua session transaction karena session terakhir yang akan dipake untuk mengupdate data. Karena Toplink menyimpan perubahan dalam cache, nah setelah method selesai dikerjakan maka baru di commit, jadinya session yang sama akan tertindih dengan yang paling akhir. Dan itu merupakan kejadian paling menyusahkan ketika project memasuki phase integration :D, karena harus cross check dengan module lain. O ya klo pengen tau lebih detil coba kunjungi Oracle TopLink.
Selamat belajar dan mencoba :D.

Friday, June 17, 2005

JSPs (Java Stored Procedures )

Jangan lupa dengan huruf s kecil dibelakang, soalnya ntar keliru sama JSP (Java Server Page) meskipun masih kerabat keluarga Java :p. Apa itu JSPs ? store procedures yang memakai bahasa Java, mungkin bagi kita selama ini terbisa dengan penggunaan PL/SQL, JSPs bisa dijadikan alternatif untuk bahasa codingnya. JSPs ini didukung oracle mulai versi 8.1 , karena disitu ada JServer yang merupakan JVM dalam DBMS. Jadinya sekarang apa yang akan kita pake JSPs ato PL/SQL ? menurut pakarnya sih keduanya bisa dipake dengan disesuaikan kebutuhan. Misal jika program kita memang cuman berurusan dengan DB Object dan SQL maka kita lebih mengedepankan PL/SQL, nah klo berhubungan dengan SQL,XML, J2EE dan Web Services maka pakailah JSPs.

Gimana caranya ? Ada beberapa langkah utama yang harus dilakukan, aku coba testnya pake TOAD wizard :D, klo mau pake command line bisa merujuk pada referensi yang aku sertakan dibawah. Pertama yang harus dibikin adalah Java code, perlu diperhatikan dalam pemilihan type indentifiernya, karena ini nantinya akan diconvert ke type yang didukung oleh Oracle, Data Access and Manipulation: Oracle Types vs. Java Types. Kmu bisa bikin codenya pake notepad ato pake Java IDE seperti JBuilder, IDEA, eclipse dsb.

Yang kedua adalah melakukan load objek java kedalam DBMS, kmu bisa menggunakan loadjava tool command line ato pake DDL CREATE JAVA. Maksud disini adalah memasukkan objek java ke dalam DBMS agar nantinya bisa dipanggil lewat JVM DBMS. O ya klo di TOAD pake Java Manager :D. Setelah objek java ke load ke DBMS, langkah berikutnya adalah melakukan publish dari class java tersebut. Gunanya publish ini adalah untuk membuat wrapper PL/SQL yang digunakan untuk memanggil objek Java. Disini bisa dibuatkan package bisa juga tidak. Di dalam PL/SQL yang dihasilkan kmu dapat menambahkan implementasi method2 yang selalu ada pada objek java seperti : getClass, hashCode, toString, wait, notify dll. Nah PL/SQL inilah nantinya yang akan dipanggil oleh procedure PL/SQL yang lain.

Jika perlu memberikan privilege maka berikan kepada user2 tertentu saja yang boleh execute. Udah deh harusnya tinggal panggil aja dan cek hasilnya, klo masih belum berhasil coba baca step by step di bawah ini. Semoga bermanfaat :p.

Calling Java from PL/SQL
Simplify with Java Stored Procedures

Wednesday, June 15, 2005

PL/SQL , Using "Case"

Kemarin temen aku ada yang punya problem, misal dia punya table yang namanya TABLE_1 yang didalamnya ada 3 field yaitu A, B, dan C dengan isi terserah.
Table_1
A B C
--------------------------

Kemudian dia pengen melakukan select query untuk field A dan B dengan aturan :
1. Jika nilai B tidak sama dengan NULL maka isi B dengan '1'
2. Jika nilai B sama dengan NULL dan nilai C sama dengan NULL maka isi B dengan '2'
3. Selain itu isi B dengan '3'

Permasalahannya dia bingung bagaimana sintaknya yah ? :D
Klo menurutku sih kita bisa menggunakan sintaks CASE pada saat select query seperti di bawah ini :
SELECT T1.A,
(
CASE WHEN T1.B IS NOT NULL
THEN '1'
WHEN T1.B IS NULL
AND T1.C IS NULL
THEN '2'
ELSE
'3'
END
) B
FROM TABLE_1 T1
Dan seharusnya sih berhasil , soalnya aku udah coba dan jalan. Selamat mencoba :))

Friday, May 27, 2005

Oh Milan .... Oh Liverpool

Akhirnya setelah sekian lama Liverpool juara juga :D, Bravo Liverpool !!! . Pada dasarnya sih aku fans berat kedua-duanya, tapi masih menomorsatukan si Rossonerri Milan. Ya no problemo dah jika yang juara tetep club kesukaanku. Why I like them ? karena pas waktu kecil pertama kali nonton ama bokap yang ditonton adalah Milan ama Liverpool. Pas itu Milan jamannya Hans van Bruckellen dan Virdis (generasi sebelum trio belanda lho :p) trus si Liverpool masih diperkuat ama John Barness, Ian Rush n Bruce Gooblear. Yah karena Liverpool kurang berprestasi jadi nya aku ngelupain si Dia.

Hmmm .... pada nonton final tadi malem ga ? seru , dramatis, menyenangkan, menyedihkan pokoknya keren dah. Gimana ndak, pada babak I , Milan yang unggul 3-0 dibalikan pada babak II menjadi 3-3 hanya dalam tempo 10 menit, dan akhirnya menang lewat drama adu penalti, Gilee bener Liverpool yah. Sebenernya Milan sangat menguasai pertandingan, tapi karena kurang beruntung ya begitulah, dimana-mana yang enak jadi yang beruntung :D, betul ga ?. Sampe2 si komentarnya bilang "If Kaka got the ball, Liverpool got a trouble" , bahkan di si Maradona sampe kegirangan ketika Kaka melepas umpan yang sangat brilian untuk gol ke-2 Crespo (kata komentatornya juga), emang keren si Kaka :D. But ada yang lebih keren dari Liverpool ... yak sapa lagi klo bukan "The Anfield Skipper" captain Steven Gerrad. Luar biasa melihat penampilan Gerrad tadi malam, penuh determinasi, mental kuat dan skill individu yang ciamik. Ya memang begitulah keadaanya, dengan tanpa memperhatikan penampilan pemain lainnya.

Petaka bagi Milan datang ketika adu pinalti diadakan, sang master2 algojo penalty Milan : Andrea Pirlo, Serginho bahkan Sheva gagal total n menjadi malam kelabu bagi mereka. Sedang Liverpool cuman John Arne Riise aja yang gagal. Menurutku penampilan kiper Jersy Dudek biasa aja, tapi mungkin mental pemain Milan yang memang lagi down ato malah kurang beruntung.

Liverpool bener2 menunjukkan jati dirinya tadi malam dengan penuh kengototan dan akhirnya mendapatkan hasil yang memuaskan. Menurut mitos sih Liverpool memang punya peluang menang yang cukup besar seperti halnya pada tahun 1978, dimana pada saat itu Wales juara rugby dan Pangeran Charles married dengan Lady Diana Spence. Dan memang tanda2 itu ada pada tahun ini dimana Wales juara rugby dan Pangeran Charles married dengan Camilia Parker Bowle. Ya memang terkesan mengada-ada tapi memang kenyataannya terbukti , Sakti bener :).
Untuk Milan , aku udah sekian kali melihat apa yang menjadi kelemahan Milan adalah ketika unggul besar maka seakan-akan bingung akan melakukan apa. Yah karena mereka terbentur masalah stamina jadi lebih mengendurkan penyerangan, dan itu malah menjadi bumerang karena pemain Milan memiliki aware yang jelek untuk bertahan, contoh : dibantai Super Depor dan PSV. Mr Ancelloti ini PR untuk tahun depan, klo gagal lagi kmu pasti akan disack ama Mr Berllusconi. Ohhh God....Semoga itu tidak terjadi :(.

Ayo Milan n Liverpool rencanakan tranfers pemain yang tepat n latihan yang bener supaya bagus mainnya :D. Buat suporter Indonesia jangan tawuran aja, pake otak dikit donk !!! contoh tuh supporter Milan n Liverpool.
Bravo Sepakbola !!!

Thursday, May 26, 2005

One day at Dufan :)

Pada kemana yah kemarin weekend ? yang pastinya weekend kemarin aku ke dufan ama temen2 (kira2 14 orang-an lah). Emm... aku , kang sofyar + istri, amal, caca, acenk, alfin, benny, yenny, rina, ode, thomas, shirly ama evy. He4x... begitu masuk langsung deh yang di tuju adalah "halilintar" :D dan weleh2 antrinya bukan main. Tapi emang bener si halilintar keren banget, pas jalur yang menurun hingga bikin kmu fly n pasrah :D.. n jalur yang twist bikin pusing kepala. Tapi klo menurutku kurang lama puter2nya n jalur kurang banyak variasi ditambah antrinya rame, so aku kasih nilai nilai 8 deh (terbaik 10). Makanya karena ketagihan, so pas sepi (sore hari) kita coba lagi tuh halilintar sampe bosen :P.

Trus pada journey kedua anak2 pada mau "ontang-anting" padahal teater simulator udah pada buka (tau sendiri khan antrinya). Nah klo yang disini garing banget n ga seru2 amat but lumayanlah buat rame2 :D. Ditambah lagi operatornya garing banget..."Lagi...lagi...lagi...suaranya" he4x. Hmm aku ga bisa kasih nilai deh untuk yang ini, so coba aja sendiri :p. Pokoknya garing deh.

Nah ini neh yang antrinya lama banget hampir 1 jam-an (padahal ditulis cuman 30 menit) di "teater simulator". Keren sih tapi kurang lama lagi.. ditambah aku dapet duduk di atas belakang, jadinya kurang seru aja. Tapi sebenernya keren abis, sepertinya nilai 8 pantes untuk yang ini. Buat yang suka perang2an, disini tempatnya di "perang bintang", kita main ini setelah makan siang di m'c donald (kang sofyar tumben kok ga bawa pisang... padahal kemarin mo nanyain tapi ga enak ada teh rina :)). Intro nya sih keren , kita disuruh tembak2 monster dengan tanda hijau, eh ternyata cuman nembak lampu2 ijo :(. Bagi anak2 kecil sepertinya seru tapi buat yang gede2 kayak kita sih buat memory aja pas waktu kecil. Aku rasa point 7 cukuplah :).

Butuh adrenalin super ?, sepertinya ini yang paling cocok, "kicir kicir". Namanya sih simple tapi bener2 adrenalin bisa memuncak, gimana ngga ? kita diputer2 kayak mainan ke segala arah. Bener gila menurut aku, bahkan kita sempet2in coba lagi pas sorenya. Ember lho aku ga bohong :<, aku kasih nilai perfect aja ah (10 point). Trus lanjut ke "rumah kaca" (rumah jahil). Parah n ndak seru, udah pada rusak sepertinya. Mungkin ini unrated aja yah. Tapi yang bikin seger setelah keluar ada chix yang pake bikini trus nungging lagi :)))). Yah namanya rejeki :O.

Pengalaman yang tak terlupakan di "niagara". Why ? niagaranya sih biasa aja tapi lumayan juga sih bikin basah2, tapi aku melihat sesuatu dari chi* :D. Di sensor aja deh, sapa suruh kasih liat ke aku :). 10.5* deh pokoknya. Hmmm "arung jeram", seru juga tapi bikin basah2. Tapi diantara kita sih aku lumayan kering , yang paling parah si rina ama thomas, sori yah :( pemilihan tempat duduk mempengaruhi keberuntungan :). Nilai = 8 aja.

Mainan anak2 yang asik lagi adalah "bumper car" (bom bom car). Rame , asik, seru , ga butuh skil, cuman butuh nyali aja.. mobil kenceng ditabrak2in. Keren juga yang bikin neh mobil, he4x...yang paling jadi korban adalah si shirly ama si ode soalnya mereka masih dalam tahap pembelajaran :P. Asiknya bener rame2... nilai 8.5 pantes dah buat neh permainan. "Kora - kora", permainan ini bikin aku trauma, karena suka bikin mual perut . Tapi demi adu adrenalin n gengsi ma temen2 , sapa takut !!!. Tapi ternyata pas diatas bener ga terasa mual but setelah turun baru terasa men. Kenapa yah ? apa karena banyak hot chix didepan kita2 :D, yang pasti kita disitu kompak banget pake suara n nari2 segala. Hhhh... kasih berapa yah ? 9 sepertinya ok deh.

Beneran deh, perut mual, tapi gila anak2 pada ngajakin ke "piring oleng" padahal aku paling benci dengan pola2 yang monoton naik turun n puter2. Tapi lagi2 demi gengsi aku ikutan padahal makanan udah di ujung tenggorokan :(. Eh...baru beberapa kali puter ... crat...crot udah deh lemes tapi rasanya lega, sialan jadi diketawai anak2 :((. sialan banget nilainya -1* !!. Abis itu aku dah ga bisa menikmati lagi, perut masih mual n masuk angin :(. Masih aja diajakin di "bianglala". Sebenernya asik bisa liat jakarta dari atas tapi karena dah lemes n phobia ketinggian so jadinya diem aja deh. Ditambah lagi dikerjain pake puter2 :( bikin kepala tambah pusing. Gile bener tuh anak2. Udah deh aku lupa kasih nilai :).

Hari menjelang malam, anak2 masih aja ngulang2 lagi, tapi aku dah ga kuat so tidur di bangku sambil nunggu mereka. Hmmm dasar temen2 freak semua :D. But weekend yang keren banget, thank again to my friends , thank so much ... muah...muah :D

Tuesday, May 24, 2005

JDBC in a Nutshell

Apa sih program yang biasa temen2 bikin ? pastilah ada hubungannya dengan tarik-menarik dari yang namanya Database. Nah pada session ini aku mo share tentang technology di Java yaitu JDBC (Java Database Connectivity). Perlu kamu pada ketahui, technology JDBC ini included didalam J2SE maupun J2EE, so jangan khawatir klo mo bikin program yang berhubungan dengan database. Yang aku tau, kerennya nih JDBC tidak hanya bisa tarik n simpan dari/ke database tapi juga bisa dari tabular data source seperti dari spreadsheet( Excell) ato bahkan dari file biasa.

So pasti dengan begitu kita akan butuh yang namanya JDBC driver API, dan untuk mengaksesnya kita perlu yang namanya JDBC API yang pada saat ini JDBC API yang terbaru adalah versi 3.0. Nah di Java ada 4 type JDBC driver API, dan kamu2 semua bisa baca perbandingannya di article published in Computerworld. Pada intinya yaitu : JDBC-ODBC Bridge Driver, Native API Driver, Middleware Driver dan Direct Java Driver. Yang paling banyak di gunakan adalah ke 3 dan ke 4, karena lebih baik dari segi performansi dan efisiennya :D (katanya sih!). Dengan begitu temen ga usah khawatir karena hampir semua bentuk driver telah tersedia bahkan untuk koneksi ke ODBC juga, tapi yang ini tidak disarankan (juga katanya lagi :p). Coba deh baca artikel ini aja :p JDBC Overview klo pengen tahu konsep dari JDBC.

Perlu diketahui bahwa core JDBC API di Java terdapat dalam 2 package, yaitu : java.sql package dan javax.sql package dimana yang aku sebutkan terakhir untuk level enterprise atau server-side. Trus gimana sih cara pakenya ? hmmm... klo diterangin sih banyak n mungkin temen2 mendingan langsung aja baca di JDBC Basic Tutorial, tapi tenang aku akan coba jelasin sedikit konsep step by step paling utama dalam pemakaian JDBC ini. Yang pertama yang mesti ada adalah JDBC drivernya :D, kmu bisa cari di driver database. Maka langkah pertama adalah load JDBC driver dengan cara memanggil Class.forName(drivername).
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // contoh untuk JDBC-ODBC Bridge
Class.forName("postgresql.Driver"); // postgresql
Class.forName("oracle.jdbc.driver.OracleDriver"); // oracle


Harusnya klo nama Class dari drivername-nya bener maka ga ada masalah. Langkah ke dua adalah melakukan koneksi ke database dengan mengirimkan URLs (Uniform Resource Locators). Disini semua tergantung dari type driver yang dipake dan type database yang dipake serta beberapa parameter tambahan. Kmu bisa melakukan koneksi dengan memanggil method
DriverManager.getConnection(url).
String url = "jdbc:odbc:ejbdemo"; // contoh url untuk JDBC-ODBC
Connection con = DriverManager.getConnection(url);
String url = "jdbc:mysql://localhost/ejbdemo?user=user;password=pass"; // untuk mySQL
Connection con = DriverManager.getConnection(url, "user", "password");

Selesai langkah ini maka kamu udah siap bisa untuk tarik-menarik data dari database :D, n coba deh kmu baca2 mengenai Connection Pooling untuk meningkatkan performansi dalam koneksi ke DB (sepertinya buat tingkat expert ya bro ;o).

Hhhhh :(.... langkah berikutnya adalah melakukan command sesuai dengan query yang diinginkan dan diistilah java dikenal dengan Statement. Ada beberapa jenis Statement yang ada di java, antara lain : CallableStatement, Statement dan PreparedStatement. Aku coba jelasin satu2 yah :D, CallableStatement digunakan untuk eksekusi StoredProcedure yang ada di DB.
CallableStatement cs = con.prepareCall("{call accountlogin(?,?,?)}");
cs.setString(1,theuser);
cs.executeQuery();

Jenis yang lain adalah Statement dan PreparedStatement, duo ini hampir sama gunanya untuk eksekusi perintah2 SQL, bedanya cuman klo Statement untuk SQL yang ga pake parameter (istilah kerennya Simple Query), sedang PreparedStatement buat yang ada parameternya. Dua jenis ini bisa dipake untuk Query ataupun Update (Insert, Delete dan Update), n bedanya cuman sintax yang dipake :o
Statement stmt = con.createStatement();
ResultSet results = stmt.executeQuery("SELECT TEXT FROM dba ");
PreparedStatement pstmt = con.prepareStatement(
select theuser from
registration where
emailaddress like ?");
//Initialize first parameter with email address
pstmt.setString(1, emailAddress);
ResultSet results = ps.executeQuery();

Dan akhirnya ... ini yang terakhir aja yah :D. ResultSet dipake untuk menampung hasil query yang nantinya mo ditampilin.
Statement stmt = con.createStatement();
ResultSet results = stmt.executeQuery("SELECT TEXT FROM dba ");
while(results.next()){
String s = results.getString("TEXT");
displayText.append(s + "\n");
}
stmt.close();

Sebenernya masih banyak lagi mengenai JDBC tapi kepanjangan euy ;p. Ntar baca2 aja sendiri tentang navigasi dan scrolling ResultSet, Batch Job, menyimpan BLOB, mengontrol transaksi dan masih banyak lagi. Klo masih penasaran ya datangi aja neh situs JDBC Technology, disitu lengkap banget di bahas JDBC.
But jangan senang dulu ;), soalnya sekarang sih banyak orang yang lebih suka memakai technology seperti JDO (Java Data Object) ato ORM (Object-Relational Mapping) seperti Toplink, Hibernate, Ibatis) karena lebih simple dan efisien dalam coding. Bahkan technology2 tersebut biasanya udah included dan disupport oleh application server yang sekarang beredar seperti oc4j-nya oracle, weblogic, websphere ;D.. Tapi klo menurutku akan lebih baik klo kita belajar dari sejarahnya dahulu, bukankah memang seharusnya begitu :o dan lagian dalam application server kita juga tetep bisa koneksi dengan JDBC dengan menggunakan JCA (J2EE Connector Architecture) yang dikenal dengan JDBC Connector. Oke sekian dulu yah tentang JDBC-nya ...capek :p, but semoga bermanfaat.
Mari budayakan Java !!

Wednesday, May 18, 2005

Java 5.0 , What's up ?

Java versi berapa yang sekarang temen2 pake ? sepertinya kebanyakan masih JDK/JSDK 1.4.2, aku pun juga pake versi ini di projectku sekarang. Tapi taukah bahwa versi terbaru adalah JDK 5.0, harusnya sih klo menurut aturan version namanya JDK 1.5.0 (setelah JDK 1.4.2) :D. Tapi setelah aku baca J2SE Naming and Versioning maka hal ini dilandasi oleh kemampuan terbaru dari JDK 5.0 (dikenal dengan nama code "Tiger") yang katanya lebih mature, stable, scalable dan tentunya lebih secure.

Oke sekarang kita coba liat sebenernya apa aja kemampuan dari JDK 5.0 ini. Mungkin temen2 bisa liat di Release Notes Guide yang menjelaskan semua fitur terbarunya. Tapi aku akan coba jelaskan sedikit fitur terbaru tersebut :p.

Pada intinya adalah Ease of development (kemudahan dalam development) yaitu generics, typesafe enumerated types, enhanced for loop dan masih banyakfitur lain yang mempermudah proses development. Contoh dalam fitur generics kita bisa secara explisit memberikan tipe parameter dari suatutipe variabel ato istilah kerennya parameterized types. Hal ini akan membantu untuk mendeteksi error yang disebabkan salah casting pada saat compile time (dimana pada JDK 1.4 hanya terdeksi pada saat runtime).
List datas = new ArrayList(); // model conventional
List = new ArrayList(); // model baru

Trus kita biasanya untuk melakukan looping suatu array/Collection harus memakai index, dengan adanya "enhanced for loop" maka kita bisa melakukannyatanpa menggunakan index. Wah asik banget tuh jadi kayak foreach-nya PHP :D, he4x biar joki "sang master PHP" pindah ke Java.
for (FormalParameter : Expression) Statement

Nah yang ini lebih ok lagi :p, klo temen2 biasanya dibikin repot untuk transform dari primitive ke Wrapper ato sebaliknya maka dengan adanyaautoboxing/unboxing kita bisa langsung transform keduanya seperti kayak primitive ke primitive. Intinya neh fitur bertujuan untuk mempermudahinteroperability antara tipe primitive dengan tipe reference.
// model conventional
list.add(0, new Integer(59));
int n = ((Integer)(list.get(0))).intValue();
// model baru
list.add(0, 59);
int total = list.get(0);

N yang terakhir, di JDK 5.0 ini juga support keyword enum , mungkin temen2 masih inget pas pake C++ dan cara kerjanya hampir sama.

Sebenernya masih banyak fitur2 baru di JDK 5.0 seperti static import, metadata dll, yang membikin Java semakin mudah n keren :o. Btw jangan khawatir,temen2 bisa baca2 neh artikel bagus buat nambah referensi, J2SE 5.0 in a Nutshell dan Programming with the New Language Features in J2SE 5.0. Semoga temen2 jadi kepincut dan pindah ke Java :D.
Mari budayakan Java !!

Monday, May 16, 2005

Java Intro

Java, hmmmm.....yang aku omongin bukan suku bangsa melainkan technology Java yang akhir2 ini mulai booming di Indonesia. Padahal yang aku tau sih di luar sono udah 4 tahun yang lalu udah heboh, hmm jadi dipikir Indonesia telat juga sih untuk implementasi this technology.

Pertama kali denger Java pas jaman baru2 masuk kuliah, temenku si faisal selalu gembar gembor pake Java biar keren. Padahal sih setelah aku selidiki faisal juga masih bingung tentang Java :D. Oke deh memang untuk pemula masih bingung Java itu yang mana yah ? coz karena banyaknya fitur yang diimplementasikan oleh technology Java. Setelah baca2 buku, ternyata yang digembar-gemborin si faisal adalah Applet ,yang merupakan fitur Java untuk menampilkan ato lebih kerennya embedded aplikasi Java di Web, n pada saat udah ketinggalan jaman soalnya pake flash aja udah bisa n keren.

Pertama yang harus kita tau adalah Java Platform, apa itu ? ya itulah core dari Java dimana Java Platform adalah suatu Machine yang menjalankan aplikasi Java. Nah disinilah kunci multi-platform punya Java, sebenernya sih menurut aku sih Java multi-platform rada ngibulin :D soalnya tanpa ada Java Platform di client maka aplikasi Java kamu ga bakalan jalan n tiap OS punya versi Java Platform yang beda2. Yang pasti klo orang ngomongin Java Platform maka itu artinya JRE ( Java Runtime Environment) yang sekarang udah versi 5.0

Yang kedua klo ngomongin Java Language berarti ya bahasa coding yang dipake, soalnya di Java Platform yang bisa dipake cuman bahasa Java. Klo mau yang lebih banyak bahasa pake aja .NET :D. Nah klo mo coding kamu harus siap2 J2SDK(Java 2 Software Development Kit). Kira2 begitulah sekilas tentang Java-nya, nah sekarang aku jelasin dikit tentang fitur2nya.
Secara umum Java dibagi2 dalam 3 category, jadi tergantung temen2 ntar maunya dimana yaitu J2SE(Java 2 Standard Edition), J2ME (Java 2 Micro Edition) , dan J2EE( Java 2 Enterprise Edition ). Aslinya sih dulu cuman ada J2SE, untuk J2SE ya seperti hal nya kita bikin aplikasi2 biasa pake delphi ato VB. Nah yang beda dengan J2ME dan J2EE secara umum adalah librarynya , klo J2ME dikurangi n J2EE ditambahin :p. Tapi untuk tahu dasarnya sih saranku belajar dari J2SE dulu karena basicnya dari situ.

He4x.. akhirnya teringat pas bikin TA pake Java di Linux. Gini, karena kebiasaan pake deplhi n kurangnya basic dari J2SE, jadinya bikinnya ngasal. Yang pendekatan Objeknya kacau, patternnya juga ngasal :D, jadinya setelah beberapa bulan kerja di consultant aku cek2 lagi code2nya jadinya keliatan lucu :O. Saranku sih baca2 dulu konsepnya Java baru coba2 bikin aplikasi. Ada buku yang cukup bagus "Thinking in Java" by Bruce Eckel.. ini gratis lho ada pdfnya. Dengan konsep yang bagus maka design n coding kita jadi bagus. Btw yang penting designnya dulu yang bagus :D he4x jadinya ngejek Consultant di project yang designnya ngasal
Oke deh sepertinya dah kebanyakan untuk sebuah intro. So , mulai sekarang mari budayakan Java :D