Archive

Archive for January, 2009

Nasehat tentang nafsu

January 30, 2009 2 comments

Wahai anak muda..

Ada sesuatu dalam dirimu yang harus kau waspadai…itu adalah hawa nafsumu.

Nafsu itu bagai pedang bermata dua, bisa buruk maupun baik. Tergantung darimana kau menggunakannya.

Gunakanlah dengan semestinya, pada waktu dan tempat yang tepat. Jangan kau biarkan ia menguasaimu, waspada terhadap semua bentuk kamuflase hawa nafsu.

Guruku (Usman Fattah) pernah berkata; “Seorang pendekar adalah orang yang bisa mengendalikan dan menguasai nafsunya sendiri”.

Pertempuran yang berat dan besar yang akan kau lalui seumur hidupmu adalah…pertempuran hati…pertempuran melawan hawa-nafsu. Jangan sampai kau kalah dan dikendalikan hawa-nafsumu.

Sekian anak muda.

Advertisements
Categories: SegalaRupa

Dhedhek umur 3.5 bulan

January 29, 2009 Comments off

Dhedhek 3.5 bulan

Dhedhek 3.5 bulan

Ini foto Dhedhek umur 3.5 bulan..Alhamdulillah ^^. Doa Ayah untuk Dhedhek; Semoga Bunda dan Dhedhek sehat tidak kurang suatu apapun, Semoga Dhedhek jadi anak yang berbakti kepada orang tua..berbudi-perkerti luhur. Semoga menjadi anak yang cerdas berotak Jerman, berhati Ka’bah dan berjiwa Indonesia..Semoga jadi insan yang berguna bagi keluarga, masyarakat, bangsa dan agama. Amiiin.

Categories: Keluarga Tags:

Dikelilingi orang-orang unik

January 20, 2009 15 comments

Ini cerita tentang kawan-kawan disekitarku, lebih tepatnya di kantorku..tempat bermain dan belajar. Dalam ruanganku ada 19 orang, dan kesemuanya membuatku senang dalam belajar dan bermain, kalau bisa aku gak mau ganti-ganti teman tim :D.

Ardi Karta Nainggolan Parhusip a.k.a Werkodara
Tempat duduknya tepat disebelahku. Karena dekatnya tempat duduk kami, aku sering minta rokok ke dia.
Kawanku satu ini benar2 unik, penuh dengan ide-ide briliant, ide-ide nyentrik yang tak pernah dipikirkan orang lain. Di saat coding, dalam keadaan hanyut akan masalah yang harus dipecahkan…g ada badai..g ada hujan…tiba-tiba dia bisa mengambil pensil dan kertas putih, lalu membuat ilustrasi atas apa yang ada dipikiran dia saat itu, umumnya dia menggambar..dan ku akui kawan, gambarnya memang bagus.
Kawanku ini penuh dengan ide-ide unik, terutama yang berkaitan dengan bisnis dan marketing, sering kali aku berdiskusi bisnis dengan dia. Nah kalau besok-besok kau butuh ide-ide tentang marketing, coba kau hubungi kawanku si Ardi Karta ini.
Ada hal yang sama-sama kami sukai, yakni melihat kendaraan perang. Melalui google, kami bertualang melihat kendaraan perang; ex: kapal perang, tank dan rudal.

Yanuar Asshidqi a.k.a YanLeb
Kawanku ini memiliki wajah yang mirip Saiful Jamil. Kalau kau mau liat kembaran saipul jamil, nah liatlah Yanuar kawanku ini..bagai pinang dibelah dua. Dengan ketampanan yang dia miliki, tidak jarang dia memikat cewek-cewek, melalui umpan-umpan yang dia sebarkan lewat facebook..YM..ataupun bertemu secara langsung. Hati-hati kau para wanita..terkena asupnya….sssss.
Yanuar memiliki beberapa nama alias; Yance, Yayan, YanLeb. Nama Panggilan terakhir adalah julukan yang kami berikan, singkatan dari Yanuar Leboy (PlayBoy).
Kawanku satu ini hobi bermain musik, skillnya lumayan mantap..terutama okolele, suling dan krincingan. Maklumlah kembarannya (Saipul Jamil) juga terhitung masih artis. Kawanku ini juga sering nyanyi, namun sungguh kawan…aku dan ardi karta tak tahan mendengarnya, hilang seketika konsentrasi coding saat YanLeb bernyanyi.
Tapi walaupun begitu, Yanuar baek hatinya, aku sering nitip beli makan di warung depan kantor. Yanuar juga tak segan-segan membagi mie instan dan rokoknya ke aku.

