<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3187601312851592202</id><updated>2012-02-16T05:06:40.863-08:00</updated><category term='linux'/><category term='algorithm with java'/><category term='ordinary man'/><category term='java stuff'/><title type='text'>ib!blog!</title><subtitle type='html'>Just an ordinary blog, mainly for documenting my works with java, and about live as usual.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3793098964341435144</id><published>2011-09-11T02:32:00.000-07:00</published><updated>2011-09-11T02:39:48.304-07:00</updated><title type='text'>Bertemu Dengan Ibu Rukmi Hadihartini, Direktur Operational PT. Pertamina</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-mwdI-4EWmBs/TmyBy532J9I/AAAAAAAAAFs/CmUICPH3ov8/s1600/buat_blog.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px;" src="http://4.bp.blogspot.com/-mwdI-4EWmBs/TmyBy532J9I/AAAAAAAAAFs/CmUICPH3ov8/s400/buat_blog.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5651034343971629010" /&gt;&lt;/a&gt;&lt;br /&gt;Ibu Rukmi Hadihartini, alumni Teknik Kimia angkatan 1972 menggambarkan pencapaian puncak karir yang dilandasi atas integritas dan kapabilitas, ketika ditanyai Ning Diana tentang kunci suksesnya ibu Rukmi berujar bahwa dalam bekerja dia menjaga betul integritas dan kapabilitas dalam bekerja. Beliau menggambarkan jika seseorang pernah berbuat curang dalam bekerja maka di tempat lain orang itu akan tetap dinilai curang meskipun dia berada di tempat yang baru dan tidak melakukan hal yang salah, begitu pula seseorang harus selalu mengasah skill dalam pekerjaannya, selama 22 tahun dari 31 tahun bekerja di Pertamina, ibu Rukmi bekerja sebagai insinyur kimia diantara dominasi insinyur laki-laki, sampai saatnya ditugaskan sebagai Manager Sistem, Direktur HRD, dan Direktur Operasional PT. Pertamina seperti saat ini.&lt;br /&gt;&lt;br /&gt;Jumat, 9 September 2011, dalam rangka mencari sponsor untuk Kongres IKA ITS 2011, Ning Diana Fajarwati, alumni Teknik Kimia 94 mengajak saya, Imam Baihaqi, alumni Teknik Informatika 99 ke kantor pusat Pertamina yang berada depan Masjid Istiqlal untuk menemui ibu Rukmi Hadihartini, Direktur Operational PT. Pertamina untuk mengajukan proposal kegiatan Kongres IKA ITS yang akan diselenggarakan pada tanggal 6,7, dan 8 Oktober 2011.&lt;br /&gt;&lt;br /&gt;Ketika Bpk Baihaqi Hakim direktur Pertamina di tahun 2001 meminta bu Rukmi untuk pindah sebagai Manager Sistem yang  membawahi mayoritas lulusan Teknik Industri yang berjumlah ratusan, padahal sebelumnya beliau biasa membawahi enam insinyur dalam bekerja, ibu Rukmi merasa canggung karena beliau sudah 22 tahun bekerja sebagai insinyur kimia, tetapi menerima pekerjaan itu karena ibu Rukmi senantiasa berdoa agar selalu diberi jalan terbaik dalam pekerjaannya.&lt;br /&gt;&lt;br /&gt;Ibu Rukmi adalah sosok yang hangat, selama hampir satu jam ibu Rukmi menceritakan kisahnya dengan antusias, beliau menanyakan nama kami, jurusan dan tahun kuliah kami, pekerjaan, ataupun jabatan kami di IKA atau di kepanitiaan, beliau juga bertanya ke saya apakah sedang berpuasa Syawal karena tidak mencicipi hidangannya. Ketika ning Diana menjawab dia adalah alumni Teknik Kimia angkatan 94, beliau menjawab bahwa selisih 22 tahun dengan angkatannya yaitu 72, beliau kemudian bercerita bahwa dimasanya, waktu kuliah adalah sebelas semester sehingga mahasiswa butuh waktu lima setengah tahun untuk lulus, beliau juga membandingkan kalau dulu tidak ada semester tetapi ada mahasiswa tingkat satu, tingkat dua, dst. &lt;br /&gt;&lt;br /&gt;Kami dipersilahkan duduk di ruang tamu yang ada didalam ruang kerjanya, ruang kerja bu Rukmi ada di lantai lima gedung pusat Pertamina, hanya lift tertentu yang bisa ke lantai itu dan itu pun kami diantarkan oleh seorang karyawan, keluar dari lift kami menemui resepsionis yang duduk disamping seorang satpam, di seberangnya ada meja sekertaris bu Rukmi, kami duduk di ruang tunggu yang ada di depan meja respsionis, ada empat kursi yang ditata berhadapan 2-2, saya dan mbak Diana duduk bersampingan, di hadapan kami seorang bapak karyawan Pertamina yang juga menunggu untuk keperluan lain. &lt;br /&gt;&lt;br /&gt;Sebetulnya untuk mengambil foto ataupun wawancara harus melalui prosedur tertentu dan ditemani oleh pihak Pertamina, tetapi karena hanya untuk internal ITS kami diperbolehkan oleh bu Rukmi untuk foto bersama dan membuat artikel untuk keperluan internal.&lt;br /&gt;&lt;br /&gt;Ibu Rukmi seorang yang tepat waktu, kami berjanji bertemu pukul sembilan pagi, jam sembilan lebih seperempat sekertaris bu rukmi menyilakan kami masuk ke ruang kerja bu Rukmi, kami berpapasan dengan seorang Bapak yang baru ditemui bu Rukmi, begitu pula setelah acara sudah ada bapak dari Pertamina yang menemui bu Rukmi, selama berpapasan dengan orang-orang kami dengan bangga bahwa datang dari ITS. Ruang kerja bu Rukmi cukup luas, didalamnya ada meja kerja bu Rukmi dengan dua kursi di depan mejanya, di samping kirinya ada rak buku kecil yang berisi buku-buku yang ditata rapi, TV LED berukuran 21 inchi, kulkas kecil, dan beberapa rak atau meja di pojok-pojok ruangan. tidak banyak foto bu Rukmi yang dipajang di dinding, saya hanya melihat satu foto resmi bu Rukmi dan satu foto  sepertinya ketika dalam acara bersama presiden SBY. Di seberang meja kerja ada ruang tamu berupa satu kursi untuk satu orang dan disamping kirinya ada kursi panjang yang cukup untuk tiga orang, kami dipersilahkan duduk dengan sajian kue lebaran yang masih ada.&lt;br /&gt;&lt;br /&gt;Ibu Rukmi seorang yang bersahaja, beliau mengaku tidak membayangkan menjadi direktur, gaya hidupnya tidak berubah setelah menjadi direktur selama tiga setengah tahun, tahun 2008 ketika lima bulan lagi bu Rukmi menuju pensiun beliau  dipercaya sebagai direktur HRD, saat ini bu Rukmi sudah berusia 58 tahun, sudah melewati usia pensiun, dan sudah tiga setengah tahun menjadi direktur, bagi bu Rukmi hal ini dijalani sebagai pengorbanan terlebih beliau juga masih berperan sebagai ibu dari anak-anaknya, pengorbanan itu semakin terasa ketika suaminya yang seorang dokter ditugaskan keluar kota. Dalam lingkungan keluarganya bu Rukmi juga sederhana, anak bu Rukmi yang bekerja di BRI pernah membandingkan bahwa direktur di BRI difasilitasi sangat mewah berbeda dengan yang dilakukan bu Rukmi sehari-hari. Dalam lingkungan kerja juga bu Rukmi tidak ada penjagaan yang ketat, hanya ada seorang sekertaris yang menemaninya dalam pekerjaan sehari-hari.&lt;br /&gt;&lt;br /&gt;Beliau tidak tinggal di rumah dinas Pertamina, saat ini hanya ada dua direktur yang mengambil rumah dinas, salah satunya Ibu Karen, direktur utama Perrtamina, beliau bercerita pada awal menjadi direktur ada cerita yang bilang bahwa jika mengambil rumah dinas maka akan cepat lengser, beliau menceritakan contohnya salah seorang direktur setelah mengambil rumah dinas hanya menjabat selama tiga bulan. Beliau tinggal di rumah sederhana di Jakarta tanpa security khusus, rumahnya ada di perbatasan antara RT 13 dan RT 14, sehingga ada dua satpam RT yang setiap hari menjaga keamanan rumahnya, beliau tidak merasa perlu pindah ke rumah yang lebih besar hanya untuk menambah securty khusus. &lt;br /&gt;&lt;br /&gt;Ibu Rukmi mencintai pekerjaannya yang sangat dia syukuri karena menerapkan apa yang ditekuninya ketika kuliah di jurusan teknik kimia, sama ketika beliau kuliah mencintai apa yang dipelajarinya, beliau menerapkan hukum Boile dan rumus kimia lain di tempat kerjanya. Ketika berada di tingkat tiga yaitu di tahun 1976 beliau diterima kerja ikatan dinas di Pertamina dan ditempatkan di Mojokerto, dia ingat bahwa dia mendapat gaji 50 ribu yang saat itu sangat banyak, cukup untuk bisa tinggal di rumah sendiri dan menyewa pembantu, beliau juga mendapat uang kuliah 60 ribu untuk satu tahun dari Pertamina.&lt;br /&gt;&lt;br /&gt;Setelah menjadi karyawan pertamina di tahun 1980, ibu Rukmi di tempatkan di Plaju Palembang, beliau bersyukur karena suaminya seorang dokter yang ditempatkan di puskesmas di Plaju, beliau bekerja selama delapan tahun di kilang minyak yang ada disana sebelum akhirnya dipindahkan ke Jakarta.&lt;br /&gt;&lt;br /&gt;Ibu Rukmi merasa ada talent kepemimpinan dalam dirinya yang didapat dari turun menurun, kakek beliau adalah gubernur Jatim, ayahnya seorang wakil gubernur, saudara-saudaranya juga menjadi pimpinan di tempat kerjanya seperti salah satu kakaknya yang meskipun menjadi dokter spesialis tetapi bekerja menjadi kepala Rumah Sakit di Surabaya. Begitu pula dalam test DDI, test di Pertamina, nilai yang paling menonjol adalah nilai kesetia kawanan, sampai sekarang pun bu Rukmi masih berhubungan baik dengan orang-orang, menjadi teman curhat teman-temanya, beliau bercerita bahwa menjadi satu-satunya yang menerima parsel dari salah satu orang Pertamina yang sudah pensiun. &lt;br /&gt;&lt;br /&gt;Diakhir acara bu Rukmi mengantarkan kami ke pintu kerjanya sambil bercerita bahwa anak ITS harus lebih pede seperti ning Diana, beliau bilang bahwa orang-orang Pertamina mengira bahwa bu Rukmi orang ITB karena orang ITS identik dengan kurang percaya diri.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3793098964341435144?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3793098964341435144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3793098964341435144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3793098964341435144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3793098964341435144'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2011/09/bertemu-dengan-ibu-rukmi-hadihartini.html' title='Bertemu Dengan Ibu Rukmi Hadihartini, Direktur Operational PT. Pertamina'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mwdI-4EWmBs/TmyBy532J9I/AAAAAAAAAFs/CmUICPH3ov8/s72-c/buat_blog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-9107022325405860387</id><published>2011-07-11T09:37:00.000-07:00</published><updated>2011-07-11T09:41:40.285-07:00</updated><title type='text'>Turnamen Tennis Antar Alumni Tujuh Perguruan Tinggi 2011</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-ybkIkdsXw-c/Thsnoyys6LI/AAAAAAAAAFk/AsYNjZBpgd8/s1600/00Eksebisi.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/-ybkIkdsXw-c/Thsnoyys6LI/AAAAAAAAAFk/AsYNjZBpgd8/s400/00Eksebisi.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5628135741112248498" /&gt;&lt;/a&gt;&lt;br /&gt;Pada hari Sabtu tanggal 9 Juli 2011 IKA-ITS menjadi tuan rumah penyelenggaraan Turnamen Tennis Antar Alumni Tujuh Perguruan Tinggi 2011 di lapangan tennis Sekolah Internasional Tiara Bangsa Jatiwarna Bekasi. Turnamen diikuti tujuh tim perguruan tinggi yaitu ITS, ITB, IPB, UGM, UI, Unpad, dan Unpar.&lt;br /&gt;&lt;br /&gt;Pembukaan berlangsung di tenda pinggir lapangan pada pukul sembilan pagi, Sambutan pertama oleh ketua panitia Bpk. Hanief Djauhari, dalam pidatonya Bpk. Hanief bercerita bahwa ketika bermain tennir dengan orang UGM mengajak ITS untuk bergabung dalam turnamen tennis tahunan yang sudah berjalan yang diikuti oleh enam perguran tinggi. Sambutan yang kedua oleh ketua IKA-ITS Bpk. Dwi Sutjipto, dalam pidatonya Bpk. Dwi mengharap selain keinginan untuk memenangkan turnamen hendaknya dijadikan sebagai ajang silaturrahmi antar alumni tujuh perguruan tinggi, juga meminta maaf dan mengkarena pembukaan terlaksana agak terlambat dari waktu seharusnya di siang hari yaitu pukul delapan pagi karena sudah menjadi kebiasaan sejak mahasiswa di Surabaya untuk bangun kesiangan. Sambutan ketiga oleh Bpk Theo F Sambuaga, beliau berpidato bahwa teringat ketika menjadi mahasiswa dan mengikuti demonstrasi di tahun 73, dimana universitas pelopornya sama dengan peserta turnamen tennis ini, pak Theo juga bercerita ketika menjadi anggota DPR dari wilayah Jawa Timur, beliau biasa dipanggil dengan nama Teo Sambuogo.&lt;br /&gt;&lt;br /&gt;Turnamen dimulai dengan pertandingan eksebisi di lapangan 1 dari tujuh lapangan yang semuanya digunakan, antara tim Bpk. Dwi Sutjipto dengan Bpk. Soekrisno melawan tim Bpk. Theo Sambuaga dengan Bpk. Sunardji SE, MM, Pembantu Rektor UI . Turnamen sendiri dibagi menjadi dua pool, pool A dan pool B, Pool A terdiri atas UGM, Unpad, ITS, dan UI, pool B terdiri atas ITB, IPB, dan Unpar, Menggunakan sistim gugur, untuk pool A karena terdiri atas empat tim maka menggunakan 6 game satu set tanpa deuce, untuk pool B menggunakan 8 game, final menggunakan sistim 7 game. Masing-masing tim terdiri atas lima pasangan ganda berdasar kelompok total umur 80 tahun, 90 tahun, 100 tahun, 110 tahun, dan bebas.&lt;br /&gt;&lt;br /&gt;Sore hari setelah partai penyisihan yang mana Pool A dijuarai oleh tim UGM, runner up Unpad, sedangkan pool B dijuarai ITB dan runner up IPB, semua tim berkumpul untuk jeda istirahat, bertukar cindera mata dan pembagian door prize, tim IPB menyumbang 20 e-toll card masing-masing senilai 250 ribu, ITB memberi 2 tempat raket, Unpar memberi tiket menginap di hotel di Bali, dan ITS memberi hadiah sepatu tennis. Setelah pembagian door prize, juga diadakan serah terima kepanitiaan untuk tahun depan, tahun depan Turnamen tennis ini akan dipanitiai oleh IPB. Semifinal mempertemukan UGM melawan IPB, ITB melawan Unpad. Juara akhirnya direbut tim dari ITB setelah mengalahkan juara bertahan UGM di final dengan score 3-2. &lt;br /&gt;&lt;br /&gt;Salam,&lt;br /&gt;Imam - Seksi Publikasi dan Dokumentasi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-9107022325405860387?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/9107022325405860387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=9107022325405860387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/9107022325405860387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/9107022325405860387'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2011/07/turnamen-tennis-antar-alumni-tujuh.html' title='Turnamen Tennis Antar Alumni Tujuh Perguruan Tinggi 2011'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ybkIkdsXw-c/Thsnoyys6LI/AAAAAAAAAFk/AsYNjZBpgd8/s72-c/00Eksebisi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3383481318177998504</id><published>2011-04-29T18:29:00.000-07:00</published><updated>2011-04-29T18:47:57.470-07:00</updated><title type='text'>Bertemu dengan Bpk Irnanda Laksanawan, Deputi Kementrian BUMN</title><content type='html'>Cak dan ning, ini cerita saya mengikuti acara kemarin bertemu dengan pak Irnanda, pada hari Kamis, 28 April kemarin, saya baca lagi kok sepertinya hiperbolik dan berlebihan ya, tapi ga papa ambil hikmah positifnya saja ya. ^_^&lt;br /&gt;&lt;br /&gt;Saya baru keluar kantor jam 12 siang karena ada kerjaan, terlalu mepet dengan janji waktu jam 1 siang bertemu dengan pak Irnanda, setelah menerima telpon dari mbak Riris saya bergegas berangkat ga peduli meski bakalan terlambat sampai Jakarta, bayangan saya nanti misalnya terlambat saya tunggu di lobby saja, sekalian pulang bareng bersama rekan lainnya. Dan waktu itu memang macet luar biasa, meski tidak hujan seperti hari sebelumnya, ternyata ada berita polisi menemukan bom di kedutaan Inggris, menyusul minggu sebelumnya ada bom di gereja di Serpong. Saya sampai di tempat jam setengah tiga sore, di gedung kementrian BUMN jalan Medan Merdeka Selatan, terlambat jauh dari waktu yang seharusnya, saya menemui petugas lobby, dia bertanya saya dari mana, saya bilang saya dari ITS, dan bilang kepadanya saya datang terlambat karena macet, dan bertanya apakah dia melihat teman-teman saya yang akan bertemu dengan pak Irnanda, deputi kementrian BUMN, saya dan dikasih ID tamu, dan disarankan menelpon teman. Setelah saya telpon dan tidak diangkat saya ditelpon lagi sama mbak Riris untuk segera naik lift ke lantai C.&lt;br /&gt;&lt;br /&gt;Sampai di lantai C saya dijemput mbak Riris dan diantarkan ke ruangan rapat, disana sudah ada teman2 prolead Cak Errika Arsitektur 97, cak Soni Siskal 98, cak Yohannes TI 91, mbak Riris Tekkim 97, mbak Fitri Poltek Kapal 97, sama cak Candra angkatan 2002 temannya mbak Fitri. Ruangan rapat itu dikelilingi belasan foto pesawat PT DI, dan salah satu fotonya ada foto SBY sedang naik tank sepertinya buatan Pindad, dengan tulisan didalam foto itu pameran dirgantara tahun 2009. Ruangan kira-kra berukuran 7 kali 5 meter didalamnya ada dua meja berhadapan di masing-masing sisinya ada delapan kursi di sisi lainnya ada layar buat presentasi dan satu kursi yang menghadap ke slide, di meja ada deretan microphone yang bisa dinyalakan untuk menggunakannya.&lt;br /&gt;&lt;br /&gt;Ternyata pak Irnanda belum menemui kami, kami menungu lama, jam setengah empat sore pak Irnanda memasuki ruangan, menyalami kami, dan duduk di seberang meja berhadapan dengan kami, cak Errika memberikan proposal yang kami buatkan, setelah membaca judul proposal "Be Young CEO" dan membuka halamannya, Pak Irnanda memulai ceritanya bahwa tidak hanya ada young CEO, tapi bahkan young president juga ada, Tony Blair menjadi PM Inggris di usia 42 tahun, Vladimir Putin juga menjadi presiden Rusia di usia 40-an, dan Obama dilanjutkan pak Irnanda tidak seperti orang kebanyakan yang bercita-cita menjadi dokter atau insinyur, sejak kecil ketika ditanyai cita-citanya, Obama selalu menjawab  bercita-cita menjadi presiden Amerika Serikat. Dilanjutkan pak Irnanda bahwa leader seperti mereka adalah leader by born, bukan leader by trained.&lt;br /&gt;&lt;br /&gt;Pak Irnanda Laksanawan alumni mesin (M23), pernah menjabat direktur termuda PT PAL dalam usia 38 tahun, menjabat komisaris Pertamina termuda, dan jabatan lainnya, saat ini sebagai deputi kementrian BUMN, berkantor di jalan Medan Merdeka Selatan, sebelah Balai Kota Jakarta, bersebrangan dengan alun-alun kota Jakarta dan Monas-nya.&lt;br /&gt;&lt;br /&gt;Setiap orang itu memiliki talent berbeda-beda, CEO is not the only way in career, seseorang itu tidak harus menjadi CEO, tetapi kita harus menjadi ahli di bidangnya, seperti pemain bola, tidak lantas semuanya harus menjadi striker, tetapi menjadi sesuai fungsinya dan menjadi yang hebat. &lt;br /&gt;&lt;br /&gt;Pak Irnanda bercerita ketika lulus tidak mempunyai pikiran akan ketrima kerja dimana, tetapi mempunyai niat untuk membangun bangsa, oleh karena itu beliau mendaftar hanya di tiga tempat perusahaan milik pemerintah, salah satunya BPPT. Sejak sekolah pak Irnanda selalu menjadi ketua kelas dan ketua OSIS, ketika kuliah menjadi ketua senat mahasiswa pertama dari FTI, sekarang pun menjadi ketua pelajar Inggris.&lt;br /&gt;&lt;br /&gt;Leader itu pasti ada genetikanya, dan genetika itu tidak bakal berubah meski berusia ribuan tahun, seperti halnya sifat manusia, pak Irnanda bercerita, ketika ayahnya meninggal baru mengetahui ternyata ayahnya adalah ketua senat di Mesin ITB, kakeknya adalah pejuang melawan Belanda, begitu pula bercerita bahwa beliau adalah turunan ke-6 prabu Brawijaya ke-4, di jaman kerajaan Mojopahit. Diceritakan pula bahwa berziarah bersama ibunya yang sudah berusia 70 tahun lebih ke Trowulan, Jombang, yang disebutnya sebagai Center of Excellence, sampai sekarang pun pusat agama, ataupun para petinggi negara harus sowan ke Jombang untuk berhasil.&lt;br /&gt;&lt;br /&gt;Seorang leader bukan bertujuan untuk kekuasaan, jika seseorang hanya berkeinginan menjadi CEO, tanpa memiliki niat untuk menjadi leader, maka akan melakukan segala cara untuk kekuasaan, termasuk menyingkirkan teman-temannya, dan begitu pula sebaliknya seorang leader tidak harus seorang CEO. Leader pada hakekatnya adalah seorang yg berkorban untuk yang dipimpinnya, dengan berkorban orang-orang akan menghargainya, pak Irnanda menambahkan tokoh seperti pak Karno dan pak Harto itu juga berkorban, sampai akhir hayatnya mereka tidak dalam kondisi yang bermewahan, pak Irnanda melayat ketika meninggalnya pak Harto, diceritakan bahwa rumah pak Harto rumah tahun 70-an dan tidak direnovasi, hanya anak-anak pak Harto yang nakal, tapi menurut beliau pak Harto hidup sederhana dan selama 32 tahun bekerja untuk negara.&lt;br /&gt; &lt;br /&gt;Dilanjutkan pak Irnanda bahwa leader itu harus berperan sebagai coach, memberi empowering, guiding, dan enhancing kepada lingkungannya. Seorang leader adalah seseorang yang berani mengambil resiko, tetapi dengan perhitungan-perhitungan yg matang, mampunyai attitude, vision, willingness to share &amp;  to care kepada sesama.&lt;br /&gt;&lt;br /&gt;Pak Irnanda selalu berusaha menciptakan leader di semua lini di tempatnya, beliau bercerita bahwa orang itu punya kelebihan &amp; kekurangan sendiri, pak Irnanda memiliki kata-kata bijak, be yourself, do your best, dan terakhir senantiasa menyerahkan kepada yang kuasa. Setiap orang punya obsesi sendiri2, tdak bisa selalu jadi CEO, bekerja sebagai panggilan hati, bekerja dengan hati, jiwa, dan raga. Bekerja sesuai bidang, jangan mencoba mengerjakan beyond your competence, dan dan yang kebih penting menjadi yang terbaik dibidangnya, hal itu bisa dilakukan dengan cara bersaing dengan diri sendiri. &lt;br /&gt;&lt;br /&gt;Sebetulnya diantara cerita pak Irnanda yang panjang dan bersemangat saya juga menyampaikan bahwa acara Be Young CEO itu juga tidak bertujuan agar serta merta menjadi CEO, tetapi dalam struktur perusahaan, CEO adalah jabatan seorang pimpinan perusahaan yang jika para alumni merasa mumpuni maka tidak lagi saatnya untuk malu-malu untuk menjadi young CEO di tempat dia bekerja. &lt;br /&gt;&lt;br /&gt;Semuanya itu tergantung niat, jangan diniatkan untuk jabatan, tetapi niatkan untuk membangun bangsa, dan niscaya bakal dibukakan jalannya, &lt;br /&gt;dan mengusulkan kegiatannya diubah temah "Be Young CEO" menjadi "Be Young Leader With High Quality Network" dan mematangkan lagi konsep acaranya.&lt;br /&gt;&lt;br /&gt;Diantara kesempatan yang bagi saya luar biasa itu, pak Irnanda menerima telepon dari bapak Menteri, di perbincangan telpon, pak Irnanda bilang bahwa ibu Karen Agustiawan--Dirut Pertamina dari ITB-- sedang berada di Hong Kong dan menelpon pak Irnanda tentang apa saya tidak tahu, saya hanya terkagum-kagum di tempat itu. Ketika akhir acara sekitar jam setengah lima, pak Irnanda menyalami kami dan ketika menyalami cak Errika memberi kartu nama dan bercerita kalau aktif di HIPMI Jaya, pak Irnanda menanyakan cak Errika dari jurusan apa, dan ketika bilang dari arsitektur dan yang mendisain semen gresik ternyata rejeki cak Errika diajak ke lantai 7 untuk mendesain ruang kerjanya, "Yang lain boleh pulang, kecuali cak Errika masih harus ikut saya". Wah memang kalau rejeki ga bakalan kemana.&lt;br /&gt;&lt;br /&gt;Terus semangat kawan, cak dan ning, mungkin di lain waktu kita bakal ketemu rejeki seperti cak Errika, bertemu dengan pejabat dan mendapatkan project kerjaan. ^_^&lt;br /&gt;&lt;br /&gt;Salam,&lt;br /&gt;Imam&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3383481318177998504?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3383481318177998504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3383481318177998504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3383481318177998504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3383481318177998504'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2011/04/bertemu-dengan-bpk-irnanda-laksanawan.html' title='Bertemu dengan Bpk Irnanda Laksanawan, Deputi Kementrian BUMN'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4210613071509067987</id><published>2011-03-15T05:26:00.000-07:00</published><updated>2011-03-15T05:29:49.821-07:00</updated><title type='text'>Selayang Pandang Business Coaching II : "Sertifikasi PMP"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-XfJi58Fl37Q/TX9bn97v-2I/AAAAAAAAAFY/O1Vf5Cd30QI/s1600/01_fotoBersama.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 163px;" src="http://4.bp.blogspot.com/-XfJi58Fl37Q/TX9bn97v-2I/AAAAAAAAAFY/O1Vf5Cd30QI/s400/01_fotoBersama.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5584282805160901474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Berikut selayang pandang Business Coaching II : "Sertifikasi PMP", dengan nara sumber Cak Alex Iskandar, alumni Teknik Mesin angkatan 92.&lt;br /&gt;&lt;br /&gt;Acara berlangsung di sekertariat IKA Jakarta di ruko Dr Supomo depan McD Tebet. Dihadiri oleh 28 peserta, daftar nama peserta yang hadir ada di bagian akhir, sebetulnya ada 30 peserta, tetapi dua peserta yang lainnya yaitu cak Aulia ke acara kondangan terlebih dahulu dan ketika berangkat ke Tebet terjebak macet, dan cak Basuki Mesin Kapal yang mengira acaranya di McD Tebet.&lt;br /&gt;&lt;br /&gt;Acara berlangsung sekitar jam 12.30, terlambat setengah jam dari yang direncanakan, karena cak Alex terjebak macet di pintu keluar tol Jakarta. Sesampai di tempat sekitar jam 12.15, cak Alex bertanya sebaiknya memulai dari mana, cak Yohannes mengusulkan mengajak para peserta untuk makan siang bersama terlebih dahulu biar lebih akrab, untuk business coaching kali ini cak Yohannes menyumbang lunch box nasi timbal untuk para peserta.&lt;br /&gt;&lt;br /&gt;Cak Alex mempersiapkan presentasinya yang berjumlah 67 halaman, pagi hari sebelum acara cak Alex mengirimkan materinya via email ke panitia barangkali bisa digandakan dan dibagikan ke para peserta, tetapi karena halamannya cukup banyak dan keterbatasan waktu, maka presentasi tidak dicetak dan digandakan, tetapi nantinya dikirim ke email masing2 peserta beserta presentasi dari lembaga training Prosys: "PMP EXAM Preparation Guideline", dan file2 yang lain.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PMBOK (Project Management Book Of Knowledge)&lt;/span&gt;&lt;br /&gt;Cak Alex memulai dengan menjelaskan bahwa materinya didasari dari PMBOK, yaitu berupa standar-standar berdasarkan dari para project manager dalam mengerjakan suatu proyek, tidak berupa suatu keharusan, tetapi akan memiliki kesamaan dalam menghadapi masalah-masalah dalam pengerjaan proyek.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Proyek&lt;/span&gt;&lt;br /&gt;Ada tiga hal yang menjadi ciri proyek: dikerjakan oleh orang, dibatasi sumber daya yang terbatas, dan direncanakan, dieksekusi, dan di kontrol. Dalam PMBOK proyek didefinisikan sebagai usaha sementara yang dilakukan untuk menciptakan produk, layanan, atau hasil yang unik.&lt;br /&gt;&lt;br /&gt;Proyek dibatasi oleh waktu, memiliki tanggal mulai dan akhir, memiliki hasil yang sudah didefinisikan, sebelumnya belum pernah dilakukan, memiliki perkembangan yang bersifat progresif, memiliki aktivitas yang terhubung, membutuhkan sumber daya, dan memiliki sponsor atau pelanggan.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Manajemen Proyek (ruang lingkup, waktu, biaya, resiko, dan kualitas)&lt;/span&gt;&lt;br /&gt;Menurut PMBOK, manajemen proyek adalah penggunaan pengetahuan, keahlian, peralatan, dan aktivitas-aktivitas teknik untuk memenuhi kebutuhan proyek. Ada lima komponen dalam manajemen proyek yaitu: ruang lingkup, waktu, biaya, resiko, dan kualitas. Terdapat para stakeholder, yaitu semua pihak yang terlibat dalam proyek, atau orang-orang yang memiliki interest yang bisa jadi positif atau negatif dari hasil penyelesaian proyek. Cak Jabad sempat menanyakan tentang siapa saja yang termasuk didalam stakeholders, "Apakah termasuk pemilik perusahaan juga termasuk stakeholder?", cak Alex menjawab "Semua pihak yang terlibat adalah stakeholder, termasuk pemilik perusahaan, user, ataupun tim pelaksana proyek".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Project Life Cycle&lt;/span&gt;&lt;br /&gt;Terdiri atas tiga fase yaitu: fase Initial, Intermediate, dan Final. Di fase Initial input berupa ide dan tim dan outputnya berupa charter (pendelegasian), dan pernyataan ruang lingkup, di fase Intermediate terdiri atas rencana, baseline, progress, dan acceptance, sedangkan di fase Final terdiri atas approval dan handover.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Struktur Organisasi&lt;/span&gt;&lt;br /&gt;Dalam manajemen proyek terdapat tiga macam struktur organisasi, yaitu fungsional, matrix, dan projectized. Wewenang PM (Project Manager) di struktur fungsional bersifat lemah, dan sebaliknya memiliki wewenang yang kuat untuk struktur yang projectized. Begitu pula peran PM di fungsional bersifat part time, dan full time di projectized.&lt;br /&gt;&lt;br /&gt;Yang banyak ditemui adalah struktur fungsional, padahal dalam manajemen proyek diharapkan bersifat projectized, untuk mengatasinya bisa dengan cara membentuk matrix. Cak Susilo menambahkan bahwa tergantung organisasinya, biasanya ada bagian tersendiri untuk mengkomunikasikan ke tempat lain.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Proses Manajemen Proyek&lt;/span&gt;&lt;br /&gt;PDCA (Plan Do Check Act) -&gt; Initiating, Planning &amp; Executing, Closing&lt;br /&gt;Dan selama proses itu dilakukan, terdapat juga proses monitoring &amp; controlling.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Manajemen Ruang Lingkup&lt;/span&gt;&lt;br /&gt;Termasuk proses yang dibutuhkan untuk memastikan bahwa proyek memuat seluruh pekerjaan dan hanya pekerjaan yang dibutuhkan saja untuk menyelesaikan poyek. Secara mendasar hanya fokus dengan mengkontrol apa yang ada dan tidak ada di proyek. Manajemen ruang lingkup termasuk:&lt;br /&gt;1. Secara rutin mengecek untuk memastikan menyelesaikan semua pekerjaan&lt;br /&gt;2. Berkata tidak untuk pekerjaan tambahan yang tidak termasuk dalam proyek atau bukan bagian dari pendelegasian proyek&lt;br /&gt;3. Mencegah pekerjaan tambahan atau gold plating&lt;br /&gt;&lt;br /&gt;Perencanaan Ruang Lingkup: Proses yang mengembangkan secara progresif dan dokumentasi dari ruang lingkup yang menghasilkan produk dari proyek.&lt;br /&gt;&lt;br /&gt;Pernyataan Ruang LIngkup: Mengidentifikasi deliverable keys dari proyek, mengidentifikasi apa yang harus diselesaikan, berupa output dari perencanaan ruang lingkup, dan berupa dasar sehingga proyek tetap sesuai pada jalurnya.&lt;br /&gt;&lt;br /&gt;Cak jabad menanyakan apakah dalam mendefinisikan ruang lingkup harus sedetil mungkin, cak Alex mengiyakan pertanyaan itu, dan menjawab bahwa detil ruang lingkup terdiri atas: tujuan proyek, deskripsi ruang lingkup, kebutuhan proyek, batasan, arah proyek, kriteria penerimaan proyek, constraints, asumsi-asumsi proyek, dan kebutuhan persetujuan.&lt;br /&gt;&lt;br /&gt;Rencana Manajemen Ruang Lingkup: Berupa dokumen yang mendeskripsikan bagaimana ruang lingkup dan perubahan-perubahannya akan diatur. Termasuk kapan kita bisa memutuskan bahwa rang lingkupnya masih sama atau berubah, yang berupa % deviasi dan klasifikasi.&lt;br /&gt;&lt;br /&gt;Cak Imam menanyakan tentang bagaimanakah mengatasi masalah proyek yang sudah terjadi tetapi tidak pernah selesai apakah boleh untuk dihentikan, cak Alex menjawab jika ada batasan 10% dari ruang lingkup yang bergeser, maka perlu direschedule ulang pengerjaannya, tetapi bisa juga proyek seperti itu dihentikan.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Membuat WBS (Work Breakdown Structure)&lt;/span&gt;&lt;br /&gt;- Berupa pengelompokan komponen proyek yang mengatur dan mendefinisikan keseluruhan ruang lingkup. WBS menurunkan proyek kedalam potongan yang lebih kecil dan lebih mudah untuk diatur.&lt;br /&gt;- Pekerjaan yang tidak ada di WBS bukanlah ruang lingkup proyek&lt;br /&gt;- Biasanya dalam bentuk chart&lt;br /&gt;- Item di level paling rendah bisa berupa paket pekerjaan&lt;br /&gt;- Merupakan alat komunikasi diantara tim dan stakeholder&lt;br /&gt;- WBS digunakan untuk menggambarkan staffing, estimasi, resiko, dan jadwal.&lt;br /&gt;&lt;br /&gt;Level 1 Proyek, level 2 Tugas utama dalam proyek, level 3 Subtugas dari tugas utama, level 4 aktivitas yang harus diselesaikan.&lt;br /&gt;&lt;br /&gt;Dan sebetulnya 90% dari manajemen proyek adalah komunikasi, Cak Lucky menambahkan juga dalam mengerjakan proyek jangan terpaku dengan PMBOK, dan penggunaan email dalam berkomunikasi sebagai pegangan dengan user.&lt;br /&gt;&lt;br /&gt;WBS adalah: Satu tugas yang berorientasi hirarki, bagian dari total pekerjaan yang harus dipenuhi untuk mencapai tujuan proyek, berupa alat untuk membagi proyek menjadi komponen yang bisa diatur atau bagian yang bisa dijadwalkan, diperkirakan biayanya, dimonitor, dan dikontrol.&lt;br /&gt;&lt;br /&gt;WBS mampu membuat pekerjaan dikontrol pada tingkat eksekusi, juga mememantau secara konsisten biaya dan jadwalnya sehingga menyediakan pemahaman status keseluruhan.&lt;br /&gt;&lt;br /&gt;WBS bukanlah suatu diskripsi organisasi dari tim yang mengerjakan proyek WBS didesain untuk mengkontrol pekerjaan yang sudah selesai dan kapan waktunya, untuk mencegah ruang lingkup yang melebar dan meningkatkan pemahaman dari akibat dari masung-masing tugas.&lt;br /&gt;&lt;br /&gt;Cak Johan menanyakan sedetil apa saat kontraktor menyiapkan Baseline, WBS dibuat untuk diajukan ke owner? jawabannya tidak terlalu detail tidak apa apa, sesuaikan dengan kemampuan kita nantinya untuk mengontrol, supaya tidak ribet sendiri.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Project Planning and Controlling&lt;/span&gt;&lt;br /&gt;Planning - Setting tujuan, definisi proyek, dan organisasi tim&lt;br /&gt;Scheduling - Menghubungkan orang, uang, dan pasokan untuk aktivitas tertentu, dan hubungan antar aktivitas&lt;br /&gt;Controlling - Memonitor sumber daya, biaya, kualitas, dan budget, merevisi rencana, jadwal sumber daya untuk memenuhi waktu dan persediaan biaya.&lt;br /&gt;&lt;br /&gt;Merencanakan proyek:&lt;br /&gt;- Menentukan tujuan, berdasarkan waktu, biaya, dan kualitas&lt;br /&gt;- Mendefinisikan proyek&lt;br /&gt;- Membuat WBS&lt;br /&gt;- Identifikasi tim/sumber daya&lt;br /&gt;&lt;br /&gt;Menjadwalkan proyek:&lt;br /&gt;- Sequence activity&lt;br /&gt;- Mengutus orang-orang&lt;br /&gt;- Jadwal sumber daya dan jadwal pengiriman&lt;br /&gt;&lt;br /&gt;Mengawasi proyek:&lt;br /&gt;- Revisi dan perubahan rencana&lt;br /&gt;- Monitor resource, biaya, dan kualitas&lt;br /&gt;&lt;br /&gt;Terkait item keselamatan kerja/safety, cak Johan menanyakan apakah bisa dimasukkan kedalam item pekerjaan? karena cost K3 biasanya membengkak. jawabannya: tidak bisa, tapi sudah umum, tim budgeting bisa mengakalinya dengan memperhitungkan cost K3 dalam item pekerjaan yg ada. Disambung oleh cak Lucky bahwa di perusahaan asing biasanya standar safety sudah sangat terjaga.&lt;br /&gt;&lt;br /&gt;Cak Alex juga menunjukkan presentasi proyek-proyek di kantornya yaitu Conoco Philips, dan bercerita kalau sedang mengerjakan proyek Belanak yaitu membangun kilang gas besar di daerah Jambi.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Lembaga Training Sertifikasi PMP&lt;/span&gt;&lt;br /&gt;Setelah menjelaskan materi presentasinya, cak Alex juga menunjukkan presentasi lembaga training Prosys mengenai Persiapan PMP, meliputi jadwal training yang terdiri atas dua belas kali pertemuan (sabtu minggu, selama enam minggu), syarat-syarat mengikuti sertifikasi PMP, yang termasuk minimal pengalaman sebagai PM selama minimal tiga tahun, total pertanyaan sebanyak 200, pilihan ganda, dan dikerjakan selama 4 jam. Biaya untuk sertifikasi adalah $405 untuk anggota PMI (Project Management Institute), dan $555 untuk bukan anggota.&lt;br /&gt;&lt;br /&gt;Dijelaskan pula bahwa sertifikasi PMP berumur tiga tahun, selama itu pula akan diperbaharui jika sudah mengumpulkan 60 poin PDU, poin PDU bisa didapatkan jika melakukan aktivitas seperti memberi training tentang PMP, seperti yang dilakukan cak Alex pada hari itu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Daftar Peserta yang Hadir:&lt;/span&gt;&lt;br /&gt;1. Cak Inra Sumahamijaya Tekkim 2006&lt;br /&gt;2. Cak Masherry S Statistik 2000&lt;br /&gt;3. Cak Imam Baihaqi TC 99&lt;br /&gt;4. Cak Margo TM 94&lt;br /&gt;5. Cak Susilo M 94&lt;br /&gt;6. Ning Naning T. Kimia 2001&lt;br /&gt;7. Cak Yohanes TI 91&lt;br /&gt;8. Cak Andik Yulianto TC 96&lt;br /&gt;9. Cak Jabad Eko Permodo Siskal 99&lt;br /&gt;10. Cak Hendra Susanto PENS '04&lt;br /&gt;11. Cak Errika Ferdinata Arsitek 97&lt;br /&gt;12. Cak Faizal Zainuri Elektro 91&lt;br /&gt;13. Ning Efi Trisning Tekkim 2005&lt;br /&gt;14. Ning Resti Afiadinie Tekkim 2005&lt;br /&gt;15. Cak Lucky Esa Komputer 1985&lt;br /&gt;16. Cak Deden Ade N TC '05&lt;br /&gt;17. Ning Hestuti Eni Tekkim 96&lt;br /&gt;18. Cak Michael C TL 2000&lt;br /&gt;19. Cak Dewa Pribadi TC 2001&lt;br /&gt;20. Cak Adib TF '95&lt;br /&gt;21. Cak Dzulfikar A. M-40 ('97)&lt;br /&gt;22. Cak Andika Muhardi 1988 ELIT 28&lt;br /&gt;23. Cak Priyo Kapal 2004&lt;br /&gt;24. Cak Naharis M '99&lt;br /&gt;25. Cak Samsuri M-42 99&lt;br /&gt;26. Cak Johan Asa T. Sipil 2002&lt;br /&gt;27. Cak Nizar TC 2002&lt;br /&gt;28. Cak Arif E.P Elektro 2002 (PENS)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4210613071509067987?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4210613071509067987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4210613071509067987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4210613071509067987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4210613071509067987'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2011/03/selayang-pandang-business-coaching-ii.html' title='Selayang Pandang Business Coaching II : &quot;Sertifikasi PMP&quot;'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-XfJi58Fl37Q/TX9bn97v-2I/AAAAAAAAAFY/O1Vf5Cd30QI/s72-c/01_fotoBersama.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4738823903511167805</id><published>2011-01-16T01:35:00.000-08:00</published><updated>2011-01-16T01:38:01.639-08:00</updated><title type='text'>Selayang Pandang Business Coaching I : "Menjadi Wirausahawan"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WcYcnu7jwBA/TTK8OksXRnI/AAAAAAAAAFM/jcrIshZVmDs/s1600/1fotoBersama.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 184px;" src="http://2.bp.blogspot.com/_WcYcnu7jwBA/TTK8OksXRnI/AAAAAAAAAFM/jcrIshZVmDs/s400/1fotoBersama.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5562715448309925490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Berikut saya tulis Selayang Pandang Business Coaching I : "Menjadi Wirausahawan", dengan nara sumber Cak Lucky Esa, alumni T Informatika angkatan 85.&lt;br /&gt;&lt;br /&gt;Acara dihadiri oleh sebelas peserta, daftar nama peserta yang hadir ada di bagian akhir. Cak Lucky sendiri sudah datang seperempat jam lebih awal dari yang dijadwalkan yaitu pukul tiga sore, sehingga langsung memulai coachingnya di ruang meeting lantai dua dengan peserta yang sudah hadir terlebih dahulu, yaitu cak Nizar, cak Yanu, dan saya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Wirausahawan menghadapi banyak tantangan&lt;/span&gt;&lt;br /&gt;Menjadi wirausahawan akan menghadapi banyak tantangan, tidak senyaman seperti menjadi karyawan, oleh karena itu harus menjadi pribadi yang persistance dalam berusaha, melangkah seratus persen tidak boleh setengah-setengah. Cak Lucky juga bercerita bahwa didalam menjalankan usahanya sering terbentur dengan regulasi pemerintah, yang mana hal itu tidak ada di luar negeri.&lt;br /&gt;&lt;br /&gt;Ketika masih bekerja di BP di Sangatta Kalimantan Timur, bersama teman-temannya pernah berusaha jualan krupuk dan membangun pabrik batako. Karena di sana warung makanan tidak ada yang jualan krupuk, maka cak Lucky dan teman-temannya membeli di surabaya krupuk mentah dan di jual ke warung-warung di Sangatta, dan setelah diterima kerja di Microsoft usahanya itu diserahkan ke teman-temannya dan masih berjalan hingga saat ini. Begitu pula ketika di Jakarta, cak Lucky pernah berjualan bawang merah, menunggui di pasar tradisional mulai jam 3 pagi sampai sore, dan dari situ bisa mendapat omzet lima belas juta tiap bulan, tetapi tidak diteruskan, karena cak Lucky kurang menyukai usaha yang bersifat dagang, membeli kemudian dijual lagi.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Memutuskan Menjadi Wirausahawan&lt;/span&gt;&lt;br /&gt;Bagi cak Lucky, bukan alasan keuangan untuk menjadi wirausahawan, karena sebetulnya di Microsoft cak Lucky sudah mendapat lebih dari cukup, selain gaji besar, mendapat hak kepemilikan saham atas Microsoft, dan pesangon jika pensiun, hubungan dengan atasan dan rekan kerja pun baik-baik saja, bahkan sampai sekarang masih berhubungan baik, tetapi memang panggilan jiwa dari cak Lucky untuk bisa mandiri.&lt;br /&gt;&lt;br /&gt;Cak Lucky marasa bekerja di Microsoft sebagai vendor masih belum memenuhi keinginannya yang sebenarnya, bekerja di vendor lebih banyak bohongnya kepada user, bahkan setelah resign cak Lucky pernah didatangi oleh orang Amerika untuk bekerja di google, tetapi menolaknya karena akan melakukan kerja yang sama seperti halnya di Microsoft. Setelah didiskusikan dengan keluarga, dan karena tidak memiliki hutang kepada bank, misalnya untuk rumah ataupun mobil, dan pula tabungannya cukup untuk biaya hidup selama 2 tahun, cak Lucky pun memulai untuk menjadi wirausahawan, perusahaan seperti Schlumberger, Medco, PLN, Telkom, pernah menjadi usernya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Business Cracker&lt;/span&gt;&lt;br /&gt;Yaitu para pengusaha yang melakukan dobrakan dalam usahanya, mereka membuat aturan dalam berbisnis dan dijalaninya sendiri, seperti J Co yang dibuat oleh Johnny Andrean yang sebelumnya seorang pengusaha dalam bidang salon, Mie Sedap yang sebelumnya berupa perusahaan sabun Wings di Surabaya, atau yang di bidang IT seperti anak pemilik teh Botol Sosro yang mengalami jatuh bangun dalam usahanya selama 20 tahun dan baru berhasil menjual aplikasinya baru-baru ini, diceritakan bahwa sempat door to door meminta maaf kepada para pelanggannya karena aplikasi yang dibuatnya tidak sama seperti yang dijanjikan.&lt;br /&gt;&lt;br /&gt;Cak Lucky juga pernah bertemu dengan pembuat Zahir Accunting, penyedia aplikasi akuntansi yang dijual untuk tujuan UKM-UKM dengan harga 500 ribu-an, kata cak Lucky harga itu bisa lebih murah dan bakal lebih banyak pembelinya jika menggunakan teknologi Cloud Computing. Ditambahkan oleh cak Frederik, bahwa dikantornya Indosat memang akan dilakukan kerjasama dengan Zahir Accounting untuk memanfaatkan Cloud Computing yang mereka punya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Business Model&lt;/span&gt;&lt;br /&gt;Cak Lucky mengagumi business model seperti J Co ataupun Kebab Turki Baba Rafi, dia ingin mencari tahu faktor apa yang mereka miliki selain keberanian. Ditambahkan oleh cak Errika, salah seorang peserta yang pengurus HIPMI Jaya bahwa pernah bertemu pemiliknya dan bercerita bahwa saat ini Baba Rafi sudah memiliki enam ratus outlet dan memerlukan beberapa ton daging setiap harinya. Ada pula business model seperti Pesandelivery yang mana menyediakan usaha mengantarkan pesan makanan, dengan menyediakan transportasi dan bungkusnya.&lt;br /&gt;&lt;br /&gt;Dilanjutkan dengan pertanyaan oleh Tyar Matematika02 yang ingin menanyakan definisi business model, dijawab oleh cak Lucky dengan bagan yang menggambarkan Business Meodel yaitu:&lt;br /&gt;Supplier -&gt; Value Proposition -&gt; Construction&lt;br /&gt;&lt;br /&gt;Dan definisi Business Model itu sebenarnya tidak tahu secara pastinya, tetrapi berupa sistem usaha yang kita lakukan, jika ada yang salah maka harus kita ganti business modelnya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Business Ethic&lt;/span&gt;&lt;br /&gt;Saat ini cak Lucky memang tidak memiliki kantor dan karyawan sendiri seperti perusahaan pada umumnya, kantornya virtual. Dalam berhubungan dengan karyawan, cak lucky sangat memperhatikan perlakuan baik dengan karyawannya, menggajinya tepat waktu, bahkan memberi kesempatan melakukan bagi hasil pendapatan perusahaannya jika karyawannya mau, dia tidak mau meniru pengusaha yang menumpuk kemewahan tetapi tidak memperhatikan karyawannya, cak Lucky masih mempercayai dengan balasan dari apa yang kita lakukan, dan sering mendengar cerita mengenai peristiwa yang dialami oleh pengusaha nakal.&lt;br /&gt;&lt;br /&gt;Cak Lucky pernah mengalami sewaktu mengerjakan project dengan salah satu BUMN, mereka baru melakukan pembayaran setelah tiga bulan project selesai, padahal projectnya sendiri sudah memerlukan waktu delapan bulan, sehingga sebelas bulan harus menggunakan dana pribadi, termasuk untuk membayar karyawannya tepat waktu.&lt;br /&gt;&lt;br /&gt;Cak Lucky bersyukur karena mendapatkan pengalaman bekerja di perusahaan asing, di BP Kalimantan Timur 7 tahun, dan di Microsoft Jakarta 7 tahun, bekerja secara profesional di tempat kerja, yang mana budaya seperti itu mungkin belum ada di perusahaan lokal, dia bercerita bahwa ketika di BP dengan atasannya yang orang asing ketika diluar kantor berteman seperti biasa tetapi besoknya ketika berada di kantor kembali lagi profesional sebagai bawahan. Cak Lucky juga bercerita bagaimana orang India bekerja, disebutkan bahwa mereke sangat pintar berbicara dan terbiasa hidup keras karena kondisi negaranya yang miskin, orang India biasa bekerja sampai jam dua malam dan kembali lagi memulai aktivitas jam 5 pagi dengan gaya hidup yang sederhana, dan itu sudah menjadi kebiasaan hidup mereka sejak kecil di negaranya karena kerasnya kehidupan disana.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tidak Mau Hutang Bank&lt;/span&gt;&lt;br /&gt;Dalam menjalankan usahanya, cak Lucky tidak mau melakukan hutang kepada bank, dan disyukurinya karena dalam menjalankan usahanya cak Lucky tidak memerlukan untuk membeli peralatan terlebih dahulu, karena ditambahkan oleh cak Faizal bahwa ada teman-temannya di HIPMI Jaya malah melakukan hal yang bertolak belakang, berhutang ke bank untuk menjalankan usahanya seperti jual beli properti, dan bagi sebagian orang, dengan berhutang dapat dijadikan sebagai cambuk dalam berusaha, karena akan lebih berhati-hati dalam melakukan usahanya, dan ditambahkan oleh cak Errika hutang tidak selalu ke bank bisa saja lewat koperasi dengan syarat yang lebih mudah. Ditambahkan oleh cak Lucky memang itu tidak bersifat mengikat, karena ada usaha yang memang membutuhkan modal besar untuk mengerjakannya.&lt;br /&gt;&lt;br /&gt;Acara berakhir sampai pukul setengah tujuh, molor setengah jam dari yang dijadwalkan, dan diakhiri dengan foto bersama dan pemberian cindera mata, selama acara berlangsung, para peserta dipersilahkan untuk melakukan solat di lantai tiga.&lt;br /&gt;&lt;br /&gt;Nara Sumber:&lt;br /&gt;Cak Lucky Esa, T Informatika 85, Wirausahawan di bidang IT, mantan karyawan BP dan Microsoft&lt;br /&gt;&lt;br /&gt;Para peserta yang hadir adalah:&lt;br /&gt;1. Cak Nizar Ihromi Hidayat, T. Informatika 02&lt;br /&gt;2. Cak Yanu Widodo, Poltek Elka 99&lt;br /&gt;3. Cak Imam Baihaqi, T. Informatika 99&lt;br /&gt;4. Cak Aulia Mahdi, T. Elektro 97&lt;br /&gt;5. Cak Errika Ferdinata, Arsitektur 97&lt;br /&gt;6. Cak Faizal, T. Elektro 97&lt;br /&gt;7. Cak Frederik Nainggolan, T. Elektro 94&lt;br /&gt;8. Cak Arif Eko P, T. Elektro ? (maaf lupa)&lt;br /&gt;9. Ning Riris Nurbintari, T. Kimia 97&lt;br /&gt;10. Cak Mochammad Djaohar, T. Elektro 89&lt;br /&gt;11. Ning Khoiriyati, Matematika 02&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4738823903511167805?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4738823903511167805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4738823903511167805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4738823903511167805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4738823903511167805'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2011/01/selayang-pandang-business-coaching-i.html' title='Selayang Pandang Business Coaching I : &quot;Menjadi Wirausahawan&quot;'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WcYcnu7jwBA/TTK8OksXRnI/AAAAAAAAAFM/jcrIshZVmDs/s72-c/1fotoBersama.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4997344155862646607</id><published>2010-10-20T18:13:00.000-07:00</published><updated>2010-10-20T18:14:00.123-07:00</updated><title type='text'>Mengikuti Temu Alumni Studi Ekskursie angkatan 2007</title><content type='html'>Selasa 19 Oktober saya mengikuti acara temu alumni studi ekskursi angkatan 2007 di gedung Nyi Ageng Serang ruang Rapat BKW lantai 2, Jl. Rasuna Said Kuningan. Acaranya jam tujuh malam, saya rencana berangkat jam lima, tapi karena masih ada atasan saya dan juga kerjaan jadinya bisa keluar kantor jam setengah enam lebih, saya berangkat bawa motor karena trans bsd lewat depan kantor jam 5 lebih. Dari BSD saya lewat pamulang, ciputat, lebak bulus kemudian belok kiri ke ITC Fatmawati, blok M, dan nyebrang lewat jembatan layang karet kearah kuningan. Sudah beberapa kali saya lewat jalan serupa, tapi masih juga sempat kesasar sewaktu belok ke arah Fatmawati, ternyata dari lebak bulus tunggu belokan kedua, saya malah belok pertama ke arah pondok indah, dan sempat putar balik karena kalau lurus mengikuti jalan maka akan kembali lagi ke arah pondok pinang dan bintaro.&lt;br /&gt;&lt;br /&gt;Dari blok M saya hafal jalan, saya lurus saja mengikuti jalan lewat ratu plaza, senayan, kolong semanggi sampai di halte busway karet setelah bendungan hilir saya belok kiri untuk menyabrang lewat jembatan layang karet lurus notok sampai ketemu kedutaan Malaysia belok kiri, saya ikuti jalan sebelah jalur cepat sampai ada rambu putar balik untuk sepeda motor, karena gedung acara ada di seberang jalan.&lt;br /&gt;&lt;br /&gt;Gedung Nyi Ageng Serang ternyata merupakan gedung perpustakaan umum DKI, dan disewakan pula buat acara kawinan, didalamnya juga ada beberapa ruangan yang disewakan seperti yang digunakan untuk acara semalam, ruangannya berukuran sekitar enam kali lima belas meter, ada meja didepan dengan beberapa kursi untuk pembicara, dan kursi-kursi didepannya dibagi jadi dua kolom masing-masing lima kursi kanan dan kiri. Gedungnya ada di sebelah kiri gedung Gor Soemantri Brojonegoro, berderet setelah Taman Ismail Marzuki, dan Pasar Festival. Letaknya berdekatan dengan tempat tahun lalu yang ada di Wisma Kuningan Gor Soemantri Brojonegoro.&lt;br /&gt;&lt;br /&gt;Setelah parkir motor di basement, saya memasuki halaman gedung, berpapasan dengan Daniel02 dan teman-temannya, saya masuk ruangan lobby, disana banyak angkatan 2007, saya telpon dan sms Wahib bilang sudah sampai di tempat, sempat kelihatan Ardhi03 yang buru-buru pergi ke basemen. Kemudian diantarkan angkatan 2007 ke lantai 2 lewat lift, dan sempat ditanyai angkatan berapa dan kerja dimana, saya bilang kalau angkatan 99 satu angkatan sama pak Arie MS dosen pendamping mereka dan sekarang kerja di Sigma tinggal di BSD. Keluar lift saya isi buku tamu dan memasuki ruangan, disana sudah ada Kamal sama Arie MS, beberapa waktu kemudian Wahib datang. Saya tanya kabar mereka, saya juga tanya ke Arie apa ga daftar S3 ke Taiwan yang ada di milis jurusan soalnya sudah S2 di Australia, dia bilang ga dulu, saya juga tanya emangnya pengen S3 dimana katanya ya terserah rejekinya dimana, saya juga bilang kalau pengen juga nerusin sekolah yang di Taiwan tapi harus ngurus transkrip dan ijazah dalam bahasa Inggris dan buat satu halaman proposal dalam bahasa Inggris yang bakalan susah bagi saya untuk membuatnya, saya juga bilang ga apa-apa kalau ga sekolah lagi sampai sarjana saja.&lt;br /&gt;&lt;br /&gt;Awalnya kami duduk di baris belakang kemudian sama pembawa acaranya diminta duduk di baris depan, kami pun pindah duduk di baris kedua sebelah kiri ruangan sama anak angkatan 2002 dan 2005, kemudian ada Yogie01, Hadi01 sama teman-temannya datang dan duduk di baris depan kami, sedangkan di baris belakang kami ada angkatan 2006 sama 2004. Acara dibuka Arie MS sebagai dosen pendamping, kemudian kami semua para alumni diminta memperkenalkan diri, saya bilang bahwa nama saya Imam, angkatan 99, satu angkatan sama mas Kamal, pak Arie, sama mas Wahib, sekarang bekerja di Sigma, vendor lokal sebagai programmer Java. Acara dilanjutkan dengan makan malam dan hiburan nyanyi karena ada yang ikut Indonesian Idol, kemudian pertanyaan, ada lima pertanyaan, yang pertama ada yang bertanya tentang di kerjaan sekarang apakah sudah merasa puas atau belum dan apa cita-citanya di kerjaan, kemudian ada yang tanya kalau tidak bisa ngoding bagaimana, pilih mana idealis atau ambil kesempatan yang ada, bagaimana jadi spesialis di IT jika sekarang banyak pelatihan manajemen, dan bagaimana karir di IT buat cewek.&lt;br /&gt;&lt;br /&gt;Acara selesai sekitar jam 10 malam lebih, kami pun pulang, saya pulang lewat jalan yang sama sampai rumah jam sebelas malam lebih.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4997344155862646607?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4997344155862646607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4997344155862646607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4997344155862646607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4997344155862646607'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2010/10/mengikuti-temu-alumni-studi-ekskursie.html' title='Mengikuti Temu Alumni Studi Ekskursie angkatan 2007'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2282276726046517416</id><published>2010-10-20T18:10:00.000-07:00</published><updated>2010-10-20T22:04:11.457-07:00</updated><title type='text'>Mengikuti Buka Bersama di Kediaman Pak Nuh</title><content type='html'>Saya berangkat dari kantor di BSD pukul 4.45 sore, sebetulnya sudah ijin ke atasan saya mau pulang jam setengah lima tapi karena ada kerjaan jadinya bisa berangkat agak sorean. Di jalanan juga macet, sampai di ratu plaza sudah Maghrib, padahal undangannya jam 5, tapi memang saya niatkan datang saja, meski disana cuma diam dan datang belakangan, saya juga tidak tahu lokasi acara tepatnya dan rutenya, yang saya tahu Jl. Widya Chandra itu di depan Planet Hollywood Gatot Sudirman. Saya kira daerah gatsu itu di terusan ratu plaza-senayan-karet-benhil-hotel indonesia, tetapi ternyata jl. Gatot Subroto itu melintang diatasnya, sewaktu melewati kolong di jembatan Semanggi saya beli bensin eceran dan tanya kepada penjualnya, syukurlah dikasih tahu soalnya saya punya pengalaman tanya jalan di Jakarta malah disasarkan. Dan untungnya pula saya beranikan bertanya soalnya kalo tidak saya bakal putar jauh soalnya sudah melewati jalan gatot soebroto.&lt;br /&gt;&lt;br /&gt;Jadi ketika melewati kolong jalan berbentuk semanggi dari senayan ke arah karet jalannya satu arah yaitu belok ke kanan, tetapi dia sarankan lebih baik saya angkat motor saya dan naik di trotoar melawan arus kemudian putar balik melewati jalan layang yang tepat diatas kami sekarang. Sepanjang jalan Gatot Soebroto juga macet luar biasa, dan untuk sampai ke acara meski sudah sampai Planet Hollywood harus putar balik agak jauh, untungnya jalan yg arah sebaliknya sangat lengang.&lt;br /&gt;&lt;br /&gt;Sampai di jl. Widya Chandra jam tujuh kurang, ternyata ada dua arumah yang rame didatangi orang-orang, ternyata setelah saya tanya ternyata ada acara buka bersama orang-orang ITB, tapi tidak tahu siapa nama menterinya. Disana orang informatikanya yang saya tahu ada saya, Wahib99, Ariq99, Ridha99, mas Nafiri Furqoni96, sama mbak Umi Azizah94. Nizar03 tidak jadi datang karena semalam sebelumnya bergadang, saya juga bertemu beberapa teman dari jurusan lain. Tanpa mengecilkan para alumni yang lain yang saya tahu, disana juga banyak tokoh-tokoh terkenal, selain pak Nuh, ada pak Widya Purnama mantan dirut Indosat dan Pertamina, pak Muhammad Nadjib anggota DPR, pak Agus Widjanarko Sekjen Departemen PU, pak Eko Djatmiko purek 4, dan pak Daniel M Rosyid sekarang jadi calon rektor, pak Dwi Sutjipto dirut semen gresik dan ketua PP IKA sekarang, pak Sutopo, pak Djawahir, pak Amir Hamzah, dan pak Helvy orang-orang IKA, ada juga mas Arif tekkim, mas Hambali, mas Djafar, Erik, mbak Fitri Latifah, dan Nelly teman-teman Prolead. Juga ada tamu orang non-ITS pak Dahlan Iskan dirut PLN.&lt;br /&gt;&lt;br /&gt;Sesampai depan rumah pak Nuh, di depan pintu gerbangnya ada beberapa orang tukang foto dan peminta sumbangan, masuk ke halaman rumah pak nuh saya copot sepatu dan menaruhnya berjejer dan diberi nomer sepatu, di samping halaman itu ada mobil pelat merah pak Nuh. Kemudian saya isi daftar hadir yang sudah dipersiapkan oleh panitia. Karena sudah jam tujuh maka setelah saya bersalaman dengan teman-teman angkatan dan beberapa rekan kenalan, saya langsung ambil wudlu dan solat Maghrib dulu. Rumah pak Nuh luas sekali, mungkin semua rumah menteri didesain sama, ada ruang yang lapang sekali mungkin sepuluh kali sepuluh meter yang bisa menampung banyak orang didalamnya, dan memang sudah dirombak buat ngatasi acara seperti itu karena di samping rumahnya ada pipa yang di beri lima buah kran buat air wudlu, para tamu wanita bisa wudlu di kamar mandi yang ada disebelah ruangan yang lain, sedangkan untuk solat menggunakan ruangan besar di tengah rumah yang juga digunakan para tamu beramah tamah, sedangkan di pinggir-pinggir ruangan disediakan meja-meja berbagai hidangan untuk berbuka.&lt;br /&gt;&lt;br /&gt;Setelah solat Maghrib saya sungkan untuk mengambil hidangan, apalagi kebanyakan para tamu sudah berbuka, banyak juga se yang baru datang tapi mungkin sudah buka sebelumny, ya sudah sampai saya pulang saya tidak mengicipi hidangan yang ada, tapi entah mengapa saya merasa senang aja sampai acara selesai sekitar pukul jam sembilan. Saya kemudian mengambil tempat duduk dengan teman-teman seangkatan saya, saya cerita ke mereka tentang perjalanan berangkat saya. Tidak lama kemudian ada orang yang adzan Isya', saya jadi ingat waktu jaman-jaman kuliah dulu, meski sudah berumur bapak-bapak, tetapi ketika sudah berkumpul seperti tadi malam rasanya seperti merasakan seperti pengkaderan. Ariq sama Wahib ambil air wudlu, saya ngga soalnya masih punya wudlu. Kami kemudian sholat Isya berjamaah, setelah itu Wahib, Ariq, sama Ridha pulang duluan, ketika berdoa selesai solat Ariq sudah ada di pintu nunggu Wahib, Wahib sama Ridha masih ngobrol di bagian tempat yang lain di tempat wudlu-wudlu, dari jauh saya bilang ke Ariq, "Nanti aja pulangnya, aku mau dengerin pidato-pidatonya dulu, mau ikut sampai selesai". Setelah itu Wahib sama Ariq kirim sms mau pulang duluan, saya balas hati-hati di jalan.&lt;br /&gt;&lt;br /&gt;Setelah itu pak Djawahir sekjen PP IKA-ITS membuka pidato meminta pak Nuh memberi pidato dan sebelumnya berdoa kepada pak alm. Karomul Wahid wakil ketua PP yang sudah almarhum dan kepada pak Herman Widyananda wakil ketua BPK yang sedang berobat ke China. Pak Nuh kemudian berpidato dan memimpin doa, beliau cerita kalau pak Karomul Wahid itu dulu teman waktu kuliah, ternyata anak profesor di ITS yang mana pasti orang-orang ITS dulu pasti mengenal ayahnya, juga bercerita bahwa ketika kuliah dulu pak Karomul sering membonceng beliau pake motornya karena waktu itu perawakan pak Karomul besar sedangkan pak Nuh kecil sehingga kemana-mana sering bersama-sama boncengan, dan mereka berdua dulu bagian membantu menggelar tikar dan menarik pipa buat wudlu buat jumatan.&lt;br /&gt;&lt;br /&gt;Pak Nuh berpidato hanya sebentar, beliau kemudian mempersilahkan pak Dahlan Iskan untuk berpidato. Pidato pak Dahlan sangat panjang dan terperinci, beliau bercerita dari China daratan sepuluh hari untuk check up kesehatan, karena sudah berteman baik dengan dokternya, beliau pesan untuk memprioritaskan pak Herman Widyananda yang juga jadi pasien dokter yang sama. Ketika di China daratan pula pak Dahlan melihat pembangunan tower tertinggi di dunia yang berukuran 300 meter. Kata pak Dahlan sebetulnya gampang bangunnya karena bangunannya sederhana, seluas lapangan bola dengan bahan besi yang bagus, beliau bilang akan bangun tower serupa setinggi 301 di Bali sebagai Pembangkit Listrik Jawa Bali. Pak Dahlan juga bilang akan bangun pembangkit listrik tenaga matahari di lima pulau di Indonesia Timur, karena tenaga surya yang bagus itu di Indonesia timur, jika memang proyeknya untuk lima pulau itu bagus maka akan diterapkan di tempat lain. Beliau juga bercerita tentang batu bara yang diambil dari Sumatera yang untuk transportasinya ketika dibawa ke Jawa butuh ongkos yang banyak dan perlu jalur transporasi tersendiri lewat bawah laut, tapi sebelum membangunnya terlebih dahulu pak Dahlan ingin bangun daerah Sumatera terlebih dulu tempat tambang batubara berada. &lt;br /&gt;&lt;br /&gt;Pak Dahlan juga bercerita bahwa sebetulnya tidak mau ketika ditawari jadi dirut PLN karena bukan seorang insinyur, tetapi setelah bertemu pak SBY yang bilang bahwa yang lebih dibutuhkan adalah leadership dan manajemen dan berbagai pertimbangan akhirnya pak Dahlan mau dengan beberapa syarat seperti tidak ada wakil dan memilih sendiri para direktur operasionalnya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2282276726046517416?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2282276726046517416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2282276726046517416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2282276726046517416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2282276726046517416'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2010/10/mengikuti-buka-bersama-di-kediaman-pak.html' title='Mengikuti Buka Bersama di Kediaman Pak Nuh'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1472514712190567100</id><published>2010-10-20T18:08:00.000-07:00</published><updated>2010-10-20T18:10:26.573-07:00</updated><title type='text'>Mengikuti Young Alumni ITS Leadership  &amp; management Program 2010</title><content type='html'>Sabtu Minggu Tanggal 24-25 Juli ini alhamdulillah saya diterima mengikuti acara Program Leadership Young Alumni 2010. Program ini yang pertama diadakan oleh PP IKA-ITS dan akan diadakan tahunan sebagai kaderisasi IKA yang kedepannya diharapka bisa menciptakan kekuatan bersama yang selama ini dirasakan para almuni berjalan sendiri-sendiri, untuk prolead yang pertama ini acara bersamaan dengan acara Fun Futsal IKA ITS Jakarta Raya di Citos. Prolead berlangsung di Hotel Park Cawang. Hotel Park sendiri ternyata milik pak Musyanif, Teknik Sipil 73, presdir PP (Pembangunan Perumahan), BUMN yang didirikan Pak Karno karena punya keinginan untuk membangun perumahan untuk rakyat Indonesia, tapi dalam perjalanan aktualnya, saat ini PP membangun Hotel Indonesia Kempinski, Sampoerna Strategic Square, dan Hotel Park. Selain bekerja di PP, pak Musyanif juga mempunyai banyak usaha termasuk membangun Hotel Park berikut Park Apartement yang terletak bersebelahan. Ketika pak Musyanif dihubungi panitia prolead (mas Arief Hermawan Tekkim 95) untuk menjadi salah satu nara sumber, pak Musyanif bertanya tempatnya dimana, ketika dijawab di hotel Park, pak Musyanif berkata: "Loh itu khan hotel saya, ya sudah saya beri discount 50% buat bayar tempatnya". Ketika manajemen hotel menghubungi panitia untuk pembayaran, panitia bilang bahwa gak bayar penuh karena diminta sendiri oleh pemilik hotel dan minta agar bayarnya sabtu sore saja menunggu pak Musyanif datang mengisi acara jam 1, daripada nanti manajemen malah dimarahi oleh pak Musyanif karena memang diberi discount 50%.&lt;br /&gt;&lt;br /&gt;Sabtu jam setengah tujuh pagi saya berangkat dari rumah menuju kantor untuk menitipkan motor, kemudian jalan kaki sekitar seratus meter ke halte bus depan German Center menunggu bus Mayasari Bakti 117 warna hijau jurusan Poris - Pulo Gadung. Sekitar jam tujuh kurang sepuluh busnya datang, busnya buatan agak lama, berusia lebih dari sepuluh tahun, tapi cukup terawat meski sudah mulai berkarat dan berbunyi ketika berjalan. Saya turun di UKI Cawang bayar sembilan ribu, setelah itu naik ojek bayar lima ribu, ternyata gedungnya cukup dekat bahkan dilewati oleh bus tadi tetapi putar jalan dulu lewat bawah tol, tukang ojeknya bilang bahwa nanti juga busnya lewat depan gedung untuk pulang ke BSD. Saya sendiri tidak tahu kalo  ternyata dekat UKI dan dilewati bus 117, informasi yang saya dapat dari wikimapia dekat UKI dan UKI sendiri merupakan pemberhentian bus 117, jadi memang sudah saya rencanakan kalau turun di UKI dan jalan kaki jika nama hotelnya kelihatan, dan naik ojek jika tidak kelihatan.&lt;br /&gt;&lt;br /&gt;Ketika sampai di hotel, saya dikasih tahu pihak informasi bahwa acara ITS ada di lantai 1, ruang Cendana 1 sebelah kanan lift, hotelnya kecil, baru beroperasi juga, dibangun 2002, tapi cukup rame, saya satu lift dengan seorang asing bersama anak laki-lakinya berusia sepuluh tahunan. Disebelah lift yang ada dua itu ada tangga yang pendek sekali jika lewat ke lantai satu. Saya menunggu dua lift itu sampai ground floor lumayan lama karena memang liftnya meski baru tapi diset jalan pelan biar lebih nyaman, dan lebih cepat sampainya kalo naik tangga karena memang hotelnya kecil tapi bermodel modern bersih. Sampai di depan ruang Cendana 1 saya bertemu cak Arief, cak Hamdani, dan Allaq. Semua anak tekkim berbeda angkatan. Cak Hamdani tekkim angkatan 91 jadi moderator di hari pertama, sedangkan Allaq peserta, tekkim 2003.&lt;br /&gt;&lt;br /&gt;Acara dimulai pukul 8.30, para peserta memasuki ruangan Cendana 1, meskipun ada beberapa yang datang terlambat, kemudian mas Arief berpidato pembukaan, dan mengatakan bahwa selamat datang &lt;br /&gt;kemudian memberi waktu sepuluh menit dan meminta kepada para peserta menentukan nama-nama yang menjadi koordinator angkatan, pembawa acara, pembaca doa, dirijen lagu Indonesia Raya, dan pembaca kesimpulan masing-masing materi karena di prolead ini tiap akhir materi akan dibacakan kesimpulan selama lima menit oleh peserta bukan oleh moderator. Mas arief kemudian keluar ruangan selama sepuluh menit meninggalkan peserta. Kemudian Fibrina T. Industri 99 maju didepan membacakan sekilas kertas yang berisi table peran-peran yang perlu diisi nama para peserta. Untuk pembawa acara Allaq karena sudah berpengalaman, sedangkan moderator dari panitia, moderator hari pertama cak Hamdani, hari kedua cak Jafar, T. Fisika 96 dan Ning Umi, T. Informatika 94. Koordinator angkatan prolead Fibrina T. Industri 99,  Nizar TC02 baca doa pembukaan, begitu pula ditentukan para pembaca resume tiap session, semua peserta diserahi tugas. Saya sendiri diminta sebagai dirijen mengiringi lagu Indonesia Raya, ketika ditanya siapa yang mau jadi dirijen, semua peserta ga ada yang mau, ada rekan yang bilang saya saja jadi dirijen, yasudah ga masalah saya jadi dirijen, tetapi sampai acara prolead selesai tidak jadi ada menyanyikan lagu Indonesia Raya.&lt;br /&gt;&lt;br /&gt;Acara selesai pukul 17.30, saya pulang bareng mas Hanif, T. Sipil 96, dibayari naik taksi sampai BSD, rumahnya mas Hanif satu jurusan, ditengah perjalanan mas Hanif cerita ternyata temannya mas Torped T. Fisika 96 sama mas Jagir T. Mesin 96, sama mas Andri T. Informatika 97, SC Bakti Kampus saya dulu, mas Hanif dulu juga sama-sama jadi SC BK tapi di gugus yang berbeda.&lt;br /&gt;&lt;br /&gt;Hari kedua, saya datang lebih siang karena sudah tahu tempatnya, naik bus 117 saya berhenti tepat di depan hotel Park bukan di perempatan UKI, sama dengan hari pertama saya aktif mengacungkan tangan untuk bertanya kepada para pembicara di setiap session tapi hanya  beberapa kali diapprove oleh moderator karena teman-teman peserta yang lain juga melakukan hal yang serupa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1472514712190567100?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1472514712190567100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1472514712190567100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1472514712190567100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1472514712190567100'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2010/10/mengikuti-young-alumni-its-leadership.html' title='Mengikuti Young Alumni ITS Leadership  &amp; management Program 2010'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4131655444783938049</id><published>2010-01-12T18:35:00.000-08:00</published><updated>2010-01-12T18:47:19.974-08:00</updated><title type='text'>Regex</title><content type='html'>Regex kepanjangan dari Regular Expression, juga biasa disingkat RE, saya ingat mendapatkannya di Otomata atau Matematika Diskrit ketika kuliah. Pada dasarnya regex adalah suatu pola yang menggambarkan suatu text. Namanya muncul dari teori matematika. Kebanyakan dari post ini di copy dari &lt;a href="http://www.regular-expressions.info"&gt;http://www.regular-expressions.info&lt;/a&gt;, dan posting ini saya terjemahkan dari postingan saya sebelumnya &lt;a href="http://imam-baihaqi.blogspot.com/2008/10/regex.html"&gt;Regex dalam Bahasa Inggris&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Regex adalah alat yang ampuh ketika kita sudah mempelajarinya, di project saya yg terdahulu menggunakan regex sebagai validator dari pojo-pojo saya dan sebagai validator dari nama file yg diapload ke aplikasi. Fyi, di aplikasi itu terdapat bagian upload file, dan file itu difilter terlebih dahulu oleh aplikasi, karena merupakan aplikasi report bank bulanan, jadi butuh mengetahui bahwa file yang diupload itu di bulan apa, maksud saya file itu harus diberi nama dengan pola tahun dan bulan di belakangnya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;11 Karakter Khusus (metacharacters)&lt;/span&gt;&lt;br /&gt;- kurung kotak [&lt;br /&gt;- backslash \&lt;br /&gt;- the caret ^&lt;br /&gt;- dollar $&lt;br /&gt;- titik .&lt;br /&gt;- the vertical bar or pipe symbol |&lt;br /&gt;- tanda tanya ?&lt;br /&gt;- tanda bintang *&lt;br /&gt;- tambah +&lt;br /&gt;- kurung buka (&lt;br /&gt;- kurung tutup )&lt;br /&gt;Jika ingin menggunakan metacharachter itu perlu didahului backslash, atau dua backslash kalo di program java.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Karakter yang tidak bisa dicetak&lt;/span&gt;&lt;br /&gt;- \t untuk mencocoki karakter tab (ASCII 0x09)&lt;br /&gt;- \r untuk enter (0x0D)&lt;br /&gt;- \n untuk baris baru (0x0A)&lt;br /&gt;- lebih jauh ada \a (bell, 0x07), \e (escape, 0x1B), \f (form feed, 0x0C) dan \v (vertical tab, 0x0B).&lt;br /&gt;Dan sekali lagi kita butuh double backslash di java, satu backslash untuk regex biasa.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mesin Regex&lt;/span&gt;&lt;br /&gt;Merupakan software yang bisa memproses regex, mencoba untuk mencocokkan pola dari string yang diberikan.&lt;br /&gt;&lt;br /&gt;Terdapat dua macam mesin regex: mesin text-directed dan mesin regex-directed. &lt;a href="http://www.regular-expressions.info/hipowls.html"&gt;Jeffrey Friedl&lt;/a&gt; menyebutnya mesin DFA and NFA. &lt;a href="http://www.regular-expressions.info./"&gt;http://www.regular-expressions&lt;/a&gt;.info berdasarkan mesin regex-directed, dan situs itu berdasarkan bahasa pearl. Pertama, saya mengira java juga regex-directed, tapi ternyata tidak, saya membuat program mini seperti yang ditulis di situs untuk mengetahui apakah java itu text-directed atau regex-directed, dan ternyata text-directed. Regexnya berupa &lt;span style="font-weight:bold;"&gt;regex|regex not&lt;/span&gt; dan stringnya berupa &lt;span style="font-weight:bold;"&gt;regex not&lt;/span&gt;, jika hasil pencocokannya regex maka mesin regex-directed. Jika hasilnya berupa regex not maka tex-directed. Dibawah ini code program saya dan outputnya berupa "Found 'regex not' at position 0":&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;Pattern p = Pattern.compile ( "regex|regex not", Pattern.CASE_INSENSITIVE ) ;&lt;br /&gt;String text = "regex not";&lt;br /&gt;Matcher m = p.matcher ( text ) ;&lt;br /&gt;if ( m.matches() ) {&lt;br /&gt;System.out.println ( "Found '" + m.group ( 0 ) + "' at position " + m.start ( 0 ) ) ;&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;System.err.println("No found match");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Regex-directed selalu mengembalikan leftmost match, jika kita menerapkan regex &lt;span style="font-weight:bold;"&gt;cat &lt;/span&gt;ke string &lt;span style="font-weight:bold;"&gt;He captured a catfish for his cat&lt;/span&gt;, mesin akan mencoba mencocokkan token yang pertama di regex c ke karakter pertama di match H. Dan gagal. Tidak ada kemungkinan permutasi lain di regex ini, karena terdiri atas urutan karakter huruf. Sehingga mesin regex mencoba untuk mencocokkan c dengan e. Gagal juga, sampai mencocokkan dengan spasi. Sampai karakter keempat pencocokkan, c mencocoki c. Mesin akan mencoba mencocokkan token kedua a kekarakter kelima, a. Sukses juga. Namun kemudian t gagal mencocoki p. Di titik itu mesin mengetahui bahwa regex tidak bisa match dimulai dari karakter keempat. Maka berlanjut ke karakter kelima: a. Lagi c gagal cocok dan mesin berlanjut. Di posisi karakter ke15 dalam pencocokan, c bertemu c dan match. Mesin kemudian mencoba untuk match regex pada karakter 15 dan menemukan bahwa a match dengan a dan t match dengan t.&lt;br /&gt;&lt;br /&gt;Regex tadi bisa match diposisi karakter 15. Mesin melaporkan match. Kemudian akan melaporkan tiga karakter dari catfish sebagai match yang valid. Dari titik ini mesin tidak pernah lagi memproses untuk melihat apakah ada match yang lebih baik.&lt;br /&gt;&lt;br /&gt;Tapi di java yang termasuk text-directed, dia melaporkan tidak ada yg match, karena dia string yang dicocokkan ke regex, saya sudah mencoba regex &lt;span style="font-weight:bold;"&gt;cat&lt;/span&gt; dengan &lt;span style="font-weight:bold;"&gt;He captured a catfish for his cat&lt;/span&gt;, dan dia melaporkan bahwa tidak ada match, dia hanya menerima string cat.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Himpunan Karakter atau Kelas Karakter "[ ]"&lt;/span&gt;&lt;br /&gt;Dengan himpunan karakter kita bisa memberi tahu mesin regex untuk match hanya satu dari beberapa karakter. Hanya dengan cara menempatkan karakter yang ingin dicocokkan diantara kurung kotak. Kita bisa menggunakan tanda hubung didalam kelas karakter untuk menentukan range karakter. [0-9] mencocokkan satu digit antara 0 sampai 9.&lt;br /&gt;&lt;br /&gt;- \d untuk [0-9]&lt;br /&gt;- \w singkatan untuk "word character", biasanya [A-Za-z0-9_]. Termasuk didalamnya garis bawah dan angka.&lt;br /&gt;- \s untuk spasi&lt;br /&gt;- Negasi, \D sama dengan [^\d], \W is untuk [^\w] and \S untuk [^\s]&lt;br /&gt;&lt;br /&gt;Hati-hati ketika menggunakan negasi didalam kurung kotak. [\D\S] tidak sama dengan [^\d\s]. Yang terakhir akan match semua karakter yang bukan angka atau spasi. Sehingga akan match x, tapi tidak 8. Yang sebelumnya akan match semua karakter yang bukan angka, atau bukan spasi. Karena angka bukan spasi dan spasi bukan angka, [\D\S] akan match dengan semua karakter, angka, spasi atau lainnya.&lt;br /&gt;&lt;br /&gt;Jika kita mengulangi satu kelas karakter dengan menggunakan operator ?, * atau +, kita akan mengulangi seluruh kelas karakter, dan bukan hanya karakter yang match. Regex [0-9]+ bisa match 837 juga 222. Tapi jika kita ingin mengulangi karakter, bukannya class, maka dibutuhkan backreference. ([0-9])\1+ akan match 222 dan bukan 837.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Negasi Kelas Karakter&lt;/span&gt;&lt;br /&gt;Menulis ^ setelah kurung kotak akan menegasi kelas karakter. Hasilnya kelas karakter akan match dengan karakter apapun yang tidak ada di kelas karakter. Penting untuk diingat bahwa negasi kelas karakter masih harus matsh satu karakter. q[^u] tidak berarti: "sebuah q tidak diikuti sebuah u". Tapi artinya "Sebuah q diikuti oleh satu karakter yang bukan u". Ini akan tidak match q di Iraq. Akan match dengan q dan sapsi setelah q di Iraq is a country. Begitu pula spasi akan menjadi bagian dari match keseluruhan, karena merupakan "karakter yang bukan u" yang match dengan negasi kelas karakter regex diatas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Metakarakter didalam Kelas Karakter&lt;/span&gt;&lt;br /&gt;Bahwa karakter khusus atau metakarakter didalam kelas karakter adalah tutup kurung kotak (]), backslash (\), karet (^), dan tanda hubung (-). Metakarakter reguler adalah karakter normal didalam kelas karakter, dan tidak butuh didahului dengan backslash. Untuk mencari bintang atau plus, gunakan [+*]. Regex kamu akan berfungsi baik jika diberi backslash metakarakter didalam kelas karakter, tapi melakukannya akan membuat susah untuk dibaca.&lt;br /&gt;&lt;br /&gt;Untuk memasukkan backslash sebagai karakter tanpa maksud khusus didalam kelas karakter, perlu diberi backslash lagi. [\\X] match sebuah backslash atau sebuah x. Tutup kurung kotak (]), karet (^) dan tanda hubung (-) bisa dimasukkan dengan ditambah backslash, atau dengan menempatkannya dalam posisi dimana mereka tidak butuh arti khusus. Direkomendasikan metode terakhir karena lebih mudah untuk membacanya. Untuk memasukkan karet, tempatkan dimanapun selain setelah kurung buka. [x^] match x atau karet. Kamu bisa meletakkan kurung tutup setelah kurung buka atau karet negasi. []x][^]x] match semua karakter yang bukan kurung tutup atau x.Tanda hubung bisa diletakkan setelah kurung buka, sebelum kurung tutup, atau setelah karet negasi. Dua duanya [-x] dan [x-] match x atau tanda hubung.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Dot Match (Hampir) Semua Karakter&lt;/span&gt;&lt;br /&gt;Dot match satu karakter, tanpa memperhatikan karakter apa itu. Hanya ada satu pengecualian yaitu karakter baris baru. Sehingga dot kependekan dari [^\n].&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Anchor&lt;/span&gt;&lt;br /&gt;Anchor tidak match karakter apapun, dia match satu posisi sebelum, setelah, atau diantara karakter. Dan mereka match yang Zero-Length.&lt;br /&gt;• karet match posisi sebelum karakter pertama dari string&lt;br /&gt;• $ match setelah karakter terakhir dari string&lt;br /&gt;• \b match di posisi yang disebut "word boundary"&lt;br /&gt;&lt;br /&gt;Menerapkan ^a dengan abc match a. ^b tidak match dengan abc karena b tidak bisa dimatch setelah awal dari string, yang dimatch oleh ^. Sedangkan c$ match c di abc, sedangkan a$ tidak match.&lt;br /&gt;&lt;br /&gt;Ada empat posisi berbeda yang memenuhi kualifikasi sebagai word boundary:&lt;br /&gt;• sebelum karakter pertama dari string, jika karakter pertama adalah \w&lt;br /&gt;• setelah karakter terakhir dari string, jika karakter terakhir adalah \w&lt;br /&gt;• Diantara sebuah \w dan sebuah karakter non-word mengikuti setelah \w&lt;br /&gt;• Diantara sebuah \W dan sebuah \w mengikuti setelah \W&lt;br /&gt;&lt;br /&gt;Di mesin regex, \bis\b akan match This island is beautiful. Spasi adalah karakter non-word, dan yang lainnya karakter word. Mesin dengan sukses match kata is dalam string. Jika ktia menggunakan regex is, ini akan match dengan is di This.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Alternatif "|"&lt;/span&gt;&lt;br /&gt;operator alternatif memiliki presedence terbawah dari semua operator regex. Yang mana memberi tahu regex mesin untuk match apakah semua di sebelah kiri vertical bar, atau semua sebelah kanan vertical bar. Jika kita ingin membatasi jangkauan alternasi, maka butuh kurung untuk grouping.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Opsional "?" &lt;/span&gt;&lt;br /&gt;Bersifat greedy. Tanda tanya memberi mesin regex dua pilihan: coba match bagian dari tanda tanya, atau tidak mencoba match. Mesin akan selalu mencoba match bagian itu. Hanya jika hal ini menyebabkan keseluruhan regex untuk gagal, maka akan terus mengabaikan bagian dari tanda tanya itu.&lt;br /&gt;&lt;br /&gt;Akibatnya adalah jika menerapkan regex Feb 23(rd)? ke string Feb 23rd, match akan selalu Feb 23rd dan bukan Feb 23. Kamu bisa membuat tanda tanya lazy (mematikan greediness) dengan meletakkan tanda tanya kedua setelah yang pertama.&lt;br /&gt;&lt;br /&gt;"?,*, +,{}"&lt;br /&gt;- ? opsional, 1 or 0&lt;br /&gt;- * 0 atau lebih repetisi&lt;br /&gt;- + 1 atau lebih repetisi&lt;br /&gt;- {} membatasi repetisi, sintaksnya {min,max}, jika kita ingin membatasi n repetisi maka sintaksnya adalah {n}&lt;br /&gt;&lt;br /&gt;Mereka greedy, misalnya kita inginmenerima tag html dengan regex: &lt;.+&gt;. Ketika kita coba test dengan satu string seperti This is a first test. Kita mungkin mengharapkan regex untuk match dan ketika melanjutkan setelah match itu. Namun tidak. Regex akan match dulu. Yang jelas bukan yang kita inginkan. Alasannya adalah bahwa plus bersifat greedy. Yang mana plus menyebabkan mesin regex untuk mengulang token sebelumnya sesering mungkin. Kecuali jika regex gagal, maka mesin regex akan backtrack. Yang mana, hal ini kembali ke plus, membuatnya memberi iterasi yang terakhir, dan memprosesnya dengan sisa regex.&lt;br /&gt;&lt;br /&gt;Untuk memperbaikinya:&lt;br /&gt;• laziness, dengan menambahkan "?", maka regex akan menjadi &lt;.+?&gt;&lt;br /&gt;• solusi yang lebih baik tanpa backtracking: Menggunakan greedy plus dan &lt;a href="http://www.regular-expressions.info/charclass.html"&gt;negasi kelas karakter&lt;/a&gt; &lt;[^&gt;]+&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Grouping dan Backreference "()"&lt;/span&gt;&lt;br /&gt;Selain mengelompokkan regex, tanda kurung juga membuat backreference. Backreference menyimpan bagian dari string yang match dengan bagian dari regex didalam tanda kurung.&lt;br /&gt;&lt;br /&gt;([a-c])x\1x\1 match axaxa, bxbxb and cxcxc. \1 disebut backreference ([a-c]). dan di java butuh dua backslash. Contoh yang lainnya adalah &lt;([A-Z][A-Z0-9]*)\b[^&gt;]*&gt;.*? yang match sepasang buka dan tutup tag HTML, dan text diantaranya, seperti text bold atau italic.&lt;br /&gt;&lt;br /&gt;Java juga mendukung forward reference, yaitu: Kita bisa menggunakan backreference untuk satu grup yang muncul setelah regex. Biasanya hanya berguna jika mereka didalam group yang berulang. Misalnya (\2two|(one))+ akan match oneonetwo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4131655444783938049?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4131655444783938049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4131655444783938049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4131655444783938049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4131655444783938049'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2010/01/regex.html' title='Regex'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4519926352157965402</id><published>2009-12-25T23:59:00.000-08:00</published><updated>2009-12-26T00:53:24.967-08:00</updated><title type='text'>Mengikuti Rapat Kerja Nasional IKA ITS Th 2009</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WcYcnu7jwBA/SzXITblqPXI/AAAAAAAAAEs/UGFVAXB5Wq4/s1600-h/kartuPeserta.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 330px; height: 360px;" src="http://3.bp.blogspot.com/_WcYcnu7jwBA/SzXITblqPXI/AAAAAAAAAEs/UGFVAXB5Wq4/s400/kartuPeserta.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5419457962759044466" /&gt;&lt;/a&gt;&lt;br /&gt;Jumat tanggal 18 kemarin saya diajak cak Danang ikut Raker atas nama lembaga Yayasan Tunas Unggul Bangsa-IKA ITS Jakarta Raya (YTUB). Saya senang sekali, meski bukan jadi siapa2 saya bilang ke dia kl bisa ikut, tapi Jumat doang, hari pertama, soalnya sabtunya lembur masuk kantor.&lt;br /&gt;&lt;br /&gt;Berikut ini link berita acara yang saya jadikan artikel di situs YTUB. Saya jadi admin di situs itu, meski &lt;a href="http://donatur.yayasan-tunas-bangsa.com/"&gt;situs daftar donatur&lt;/a&gt; tidak kepake, hanya dijadiin link kecil dalam situs resminya, gpp, saya besarkan hati saja, saya bulatkan niat untuk ikut terus ikutan saja, saya niatkan beramal saleh, cari kegiatan diluar rutinitas kantor.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tunasunggulbangsa.or.id/artikel/7/rapat-kerja-nasional-ika-its-th-2009.html"&gt;http://www.tunasunggulbangsa.or.id/artikel/7/rapat-kerja-nasional-ika-its-th-2009.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4519926352157965402?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4519926352157965402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4519926352157965402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4519926352157965402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4519926352157965402'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/12/mengikuti-rapat-kerja-nasional-ika-its.html' title='Mengikuti Rapat Kerja Nasional IKA ITS Th 2009'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WcYcnu7jwBA/SzXITblqPXI/AAAAAAAAAEs/UGFVAXB5Wq4/s72-c/kartuPeserta.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-519281876321799437</id><published>2009-11-08T18:30:00.000-08:00</published><updated>2009-11-08T18:33:43.988-08:00</updated><title type='text'>Indonesia Bersatu di Bundaran HI</title><content type='html'>Minggu pagi 8 November 2009, aku sampai di stasiun Rawa Buntu jam 7 lebih, sebetulnya janjian sama Yanu teman sekantorku jam setengah tujuh di stasiun Serpong, tapi aku bangun kesiangan, hari-hari terakhir ini aku susah tidur, bisa tidurnya pas larut malam, solat subuh juga siangan, aku bilang ke Yanu aku ke stasiun Rawa Buntu saja karena lebih dekat, ngejar kereta ayam yang jam 7 pagi, nanti naik gerbong yang paling belakang ketemu disana. Rute rel kereta melintas dari stasiun Serpong ke Jakarta melewati stasiun rawa Buntu, kecuali kereta ekspres pasti berhenti dulu di stasiun Rawa Buntu, dari rumah ke stasiun Serpong kurang lebih 6 km, sedangkan ke stasiun Serpong 2 km, oleh karena itu aku parkir motorku di stasiun yg terdekat.&lt;br /&gt;&lt;br /&gt;Ternyata sampai di stasiun sudah terlambat, Yanu sms aku kalo keretanya sudah berangkat, dia duduk di gerbong terakhir, lantas aku balas smsnya bilang maaf karena terlambat, dan beli tiket kereta selanjutnya jam setengah delapan kata penjual tiketnya. Aku beli tiket kereta Ciujung, ber-AC, Jakarta - Tanah Abang, 4500, kalo kereta ayam pemberhentian terakhir di Pasar Senen, 1500an, aku pernah naik kereta ayam waktu ke user karena ngejar jam pagi, turun di stasiun kemayoran. Aku dikasih tahu Yanu kalo nanti turun di stasiun Palmerah, sebelum stasiun Tanah Abang setelah stasiun Kebayoran, kalo naik kereta Ciujung lebih nyaman karena tidak perlu desak2an dan setiap keretanya berhenti aku selalu tahu nama stasiunnya, kalo naik kereta ayam selain was was karena takut dirampok, juga kesulitan sedang berhenti distasiun apa, karena desak2an dan tidak bisa melihat jelas papan nama stasiunnya.&lt;br /&gt;&lt;br /&gt;Belum setengah delapan, keretaku sudah datang, aku naik di gerbong tengah pas ketika kereta berhenti di tempat aku menunggu, aku berhenti di stasiun Palmerah, ketemu Yanu, sepertinya dia kira aku naik di gerbong belakang soalnya dia datang menunggu dari arah gerbong yang belakang, kami lantas naik bus kota, jurusan Semanggi, aku lupa nama busnya, tapi kami jalan dulu agak jauh, tidak keluar di pintu stasiun tapi jalan menyusuri rel terlebih dulu, sampai di jalan raya pun masih lewat tangga setapak ke jalan raya yang diatas, Yanu hafal jalan-jalan itu soalnya dia di user di daerah Karet sekitar Semanggi. Di perjalanan bilang kalau angkatan 99 banyak aktivisnya, dia juga angaktan 99 ambil poltek kapal terus ke Elektro, abis itu ke Poltek Elka. Waktu kuliah dulu dia satu kos sama Budi Nugroho, sama Arie Shiddiq, aku bilang ke dia dulu Budi jadi Senator, sekarang dosen di UPN sudah punya anak satu, sedangkan Arie jadi dosen di TC, selain itu dulu anak TC yg mungkin Yanu kenal ada Arief Kemalsyah yang jadi kahima dua kali sama Rahmat Hidayat.&lt;br /&gt;&lt;br /&gt;Kami naik bus kota turun di Semanggi, habis itu naik busway turun di bundaran HI, awalnya info yang aku dapat dari milis jurusan acaranya di Monas, aku dikasih tahu adik kelasku kalo ada acara demo Minggu pagi jam 8 di Monas, temannya dia ikut dan bilang ke dia untuk mengajak massa sebanyak banyaknya, tapi pas aku ketemu Yanu Sabtu kemarin dia bilang acaranya di HI, mungkin juga ada di Monas, soalnya  bakal ada long march, awalnya dia bilang jam tujuh, dan rencananya berangkat naik kereta jam setengah enam, tapi aku bilang terlalu pagi, naik kereta yang jam tujuh saja, sampai disana jam delapanan, dan ternyata diamini sama Yanu soalnya dia lihat berita di Metro TV acaranya jam delapan tapi di HI bukan di Monas. Aku benar-benar ketinggalan berita, kerjaanku saat ini gila2an, selalu pulang larut berangkat pagi, yang lebih bikin capek tempatnya jauh di Kemayoran, dua jam perjalanan kalo pagi hari, sampai rumah aku biasanya sudah kecapekan langsung istirahat, aku ga begitu ngerti masalah persoalan KPK ini, hanya saja aku tertarik banget untuk ikut demo ini soalnya walau mengikuti sedikit beritanya aku merasa prihatin untuk pihak Bibit-Candra.&lt;br /&gt;&lt;br /&gt;Waktu di busway, aku lihat sudah mulai banyak orang-orang berkumpul di sekitar air mancur bundaran HI, sebagian pake slayer "Tuntaskan Korupsi" atau kalimat sejenis, kain berukuran kira2 50cm*7cm yang dipotong2 pake gunting, ada yang berwarna putih, hijau tua, atau hitam, ada yang diikatkan di kepala ada juga yang diikatkan di lengan, disitu juga aku lihat ada panggung seperti konser musik kecil2an. Busway berhenti di halte bundaran HI, halte itu berada agak jauh letaknya setelah bundaran HI, waktu jalan kaki ke bundaran HI kami melewati Wisma Nusantara gedungnya TVOne, di depan ada juga panggung sepertinya sedang ada acara musik untuk tv, waktu itu sedang menyanyi group musik yang aku ga tahu namanya tapi lagunya sering dengar di radio "Aku tertipu, Aku terjebak, Aku terperangkap, Dalam gairahmu...". Aku sering dengar lagu itu soalnya tiap hari aku mendengarkan radio waktu dalam perjalanan ke user di Kemayoran. &lt;br /&gt;&lt;br /&gt;Waktu aku sampai bundaran HI, sudah ada ada Adi Massardi yang tengah membacakan puisinya "Negeri Para Bedebah", aku tahu puisi itu dari milis, sepertinya acaranya sudah mulai dari tadi tapi orang2 masih tidak begitu banyak yang datang, aku sama Yanu bisa menerobos massa di depan dan dapat tempat yang cukup jelas kurang lebih sepuluh meteran dari panggung. Setelah membacakan puisinya gantian MC yang mengambil acara, MC-nya ada dua, Indra Bekti sama Sandrina Malakiano, dua-duanya pake kacamata hitam, Sandrina memakai baju hitam berjilbab, Indra pake topi yang khas dia pakai. Habis itu mereka panggil group band dari Yogyakarta, "Kill The DJ", samar aku pernah dengar nama band itu, mc-nya bilang kalo di internet pasti banyak denger lagu mereka, lagunya rap, syair awalnya "Ono cicak nguntal boyo, seragam cokelat gowo godo", dst... setelah menyanyi vokalisnya diminta menerjemahkan artinya, dia bilang artinya "Ada cicak melahap buaya hidup2 ada polisi bawa pentungan".&lt;br /&gt;&lt;br /&gt;Setelah itu mereka panggil tiga orang untuk berpidato, ada Effendi Ghozali, bapak yang aku lupa namanya, sama Eeep Saefullah suami Sandrina, Pak Effendi Ghozali baca puisi awalnya berima i-i-i-i, aku lupa  puisinya seperti apa, tapi ada kata2 Republik Mimpi, acara tv yang dia bawakan, sama "hihihi" bait terakhir yang dia bawakan seingatku seperti itu, selanjutnya Bapak yang kedua berorasi, aku lupa detilnya tapi mungkin dia bilang kalo jangan benci institusinya, tapi benci korupsinya, jangan benci kepolisian, DPR, apalagi KPK, tapi orang2 korup didalamnya, sedangkan bapak Eep Saefullah kasih yel yel baru, jika dia teriak "Cicak" kami jawab "Hidup", dia teriak "Koruptor" kami jawab "Mati", dan jika dia teriak "Presiden", kami jawab "Bangun", yel yel sebelumnya jika MC Indra/Sandrina tanya "Siapa Cicak", maka kami jawab "Saya", habis itu serentak kita bilang "Cinta Indonesia Anti Korupsi" aku lupa persisnya tapi kira2 seperti itu.&lt;br /&gt;&lt;br /&gt;Setelah itu berurut-urut ada group musik KCP, atau KJP ya, awalnya aku kira para pemain film KCB, ternyata grup band dari gang pegangsaan sama ustadz siapa gitu dari gang pegangsaan yang juga menyanyi, terus ada group band "Efek Rumah Kaca". Mereka nyanyi lagu "Mosi Tidak Percaya" "Semua Bisa Jadi Presiden", atau apa gt aku lupa judul tapi lagunya enak2. Setelah itu ada Oppie yang menyanyikan lagu "Peter Pan", sama "Andai Aku Jadi Orang Kaya", Oppie ganti liriknya yg aslinya "Andai Aku jadi Orang kaya, Ga usah pake kerja" diganti dengan "Andai kita jadi orang kaya, Ga usah pake korupsi", habis itu ada Happy Salma yang membacakan puisi kemudian diiringi dengan Kill The DJ, Happy memakai baju hitam barangkali karena siang yang panas. Terakhir sepertinya penampilan Slank, sama Once juga datang tapi sepertinya ga nyanyi, aku ga tahu soalnya jam waktu itu 11an, perutku sakit,  ternyata udah selesai, aku sama Yanu cari toilet, kami ke mall Grand Indonesia untuk buang air, fisikku benar2 lemah, kepalaku pusing selain emang benar2 panas, pasti ini gara2 kerja yang pulang larut terus.&lt;br /&gt;&lt;br /&gt;Di tengah-tengah acara, Indra dan Sandrina juga mengundang Erry Eriansyah mantan ketua KPK kalo ga salah, yang meminta kepolisian untuk menahan dia jika menahan Bibit-Candra, Bpk Usman siapa gitu creator dukungan satu juta facebookers untuk Bibit-Chandra, sama ketua komnas HAM pengganti Munir untuk berorasi, ditengah-tengah pidato salah satu mereka ada yang membawakan foto besar Anggodo memakai seragam polisi, ada juga yang membawa boneka buaya berwarna biru.&lt;br /&gt;&lt;br /&gt;Selain itu Indra dan Sandrina juga mengundang penonton keatas panggung, mereka panggil lima orang anak muda untuk teriak "Cicak", ada juga minta dua orang untuk berorasi, ada Charles dari Priuk, ada juga ibu rumah tangga, waktu ibu itu berorasi keliru apa gitu pokoknya menghujat KPK, sama Sandrina dikasih tahu kalo semua orang yang ada disitu mendukung pemberantasan korupsi dan mendukung sepenuhnya KPK, keseumua penonton itu dihadiahi kaos atas partisipasinya. Indra dan Sandrina juga mengundang dua orang mahasiswa yang melakukan aksi mogok makan, satu cowok, satu cewek, yang cewek mengunci mulutnya sama plester, yang cowok menaruh plesternya di kaosnya, ketika ditanyai sudah berapa lama melakukan aksi itu, dia bilang dua hari mereka mogok amkan, kemudian dia berteriak "Hapus Bersih Korupsi di Indonesia".&lt;br /&gt;&lt;br /&gt;Aksi itu berakhir sebelum jam sebelas, memang cuacanya panas banget, kalaupun sampai sore aku sama yanu bakal pulang duluan ga ikut sampai akhir, kami pun pulang naik buswa turun Ratu Plaza kemudian menunggu transBsd yang datang jam 12an, sebelum ke halte busway kami beli es cendol dipinggir jalan, sambil melihat ada pembakaran boneka buaya di sebelah bundaran HI berseberangan dengan panggung.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-519281876321799437?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/519281876321799437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=519281876321799437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/519281876321799437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/519281876321799437'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/11/indonesia-bersatu-di-bundaran-hi.html' title='Indonesia Bersatu di Bundaran HI'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-265512127416033188</id><published>2009-10-26T17:51:00.000-07:00</published><updated>2009-10-26T18:07:43.853-07:00</updated><title type='text'>Searching Menggunakan Limit Dengan Hibernate</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WcYcnu7jwBA/SuZGFUvXioI/AAAAAAAAAEg/3z67bUx_FIE/s1600-h/04searching.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://1.bp.blogspot.com/_WcYcnu7jwBA/SuZGFUvXioI/AAAAAAAAAEg/3z67bUx_FIE/s400/04searching.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5397078260730792578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Post ini melanjutkan catatan sebelumnya tentang &lt;a href="http://imam-baihaqi.blogspot.com/2009/09/membuat-google-wannabe-paging.html"&gt;membuat google wannabe paging&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Terdapat banyak cara untuk mendapatkan qury limit di hibernate, terdapat HQL (Hibernate Query Language), Criterion, atau native sql. Saya akan memberi tahu bagaimana caranya dengan menggunakan HQL. Bagi saya HQL itu sederhananya SQL menggunakan POJO (Plain Old Java Objetct) hibernate, Object yang merepresentaiskan tabel2. Misalnya jika tabel dengan nama LOG_ACIVITY maka POJO bisa berupa class dengan nama LogActivity. Jika SQL seperti : "SELECT * FROM LOG_ACTIVITY", maka HQL-nya cukup berupa: "FROM LogActivity", dan HQL memiliki banyak fungsi.&lt;br /&gt;&lt;br /&gt;Dalam catatan ini saya tidak hanya memberitahu bagaimana mendapatkan record2 mulai 1 sampai 100, tapi juga pencarian yang menggunakan parameter, seperti mendapatkan record mulai kemarin sampai sekarang untuk seratus record yang pertama.&lt;br /&gt;1. Dapatkan kriteria pencarian. Nilai defaultnya '*'. Misalnya field username, jika ada nilai dari input seperti "imam" maka username = "imam", selain itu username="*"&lt;br /&gt;2. Hitung total record berdasarkan kriteria tadi&lt;br /&gt;3. Miliki konstanta berapa record yang ditampilkan di tiap halaman, misalnya 10, dan jumlah record itu juga bisa disimpan dalam parameter.&lt;br /&gt;4. Saya bagi total record dengan konstanta tadi sehingga saya dapatkan total halaman buat paging.&lt;br /&gt;Saya lakukan query dengan sintaks yang samaketika saya mencari jumlah total record (sintaks itu saya jadikan menjadi method tersendiri), namun kali ini untuk mendapatkan record bukan jumlah record.&lt;br /&gt;6. Saya lempar seluruh variable (page, totalPages, listPages, perPage, totRecord, recordList, qName, qDate, etc etc), dimana&lt;br /&gt;- page  = page yang diminta, misalnya page 13&lt;br /&gt;- totalPage misalnya 5&lt;br /&gt;- listPage misalnya 5&lt;br /&gt;- perPage, berapa record yang ditampilkan di tiap page&lt;br /&gt;- totRecord, karena akan dimunculkan di aplikasi&lt;br /&gt;- recordList&lt;br /&gt;- qName, qDate, dan variable lain sebagai parameter pencarian yang disimpan dalam session.&lt;br /&gt;&lt;br /&gt;Berikut code snippednya, yang pertama metgod untuk mendapatkan jumlah record, yang kedua untuk mendapatkan record yang sebenarnya, sedangkan buildQueryString adalah methodd yang menghasilkan sintaks Hql dengan parameter criteria=nam dari field2 pencarian seperti username, dateFrom, dateTo, dan parameter kedua adalah nilai question dari field2 pencarian, saya set "*" jika null atau empty.&lt;br /&gt;&lt;br /&gt;public Long getLogActivitiesSearchingPagingCount(String criteria, String&lt;br /&gt;question) {&lt;br /&gt;String queryString = "select count(*) " + buildQueryString(criteria, question);&lt;br /&gt;Long total = (Long) getSession().createQuery(queryString).uniqueResult();&lt;br /&gt;&lt;br /&gt;return total;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List getLogActivitiesSearchingPaging(int start, int length, String&lt;br /&gt;criteria, String question) {&lt;br /&gt;List logActivities = getSession().createQuery(buildQueryString(criteria, question))&lt;br /&gt;.setFirstResult(start)&lt;br /&gt;.setMaxResults(length).list();&lt;br /&gt;return logActivities;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-265512127416033188?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/265512127416033188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=265512127416033188' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/265512127416033188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/265512127416033188'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/10/searching-menggunakan-limit-dengan.html' title='Searching Menggunakan Limit Dengan Hibernate'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WcYcnu7jwBA/SuZGFUvXioI/AAAAAAAAAEg/3z67bUx_FIE/s72-c/04searching.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-6223403987790300142</id><published>2009-10-25T17:45:00.000-07:00</published><updated>2010-07-26T18:58:14.520-07:00</updated><title type='text'>Cerita SE 2006</title><content type='html'>Teman2 ini ceritaku pas SE 2006 di Graha Wisata Kuningan.&lt;br /&gt;&lt;br /&gt;Selasa, tgl 20 Oktober kemarin aku masih di user, Wom Finance, di MGK (Mega Glodok Kemayoran), disana lagi UAT, aku ijin pulang sore, biasanya pulang malem, tapi pas UAT gini ga terlalu malem paling jam 9 sudah pulang, tapi sampe BSD bisa jam 10 atau jam 11an. Kl pulang biasanya barengan sama rekan2 kantor, kadang2 travel kantor, taxi, atau ada rekan yg bawa mobil bareng dia terus di reimburse.&lt;br /&gt;&lt;br /&gt;Aku pulang jam setengah 6an, sebetulnya ijin jam 5an tp ternyata tiba2 ada kerjaan jadi pulang jam segitu, aku naik bajaj, soalnya ga tau kalo ke halte busway naik angkot apa, kl naik ojek kebetulan gada, abis itu aku turun di halte busway pasar baru. Disana aku tanya2 kl mau ke kuningan lewat mana, petugasnya bilang turun halte Matraman, abis itu ke Dukuh Atas. Ketika menuju ke Matraman aku bawannnya was-was aja takut2 kl nyasar, soalnya lewat Salemba UI, dsb, yg aku lihat Salemba itu di Jakarta Pusat, padahal Kuningan di Selatan. Tapi aku bawa santai aja kalopun kesasar ya tinggal pulang. Tapi akhirnya sampe juga di Dukuh Atas.&lt;br /&gt;&lt;br /&gt;Sampe dukuh atas aku inget soalnya dulu juga lewat rute yang sama, tapi sekarang sudah beda, seingatku dulu kl udah sampe dukuh atas aku jalan panjang dan antri panjang di jalan koridor gt, sekarang ga lagi aku ga perlu naik tangga terus antri gt soalnya pintu buswaynya sekarang ada di bawah, bus yang ke Ragunan ada di pintu paling pojok belakang. Sampe di bus aku masih keliru tak kirain ada halte Pasar Festival deket halte GOR Soemantri, ternyata ga ada jadinya kelewatan, aku turun di Mampang terus naik balik busway turun GOR Soemantri, aku sampe tempat kira2 setengah delapanan, aku ga solat Maghrib.&lt;br /&gt;&lt;br /&gt;Di pintu masuk aku ketemu sama Wahib, mas Wongky, Bawenang, Galih01, sama yg lain, aku ngobrol sama Bawenang, dia bilang ntar pulangnya bareng aja, soalnya kaya tahun kemarin aku pulangnya bareng Bawenang, aku bilang oke tapi nanti kl eli dateng ntar pulangnya bertigaan. Habis itu aku masuk ruangan, didalam semua pada pake batik, terus aku duduk deket sama dua anak 2006, ngobrol2, mereka tanya angaktan berapa kerja dimana, aku terus bilang ke mereka kl temen angkatanku yg jadi dosen tuh ada Anny, Siddiq, sama dulu Medi, trus temen yg jadi dosen SI ada Rully. Mereka bilang kl adiknya Anny itu angkatan 2006 juga, ikut SE juga, abis itu kl Siddiq sekarang sudah pulang ga di Australia lagi, abis itu dulu sempat diajar grafika sama Medi. Mereka bilang kl Medi ikut suaminya di Jakarta ga ngajar lagi, aku bilang ke mereka kl sekarang Medi masih ngajar tapi di Binus.&lt;br /&gt;&lt;br /&gt;Habis itu semua dipersilahkan duduk di depan, aku cari ruang yang kosong, duduk di deret ketiga di belakangnya wahib, Wahib duduk dekat mas Lucky Esa, deret ketiga masih kosong, sedangkan sebelah kiriku banyak anak2 2002 dsb, aku ga gt apal. Kursi2 di susun mirip ruang kuliah, ada 4 kolom masing2 kolom ada 6-7 barisan, berbentuk U ditengah depannya ada meja panjang buat nara sumber. Aku duduk di kolom sebelah kanan yg menghadap meja panjang tadi. Habis itu ada mas Wongky, mas Deku, sama mas Abi duduk di belakangku, aku salaman, bilang minta maaf sekalian lebaran, habis itu eli datang duduk sebelah mas Aby.&lt;br /&gt;&lt;br /&gt;Habis itu panitia mempersilahkan beberapa orang untuk menjadi nara sumber, ada mas Lucky Esa 85, Aris Kumara 2002, mas Wongky 98 sama dosen cewe angkatan 2004. Habis itu ada 2 anak 2006 yang bertanya, salah satunya dia tanya tentang pentingnya ilmu berkomunikasi di dunia kerja. &lt;br /&gt;&lt;br /&gt;Mas Lucky cerita kalo dia angkatan pertama, kuliah 8 tahun, habis lulus sempat jobless lama di surabaya, abis itu ditawari sama orang BP untuk bekerja di BP tapi di pedalaman kalimantan, dia di BP selama 8 tahun habis itu ketrima di Microsoft dan bekerja di sana selama 8 tahun, dia putuskan untuk keluar, ambil S2 dan jadi pembicara di banyak tempat, dia cerita Microsoft sendiri minta dia balik tapi dia tidak mau, waktu mau pulang dia juga cerita kalo ada orang google dari Amerika datang ke dia buat konsultasi, dia juga pernah diajak ke kantornya google di luar negeri, dia juga berencana mau ambil S3.&lt;br /&gt;&lt;br /&gt;Aris bercerita kalo dia tidak sempat bertemu sama angkatan 2006 karena sudah lulus, dia juga bercerita enaknya kalo kerja di IBM, kerjaan bisa dikerjakan di rumah asal tanggung jawab, jam kerja juga fleksibel, dia cerita kalo anak TC yg di IBM ada Amiril Muknimin2002, Roy2002, Eddie Tjandra, mbak Dewi, sama Januar00. Dia cerita kerjaan dia banyak presentasi, dia juga cerita kalo harus percaya diri, dia bilang waktu di training di Hong Kong, bertemu sama anak2 IBM dari negara lain, dia bilang yg dari India yang pinter2 malah tidak lulus trainingnya. Dia bilang IBM mau ada rekruitmen buat karyawan kaya dia dia minta anak2 2006 mendaftar karena IBM punya list universitas2 yg sudah diakui dan ITS ada didalamnya.&lt;br /&gt;&lt;br /&gt;Habis itu ada mas Jayus atau siapa lupa ku namanya yg duduk di belakang yg pernah kerja di IBM selama 7 tahun, dia angkatan 85 temennya mas Lucky, dia dateng sama istrinya mbak Sri yg 5 tahun dibawahnya berarti angkatan 90 sama anak putrinya, dia dipersilahkan bicara sama mas Lucky, dia cerita kl IBM tuh perusahaan gila karena mau terima karyawan kaya dia, dia juga kuliah 8 tahun, waktu interview dia ditanyain sama bosnya mau ngga dateng tanggal sekian buat tes atau apa gt, dia bilang ga mau, terus ditanyain lagi kenapa, dia bilang soalnya mau naik gunung, habis itu dia langsun diterima. Sedangkan mbak Sri cerita kalo dia itu dalam angkatan yang beruntung karena waktu itu masih sedikit anak Informatika, tidak seperti sekarang yang banyak sarjana informatika, dia juga bilang kalo kelebihannya ITs tuh tidak ada ITS connection, kl ITB UI khan ada, kl di ITS ga ada, dia bliang dia terapkan sama dia sendiri, dia bilang waktu ngetes karyawan masuk dia tidak peduli apa anak ITS apa bukan, kalo bagus ya diterima. Dia juga cerita bagi yang pengen kerja di Singapura ada Singapore Connection, kaena Singapura tuh cari karyawan2 yang berpengalaman, Singapore Connection tuh memfasilitasi tempat selama 6 bulan untuk cari kerja di Singapura.&lt;br /&gt;&lt;br /&gt;Mas Wongky cerita kalo dia waktu lulus juga daftar di IBM, tapi dia telat buka email yang ternyata dia dapat email ketrima di IBM, sebelumnya anak2 2006 kunjungan ke Mandiri dan memperkanalkan ulang posisinya di Mandiri, dia cerita di Mandiri tahun 2005, dia bilang awal dia masuk masih sedikit anak ITS, sekarang sudah banyak, dia bilang kalo sejak ada pejabat Mandiri yg dari ITS, aku lupa namanya sekarang Mandiri punya kepercayaan lah sama ITS. Dia juga bilang tentang pentingnya networking, dia bilang bahwa di Mandii, pas dia ketemu sama permasalahan banking dia tanya2 sama temen2nya yang kerja di banking untuk pecahin masalah itu, jadinya dia bisa menyelesaikan masalah itu. Waktu makan bersama juga mas Wongky cerita kalo anak 99 yg di Mandiri itu ada Liga sama Firstiar, Roy di Singapura, Maman mau ke Kalimantan.&lt;br /&gt;&lt;br /&gt;Habis itu mas Aby unjuk jari, dia malah ngobrol yg paling panjang, suasana malah jadi kaya Format, dia bilang abis ini mau pulang, ga ikut makan malam, dia bilang banyak hal, dia bilang di dunia kerja harus PD, belajar menghadapi orang, dia bilang dulu mana berani pidato seperti itu, dia juga bilang jangan terlalu idealis, di kantornya saja dia bilang pekerjaannya bukan sebagai software engineer tapi excel engineer, habis itu dia bilang kalo yg didepan itu khan success story semua, barangkali perlu juga fail story, dia juga bilang kalo di bidang dia yaitu mining khan top2nya kalo diterima di Halliburton atau Schlumberger, padahal khan belum tentu ketrima disana.&lt;br /&gt;&lt;br /&gt;Habis itu aku beranikan diri juga untuk bicara, aku bilang ke mereka kalo karirku tuh jelek, aku kerja di vendor lokal, itu pun sebagai programmer, sebelumnya juga pindah2 kantor terus, aku juga sebetulnya tidak ada bahan untuk dibicarakan, tapi melihat mas wongky sama mas aby bicara, maka aku beranikan untuk bicara, aku bilang ke mereka kalo sebelumnya pikirku mau datang apa ngga, wis akhirnya aku dateng aja kali aja nanti bisa bertemu sama kakak2 kelas, abis itu aku bilang ke mereka sebetulnya aku tidak punya kompetensi yg bagus tentang dunia kerja la wong karirku juga jelek, tapi aku ceritakan ke mereka pidato pak mushonif dulu pas pembekalan wisuda kl di dunia kerja tuh yg penting attitude, dia bilang attitude 99%, skill cuma 1%, abis ituaku juga bilang kl mau sukses tuh agamanya harus kuat, terus aku bandingkan pakaiannya anak2 2006 sama anak2 SGU, aku memuji pakaiannya anak 2006 bagus pake batik, aku bilang jika kuat tidaknya agama seseorang direpresentasikan sama pakaiannya maka aku seneng sama anak2 2006 karena pakaiannya bagus berarti agamanya juga kuat.&lt;br /&gt;&lt;br /&gt;Habis itu acara ramah tamah sama makan malam, aku diem tok sepeti biasanya, tapi aku bawa santai aja, aku semeja sama Eli, mas Wongky sama anak 2004 yang ketrima di Mandiri. Wahib ada di meja depanku. Habis itu foto bersama terus pulang, aku pulang bareng eli naik taxi tarif bawah ke stasiun terus naik kereta jam 11 malam, sampe di stasiun Rawa Buntu aku naik ojek ke German Center karena aku parkir motor disana.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-6223403987790300142?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/6223403987790300142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=6223403987790300142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6223403987790300142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6223403987790300142'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/10/cerita-se-2006.html' title='Cerita SE 2006'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4877962402072609994</id><published>2009-09-30T06:48:00.000-07:00</published><updated>2009-09-30T07:30:03.996-07:00</updated><title type='text'>Membuat Google Wannabe Paging</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WcYcnu7jwBA/SsNqDJMDoaI/AAAAAAAAAEY/rn_R3t7SUio/s1600-h/03GoogleWannabePaging.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://1.bp.blogspot.com/_WcYcnu7jwBA/SsNqDJMDoaI/AAAAAAAAAEY/rn_R3t7SUio/s400/03GoogleWannabePaging.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5387266181503885730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Alhamdulillah, aplikasi Tunas Unggul Bangsa sudah live dan bisa diakses lewat internet melalui &lt;a href="http://donatur.yayasan-tunas-bangsa.com"&gt;http://donatur.yayasan-tunas-bangsa.com&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Appfuse menggunakan displaytag untuk menampilkan data2nya per halaman, misalnya 10 record perhalaman, hanya saja displaytag mengambil keseluruhan data meskipun yg ditampilkan hanya 10 record, hal ini dikarenakan displaytag memiliki fasilitas utk sorting per kolom, ataupun download data dalam bentuk excel atau pdf. Hal ini tentu saja tidak hemat resource karena hanya untuk menampilkan 10 record saja, sistim harus query seluruh record. &lt;br /&gt;&lt;br /&gt;Oleh karena itu saya menggunakan cara sendiri untuk menampilkan data sesuai kebutuhan, saya hanya melakukan query sebanyak record yang butuh ditampilkan, dan sebagai penanda tampilan record keberapa, diperlukan penanda halaman (paging), misalnya halaman 2 menampilkan record mulai 11 sampai 20, dst. Dalam post ini saya jelaskan bagaimana membuat paging seperti yang ada di google. &lt;br /&gt;&lt;br /&gt;Jika Anda googling, akan ada daftar halaman (paging) jika hasil pencariannya banyak, seperti : "Previous 1 2 3 4 5 6 7 8 9 10 Next". Untuk membuatnya sangat mudah dan saya hanya bermain dengan beberapa if-else di jsp dengan beberapa parameter, dan ini bisa diaplikasikan dengan bahasa2 lain.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://donatur.yayasan-tunas-bangsa.com"&gt;Aplikasi Tunas Unggul Bangsa&lt;/a&gt; menggunakan spring MVC wannabe (&lt;a href="http://www.facebook.com/note.php?note_id=133466139564#comments"&gt;karena ternyata tidak benar2 MVC&lt;/a&gt;), oleh karena itu bermain dengan banyak controller, dengan kata lain untuk menampilkan suatu halaman maka dubutuhkan controller. Saya butuh tiga parameter untuk controller paging:&lt;br /&gt;1. page, halaman yang direquest user, misalnya 5&lt;br /&gt;2. totalPages, banyak halaman, didapatkan dengan cara query "Select Count" dibagi perPage, dimana perPage adalah total record tiap halaman. &lt;br /&gt;Misalnya total record = 100, perPage = 10 record, maka totalPage = 10.&lt;br /&gt;3. listPages, daftar halaman yang muncul di aplikasi.&lt;br /&gt;Misalnya kita menampilkan 5 halaman, maka yg muncul adalah "3 4 5 6 7"&lt;br /&gt;&lt;br /&gt;Sementara itu di jsp-nya algoritmanya sebagai berikut:&lt;br /&gt;1. jika page != 1 maka cetak "Awal", link ke halaman 1&lt;br /&gt;2. cetak semua nilai listPages, jika sama dengan requestedPage maka tidak ada link, selain itu link ke halaman yg sesuai&lt;br /&gt;3. jika totalPages != 0 dan requestedPage != totalPages maka cetak "Akhir", link ke halaman terakhir&lt;br /&gt;Hasil dari contoh kita adalah "Awal 3 4 5 6 7 Akhir"&lt;br /&gt; &lt;br /&gt;Tulis semua langkah diatas kedalam file jsp terpisah, misalnya paging.jsp, maka kita hanya tinggal include diatas table record.&lt;br /&gt;&lt;br /&gt;Sebagai perbandingan dengan google, google memiliki 20 listPages, jika total halaman yg kita miliki bukan 5 tapi 20, maka kita memiliki listPages yang sama dengan google, dan itu bisa saja diubah karena saya jadikan Constant, hanya saja nantinya malah jelek tampilannya soalnya akan sangat melebar. Perbedaan yg lain adalah google menampilan "Prev" dan "Next", dimana link-nya menuju halaman sebelum atau halaman berikutnya, sedangkan yg kita miliki "Awal" dan "Akhir" menuju halaman awal dan akhir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4877962402072609994?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4877962402072609994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4877962402072609994' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4877962402072609994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4877962402072609994'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/09/membuat-google-wannabe-paging.html' title='Membuat Google Wannabe Paging'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WcYcnu7jwBA/SsNqDJMDoaI/AAAAAAAAAEY/rn_R3t7SUio/s72-c/03GoogleWannabePaging.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-362022782279668186</id><published>2009-09-19T00:45:00.000-07:00</published><updated>2009-09-19T00:55:22.652-07:00</updated><title type='text'>Redirect Default Page Bukan ke Login.jsp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WcYcnu7jwBA/SrSMyxje97I/AAAAAAAAAEQ/JBxp4KwS6LU/s1600-h/blogMainMenu.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_WcYcnu7jwBA/SrSMyxje97I/AAAAAAAAAEQ/JBxp4KwS6LU/s400/blogMainMenu.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383082258538100658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://imam-baihaqi.blogspot.com/2009/09/continuing-appfuse-application-using.html"&gt;Aplikasi Appfuse&lt;/a&gt; menggunakan acegi security, setting defaultnya dia akan selalu minta username untuk bisa membuka halaman2 didalam aplikasi, padahal nantinya aplikasi yang saya buat seharusnya bisa dibuka semua orang, tanpa perlu login terlebih dahulu, meskipun ada halaman2 yang harus login dulu untuk bisa mengaksesnya. Dalam benak saya halaman seperti profile yayasan, daftar nama2 donatur,  detil masing2 donatur bisa dilihat semua pengunjung web.&lt;br /&gt;&lt;br /&gt;Sebetulnya default page appfuse ketika membuka dari address page misalnya http://localhost:8080/tunasbangsa bukan ke login.jsp tapi ke mainMenu.html, tapi karena setting  acegi security meminta username maka aplikasi ketika pertama kali dibuka senantiasa masuk ke halaman login terlebih dahulu.&lt;br /&gt;&lt;br /&gt;Settingan yang perlu dirubah adalah berikut:&lt;br /&gt;1. security.xml&lt;br /&gt;Di bean=filterInvocationInterceptor, ubah/hapus semua halaman2 yang disetting hanya bisa dibuka untuk role tertentu, misalnya &lt;br /&gt;/users.html*=admin&lt;br /&gt;Di security.xml sudah didaftarkan role2 user pada aplikasi, kebetulan diaplikasi ini ada 2 role, "admin" dan "user", sebelumnya halaman users.html hanya bisa dibuka untuk pengunjung dengan role=admin saja, jadi selain admin maka tidak halaman tersebut bisa dibuka dg error semacam akses denied, maksudnya misalnya ada pengunjung yg sudah login tapi rolenya selain admin dan meminta halaman itu maka dia tidak bisa mengkases, apalagi apabila belum login, maka aplikasi akan redirect ke halaman login.&lt;br /&gt;&lt;br /&gt;Di acegi security ada ROLE_ANONYMOUS role yang didefinisikan acegi untuk pengunjung yang tidak login terlebih dahulu, oleh karena itu, kita bisa menghapus line diatas atau mengubah menjadi:&lt;br /&gt;/users.html*=ROLE_ANONYMOUS&lt;br /&gt;&lt;br /&gt;di bean=methodSecurityInterceptor yang mendefinisikan method2 yg bisa diakses, modify/hapus pula line berikut:&lt;br /&gt;org.ikaits.service.UserManager.getUsers=admin&lt;br /&gt;Line itu mengharuskan pengunjung bertipe admin untuk bisa mengakses method getUsers, padahal method itu dipanggil ketika aplikasi meload halaman /users.html&lt;br /&gt;&lt;br /&gt;2. action-servlet.xml&lt;br /&gt;Di bean adminUrlMapping, pindahkan statement berikut ke bean urlMapping, &lt;br /&gt;&amp;lt;prop key="/users.html"&amp;gt;userController&amp;lt;/prop&amp;gt;&lt;br /&gt;&lt;br /&gt;Jika security.xml itu menyetting buat acegi security-nya maka action-servlet.xml menyetting request halaman2 yg di minta pengunjung, aplikasi ini menggunakan framework SpringMVC, sehingga halaman2 yg akan diminta diatur menggunakan controller, pendaftaran page apa ke controller apa ditaruh di file ini.&lt;br /&gt;&lt;br /&gt;bean adminUrlMapping, mendaftarkan url2 yangg bisa diakses oleh admin, sedangkan urlMapping mendaftarkan url2 yang bisa diakses semua pengunjung, oleh karena itu perlu dipindahkan url /users.html tidak hanya untuk pengunjung dengan role admin.&lt;br /&gt;&lt;br /&gt;3. menu.jsp&lt;br /&gt;Melist menu2 yang muncul diaplikasi, yang letaknya ada dibawah header, saya hapus menu yang tidak perlu yaitu:&lt;br /&gt;&amp;lt;menu:displayMenu name="FileUpload"/&amp;gt;&lt;br /&gt;Menu ini untuk menampilkan halaman upload file&lt;br /&gt;&lt;br /&gt;4. menu-config.xml&lt;br /&gt;Hapus item berikut, item tersebut sebelumnya menjadi sub-menu dari menu "Administrasi", yang mana menu tersebut hanya diperuntukkan bagi role admin, padahal sekarang bisa dibuka untuk semua pengunjung.&lt;br /&gt;&amp;lt;Item name="ViewUsers" title="menu.admin.users" page="/users.html"/&amp;gt;&lt;br /&gt;Tambahkan &lt;br /&gt;&amp;lt;Menu name="ViewUsers" title="menu.admin.users" page="/users.html" /&amp;gt;&lt;br /&gt;Sekarang url users.html menjadi menu utama seperti login, home, dsb, bukan menjadi submenu dari menu Administrasi.&lt;br /&gt;&lt;br /&gt;Untuk halaman utama (home), saat ini aplikasi hanya menampilkan logo dan cerita singkat profile yayasan, no rekening sementara dan link untuk mendaftarkan diri sebagai donatur, yang mana setelah mendaftar tidak bisa login terlebih dahulu karena menunggu persetujuan dari admin, logo itu juga masih sementara dibuat dari memodifikasi logo yang dirasa mirip dengan tema yayasan, diambil dari john clements, Untuk situs internet yang menggunakan teknologi yang sama (appfuse) yang dibuat kantor saya adalah:&lt;br /&gt;&lt;a href="https://ib.bprks.co.id"&gt;https://ib.bprks.co.id&lt;/a&gt;&lt;br /&gt;&lt;a href="http://careers.johnclements.com/"&gt;http://careers.johnclements.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Awalnya mock up pertama kali akan dibuat seperti bprks, menggunakan frame, ada header, footer, leftFrame, rightFrame, dan mainFrame, sehingga untuk operasi aplikasi selanjutnya hanya meload mainFrame saja, tanpa perlu meload ulang gambar header dsb, hanya saja screen aplikasi akan terbatas luas layar saja, mainFrame akan seluas kecil karena footer senantiasa berada dibawah layar, scroll akan berada ditengah2 aplikasi, mock up seperti itu lebih cocok untuk aplikasi database yang kompleks saja tanpa terlalu memperhatikan tampilan, sedangkan aplikasi untuk yayasan ini juga berfungsi sebagai official site jadi perlu UI yang lebih bagus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-362022782279668186?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/362022782279668186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=362022782279668186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/362022782279668186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/362022782279668186'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/09/redirect-default-page-bukan-ke-loginjsp.html' title='Redirect Default Page Bukan ke Login.jsp'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WcYcnu7jwBA/SrSMyxje97I/AAAAAAAAAEQ/JBxp4KwS6LU/s72-c/blogMainMenu.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7451582290432028915</id><published>2009-09-13T01:34:00.000-07:00</published><updated>2009-09-13T01:50:57.560-07:00</updated><title type='text'>Continuing Appfuse Application Using Eclipse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WcYcnu7jwBA/SqywtRqrGoI/AAAAAAAAAEI/PI4fTwIEVIA/s1600-h/00login+keterangan.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://3.bp.blogspot.com/_WcYcnu7jwBA/SqywtRqrGoI/AAAAAAAAAEI/PI4fTwIEVIA/s400/00login+keterangan.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5380869946683890306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://imam-baihaqi.blogspot.com/2009/09/creating-simple-java-web-application.html"&gt;&lt;br /&gt;We already have the application&lt;/a&gt;, it's all inside the folder tunasbangsa, but it's hard if we maintain and updating files scratch, we use eclipse for the IDE, just download &lt;a href=" http://www.eclipse.org/downloads/"&gt;eclipse&lt;/a&gt;, get the latest version, the &lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-jee-galileo-win32.zip"&gt;Galileo version&lt;/a&gt;. after extract in the preferred folder, just run eclipse by double click eclipse.exe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Adding Project&lt;/span&gt;&lt;br /&gt;Add new project -&gt; Java Project -&gt; Create from existing source, point to folder tunasbangsa. At first, we gonna an error sign in our folder in project explorer, something like cannot find ant.jar or junit.jar. To resolve this error. Go to Project -&gt; Properties -&gt; Java Build Path, set the missing jar into the right path, I add New Variable, the button is right of list, I set into my Ant folder "D:/Java/apache-ant-1.7.0", and then I fix the missing jar into "ANT_HOME/lib/ant.jar". There should be no error anymore.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Setting Ant From Eclipse&lt;/span&gt;&lt;br /&gt;Window -&gt; Show View -&gt; Ant, and then add buildfiles, point it into tunasbangsa build.xml, collapse the icon and there will be list of command we can call, we need only to double click it, for example for clean or deploy. We call deploy every we made a change into our application.&lt;br /&gt;In appfuse, the default if we deploy, we also drop the database and create new again, so we don't need that again, just comment the value of db-drop and db-load, db-drop is for drop the database, db-load is for loading value from sample-data.xml. Do not comment everything, but comment the value in case of both of that command called by other command. &lt;br /&gt;    &amp;lt;target name="db-drop" depends="hibernatedoclet" description="drops database tables"&amp;gt;&lt;br /&gt;&amp;lt;!--        &amp;lt;taskdef name="schemaexport", ....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Setting Tomcat From Eclipse&lt;/span&gt;&lt;br /&gt;We can debug altough it is a web application by setting tomcat inside eclipse, Window -&gt; Show View -&gt; Servers, add new server -&gt; Tomcat 5.5, set the installation Directory into the appropriate folder, e.x in "C:\apache-tomcat-5.5.28", And then press finish, so in the Server view there will our new tomcat server, double click it. In the server locations, choose "Use Custom Location", if the radio disabled, just create new Tomcat Server, usually it is disabled if we already used the server. And browse Server path into our tomcat folder, and then choose radio Use Tomcat Installation, and save. And also set the Timeouts into 90 seconds, sometimes it needs more than 45 second for starting tomcat via eclipse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Changing the Template of TunasBangsa&lt;/span&gt;&lt;br /&gt;In appfuse we used sitemesh decorator to handle the UI, the styles are in folder "tunasbangsa\web\styles" there are three styles already, the default that we used so far is simplicity, to change the style, modify file web.xml in folder "tunasbangsa\web\WEB-INF\", there are a lot of context parameters, goes to the param-name=csstheme, the value=simplicity, change into "puzzlewithstyle", deploy it, run tomcat, I try to make it simple but not as simple as simplicity. &lt;br /&gt;&lt;br /&gt;And also change the name of the application, in the web.xml changse the property of display-name into "Tunas Bangsa" and in the ApplicationResources.properties change "webapp.name=Tunas Bangsa".&lt;br /&gt;&lt;br /&gt;I inspired by &lt;a href="http://www.its.ac.id/"&gt;my campus&lt;/a&gt; site, I use the similar header and footer, I save the sites, I modify the header, add "Tunas Bangsa IKA ITS Jakarta Raya" in the right of the header. The template is similar with puzzlewithstyle, there are menu in header, so I copy folder puzzlewithstyle inside folder styles, I name it tunassimple, and inside the folder I paste the new header and footer. I change many things in .css files specially the color of the fonts, I just change and deploy to get my preferred stile. On thing important I met is I shuld add property height inside body, to make an html &amp;lt;table&amp;gt; tag using css.&lt;br /&gt;body {&lt;br /&gt;        ...&lt;br /&gt;        height:100%;&lt;br /&gt;}&lt;br /&gt;and inside header and footer I add property height&lt;br /&gt;div#header {&lt;br /&gt;  ...&lt;br /&gt;  height: 147px;&lt;br /&gt; }    &lt;br /&gt;So, it similar with table and tr height, I did not use table because it not recommended nowadays, people recommend using style or css.&lt;br /&gt;&lt;br /&gt;For the application's icon, I go to &lt;a href="http://its.ac.id/logo.its.php"&gt;ITS logo site&lt;/a&gt;, I copy ITS logo, and modify using photoshop, I'm not using gimp anymore, but the first header of this application I use gimp on my laptop. I only take the ITS name because I only need to show small icon that shows in the tab of my application. Deploy again and run tomcat, the result shows in the capture above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7451582290432028915?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7451582290432028915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7451582290432028915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7451582290432028915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7451582290432028915'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/09/continuing-appfuse-application-using.html' title='Continuing Appfuse Application Using Eclipse'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WcYcnu7jwBA/SqywtRqrGoI/AAAAAAAAAEI/PI4fTwIEVIA/s72-c/00login+keterangan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-6918942778817549667</id><published>2009-09-11T10:48:00.000-07:00</published><updated>2009-09-11T11:16:40.191-07:00</updated><title type='text'>Creating Simple Java Web Application</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WcYcnu7jwBA/SqqOxCjjvQI/AAAAAAAAAD4/2TpZxGZrY8E/s1600-h/appfuse.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://4.bp.blogspot.com/_WcYcnu7jwBA/SqqOxCjjvQI/AAAAAAAAAD4/2TpZxGZrY8E/s400/appfuse.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5380269677998226690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I join &lt;a href="http://groups.yahoo.com/group/al-its"&gt;milist of alumny&lt;/a&gt; of my bachelor, the newest event is we gonna have scholarship for students and high school teacher, I want make a java sites for it, so I build the simple one, I create this document as if as you also want to create a simple java web application.&lt;br /&gt;&lt;br /&gt;First I build in Ubuntu on my laptop, but I need internet for browsing, so I use on my office computer which is using Windows nowadays, infact last few months some pcs in my office re-using XP rather Ubuntu. So Im documenting my work on Windows and trying to write it as easier as I can. Contrary actually I prefer working on Ubuntu because of terminal and repository for downloading everything needed.&lt;br /&gt;&lt;br /&gt;I use Appfuse 1.9.4 as wizard for creating java web application, I actually already made a start using Appfuse 2.0 with Maven rather Ant but it will need time for me for learning, so I decide it to use the older version, I already use this version on my previous project, so I will get the faster result, and it is much easier. &lt;br /&gt;&lt;br /&gt;Here the list of needed things before working on this application:&lt;br /&gt;1. &lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;java 1.6&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://dev.mysql.com/downloads/mysql/5.1.html#downloads"&gt;mySql 5.1&lt;/a&gt;&lt;br /&gt;3. &lt;a href="https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=6196"&gt;appfuse 1.9.4&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://apache.pesat.net.id/ant/binaries/apache-ant-1.7.1-bin.zip"&gt;ant 1.7&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://apache.pesat.net.id/tomcat/tomcat-5/v5.5.28/bin/apache-tomcat-5.5.28.zip"&gt;tomcat 5.5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here the steps:&lt;br /&gt;1. Download them and install java and mysql, and extract for others in the prefer place.&lt;br /&gt;2. When installing MySql server you gonna asked for root password, just type it as necessary, e.x: username=root, password=root&lt;br /&gt;3. Open command prompt, write "java -version" and "ant -version", if the result is "is not recognized as an internal or external command," then we need do this things:&lt;br /&gt;- open explorer, point to My Computer&lt;br /&gt;- right click, Properties&lt;br /&gt;- choose Advanced tab&lt;br /&gt;- click Environment Variables&lt;br /&gt;- in the System Variables box, the below one, click New&lt;br /&gt;- Write Variable Name = ANT_HOME, Variable Value = D:\Java\apache-ant-1.7.0 (Or the prefered extracted path)&lt;br /&gt;- Edit variable Path, copy the value into notepad, so we gonna have some line like this: C:\Program Files\.... it mention shortcut for the commands that our computer have, and then add this line : ";%ANT_HOME%\bin" for adding ANT_HOME&lt;br /&gt;- restart computer&lt;br /&gt;- for checking if we already have ant command in our computer type: "ant -version", and it should return some like this: "Apache Ant version 1.7.0 compiled on December 13 2006"&lt;br /&gt;above steps set ANT_HOME and add "ant command" so we can call it from any place via command prompt.&lt;br /&gt;&lt;br /&gt;4. Using command prompt, enter the extracted appfuse folder, for example on D:\Java\appfuse, and then type "ant new"&lt;br /&gt;5. We gonna asked some questions:&lt;br /&gt;    [input] What would you like to name your application [myapp]? [myapp]&lt;br /&gt;tunasbangsa&lt;br /&gt;    [input] What would you like to name your database [mydb]? [mydb]&lt;br /&gt;tunasbangsa&lt;br /&gt;    [input] What package name would you like to use [org.appfuse]? [org.appfuse]&lt;br /&gt;org.alits&lt;br /&gt;It means I create new application named tunasbangsa, with database named tunasbangsa, and package named org.alits&lt;br /&gt;&lt;br /&gt;6. System will do some operations, it needs some seconds, and if everything is correct, there will be a BUILD SUCCESFULL messages&lt;br /&gt;7. Now you should be able to cd to your application and run: "ant setup test-all"&lt;br /&gt;8. cd into the new application folder, type "cd ../tunasbangsa"&lt;br /&gt;9. we already inside our application just type: "ant setup test-all", and it should be BUILD SUCCESFULL messages, if we got error something like username and password into mySql, change the password in properties.xml, by default the password is empty, we need to change same with our password, it's on line 53,&lt;br /&gt;&amp;lt;property name="database.admin.password" value=""/&amp;gt;, set the password value = "root"&lt;br /&gt;&lt;br /&gt;10. For viewing the result, run tomcat, enter into our extracted tomcat, for example in "C:\apache-tomcat-5.5.28", enter the bin folder, and run or double click startup.bat.&lt;br /&gt;11. Goes to explorer, ie or firefox, type http://localhost:8080/tunasbangsa, it should shows the result same as in the capture above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-6918942778817549667?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/6918942778817549667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=6918942778817549667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6918942778817549667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6918942778817549667'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/09/creating-simple-java-web-application.html' title='Creating Simple Java Web Application'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WcYcnu7jwBA/SqqOxCjjvQI/AAAAAAAAAD4/2TpZxGZrY8E/s72-c/appfuse.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2752074256259242006</id><published>2009-07-08T18:50:00.000-07:00</published><updated>2009-07-08T18:52:45.413-07:00</updated><title type='text'>The Leader</title><content type='html'>Today is the vote day for the next president, my office as all other office is not enter today, I did not make a vote, it's too expensive for me to go home for a day for voting, it's Wednesday, Ill be on office tomorrow, furthermore I already predict that SBY will win the vote, until the last news on tv he got over 60 percents followed by Mega and JK, JK only got 12 percents of vote. And JK, my favourite candidate was not too convince me to go home and vote for him, I watch the last debate on tv, he is not too shiny, SBY more adorable, especially the last question about what if the candidate didn't chosen as president, SBY said that he will follow the chosen one, Mega said that she will continue her duty as before, and JK said that he will back home, he already think he will be chosen by say thanks to people. &lt;br /&gt;&lt;br /&gt;But as if I made a  vote I still vote for JK, I love his profile, that last debate show doesn't less me to appreciate him with all he did and what I heard from news, for me he and his family has strong religion rather than other candidate. And the main reason I love JK rather than SBY because he more live, he more brave against foreign people, I ever heard I forgot the situation and the case but he told foreign people that we will do our business rather that taken over by them. While SBY always speech in the international event that Indonesia already did good democracy and good economic progress in the country, I mean he so open wide for working together with other country, perhaps we need someone who didn't do that, we need someone who reject the opportunity for foreign people doing their job inside the country, and in my opinion JK has that profile.&lt;br /&gt;&lt;br /&gt;Ironically my favourite president profile is George Walker Bush, I know he is west and war against Iraq and Afghanistan, surely I feel deep sorry for that aggression, but as a leader he shows us about dignity, about pride as a country. He great speaker, so confident when talking, and charming. Obama also great speaker but he so same as SBY, he always said about democracy, human rights, and peace. He travels to arabian country to say about peaceful world, that's nice but I prefer profile who has high pride, but surely without war against poor country, it just more stylish like George W. Bush rather than Barrack Obama.&lt;br /&gt;&lt;br /&gt;Great leaders are born to lead, not by trained, not by schools, it is a destiny, just like a gift, he or she came when people need a change, most of them came when his nation in the worst condition, poor and pathetic, he has a brave heart like William Wallace, a straight heart like Joan of Arc, big dreams like Alexander the great, or many others, we can mention our idols. All of them have the brave, strong will in their life, they have faith. They have great sensitivity to their nation, they care about their people and want make a good change to their people. But all of those leaders are live in the past era, when the glory of nation shown by land, when there are no computers and companies, today the situation are more complex, leaders are not only the leaders of the citizen only, there are many leaders in many aspects of our lives, there are living people who we may adore about their leaderships.&lt;br /&gt;&lt;br /&gt;Although we are not born with that leader characteristics, we should learn to lead ourselves, to lead our environment. In every single day of our life we should try to change ourselves to be a better person, and trying is not about gift, it's about will, the question is how far we already try, and it's a hard question in our lives. But it just like learning, just like writing or coding, it is learning, never ending learning.&lt;br /&gt;&lt;br /&gt;As a human, all of us are leaders, leader of ourselves, leader of our environment, we lead our environment to a better condition, we can simply see our environment as the result of our leadership because we give contribution to our environment, whatever we say whatever we do it influence our environment. I remember a khatib when I pray Jumat, that as a leader, with the worst condition of our life, but if we have faith in ourselves than we still have a modal to give a good thing for our environment, he said that seven skies as the witness for what a person said, especially if we have our faith in our religion. &lt;br /&gt;&lt;br /&gt;He said that there is a research in Japan that shows two different water, one water in religious environment and the other is not. The scientist said that the molecule of the first water more healthy rather than the second, it may prove that people who often wudlu will have shiny face or medicine with only with prayed water may help the patient. It already proved by Japanese scientist. So do our other things in our environment, our laptops, desk, clothes, and other will reflect what we do. Perhaps that too over, but that what the khatib said, and I think its true, he said that if we have a pet or plants in our home than they show how the condition of the owner little bit.&lt;br /&gt;&lt;br /&gt;As a citizen I often imagine someday I will have an ideal leader of our dreams, that leader should brave, trusted, smart, good speaker, and other good things, I just need to add it, but honestly I will disappointed, because there are no person like that, no one perfect. And I think the better thing I can do is not to imagine that condition happen in our country, it's too complicated if I imagine and think about this country, I should see myself, I am nothing in this country. But I can start imagine that condition in my environment, my small environment, my office, my working desk and the nearby, let's say to myself and aware about the conditions, and think of my leadership in this environment.&lt;br /&gt;&lt;br /&gt;But as a citizen I should follow my leaders, and just want to say congratulation to the selected Mr. President. I will follow him and always try to criticize of the condition and situation, especially I'm in Jakarta right now, I can join demonstration easily, in the circle of Hotel Indonesia as usually I saw on tv, that will be a great time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2752074256259242006?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2752074256259242006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2752074256259242006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2752074256259242006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2752074256259242006'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/07/leader.html' title='The Leader'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-5854017967675566247</id><published>2009-07-02T20:24:00.000-07:00</published><updated>2009-07-02T20:27:22.032-07:00</updated><title type='text'>The Writer</title><content type='html'>I don't care if my write didn't popular, as if nobody read my writes, as if nobody will understand what I write. So do what I do in life, many things I've taken was not popular, and it doesn't matter, nothing need to be approved, it's not a mathematical equations, I free to decide to make the result, there's no grade limit for the result, there's no pushes to make a good result. It just the options in live, I can choose any options, whatever it necessary for me, whatever I feel like to be, or even I may not choose all of those options, I just do nothing, and there's nothing wrong with that.&lt;br /&gt;&lt;br /&gt;I just want to write, nothing philosophy inside, nothing special in my write, it just plain text of daily story. The fact is it is a hard thing for me to make a write, I often loose my words, I often erase my paragraphs and cancelling, and the other fact is I don't have a theme right now, my times is spent at the office, I wake up in the morning and go to office early, I went home lately, and the project didn't finished yet, there's always new issue there, new bug in bugzilla. I feel numb right now, cannot think clearly, I cannot read e-book anymore, I feel empty of my battery, but I cannot sleep, it just blurry of me.&lt;br /&gt;&lt;br /&gt;I don't care if this post is short, there's no need to be long post, I want to write some hilarious note, long, themeable, bright note, but it's hard, I'm not a novelist, not a fame writer, I'm an engineer, I write this post hush-hush while I'm working in the office, my bug is already zarro, I'm idle right now, I just want to write.&lt;br /&gt;&lt;br /&gt;Let me tell you about my project and my office. I'm working in IT vendor in the edge of Jakarta, in BSD (Bumi Serpong Damai), not in Jakarta exactly, the fact is it in different province, it is in Banten, in the city of Tangerang, The office name is Balicamp, it the division of Sigma, biggest local vendor in Indonesia. It is the biggest because it have the biggest employee for local vendor, about 900-1000. It said that the first stand of Sigma in 1986, it only by 8 people. But unfortunately the salary is poor, not the highest also, perhaps the salary is the lowest between vendors.&lt;br /&gt;&lt;br /&gt;Balicamp itself stand in 1999 our CEO today Bpk Toto Sugiri whose lives in Canada today, it named Bali-camp because he got a crazy idea had a it vendor which like a programmers camp. So it built in big house in a hill in Bali, in the village named Pacung before Bedugul a lake for tourism in Bali. First opened there are huge news from foreign tv and news such as CNN, in contrary there were no publicity from the local news. And by the time Balicamp was mostly working on foreign clients. Until the year of 2004 when there were Bali bombing, the office in Bali was closed because there are no client anymore. In the 2007 the office-house was want to sell, but Telkom, the biggest telecommunication company in Indonesia buy the Sigma capital for investment, so it cancelled to sell and operate again since in the middle of 2008, I should went to Bali that time but I was set in a project so until today I still in Jakarta. The capacity in the Bali office is 200, I heard it still 120 person there. Sigma itself has several office building, two in Jakarta, one in Balicamp, and one again in Surabaya, a data center. In Jakarta there are few floor in DEA tower in Mega Kuningan and few floor in German Center in BSD, I am in the last building, in German Center 5th floor, I am in the east wing, the west wing is for data center, data center are full filled with servers that used by many Sigma clients. &lt;br /&gt;&lt;br /&gt;The office is unique, it named Desa Sigma, Some said Pak Toto himself was known as an artist rather as a businessman, he renovate the fifth floor of German Center become a village in Bali, the floor was changed with cement, the wall was decorated, some painted in yellow, some changed with wood, some still in bricks, and there are a lot of batik curtains and sticked lamp. The place for lamps are also traditional, some made from bamboo, modelled woods, or zinc. There are some small blocked circle place for small meeting, the wall are from bamboo and wood. There are fish pool in front of the lift, there are mini garden and fountain in front of security desk. After we left out the lift there are two door. One in the right is into the east wing my desk, the other is into west wing, most of place is for data center. There also some room in fourth and third floor belongs to Sigma, but the condition still remain genuine not renovate.&lt;br /&gt;&lt;br /&gt;Today I still working on the project for WOM Finance, the loan company for motorcycle, we just reuse our application, Lendor, it modified with the WOM requirements. The framework of lendor is built with java, we only change the page and the query on the surface of the application, I only change the xml when make or modify query, I only change the html for the page, I rarely modify the java files, I play a lots with javascripts and vbscripts, it calls the new page and query from scripts. It use a lot of finance words and dizzy rules.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-5854017967675566247?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/5854017967675566247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=5854017967675566247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5854017967675566247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5854017967675566247'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/07/writer.html' title='The Writer'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2327555326131852707</id><published>2009-06-28T18:17:00.000-07:00</published><updated>2009-06-28T18:19:26.539-07:00</updated><title type='text'>Benjamin Button, the continues</title><content type='html'>&lt;a href="http://imam-baihaqi.blogspot.com/2009/06/benjamin-button-curious-case.html"&gt;...&lt;/a&gt; Outside the building Benjamin asked Daisy is she loved David, she said she think so, then he said that he loves her dance show, and then he went back to New Orleans.&lt;br /&gt;&lt;br /&gt;He said that nothing need to be complicate, he ride his motorcycle in New Orleans, he sail with his boat, he companied by a lot of women. And it was a glorious time for Daisy, she went to London, Prague, and Paris for dancing, she the only American girl dance in Bolshov Russia. But in the night she always say "goodnight Benjamin" before sleep. &lt;br /&gt;&lt;br /&gt;One day when Benjamin fixing the corner house roof, he got mail from Paris, so he went to Paris, to a hospital, Daisy got an accident, she crushed by a taxi, her leg got five place broken, with treatment and therapy she perhaps can walk again, but she never dance anymore. When he meet her, she was so angry, she just don't want him to saw her like that. He asked her to move with him, she said that she don't want to go back to New Orleans, he said he will stay in Paris then, but she rejected, she just didn't want him to help her. For a while Benjamin stay in Paris and live near hospital to make sure she was alright.&lt;br /&gt;&lt;br /&gt;It was spring 1962, when he was in corner house, Daisy came visiting. Queenie asked daisy why she so selfish not write them a letter. And then Benjamin asked Daisy to sail with him, and then sell his father's house,  they moved in duplex house, there were no a stick of furniture, they only have a matras in a living room, and a TV, they watch The Beatles. Their neighbour is Mrs. Van Dam, a bone therapist, she therapy Daisy's leg, and there are a public pool four block from the house, in one occasion Daisy was cry when she saw a young girl swim fast, she said she just afraid grow older, and they put too much calorine in the pool. And in one day they went to his father lake house, and Daisy swear him she never pitty for herself because cannot dance again.&lt;br /&gt;&lt;br /&gt;She build a studio, she teach ballet to young girls. She said dance is about a line, sooner or later we loss that line. And then she said that she was pregnant, Benjamin was afraid of that, he afraid if the baby born abnormally like him, but Daisy convince him that she want to raise the baby and want him to company her, And that time he watch tv news that his old friend Elizabeth Abbot swim across English Channel in fourty three years old, she did what she dreamed before. So the baby born in usual spring, she was born normally and healthy, they give her a name Caroline same as his mother name, but Benjamin feels wrong he said that Caroline needs a father not a childhood friend.&lt;br /&gt;&lt;br /&gt;In Caroline first birthday, they have a party for her, there were a lot of children in the house. Benjamin sold his Button company, he sold the lake house, and the sailing boat, he gave the money for Daisy and Caroline for living. He went before Caroline start to memorize him. He went to India. He wrote a postcard in every Caroline's birthday and put in that book. When she was two he said that he want to saw her grew, nothing will replace that condition, when she was five he said he want to friend her go to school, when she was six he said he want to teach him piano, and when she was thirteen he want to angry to her not to chase some boys, and he want to be there when she got broken heart.&lt;br /&gt;&lt;br /&gt;In one night Benjamin visiting Daisy after she teach the class, he enter the house, she said that the class is already over, she asked if he pick up a student, and then she knew that he was Benjamin, he looks so young. And then Caroline came, so do Daisy new husband. Daisy introduce Benjamin as her family friend, she said to Caroline she new her when she was baby. His husband said to Benjamin that so nice to meet him and they waiting in the car, Daisy said that she locked up the house first, she asked Benjamin where he lived, he said in the hotel near there, he said he didn't know what he gonna do. He said that Caroline as beautiful as he mother, he asked her if Caroline also a good dancer, she said no, he said that's must because him. Daisy told him that Caroline is a sweet girl, and her husband is a widower, he is a nice man, nice husband.&lt;br /&gt;&lt;br /&gt;After her husband passed away, she got a bell asked him to go to corner house, there is a man from a kind of public children organization, he said that he found a book that a lot of Daisy names and that address, he said Benjamin got dimentia, he forgot when and where he was. And then they hear a piano played, it was Benjamin in a kid body. Daisy came to him and said that it was a good play, she loved to hear that, she introduced herself and asked him if he knew her, he said he didn't know her. So in everyday Daisy visiting the corner house to convince her Benjamin is alright, sometimes Benjamin was angry because he said that he didn't got his breakfast, sometimes he hike the roof and told everybody about everyplace he knew. He said he want to fly, and Daisy said that she knew a man who can fly, she will tell him about the story. &lt;br /&gt;&lt;br /&gt;In 2002, the train station change the clock with digital clock. Benjamin was in child body, learn to walk, learn to talk, Daisy company him passionately. She showering him, she take him walk in the park. In spring, when she hug him, she said that he saw her and felt know her. And then he close his eyes as sleep as usually, he passed away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2327555326131852707?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2327555326131852707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2327555326131852707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2327555326131852707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2327555326131852707'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/benjamin-button-continues.html' title='Benjamin Button, the continues'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2433773230451346562</id><published>2009-06-14T19:22:00.000-07:00</published><updated>2009-06-14T19:24:39.515-07:00</updated><title type='text'>My Way</title><content type='html'>People are only watching, they only commenting, they didn't feel the pain, they didn't feel the hurts. I came to Jakarta for fixing my life, I cannot depend on my family forever. For months I apply to every single company on internet or newspaper, I went to rent internet almost every single day, for six months I was unemployed. I was a telemarketer in Surabaya for a day, I phoning everybody from phonebook to buy credit card, in the early morning my boss ask me how we doing, and our answer is "Luar Biasa". I was a mall marketer, I asked visitor in Carrefour to help WWF with their credit cards, they told me how to ask people nicely, I must take about three meters, make a big smile and using right hand and say "Hello... have a couple of minuites, do you have a credit card? the visa or the master card?", and until the middle of the day we didn't get one person at all, my brother angry to me and ask me to stop the job and I agree with him, I will so ashamed if I meet my friends, I do that job for two days. &lt;br /&gt;&lt;br /&gt;Three times I went to Jakarta for interviews in some companies, most of them reject me, I was accepted in two places, first, as a programmer that I forget the language, it just unusual programming language, in a small office in Grogol, they pay me less and I think Im the only programmer they have, so I reject it, the second is as Delphi programmer in Tanah Abang, I feel bored with Delphi, and in the same time I was accepted to be trained in Balicamp although I pay for that training. This office accept me with the all I have. And it's not a coincidents, I read Core Java both parts of the book, Eli give me the books, it's hundreds of pages, I read the beginning chapters over and over again. I fix my computer, I ask my sister to buy me a computer memory, I learn Java. I do my best in this office, I'm not interested to move, I do want to be rich, everybody want, but I'm not expecting that, I know myself, I receive myself if I'm not reach and success. As long as this office need me, I will stay and take care my job, but as if it didn't need me anymore, I will find other office that receive me. I just don't want to go home to Surabaya. &lt;br /&gt;&lt;br /&gt;Not everybody will understand my way, I was in Jakarta before, in Cilandak, my office was in blok A in front of Darmawangsa Square, I was there for seven months with Delphi and ASP. It was glorious, one of the clients are multinational bank, the building is in BEJ or in Juanda, but I feel so empty, I thirst of religion, I feel so young, and I have money. My childhood is a religious environment, most of my friends are in traditional schools, one of them still school in Lirboyo Kediri. I told my mom that I want to learn religion for a while, I said I have money, I accept if I enter the beginning class. My mom is happy, she said don't worry about the money, she think I will continuing my grand father paths having my own traditional shools, doesn't matter if the students are few, we are proud if we have ours.  So I went to Kediri. I live and sleep in a room with about fifteen friends in 4 by 4 meters room. I wear sarung and kopyah, I read arabic letters, I pray a lot, I remembering so many beautiful words in arabic, we discuss a lot, we did a lot of activities. &lt;br /&gt;&lt;br /&gt;But it was a mistake, I was too old, I already broke, that place is for good people, I'm a bad person, in my age I should take a job not go to school, I just such a man that don't know my age, some said that I just en empty person, some said I just like new Lia Eden or someone who will have new kind of religion. I was in Lirboyo for six moths, went home in a bad way. After that time my life is finished, I feel the same thing when I'm in last years in college, it just happened again. I just felt.&lt;br /&gt;&lt;br /&gt;At home, I was nothing, but not until a week, I join my senior as ad Delphi programmer in Graha Pena, but I cannot concentrate myself, I loose all my confidence, I just such a living manequin, I had a bad attitude, I always respect my senior, but I will runaway if I meet him again for hiding, I regretting myself for that time, I was in that office for three months, I've got fired because my bad attitude. It complete my pain.&lt;br /&gt;&lt;br /&gt;Most of office I've applied asked me why I went to Kediri, why I often moving on my previous offices, or is I ever asked why I was fired, and always asked me why I need six years for my bachelor. I cannot answer their questions, it just happened to me. I didn't know the answers, I think I only quite until they ask me another question. In that time I already pessimistic I will not accepted, but I believe there is company that will receive me with all I've done.&lt;br /&gt;&lt;br /&gt;I write this post to say to myself that I'm not empty in my religion. I read AlQuran better rather than most of people here. This place is town different from my village. I live in two different places, I wear short pant and play futsal here, I half naked when I swim, I cannot read AlQuran loudly here, sometimes I read quitely in afternoon or in the morning. I live in nonmuslim, Chinese house, office give me this home address, I don't want to move, I'm tired for always moving. A living friend of mine ever asked me why went to Kediri, I said for learning my religion, he cannot understand what I did, he even didn't understand why I pray five times, he different religion. So do people in my home, my aunt ever asked my what school I take, I said I learn computer, she asked me again is there any knowledge for other electrical stuff, I said there is a machine technique or electronics. A friend of me in Kediri talk to me and imagine how do I work in Jakarta, he asked me if I wear tie and blazer, I said no, I just wear usual clothes and shoes. I also not like Lia Eden or someone who make a new religion, perhaps I'm lack of my religion knowledge, but it's too far away from my mind, I just ordinary person with a lot of mistakes and sin.&lt;br /&gt;&lt;br /&gt;I am a software engineer, graduated from reputable university, many young men want to be like me. My field is software, not religion, but I do want to do as my grand fathers did, perhaps I not teach my students, I can as an investor building the schools, let people who learn religion teach my students, or I raise poor or don't have parents children, we teach them religion, such like my uncle did in Surabaya. I already choose my path, it already happened to my life, let me do my way in my own life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2433773230451346562?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2433773230451346562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2433773230451346562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2433773230451346562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2433773230451346562'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/my-way.html' title='My Way'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-6386134995767464001</id><published>2009-06-10T19:28:00.000-07:00</published><updated>2009-06-10T19:29:55.488-07:00</updated><title type='text'>Playing Futsal</title><content type='html'>I'm not a geek, I'm an easy going person, I played futsal this night, actually I want to write some serious theme such as imperialism, JK, or politics, but I'm not that smart enough, so I write about my futsal-day.  I'm not a good football player, far away from Steven Gerard. I even cannot kick the ball, I don't know how to kick, my kick is the slowest kick I've ever seen. I just running catch the ball forward and back, my goalkeeper often yell to me, sometimes he said to stay in the center back behind the line, sometimes said to stay guarding tight on one player.&lt;br /&gt;&lt;br /&gt;I played futsal four times in my whole live, once when I'm bachelor, three times in this office. And it will be counting more because I've already have my futsal shoes and the stock. In high school I play soccer many times, sometimes in front of my school, sometimes on other place, my friends often ask me to join them although I mostly only stand up in the field. I play again when Im bachelor two or three times in the first year. And I never played again until today. In that time there are no futsal, it's new game, and I think west people create it.&lt;br /&gt;&lt;br /&gt;I bought futsal shoes one day before after office hour with Suarlin and Robby. First we came to Adidas FO behind the Petronas Gasoline in BSD near BSD Plaza. And then into Sports Depot inside BSD Plaza, we bought shoes in that store. Actually I already bought a soccer shoes before in Carrefour, the red one, Eagle, 150 thousands, but it cannot played in futsal field, it will ruin the field because the bottom of the shoes are for outdoor soccer field. I spent a lot of money for futsal things. In Adidas FO everything is expensive, although it already discount for 50%, it still 500 thousands above, and the size are too big, there are the cheapest but the size is 47, while my size is 43. Sport Depot is a big store, and only sell the sport equipments, many kinds of shoes, tennis, badminton, or running shoes, there are rackets, barbels, or equipments such as body protector for hands, knee, just everything connected into sport are available. I bought Diadora LX, a white blue stripped shoes, 299 thousands, and a pair of blue Puma stocking, 49 thousands. I search the green one but not available, the store guard said that yesterday the green are there but already bought for surely. Suarlin and Robby bought Nike shoes, 450 thousands, Suarlin's white, Robby's black, without stocking. &lt;br /&gt;&lt;br /&gt;Both of Suarlin and Robby are good player, they create goal tonight. But I remember one of the goal is assisted from me. Im a defence player, a center back, just like Maldini. So my main job is protecting our team not to creating goals, but perhaps someday I will create one, in case futsal field is small, I only need to run a while I will in the enemy base. The fact is Im a good defence player, when I play in the game the score is 4 - 0 for my team. I play full time in the second half of my team's second battle.&lt;br /&gt;&lt;br /&gt;We have a tournament, there are six teams, Pc Programmer, it's my team, and other five teams. We split into two group, A and B, we are in group B with RPG and Permata team. We first versus RPG team and we won, and then versus Permata and I was as the defender in the second half, and we won again with score 4 - 0 for my team. Suarlin made two goals, Robby and Rudy made one goal, I am the defender, and Monang as a goalkeeper, that's the composition in the second half when I played, because we were tenth I guess with Suryo, Hatta, Adit, and sorry I cannot remember, but for surely Dani, Suroso and Miko didn't came. Next week we gonna versus the runner up of group A, and if we win the game, we go to final round.&lt;br /&gt;&lt;br /&gt;We play in the new building in front of German Center my office, it newly opened for a week, it discount for 50% as softly opening, the building still not ready on the outside, there are small holes in the building, we play when raining, the water is drawn on the wall when we sit down on the supporter side. Before this day we play in Grand Serpong Futsal, far away about ten kilometers from my office. The new building is a smaller building, it has only two fields, each of fields doesn't have enough space for sit down, the supporters must sit outside from the fields. The remaining space of the building only two meters strike a head, on the corner are six small bath room, we change our costum there.&lt;br /&gt;&lt;br /&gt;I don't care if I am not a good football player, as if I cannot kick the ball precisely, or as if I run like a woman, my friends receive me and ask me to join, and I am a good defence player, I am dicipline in my position, I do what my team ask me to do, and the result is we keep our goalkeeper clean from enemy's goal, and I have agood time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-6386134995767464001?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/6386134995767464001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=6386134995767464001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6386134995767464001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6386134995767464001'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/playing-futsal.html' title='Playing Futsal'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-8230050713489844997</id><published>2009-06-08T19:25:00.001-07:00</published><updated>2009-06-08T19:30:51.471-07:00</updated><title type='text'>Jenson Button, The Curious Case</title><content type='html'>I'm not gonna tell you about Jenson Button, I'm gonna tell you about new imperialism. The west country actually still war with us, not with blood but with taught, with information. The field of war are many fields: sports, technology, economy, science, education, every single aspects of our lives cannot separate from their agendas. &lt;br /&gt;&lt;br /&gt;Last Sunday I watch F1, not from beginning, not until finished. It just great show, the west show, new kind and glamour show. Jenson Button win the race, it's his sixth win in this season, I hope he will the next world champion. He's 29 years old, I am gonna 28 this August. He also a model because of his good looking face. He has many girl friends. He already in F1 for many years, but in the past he just middle-last racer. But he already a public idol for his country, England. I ever saw him in Top Gear, British tv show about cars. He is as a guess star, it said that although he was not top F1 racer, he already reach and famous, many young man want to be like him.&lt;br /&gt;&lt;br /&gt;F1 is a symbol of post modern lifestyle, they want us to be part in F1, they want children and young men be an F1 racer, they want us to have F1 circuit in our country. The west people will help the countries that already on their side. they will build a circuit on those country, they will take a racer from them. Malaysia is a country loved by them, they build Sepang for F1, they build Petronas tower in there. They want us to be like Malaysia, have F1 circuit, have tall tower, have great oil company. &lt;br /&gt;&lt;br /&gt;I cannot receive if somebody said that our people are dumb because cannot have F1 circuit or sky tower. West people build them. They give a lot of money, allowance from world bank to build those building. They give their architect and expert to build them. It's all because Malaysia is nice country for their imperialism agenda. Their agenda are migrating the local values into their value, they made great concept of live, the improvement of technology, economy, or democracy. Well not all of those values are bad, we didn't have other solution for better lives. Well we already know that the best way in life is our religion, they just intrude in every single aspect in our life.&lt;br /&gt;&lt;br /&gt;Everybody goes to school learn their language, nowadays we must get better education to get better job and living, I appreciate for the people who goes to traditional school for learn religion, they are the real power facing the new imperialism, Malaysia don't have them, that's why west people love Malaysia, because Malaysian schools are modern schools. As long as we have traditional school, those west people will afraid of us, they will never build F1 circuit or sky building here. They will make difficulties for us. And that doesn't really matter if we are lack of technology or economy, we must proud because we are a religious people and those people are afraid of us. I proud with my land.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-8230050713489844997?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/8230050713489844997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=8230050713489844997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8230050713489844997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8230050713489844997'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/jenson-button-curious-case.html' title='Jenson Button, The Curious Case'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2870275574483630939</id><published>2009-06-07T18:52:00.000-07:00</published><updated>2009-06-07T18:57:21.068-07:00</updated><title type='text'>Benjamin Button, The Curious Case</title><content type='html'>It's an unusual love story, story about born old baby, and grow younger and younger by time, with his childhood close friend. They meet for the fist time when they were seven years old, he was old, a friend of her grandma in old home, while she yell to her grandma showing her ballet, and they meet again tenth years later when he got amnesia but in child body and she already old, she asked him is he remember her?, he said no, but she care of him, she friends him playing piano, she friends him in his breakfast, she friends him walking in the garden, she lullaby him when he died in her arms, she said that he looks her and feels know her before he died.&lt;br /&gt;&lt;br /&gt;The movie is opened in hospital with an old dying women, Daisy, with her daughter, Caroline. Caroline said that he gonna miss Daisy so. And then Daisy said that in 1918 there is tuba band in the opening ceremony of the train station with the new clock, it's the best clock ever, she said that her papa is came to the event, there were people everywhere, there were Roosevelt also. But the clock is moving backward, it's made by blind born man that has a boy die in war, he said that perhaps by made the clock backward, it also made the situation backward, the died boy can back home and live long and peaceful, and working in farm. After the event the blind man never seen again. Some say he got heart attack, some say he went to sea.&lt;br /&gt;&lt;br /&gt;And then Daisy asked her daughter to read a diary in her black suitcase, she said she want to hear her voice. It's Benjamin diary. It's 1985, he said that he have nothing same as his birth, the only he has is only his story, and he said that he gonna write it before he forgot it. He said that he was born in unusual circumstances. It was after win great war, his father, Thomas run fast to home in the crowded people in the street. Inside his home, he asked everybody why there are a priest, They said that because his wife is dying because of childbirth, and then he came to his wife, and said that he already try best to get home in crowded people, and then she asked him to promise her that their son gonna got a place, and then she died. And then Thomas came to his son, and then take him away, and run. he went to the river and want to throw him, but there are a policeman and asked him what he brought. And then he run from the policeman, and found an old home, and take the baby on the foot stage, and put eighteen dollars with.&lt;br /&gt;&lt;br /&gt;The setting is in New Orleans, city of jazz, Queenie and Mr. Weathers take care of the house, he said to her that she looks handsome that night, her brown dress is same with her eyes, and when they step down the stage, they found the baby. He said that they must ignore it because he looks like a monster, but Queenie loves the baby, she take the baby inside, she said that he is miracle, but not a kind of miracle we expect, she called a doctor inside the living room to check the baby, she said that he is son of her sister but born white, the doctor said that the baby's eyes got catharact, his bone and skin should happen on the old man, he is baby with the old-man condition, he should die soon. And then Queenie out from the room and told the people in the room that they had visitor and his name is Benjamin.&lt;br /&gt;&lt;br /&gt;Benjamin child is normal kid, he curious like any other child, he played his spoon on the table, he sneaked behind the window. The only different is his physical condition is as an eighty years old man, he use wheel chair for moving. At seven he with mama Queenie went to church for blessing, Queenie want pregnant, and Benjamin asked by the priest to walk get up from his chair, and Benjamin can walk but the priest got heart attack. After he can walk some happens such as he met mr. Weathers brother that had minus in his physical condition, he is short and ever live in zoo with monkeys, he born near lake, he ask Benjamin go out with him to the lake and meet his tall girl friend. Benjamin also learned play piano by a wearing diamond and good dressed lady that came to the house with her old dog. She said to Benjamin that not how well to play piano but how we feel when play piano, and also said that poor Benjamin because he grow younger and younger, so he will loose the people he loved because everybody go older. &lt;br /&gt;&lt;br /&gt;He met Daisy for the first time on Sunday, because that day family visiting the old people in the house. He never forget her blue eyes, he said he felt in love for the first time he saw her, he said that he met a person that will change his life forever. When lunch, the menu is turkey, Daisy said that did you know that turkey is not a bird, it is pheasant, bird that cannot fly. Queenie said that god answer her wish, he said that he didn't know what she meant. Daisy said that Queenie will have a baby, her mother ever said the same thing and she got a brother but not live long. She said silly to Benjamin. In the night Daisy grandma read book story to them, it's about kangoroo in 5 o'clock, the book in left side had short writes, and pictures in the right side. they love the story. And then when Benjamin is sleeping, he waken up by Daisy, she said why Benjamin sleep, and then she ask Benjamin followed her into below a table, she asked Benjamin to light the match for candle, Benjamin said that he shouldn't play with matches, she said don't be chicken, so Benjamin light the candle, and then she said that she tell a secret if he also tell one. And then she said that her mother ever kissed a man, and then Benjamin said that he actually not old as he looks, and Daisy said that he is odd, different than other people.&lt;br /&gt;&lt;br /&gt;In his teenage, he went with an old man that already got flash seven times to harbour, they met Irish captain, Mike Clark. Captain Mike ask people to help him and his tugboat for two dollars. Nobody want to, only Benjamin. Benjamin cleaned the boat happily, he said will do although not get paid. Inside the boat, captain Mike asked Benjamin is he still turn on in the morning, Benjamin said yes, the hard one. And then he asked when Benjamin got woman, Benjamin said never, he laugh loud and said that it is the poorest thing he met, he with old man that never with a woman in his boat. After sailing they went to pub, captain Mike asked Benjamin about his Father, Benjamin said he don't have one, captain Mike said lucky Benjamin because his father is bad person, he said that his father is a tugboat man and ever said to him that he will also a tugboat forever. He said to his father that he want to be an artist, so he is, he is an artist, a tattoo artist he tattoo all over his body, open his clothes and show Benjamin his tattoo. He said whatever people said, do whatever you wanna be, And then he asked Benjamin to get women, one woman want to be with Benjamin, Benjamin asked for more, but she said enough, and asked Benjamin are he Dick Tracy or something. &lt;br /&gt;&lt;br /&gt;After out from the pub he met Thomas that also had finished with woman in the pub, Thomas asked him to get a drunk, Thomas know that he was his son. Thomas asked his family name, he said that he did not have one, and then Thomas said that his family name is Button, Thomas also told him that his wife died when childbirth, when Thomas took Benjamin in front of his house, he asked Benjamin if he could ever come to visit him and said that nice to talk with him, and Benjamin said that is a pleasure to drink with him. After inside the house he met Queenie and puke because of drunk. And when Daisy is in the house he asked Daisy to go to the lake with his tugboat, he asked Daisy if she can swim, she said she can do whatever he can do. So he go to Captain Mike that sleep because of drunk on last night before. And when the boat is on its sailing, it met with big beautiful ship, Daisy said that someday she want inside that ship.&lt;br /&gt;&lt;br /&gt;In his seventeen he went out from the house working as a sailorman with seven other crews, in case Captain Mike got new job sail over the sea. When he walk out from the house, Daisy asked him to send her postcards wherever he went, wherever he did. So he sent Daisy postcards and photographs wherever he are, in Liverpool, Glasgow, and other places. Daisy also sent him letters, she said that she was in New York for audition in the American school of ballet. &lt;br /&gt;&lt;br /&gt;He said he is in Russia, he met the woman he loved, Elizabeth Abott, he said she not prety, thin as paper, she is wife of British ambassador. He met her on elevator when her high heels are broken. One night he cannot sleep he want to make a tea, he met her and asked her if she want a glass of tea. She told him every place he ever visit, she told her everything, they were talking until dawn. He remember the situation of the hotel in the midnight, the running mouse and stopping, the sound of radiator, the blowing curtain. They did it again every night, they talk each other until the dawn and good bye into the room for their own life. And one night, Elizabeth ask him to eat caviar and vodka, she said to chew them first and drink vodka a bit. She asked him that he never been with woman or eat caviar. And then she kissed him. It was the first time he kissed by a woman. She told him that when she was 19, she swim in English tunnel, unfortunately that night the water are hard for swimming, she already 38 hours in the sea, rain falls, and about two miles more is land, but she said stop swimming. She said she never do something in her life after that. And one night, Elizabeth is gone and send him message nice to meet him.&lt;br /&gt;&lt;br /&gt;It was war with japan, and all the sailor take a part, also Captain Mike, he asked his crew to join him, the koky didn't want to, Benjamin said that he can cook, so they were in war in the sea. In the ship they met Cherokee man that spirited for war, and one of the crew, the peasant asked Benjamin to give his money to his family in case something happened. In the sea there were a transport ship with 1300 people inside it got torpedo by Japanese, and then they got battle with bigger ship, the ship is crashed to the Japanese ship, Captain Mike died, he said that if the time is come let it flow. In the morning he saw hummingbird fly in the see. Captain Mike always tell about the bird, a mathematical symbol is taken from hummingbird, an infinity.&lt;br /&gt;&lt;br /&gt;He went home in 26 years old, Queenie looks old, Mr. Weathers already died, he met Thomas again, Thomas said that he is his son, he should not abandoned him, He told him that his grandpa is a taylor, his father moved to New Orleans, and now They have a Button's Button, a button factory that grow bigger as war happen because the shoulders need button for their uniforms. He asked Benjamin looks around the home. He saw his mama's picture, Caroline, Thomas said that Caroline was a cook in the kitchen, he made a hole in the wall so can see her in the kitchen, she is from Dublin. He said in young age he loves wake up early in the morning to saw the lake, and he meet her for the first time and felt in love with her.&lt;br /&gt;&lt;br /&gt;He meet Daisy again, now she is a woman, he said that she is the most beautiful women he ever met, she said she only two days in New Orleans, he asked her for dinner. All she do was talking, telling him about new york, about people in her company, about she was taking classical ballet, he doesn't know what she talk about or the names she mentioned, but he loves to hear the story. And then they come to a place that Daisy dancing ballet there and asked him for making love, but he rejected her because he ashamed of his condition.&lt;br /&gt;&lt;br /&gt;Thomas is dying and asked Benjamin to the lake to watch sun rise that he used to do when he is a young boy. And Benjamin now is the owner of Button's Button, he came to New York to Daisy told her that his father died. He came brought flower and watch her show, he did not tell about his come, Daisy little bit ignore him because after the show the crew has his own event, everybody is young. He met David, David kiss Daisy and dance with her, David asked Benjamin is he her grandmother's friend or something. He asked by Daisy to join with her and her friends, but Benjamin refused, he said that it is his fault not tell her first about his coming, and ask her is David love her, she said she think so. So Benjamin went home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2870275574483630939?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2870275574483630939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2870275574483630939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2870275574483630939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2870275574483630939'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/benjamin-button-curious-case.html' title='Benjamin Button, The Curious Case'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1990919692945574231</id><published>2009-06-04T19:06:00.000-07:00</published><updated>2009-06-04T19:08:58.143-07:00</updated><title type='text'>Monohara and Bu Prita</title><content type='html'>Both of them are women, both of them are victims, so tv and news will always love them, Im not quite like watching tv and news, so I feel lack of information about them, but I feel want to write about them.&lt;br /&gt;&lt;br /&gt;For last two days I breakfast and watching morning news on tvone for few minuites during breakfast, the show is "Selamat Pagi" or similar like that. Yesterday is about Monohara, seventeen Indonesian-France girl, a tall beautiful model that get married of prince Kelantan Malaysia but runaway back into Jakarta, and today is about bu Prita, a mother of two little children that already jail because he wrote on the net about her regret of hospital service.&lt;br /&gt;&lt;br /&gt;Yesterday the guess is Nia Daniati, because she was a wife of prince of Brunei, I don't know which prince, and then a man that work for Kelantan kingdom, and some other man. That man said that Monohara ever run to Jakarta before in the past year, so the kingdom want his help to get Monohara back, and he was invited by kingdom to see the inside of the kingdom, he said that it beautiful place and didnot feel creepy inside. He said that in the first week, Manohara's mom, Daisy, is always sleeping in the same room with Mano, so prince Fakhri sleep on other room, and then he said that Mrs Daisy want that kingdom pay her owes in jakarta, he said again that she wear Mono's necklace as a gift from kingdom as a princess, so she was told by kingdom for what she did.&lt;br /&gt;&lt;br /&gt;And the day before I watch Mono said that she runaway from kingdom because she was tortured by her husband, she was injured by razor blade. She said that the kingdom family was same as her husband, didnot help her, also the malaysian public or media, she said that she helped by the public of Singapore and Indonesia. This case also came to Indonsian ambassador, Da'i Bachtiar asked by Indonesian for helping her.&lt;br /&gt;&lt;br /&gt;Bu Prita is a mother who wrote in the net, in a kind of public opinion in the net about the hospital service, unfortunately she used wrong sentence, rude sentence, although she was victims and clearly the hospital did wrong procedure, the doctor said that she got "Demam Berdarah", and she got medical rescue, she should only rest without got medicine drug. She was in jail for few weeks, and now she was free but as town prisoner, I don't know the detail, I think you know more rather than me, this case is discussed in mailing list, facebook, there is group for bu Prita, and I join the group because I was invite. and then I heard that some internet comunity said to boycott the hospital, but the hospital say not afraid of that.&lt;br /&gt;&lt;br /&gt;In mailing list, the case is widely spread about the law, in case bu Prita is jailed fastly without long procedure as should be. Somebody said is just because bu Prita versus International hospital, and the hospital rules because win of money to pay the law. Some others said that bu Prita shouldn't write to media about her problem, she should claim to hospital privately, and some other said how she can claim by herself? she will face the bigger problem and perhaps will ignored by the hospital, she did the right thing, she need media, she need internet, the powerful internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1990919692945574231?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1990919692945574231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1990919692945574231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1990919692945574231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1990919692945574231'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/06/monohara-and-bu-prita.html' title='Monohara and Bu Prita'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1429226067400543955</id><published>2009-05-19T18:55:00.000-07:00</published><updated>2009-05-19T23:20:43.331-07:00</updated><title type='text'>Watching JK-Wiranto on TV</title><content type='html'>I was back home late at night, it's about 8.30 after I change my clothes I had my dinner on living room, accompanied by my living friends, we were watching tv together. I forgot the title of the show but the presenter was Helmy Yahya. Its on Trans7. The show already run, it's not live show. The setting is in studio with hundreds of audience there, most of them wearing golden yellow dress, the golkar color. I guess it's the same place with Bukan Empat Mata place with Tukul Arwana as the star.&lt;br /&gt;&lt;br /&gt;There are four guests who give questions in front of JK-Wiranto, Oppie Andariesta, a woman that I forgot the name, Todung Mulya Lubis, and Kak Seto. I was late not watching the show from beginning. In the middle of the show there is a video about BLT in Kediri which killed some poeple to get 30000 rupiah because of the crowded to get the money. Oh dear what's our fault until there's happened in Kediri. I cannot imagine it happened in a wealth city such Kediri. I forgot the question from the woman, she asked about real implementation from the candidate for solving the wealthiness of the people. Wiranto is great speaker, I forgot what exactly he said, but I think that he said that it's a casuistic thing that should not be generalize it, many people helped because of BLT. I forgot the detail of the answer but I remember when Helmy Yahya adding the question: "Is BLT will happened again in the future?". JK said that BLT is not an anual program, it's ad-hoc program. The idea of BLT rise in his room in the past years because we need a way to help poor people if the gasoline price is rise. So BLT happened only twice when the gasoline price is up. In the 2004 (perhaps, I forget again) and 2008.  That tragedy is happen in March 2009 because BLT gives money for ten months. And it will never happen again in the future. &lt;br /&gt;&lt;br /&gt;And then Oppie asked about women labour in foreign country. I think both JK-Wiranto answer it with a diplomatic way that they want to have working field in Indonesia and the labour should working here. And then Helmy add the question that there were women as a carrier of drugs. JK said that women as the carrier of drug is because it minimalize the oportunity known by the police rather than Men as the carrier. It's not the problem of the women as the carrier, the problem is the drug. And then Oppie asked again about the women rights. And Wiranto answered it that actually in Indonesia the women rights is already has much attention, there already quota in somewhere some occasion for women, and that only happend in this country. &lt;br /&gt;&lt;br /&gt;Kak Seto question is about children and education, he asked about Ujian Nasional. JK said that at the past time he met people from neighbour country, Malaysia, Singapore, or Philipines. That those country have a harder exam and higher passing grade for graduation. So the first time UN grade limit is 3.5 and the next year it will higher be 4, and so on. It just because we didn't want to be behind from those countries. And it's not same passing grade for each region, perhaps it's 8 in Jakarta and 3 in east Indonesia. And he add that we should happy because of the afraid of fail in UN, because there were Istighosah, praying for passing, and minimize the students war between schools. And Kak Seto asked again about the recipe to have a great and harmony family. Wiranto said that his recipe is by giving his family kind of freedom and he role as a good man in actual life.&lt;br /&gt;&lt;br /&gt;And then Todung asked about how to take money back from out of the country, in case the money may a hard or wrong money because of the processing the natural recource we have. And both JK-Wiranto answer it with a diplomatic way. AFAIR JK already ask the ministry for the rules, and he said that in case of the resource is mainly is mining, so to optimize the result we should use it for ourselves by adding the using industry or some like that. &lt;br /&gt;&lt;br /&gt;And then Helmy asked both JK-Wiranto ask their family enter the stage, JK wife's named Mufida, they brought four children in that stage, three girls and a boy, and ten of grand children, two of them are in the stage. While JK mention their names, one of his children angry because he wrong to mention his name, JK mention his call name not the actual name. While Wiranto wife's name is ended with Usman, he said that means she is the daughter of mr. Usman. She is from Gorontalo same island with JK, he said that his children is Jago (Java-Gorontalo). They have two doughters Maya and Lia, and a son. Maya and his brother is in America while Lia is in Jakarta but did not come to the show, but there's Lia's husband and their three of four children. All of their family is religious family, very happy to see that.&lt;br /&gt;&lt;br /&gt;Im sorry that I cannot remember the details of the show, and honestly Im not good in writing or talking politics. It's a hard thing for me. But both JK and Wiranto are smart people, they able to speak without script, they communicate friendly without trying to be grace, they were not like a student who read report in front of foreign people saying that Indonesia had great progress in economy and democracy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1429226067400543955?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1429226067400543955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1429226067400543955' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1429226067400543955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1429226067400543955'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/watching-jk-wiranto-on-tv.html' title='Watching JK-Wiranto on TV'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-5453389483971895108</id><published>2009-05-16T22:37:00.000-07:00</published><updated>2009-05-17T19:22:47.048-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>The Prayer</title><content type='html'>Call me the prayer, Perhaps I don't know well of my religion knowledge, but no matter what I do just please categorized me as the prayer. &lt;br /&gt;&lt;br /&gt;Perhaps I'm not a good person, and I knew Im not, Im a bad person in society, a selfish and a hedonist person, I don't know and not too enthusiastic with what happened to my neighbors or my friends. I'm the villain in the movie, Im the joker in the Dark Night, or perhaps the two face. But is it wrong for me to take this path? as a religious person, as a good wannabe person.&lt;br /&gt;&lt;br /&gt;It is a shame for me as a person that born in religious environment but don't know much about my religion, Everybody around my neighborhood in surabaya is great alquran reader, some of them able to read arabic with no harokat, they remember a lot of praying reading and the how to's. While me.. Im nothing in my religious view.&lt;br /&gt;&lt;br /&gt;But that's me, it's already happened to my life, there are so many regret in this life and I don't want to be in that regret forever. Just receive me as the way I am, with the all that I have.&lt;br /&gt;&lt;br /&gt;I fix my life pieces by pieces, I rebuild my career again, and thanks god I've been in this office and feel received with all the aspect of it. Today is exactly my a year plus two month in this office, it is the longest time for me for working, and I hope it will happen to me for long time, for longer years forward. I was moving and moving again in my previous works, I don't want do that again, at least as far as this company need me, I will not search for other place.&lt;br /&gt;&lt;br /&gt;Im a humble person, Im not expecting to be reach and success, I already used to live simple. Im a happy with the all that I have. I have great family that will always receive me when I back to Surabaya. I have a lot of friends, well it's not as much as you have I guess, but I have a lot of friends. And I have a great job, I build great application for users. I am an engineer, I dedicate may days for building software, I am an enthusiastic person to technology, Im a good learner.&lt;br /&gt;&lt;br /&gt;I said to myself that working is praying, living is praying, Im not a holy person that clean of everything, and as an ordinary person I am a full of mistake, full of sin. It is far more easy for me to write it beautifully, I know it hard to do in real life, but I feel so in religious atmosphere right now, is it a mistake for me that I write what I want to do in my own life? I know I will far... far away for this ideal life, I just want to write it, perhaps I can read it again and useful for me or somebody else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-5453389483971895108?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/5453389483971895108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=5453389483971895108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5453389483971895108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5453389483971895108'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/prayer.html' title='The Prayer'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1194983039567713476</id><published>2009-05-16T21:28:00.000-07:00</published><updated>2009-05-17T19:22:28.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm with java'/><title type='text'>Queue and Stack With Linked List</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WcYcnu7jwBA/Sg-bZlMAldI/AAAAAAAAADw/ZfIpZdLpZ-Q/s1600-h/linkedlistImpl.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 246px;" src="http://4.bp.blogspot.com/_WcYcnu7jwBA/Sg-bZlMAldI/AAAAAAAAADw/ZfIpZdLpZ-Q/s400/linkedlistImpl.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336654947238843858" /&gt;&lt;/a&gt;&lt;br /&gt;This post is based on &lt;a href="http://bluejundi.wordpress.com/2009/05/13/program-queue-memakai-linked-list/"&gt;my senior post&lt;/a&gt;, his post is a C program about queue using Linked List, I made the java version and I extend it not only implementing queue with Linked List but also implementing stack.&lt;br /&gt;&lt;br /&gt;I also improve my coding style, in which Im not write all of the stuff in main method, but I divide them into their own methods, so I have enqueue and dequeue method for queue, push and pop method for stack, also view and clear linked list method. So I only need call them in main method, it more clear and readable.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;package stack.queue;&lt;br /&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;class Node {&lt;br /&gt; int info;&lt;br /&gt; Node next;&lt;br /&gt;&lt;br /&gt; public Node(int d) {&lt;br /&gt;  info = d;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class LinkedListImpl {&lt;br /&gt; static Node newNode;&lt;br /&gt; static Node front;&lt;br /&gt; static Node rear;&lt;br /&gt; static Node tempNode;  &lt;br /&gt; static Scanner scanner = new Scanner(System.in);&lt;br /&gt; &lt;br /&gt; public static void enqueue() {&lt;br /&gt;  System.out.print("Data enter: ");&lt;br /&gt;  newNode = new Node(scanner.nextInt());&lt;br /&gt;  if (front == null) {&lt;br /&gt;   front = newNode;&lt;br /&gt;   rear = newNode;  //rear is never null, because if front is null, &lt;br /&gt;        //the new Node is also the rear&lt;br /&gt;  } else {&lt;br /&gt;   rear.next = newNode;&lt;br /&gt;   rear = newNode;  //nothing happen with the front&lt;br /&gt;  }&lt;br /&gt;  System.out.println();&lt;br /&gt; }&lt;br /&gt; public static void dequeue() {&lt;br /&gt;  if (front != null) {&lt;br /&gt;   tempNode = front;&lt;br /&gt;   System.out.println("Data out = " + tempNode.info);&lt;br /&gt;   front = tempNode.next;&lt;br /&gt;  } else {&lt;br /&gt;   System.err.println("Queue is empty!");&lt;br /&gt;  }&lt;br /&gt;  System.out.println();&lt;br /&gt; }&lt;br /&gt; public static void push() { //push as front not as rear&lt;br /&gt;  System.out.print("Data enter: ");&lt;br /&gt;  newNode = new Node(scanner.nextInt());&lt;br /&gt;  if (front == null) {&lt;br /&gt;   front = newNode;&lt;br /&gt;   rear = newNode;  //rear is never null, because if front is null, &lt;br /&gt;        //the new Node is also the rear&lt;br /&gt;  } else {&lt;br /&gt;   tempNode = front;&lt;br /&gt;   front = newNode;&lt;br /&gt;   front.next = tempNode; //nothing happen with the rear&lt;br /&gt;  }&lt;br /&gt;  System.out.println();&lt;br /&gt; }&lt;br /&gt; public static void pop() {&lt;br /&gt;  if (front != null) {&lt;br /&gt;   tempNode = front;&lt;br /&gt;   System.out.println("Data out = " + front.info);&lt;br /&gt;   front = tempNode.next;&lt;br /&gt;  } else {&lt;br /&gt;   System.err.println("Queue is empty!");&lt;br /&gt;  }&lt;br /&gt;  System.out.println();&lt;br /&gt; }&lt;br /&gt; public static void viewFromFront() {&lt;br /&gt;  tempNode = front;&lt;br /&gt;  while (tempNode != null) { &lt;br /&gt;   System.out.print(tempNode.info + " ");&lt;br /&gt;   tempNode = tempNode.next;&lt;br /&gt;  }&lt;br /&gt;  System.out.println("\n");&lt;br /&gt; }&lt;br /&gt; public static void clearList() {&lt;br /&gt;  front = null;&lt;br /&gt;  rear = null;&lt;br /&gt; }&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  int choiceMain = 0;&lt;br /&gt;  do {&lt;br /&gt;   System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");&lt;br /&gt;   System.out.println("Menu Implementation:");&lt;br /&gt;   System.out.println("1. QUEUE\t2. STACK\t3. EXIT FROM APPLICATION");&lt;br /&gt;   System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");&lt;br /&gt;   System.out.print("Please Choose Menu : ");&lt;br /&gt;   choiceMain = scanner.nextInt();&lt;br /&gt;   switch (choiceMain) {&lt;br /&gt;   case 1:&lt;br /&gt;    System.out.println("************************************************************");&lt;br /&gt;    System.out.println("Queue Menu:");&lt;br /&gt;    System.out.println("1. ENQUEUE\t2. DEDQUEUE\t3. VIEW\t4. EXIT FROM QUEUE");&lt;br /&gt;    System.out.println("************************************************************");&lt;br /&gt;    int choiceQueue = 0;&lt;br /&gt;    do {     &lt;br /&gt;     System.out.print("Please Choose Menu : ");&lt;br /&gt;     choiceQueue = scanner.nextInt();&lt;br /&gt;     switch (choiceQueue) {&lt;br /&gt;     case 1: enqueue();&lt;br /&gt;      break;&lt;br /&gt;     case 2: dequeue();&lt;br /&gt;      break;&lt;br /&gt;     case 3: viewFromFront();&lt;br /&gt;      break;&lt;br /&gt;     case 4:&lt;br /&gt;      clearList();&lt;br /&gt;      System.err.println("Exiting From Queue...");&lt;br /&gt;      break;&lt;br /&gt;     }&lt;br /&gt;    } while (choiceQueue != 4);&lt;br /&gt;    break;&lt;br /&gt;   case 2:&lt;br /&gt;    System.out.println("************************************************************");&lt;br /&gt;    System.out.println("Stack Menu:");&lt;br /&gt;    System.out.println("1. PUSH\t2. POP\t3. VIEW\t4. EXIT FROM STACK");&lt;br /&gt;    System.out.println("************************************************************");&lt;br /&gt;    int choiceStack = 0;&lt;br /&gt;    do {     &lt;br /&gt;     System.out.print("Please Choose Menu : ");&lt;br /&gt;     choiceStack = scanner.nextInt();&lt;br /&gt;     switch (choiceStack) {&lt;br /&gt;     case 1: push();&lt;br /&gt;      break;&lt;br /&gt;     case 2: pop();&lt;br /&gt;      break;&lt;br /&gt;     case 3: viewFromFront();&lt;br /&gt;      break;&lt;br /&gt;     case 4:&lt;br /&gt;      clearList();&lt;br /&gt;      System.err.println("Exiting From Stack...");&lt;br /&gt;      break;&lt;br /&gt;     }&lt;br /&gt;    } while (choiceStack != 4);&lt;br /&gt;    break;&lt;br /&gt;   case 3:&lt;br /&gt;    System.err.println("Exiting From Application...");&lt;br /&gt;    break;&lt;br /&gt;   }&lt;br /&gt;  } while (choiceMain != 3);&lt;br /&gt;  System.err.println("Application terminated.");&lt;br /&gt; }&lt;br /&gt;} &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1194983039567713476?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1194983039567713476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1194983039567713476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1194983039567713476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1194983039567713476'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/queue-and-stack-with-linked-list.html' title='Queue and Stack With Linked List'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WcYcnu7jwBA/Sg-bZlMAldI/AAAAAAAAADw/ZfIpZdLpZ-Q/s72-c/linkedlistImpl.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1844515224266882343</id><published>2009-05-14T23:00:00.000-07:00</published><updated>2009-05-17T19:22:28.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm with java'/><title type='text'>Queue Using Stack</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WcYcnu7jwBA/Sg0Vmiwzu6I/AAAAAAAAADo/wvCgLf-tisU/s1600-h/queueBoth.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="http://1.bp.blogspot.com/_WcYcnu7jwBA/Sg0Vmiwzu6I/AAAAAAAAADo/wvCgLf-tisU/s320/queueBoth.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5335944885414640546" /&gt;&lt;/a&gt;&lt;br /&gt;Tis post is the continues of my previous post and there will be two complete java program, the java version of &lt;a href="http://bluejundi.wordpress.com/2009/05/11/contoh-program-queue-menggunakan-array/"&gt;my senior post&lt;/a&gt; and the revision version that I made in case in my opinion his program still have an error. &lt;br /&gt;&lt;br /&gt;Queue as if in a line of waiting ticket for cinema has front and rear, the front is the the first person in that line who will get the ticket the first time, while the rear is the last person in that line that will get the ticket if he/she is lucky because he will get the ticket the last one. &lt;br /&gt;&lt;br /&gt;If the first person already got his ticket, he will out from the line, and then the person behind him/her all person in the line move forward, I assume that got ticket person's named Imam, and the person behind him is Baihaqi, so Imam is no longer in the line, while Baihaqi is in the front now. &lt;br /&gt;&lt;br /&gt;If we indexing the line by 0, 1, 2, 3, etc. Imam is no longer in the index, he already out for buying coke or chocolate milk for the movie, While Baihaqi is in index 0, before that he was in index 1. So do the last person named Ahmad, he is the rear or the last person in line, his index is decremented, from index number 30 now he is in index 29. And then there is a new person that also want to buy the ticket named Ali, now he is the rear or the last person in line, his index is 30, etc etc.&lt;br /&gt;&lt;br /&gt;In queue there are enqueue and dequeue, enqueue is just like Ali when enter the line, he will be as the rear of the queue, his index is rear plus one, I mean in enqueue the rear is incremented while the front remains unchanged. While dequeue is just when Imam out from the line because of he already got the ticket, all the person moving forwards, now the person who is in the front now is change, the front person is Baihaqi not Imam anymore, but still the index of the front is always 0, and the rear is decremented.&lt;br /&gt;&lt;br /&gt;In my senior program's there is a mistake about this, specifically in dequeue, I guess he thought that the front is the person, not the index, the first is Imam in front, and then after dequeue, Baihaqi is the front, but I think is a mistake, front and rear is refer to index, front is always 0, and rear is always change when enqueue or dequeue, if enqueue its increment, if dequeue its decrement.&lt;br /&gt;&lt;br /&gt;I already capture the output of both program, and sign it when doing dequeue, after dequeueing it also print the index of the front and the rear, so it will more clear about them. Here is the full code of my senior program in java version:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;package stack.queue;&lt;br /&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class QueueUsingStack {&lt;br /&gt; static final int MAXQUEUE = 5;&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  Scanner scanner = new Scanner(System.in);&lt;br /&gt; &lt;br /&gt;  int[] queue = new int[MAXQUEUE];&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;int front = -1;&lt;/span&gt;&lt;br /&gt;  int rear = -1;&lt;br /&gt;  int choice;&lt;br /&gt;  &lt;br /&gt;  do {&lt;br /&gt;   System.out.println("*******************************");&lt;br /&gt;   System.out.println("Menu:");&lt;br /&gt;   System.out.println("1. ENQUEUE\t2. DEDQUEUE\t3. VIEW\t4. EXIT");&lt;br /&gt;   System.out.println("*******************************");&lt;br /&gt;   System.out.print("Please Choose Menu : ");&lt;br /&gt;   choice = scanner.nextInt();&lt;br /&gt;   switch (choice) {&lt;br /&gt;   case 1://enqueue&lt;br /&gt;    if (rear &lt; MAXQUEUE - 1) { //is queue not full yet?&lt;br /&gt;     System.out.print("Data enter = ");&lt;br /&gt;     queue[rear + 1] = scanner.nextInt();&lt;br /&gt;     rear++;&lt;br /&gt;     System.out.println();&lt;br /&gt;     if(rear == 0) front = 0;&lt;br /&gt;    } else {&lt;br /&gt;     System.err.println("Queue is Full");&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 2: //dequeue&lt;br /&gt;    if (front &lt;= rear) {//&lt;br /&gt;     &lt;span style="font-weight:bold;"&gt;System.out.println("Data out: " + queue[front]);&lt;br /&gt;     front++;&lt;/span&gt;&lt;br /&gt;     System.out.println("front: " + front + ", rear: " + rear);&lt;br /&gt;    } else {&lt;br /&gt;     System.err.println("Queue is Empty");&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 3:&lt;br /&gt;    for (int i = front; i &lt;= rear; i++) {&lt;br /&gt;     System.out.print(queue[i] + " ");&lt;br /&gt;    }&lt;br /&gt;    System.out.println();&lt;br /&gt;    break;&lt;br /&gt;   case 4:&lt;br /&gt;    System.out.println("Exit...");&lt;br /&gt;   }&lt;br /&gt;  } while (choice != 4);&lt;br /&gt;  System.err.println("Program terminated");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I mark bold for the front declaration and statements when dequeue, the front is a variable that can change, the first initial is -1 and it increment when dequeue, while in dequeue, it only increment the front, and the data of queue is not moving, all the remain data should move forwards.&lt;br /&gt;&lt;br /&gt;Below is my program, the diferent is I made the front as constant, because it always 0, and while dequeue, all of the data is moving forwards, and the rear is decremented. And I also comment the checking if rear == 0 then front = 0, I make the font bold. About the initialization of rear as -1, is because I follow my senior, It only initialization, you can initialize rear as 0, or whatever the number is doesn't problem because it will checked inside the program.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;package stack.queue;&lt;br /&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class MyQueueUsingStack {&lt;br /&gt; static final int MAXQUEUE = 5;&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  Scanner scanner = new Scanner(System.in);&lt;br /&gt; &lt;br /&gt;  int[] queue = new int[5];  &lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;final int FRONT = 0;&lt;/span&gt;&lt;br /&gt;  int rear = -1;&lt;br /&gt;  int choice;&lt;br /&gt;  &lt;br /&gt;  do {&lt;br /&gt;   System.out.println("*******************************");&lt;br /&gt;   System.out.println("Menu:");&lt;br /&gt;   System.out.println("1. ENQUEUE\t2. DEDQUEUE\t3. VIEW\t4. EXIT");&lt;br /&gt;   System.out.println("*******************************");&lt;br /&gt;   System.out.print("Please Choose Menu : ");&lt;br /&gt;   choice = scanner.nextInt();&lt;br /&gt;   switch (choice) {&lt;br /&gt;   case 1://enqueue&lt;br /&gt;    if (rear &lt; MAXQUEUE - 1) { //is queue not full yet?&lt;br /&gt;     System.out.print("Data enter = ");&lt;br /&gt;     queue[rear + 1] = scanner.nextInt();&lt;br /&gt;     rear++;&lt;br /&gt;     System.out.println();&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;//     if(rear == 0) front = 0;&lt;/span&gt;&lt;br /&gt;    } else {&lt;br /&gt;     System.err.println("Queue is Full");&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 2: //dequeue&lt;br /&gt;    if (rear &gt;= FRONT) {//is queue not empty yet?&lt;br /&gt;     &lt;span style="font-weight:bold;"&gt;System.out.println("Data out: " + queue[FRONT]);&lt;br /&gt;     //queue is moving&lt;br /&gt;     for (int i = FRONT; i &lt; rear; i++) {&lt;br /&gt;      queue[i] = queue[i+1];&lt;br /&gt;     }&lt;br /&gt;     rear--;&lt;/span&gt;&lt;br /&gt;     System.out.println("front: " + FRONT + ", rear: " + rear);&lt;br /&gt;    } else {&lt;br /&gt;     System.err.println("Queue is Empty");&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 3:&lt;br /&gt;    for (int i = FRONT; i &lt;= rear; i++) {&lt;br /&gt;     System.out.print(queue[i] + " ");&lt;br /&gt;    }&lt;br /&gt;    System.out.println();&lt;br /&gt;    break;&lt;br /&gt;   case 4:&lt;br /&gt;    System.out.println("Exit...");&lt;br /&gt;   }&lt;br /&gt;  } while (choice != 4);&lt;br /&gt;  System.err.println("Program terminated");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1844515224266882343?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1844515224266882343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1844515224266882343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1844515224266882343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1844515224266882343'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/queue-using-stack.html' title='Queue Using Stack'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WcYcnu7jwBA/Sg0Vmiwzu6I/AAAAAAAAADo/wvCgLf-tisU/s72-c/queueBoth.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-8889532668805339856</id><published>2009-05-11T19:26:00.000-07:00</published><updated>2009-05-17T19:22:28.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm with java'/><title type='text'>Queue Using Double Linked List</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WcYcnu7jwBA/SgjnUwI0ySI/AAAAAAAAADg/yY8BTJ0nbYA/s1600-h/doubleLinkedList.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_WcYcnu7jwBA/SgjnUwI0ySI/AAAAAAAAADg/yY8BTJ0nbYA/s320/doubleLinkedList.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5334768102325668130" /&gt;&lt;/a&gt;&lt;br /&gt;This post is the continue of &lt;a href="http://imam-baihaqi.blogspot.com/2009/05/stack-using-array-java-implementation.html"&gt;my previous post&lt;/a&gt;, and it is the java version of &lt;a href="http://bluejundi.wordpress.com/2009/05/05/contoh-program-double-linked-list/#more-299"&gt;my senior post&lt;/a&gt; about queue using double link list, he use C, it implementing the data structure book by yedidyah langsam and andrew s. tanenbaum's book, a subject in bachelor of computer science.&lt;br /&gt;&lt;br /&gt;In case in my senior post there is a comment that asked about double linked list, I want to describe about double linked list on my own word. it's a data structure which each object has three components:&lt;br /&gt;- value, information that object had, it can be integer, or some other things, just like array of integer, or array of other things&lt;br /&gt;- link to object in front of it. which is the same object type&lt;br /&gt;- link to object in previous of it.&lt;br /&gt;&lt;br /&gt;the head (the most front of list) did not have link to front object, and the rear did not have link to previous object, if both of those object have links, it called circular doubly linked list. fiuhhh feels like lecture when I write it, and I think I am a good lecture ^_^&lt;br /&gt;&lt;br /&gt;By the way after I run the program which is the java version of my senior program, in case there's plenty example of double link list on net such as &lt;a href="http://www.java2s.com/Code/Java/Collections-Data-Structure/Doublylinkedlistwithdatastructure.htm"&gt;from java2s&lt;/a&gt;, I guess there still a question for my senior algorithm, I already capture the console of java version, and I think that program is not too queueing as properly.&lt;br /&gt;&lt;br /&gt;Queue is just like when we want to buy ticket at the XII cinema, the first body in the head (front) will get his ticket first and then out from the list (FIFO). While stack is just like the order of oreo cake in a tuppleware, we put oreo one by one in one of thin tuppleware, and then we take out one by one also, the last oreo we put, the first one we take and eat with a glass of milk (LIFO).&lt;br /&gt;&lt;br /&gt;When I run the program and then I insert the list in order like 10, 20, 30, and so on. The head (front) of the list it should be 10, the first one, not the last one, but when we choose to view the list, it say that 10 is the rear, and I think that the first mistake. The second mistake is when we choose Delete Front, It will delete the last input, I think it also a mistake, in the queue of XII ticketing, the Front is the first person in the line, so he/she is the first person will get the ticket, not the last one.&lt;br /&gt;&lt;br /&gt;I will tell my senior about this mistake, and this is the full code of the program, just copy paste and run it in your environment as you want:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;package stack.queue;&lt;br /&gt;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;class Node {&lt;br /&gt; Node previous;&lt;br /&gt; int info;&lt;br /&gt; Node next;&lt;br /&gt;&lt;br /&gt; public Node(int d) {&lt;br /&gt;  info = d;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class QueueUsingDLL {&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  Scanner scanner = new Scanner(System.in);&lt;br /&gt;&lt;br /&gt;  Node newNode = null;&lt;br /&gt;  Node head = null;&lt;br /&gt;  Node tail = null;&lt;br /&gt;  Node tempNode = null;&lt;br /&gt;&lt;br /&gt;  int choice = 0;&lt;br /&gt;  do {&lt;br /&gt;   System.out.println("\n***************************************************************");&lt;br /&gt;   System.out.println("Menu:");&lt;br /&gt;   System.out.println("1. Insert Front\t2. View\t3. Search\t4. Delete Front\t5. Exit");&lt;br /&gt;   System.out.println("***************************************************************");&lt;br /&gt;   System.out.print("Please Choose Menu : ");&lt;br /&gt;   choice = scanner.nextInt();&lt;br /&gt;   switch (choice) {&lt;br /&gt;   case 1:&lt;br /&gt;    System.out.print("Data entry: ");&lt;br /&gt;    int data = scanner.nextInt();&lt;br /&gt;    System.out.println("You're entering " + data);&lt;br /&gt;    newNode = new Node(data);&lt;br /&gt;    if (head == null) {&lt;br /&gt;     head = newNode;&lt;br /&gt;     tail = newNode;&lt;br /&gt;    } else {&lt;br /&gt;     newNode.next = head;&lt;br /&gt;     head.previous = newNode;&lt;br /&gt;     head = newNode;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 2: // view&lt;br /&gt;    System.out.print("From HEAD: ");&lt;br /&gt;    tempNode = head;&lt;br /&gt;    while (tempNode != null) {&lt;br /&gt;     System.out.print(tempNode.info + " ");&lt;br /&gt;     tempNode = tempNode.next; // move to back&lt;br /&gt;    }&lt;br /&gt;    System.out.print("\nFrom TAIL: ");&lt;br /&gt;    tempNode = tail;&lt;br /&gt;    while (tempNode != null) {&lt;br /&gt;     System.out.print(tempNode.info + " ");&lt;br /&gt;     tempNode = tempNode.previous; // move to front&lt;br /&gt;    }&lt;br /&gt;    System.out.println("");&lt;br /&gt;    break;&lt;br /&gt;   case 3: // search&lt;br /&gt;    System.out.print("Searching number: ");&lt;br /&gt;    int search = scanner.nextInt();&lt;br /&gt;    tempNode = head;&lt;br /&gt;    while ((tempNode != null) &amp;&amp; (tempNode.info != search)) {&lt;br /&gt;     tempNode = tempNode.next;&lt;br /&gt;    }&lt;br /&gt;    if ((tempNode != null) &amp;&amp; (tempNode.info == search)) {&lt;br /&gt;     System.out.println("Data found");&lt;br /&gt;    } else {&lt;br /&gt;     System.err.println("Data not found");&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 4: // delete front&lt;br /&gt;//    tempNode = head;&lt;br /&gt;    head = head.next;&lt;br /&gt;    if (head != null) {&lt;br /&gt;     head.previous = null;&lt;br /&gt;     System.out.println("Head deleted");&lt;br /&gt;    }&lt;br /&gt;    if (head == null)&lt;br /&gt;     tail = null;&lt;br /&gt;    break;&lt;br /&gt;   case 5:&lt;br /&gt;    System.err.println("Exit...\n");&lt;br /&gt;    break;&lt;br /&gt;   }&lt;br /&gt;  } while (choice != 5);&lt;br /&gt;  System.err.println("Program terminated");&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-8889532668805339856?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/8889532668805339856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=8889532668805339856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8889532668805339856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8889532668805339856'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/queue-using-double-linked-list.html' title='Queue Using Double Linked List'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WcYcnu7jwBA/SgjnUwI0ySI/AAAAAAAAADg/yY8BTJ0nbYA/s72-c/doubleLinkedList.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-6786573103205712645</id><published>2009-05-06T04:25:00.000-07:00</published><updated>2009-05-17T19:22:28.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm with java'/><title type='text'>Stack Using Array, Java Implementation of Langsam &amp; Tanenbaum's Data Structure</title><content type='html'>I read &lt;a href="http://bluejundi.wordpress.com/2009/05/05/contoh-program-stack-memakai-array/#more-297"&gt;my senior's post&lt;/a&gt; whom a lecturer in surabaya about stack using array, he is using C. I remember that problem arise in Data Structure when I was in bachelor, taken from Yedidyah Langsam and Andrew S. Tanenbaum's book. So I rewrite his code in java version. Feels great that you try to remembering what you learn for past years, and in fact at that time I donot understand at all about the subject.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;package stack.queue;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;public class StackFromArray {&lt;br /&gt; final static int MAX = 5;&lt;br /&gt; public static void main(String[] args) throws IOException {&lt;br /&gt;  Scanner scanner = new Scanner(System.in);&lt;br /&gt;  &lt;br /&gt;  int stack[] = new int[MAX];&lt;br /&gt;  int top = -1;&lt;br /&gt;  int choice = 0;&lt;br /&gt;  do {&lt;br /&gt;   System.out.println("\n*******************************");&lt;br /&gt;   System.out.println("Menu:");&lt;br /&gt;   System.out.println("1. PUSH\t2. POP\t3. VIEW\t4. EXIT");&lt;br /&gt;   System.out.println("*******************************");&lt;br /&gt;   System.out.print("Please Choose Menu : ");&lt;br /&gt;   choice = scanner.nextInt();&lt;br /&gt;   switch (choice) {&lt;br /&gt;   case 1: //push&lt;br /&gt;    if (top &gt;= MAX - 1)&lt;br /&gt;     System.err.println("Stack is full");&lt;br /&gt;    else {&lt;br /&gt;     System.out.print("Data You want to push : ");&lt;br /&gt;     int data = scanner.nextInt();&lt;br /&gt;     System.out.println("You pushed " + data);&lt;br /&gt;     stack[top + 1] = data;&lt;br /&gt;     top++;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 2: //pop&lt;br /&gt;    if (top &lt; 0)&lt;br /&gt;     System.out.println("Stack is empty");&lt;br /&gt;    else {&lt;br /&gt;     System.out.print("Data out = " + stack[top]);&lt;br /&gt;     top--;&lt;br /&gt;    }&lt;br /&gt;    break;&lt;br /&gt;   case 3: //view&lt;br /&gt;    for (int i = 0; i &lt; stack.length; i++)&lt;br /&gt;     System.out.print(stack[i] + " ");     &lt;br /&gt;    System.out.println("\n");&lt;br /&gt;    break;&lt;br /&gt;   case 4: //view&lt;br /&gt;    System.out.println("Exit...\n");&lt;br /&gt;    break; &lt;br /&gt;   default:&lt;br /&gt;    break;&lt;br /&gt;   }&lt;br /&gt;  } while (choice != 4);&lt;br /&gt;  System.err.println("Program terminated");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-6786573103205712645?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/6786573103205712645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=6786573103205712645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6786573103205712645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6786573103205712645'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/05/stack-using-array-java-implementation.html' title='Stack Using Array, Java Implementation of Langsam &amp; Tanenbaum&apos;s Data Structure'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1944524595328353449</id><published>2009-04-29T23:28:00.000-07:00</published><updated>2009-05-17T19:22:47.048-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Trip@Bandung</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WcYcnu7jwBA/Sfl0ttVzrEI/AAAAAAAAADY/Yh5IlN98uBk/s1600-h/3300_1054926054956_1279968926_30123049_7806930_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_WcYcnu7jwBA/Sfl0ttVzrEI/AAAAAAAAADY/Yh5IlN98uBk/s320/3300_1054926054956_1279968926_30123049_7806930_n.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5330419962583690306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WcYcnu7jwBA/SflzvvzRK2I/AAAAAAAAADQ/ugQHFxzO4uQ/s1600-h/3300_1054910414565_1279968926_30123034_3782155_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_WcYcnu7jwBA/SflzvvzRK2I/AAAAAAAAADQ/ugQHFxzO4uQ/s320/3300_1054910414565_1279968926_30123034_3782155_n.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5330418898092239714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last weekend me and office mates had trip to bandung, we had great time spend everything together.&lt;br /&gt;&lt;br /&gt;Friday night at 1 am, we went from office, in case we wait panji doing his work on uploading production, actually he plan to go in saturday morning and I will go with him because in that time many works to do. It's about 00.30 am, and I already from home to take some clothes so I went back to the office, and we wait for rahmat that also joining us after had futsal. We went by two cars, Anita's and Kamil's car. One is go to Hendri's home first to take some clothes, and one again went to Herman's home to take clothes and Nintendo Wii.&lt;br /&gt;&lt;br /&gt;And then we meet again in alfamart for buy something like soap, bread, and beverage. We then change our sits in car, there are 16 people of us, I was in Kamil's car with Kamil, Rere, Herman, Erna, mas Roy, Rahmat and Danik. While Anita's car there were Eka, Iqbal, Anita, Yanti, Mulan, Meli, Panji, and Hendri. It's about 3 hours until we were in Bandung in vila Istana Bunga. So it's about 4 am. The place is on the hill, and its so cold.&lt;br /&gt;&lt;br /&gt;I cannot sleep while Im in the car, after in the place also cannot sleep, in the morning we doing many things, some of us were playing wii, me and rahmat take a walk near the house, some of us trying to get sleep, some others just talk each other in the tv room. we wait until about 9 am to take a shower, there are three bathroom one is in the second floor, and the other is in the ground. and there four sleeping room, three is in second floor, and one is in the ground floor, each of them has double bed so it's fit all of us.&lt;br /&gt;&lt;br /&gt;When the sun is rising most of us take a walk to get a lot of pictures with a lot of styles. and some others is locked in house for a nap. And then Eka and some others buy some meals for breakfast.&lt;br /&gt;&lt;br /&gt;In the day we went to cihampelas (or some place like that with full of stores sorrounding), and then we lunch in mcD in there. I buy panas special, rice, slice of fried chicken, scrumbled egg and a glass of coke. And then we back home in the afternoon, some of us take a bath, but I did not, because I choose take nap because we gonna had trip in midnight and Im not take a sleep yet.&lt;br /&gt;&lt;br /&gt;In about 7 pm, we go to kampung daun, a beautiful places with full of eating places. I bought fried banana cheese and hot tea and then we go to Brebes restaurant to buy chicken barbeque. And then we go to ciater, a place with warm water for soaking. We were in ciater in about 1 am, the place is open for 24 hours and the funny thing is it's peak hour is in the midnight.&lt;br /&gt;&lt;br /&gt;We were back to home when dawn. we take sleep for tomorrow agenda, actually we had plenty of schedule in the last day, like visiting gedung sate and to strawberry garden, but the fact is we spent last day happily in home by play wii, or cards, or watching motoGP. &lt;br /&gt;&lt;br /&gt;In the midle of the day we eat padang food, I eat chicken. and then we went home, in the middle of the way we stop in burengreng for eating batagor, and then we stop again in primarasa store to buy goodies, I buy a box of brownies, and I take it to the office in monday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1944524595328353449?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1944524595328353449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1944524595328353449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1944524595328353449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1944524595328353449'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/04/tripbandung.html' title='Trip@Bandung'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WcYcnu7jwBA/Sfl0ttVzrEI/AAAAAAAAADY/Yh5IlN98uBk/s72-c/3300_1054926054956_1279968926_30123049_7806930_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2987863153762964168</id><published>2009-04-21T01:34:00.000-07:00</published><updated>2009-05-17T19:23:02.772-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Using Windows With Sun VirtualBox</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WcYcnu7jwBA/Se2mf4l8o9I/AAAAAAAAADA/qvm8WBqGt80/s1600-h/virtualbox.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_WcYcnu7jwBA/Se2mf4l8o9I/AAAAAAAAADA/qvm8WBqGt80/s320/virtualbox.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5327097000946869202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now Im not idle anymore, I was assigned in new project, but this project require me develop in windows environment, so I must install windows on my inspiron, first in my thought, there are two alternatives: install windows inside my Ubuntu, or dual booting. I already ask id-ubuntu mailist, &lt;a href="http://groups.google.co.id/group/id-ubuntu/browse_thread/thread/72a2cf9d3b2f6b2c?hl=id#"&gt;here's my post link&lt;/a&gt; for this problem. &lt;br /&gt;&lt;br /&gt;In case Robbie, an office mate, already face the same problem before, and he choose the first way (install windows inside ubuntu) so I did the same thing. I need two installer:&lt;br /&gt;- virtualbox-2.1_2.1.2-41885_Ubuntu_hardy_i386.deb&lt;br /&gt;- XP installer (I have the SATA bundled one, in case inspiron harddisk is SATA).&lt;br /&gt;&lt;br /&gt;I just double clicked the virtaulbox installer, because it's .deb filetipes so I didnot need run it from terminal. Actually there already newest version of virtualBox, but then I must download it first, so I just used that I already have. And there will be some usual install question such as how much memory and disk space that I spend for virtualBox, I give 200 MB memory and 10 GB of disk space. And also give the virtualBox a name. I give it "loswom" same as my project, and if I read that name again I said to myself: "what a name is that :D".&lt;br /&gt;&lt;br /&gt;There will be one added item in the virtualBox explorer: "loswom". Then try to start it and it will be error because we still don't have the windows, we need to install it first (As seen in the picture, there's a picture in blogspot, I hope also seen in facebook). The explorer is in the left of the window, such as folder explorer, and the Start button and Setting button is on the top of that explorer.&lt;br /&gt;&lt;br /&gt;I already have the .iso installer from my other friend, If you ever read my previous post when I first install ubuntu for this inspiron, I already copy the xp SATA bundled installer on my hard drive, So click Setting button left side of Start button, and find some option for install windows and locate the installer in the appropriate place, and restart again and the system will install windows as autobooting.&lt;br /&gt;&lt;br /&gt;Install windows as usual, and we already have our windows, it is so easy far from my fear as I ask to id-Ubuntu mailist before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2987863153762964168?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2987863153762964168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2987863153762964168' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2987863153762964168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2987863153762964168'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/04/using-windows-with-sun-virtualbox.html' title='Using Windows With Sun VirtualBox'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WcYcnu7jwBA/Se2mf4l8o9I/AAAAAAAAADA/qvm8WBqGt80/s72-c/virtualbox.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2440078031722331510</id><published>2009-04-14T01:49:00.000-07:00</published><updated>2009-05-17T19:22:47.048-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Good Old Fashioned Lover Boy</title><content type='html'>"I can dim the lights and sing you songs full of sad things&lt;br /&gt;We can do the tango just for two "&lt;br /&gt;&lt;br /&gt;That is the first two lines of the lyrics of "Good Old Fashioned Lover Boy", song from Queen but sang again by Jason Mraz. I love the lyrics, I love the music, I also have the original one from Queen.&lt;br /&gt;&lt;br /&gt;I remember that past few years ago I buy pirate cd from street when I work in my previous office when I live in Cilandak, I new in this town, alone, donot have computer, so I buy radio+cd player, and I bought the cd, it company me when Im sad, it company me when I feel alone.&lt;br /&gt;&lt;br /&gt;Now I heard again that song, I have the mp3 of a lot of Jason Mraz songs, one of them is this song. Here is the full lyric, I copy paste from a site:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I can dim the lights and sing you songs full of sad things&lt;br /&gt;We can do the tango just for two&lt;br /&gt;I can serenade and gently play on your heart strings&lt;br /&gt;Be your valentino just for you&lt;br /&gt;&lt;br /&gt;Ooh love - ooh loverboy&lt;br /&gt;What're you doin' tonight, hey boy&lt;br /&gt;Set my alarm, turn on my charm&lt;br /&gt;That's because I'm a good old-fashioned lover boy&lt;br /&gt;&lt;br /&gt;Ooh let me feel your heartbeat (Grow faster, faster)&lt;br /&gt;Ooh ooh can you feel my love heat&lt;br /&gt;Come on and sit on my hot-seat of love&lt;br /&gt;And tell me how do you feel right after-all&lt;br /&gt;I'd like for you and I to go romancing&lt;br /&gt;Say the word - your wish is my command&lt;br /&gt;&lt;br /&gt;Ooh love - ooh loverboy&lt;br /&gt;What're you doin' tonight, hey boy&lt;br /&gt;Write my letter&lt;br /&gt;Feel much better&lt;br /&gt;And use my fancy patter on the telephone&lt;br /&gt;&lt;br /&gt;When I'm not with you&lt;br /&gt;I think of you always&lt;br /&gt;(I miss those long hot summer nights)&lt;br /&gt;I miss you&lt;br /&gt;When I'm not with you&lt;br /&gt;Think of me always&lt;br /&gt;Love you - love you&lt;br /&gt;&lt;br /&gt;Hey boy where do you get it from&lt;br /&gt;Hey boy where did you go ?&lt;br /&gt;I learned my passion in the good old&lt;br /&gt;Fashioned school of loverboys&lt;br /&gt;&lt;br /&gt;Dining at the Ritz we'll meet at nine precisely&lt;br /&gt;One two three four five six seven eight nine o' clock&lt;br /&gt;I will pay the bill, you taste the wine&lt;br /&gt;Driving back in style, in my saloon will do quite nicely&lt;br /&gt;Just take me back to yours that will be fine (Come on and get it)&lt;br /&gt;&lt;br /&gt;Ooh love, (There he goes again just like a good old-fashioned lover boy)&lt;br /&gt;Ooh loverboy&lt;br /&gt;What're you doin' tonight, hey boy&lt;br /&gt;Everything's all right&lt;br /&gt;Just hold on tight&lt;br /&gt;That's because I'm a good old-fashioned fashioned lover boy &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2440078031722331510?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2440078031722331510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2440078031722331510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2440078031722331510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2440078031722331510'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/04/good-old-fashioned-lover-boy.html' title='Good Old Fashioned Lover Boy'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2581039069536750250</id><published>2009-04-01T01:15:00.000-07:00</published><updated>2009-05-17T19:22:02.243-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Appfuse 2, Intro with Maven</title><content type='html'>I create new project using appfuse2, the main difference with appfuse1.9 is now we use maven rather than ant to build for example. The tutorial is already clear in &lt;a href="http://appfuse.org/display/APF/AppFuse+QuickStart"&gt;appfuse site&lt;/a&gt;. But I will rewrite it in my own words.&lt;br /&gt;&lt;br /&gt;1. Jdk and tomcat for the simple one.&lt;br /&gt;2. Install maven, just download it, or apt-get it when if using ubuntu as me&lt;br /&gt;3. Install mySql, I want to make the simple project one, so I use mySql because it is the default of appfuse, same as maven we can download it or apt-get from repository.&lt;br /&gt;4. From the terminal type: mvn archetype:create and choose the framework, I choose the Spring basic from the options, actually I already try to make tapestry project, but fail in the midle. Here is the full syntax to create the project with basic SpringMVC:&lt;br /&gt;&lt;br /&gt;mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject&lt;br /&gt;&lt;br /&gt;5. We must connect with internet incase we use the maven repository from internet, and it will download bunch of things from repository. And it should end with something like build successfully. and a folder named myproject is created.&lt;br /&gt;&lt;br /&gt;6. Because it will be easier when uding IDE, so we can do as follow:&lt;br /&gt;- From eclipse, create new java project&lt;br /&gt;- Choose the radio: create project from existing source and browse it into myproject folder&lt;br /&gt;- name it myproject&lt;br /&gt;&lt;br /&gt;7. From terminal enter into myproject folder and type mvn or "mvn appfuse:full-source" for getting all the resources. if we only type mvn we will refer sources or classes into the repository, we cannot see or modify the code. This stage needs lot of times because download many things, but we can stop it and continuing next time because once it download, it is not need to download again. I remember actually I start with appfuse2 few weeks ago and meet some fails, and yesterday I continue my work.&lt;br /&gt;&lt;br /&gt;And AFAIR we will meet some errors with the default source code, first we need to copy junit jar and refer it. I do this with copying junit.jar and add library to it, we must know it when using eclipse, so there are no error sign in our source explorer.&lt;br /&gt;&lt;br /&gt;And we must change the password of the database in file jdbc.properties:&lt;br /&gt;jdbc.password=ourPassword&lt;br /&gt;hibernate.connection.password=ourPassword&lt;br /&gt;&lt;br /&gt;and in the file pom.xml:&lt;br /&gt;&amp;lt;jdbc.password&amp;gt;ourPassword&amp;lt;/jdbc.password&amp;gt;&lt;br /&gt;&lt;br /&gt;also in the pom.xml if we want to use our installed tomcat we comment this statement:&lt;br /&gt;&amp;lt;zipUrlInstaller&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;${cargo.container.url}&amp;lt;/url&amp;gt;&lt;br /&gt;&amp;lt;installDir&amp;gt;${installDir}&amp;lt;/installDir&amp;gt;&lt;br /&gt;&amp;lt;/zipUrlInstaller&amp;gt;&lt;br /&gt;&lt;br /&gt;8. Type mvn jetty:run-war and it also start tomcat, so we can see our application in http://localhost:8080&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2581039069536750250?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2581039069536750250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2581039069536750250' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2581039069536750250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2581039069536750250'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/04/i-create-new-project-using-appfuse2.html' title='Appfuse 2, Intro with Maven'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-8010327366426584917</id><published>2009-03-23T01:24:00.000-07:00</published><updated>2009-05-17T19:23:02.772-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Importing Blog for Facebook Note</title><content type='html'>I recently new that we can show our posts from blog into notes application in facebook. So I donot need to copy my note into my blog. This post is for testing how my facebook looks after I create new post. &lt;br /&gt;&lt;br /&gt;But I should tell you about something, I don't want to post just for trying that facility only. But to be honest it's very hard for me to write something, writing is a hard job, sometimes suddenly we get idea but and then we loose it or even when we write something we then blank, and loosing words, and it happen to me often.&lt;br /&gt;&lt;br /&gt;Anyway now Im listening marz music again and again, I do it in here in office, I do it again at home, again and again, but sometimes I change it into murottil mp3 or mp3 of someone read quran without tartil when I feel miss my home or feel very religious atmosphere.&lt;br /&gt;&lt;br /&gt;I love the lyrics of jason mraz songs. "Please Don't Tell Her", "The Remedy", "Im yours", "Geek in the Pink", or "Clockwatching", or some other lyrics. I think he write his songs by himself, in case it shows his conditions. he is still single like my, old as single like me, he was born in 1979 or 1977 I forget the detail, I think he is introvert just like me, he is not quite confidence for doing relationship just in lyrics in above songs, he said that "she is taller than I am", and he said that he is a geek just like as the title.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-8010327366426584917?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/8010327366426584917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=8010327366426584917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8010327366426584917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/8010327366426584917'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/03/importing-blog-for-facebook-note.html' title='Importing Blog for Facebook Note'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-587433464517338002</id><published>2009-03-20T21:08:00.000-07:00</published><updated>2009-05-17T19:22:02.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Getting Limit Query from Hibernate</title><content type='html'>This is a short note continuing older note about creating google wannabe paging, in case I want to write a note but Im not telling you yet how I create my own paging completely.&lt;br /&gt;&lt;br /&gt;There are many ways how to get limited query in hibernate, there are HQL (Hibernate Query Language), Criterion, or native sql. I will tell you with the first way the HQL way. For me HQL is simply SQL using hibernate POJO (Plain Old Java  Object), the object representative of tables. For example if the table named LOG_ACTIVITY the POJO could be named LogActivity. if the SQL looks like: "SELECT * FROM LOG_ACTIVITY", the HQL could simply looks like: "FROM LogActivity", and it has more functions.&lt;br /&gt;&lt;br /&gt;In this note Im not only telling you about getting limitation records from 1 to 100, but also parameterized, such as getting records from yesterday to now only the first 100 records.&lt;br /&gt;1. Get the searching criteria. The default value is "*". For example field username, if there is a value from the input such as "imam" then the username="imam", otherwise username="*"&lt;br /&gt;2. Count the total record,&lt;br /&gt;3. Have a constant of how many records shown in every page, for example 10, and it can parameterized also.&lt;br /&gt;4. I divide total record with that constant so I get the total of pages&lt;br /&gt;5. I do query with the same syntax when I search the count of the total records (the syntax I move into an own method), but this time is for getting the records not the count.&lt;br /&gt;6. I pass all of the variables (page, totalPages, listPages, perPage, totRecord,&lt;br /&gt;recordList, qName, qDate, etc etc)&lt;br /&gt;- which  page =page requested, foe example page 13&lt;br /&gt;- totalPage for example 5&lt;br /&gt;- listPages, so the values are: 11, 12, 13, 14, 15&lt;br /&gt;- perPage, how many records shown in every page&lt;br /&gt;- totRecord, because it will be shown in my application&lt;br /&gt;- recordList&lt;br /&gt;- qName, qDate, and other question as search parameter that saved in a session.&lt;br /&gt;&lt;br /&gt;Anyway this is the code snipped, the first method to get the count of the record, the second is to get the actual records, while buildQueryString is method that resulting hql syntax with parameter criteria=names of the searching fields such as username, dateForm, dateTo, and the second parameter is question the values of the searching fields, I set "*" if null or empty.&lt;br /&gt;&lt;br /&gt;public Long getLogActivitiesSearchingPagingCount(String criteria, String&lt;br /&gt;question) {&lt;br /&gt;String queryString = "select count(*) " + buildQueryString(criteria, question);&lt;br /&gt;Long total = (Long) getSession().createQuery(queryString).uniqueResult();&lt;br /&gt;&lt;br /&gt;return total;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List getLogActivitiesSearchingPaging(int start, int length, String&lt;br /&gt;criteria, String question) {&lt;br /&gt;List logActivities = getSession().createQuery(buildQueryString(criteria, question))&lt;br /&gt;.setFirstResult(start)&lt;br /&gt;.setMaxResults(length).list();&lt;br /&gt;return logActivities;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-587433464517338002?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/587433464517338002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=587433464517338002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/587433464517338002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/587433464517338002'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/03/getting-limit-query-from-hibernate.html' title='Getting Limit Query from Hibernate'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1782059265014196094</id><published>2009-03-16T02:45:00.000-07:00</published><updated>2009-03-17T21:28:22.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Creating google wannabe paging</title><content type='html'>As my several notes that copied to my blog, I will write a note again and then Ill copy to blog again although its a java theme, in case I think there are reader from facebook rather than from blogspot. And especially my blog is already long time don't have a java post.&lt;br /&gt;&lt;br /&gt;Yesterday in milist Java User Group-Indonesia, there is a member asked about how to create paging list in java-application. I face the same problem in my first project in balicamp. I cannot find component that fetch query with limitation. Displaytag component select all records and then view it page by page as user needed. While valulist donot use hibernate, data framework that shoud be standard as java application. I will make the select in other post, but now I want to show you ho to make google paging mine version.&lt;br /&gt;&lt;br /&gt;If you were googling, there will be list of paging if the result is a lot, such as: Previous 1 2 3 4 5 6 7 8 9 10 Next. It's easy not as scared as we saw it in google. it's only playing with some if and else in jsp with some of parameters.&lt;br /&gt;&lt;br /&gt;Im a spring guy, spring is one kind of a framework that needed in building java application, and it playing class called controller, in easy word, we have a controller for each page we make. we need 3 parameters (information) for a controller for our paging:&lt;br /&gt;1. page, the page that user request, for example is 5&lt;br /&gt;2. totalPages, total of the pages, get from select count / perPage, which is perPage is total record every page.&lt;br /&gt;for example total record = 100, perPage 10 record, so totalPages = 10&lt;br /&gt;3. listPages, list pages that shown.&lt;br /&gt;for example we viewing 5 pages, ther listPages is 3 4 5 6 7,&lt;br /&gt;&lt;br /&gt;Meanwhile in the jsp the algorithm such as below:&lt;br /&gt;1. if page != 1 then print First, anchor to page=1&lt;br /&gt;2. print every value of listPages, if equals with the requested page, then no anchor needed, otherwise anchor to the page&lt;br /&gt;3. if totalPage != 0 and requested page != total&lt;br /&gt;3. jika totalPage != 0 dan page yg direquest != totalPages then print Last, anchor to the last page.&lt;br /&gt;the result for our example is First 3 4 5 6 7 Last.&lt;br /&gt;&lt;br /&gt;write all of that step into separated jsp file, we only need to include as we need it, we put it above our table.&lt;br /&gt;&lt;br /&gt;As compare with google, google used 20 list of pages if the record is a lot. we already have the similar with google, unless if also set listPages size 20 same as google, and the page is 5 for example we print 20 pages from 1 to 20, while google only print 10 page. As far the page is below 10 google show only 10 page.&lt;br /&gt;&lt;br /&gt;The other different is google print Previous and Next, while mine prints First and Last, and FYI, I prefer mine ^_^, I think it also applicable for other than java, because it's an algorithm not language-based, thank you for reading &amp; have a nice try!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1782059265014196094?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1782059265014196094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1782059265014196094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1782059265014196094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1782059265014196094'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/03/creating-google-wannabe-paging.html' title='Creating google wannabe paging'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3352929215450506987</id><published>2009-03-09T02:20:00.001-07:00</published><updated>2009-03-17T21:29:05.387-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Spent holiday as usual</title><content type='html'>&lt;span style="font-size:85%;"&gt;Today is the third day of me being idle at home in jakarta, same as usual workers from other town, I rent a room near office in a house, big house in case it contains twenty rooms for rent beside rooms for the owner, the owner contains parents and three children. It quit expensive for me for the room, but in case many of my office friends living in the same house, so I never search other place for moving.&lt;br /&gt;&lt;br /&gt;Last two days I spent times with sleeping a lot and watching tv a bit. I watch tv in a kind of living room, with friends, I watch the program that choosen by them. Last night I watch serie A between Milan and Atalanta. only the second half, in case I went to the tv room in 10pm because I cannot sleep. It's been so long time for me for wathing footbal again. and watch tv also, I so rarely watch it since working here.&lt;br /&gt;&lt;br /&gt;the last score was 3 - 0 for milan, all of the goals made by philippo inzaghi, the first goal made in the first half, wich is Im not watch yet. the others is ofcourse made in the last half, with normally without diving in case he is fame of with doing unfair action AFAIK.&lt;br /&gt;&lt;br /&gt;Nowadays milan is full of a stars, many of them are old but still great players, beside philippo inzaghi, milan has andrey shevchenco which is not quite showing good performance in his only for about ten minuites play. and the it has david beckham which still give precission ball passing, and then andrea pirlo with his energic stamina as usual, and also abiatti as goal keeper. and as the young gun it has pato which is sometimes try to make a goal but fails again and again. And also I saw kaka as supporter, which is not played perhaps his still injured. Nice personality of kaka with his formal dress, I think he has potentiality to be a celebrity same as beckam. And also I saw victoria, becham's wife supporting milan.&lt;br /&gt;&lt;br /&gt;One thing I want to say is, in the last minuite, very very last minuite beckham was changed by new young innocent player which if Im not wrong heard is from uruguay. and the funny thing is after he entered the field the game is over, then he turn out the field as other player did, he only smiling. I think that just the scenario, how to sell beckham, footbal, and the country of that young player, the beckham replacer. yes, that is my opinion, they want to sell and shows to us the mega-shining the world of celebrity-football so we want to be in there also, at least dream of it.&lt;br /&gt;&lt;br /&gt;rrrggh.. btw after finishing the serie a match, I saw metro tv, it's the "zona 80an", only for perhaps ten minuites, because the show already started on 10 pm in which I still watch for milan, the show as the title is about the 80 stuff, in last night episode, it invite the indonesian 80s movie stars. There is Rano karno, Paramitha Rusadie, Yessie Gusman, Rico Tampati, Ita Mustafa, and one again that I don remember.&lt;br /&gt;&lt;br /&gt;They were adorable, rano is sometimes told a joke to the audience or the yessie gusman, when they were asked by audience in the ask-answer session about how far they'we near in relation between in the 80 era in case both of them involved in many movies such as galih and ratna ? hwehehe, i think everybody loves the movie. Rano said that Yesy should answer that question because the question is too hard for him because it ask about two think that different, far and near, and then yessy said that both of them are far from eye near in heart.&lt;br /&gt;&lt;br /&gt;today is maulud nabi holiday, im not working now, but after saturday and sunday I spent in home, I go to office today for internet. Actually last night I told by my mother to read solawat a hundred times for maulud and already did it last night. Anyway thanks for reading if you're still read this note ^_^&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3352929215450506987?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3352929215450506987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3352929215450506987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3352929215450506987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3352929215450506987'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/03/spent-holiday-as-usual.html' title='Spent holiday as usual'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7563695491060640309</id><published>2009-03-02T22:29:00.000-08:00</published><updated>2009-03-17T21:29:05.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Okay... Im a book reader right now</title><content type='html'>&lt;div class="note_content text_align_ltr direction_ltr clearfix"&gt; &lt;div&gt;&lt;span style="font-size:85%;"&gt;in case a buddy of mine commenting about my older profile that Im not reading book for long time and never finished when reading, last week I bought a book from book store, there's only few book stores in this town, I think there are three only, two of them Gramedia, in WTC and SMS, the other is Gunung Agung in Melati Mas, I went to Gramedia WTC. Im in BSD FYI, small town Jakarta nearby.&lt;br /&gt;&lt;br /&gt;First, there are a couple of books interest me, "the lenovo gate" or something and biography mr. Habibie, the first book is story about how the chinese IT company named lenovo buy IBM or IBM products or something, I newly known that lenovo is the company name from China, I thought before that it was one of the IBM product. the second book is ordinary biography of someone, but it make special because it tell me about someone I admire.&lt;br /&gt;&lt;br /&gt;I opened the lenove gate pages by pages, I read the comments from some people in the back of the book, I open the page that have photos, it's about four pages, the first photo is an old photo, it says that it was the first building of lenovo, it very small building, square of walls and I think it has no roof or something as change of roof. it just pathetic building, and perhaps it just a hiperbolic from the writer. and then the other picture is also old picture that capture the lenovo employees standing up in front of newly build apartment. the caption of the photo said that they were very happy because they will get apartment, and that the first time n Chine history that a company give his employee an apartment. I forgot the year, I think both of those pictures happened in eighties. the second book I cannot open because it sealed, but there are a lot of photos which is I like.&lt;br /&gt;&lt;br /&gt;Beside the price of those books are expensive for me, it's abouot 85 rupiahs. and it is too thick for me to read, I will never finished it I think. and the first book is too heavy reading for me, it is a business book which is I will need extra concentration for it.&lt;br /&gt;&lt;br /&gt;I told to myself that I need light book, easy reading, such a stury or novels. So I went to the novel area. I saw some names that familiar to me, such as Agatha Cristie, Jon Grisham, and one again but sorry I forget. And then the titlle of the books are much of them is movie title, such as the firm with tom cruise, to die for with nicole kidman, and pelican brief with julia robert. near of them are newly heard book something that 1001 nights story, and some again about taj mahal and some related love story of taj mahal. and then near them again are indonesian novels such as Marga T, NH Dini, Dewi Lestari, and more cicklit and teenlit that the title are so catchy.&lt;br /&gt;&lt;br /&gt;I read the write back of some books, I think and think again so I chose one of the John Grisham (is the name is right?) titled "Runaway Jury". I think all of his novels are law related, It about the court of the cigarette company versus people that disagree of cigarette that representatived by an old man that already died because of cancer in case of he already consume cigarette for years.&lt;br /&gt;&lt;br /&gt;I still read until chapter 8 I guess from 44 chapters, The first part of the story is the recruiting jury, it happened in small town in america, I forgot the name, but the fact is the writer did live in that town when he write the story, and in many place of the parts there are a lot of detailed description of places such as apartments, roads, and specially the court.&lt;br /&gt;&lt;br /&gt;In the first page I only found so few of thank you statements, for people in that town and for corrector of the novel, one of them is from oxford, no surprise the novel is famous and received by international public. and I think you guys already heard or even watch one of his movie from the novel.&lt;br /&gt;&lt;br /&gt;The first part of the novel mainly tells about of one of the jury Nicholas "something" I forget, he is misterious, smart person, 27 years old same as me, he work in computer store, and confess as a student and ever study law for couple of semesters. he live in small unexpected apartment because he moved because need to hide his identity and history.&lt;br /&gt;&lt;br /&gt;In that novel also tell the both side of the plaintiff and defendant are work hard to get the list of the jury. they spy their live, take pictures from them, entering their home without their permission, they have all the jury data so from almost 200 candidates there are I think twelve selected jury and three for backups I guess.&lt;br /&gt;&lt;br /&gt;I forgot the details, I don't know exactly if I like the story or not, but it friend me while Im waiting the train when I went home last thursday, and I loose 50 grants for it.&lt;/span&gt;          &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7563695491060640309?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7563695491060640309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7563695491060640309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7563695491060640309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7563695491060640309'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/03/okay-im-book-reader-right-now.html' title='Okay... Im a book reader right now'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2909259846612456526</id><published>2009-02-08T04:26:00.000-08:00</published><updated>2009-03-17T21:38:29.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Cleaning Windows From Ubuntu</title><content type='html'>&lt;span style="font-size:100%;"&gt;When Im installing ubuntu, I only doing "next - next" way, I forgot the detail, I just choosing that I think is the safest option. And the result is I succeed installing, I already had my ubuntu, but one that for me is minus thing that there are windows still in my notebook. When I starting open my notebook there still option for XP or even Vista booting. In fact I already donot want to use windows anymore, so I want to clean them from my notebook&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I joined the id-ubuntu forum as suggested by yanu, &lt;/span&gt;&lt;a style="font-family: arial;" href="http://groups.google.co.id/group/id-ubuntu/browse_thread/thread/bc26688e4a9338cc?hl=id"&gt;I post them about my problems&lt;/a&gt;&lt;span style="font-family:arial;"&gt;, I want to remove the windows things without re-installing again, because Im affraid if I fail to install it all over again. And one of the reply is I try to.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- install Gparted, is just as partition magic&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; just &lt;/span&gt;&lt;span style=";font-family:arial;" &gt;System-&gt;Administration-&gt;Synaptic Package Manager, and search : "gparted", and then click apply, or I think we can doing the same thing from Application -&gt;Add/Remove, and search: "gparted", and click it and install it.&lt;br /&gt;- If the install is done, it placed in System-&gt; Administration -&gt; Partition Editor, gparted is for Gnome Parted :d&lt;br /&gt;- so I run the program, it just as the partition magic, the above boxes shows the partition of our storage, firstly I donot know which boxes I must change, thanks for yanu for helping me again.&lt;br /&gt;- My harddisk (also when using windows), is only have two partitions, drive C and D, In Ubuntu, it read as /media/disk (C), and /media/data (D), I think because when in windows, the name of the directory is C:disk and D:Data. I forgot the exact.&lt;br /&gt;- So my job is choosing the /media/disk and right click and change the file system from NTFS into Fat32 or the linux type, sorry I forgot the name, and gparted is cannot open right now&lt;br /&gt;- And then in the &lt;/span&gt;&lt;/span&gt;&lt;span class="fixed_width" style=";font-family:Courier,Monospaced;font-size:100%;"  &gt;/boot/grub/menu.lst,&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;I commented the lines that execute windows booting, here is the complete code:&lt;br /&gt;# This entry automatically added by the Debian installer for a non-linux OS&lt;br /&gt;# on /dev/sda2&lt;br /&gt;#title        Microsoft Windows XP Professional&lt;br /&gt;#root        (hd0,1)&lt;br /&gt;#savedefault&lt;br /&gt;#makeactive&lt;br /&gt;#chainloader    +1&lt;br /&gt;- restart it and there will be no more windows booting option. and the &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;/media/disk is now clean and I get more spaces&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2909259846612456526?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2909259846612456526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2909259846612456526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2909259846612456526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2909259846612456526'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/02/cleaning-windows-from-ubuntu.html' title='Cleaning Windows From Ubuntu'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3247759415172010533</id><published>2009-02-07T22:18:00.000-08:00</published><updated>2009-03-17T21:38:29.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Using Ubuntu on my Inspiron</title><content type='html'>&lt;span style="font-size:85%;"&gt;Have I told you that I already bought inspiron 1520 from kaskus? itś risky business rather than buy at real store in ratu plaza or mangga dua for example, especially the seller is in Jogja, he has friends in Japan, and buy notebooks from it and reseller again through kaskus. I encourage myself to buy from him in case I already learn the thread over and over and most of the buyer is satisfied with him and his notebooks. He said that notebooks for japan market is different for the south east market although both of them were China made, but has different in quality, he said that Japanese Dell is better.&lt;br /&gt;&lt;br /&gt;In the last November I bought it, I transfered some money first and then he send me the notebook. It is Dell Inspiron 1520, intel centrino, 2 GB of memory, 250 GB of harddisk capacity, Nvidia Geforce 8600, or some other details that I forget. And its vista bundled, there already vista installed. It came with some of installer dvds and some japanese written books, so do the box, itś written in japanese.&lt;br /&gt;&lt;br /&gt;Unfortunately it was so annoying when using vista in this notebook, sometimes suddenly it blank screen,  and then thereś  message such as "nvidia is operating again", or sometimes it restart or even dump memory suddenly. I browse the net, in fact there are many people facing the same problems, vista is real a fail product from microsoft.&lt;br /&gt;&lt;br /&gt;So I downgrade installing xp, I already have the xp installer, its the piracy one. I try to install it, unfortunately again in the middle of installation it fails with the message "cannot detect the harddisk". And then &lt;a href="http://www.facebook.com/group.php?gid=47239653321#/profile.php?id=692123630&amp;amp;ref=ts"&gt;nail&lt;/a&gt; told me that it caused by the installer is cannot the Sata harddisk, it should set in the bios or using the xp installer with Sata bundled. He said that his room neighbour has the Sata bundled installer, so I went to his place and install it. It's all fine and succeed, after that installation, I install the drivers, everything is succeed unless the audio driver. I already download so many drivers mainly from dell.support.com but no one works. So my notebook is "tung" &lt;/span&gt;&lt;span style="font-size:85%;"&gt;or "dong" only.&lt;br /&gt;&lt;br /&gt;By &lt;a href="http://www.facebook.com/profile.php?id=1348380496"&gt;Yanu&lt;/a&gt; suggestion and help of him, I install ubuntu, it's the hary heron. And it's work magically. and  then yanu is editing the /etc/apt/sources.list, it replace the repository into the nearest from me, here is the full list of the file:&lt;br /&gt;&lt;br /&gt;deb http://dl2.foss-id.web.id/ubuntu hardy main restricted universe multiverse&lt;br /&gt;deb http://dl2.foss-id.web.id/ubuntu hardy-updates main restricted universe multiverse&lt;br /&gt;deb http://dl2.foss-id.web.id/ubuntu hardy-security main restricted universe multiverse&lt;br /&gt;deb http://dl2.foss-id.web.id/ubuntu hardy-backports main restricted universe multiverse&lt;br /&gt;deb http://dl2.foss-id.web.id/ubuntu hardy-proposed main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;so every time I run a program and it's not installed yet, I just apt-get or go to System-&gt;Administration-&gt;Synaptic Package Manager, and I search the program I need. And if the internet connection is okay I will get my program installed.&lt;br /&gt;&lt;br /&gt;AFAIR, the fist I check is the music, is there is already sound in my notebook or not. It just double clicked the music file, and there will an error message that need to instal codec or something. I just clicked the yes button to install the necessary program and everything is going fine right now. And I can hear my leona and mraz music again. thanks Yanu, thanks ubuntu ^_^.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3247759415172010533?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3247759415172010533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3247759415172010533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3247759415172010533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3247759415172010533'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/02/using-ubuntu-on-my-inspiron.html' title='Using Ubuntu on my Inspiron'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1236900917737466831</id><published>2009-01-15T10:31:00.000-08:00</published><updated>2009-01-17T07:25:55.289-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>being important is necessary, but being usefull is more preferable</title><content type='html'>&lt;span style="font-size:85%;"&gt;just as the fame statement that sayz the best person is the most useful of him in the community, in the environment, yup.. in this late of night i just want to say something, with someone it should, but sadly I only can write to you, dear notes.. perhaps I should write it in more private room, but I think it's okay for me to write in here, in case I hope everybody can get a value or keep in correcting each other especially for me by this note.&lt;br /&gt;&lt;br /&gt;quite naive for a person like me that don't have vision in life, I think everybody should have, but the fact is I don't have that kind of vision, a kind of solid, great of vision, I just following the life, not a kind of that vision person.&lt;br /&gt;&lt;br /&gt;connecting with vision, this day I met that statement again from mailing list, that the best person is the most useful of him in his life, what a short statement that since I ever heard of it years ago, it give me strength to doing my life.&lt;br /&gt;&lt;br /&gt;I was in bachelor joining one of the campus activity, and heard that statement from a girl that ever won the science contest, it's not about love between boy and girl, she's already boyfriend at that time anw, but she said that in that event, it's not the science contest, it's in different event, anyway.. it's give me a confidence in doing my way, I hope I still in this way, that I don't expect something in doing my activities, I encourage myself for doing everything in case for praying, I already wrote that in my profile that my working is my praying, I hope by having this paradigm I've got the best result.&lt;br /&gt;&lt;br /&gt;Not only in the office but hope in my entire activities, I get the best result, and I believe that I already get the best from the lord, god already give the best for me, in every single part of my life, if I fail in something, I believe that fail is the best for me in that time, if I cannot get something that I dream, I believe will get the better in the future. All I need to do is trying and doing my best, how far is my best is how I get the result.&lt;br /&gt;&lt;br /&gt;But the truth is I expect nothing from that result, Im just a simple person that no need to worry of everything as I believe that I already do my best for my environment.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1236900917737466831?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1236900917737466831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1236900917737466831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1236900917737466831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1236900917737466831'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/01/being-important-is-necessary-but-being.html' title='being important is necessary, but being usefull is more preferable'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-1350247826665053264</id><published>2009-01-12T10:59:00.000-08:00</published><updated>2009-01-17T07:25:55.290-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>somebody loves my writes</title><content type='html'>&lt;span style="font-size:85%;"&gt;somebody loves my writes, im happy to hear that, hope this note would loveable too... but remembering the movies such as the libertine or shakespeare in love, those two  movies is about a writer, those poeple is actually hard to get an idea, shakespear needs the girl to create romeo and juliet, I forget the exact name but it played by gwyneth, while the libertine is about a psycho writer that fall in love with her drama student, I think both of them is psycho, not a happy life indeed, especially johnny depp, the player in the libertine, he died in tragic way, dump in the bad place with bad sick. actually he has beautiful wife, which love him so much, she said "Im your final result" when got him dying, and kissed him for the last time. but he strongly leave her and want to attend her favourite student to play drama in london stage.&lt;br /&gt;&lt;br /&gt;Im not too ambigious and know myself, don't want to be a writer, only tell you what I remember, please forget my first paragraph, it's too far away from reality, I mean the point is great books actually made by hardwork, by hard-thought, not by sim sala bim way.&lt;br /&gt;&lt;br /&gt;In the first day of this year I attend the the event in TMII, Attiin mosque, great mosque, Im not too interest in politics, but in case when we enter the mosque when we put our sandals or shoes in lockers there's an autograph named H.M Soeharto, I don't know the detail of building, but it's big one, the event is attended by 60-70 thousands, it's only 2 floor I guess, but wide field with some fountains and towers, just kind of parks, sadly I don't have camera. aniway thank you mr President for the leadership of the pasts and the beautyful mosque ofcourse.&lt;br /&gt;&lt;br /&gt;Im not gonna tell you about the mosque, I want to tell you about one of the speaker, it's the writer of ayat-ayat cinta, Im not see the movie yet, not read the book yet, Im not a book reader, his name is ustaz Habiburrahman, I first saw him in that place, Im not too know him personally before, but the point is he is a writer, he tell us that when shoot the movie, on of the crew is arabian or some where there has a brother from Gaza Palestina, Whole life his brother is in palestine, never goes out from there, and sadly the Israeli seduce him by cutting his both hands and both legs, and because of that he went to egipt for medical treatment, after the treatment, his family suggest him to stay a while in Egypt, he refuse that, he want to go back to Gaza, whatever happened. I feel enthusiastic when hearing his speech, and feel the spirit of the room.&lt;br /&gt;&lt;br /&gt;Im not quite sure about the relations between the paragraphs, actually don't quite know what is the theme of this note, and I wonder if you still read this note :D, perhaps I just want to say that writer is great person, and I guess so many of us dreaming being writer, although only a note or blog, and I think it's not need to be a shame to do that.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-1350247826665053264?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/1350247826665053264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=1350247826665053264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1350247826665053264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/1350247826665053264'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/01/somebody-loves-my-writes.html' title='somebody loves my writes'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7431090592322241590</id><published>2009-01-11T08:59:00.000-08:00</published><updated>2009-01-17T07:25:55.290-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>The Dark Knight</title><content type='html'>&lt;span style="font-size:85%;"&gt;Doesn't matter if the topic is not up to date, I post this because I newly became a fan of TDK (The Dark Knight) in facebook, a movie about batman that I watched with friends in the cinema few months ago. Doesn't matter if this blog is not java related again, I just want to write something.&lt;br /&gt;&lt;br /&gt;I remember the most is when harvey and rachel is separated and and tight by a rope in the room full of gazoline, connected by a phone, and harvey ask rachel to calm down and trying to help her, and then he fall to the chemical things, and then their crying a lot, and then rachel said "yes harvey ... yes... my answer is yes", in case harvey asked &lt;span class="text_exposed_hide"&gt;...  &lt;span class="text_exposed_link"&gt;&lt;a onclick="'return"&gt;Read More&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text_exposed_show"&gt;her to married him when in the party, but rachel said no. Its so romantic time I think. And I guess it's the sentence that everybody dreams in their life.&lt;br /&gt;&lt;br /&gt;and then the bat-man is come to help harvey, harvey said "no... why you're here...". so voila.. there's no more rachel, rachel is exploded. yes harvey.. you're right why batman is there. If I were you, I would hope batman help rachel.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7431090592322241590?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7431090592322241590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7431090592322241590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7431090592322241590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7431090592322241590'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/01/dark-knight.html' title='The Dark Knight'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7536161885655624568</id><published>2009-01-02T00:06:00.000-08:00</published><updated>2009-05-17T19:23:49.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Entering the Office while User is in Holiday</title><content type='html'>yup, this is me and my team, we're in the office after yesterday is new year, and now is friday, and tommorrow is saturday and sunday. but we so generous to be in the office today.&lt;br /&gt;&lt;br /&gt;but the fact is I already finished my work long before new year, my last module is finished and ready to test, my bug is zarro in bugzilla, so here I am playing with you, facebook, and I will copy this note to my blog, because poor my blog, it's forgotten by me.&lt;br /&gt;&lt;br /&gt;Im in Permata Bintaro right now, the 9th floor, AFAIR Permata Bank was Bank of Bali, it merged with other bank(s), It have three big office  building, one is here in Bintaro, one in Sudirman, I don't knoe the rest, here in Bintaro is the IT center of Permata. But not exactly for the IT becaouse some floor is for marketing people.&lt;br /&gt;&lt;br /&gt;I've been here for 2 months, date of 5th will be exactly my second months. it just an ordinary boring IT project with all detailed technical thinks that I should tell you. But my project called WBS (WholeSales Banking System), When we buy car we buy it from a store, the store is get from distributor, each store or distributor have branch, and it have products, and type, and mean while the store or store branch, or the distributor (I don't knoe exactly) have facility, and sub facility, and the bla and the bla.&lt;br /&gt;&lt;br /&gt;Actually today in bundaran HI held a mass demo/action for Palestina, I actually want to join it, unfortunately I must inthe office. I asked my senior in class is there any similar event in saturday or sunday, he said no. Poor palestina, I take a fan or member of group that dedicated for palestina. long live palestina, although im not a good guy, but if I may, Ill support you for your better.&lt;br /&gt;&lt;br /&gt;BTT (Back To Topic), in fact here in permata, only few Permata person that came in the office, only one or two, only the Sigma rooms that crowd with people. Sigma have two room, one is for WBS and JF with mr Sufyan, one is for RMS with mr. Benny, mr. Benny is my PM in my last project, LBU/CBR (Common Bank Reporting).&lt;br /&gt;&lt;br /&gt;The non-boring thing is today we wear free costume, some of us wearing sandals, polo shirt, or jeans, I wear my new tight jeans that I bought from kaskus, peter says sorry denim, it's local made, not too comfort, but I feel like the rolling stone right now :D, it's rock!! &lt;br /&gt;&lt;br /&gt;And the other good thing is we bought lunch today, we order the padang food, from Sederhana, I order packet 3, it's chicken, egg, some padang vegetables, and a slice of melon. and today we will go home fast, no more than 5 pm, great!!, because I do nothing here, code nothing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7536161885655624568?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7536161885655624568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7536161885655624568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7536161885655624568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7536161885655624568'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2009/01/entering-office-while-user-is-in.html' title='Entering the Office while User is in Holiday'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2484880360966676799</id><published>2008-12-16T22:55:00.001-08:00</published><updated>2008-12-20T21:24:28.643-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>Watching Indonesia Loose</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WcYcnu7jwBA/SU3PuDQJP4I/AAAAAAAAABo/2M3Rc6ZhO8M/s1600-h/senayan1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_WcYcnu7jwBA/SU3PuDQJP4I/AAAAAAAAABo/2M3Rc6ZhO8M/s320/senayan1.jpg" alt="" id="BLOGGER_PHOTO_ID_5282106328029413250" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;This is my first non-java post in this blog, ok I promise to post the LDAP continues in next post, but it have been so long time that Im not blogging, and yesterday I went to senayan and watch the match between Indonesia and Thailand, and I cannot wait to write the story, especially my fellow already report it in his blog, I want to comment it but need to post my version first.&lt;br /&gt;&lt;br /&gt;OK, the story begin with ordinary working days in office, start wake in the morning, waiting for transportation together, and at the office I code here, fix there, make this, build that, etc.. until late, yes until so late, very late, sometimes I went home in midnight, that's why I never open this blog, cause today's project it so consuming my times. and then suddenly once a day irfani ask my boss to go home early for watching soccer in senayan, so the next day I also ask my boss for follwing irfani watch the match and I was approved.&lt;br /&gt;&lt;br /&gt;So me and Irfani went home at 5 pm, we walk to Bintaro Junction for the bus, it's Trans Bintaro that goes to Ratu Plaza-Senayan. I am in Permata Bintaro anyway not in DESA BSD. So We buy ticket, @IDR 12 thousands. While on the way, Irfani phone/phoned by his friend(s) doing the next things, that buy 9 tickets first, The person who buy the ticket is Ijar, and also told him that we gonna go to FX first for praying Maghrib. Ok, it should be the binusian event, Irfani was joining the Computer Club of Binus when he bachelor in Binus, and oftenly they had event such as watching cinema or soccer, and that day I was joinining hang out with them.&lt;br /&gt;&lt;br /&gt;So we turn down from the bus on Patal I senayan and went to FX, after praying Maghrib Irfani took some money in ATM BCA and there already Amirul waiting for us, and I guess he already pray Maghrib there, and then three of us went to Senayan, in front of the stadium, Irfani want to buy 3 T-Shirts and 1 slayer that so many sellers had, he bought for his friends in Bali, the Indonesian team one ofcourse, and there's absolutely no Thailand costume indeed, so do Amirul, Its too expensive, the material so thin, its hot material, it so uncomfortable when I used it for sleeping anyway, but it will feels great if we support our team with appropriate costume, so I bought it also.&lt;br /&gt;&lt;br /&gt;And then we found Bayu in the near of the door, I think its the door 1 of the stadium, and Bayu didn't meet the others, in case tje tickets is bought by Ijar. In the meantime we heard the anthom songs loudly, so we run found them, they're in door 5, it feels like rounding the stadium, moreover I brought my notebook, oh yah, Im not telling you that I newly bought notebook from kaskus, I should make the post for it, coz it needs time to encourage myself doing internet transaction, and the most I want to tell is because this laptop is gaming laptop, I very care of it.&lt;br /&gt;&lt;br /&gt;At last we found them, so we're in full formation that time, there is me, &lt;a href="http://irfani.web.id/"&gt;Irfani&lt;/a&gt;, Amirul, Bayu, Afi, Ijar, &lt;a href="http://pannasiri.blogspot.com/2008/12/together-watching-soccer-match.html"&gt;De_Berg&lt;/a&gt;, and IW. But then we're panic, because the people is so crouded want to enter the stadium, it's the Gate V. We're in quequeing unformatly, the lineman said "two-two" loudly want us for quequeing in two row (not with two column such as in a table in my boring old style project that im working right now ofcourse :D), and suddenly Irfani call me to out from the queue to through the small door beside the gate. So we're through that door and we entered the stadium, our positions is exactly behind the Indonesian team goalkeeper, so many supporters wearing red or white shirt and attributes crowding, but Amirul is separated from us, when in the queue, he already entered the gate.&lt;br /&gt;&lt;br /&gt;The fact is we're not sit on the bench, we're squat on it, newly I know about this, I was thought everybody in the stadium are sitting down, but no, we're squat on our feet. And oftenly we then stand up over the bench when our team want to make agoal, for yelling the referee or doing the wave. I feel enthusiastic when doin the wave, when there is a wave, I watch the wave more rather than watch the match, but it only one-two wave, and then stop, never happen many times. And poor the referee, we often yelling him when punished our player, but ofcourse we gave him applause when doing the contrary.  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;Each time we got opportunity, we gave applause, and contrary we said "whooooo" if Thailand attacking. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;I love when yelling, when stand up over the bench and raise my hands and hold my head on, when doing disappointing because our shoot didn't make a goal, when singing "Indonesia ayo ayo, kita pengen maju bersama" or something, I love being one of in the crowded&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;br /&gt;&lt;br /&gt;At the first half, we loose in attack, so many opportunities Thainland's had, fortunately we have great goalkeeper, Markus something, I don't know the exact name, he did many ball savings, but in the last half, we the condition is contrary, Indonesia got so many opportunities, and I remember actually we already made a goal, but it annuled by the referree, I t should be a goal, there was no offside or other foult forgodsaken.&lt;br /&gt;&lt;br /&gt;To be honest Im not a football mania, that day I don't know who vs who, after the first half I still suppose that it's Indonesia vs Vietnam because in the edge of the field there are sponsors, one of them is Heigl Vietnam, I thougth it was the Vietnamese that match with Indonesia, at last I knew that was Thailand from other supporter. I newly known that it AFF cup or something, it's because the daily working I left the news. And the most embarising thing is I don't know the match result, I suppose that 0-0, when were going home me and Irfani asked by someone about the result, I said it's 0-0, but the fact is it's 0-1 for Thailand, the only goal is made in the first minuites of the match, before we entered the stadium. Yes, Im watching Indonesia is loosing, but Im not aware of that, perhaps not only in the stadium, in real life also.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2484880360966676799?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2484880360966676799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2484880360966676799' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2484880360966676799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2484880360966676799'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/12/watching-indonesia-loose.html' title='Watching Indonesia Loose'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WcYcnu7jwBA/SU3PuDQJP4I/AAAAAAAAABo/2M3Rc6ZhO8M/s72-c/senayan1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3119703471661272395</id><published>2008-10-24T05:35:00.000-07:00</published><updated>2008-11-04T04:13:36.559-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>ApacheDS</title><content type='html'>&lt;span style="font-size:85%;"&gt;This is my masterpiece, yes, just feels like leonardo da vinci with his monalisa, it feels so proud when you complete something that you imagine it as difficult as building Nasa station in your neighborhood, first I ever heard about LDAP, they said that today every enterprises use LDAP for their applications, so they refer to one autentication server for some applications the have, its so scary thing such as object that came from another planet that used by big enterprises in earth. By the way, by little bit of passions and all the goodness of internet and i-friends  you can call me master of LDAP right now, or LDAP guru sounds more attractive.&lt;br /&gt;&lt;br /&gt;LDAP is Lightweight Directory Access Protocol, damned until right now I still think &lt;/span&gt;&lt;span style="font-size:85%;"&gt;this&lt;/span&gt;&lt;span style="font-size:85%;"&gt; kind of technology is one of that those american people made just for fun and just as trend or mode in IT, but I just joining the trend, same as I joining java people, and enjoying in it. LDAP is just a text file that have username and password, it extension is ldif (LDAP Data Interchange Format&lt;/span&gt;&lt;span style="font-size:85%;"&gt;), it is stored in a server, and many applications can call it, and match it,  and it more faster rather than from database. Ok, perhaps I wrong to describe LDAP, it just my definition, CMIIW, and you can browse the correct definition on the net, and they have plenty of it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;match    ---&gt;    enabled    ---&gt;    welcome&lt;br /&gt;              ---&gt;    disabled&lt;br /&gt;               ---&gt;     null in Oracle&lt;br /&gt;not match    ---&gt;    wrong password    ---&gt; 3x opportunities    ---&gt;    Oracle disabled&lt;br /&gt;                      ---&gt;    null in LDAP&lt;br /&gt;&lt;br /&gt;Above is my LDAP scheme in my application, fyi, I use appfuse, SpringMVC, Acegi security, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;oracle-hibernate, and now want to add LDAP authentication.&lt;br /&gt;&lt;br /&gt;I use ApacheDS as LDAP server, there are many other servers such as openLDAP, Spring LDAP, but I use apache as same as other application, but I use the newest version one, rather than the old one that other used. &lt;a href="http://directory.apache.org/"&gt;http://directory.apache.org/&lt;/a&gt; is the link, and choose the newest version, 1.5.4, the documentation is clear enough altough there needs more updates, but I try to tell you my way, the way that I think the good way for newbie as me.&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;download the installer, the different version, the server.xml is also different, I dedicate this post for 1.5.4 version, and there are many kinds of the installer, choose the most appropriate for your machine.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;I've download the .bin installer for my linux-intel machine, if your machine is AMD, then download the AMD version.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;In the folder of the installer, type: &lt;/span&gt;&lt;em&gt;./apacheds-1.5.2-i386.bin&lt;/em&gt;&lt;span style="font-size:85%;"&gt; in the terminal. You can download the .deb version and just double click and it's automatically install just like .exe in windows&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;It will prompted, I forgot the exactly message, but by default there are three important places:&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;/opt/apacheds-1.5.4, the main program is here&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;/var/lib/apacheds-1.5.4, the variables of apacheDS is here, such as the server.xml&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;/etc/init.d/apacheds-1.5.4-default, the commad to start, stop or console mode is here&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Add partition &lt;/span&gt;&lt;span style="font-size:85%;"&gt; (name for scheme or database in oracle) in /var/lib/apacheds-1.5.4/default/conf/server.xml, inside the partitions tag, new jdbmPartition, we give id as sevenSeas just same as the manual.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;        &amp;lt;partitions&amp;gt;&lt;br /&gt;         ...&lt;br /&gt;         &amp;lt;jdbmpartition id="sevenSeas" suffix="o=sevenSeas"&amp;gt;&lt;br /&gt;      &amp;lt;/partitions&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;It needs to restart to apply the change of the adding of the&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Download the ApacheDS studio for the UI for browsing, adding partition, &lt;a href="http://directory.apache.org/studio/"&gt;http://directory.apache.org/studio/&lt;/a&gt;, and install it.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;make new connection, feel with this entry:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;hostname: 172.16.0.164&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;port: 10389&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;check network parameter&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Bind DN or username: uid=admin,ou=system&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Bind Password: secret&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Check Authentication&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Download the sevenSeasRoot.ldif and names_sevenSeas.ldif,&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;In the LDAP browser pane in the ApacheDS studio, expand the Root DSE, expand the o=sevenSeas, right click, import, LDIF Import, and then select &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;sevenSeasRoot.ldif and then &lt;/span&gt;&lt;span style="font-size:85%;"&gt;names_sevenSeas.ldif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;In the tree, the o=sevenSeas now should have list of people and list of groups.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;The LDAP is ready to use&lt;/span&gt;,&lt;span style="font-size:85%;"&gt; and the next post I will describe in my application side.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3119703471661272395?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3119703471661272395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3119703471661272395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3119703471661272395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3119703471661272395'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/10/apacheds.html' title='ApacheDS'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7421643931753780925</id><published>2008-10-15T19:57:00.000-07:00</published><updated>2008-10-17T04:01:50.674-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Language Fundamental, Prepare for SCJP</title><content type='html'>&lt;span style="font-size:85%;"&gt;A friend of mine ask me to get SCJP (Sun Certified Java Programmer) with him, but in his office, he will get change of the voucher if he pass the test, unfortunately not in mine. But in case I have nothing to do right now, so Im reading ebook "&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Java 2 : Sun Certified Java Programmer &amp;amp; Developer&lt;/span&gt;&lt;span style="font-size:85%;"&gt;" by Kathy Sierra &amp;amp; Bert Bates. Both of them are SCJP team. I download it from &lt;a href="http://www.esnips.com/doc/c09b48d4-a63d-45ed-900f-fdfadc5d0123/Java%202%20Sun%20Certified%20Programmer%20%2526%20Developer%20-%20Kathy%20Sierra%252C%20Bert%20Bates"&gt;esnips&lt;/a&gt;, if the link is broken, just try to google it,&lt;br /&gt;I got the link also from googling first.&lt;br /&gt;&lt;br /&gt;This post, and perhaps my next post are just as my summary of my reading, the first part of the book is Language Fundamental.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java Programming Language Keywords&lt;/span&gt;&lt;table style="font-size: 85%;" align="center"&gt;&lt;tbody&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;abstract&lt;/td&gt;&lt;br /&gt;&lt;td&gt;boolean&lt;/td&gt;&lt;br /&gt;&lt;td&gt;break&lt;/td&gt;&lt;br /&gt;&lt;td&gt;byte&lt;/td&gt;&lt;br /&gt;&lt;td&gt;case&lt;/td&gt;&lt;br /&gt;&lt;td&gt;catch&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;char&lt;/td&gt;&lt;br /&gt;&lt;td&gt;class&lt;/td&gt;&lt;br /&gt;&lt;td&gt;const&lt;/td&gt;&lt;br /&gt;&lt;td&gt;continue&lt;/td&gt;&lt;br /&gt;&lt;td&gt;default&lt;/td&gt;&lt;br /&gt;&lt;td&gt;do&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;double&lt;/td&gt;&lt;br /&gt;&lt;td&gt;else&lt;/td&gt;&lt;br /&gt;&lt;td&gt;extends&lt;/td&gt;&lt;br /&gt;&lt;td&gt;final&lt;/td&gt;&lt;br /&gt;&lt;td&gt;finally&lt;/td&gt;&lt;br /&gt;&lt;td&gt;float&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;for&lt;/td&gt;&lt;br /&gt;&lt;td&gt;goto&lt;/td&gt;&lt;br /&gt;&lt;td&gt;if&lt;/td&gt;&lt;br /&gt;&lt;td&gt;implements&lt;/td&gt;&lt;br /&gt;&lt;td&gt;import&lt;/td&gt;&lt;br /&gt;&lt;td&gt;instanceof&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;int&lt;/td&gt;&lt;br /&gt;&lt;td&gt;interface&lt;/td&gt;&lt;br /&gt;&lt;td&gt;long&lt;/td&gt;&lt;br /&gt;&lt;td&gt;native&lt;/td&gt;&lt;br /&gt;&lt;td&gt;new&lt;/td&gt;&lt;br /&gt;&lt;td&gt;package&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;private&lt;/td&gt;&lt;br /&gt;&lt;td&gt;protected&lt;/td&gt;&lt;br /&gt;&lt;td&gt;public&lt;/td&gt;&lt;br /&gt;&lt;td&gt;return&lt;/td&gt;&lt;br /&gt;&lt;td&gt;short&lt;/td&gt;&lt;br /&gt;&lt;td&gt;static&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;strictfp&lt;/td&gt;&lt;br /&gt;&lt;td&gt;super&lt;/td&gt;&lt;br /&gt;&lt;td&gt;switch&lt;/td&gt;&lt;br /&gt;&lt;td&gt;synchronized&lt;/td&gt;&lt;br /&gt;&lt;td&gt;this&lt;/td&gt;&lt;br /&gt;&lt;td&gt;throw&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;throws&lt;/td&gt;&lt;br /&gt;&lt;td&gt;transient&lt;/td&gt;&lt;br /&gt;&lt;td&gt;try&lt;/td&gt;&lt;br /&gt;&lt;td&gt;void&lt;/td&gt;&lt;br /&gt;&lt;td&gt;volatile&lt;/td&gt;&lt;br /&gt;&lt;td&gt;while&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr bgcolor="#cee2d7"&gt;&lt;br /&gt;&lt;td&gt;assert&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;Keywords are special reserved words in Java that you cannot use as identifiers (names) for classes, methods, or variables. They have meaning to the compiler. None of them have capital letters,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access Modifiers&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-style: italic; font-weight: bold;"&gt;private&lt;/span&gt; Makes a method or a variable accessible only from within its own class.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;protected&lt;/span&gt; Makes a method or a variable accessible only to classes in the same package or subclasses of the class.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;public&lt;/span&gt; Makes a class, method, or variable accessible from any other class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Class, Method, and Variable Modifiers&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;abstract&lt;/span&gt; Used to declare a class that cannot be instantiated, or a method that must be implemented by a nonabstract subclass.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;class&lt;/span&gt; Keyword used to specify a class.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;extends&lt;/span&gt; Used to indicate the superclass that a subclass is extending.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;final&lt;/span&gt; Makes it impossible to extend a class, override a method, or reinitialize a variable.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;implements&lt;/span&gt; Used to indicate the interfaces that a class will implement.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;interface&lt;/span&gt; Keyword used to specify an interface.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;native&lt;/span&gt; Indicates a method is written in a platform-dependent language, such as C.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;new&lt;/span&gt; Used to instantiate an object by invoking the constructor.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;static&lt;/span&gt; Makes a method or a variable belong to a class as opposed to an instance.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;strictfp&lt;/span&gt; Used in front of a method or class to indicate that floating-point numbers will follow FP-strict rules in all expressions.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;synchronized&lt;/span&gt; Indicates that a method can be accessed by only one thread at a time.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;transient&lt;/span&gt; Prevents fields from ever being serialized. Transient fields are always skipped when objects are serialized.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;volatile&lt;/span&gt; Indicates a variable may change out of sync because it is used in threads.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Flow Control&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;break&lt;/span&gt; Exits from the block of code in which it resides.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;case&lt;/span&gt; Executes a block of code, dependent on what the switch tests for.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;continue&lt;/span&gt; Stops the rest of the code following this statement from executing in a loop and then begins the next iteration of the loop.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;default&lt;/span&gt; Executes this block of code if none of the switch-case statements match.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt; Executes a block of code one time, then, in conjunction with the while statement, it performs a test to determine whether the block should be executed again.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;else&lt;/span&gt; Executes an alternate block of code if an if test is false.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;for&lt;/span&gt; Used to perform a conditional loop for a block of code.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; Used to perform a logical test for true or false.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;instanceof&lt;/span&gt; Determines whether an object is an instance of a class, superclass, or interface.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;return&lt;/span&gt; Returns from a method without executing any code that follows the statement (can optionally return a variable).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;switch&lt;/span&gt; Indicates the variable to be compared with the case statements.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;while&lt;/span&gt; Executes a block of code repeatedly while a certain condition is true.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Error Handling&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;catch&lt;/span&gt; Declares the block of code used to handle an exception.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;finally&lt;/span&gt; Block of code, usually following a try-catch statement, which is executed no matter what program flow occurs when dealing with an exception.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-weight: bold;"&gt;throw&lt;/span&gt; Used to pass an exception up to the method that called this method.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-weight: bold;"&gt;throws&lt;/span&gt; Indicates the method will pass an exception to the method that called it.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-weight: bold;"&gt;try&lt;/span&gt; Block of code that will be tried, but which may cause an exception.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;span style="font-weight: bold;"&gt;assert&lt;/span&gt; Evaluates a conditional expression to verify the programmer’s assumption.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Package Control&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;- &lt;span style="font-weight: bold;"&gt;import&lt;/span&gt;  Statement to import packages or classes into code.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;package&lt;/span&gt;  Specifies to which package all classes in a source file belong.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Primitives&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;boolean&lt;/span&gt; A value indicating true or false.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;byte&lt;/span&gt; An 8-bit integer (signed).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;char&lt;/span&gt; A single Unicode character (16-bit unsigned)&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;double&lt;/span&gt; A 64-bit floating-point number (signed).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;float&lt;/span&gt; A 32-bit floating-point number (signed).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;int&lt;/span&gt; A 32-bit integer (signed).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;long&lt;/span&gt; A 64-bit integer (signed).&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;short&lt;/span&gt; A 16-bit integer (signed).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Variable Keywords&lt;br /&gt;&lt;/span&gt;- &lt;span style="font-weight: bold;"&gt;super&lt;/span&gt; Reference variable referring to the immediate superclass.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;this&lt;/span&gt; Reference variable referring to the current instance of an object.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Void Return Type Keyword&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;- &lt;span style="font-weight: bold;"&gt;void&lt;/span&gt; Indicates no return type for a method.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Unused Reserved Words&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;const&lt;/span&gt; Do not use to declare a constant; use public static final.&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;goto&lt;/span&gt; Not implemented in the Java language. It’s considered harmful.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;The question might appear to be asking about, say, a runtime logic problem, but the real problem will be that the code won’t even compile because of the illegal use of a keyword. For example, the following code will not compile:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;class Foo {&lt;br /&gt;public void go() {&lt;br /&gt;      // complex code here&lt;br /&gt;    }&lt;br /&gt;    public int break(int b) {&lt;br /&gt;       // code that appears to break something&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Meanwhile, you’re trying to figure out the complex code within the methods, when you needn’t look beyond the illegal method name and choose the “Code does not compile” answer.&lt;br /&gt;&lt;br /&gt;According to the Java Language Specification, &lt;span style="font-weight: bold;"&gt;null&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;true&lt;/span&gt;, and &lt;span style="font-weight: bold;"&gt;false&lt;/span&gt; are technically literal values (sometimes referred to as manifest constants) and not keywords. Just as with the other keywords, if you try to create an identifier with one of these literal values, you’ll get a compiler error. For the purposes of the exam, treat them just as you would the other reserved words. You will not be asked to differentiate&lt;br /&gt;between reserved words and these reserved literals. “Note: There will not be any questions regarding esoteric distinctions between keywords and manifest constants.”&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Literals and Ranges of All Primitive Data Types&lt;br /&gt;&lt;/span&gt;All six number types in Java are signed, meaning they can be negative or positive. The leftmost bit (the most significant digit) is used to represent the sign, where a 1 means negative (glass half empty) and 0 means positive (glass half full).&lt;br /&gt;&lt;br /&gt;The positive range is one less than the negative range because the number zero is stored as a positive binary number. We use the formula -2^(bits - 1) to calculate the negative range, and we use 2^&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(bits - 1)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;–1 for the positive range.&lt;br /&gt;&lt;br /&gt;For boolean types there is not a range; a boolean can be only true or false. If someone asks you for the bit depth of a boolean, look them straight in the eye and say, “That’s virtual-machine dependent.” They’ll be impressed. :D&lt;br /&gt;&lt;br /&gt;The char type (a character) contains a single, 16-bit Unicode character. Char is really an integer type, it can be assigned to any number type large enough to hold 65535.&lt;br /&gt;&lt;br /&gt;Type      Bits Bytes Minimum Range Maximum Range&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;byte       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;8     1        -2^7                    2^7–1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;short&lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;16   2        -2^15                  2^15–1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;int         &lt;/span&gt;&lt;span style="font-size:85%;"&gt;32    4        -2^31                  2^31–1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;long      &lt;/span&gt;&lt;span style="font-size:85%;"&gt;64    8        -2^63                  2^63–1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;float      &lt;/span&gt;&lt;span style="font-size:85%;"&gt;32   4         Not needed         Not needed&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;double&lt;/span&gt;  &lt;span style="font-size:85%;"&gt;64   8         Not needed         Not needed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;   &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Literal Values for All Primitive Types&lt;br /&gt;&lt;/span&gt;Literal = source code representation&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Integer Literals&lt;/span&gt;&lt;br /&gt;three ways to represent integer numbers in the Java language:&lt;br /&gt;- decimal (base 10), int length = 343;&lt;br /&gt;- octal (base 8),  by placing a zero in front of the number&lt;br /&gt;class Octal {&lt;br /&gt;   public static void main(String [] args) {&lt;br /&gt;        int five = 06; // Equal to decimal 6&lt;br /&gt;        int seven = 07; // Equal to decimal 7&lt;br /&gt;        int eight = 010; // Equal to decimal 8&lt;br /&gt;        int nine = 011; // Equal to decimal 9&lt;br /&gt;        System.out.println("Octal 010 = " + eight);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;- hexadecimal (base 16), including the prefix 0x or the optional suffix extension L&lt;br /&gt;class HexTest {&lt;br /&gt;   public static void main (String [] args) {&lt;br /&gt;        int x = 0X0001;&lt;br /&gt;        int y = 0x7fffffff;&lt;br /&gt;        int z = 0xDeadCafe;&lt;br /&gt;        System.out.println("x = " + x + " y = " + y + " z = " + z);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;All three integer literals (octal, decimal, and hexadecimal) are defined as int by default, but they may also be specified as long by placing a suffix of L or l after the number:&lt;br /&gt; long jo = 110599L;&lt;br /&gt; long so = 0xFFFFl;            // Note the lowercase 'l'&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Floating-Point Literals&lt;br /&gt;&lt;/span&gt;Floating-point literals are defined as double (64 bits) by default, so if you want to assign a floating-point literal to a variable of type float (32 bits), you must attach the suffix F or f to the number.&lt;br /&gt;&lt;br /&gt; float f = 23.467890; // Compiler error, possible loss of precision&lt;br /&gt; float g = 49837849.029847F; // OK; has the suffix "F"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;Boolean Literals&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Boolean literals are the source code representation for boolean values. A boolean&lt;br /&gt;value can only be defined as true or false. Although in C (and some other&lt;br /&gt;languages) it is common to use numbers to represent true or false, this will&lt;br /&gt;not work in Java. Again, repeat after me, “Java is not C++.”&lt;br /&gt; boolean t = true; // Legal&lt;br /&gt; boolean f = 0; // Compiler error!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Character Literals&lt;/span&gt;&lt;br /&gt;A char literal is represented by a single character in single quotes.&lt;br /&gt;char a = 'a';&lt;br /&gt;char b = '@';&lt;br /&gt;You can also type in the Unicode value of the character, using the Unicode notation of prefixing the value with \u as follows:&lt;br /&gt;char letterN = '\u004E'; // The letter 'N'&lt;br /&gt;&lt;br /&gt;Remember, characters are just 16-bit unsigned integers under the hood. That means you can assign a number literal, assuming it will fit into the unsigned 16-bit range (65535 or less). For example, the following are all legal:&lt;br /&gt;char a  = 0x892; // octal literal&lt;br /&gt;char b  = 982; // int literal&lt;br /&gt;char c  = (char) 70000; // The cast is required; 70000 is out of char range&lt;br /&gt;char d  = (char) -98; // Ridiculous, but legal&lt;br /&gt;And the following are not legal and produce compiler errors:&lt;br /&gt;char e = -29; // Possible loss of precision; needs a cast&lt;br /&gt;char f = 70000 // Possible loss of precision; needs a cast&lt;br /&gt;&lt;br /&gt;You can also use an escape code if you want to represent a character that can’t be typed in as a literal, including the characters for linefeed, newline, horizontal tab, backspace, and double and single quotes.&lt;br /&gt; char c = '\"'; // A double quote&lt;br /&gt; char d = '\n'; // A newline&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Literal Values for Strings&lt;br /&gt;&lt;/span&gt;A string literal is a source code representation of a value of a String object. For&lt;br /&gt;example, the following is an example of two ways to represent a string literal:&lt;br /&gt; String s = "Bill Joy";&lt;br /&gt; System.out.println("Bill" + " Joy");&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Array Declaration, Construction, and Initialization&lt;/span&gt;&lt;br /&gt;Arrays are objects in Java that store multiple variables of the same type.&lt;br /&gt;&lt;br /&gt;For this objective, you need to know three things:&lt;br /&gt;■ How to make an array reference variable (declare)&lt;br /&gt;■ How to make an array object (construct)&lt;br /&gt;■ How to populate the array with elements (initialize)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Declaring an Array&lt;/span&gt;&lt;br /&gt;Arrays are declared by stating the type of element the array will hold, which can be an object or a primitive, followed by square brackets to the left or right of the identifier.&lt;br /&gt;&lt;br /&gt;Declaring an Array of Primitives&lt;br /&gt; int[] key; // Square brackets before name (recommended)&lt;br /&gt; int key []; // Square brackets after name (legal but less readable)&lt;br /&gt;Declaring an Array of Object References&lt;br /&gt; Thread[] threads; // Recommended&lt;br /&gt; Thread threads []; // Legal but less readable&lt;br /&gt;&lt;br /&gt;It is never legal to include the size of the array in your declaration. You might see a question or two that include code similar to the following:&lt;br /&gt;int[5] scores;&lt;br /&gt;The preceding code won’t make it past the compiler. Remember, the JVM doesn’t allocate space until you actually instantiate the array object.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Constructing an Array&lt;/span&gt;&lt;br /&gt;Constructing an array means creating the array object on the heap—in other words, doing a new on the array type. To create an array object, Java needs to know how much space to allocate on the heap, so you must specify the size of the array at construction time. The size of the array is the number of elements the array will hold.&lt;br /&gt;&lt;br /&gt;Constructing One-Dimensional Arrays&lt;br /&gt;The most straightforward way to construct an array is to use the keyword new followed by the array type, with a bracket specifying how many elements of that type the array will hold. The following is an example of constructing an array of type int:&lt;br /&gt; int[] testScores; // Declares the array of ints&lt;br /&gt; testScores = new int[4]; //constructs an array and assigns it&lt;br /&gt; //the testScores variable&lt;br /&gt;&lt;br /&gt;You can also declare and construct an array in one statement as follows:&lt;br /&gt;int[] testScores = new int[14];&lt;br /&gt;This single statement produces the same result as the two previous statements.&lt;br /&gt;Arrays of object types can be constructed in the same way:&lt;br /&gt;Thread[] threads = new Thread[5];&lt;br /&gt;&lt;br /&gt;The exam will expect you to know, for example, that the preceding code produces just one object (the array assigned to the reference variable named threads). The single object referenced by threads holds five Thread reference variables, but no Thread objects have been created or assigned to those references.&lt;br /&gt;&lt;br /&gt;Remember, arrays must always be given a size at the time they are constructed. The JVM needs the size to allocate the appropriate space on the heap for the new array object. It is never legal, for example, to do the following:&lt;br /&gt; int[] carList = new int[]; // Will not compile; needs a size&lt;br /&gt;&lt;br /&gt;Multidimensional arrays, remember, are simply arrays of arrays. So a two-dimensional array of type int is really an object of type int array (int []), with each element in that array holding a reference to another int array. The second dimension holds the actual int primitives.&lt;br /&gt; The following code declares and constructs a two-dimensional array of type int:&lt;br /&gt; int[][] ratings = new int[3][];&lt;br /&gt;Notice that only the first brackets are given a size. That’s acceptable in Java, since the JVM needs to know only the size of the object assigned to the variable ratings.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Initializing an Array&lt;/span&gt;&lt;br /&gt;Initializing an array means putting things into it.&lt;br /&gt;&lt;br /&gt;Look for code that tries to access an out of range array index. For example, if an array has three elements, trying to access the [3] element will raise an ArrayIndexOutOfBoundsException, because in an array of three elements, the legal index values are 0, 1, and 2.&lt;br /&gt;&lt;br /&gt;Be sure to recognize that these cause runtime exceptions and not compiler errors! Nearly all of the exam questions list both runtime exception and compiler error as possible answers.&lt;br /&gt;int[] x = new int[5];&lt;br /&gt;x[4] = 2; // OK, the last element is at index 4&lt;br /&gt;x[5] = 3; // Runtime exception. There is no element at index 5!&lt;br /&gt;&lt;br /&gt;int [] z = new int[2];&lt;br /&gt;int y = -3;&lt;br /&gt;z[y] = 4; // Runtime exception.; y is a negative number&lt;br /&gt;&lt;br /&gt;A two-dimensional array (an array of arrays) can be initialized as follows:&lt;br /&gt;int[][] scores = new int[3][];&lt;br /&gt;// Declare and create an array holding three references to int arrays&lt;br /&gt;scores[0] = new int[4];&lt;br /&gt;// the first element in the scores array is an int array of four int element&lt;br /&gt;scores[1] = new int[6];&lt;br /&gt;// the second element in the scores array is an int array of six int elements&lt;br /&gt;scores[2] = new int[1];&lt;br /&gt;// the third element in the scores array is an int array of one int element&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Initializing Elements in a Loop&lt;/span&gt;&lt;br /&gt;Array objects have a single public variable length that gives you the number of elements in the array. The last index value, then, is always one less than the length. For example, if the length of an array is 4, the index values are from 0 through 3. Often, you’ll see array elements initialized in a loop as follows:&lt;br /&gt; Dog[] myDogs = new Dog[6]; // creates an array of 6 Dog references&lt;br /&gt; for (int x = 0; x &lt; style="font-weight: bold;"&gt;Declaring, Constructing, and Initializing on One Line&lt;/span&gt;&lt;br /&gt;int[] dots = {3,6,9,8};&lt;br /&gt;The size (length of the array) is determined by the number of items between the comma-separated curly braces.&lt;br /&gt;&lt;br /&gt;Dog puppy = new Dog("Frodo");&lt;br /&gt;Dog[] myDogs = {puppy, new Dog("Clover"), new Dog("Aiko")};&lt;br /&gt;Four objects are created:&lt;br /&gt;- 1 Dog object referenced by puppy&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- 1 Dog [ ] object referenced by myDogs&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;- 2 Dog objects referenced by &lt;/span&gt;&lt;span style="font-size:85%;"&gt;myDogs[1] and &lt;/span&gt;&lt;span style="font-size:85%;"&gt;myDogs[2]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Cat[][] myCats = {{new Cat("Fluffy"), new Cat("Zeus")},{&lt;/span&gt;&lt;span style="font-size:85%;"&gt;new Cat("Belbo"), new Cat("Legolas"), &lt;/span&gt;&lt;span style="font-size:85%;"&gt;new Cat("Bert")&lt;/span&gt;&lt;span style="font-size:85%;"&gt;}}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Eight objects are created:&lt;br /&gt;- 1 2-D Cat[ ][ ] object referenced by myCat&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;- 2 Cat[ ] array objects&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;- 5 Cat objects&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Constructing and Initializing an Anonymous Array&lt;/span&gt;&lt;br /&gt;The second shortcut is called anonymous array creation and can be used to construct and initialize an array, and then assign the array to a previously declared array reference variable:&lt;br /&gt; int[] testScores;&lt;br /&gt; testScores = new int[] {4,7,2};&lt;br /&gt;The use is for example, as an argument to a method that takes an array parameter. The following code demonstrates a just-in-time array argument:&lt;br /&gt; public class Foof {&lt;br /&gt;        void takesAnArray(int [] someArray) {&lt;br /&gt;        // use the array parameter&lt;br /&gt;        ...&lt;br /&gt;          }&lt;br /&gt;        public static void main (String [] args) {&lt;br /&gt;           Foof f = new Foof();&lt;br /&gt;           f.takesAnArray(new int[] {7,7,8,2,5}); //we need an array argument&lt;br /&gt;        }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;Remember that you do not specify a size when using anonymous array creation syntax. The size is derived from the number of items (comma-separated) between the curly braces. Pay very close attention to the array syntax used in exam questions (and there will be a lot of them). You might see syntax such as&lt;br /&gt;  new Object[3] {null, new Object(), new Object()};&lt;br /&gt;    // not legal;size must not be specified&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Arrays of Primitives&lt;/span&gt;&lt;br /&gt;Primitive arrays can accept any value that can be promoted implicitly to the declared type of the array. Chapter 3 covers the rules for promotion in more detail, but for an example, an int array can hold any value that can fit into a 32-bit int variable. Thus, the following code is legal:&lt;br /&gt; int[] weightList = new int[5];&lt;br /&gt; byte b = 4;&lt;br /&gt; char c = 'c';&lt;br /&gt; short s = 7;&lt;br /&gt; weightList[0] = b; // OK, byte is smaller than int&lt;br /&gt; weightlist[1] = c; // OK, char is smaller than int&lt;br /&gt; weightList[2] = s; // OK, short is smaller than int&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Arrays of Object References&lt;/span&gt;&lt;br /&gt;If the declared array type is a class, you can put objects of any subclass of the declared type into the array. For example, if Dog is a subclass of Animal, you can put both Dog objects and Animal objects into the array as follows:&lt;br /&gt;  class Car {}&lt;br /&gt;  class Subaru extends Car {}&lt;br /&gt;  class Honda extends Car {}&lt;br /&gt;  class Ferrari extends Car {}&lt;br /&gt;  Car [] myCars = {new Subaru(), new Honda(), new Ferrari()};&lt;br /&gt;&lt;br /&gt;If the array is declared as an interface type, the array elements can refer to any instance of any class that implements the declared interface.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Array Reference Assignments for One-Dimensional Arrays&lt;/span&gt;&lt;br /&gt;It's not talking about references in the array (in other words, array elements), but rather references to the array object. For example, if you declare an int array, the reference variable you declared can be reassigned to any int array (of any size), but cannot be reassigned to anything that is not an int array, including an int value. Remember, all arrays are objects, so an int array reference cannot refer to an int primitive. The following code demonstrates legal and illegal assignments for primitive arrays:&lt;br /&gt; int[] splats;&lt;br /&gt; int[] dats = new int[4];&lt;br /&gt; char[] letters = new char[5];&lt;br /&gt; splats = dats; // OK, dats refers to an int array&lt;br /&gt; splats = letters; // NOT OK, letters refers to a char array&lt;br /&gt;&lt;br /&gt;Arrays that hold object references, as opposed to primitives, aren’t as restrictive. Just as you can put a Honda object in a Car array (because Honda extends Car), you can assign an array of type Honda to a Car array reference variable as follows:&lt;br /&gt; Car[] cars;&lt;br /&gt; Honda[] cuteCars = new Honda[5];&lt;br /&gt; cars = cuteCars; // OK because Honda is a type of Car&lt;br /&gt; Beer[] beers = new Beer [99];&lt;br /&gt; cars = beers; // NOT OK, Beer is not a type of Car&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Array Reference Assignments for Multidimensional Arrays&lt;/span&gt;&lt;br /&gt;- the array you’re assigning must be the same dimension as the reference you’re assigning it to.&lt;br /&gt;  int[] blots;&lt;br /&gt;  int[][] squeegees = new int[3][];&lt;br /&gt;  blots = squeegees; // NOT OK, squeegees is a two-d array of int arrays&lt;br /&gt;  int[] blocks = new int[6];&lt;br /&gt;  blots = blocks; // OK, blocks is an int array&lt;br /&gt;- It must assigning array, not a primitif type&lt;br /&gt;  int[][] books = new int[3][];&lt;br /&gt;  int[] numbers = new int[6];&lt;br /&gt;  int aNumber = 7;&lt;br /&gt;  books[0] = aNumber; //NOT OK, expecting an int array instead of an int&lt;br /&gt;  books[0] = numbers; //OK, numbers is an int array&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using a Variable or Array Element That Is Uninitialized and Unassigned&lt;/span&gt;&lt;br /&gt;- instance variable is declared within the class but outside any method or constructor&lt;br /&gt;- local variable is declared within a method (or in the argument list of the method)&lt;br /&gt;the compiler complains if you try to use a local variable before initializing it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Primitive Instance Variables&lt;/span&gt;&lt;br /&gt;   public class BirthDate {&lt;br /&gt;        int year; // Instance variable&lt;br /&gt;        public static void main(String [] args) {&lt;br /&gt;            BirthDate bd = new BirthDate();&lt;br /&gt;            bd.showYear();&lt;br /&gt;        }&lt;br /&gt;        public void showYear() {&lt;br /&gt;            System.out.println("The year is " + year);&lt;br /&gt;          }&lt;br /&gt;   }&lt;br /&gt;When the program is started, it gives the variable year a value of zero, the default value for primitive number instance variables.&lt;br /&gt;&lt;br /&gt;Variable Type           Default Value&lt;br /&gt;Object reference       null (not referencing any object)&lt;br /&gt;byte, short, int, long 0&lt;br /&gt;float, double             0.0&lt;br /&gt;boolean                     false&lt;br /&gt;char                          ‘\u0000’&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Object Reference Instance Variables&lt;/span&gt;&lt;br /&gt;The following modification to the Book code runs into trouble:&lt;br /&gt;   public class Book {&lt;br /&gt;        private String title;&lt;br /&gt;    public String getTitle() {&lt;br /&gt;        return title;&lt;br /&gt;    }&lt;br /&gt;    public static void main(String [] args) {&lt;br /&gt;        Book b = new Book();&lt;br /&gt;        String s = b.getTitle(); // Compiles and runs&lt;br /&gt;        String t = s.toLowerCase(); // Runtime Exception!&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;When we try to run the Book class, the JVM will produce the following error:&lt;br /&gt;%java Book&lt;br /&gt;Exception in thread "main" java.lang.NullPointerException&lt;br /&gt;      at Book.main(Book.java:12&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Array Instance Variables&lt;/span&gt;&lt;br /&gt;An array is an object; thus, an array instance variable that’s declared but not explicitly initialized will have a value of null, just as any other object reference instance variable.&lt;br /&gt;But...if the array is initialized, what happens to the elements contained in the array? All array elements are given their default values—the same default values that elements of that type get when they’re instance variables. The bottom line: Array elements are always always always given default values, regardless of where the array itself is declared or instantiated.&lt;br /&gt;&lt;br /&gt;If we initialize an array, object reference elements will equal null if they are not initialized individually with values. If primitives are contained in an array, they will be given their respective default values. For example, in the following code, the array year will contain 100 integers that all equal zero by default:&lt;br /&gt;   public class BirthDays {&lt;br /&gt;          static int [] year = new int[100];&lt;br /&gt;          public static void main(String [] args) {&lt;br /&gt;                 for(int i=0;i&lt;100;i++)&lt;br /&gt;                       System.out.println("year[" + i + "] = " + year[i]);&lt;br /&gt;          }&lt;br /&gt;   }&lt;br /&gt;When the preceding code runs, the output indicates that all 100 integers in the array equal zero.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Local (Stack, Automatic) Primitives and Objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Local Primitives&lt;/span&gt;&lt;br /&gt;In the following time travel simulator, the integer year is defined as an automatic variable because it is within the curly braces of a method.&lt;br /&gt;   public class TimeTravel {&lt;br /&gt;          public static void main(String [] args) {&lt;br /&gt;                 int year = 2050;&lt;br /&gt;                 System.out.println("The year is " + year);&lt;br /&gt;          }&lt;br /&gt;   }&lt;br /&gt;Okay, so we’ve still got work to do on the physics. Local variables, including primitives, always always always must be initialized before you attempt to use them (though not necessarily on the same line of code). Java does not give local variables a default value; you must explicitly initialize them with a value, as in the preceding example. If you try to use an uninitialized primitive in your code, you’ll get a compiler error:&lt;br /&gt;   public class TimeTravel {&lt;br /&gt;         public static void main(String [] args) {&lt;br /&gt;               int year; // Local variable (declared but not initialized)&lt;br /&gt;               System.out.println("The year is " + year); // Compiler error&lt;br /&gt;         }&lt;br /&gt;   }&lt;br /&gt;Compiling produces the following output:&lt;br /&gt;   %javac TimeTravel.java&lt;br /&gt;   TimeTravel.java:4: Variable year may not have been initialized.&lt;br /&gt;                  System.out.println("The year is " + year);&lt;br /&gt;   1 error&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Local Objects&lt;/span&gt;&lt;br /&gt;Objects, too, behave differently when declared within a method rather than as instance variables. With instance variable object references, you can get away with leaving an object reference uninitialized, as long as the code checks to make sure the reference isn’t null before using it. Remember, to the compiler, null is a value. You can’t use the dot operator on a null reference, because there is no object at the other end of it, but a null reference is not the same as an uninitialized reference. Locally declared references can’t get away with checking for null before use, unless you explicitly initialize the local variable to null. The compiler will complain about the following code:&lt;br /&gt;   import java.util.Date;&lt;br /&gt;   public class TimeTravel {&lt;br /&gt;          public static void main(String [] args) {&lt;br /&gt;                  Date date;&lt;br /&gt;                  if (date == null)&lt;br /&gt;                         System.out.println("date is null");&lt;br /&gt;          }&lt;br /&gt;   }&lt;br /&gt;Compiling the code results in the following error:&lt;br /&gt;   %javac TimeTravel.java&lt;br /&gt;   TimeTravel.java:5: Variable date may not have been initialized.&lt;br /&gt;                  If (date == null)&lt;br /&gt;   1 error&lt;br /&gt;&lt;br /&gt;Instance variable references are always given a default value of null, until explicitly initialized to something else. But local references are not given a default value; in other words, they aren’t null. If you don’t initialize a local reference variable, then by default, its value is...well that’s the whole point—it doesn’t have any value at all! So we’ll make this simple: Just set the darn thing to null explicitly, until you’re ready to initialize it to something else. The following local variable will compile&lt;br /&gt;properly:&lt;br /&gt;    Date date = null; // Explicitly set the local reference variable to null&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Local Arrays&lt;/span&gt;&lt;br /&gt;Just like any other object reference, array references declared within a method must be assigned a value before use. That just means you must declare and construct the array. You do not, however, need to explicitly initialize the elements of an array. We’ve said it before, but it’s important enough to repeat: array elements are given their default values (0, false, null, ‘\u0000’, etc.) regardless of whether the array is declared as an instance or local variable. The array object itself, however, will not be initialized if it’s declared locally. In other words, you must explicitly initialize an array reference if it’s declared and used within a method, but at the moment you construct an array object, all of its elements are assigned their default values.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Command-Line Arguments to Main&lt;/span&gt;&lt;br /&gt;Now that you know all about arrays, command-line arguments will be a piece of cake. Remember that the main method—the one the JVM invokes—must take a String array parameter. That String array holds the arguments you send along with the command to run your Java program, as follows:&lt;br /&gt;   class TestMain {&lt;br /&gt;      public static void main (String [] args) {&lt;br /&gt;          System.out.println("First arg is " + args[0]);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;When invoked at the command line as follows,&lt;br /&gt;   %java TestMain       Hello&lt;br /&gt;the output is&lt;br /&gt;   First arg is Hello&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7421643931753780925?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7421643931753780925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7421643931753780925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7421643931753780925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7421643931753780925'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/10/language-fundamental-prepare-for-scjp.html' title='Language Fundamental, Prepare for SCJP'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-7697342928286987026</id><published>2008-10-14T22:27:00.000-07:00</published><updated>2008-10-15T19:54:15.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>beanValidator Validates Pojo's Attributes Easily</title><content type='html'>&lt;span style="font-size:85%;"&gt;It is powerful tool from spring, I guess it's only in spring because I never user the other framework such as tapestry or struts. It automatically validate application from filling fields of the pojos. And it is so simple because only add line above the attribute setters in its XDoclet, and small validator in validation-global.xml, and a line in action-servlet and application properties for the error message.&lt;br /&gt;&lt;br /&gt;Ok, let's take a look in my pojo Lbuibp, which mean Reporter Bank, below is some code sniplet from it:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;/**&lt;br /&gt;    * @spring.validator type="required" type="mask" msgkey="errors.char9"&lt;br /&gt;    * @spring.validator-var name="mask" value="${char9}"&lt;br /&gt;    */&lt;br /&gt;   public void setId(String id) {&lt;br /&gt;       this.id = id;&lt;br /&gt;   }&lt;br /&gt;/**&lt;br /&gt;    * @spring.validator type="mask" msgkey="errors.number8"&lt;br /&gt;    * @spring.validator-var name="mask" value="${number8}"&lt;br /&gt;    */&lt;br /&gt;   public void setKursLaporan(Long kursLaporan) {&lt;br /&gt;       this.kursLaporan = kursLaporan;&lt;br /&gt;   }&lt;br /&gt;/**&lt;br /&gt;    * @spring.validator type="required"&lt;br /&gt;    * @spring.validator type="mask" msgkey="errors.varchar30"&lt;br /&gt;    * @spring.validator-var name="mask" value="${varchar30}"&lt;br /&gt;    */&lt;br /&gt;   public void setNamaBank(String namaBank) {&lt;br /&gt;       this.namaBank = namaBank;&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ok, those are setters of my attribute: id, kursLaporan, and namaBank, and their type is easily known which is char9, number8, and varchar30.&lt;br /&gt;&lt;br /&gt;And then I add my own validator in validation-global.xml:&lt;br /&gt;     &amp;lt;constant&amp;gt;&lt;br /&gt;       &amp;lt;constant-name&amp;gt;char9&amp;lt;/constant-name&amp;gt;&lt;br /&gt;       &amp;lt;constant-value&amp;gt;^[a-zA-Z0-9]{9}$&amp;lt;/constant-value&amp;gt;&lt;br /&gt;     &amp;lt;/constant&amp;gt;&lt;br /&gt;     &amp;lt;constant&amp;gt;&lt;br /&gt;       &amp;lt;constant-name&amp;gt;number8&amp;lt;/constant-name&amp;gt;&lt;br /&gt;       &amp;lt;constant-value&amp;gt;^\d{1,8}$|^\d{1,2}((\,)?\d{3}){1,2}$&amp;lt;/constant-value&amp;gt;&lt;br /&gt;     &amp;lt;/constant&amp;gt;&lt;br /&gt;     &amp;lt;constant&amp;gt;&lt;br /&gt;       &amp;lt;constant-name&amp;gt;varchar30&amp;lt;/constant-name&amp;gt;&lt;br /&gt;       &amp;lt;constant-value&amp;gt;^[\w\s.+*(),=:'"]{1,30}$&amp;lt;/constant-value&amp;gt;&lt;br /&gt;     &amp;lt;/constant&amp;gt;&lt;br /&gt;&lt;br /&gt;- char9, it receives nine digits alphanumeric characters&lt;br /&gt;- number8, &lt;/span&gt;&lt;span style="font-size:85%;"&gt;^\d{1,8}$ which receives number from 1 until 8 characters, or                   &lt;/span&gt;&lt;span style="font-size:85%;"&gt;^\d{1,2}((\,)?\d{3}){1,2}$ which receives 1 or 2 numbers, and then comma (or not), and then three numbers, comma and three number as a group, which is 1 or 2 of that group&lt;br /&gt;- varchar30, it receives 1 or until 30 characters of set of word character, space, dot, plus, star, and etc characters.&lt;br /&gt;&lt;br /&gt;And then in the action-servlet.xml we add a line in the lbuibpFormController bean which control the form of Lbuibp.&lt;br /&gt;   &amp;lt;bean id="lbuibpFormController" class="...webapp.action.LbuibpFormController"&amp;gt;&lt;br /&gt;       ...&lt;br /&gt;       &amp;lt;property name="validator"&amp;gt;&amp;lt;ref bean="beanValidator"&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;       ...&lt;br /&gt;   &amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;And in the applicationResources.properties we add some message as below:&lt;br /&gt;&lt;br /&gt;errors.char9={0} is invalid, it must 9 characters of string.&lt;br /&gt;errors.number8={0} is invalid, it must 8 characters of number.&lt;br /&gt;errors.varchar30={0} is invalid, it must maximum 30 characters of string.&lt;br /&gt;&lt;br /&gt;And those error messages simply called if the user is inputing unreceivable syntax that will unpass of the beanValidator.&lt;br /&gt;&lt;br /&gt;And this beanValidator is server side validation, we can add client side validation using javascript.&lt;br /&gt;&lt;/bean&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-7697342928286987026?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/7697342928286987026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=7697342928286987026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7697342928286987026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/7697342928286987026'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/10/beanvalidator-validates-pojos.html' title='beanValidator Validates Pojo&apos;s Attributes Easily'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2317925394798802462</id><published>2008-10-14T18:53:00.000-07:00</published><updated>2008-10-15T19:54:15.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>REGEX</title><content type='html'>&lt;span style="font-size:85%;"&gt;Regex stands for Regular Expression, it also called re, I remember got it in automata or discrete math when bachelor. Basically, a regular expression is a pattern describing a certain amount of text. Their name comes from the mathematical theory on which they are based.&lt;/span&gt;&lt;span style="font-size:85%;"&gt; Most of this post content is taken from &lt;a href="http://www.regular-expressions.info."&gt;http://www.regular-expressions.info&lt;/a&gt;, and I just copy and paste it.&lt;br /&gt;&lt;br /&gt;Regex is a powerful tool when we already learn it, in my project, I used regex as field validator of my pojos and as validator of the uploaded file name, fyi, in my application there is a part that user upload files, and that file is filtered first by application, because my appliaction is monthly bank reporting, so it needs to know that the file is report in what month, I mean the file must named year and month in the last of its name.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;11 Special Charactes &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;(metacharacters)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- the opening square bracket &lt;tt class="regex"&gt;[&lt;/tt&gt;&lt;br /&gt;- the backslash &lt;tt class="regex"&gt;\&lt;/tt&gt;&lt;br /&gt;- the caret &lt;tt class="regex"&gt;^&lt;/tt&gt;&lt;br /&gt;- the dollar sign &lt;tt class="regex"&gt;$&lt;/tt&gt;&lt;br /&gt;- the period or dot &lt;tt class="regex"&gt;.&lt;/tt&gt;&lt;br /&gt;- the vertical bar or pipe symbol &lt;tt class="regex"&gt;|&lt;/tt&gt;&lt;br /&gt;- the question mark &lt;tt class="regex"&gt;?&lt;/tt&gt;&lt;br /&gt;- the asterisk or star &lt;tt class="regex"&gt;*&lt;/tt&gt;&lt;br /&gt;- the plus sign &lt;tt class="regex"&gt;+&lt;/tt&gt;&lt;br /&gt;- the opening round bracket &lt;tt class="regex"&gt;(&lt;/tt&gt;&lt;br /&gt;- the closing round bracket &lt;tt class="regex"&gt;)&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;If we want to use one of these metacharacters, we need to escape them with a backslash, or double backslash in java.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Non-Printable Characters&lt;/span&gt;&lt;br /&gt;&lt;tt class="regex"&gt;- \t&lt;/tt&gt; to match a tab character (ASCII 0x09),   &lt;tt class="regex"&gt;&lt;br /&gt;- \r&lt;/tt&gt; for carriage return (0x0D) , and&lt;br /&gt;-  &lt;tt class="regex"&gt;\n&lt;/tt&gt; for line feed (0x0A). &lt;br /&gt;-  More exotic non-printables are   &lt;tt class="regex"&gt;\a&lt;/tt&gt; (bell, 0x07),   &lt;tt class="regex"&gt;\e&lt;/tt&gt; (escape, 0x1B),   &lt;tt class="regex"&gt;\f&lt;/tt&gt; (form feed, 0x0C) and   &lt;tt class="regex"&gt;\v&lt;/tt&gt; (vertical tab, 0x0B).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;And once again, we need double backslash in java, one backslash is for the regex commonly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Regex Engine&lt;/span&gt;&lt;br /&gt;A regular expression "engine" is a piece of software that can process regular expressions, trying to match the pattern to the given string.&lt;br /&gt;&lt;br /&gt;There are two kinds of regex engines: text-directed engines, and regex-directed engines.  &lt;a href="http://www.regular-expressions.info/hipowls.html" target="_top"&gt;Jeffrey Friedl&lt;/a&gt;&lt;a href="http://www.regular-expressions.info/hipowls.html"&gt; &lt;/a&gt;calls them DFA and NFA engines, respectively. &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.regular-expressions.info."&gt;http://www.regular-expressions.info&lt;/a&gt; is based on regex-directed engines, and that sites is based on pearl language. First, I thought java is also regex-directed, but surprisingly is not, I create mini program as told by the site to find out is java &lt;/span&gt;&lt;span style="font-size:85%;"&gt;text-directed engines or regex-directed, and surprisingly it's text-directed. The regex is: &lt;/span&gt;&lt;tt style="font-weight: bold;" class="regex"&gt;regex|regex not&lt;/tt&gt; &lt;span style="font-size:85%;"&gt;and the string is&lt;/span&gt; &lt;tt class="string"&gt;&lt;span style="font-weight: bold;"&gt;regex not&lt;/span&gt;, &lt;/tt&gt;&lt;span style="font-size:85%;"&gt;Below is the code,   If the resulting match is only &lt;tt class="match"&gt;regex&lt;/tt&gt;, the engine is regex-directed.  If the result is &lt;tt class="match"&gt;regex not&lt;/tt&gt;, then it is text-directed. Below is the code, and the output is "Found 'regex not' at position 0":&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;br /&gt;    public static void main(String[] args) {     &lt;br /&gt;        Pattern p = Pattern.compile ( "regex|regex not", Pattern.CASE_INSENSITIVE ) ;&lt;br /&gt;        String text = "regex not";&lt;br /&gt;        Matcher m = p.matcher ( text ) ;&lt;br /&gt;            if ( m.matches()  )   { &lt;br /&gt;                System.out.println ( "Found '" + m.group ( 0 )  + "' at position " + m.start ( 0 )  ) ;&lt;br /&gt;            } &lt;br /&gt;            else {&lt;br /&gt;                System.err.println("No found match");&lt;br /&gt;            }&lt;br /&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Regex-directed always returns the leftmost match, if we applying regex &lt;span style="font-weight: bold;"&gt;cat&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;He captured a catfish for his cat&lt;/span&gt;, the engine will try to match the first token in the regex &lt;tt class="regex"&gt;c&lt;/tt&gt; to the first character in the match &lt;tt class="string"&gt;H&lt;/tt&gt;. This fails. There are no other possible permutations of this regex, because it merely consists of a sequence of literal characters. So the regex engine tries to match the &lt;tt class="regex"&gt;c&lt;/tt&gt; with the &lt;tt class="string"&gt;e&lt;/tt&gt;.  This fails too, as does matching the &lt;tt class="regex"&gt;c&lt;/tt&gt; with the space.  Arriving at the 4th character in the match, &lt;tt class="regex"&gt;c&lt;/tt&gt; matches &lt;tt class="match"&gt;c&lt;/tt&gt;.  The engine will then try to match the second token &lt;tt class="regex"&gt;a&lt;/tt&gt; to the 5th character, &lt;tt class="match"&gt;a&lt;/tt&gt;.  This succeeds too.  But then, &lt;tt class="regex"&gt;t&lt;/tt&gt; fails to match &lt;tt class="string"&gt;p&lt;/tt&gt;. At that point, the engine knows the regex cannot be matched starting at the 4th character in the match. So it will continue with the 5th: &lt;tt class="string"&gt;a&lt;/tt&gt;. Again, &lt;tt class="regex"&gt;c&lt;/tt&gt; fails to match here and the engine carries on.  At the 15th character in the match, &lt;tt class="regex"&gt;c&lt;/tt&gt; again matches &lt;tt class="match"&gt;c&lt;/tt&gt;.  The engine then proceeds to attempt to match the remainder of the regex at character 15 and finds that &lt;tt class="regex"&gt;a&lt;/tt&gt; matches &lt;tt class="match"&gt;a&lt;/tt&gt; and &lt;tt class="regex"&gt;t&lt;/tt&gt; matches &lt;tt class="match"&gt;t.&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;The entire regular expression could be matched starting at character 15. The engine is "eager" to report a match. It will therefore report the first three letters of catfish as a valid match. The engine never proceeds beyond this point to see if there are any "better" matches.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;But in java which is text&lt;/span&gt;&lt;span style="font-size:85%;"&gt;-directed, he report no match for that situation, I already try &lt;/span&gt;&lt;span style="font-size:85%;"&gt;regex &lt;span style="font-weight: bold;"&gt;cat&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;He captured a catfish for his cat&lt;/span&gt;, and it report no match found, it only receive String &lt;span style="font-weight: bold;"&gt;cat&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Character Set or Character Class&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;"[ ]"&lt;/span&gt;&lt;br /&gt;With character set we can tell the regex engine to match only one out of several characters. Simply place the characters you want to match between square brackets. We can use a hyphen inside a character class to specify a range of characters.  &lt;tt class="regex"&gt;[0-9]&lt;/tt&gt; matches a &lt;i&gt;single&lt;/i&gt; digit between 0 and 9.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;- \d is short for [0-9]&lt;br /&gt;- \w stands for "word character", usually [A-Za-z0-9_]. Notice the inclusion of the underscore and digits.&lt;br /&gt;- \s stands for "whitespace character".&lt;br /&gt;- The negated versions, \D is the same as [^\d], \W is short for [^\w] and \S is the equivalent of [^\s].&lt;br /&gt;&lt;br /&gt;Be careful when using the negated shorthands inside square brackets. [\D\S] is not the same as [^\d\s]. The latter will match any character that is not a digit or whitespace. So it will match x, but not 8. The former, however, will match any character that is either not a digit, or is not whitespace. Because a digit is not whitespace, and whitespace is not a digit, [\D\S] will match any character, digit, whitespace or otherwise.&lt;br /&gt;&lt;br /&gt;If we repeat a character class by using the &lt;tt class="regex"&gt;?&lt;/tt&gt;, &lt;tt class="regex"&gt;*&lt;/tt&gt; or &lt;tt class="regex"&gt;+&lt;/tt&gt; operators, we will repeat the entire character class, and not just the character that it matched.  The regex &lt;tt class="regex"&gt;[0-9]+&lt;/tt&gt; can match &lt;tt class="match"&gt;837&lt;/tt&gt; as well as &lt;tt class="match"&gt;222&lt;/tt&gt;.  But If we want to repeat the matched character, rather than the class, you will need to use backreferences.  &lt;tt class="regex"&gt;([0-9])\1+&lt;/tt&gt; will match &lt;tt class="match"&gt;222&lt;/tt&gt; but not &lt;tt class="string"&gt;837&lt;/tt&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Negated Character Classes&lt;/span&gt;&lt;br /&gt;Typing a caret after the opening square bracket will negate the character class. The result is that the character class will match any character that is not in the character class. It is important to remember that a negated character class still must match a character. q[^u] does not mean: "a q not followed by a u". It means: "a q followed by a character that is not a u". It will not match the q in the string Iraq. It will match the q and the space after the q in Iraq is a country. Indeed: the space will be part of the overall match, because it is the "character that is not a u" that is matched by the negated character class in the above regexp.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Metacharacters Inside Character Classes&lt;/span&gt;&lt;br /&gt;Note that the only special characters or metacharacters inside a character class are the closing bracket (]), the backslash (\), the caret (^) and the hyphen (-). The usual metacharacters are normal characters inside a character class, and do not need to be escaped by a backslash. To search for a star or plus, use [+*]. Your regex will work fine if you escape the regular metacharacters inside a character class, but doing so significantly reduces readability.&lt;br /&gt;&lt;br /&gt;To include a backslash as a character without any special meaning inside a character class, you have to escape it with another backslash. [\\x] matches a backslash or an x. The closing bracket (]), the caret (^) and the hyphen (-) can be included by escaping them with a backslash, or by placing them in a position where they do not take on their special meaning. I recommend the latter method, since it improves readability. To include a caret, place it anywhere except right after the opening bracket. [x^] matches an x or a caret. You can put the closing bracket right after the opening bracket, or the negating caret. []x][^]x] matches any character that is not a closing bracket or an x. The hyphen can be included right after the opening bracket, or right before the closing bracket, or right after the negating caret. Both [-x] and [x-] match an x or a hyphen. matches a closing bracket or an x.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;The Dot Matches (Almost) Any Character&lt;/span&gt;&lt;br /&gt;The dot matches a single character, without caring what that character is.  The only exception are newline characters. So by default, the dot is short for &lt;/span&gt;&lt;span style="font-size:85%;"&gt;the &lt;tt class="regex"&gt;[^\n]&lt;/tt&gt;&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Anchors&lt;br /&gt;&lt;/span&gt;Anchors are a different breed. They do not match any character at all. Instead, they match a position before, after or between characters. And they are Zero-Length Matches.&lt;br /&gt;- The caret ^ matches the position before the first character in the string.&lt;br /&gt;- $ matches right after the last character in the string.&lt;br /&gt;- &lt;tt class="regex"&gt;\b&lt;/tt&gt;  matches at a position that is called a "word boundary"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Applying ^a to abc matches a. ^b will not match abc at all, because the b cannot be matched right after the start of the string, matched by ^. While c$ matches c in abc, while a$ does not match at all.&lt;br /&gt;&lt;br /&gt;There are four different positions that qualify as word boundaries:&lt;br /&gt;    * Before the first character in the string, if the first character is a \w.&lt;br /&gt;    * After the last character in the string, if the last character is a &lt;/span&gt;&lt;span style="font-size:85%;"&gt;\w&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;br /&gt;    * Between a &lt;/span&gt;&lt;span style="font-size:85%;"&gt;\w&lt;/span&gt;&lt;span style="font-size:85%;"&gt; and a non-word character following right after &lt;/span&gt;&lt;span style="font-size:85%;"&gt;\w&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;br /&gt;    * Between a \W and a &lt;/span&gt;&lt;span style="font-size:85%;"&gt;\w&lt;/span&gt;&lt;span style="font-size:85%;"&gt; following right after \W character. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;In the regex-engine, &lt;/span&gt;&lt;tt class="regex"&gt;\bis\b&lt;/tt&gt;&lt;span style="font-size:85%;"&gt; will match &lt;/span&gt;&lt;tt class="string"&gt;This island is beautiful.&lt;/tt&gt; &lt;span style="font-size:85%;"&gt;Space is non word character, and the others are. The engine has successfully matched the word &lt;tt class="match"&gt;is&lt;/tt&gt; in our string, skipping the two earlier occurrences of the characters i and s.  If we had used the regular expression &lt;tt class="regex"&gt;is&lt;/tt&gt;, it would have matched the &lt;tt class="match"&gt;is&lt;/tt&gt; in &lt;tt class="string"&gt;This&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alternation "|"&lt;/span&gt;&lt;br /&gt;The alternation operator has the lowest precedence of all regex operators. That is, it tells the regex engine to match either everything to the left of the vertical bar, or everything to the right of the vertical bar. If we want to limit the reach of the alternation, we will need to use round brackets for grouping.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Optional "?"&lt;br /&gt;&lt;/span&gt;It is &lt;i&gt;greedy&lt;/i&gt;. The question mark gives the regex engine two choices: try to match the part the question mark applies to, or do not try to match it. The engine will always try to match that part. Only if this causes the entire regular expression to fail, will the engine try ignoring the part the question mark applies to.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;The effect is that if you apply the regex &lt;tt class="regex"&gt;Feb 23(rd)?&lt;/tt&gt; to the string &lt;tt class="string"&gt;Feb 23rd&lt;/tt&gt;, the match will always be &lt;tt class="match"&gt;Feb 23rd&lt;/tt&gt; and not &lt;tt class="match"&gt;Feb 23&lt;/tt&gt;.  You can make the question mark &lt;i&gt;lazy&lt;/i&gt; (i.e. turn off the greediness) by putting a second question mark after the first.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"?,*, +,{}"&lt;/span&gt;&lt;br /&gt;- ? is optional, 1 or 0&lt;br /&gt;- * is 0 or more repetition&lt;br /&gt;- + is 1 or more repetition&lt;br /&gt;- {} is limiting repetition, The syntax is &lt;tt&gt;{&lt;i&gt;min&lt;/i&gt;,&lt;i&gt;max&lt;/i&gt;}&lt;/tt&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, if we want exactly n reeptition so the syntax is {n}&lt;br /&gt;&lt;br /&gt;Again, they are greedy, suppose we want to receive html tag with this regex: &lt;/span&gt; &lt;tt class="regex"&gt;&lt;.+&gt;&lt;/tt&gt;. &lt;span style="font-size:85%;"&gt;when we test it on a string like &lt;tt class="string"&gt;This is a &lt;em&gt;first&lt;/em&gt; test&lt;/tt&gt;. we might expect the regex to match &lt;tt class="match"&gt;&lt;em&gt;&lt;/tt&gt; and when continuing after that match, &lt;tt class="match"&gt;&lt;/em&gt;&lt;/tt&gt;.  But it does not.  The regex will match &lt;tt class="match"&gt;&lt;em&gt;first&lt;/em&gt;&lt;/tt&gt;. Obviously not what we wanted.  The reason is that the plus is &lt;i&gt;greedy&lt;/i&gt;. That is, the plus causes the regex engine to repeat the preceding token as often as possible. Only if that causes the entire regex to fail, will the regex engine &lt;i&gt;backtrack&lt;/i&gt;.  That is, it will go back to the plus, make it give up the last iteration, and proceed with the remainder of the regex.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;To fix the problem:&lt;br /&gt;- laziness, by adding "?", so the regex will becomes &lt;tt class="regex"&gt;&lt;.+?&gt;&lt;/tt&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- better solution without backtracking: We can use a greedy plus and a &lt;a href="http://www.regular-expressions.info/charclass.html" target="_top"&gt;negated character class&lt;/a&gt;: &lt;tt class="regex"&gt;&lt;[^&gt;]+&gt;&lt;/tt&gt;&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Grouping and Backreference "()"&lt;/span&gt;&lt;br /&gt;Besides grouping part of a regular expression together, round brackets also create a "backreference". A backreference stores the part of the string matched by the part of the regular expression inside the parentheses.&lt;br /&gt;&lt;br /&gt;&lt;tt class="regex"&gt;([a-c])x\1x\1&lt;/tt&gt; will match &lt;tt class="match"&gt;axaxa&lt;/tt&gt;, &lt;tt class="match"&gt;bxbxb&lt;/tt&gt; and &lt;tt class="match"&gt;cxcxc&lt;/tt&gt;.  \1 is calling backreference ([a-c]). and in java we need double backslash rather than single backslash.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;The other example is &lt;tt class="regex"&gt;&lt;([A-Z][A-Z0-9]*)\b[^&gt;]*&gt;.*?&lt;/\1&gt;&lt;/tt&gt; that want to match a pair of opening and closing HTML tags, and the text in between, such text &lt;tt class="string"&gt;&lt;b&gt;&lt;i&gt;bold italic&lt;/i&gt;&lt;/b&gt;&lt;/tt&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Java also support forward reference, that is: we can use a backreference to a group that appears later in the regex. Obviously only useful if they're inside a repeated group. The example is &lt;tt class="regex"&gt;(\2two|(one))+&lt;/tt&gt; will match &lt;tt class="match"&gt;oneonetwo&lt;/tt&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2317925394798802462?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2317925394798802462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2317925394798802462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2317925394798802462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2317925394798802462'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/10/regex.html' title='REGEX'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-3506279395465705864</id><published>2008-09-24T20:05:00.000-07:00</published><updated>2008-10-15T19:54:15.219-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>XDoclet Serial Type Mapping</title><content type='html'>&lt;span style="font-size:85%;"&gt;I was in mistake, I did the wrong way to get the id in a table which is Long and always increment in oracle&lt;br /&gt; such as from table APP_USER.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wrong Way I:&lt;/span&gt;&lt;br /&gt;- I create sequence in the schema, for example for APP_USER:&lt;br /&gt;  &lt;span style="font-family: trebuchet ms;"&gt;CREATE SEQUENCE  "SCHEMANAME"."SEQ_APP_USER_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 30 NOORDER  NOCYCLE ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- I create trigger before insert, in which it will increment if the ID is null&lt;br /&gt;  create or replace TRIGGER BI_APP_USER&lt;br /&gt;    before insert on APP_USER             &lt;br /&gt;    for each row&lt;br /&gt;  begin &lt;br /&gt;  if :new.id is null&lt;br /&gt;    then select SEQ_APP_USER_ID.nextval into :NEW.ID from dual;&lt;br /&gt;  end if;&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;- And in  the pojo, the getter of the ID, is like this:&lt;br /&gt;  /**&lt;br /&gt;     * @return Returns the id.&lt;br /&gt;     * @hibernate.id column="ID" unsaved-value="null"&lt;br /&gt;     * @hibernate.generator class="increment"&lt;br /&gt;     */&lt;br /&gt;    public Long getId() {&lt;br /&gt;        return id;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;and belive it or not I got this way from browse the net, sadly I didn't save the address, it's from such a forum I think.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;I did this method for some of my pojos, and few of them didn't work, I don't know why, in case it need tobe fixed fast, so I use another way,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Wrong Way II:&lt;br /&gt;&lt;/span&gt;- Simply it check the maximum value of the id, and then I increment it before insert.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;- I add method to get the maximum id of the table, in the DaoHibernate seems like this&lt;br /&gt;  @Override&lt;br /&gt;    public Long getMaxId() {&lt;br /&gt;        Long maxId = (Long) getSession().createQuery("select max(id) from LogTable ").uniqueResult();      &lt;br /&gt;        return maxId;&lt;br /&gt;    }&lt;br /&gt;- And offcourse the insert code just like below:&lt;br /&gt;  public void saveLogTable(final LogTable logTable) {&lt;br /&gt;            if (logTable.getId() == null) logTable.setId(getMaxId() + 1);&lt;br /&gt;            getHibernateTemplate().saveOrUpdate(logTable);&lt;br /&gt;            getHibernateTemplate().flush();&lt;br /&gt;    }&lt;br /&gt;- And the getter of the pojo is like this:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;   /**&lt;br /&gt;     * @return Returns the id.&lt;br /&gt;     * @hibernate.id column="ID"&lt;br /&gt;     * @hibernate.generator class="assigned"&lt;br /&gt;     */&lt;br /&gt;    public Long getId() {&lt;br /&gt;        return id;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;- It doesn't need to create sequencial, but offcourse it consume resource because it count the record first.&lt;br /&gt;&lt;br /&gt;Thanks for fellow in front of mine, that give me information how to do it right for getting the id before inserting:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Right Way is over here:&lt;/span&gt;&lt;br /&gt;- It only need to create the sequence same as the first way&lt;br /&gt;- The pojo looks like this:&lt;br /&gt;  /**&lt;br /&gt;     * @hibernate.id column="ID" not-null="true" unique="true" type="long"&lt;br /&gt;     * @hibernate.generator class="sequence"&lt;br /&gt;     * @hibernate.param name="sequence" value="SEQ_APP_USER_ID"&lt;br /&gt;     */&lt;br /&gt;    public Long getId() {&lt;br /&gt;        return id;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;just that, and it's very simple way!!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-3506279395465705864?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/3506279395465705864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=3506279395465705864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3506279395465705864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/3506279395465705864'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/09/xdoclet-serial-type-mapping.html' title='XDoclet Serial Type Mapping'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-5745959192033983334</id><published>2008-06-03T04:10:00.000-07:00</published><updated>2009-03-15T21:27:09.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Hot-Deploy Makes Appfuse Cooler</title><content type='html'>&lt;span style="font-size:85%;"&gt;Each time I change my .jsp or .java file, I must ant deploy to see the change in my application, it needs times, and after ant doing his job, tomcat also processing some bla bla things until it finished so I can open my web, it so consuming times, eventhough I only change my variable letter for example, and sometimes if tomcat not finished his bla bla things and I already open my app, it result me Perm gen error, I must kill -9 it from my terminal.&lt;br /&gt;&lt;br /&gt;I was given by fellow to create hot-deploy and hot-deply-web-only, the last is if I only change my .jsp files, magically I donot need deploy anything if I modify the controller, just voila... it updated automatically. The first is if the last not worked, and if those still didn't work, I used the old deploy from appfuse. Here's the snipplet added in build.xml:&lt;target name="hot-deploy" depends="package-web" if="tomcat.home" description="unwar into the servlet container's deployment directory"&gt;&lt;target name="hot-deploy-web-only" depends="package-web-only" if="tomcat.home" description="unwar into the servlet container's deployment directory"&gt;&lt;br /&gt;&lt;/target&gt;&lt;/target&gt;&lt;blockquote&gt;    &lt;span style="font-weight: bold;"&gt;&lt;!-- For hot deploy purposes --&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;target name="hot-deploy" depends="package-web" if="tomcat.home"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        description="unwar into the servlet container's deployment directory"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        &lt;unwar src="$%7Bwebapp.dist%7D/$%7Bwebapp.war%7D" dest="${exploded.dir}/${webapp.name}"&gt;&lt;/unwar&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;/target&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;target name="hot-deploy-web-only" depends="package-web-only" if="tomcat.home"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        description="unwar into the servlet container's deployment directory"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        &lt;unwar src="$%7Bwebapp.dist%7D/$%7Bwebapp.war%7D" dest="${exploded.dir}/${webapp.name}"&gt;&lt;/unwar&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;/target&gt;&lt;/span&gt;&lt;/blockquote&gt;add this one line sintax in properties.xml:&lt;br /&gt;&lt;property name="exploded.dir" value="${basedir}/exploded"&gt;&lt;br /&gt;&lt;/property&gt;&lt;blockquote style="font-weight: bold;"&gt;&lt;property name="exploded.dir" value="${basedir}/exploded"&gt;&lt;/property&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Create new xml file, name it projectName.xml and write the following code (for example):&lt;br /&gt;&amp;lt; context docbase="/home/wks-243/workspace/.../exploded/projectName" path="/projectName" &amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;amp;lt Context docBase="/home/wks-348/workspace/sigmalbu/exploded/sigmalbu" path="sigmalbu" /&amp;amp;gt&lt;/span&gt;&lt;br /&gt;&lt;/context&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;target name="hot-deploy" depends="package-web" if="tomcat.home" description="unwar into the servlet container's deployment directory"&gt;&lt;target name="hot-deploy-web-only" depends="package-web-only" if="tomcat.home" description="unwar into the servlet container's deployment directory"&gt;&lt;property name="exploded.dir" value="${basedir}/exploded"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;context docbase="/home/wks-243/workspace/.../exploded/projectName" path="/projectName"&amp;gt;&lt;br /&gt;put it in $CATALINA_HOME/conf/Catalina/localhost/ directory&lt;br /&gt;&lt;br /&gt;Shutdown your tomcat, and then ant hot-deploy, and then ant hot-deploy-web-only, and then start your server in debugging mode from your eclipse, and hope everything's fine.&lt;br /&gt;&lt;br /&gt;Ok, afaik, the role is to copying everything the compile result into the exploded directory, so we donot need to compile manually if there is a change, it already compile and exist in exploded directory, unless we change our .jsp file, so we need to hot-deploy-web-only.&lt;br /&gt;&lt;br /&gt;&lt;/property&gt;&lt;/target&gt;&lt;/target&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-5745959192033983334?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/5745959192033983334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=5745959192033983334' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5745959192033983334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/5745959192033983334'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/06/hot-deploy-makes-appfuse-cooler.html' title='Hot-Deploy Makes Appfuse Cooler'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-6895144149005398725</id><published>2008-05-19T22:09:00.000-07:00</published><updated>2008-10-15T19:54:15.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Let's Go Lazy</title><content type='html'>&lt;span style="font-size:85%;"&gt;It needs a minuite to load Financials.htm, and needs more minuites to load EditFinancial.htm, sometimes permGem error, and the dumb thing is I thought it just perhaps the database server is backuping or doing something which make it slow. And the dumberer thing is I try to use other database server, I create the tables I need one by one, and then I load those data. And the dumbest thing is I feel my application is going faster with the new database although I can write email, download something, or perhaps watching Thomas Cup while waiting my form's load. It's more than Dumb and Dumberer the movies. It was Dumb, Dumberer, and Dumbest.&lt;br /&gt;&lt;br /&gt;The Financial table only need CURRENCY_KEY, LOCATION_KEY, etc.. it doesn't need to have the DimCurrency, DimLocation, etc whole as an object to have my Financial object, so I donot need to write extra &lt;span style="font-style: italic; font-weight: bold;"&gt;lazy="false"&lt;/span&gt; in my Pojo's XDoclet. It was my bad habit to copy=paste everything without comparing my needs, I copy the Xdoclet declaration from other source that turn not to be lazy one. Hibernate is automatically set to be lazy by default. here's taken from my DimCurrency:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;   /**&lt;br /&gt;     * @return Returns the financials.&lt;br /&gt;     *&lt;br /&gt;     * @hibernate.bag name="financials" &lt;span style="font-weight: bold; font-style: italic;"&gt;lazy="true"&lt;/span&gt; cascade="all"&lt;br /&gt;     * @hibernate.collection-key column="CURRENCY_KEY"&lt;br /&gt;     * @hibernate.collection-one-to-many class="id.co.model.Financial"&lt;br /&gt;     */&lt;br /&gt;    public List&lt;financial&gt; getFinancials() {&lt;br /&gt;        return financials;&lt;br /&gt;    }&lt;br /&gt;    public void setFinancials(List&lt;financial&gt; financials) {&lt;br /&gt;        this.financials = financials;&lt;br /&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;It's still gimme error after I set lazy, the something named GGG error or something. I browse the net and it says that it needs an empty constructor for the pojos, wheter the Financial or the Dims, I forgot it, I just add it into all my pojos.  sorry I missed the link, I write this post after repair my application, set it to lazy, and everything's go faster after the lazy things. just let's go to be l[cr]azy for a while!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-6895144149005398725?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/6895144149005398725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=6895144149005398725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6895144149005398725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/6895144149005398725'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/05/lets-go-lazy.html' title='Let&apos;s Go Lazy'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-728840575915586528</id><published>2008-05-16T05:40:00.000-07:00</published><updated>2008-10-15T19:54:15.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Updating Composite-id Object</title><content type='html'>&lt;span style="font-size:85%;"&gt;Before continuing, I use appfuse-spring-hibernate, FYI. Ok, I already had Financial object with &lt;a href="http://imam-baihaqi.blogspot.com/2008/05/generate-hibernate-composite-id-using.html"&gt;composite keys that I generate directly from my Pojo&lt;/a&gt;, now I get error if I update a record of it.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_WcYcnu7jwBA/SC2EhzExTuI/AAAAAAAAAAY/N9qIwRhbYlE/s1600-h/pesanError.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 312px; height: 141px;" src="http://bp3.blogger.com/_WcYcnu7jwBA/SC2EhzExTuI/AAAAAAAAAAY/N9qIwRhbYlE/s320/pesanError.jpg" alt="" id="BLOGGER_PHOTO_ID_5200958860863557346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;It's just said that it failed to convert from String to FinancialPk. And when I debug it, in FinancialFormController, it never enter the onSubmit method, there's same error when in processFormSubmission method.&lt;br /&gt;&lt;br /&gt;This error is happened for two days, I already browse the net, asked some people, but still don't get the answer, so I encourage myself to &lt;a href="http://tech.groups.yahoo.com/group/jug-indonesia/message/49541"&gt;ask to JUG&lt;/a&gt;, thank's I've got little and expensive clue: &lt;/span&gt;PropertyEditor, &lt;span style="font-size:85%;"&gt;so here's the steps, because it make me easier when I wrote it in walktrough style :&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;I need bind the id type in initBinder method in FInancialFormController, that error says that system cannot convert String to FinancialPk type. So I add it together with Date type and numbers type.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Before that I need to override the &lt;span style="font-style: italic;"&gt;getAsText&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;setAsText, &lt;/span&gt;methods from PropertyEditor.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;First I made FinancialPk implements PropertyEditor and add those methods, and I wrote in initBinder: &lt;span style="font-style: italic;"&gt;binder.registerCustomEditor(FinancialPk.class, new FinancialPk());&lt;/span&gt; but it results an error.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;So, I browse the net and I need new class called &lt;span style="font-style: italic;"&gt;FinancialPkSupport &lt;/span&gt;that extends &lt;span style="font-style: italic;"&gt;PropertyEditorSupport&lt;/span&gt; which is an adapter of PropertyEditor interface, make a constructor that have one parameter: &lt;span style="font-style: italic;"&gt;Class pkClass&lt;/span&gt;. And ofcourse, override those to methods.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;And then in inintBinder in FinancialFormController I add this line: &lt;span style="font-style: italic;"&gt;binder.registerCustomEditor(FinancialPk.class, new FinancialPkSupport(FinancialPk.class));&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;Here's my FinancialPkSupport:&lt;br /&gt;&lt;br /&gt;public class FinancialPkSupport extends PropertyEditorSupport {&lt;br /&gt;    private Class pkClass;&lt;br /&gt;   &lt;br /&gt;    public FinancialPkSupport() {}&lt;br /&gt;    public FinancialPkSupport(Class pkClass) {&lt;br /&gt;        this.pkClass = pkClass;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public String getAsText() {&lt;br /&gt;        Object value = getValue();&lt;br /&gt;        return value == null ? "" : ((FinancialPk) value).dimChartaccount.getAccountKey() + "," +&lt;br /&gt;                ((FinancialPk) value).dimCurrency.getCurrencyKey() + "," +&lt;br /&gt;                ((FinancialPk) value).dimLocation.getLocationKey() + "," +&lt;br /&gt;                ((FinancialPk) value).dimTime.getDimensionKey();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setAsText(String string) throws IllegalArgumentException {&lt;br /&gt;        FinancialPk f = new FinancialPk();&lt;br /&gt;        StringTokenizer token = new StringTokenizer(string);           &lt;br /&gt;        f.setDimChartaccount(new DimChartaccount(Long.valueOf(token.nextToken(","))));&lt;br /&gt;        f.setDimCurrency(new DimCurrency(token.nextToken(",")));&lt;br /&gt;        f.setDimLocation(new DimLocation(token.nextToken(",")));&lt;br /&gt;        f.setDimTime(new DimTime(Long.valueOf(token.nextToken(","))));&lt;br /&gt;        if (f == null) {&lt;br /&gt;            throw new IllegalArgumentException("FinancialPk is null: " + string);&lt;br /&gt;        }&lt;br /&gt;        setValue(f);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;And here's my initBinder:&lt;br /&gt;protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) {&lt;br /&gt;        binder.registerCustomEditor(FinancialPk.class, new FinancialPkSupport(FinancialPk.class));&lt;br /&gt;       &lt;br /&gt;        SimpleDateFormat specFormat = new SimpleDateFormat(Constants.DATE_FORMAT);&lt;br /&gt;        binder.registerCustomEditor(Date.class, new CustomDateEditor(specFormat,true));&lt;br /&gt;       &lt;br /&gt;        NumberFormat nf = NumberFormat.getNumberInstance(request.getLocale());&lt;br /&gt;        nf.setMaximumFractionDigits(Integer.parseInt(Constants.MAX_FRAX_DIGITS));&lt;br /&gt;        binder.registerCustomEditor(Double.class, null,new CustomNumberEditor(Double.class, nf, true));&lt;br /&gt;        binder.registerCustomEditor(Long.class, null,new CustomNumberEditor(Long.class, true));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;And good bye frustating error!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-728840575915586528?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/728840575915586528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=728840575915586528' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/728840575915586528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/728840575915586528'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/05/updating-composite-id-object.html' title='Updating Composite-id Object'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_WcYcnu7jwBA/SC2EhzExTuI/AAAAAAAAAAY/N9qIwRhbYlE/s72-c/pesanError.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-4053119299355916451</id><published>2008-05-13T02:52:00.001-07:00</published><updated>2008-10-15T19:54:15.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><title type='text'>Generate hibernate composite-id using XDoclet</title><content type='html'>&lt;span style="font-size:85%;"&gt;Few tables don't allowed to have a serial id just as modern table as in the appfuse by default. Ok, I mention one table of it: Financial, it has four PKs which are FK from four different tables: DimChartaccount, DimCurrency, DimLocation, and DimTime.&lt;br /&gt;&lt;br /&gt;I've search the net and knew that it called composite-id (multiples id), and browse again to find how to generate its hbm directly from my pojo and got one link : &lt;a href="http://fggarcia.blogspot.com/2007/05/hibernate-composite-keys-with-xdoclet.html"&gt;Franklin Garcia's blog&lt;/a&gt;, it shows how to do it, but I've try it but unfortunately it fails to generate as I need, it cannot generate the composite-id part, but now I already fix it. here's how to do it, hope it helps:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;name it still as id, but the type not as integer anymore, and no need generator class="increment", its type is PkFinancial. It's name must id because Ive try to name it with pkFinancial but I've got error fails in setter when  I  deploy it&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;PkFinancial is your own class, it must implements Serializable, and the properties are all of the PKs&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre id="line324"&gt;/**&lt;br /&gt;* @hibernate.class table="FINANCIAL"&lt;br /&gt;*/&lt;br /&gt;public class Financial extends BaseObject {&lt;br /&gt; PkFinancial id; &lt;span style="font-family: mon;"&gt;&lt;span style="font-weight: bold;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;//must id, cannot name it as pkFinancial&lt;/span&gt;&lt;br /&gt; Double saldoRupiah; &lt;br /&gt; /**&lt;br /&gt; * @hibernate.id name="id" class="jesperBlog.PkFinancial"&lt;span style="font-weight: bold;"&gt;   //need to mention it's class&lt;/span&gt;&lt;span style="font-family: mon;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt; */&lt;br /&gt; public PkFinancial getId() {&lt;br /&gt;  return id;&lt;br /&gt; }&lt;br /&gt; public void setId(PkFinancial id) {&lt;br /&gt;  this.id = id;&lt;br /&gt; }&lt;br /&gt; /**&lt;br /&gt;        * @hibernate.property column="SALDO_RUPIAH" type="double" &lt;span style="font-weight: bold;"&gt;//usual property&lt;/span&gt;&lt;br /&gt;        */&lt;br /&gt; public Double getSaldoRupiah() {&lt;br /&gt;  return saldoRupiah;&lt;br /&gt; }&lt;br /&gt; public void setSaldoRupiah(Double saldoRupiah) {&lt;br /&gt;  this.saldoRupiah = saldoRupiah;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class PkFinancial extends BaseObject { &lt;span style="font-weight: bold;"&gt;//must implements Serializable, BaseObject already done it&lt;/span&gt;&lt;br /&gt; DimTime dimTime;    &lt;br /&gt; DimLocation dimLocation;  &lt;br /&gt; DimChartaccount dimChartaccount;&lt;br /&gt; DimCurrency dimCurrency; &lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;        * @hibernate.many-to-one name="dimTime"//&lt;span style="font-weight: bold;"&gt;just usual property, in my case it's many-to-one&lt;/span&gt;&lt;br /&gt;  * column="TIME_KEY" class="jesperBlog.DimTime" &lt;br /&gt;        */&lt;br /&gt; public DimTime getDimTime() {&lt;br /&gt;  return dimTime;&lt;br /&gt; }&lt;br /&gt; public void setDimTime(DimTime dimTime) {&lt;br /&gt;  this.dimTime = dimTime;&lt;br /&gt; }&lt;br /&gt; /**&lt;br /&gt;        * @hibernate.many-to-one name="dimLocation" column="LOCATION_KEY" class="jesperBlog.DimLocation"&lt;br /&gt;        */&lt;br /&gt; public DimLocation getDimLocation() {&lt;br /&gt;  return dimLocation;&lt;br /&gt; }&lt;br /&gt; public void setDimLocation(DimLocation dimLocation) {&lt;br /&gt;  this.dimLocation = dimLocation;&lt;br /&gt; }&lt;br /&gt; //oter getters setters&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;And the generated hbm looks like this:&lt;br /&gt;&lt;/span&gt;&lt;pre id="line324"&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia,serif;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;hibernate-mapping&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;class name="jesperBlog.Financial" table="FINANCIAL"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; &amp;lt;composite-id name="id" class="jesperBlog.PkFinancial"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;key-many-to-one name="dimTime" class="jesperBlog.DimTime" column="TIME_KEY"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;key-many-to-one name="dimLocation" class="jesperBlog.DimLocation" column="LOCATION_KEY"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;key-many-to-one name="dimChartaccount" class="jesperBlog.DimChartaccount" column="ACCOUNT_KEY"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  &amp;lt;key-many-to-one name="dimCurrency" class="jesperBlog.DimCurrency" column="CURRENCY_KEY"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; &amp;lt;/composite-id&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; &amp;lt;property name="saldoRupiah" type="double" column="SALDO_RUPIAH"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;/class&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;/hibernate-mapping&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-4053119299355916451?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/4053119299355916451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=4053119299355916451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4053119299355916451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/4053119299355916451'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/05/generate-hibernate-composite-id-using.html' title='Generate hibernate composite-id using XDoclet'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3187601312851592202.post-2068112760646769231</id><published>2008-04-28T23:10:00.001-07:00</published><updated>2008-10-15T19:54:56.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='ordinary man'/><title type='text'>HelloWorld!!</title><content type='html'>Hello World!!&lt;br /&gt;Good Bye Moon!!&lt;br /&gt;&lt;br /&gt;This is my first post, test case post...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3187601312851592202-2068112760646769231?l=imam-baihaqi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://imam-baihaqi.blogspot.com/feeds/2068112760646769231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3187601312851592202&amp;postID=2068112760646769231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2068112760646769231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3187601312851592202/posts/default/2068112760646769231'/><link rel='alternate' type='text/html' href='http://imam-baihaqi.blogspot.com/2008/04/helloworld.html' title='HelloWorld!!'/><author><name>JesperBlog</name><uri>http://www.blogger.com/profile/02459898559107701463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_WcYcnu7jwBA/SNrxFLvB6II/AAAAAAAAAAw/Wgxv2_aQLng/S220/30278500613173l.jpg'/></author><thr:total>0</thr:total></entry></feed>