Rysardie Liwan
Kawanku satu ini adalah jago query dan coding dan tukang deploy ditim-ku, otaknya encer. Kalo kau kesulitan dengan query-query dan masalah JSF, cobalah kau tanya dia..aku pun hampir setiap hari bertanya kepada kawanku ini. Ada hal menarik dari kawanku ini, dia bisa tidur dimana saja. Dalam posisi duduk didepan monitor pun dia bisa tidur.
Satu hal yang kuingat dari kawanku ini, dia adalah maniak GudangGaram, baik surya maupun filter. Ketika menulis ini, aku lagi menghisap rokok surya yang kuminta dari kawanku ini. Thanks Di, atas rokok dan bantuan yang diberikan jika aku kesulitan coding :D.

Hazel Fredreck Botu
Kalau kau berkunjung ke tim-ku, dan melihat anak muda lagi coding sembari ngangkat2 barble, dapat dipastikan itu adalah Hazel. Anak muda satu ini suka sekali dengan body building. Pernah suatu hari ku usulkan ke dia, agar fitness di pasar-pasar, membantu Ibu-Ibu tua yang kesulitan membawa barang belanjaanya, dengan begitu fitness yang dilakukan mendapat nilai tambah. Tidak saja tubuh yang sehat, tapi juga pahala, malah siapa tahu si Ibu memiliki putri cantik jelita yang nantinya akan dijodohkan ke kau zel.
Hazel memiliki penyakit yang lumayan parah, dia sering lupa kepada barang-barang pribadinya..jam, Hp, dompet. Kalau tidak ada kawan2nya yang menemukan, sudah habislah barang2nya. Baru-baru ini dia kehila ngan HP.

Trijito Santoso
Djito duduk di pojok dekat jendela. Senjata pamungkas yang selalu ada didekatnya adalah pedang pemukul lalat. Kawanku ini mantap juga bermain gitar, pernah suatu ketika kulihat dia bermain gitar bersama Rysardie…terpana aku mendengarnya, sama-sama mantaplah permainan kedua kawanku ini.
Kawanku Djito ini mumpuni dalam teknologi web, sering juga aku bertanya kepada dia. Dan atas ‘ilmu kanuragan’ yang dimilikinya, Djito sekarang ada di Jakarta, mengemban tugas dari kantor.

Geuis
Kawanku yang cantik ini adalah tangan kanan mafia Ardi Karta (Geuis mengakuinya sendiri). Dia menjuluki dirinya sebagai Pretty…namun belakangan, karena sering dipanggil “prett…prett”, kawan-kawan memanggilnya dengan sebutan “kamprett”.
Geuis sering bertingkah laku aneh, terkadang dia joget2 sendiri didepan komputernya, loncat-loncat g jelas…entah apa yang dipikirkannya. Meskipun begitu, kau tau boi…selain cantik dia juga pintar…kalau kau g percaya kau cek lah sendiri y..kasi aja bugs yang banyak, dia pasti bisa menyelesaikannya dalam waktu singkat.

Nina Taurisia
Kawanku yang cantik satu ini, adalah yang paling tidak aneh2. Orangnya tenang…namun pasti dan cerdas. Musuh besarnya adalah Ardi Karta. Kawanku ini bertambah elok saat memakai baju batik dengan rambutnya dibuat ikal sedikit…suiiit…suiiiit. Aku juga sering bertanya ke Nina jika ada kesulitan didalam coding, dia tak segan-segan memberikan bantuannya. Tak lupa, makanan atau snack nya sering aku minta juga 😀

Lisman
Julukannya adalah Mr.Bond, mungkin maksudnya James Bond. Tapi entah dari sudut pandang mana, yang kulihat tidak miriplah dengan James Bond. Lisman merupakan musuh besarku didalam bermain pingpong..berkali-kali aku dikalahkannya. Aku rasa defend nya Lisman dalam bermain pingpong, blum ada yang mengalahkan.
Lisman maniak DjiSamSoe, rokok Indonesia nomor satu di Indoneisa. Aku pun menyukai DjiSamSoe, oleh karena itu aku sering minta ke Lisman, dengan pura-pura menanyakan sesuatu, lalu pada akhirnya…”Man…bagi rokok yak”.

Faris
Kawanku satu ini maniak kartun Jepang. Coba kau tanyakan mengenai apapun kartun jepang, kemungkinan besar dia sudah pernah tau dan menikmatinya. Faris jago berbahasa inggris, ku rasa aku harus kursus dengan kawanku satu ini.
Suatu hari dia datang ke kantor, mengenakan jaket hitam dengan bordiran benang merah…kau tau kawan jaket apa yang dia pake? Itu adalah Jaket Akatsuki…peran antagonis di lakon Naruto, gagah kali dia make jaket itu, seperti anggota akatsuki beneran.
Dalam bermain pingpong, Kawanku ini mempunyai jurus mematikan, backhand dan forehand nya yang keras..kau belum tentu bisa menangkisnya.

Nurman “Messy” Herlianto
Julukannya adalah Messy, adakah kaitannya dengan Lionel Messy si-jago bola?. Ada kawan, kalau kau lihat Nurman di lapangan bermain bola, akan tampaklah kesamaanya. Berambut panjang, bertubuh kecil namun gocekan bola dan tendangannya sangat mengagumkan. Ketika pertandingan futsal melawan Mitrais, Nurman adalah “Man of the Match”.
Kawanku ini baek hatinya, sering mengajak aku shalat ketika sudah tiba waktunya. Dia juga penyuka Perangkat Lunak Bebas Open Source (PLBOS).

Jemmy
Kawanku satu ini suka sekali bermain game-online, kurang tau aku namanya. Hampir setiap hari, dia bermain game online tersebut. Namun satu hal yang perlu dicatat, dia producer bugs yang aktif…sering kali bug2 yang dikeluarkannya membuat para developer mengelus dada dan mengambil nafas panjang.

Siwi Anggoro
Kawanku yang cantik ini memiliki sebutan…siwiwiw. Paling imut di tim-ku, saking imut dan kecilnya, kalau ada angin kencang patutlah siwiwiw diwaspadai akan melayang. Siwiwiw sangat baek, sering mie gelasnya ku ambil…namun itu tidak jadi masalah bagi dia. Sering juga aku nitip beli makan, kadang-kadang ngutang juga ke dia. Sungguh baek kawanku ini. Satu lagi kawan, sebentar lagi siwiwiw akan menikah, jadi jangan coba-coba kau menggodanya.

Tony “Aidit” Hadisiswanto
Julukannya adalah “Aidit”, julukan ini diberikan oleh kawanku Ardi Karta. Kawanku satu ini langganan tester yang nge-test module yang ku buat. Seringkali dia me-reopen bugs yang sudah ku perbaiki, membuat hatiku sakit dan terluka.
Kawanku ini selain sebagai Software Tester, sehari-hari dia juga berprofesi sebagai penjual nasi kuning…laku keras barang dagangannya coy. Hampir semua anggota tim adalah langganannya.
Toni memiliki banyak relasi wanita-wanita cantik. Pernah ditunjukkannya foto dia bersama dengan cewek bule. Kawanku ini Leboy juga ternyata.

Begitulah sekilas cerita tentang kawan-kawanku. Terima Kasih kawan, aku bukan apa-apa tanpa kalian.

Regards,
Diketik dalam keadaan belum mandi tapi dah sikat gigi.

Categories: SegalaRupa Tags:

Popup-dialog ADF

January 19, 2009 2 comments

Baru-baru ini saya mendapat tugas membuat popup postalcode, popup tersebut akan digunakan oleh page lain. Popup tersebut mengembalikan informasi tentang postalcode; kodepos (postalcode), kelurahan (district01), kecamatan (district02), area (district03), kabupaten/kodya (subprovince), provinsi (province) dan negara (country).

Dengan berbekal guide ADF yang entah kapan tau saya download, saya mulai petualangan ini.

Berikut ini langkah-langkah yang dilakukan:
0. Berdoa (mandatory)
1. Ambil segelas air putih, minum 1/4 nya (optional)
2. Buat page popup seperti membuat page biasa.
3. Tambahkan navigasi di faces-config.xml dari page awal ke page popup, diawali dengan <code>dialog:</code>.

---------cutted-text---------8<
 <navigation-rule>
    <from-view-id>/pages/mda/insurancecompany/EditInsuranceCompany.jspx</from-view-id>
    <navigation-case>
      <from-outcome>dialog:popupPostalCode</from-outcome>
      <to-view-id>/pages/mda/postalcode/SelectPostalCode.jspx</to-view-id>
    </navigation-case>
---------cutted-text---------8<

4. Di commandButton atau commandLink yang memunculkan page popup tersebut, tambahkan action yang menuju ke page popup, dengan beberapa property yang ditambahkan/diset; <code>partialSubmit, useWindow, windowWidth, </code> dan listener (property returnListener) jika ingin meng-handle nilai return dari popup. Selengkapnya:

<h:outputLabel value="#{bindings.InsCompZip.label}" styleClass="w150"/>
                <h:panelGrid columns="2">
                    <af:inputText value="#{bindings.InsCompZip.inputValue}" disabled="true"/>
                    <af:commandLink action="dialog:popupPostalCode"
                            partialSubmit="true" useWindow="true" windowWidth="400" 
                            returnListener="#{EditInsuranceCompany.returnSelectPostalCode}" 
                            id="selectPostalCodeLink" shortDesc="Select Postal Code">
                        <af:objectImage source="/css/images/ico-ddetailupload.gif"/>
                    </af:commandLink>
                </h:panelGrid>   

5. Minum air putih 1/4 gelas (optional)
6. Langkah berikutnya adalah menyimpan nilai/data yang dihasilkan dari popup. Sebelumnya af:table perlu di-binding ke backing bean, mengapa? agar nantinya kita dapat mengambil row/postalcode mana yang dipilih.

<!-- SelectPostalCode.jspx -->
<af:table binding="#{selectPostalCode.table}" ... >
---------cutted-text---------8<
<f:facet name="selection">
              <af:tableSelectOne text="Select"/>
            </f:facet>
</af:table>

dan di backing bean:

    private CoreTable table;
    public void setTable(CoreTable table) {
        this.table = table;
    }

    public CoreTable getTable() {
        return table;
    }

Saat apakah nilai return popup tersebut di-set? tentunya ketika user sudah memutuskan row/postalcode mana yang dipilihnya, dengan memilih salah satu row pada table dan mengklik tombol submit.

         <h:panelGrid columns="1" styleClass="divbutton">
                <h:panelGrid columns="2">
                    <af:commandButton text="Submit" action="#{selectPostalCode.doSubmit}"/>
                    <af:commandButton text="#{res['form.cancelBtn']}">
                        <af:returnActionListener/>
                    </af:commandButton>
                </h:panelGrid>
          </h:panelGrid>

Di backing-bean pada method doSubmit():

    public String doSubmit() {
        Set<Key> keys = table.getSelectionState().getKeySet();
        if (keys == null)
            return null;
        
        Iterator itr = keys.iterator();

        PostalCodeLOVRowImpl vr = (PostalCodeLOVRowImpl)vo.getRow(selectedKey);
        
        String postalCode = (String)vr.getAttribute(PostalCodeLOVRowImpl.POSTALCODE);
        String district01 = (String)vr.getAttribute(PostalCodeLOVRowImpl.DISTRICT01);
        String district02 = (String)vr.getAttribute(PostalCodeLOVRowImpl.DISTRICT02);
        ---------cutted-text---------8<
        Map map = new HashMap();
        map.put("postalCode", postalCode);
        map.put("district01", district01);
        map.put("district02", district02);
        ---------cutted-text---------8<
        AdfFacesContext.getCurrentInstance().returnFromDialog(map, null);
        return null;
   }

7. Langkah berikutnya, adalah mengambil nilai return dari popup tersebut. Hal ini dilakukan di <code>returnListener</code> yang telah didefinisikan pada point 4.

    public void returnSelectPostalCode(ReturnEvent event) {
        Map map = (Map)event.getReturnValue();
        
        if (map != null) {
            String postalCode = (String)map.get("postalCode");
            String district01 = (String)map.get("district01");
            String district02 = (String)map.get("district02");
            String district03 = (String)map.get("district03");
            
            ADFUtil.findAttributeBinding(getBindings(), "InsCompZip").setInputValue(postalCode);
            ADFUtil.findAttributeBinding(getBindings(), "InsCompArea").setInputValue(district03);
            ---------cutted-text---------8<
           AdfFacesContext.getCurrentInstance().addPartialTarget(panelPage1);
        }
    }

Dalam kasus popup postalcode ini, setelah memilih postalcode, UserInterface komponen yang berisi postalcode dan data-data terkait butuh diupdate sesuai dengan postalcode yang dipilih. UI-UI tersebut di-binding satu-persatu dan di-set sebagai partialTarget, terasa merepotkan memang. Ada cara yang lebih singkat, yakni cukup mem-binding komponen UI grouping (semisal panelGroup, panelPage) dan UI-UI komponen yang berpengaruh terhadap hasil dari popup tersebut diletakkan kedalam UI grouping yang digunakan.

<af:panelPage binding="#{EditInsuranceCompany.panelPage1}"
                        id="panelPage1" partialTriggers="selectPostalCodeLink"> 
---------cutted-text---------8<
<h:outputLabel value="#{bindings.InsCompZip.label}" styleClass="w150"/>
<h:outputLabel value="#{bindings.InsCompArea.label}"
                               id="outputLabel12" styleClass="w150"/>
---------cutted-text---------8<
</af:panelPage>

8. Duduk dengan tenang, minum air putih 1/4 gelas lalu ambil rokok sebatang, rokok boleh milik sendiri atau minta kepada teman, tp janganlah mencuri. Dapat rokoknya, lalu nyalakan. Selesai rokok-an, teguk air yang tersisa hingga habis (optional).

9. Ucaplah syukur (mandatory).

Semoga bermanfaat ^^.

Categories: NyanyianKode Tags: ,

Rollback pada ViewObject

January 13, 2009 4 comments

Biasanya ketika melakukan proses “cancel” atau batal, saya memanggil action “Rollback”. Untuk page yang cuma terdiri dari satu level master-detail, si-“Rollback” ini cukup menyelesaikan masalah, dia akan me-“Rollback” semua aksi yang tidak jadi kita lakukan, ex: setCurrentRowWithKey, Create.

Nah, lalu bagaimana untuk page master-detail yang terdiri dari lebih dari satu level misalkan A->B->C->D?. Misalkan di page C atau D kita membatalkan aksi atau proses yang akan dilakukan, dalam kasus ini kita tidak bisa menggunakan “Rollback”. Jika kita masih tetap menggunakan “Rollback”, rowKeyStr yang sudah di-set pada page sebelumnya akan kembali ke row pertama. Hal ini wajar, karena “Rollback” adalah action dari ApplicationModule, dan ketika itu dipanggil maka semua perubahan yang belum di-“Commit” akan dibatalkan.

Solusinya adalah mengabaikan perubahan hanya pada ViewObject dari page tersebut.

    public String doCancel() {
        DCIteratorBinding itBd = 
        ADFUtil.findIterator(getBindings(),"SubProvinceView1Iterator");
        ViewObjectImpl vo = (ViewObjectImpl) itBd.getViewObject();
        ViewRowImpl row = (ViewRowImpl)vo.getCurrentRow();
        
        if((row != null) && (row.getEntity(0).getEntityState()==EntityImpl.STATUS_NEW)) {
            // new operation
            row.refresh( Row.REFRESH_UNDO_CHANGES | Row.REFRESH_FORGET_NEW_ROWS);
        }
        else {
            // edit operation
            row.refresh(Row.REFRESH_WITH_DB_FORGET_CHANGES);
        }
        
        return null;
    }

Semoga bermanfaat ^^.

Sumber: http://abakalidis.blogspot.com/2008/05/oracle-adf-view-object-with.html

Categories: NyanyianKode Tags: ,

Hello world!

January 7, 2009 Leave a comment
Public Class HelloWorld {
    public HelloWorld() {
        System.out.println("Hello World !!!");
    }
}
Categories: SegalaRupa