Oracle SOA Outbound SocketAdapter with custom Java translation

Minggu, 19 Mei 2013

http://blog.nostratech.com/2013/05/oracle-soa-outbound-socketadapter-with.html

creating soa composite using socket adapter with custom java implement as reference. can be used to parse an iso8583 message, or fixed-length string message.

baca selengkapnya..






-------------------------------------------------------------------------------------

kau

Jumat, 05 Oktober 2012

aku suka
ketika aku menanyakanmu
setitik kata,
kau pun membantaiku
jutaan kata

aku suka
ketika aku menoleh
dan menikmati sisi wajahmu
yang diam menatap jendela
mengukir makna dalam logika

aku suka
ketika aku termangu
kau usik lamunanku
dengan lambaian senyum
dan tawaranmu yang biasanya mengenyangkan

aku suka
ketika aku membalik kata
kau balikkan lagi dengan kalimat
dan ketika kubalas dengan paragraf
kau katakan sekelebat kata
disertai tanda tanya
dan ketika kuceritakan sbuah cerpen
kau pun membalasnya dengan sebuah novel
dan akhirnya kita bercerita
tentang semua

dan aku suka..


baca selengkapnya..






-------------------------------------------------------------------------------------

sinetron pailit

Sabtu, 15 September 2012

ga sengaja tiba2 nemu berita ini Pengadilan.Pailitkan.PT.Telkomsel, akhirnya lanjut googling2 tentang kasus telkomsel prima.

-> syarat pailit: punya utang yg jatuh tempo ke 2 kreditur atau lebih.
-> kondisi: telkomsel punya utang yang udah jatuh tempo ke prima jaya dan extent media indonesia.
-> hasil sementara: telkomsel kalah tapi belom selesai, masih mau ngajuin kasasi.

ngikutin berita2 itu ky nonton film. ada 2 pihak yang punya kepentingannya sendiri2, trus kepentingannya ternyata ada senggolan, dan mulai berantem. terlepas dari siapa yang salah dan siapa yang bener (peduli amat!), lucu aja ngamatin jalan cerita berantemnya.

kita bayangin tiap pihak yg disebut2 di berita2 itu masing2 sebagai objek.

*naro sebungkus sampurna ijo ke atas meja ( -> objek A ) 
dan sebungkus samsu ( -> objek B).

ada objek A, ada objek B.
objek A dan objek B janjian maen bareng, temenan.
udah setengah jalan, menurut objek B, objek A ngelanggar perjanjian.
langsung dipukul sama objek B.
panggil objek ketiga, jadi penengah.

*naro asbak ke atas meja ( -> objek C )

objek C ngasih tau lagi aturan2 maennya.
objek B nyeritain kejadiannya, trus ngasih tau juga kerugian2nya, menurut dia.
objek A nyeritain juga kejadiannya menurut dia.
biar lebih meyakinkan simpatinya, objek B nyeritain kalo ada objek D yang ikut dirugiin juga.

.... *objek A speechless (untuk sementara)

ngeliat objek A ga bisa ngelawan lagi, objek C memutuskan kalo objek A KO. objek B menang.
trus ada objek lain

*naro toples makanan ke atas meja ( -> objek E)

ternyata objek E ini yang melingkupi objek A.
objek E ngasih statement politis yang cenderung ngasih semangat ke objek A.

--
kalo di scene setelah objek A kalah sampe datengnya objek E kita sisipin sebuah kalimat dari objek A "gw bilangin bapak gw loh!", berarti plot penokohannya bisa jadi -> A=anak kecil 1, B=anak kecil 2, C=orang agak gedean dikit, D=temennya anak kecil 2, E=bapaknya anak kecil 1.

mau perusahaan gede atau anak kecil, ternyata ga jauh beda kelakuannya. kalo kepentingannya ga terpenuhi trus bawa2 pihak laen yang bisa mbelain, sambil bawa2 nama temennya biar narik simpati, trus yang kalah juga dibelain dikit sama bapaknya yang tetep berusaha jaga wibawa di depan anak2 kecil.

jadi siapa yang salah? ga adakah yang bisa dipersalahkan lagi?
kata pepatah 'tiada rotan, ram punjabi'
jangan2 ini studi pasar utk skenarionya ram punjabi untuk sinetron yang bakal dikeluarin nanti..
entah lah.



baca selengkapnya..






-------------------------------------------------------------------------------------

something must be written

Senin, 23 Juli 2012

something must be written.

why?

udah 3 bulan sejak posting terakhir. bahkan posting di bulan april itu pun sebenernya tulisan lama yang udah sekian lama ngendap di draft :D berarti tulisan terakhir adalah 'what a year', desember 2011. 7 bulan! lama juga ya..

lalu? emangnya knapa juga mesti nulis sering2?

nulis itu perlu konten. trus konten itu mesti dirumusin dulu biar penyampeannya (agak) enak. perumusan dan penulisan konten itu juga butuh waktu, dan yang paling penting = mood :D

keliatannya ga ada masalah dengan konten. selalu ada konten dimana aja, mulai dari konten kerjaan, perjalanan berangkat/pulang kantor, kehidupan seputar kerjaan (lingkungan kerja, becandaan2 sambil kerja, dll). yang cukup jadi masalah adalah perumusannya. konten yang sama, bisa disampein dengan banyak cara. bisa jadi wadah curcol, atau wadah evaluasi, atau bahkan wadah untuk berbagi tutorial.

gw sih pengennya nulisin evaluasi, biar kesannya keren gitu..

tapi sampe sini aja kok malah jadi curhat ya?

suk asu ka ludah.

--

evaluasi.
eva·lu·a·si /évaluasi/ n penilaian: hasil -- itu hingga saat ini belum diperoleh;
-- penggamakan Min upaya penilaian secara teknis dan ekonomis thd suatu cebakan bahan galian untuk kemungkinan pelaksanaan penambangannya; (http://bahasa.kemdiknas.go.id/kbbi/index.php)
kalo menurut gw, evaluasi itu mbandingin langkah demi langkah yang udah kita jalanin, trus dibandingin dengan 'big picture' atau keseluruhan peta. nyambung sama definisi dari kbbi tadi, dengan mbandingin langkah yang kita ambil dengan keseluruhan peta, kita bisa menilai langkah kita udah tepat atau belom. kita salah langkah atau ngga.

kerja di dapur. di tempat produksi. sebagai teknisi. ketemunya sama masalah2 teknis. gimana caranya ngevaluasi hal-hal teknis tanpa jadi semacem laporan ilmiah?

menjelajah di 'dunia baru' banyak nganter untuk ketemu wilayah2 besar yang masing-masing punya 'gaya teknis'nya sendiri2. misalnya programming dan networking. biarpun keliatannya berdekatan, tapi masing2 adalah wilayah yang berbeda, masalah2nya beda, cara nyeleseinnya beda, tools2 yang dipake pun berbeda. tapi ya itu lah konsekuensi logis kalo maen di zona middleware atau perangkat tengah. komunikasi antara 2 aplikasi pasti isinya senggolan2 antara programming dan networking.

coba kita main analogi. entah bener entah salah, yang penting coba digambarin secara general dulu, biar ga terperangkap dalam wilayah detail. menyelam tanpa tau apa yang diselami, cuma nunggu waktu untuk tenggelam. dan kita berusaha menghindari tenggelam :D

bntar2, gimana taunya kita udah tenggelam atau belom?

menurut gw, misalnya ada orang nanya sesuatu, dan kita jawab dengan bahasa yang terlalu teknis (bukan bahasa awam) artinya bisa jadi kita udah tenggelam.

--

lanjut, tiap sistem punya prosedur/program. jaman sekarang, program yang lagi banyak dikembangin sifatnya 'OOP' (object oriented programming). konsepnya sih, pengolahan data 'dilempar-lempar' antar object yang masing-masing punya fungsi spesifik.

hati2 tenggelem lu ntar! pake analogi dong!!

analoginya, misalnya kita beli sate di tukang sate. yang diakses sama pembeli adalah daging. awalnya daging ini (misalnya daging kambing), wujudnya kambing yang ada di peternakan. trus si kambing (masih berwujud kambing) 'dilempar' ke tempat penjagalan. di sini si kambing dengan naasnya disembelih, dikulitin dan dipotong2. trus potongan2nya 'dilempar' lagi ke pasar.

trus potongan daging ini dibeli (misalnya sama istrinya tukang sate) dibawa ke rumahnya, yang dijadiin dapur, ditusuk2, trus disimpen doang atau mungkin dibumbuin. dan kita, dateng ke tukang sate, minta sate. potongan daging yang udah ketusuk2 tadi diambil dari tempat penyimpanan, dibakar, dikemas (disajikan di piring atau dibungkus kertas) dan dikasih ke kita deh.

di analogi itu, yang (mungkin) bisa disebut objek adalah: peternakan, kambing, penjagalan, pasar, istri tukang sate, rumah/dapur, tukang sate, dan kita. 'data' yang diolah/diakses adalah: daging kambing.

kita ambil dua object, kita anggep sebagai sistem. pasar dan rumah.
begitu potongan daging sampe pasar, si pemilik lapak naro potongan2 daging di tempat tertentu, kalo ada pembeli, potongan2 yang dipilih akan ditimbang dan dikasih harga. aktivitas ini adalah prosedur atau program.

program pertama adalah naro potongan di tempat tertentu. tinggal nunggu 'trigger' utk jalanin program berikutnya yaitu ada pembeli.

ga lama istri si tukang sate dateng, milih2 potongan daging, nentuin beberapa yang mau dia ambil. program 'pasar' jalan lagi ke program berikutnya, yaitu ngambil daging2 yang dipilih dan naro di atas timbangan, trus ngasih harga. setelah program ini selesai, terjadi transaksi, dan daging pun berpindah tangan. data pun berpindah object (dari object pasar ke object istri tukang sate).

--

istri tukang sate adalah object yang tugasnya mbawa data (baca: daging) dari pasar ke rumah. object istri tukang sate ini jadi titik persinggungan antara programming dan networking. bayangin istri tukang sate ini naik busway utk pulang-pergi pasar-rumah.

kalo di programming ada OOP, di networking ada 'routing'. antara pasar dan rumah, ngelewatin beberapa 'router', bisa kali kita anggep halte. tiap halte bisa dilewatin lebih dari satu trayek angkot. halte tertentu 'tertutup' untuk trayek tertentu, jadi tiap trayek angkot rutenya relatif fix. gitu juga dengan jalur routing network tertentu, ada jalur2nya, diarahin sama network administrator.

kalo pake linux, coba aja ketik di command prompt traceroute google.com, atau kalo pake windows ketik tracert google.com. nanti akan keluar list url yang dilewatin sama data request kita ke google.com. atau dengan analogi tadi, akan ditampilin list halte2 yang mesti dilewatin antara pasar sampe ke rumah.

info halte busway -http://www.rutebusway.com/

trace route -windows

mirip kan? :D

permasalahan di networking kira2 misalnya jalur antara terminal lebak bulus sampe pondok pinang macet, lagi jam berangkat kerja. jalur yang disediain ga bisa nampung semua kendaraan yang lewat. kan jalur busway khusus, harusnya ga kena macet dong?? antara terminal lebak bulus dan pondok pinang emang ada jalur khusus busway yg kepisah dari jalur kendaraan biasa? kynya nggak deh. atau misalnya ada bis transjak yang rusak di tengah jalur, berarti bis2 di belakangnya juga terpaksa ikut2an 'ngantre'.

atau kemungkinan problem lain, kalo routernya rusak. atau halte busway tiba2 kebakar. berarti rute bis yang lewat sana mesti dialihkan dulu selama maintenance halte. pengalihannya, kemungkinannya ya jalurnya digabung sama kendaraan2 lain, jadi ikut2an kena macet juga :D

--

itu tadi semua proses di belakang layar.
di depan layar ada user. atau ada pembeli sate. yang fungsinya request dan terima beres.
pokoknya pembeli pengen beli sate, dan yang diharapkan adalah daging yang udah ketusuk dan mateng kebakar, dituker sama duit, lainnya ga urusan.

pas pembeli sate dapet sate yang dia inginkan, berarti bisa kita asumsiin semua proses tadi (baik prosedur2 (ternak, jagal, pasar, dapur) atau network2 (busway)) berjalan dengan lancar.

pas pembeli sate dapet jawaban "maaf mas/mbak, saya ga jualan, dagingnya ga ada..". nah, ini yang mesti diselidiki, dimana letak akar masalahnya kok stok daging kambing ga nyampe ke tukang sate.

semua prosedur atau jalur harus ditelusuri.
1. apakah peternakan udah kekurangan kambing?
2. apakah pejagalan lagi ga produksi? atau masih produksi tapi full fokus ke sapi sehingga kambing2nya dianggurin dulu?
3. apakah pasar lagi ditutup? atau buka tapi lagi janjian ga jual daging kambing?
4. ternak ok, jagal ok, pasar ok. apakah istri tukang sate yang ga pulang2 karena lupa waktu abis maen sama temennya?
5. apakah ada masalah di jalur busway yg dinaikin istri tukang sate?
6. apakah daging di rumah tukang sate hilang/rusak?
7. apakah tukang sate lupa mbawa daging kambing ke tempat jualan?

"Masalah yang lebih pelik adalah terlalu banyak skenario yang mungkin..." -http://sains.kompas.com/read/2012/07/09/16133523/Perburuan.Asal.Alam.Semesta

skenario2 di atas bisa disederhanakan jika ada PIC (person in charge) di tiap poin di atas yang mengecek bagiannya masing2, dan saling melaporkan hasil ceknya dalam satu forum.

--

ketika akhirnya si pembeli marah, dan mengadu ke pemerintah, "oi! gw mau beli sate aja kok susah amat sih?! kenapa ga ada stok sate di tukang sate yang itu?!" sambil nunjuk tukang sate tadi.

dan pemerintah pun menjawab kepadanya dengan tenang, "oh, ini masalah sistemik."
lalu dia nengok ke belakang, ke arah tukang sate tadi dan bilang "selesaikan secepatnya, gimana pun caranya! ini mengganggu stabilitas negara."

dan tukang sate pun pulang sambil termenung mikirin 7 poin di atas. yang dia tau, poin 6 dan 7 bukanlah masalah sebenernya. tapi gimana caranya ngelacak poin2 lainnya dan nemuin akar masalahnya?

okelah, dimana posisi problemnya, masih bisa ditemukan. poin 3, 4, 5 bisa dikonfirmasikan ke istri tukang sate. poin 1 dan poin 2 bisa dikonfirmasi ke masing2 pihak. tapi untuk penyelesaiannya, apakah tukang sate memiliki semua wewenang untuk menyelesaikan semuanya?

misalnya ternyata ditemukan masalahnya ada di poin 5. ada masalah di jalur busway. ternyata masalahnya adalah traffic yang terlalu padat sampe bis transjak pun terpaksa ikut2an kena macet. mungkin karena misalnya ada banyak kendaraan yang nyerobot ke jalur transjak, dan ikut2an bikin macet jalur itu.

apa yang bisa dilakukan tukang sate untuk menghalangi atau mengurangi kendaraan yang masuk ke jalur busway?

"tabah ya bang.."

"makasih mas.."



baca selengkapnya..






-------------------------------------------------------------------------------------

kenalan

Sabtu, 14 April 2012
gimana cara paling efektif untuk mengakrabkan diri? berkenalanlah, berinteraksilah sampai kita kenal dengan sesuatu yang hendak kita akrabkan itu. sejauh mana kita bisa bilang kalo kita udah 'kenal' dengan sesuatu itu?

---

sebelom pertanyaan itu kejawab, tiba2 gw inget kejadian pas gw lagi ngeliatin seorang anak arsitek bikin maket untuk tugasnya. dia bilang saat itu gw bisa bantuin dia bikin existing, yaitu bangunan-bangunan yang ada di sekitar bangunan yang akan dia buat.

existing, exist, eksistensi, keberadaan.

kenapa bangunan di sekitar 'bangunan utama' disebut existing? gw coba simpulin bahwa eksistensi dari sesuatu diukur dari lingkungan tempat dia berada. atau bahasa lainnya: sesuatu dianggep ada kalo dia berada di sebuah lingkungan tertentu. sesuatu itu ngga bisa 'ada' tanpa keberadaan yang lainnya.

sampe sini muncul pertanyaan lain: gimana posisi si sesuatu itu terhadap lingkungannya? ngomongin posisi berarti nunjukin adanya 'pembatas' antara sesuatu itu dengan yang lainnya. kalo ngga ada pembatas berarti si sesuatu itu berada dalam satu bentuk dengan yang lainnya dan berarti mereka adalah satu bangun. berarti ga ada eksistensi. berarti ada sebuah (atau lebih) pembatas antara sesuatu yang membedakan dia dengan yang lainnya.

pembatas yang membedakan. berarti sejauh ini bisa kita simpulin bahwa eksistensi dari sesuatu bisa diukur dengan membedakan dirinya dari yang lain.

---

balik ke definisi 'kenal'.
mengenal orang berarti mengetahui eksistensi dirinya. kalo digabungin sama istilah eksistensi tadi, bisa kita simpulin: mengenal orang berarti membedakan si orang tersebut dengan yang lainnya. tiap orang punya ciri masing-masing, baik ciri fisik maupun nonfisik. keberadaan ciri itulah yang jadi karakter seseorang dan karakter inilah yang jadi keunikan tiap orang.

jadi sejauh mana kita bisa bilang kalo kita udah 'kenal' dengan sesuatu? kita 'kenal' saat kita tau karakter sesuatu itu. jadi gimana cara paling efektif untuk mengenal sesuatu? gali lah karakter dari diri tiap orang. karena tiap orang lahir sendiri dan akan mati sendiri, berarti tiap orang punya jiwanya sendiri, tiap orang punya cirinya sendiri, tiap orang punya karakternya sendiri.

karakter ini akan muncul di tiap tingkah laku orang tersebut. dan kita tau bahwa tingkah laku adalah buah dari hasil pemikiran dan/atau insting orang tersebut. pemikiran dan/atau insting orang akan keliatan dari pilihan-pilihan yang dia ambil.

baca selengkapnya..






-------------------------------------------------------------------------------------

wondering garbage man

barusan ngeliat foto jepretan temen gw yang nampilin seorang pemulung, masih muda, duduk di sebuah tembok pendek di sebelah kiri kakinya ada plastik trashbag, di belakangnya ada beberapa anak muda yang entah lagi ngobrol atau lagi maen catur. yang keliatan di foto ini si pemulung muda lagi nunduk.

menurut gw yang awam fotografi sih foto ini enak diliatnya, bagian yang difokusin dan di-blur-innya pas, sudut pengambilan gambarnya juga enak diliat. gw makin tertarik lagi setelah ngeliat keterangan yang ditulis temen gw di bawah foto itu

"...When i walked pass him, i saw him reading a brochure consist of houses."

entah apa yang ada di pikiran sang pemulung muda itu. mungkin sekedar liat-liat dan mengagumi gambar-gambar rumah itu, atau tebakan temen gw dia bertanya-tanya dalam pikirannya "gimana cara gw bisa ndapetin ini?", atau mungkin juga dia lagi ngebandingin bentuk warna dan ukuran ruangan-ruangan rumah dalam brosur itu dengan tempat tinggalnya saat ini. mungkin lagi dia lagi bertanya-tanya sampah seperti apa yang bisa dia dapetin di sekitar rumah itu.

atau bisa juga dia mbayangin dirinya ada di ruangan-ruangan di rumah itu, menikmati suasana yang bisa tercipta di sana, dan diakhiri dengan sebuah harapan dan keinginan yang kuat untuk memiliki rumah itu (atau rumah seperti itu) suatu saat nanti.

hari ini hari milikku
juga esok masih terbentang
dan mentari 'kan tetap menyala
di sini, di urat darahku

- mentari, iwan abdurrahman -

semoga pemulung muda itu mikir seperti kemungkinan yang terakhir gw tulis di atas. semoga harapan itu tetap ada, dan semoga keinginan itu terus terpahat di dalam pikirannya.

sejauh ini gw percaya bahwa keberhasilan seseorang ditentuin dari seberapa kuat keinginannya (atau mimpinya) akan hal tersebut. mungkin (blom pernah gw bahas lebih jauh) mimpi itu yang akhirnya tanpa disadari akan mengatur cara berpikir orang itu, dan kemudian cara berpikir itu akan membangkitkan minat dan rasa ingin tau sehingga akhirnya orang itu akan menjalani proses pencarian ke arah mimpinya itu dan yang menurut gw lebih penting: dia akan menikmati tiap proses itu biarpun rintangan (atau tantangan?) pasti akan dia temui sewaktu-waktu pada saatnya.



baca selengkapnya..






-------------------------------------------------------------------------------------

jalur pengiriman

Minggu, 01 April 2012

bayangin sebuah kondisi dimana manusia ga bisa bicara langsung dengan tuhannya. mungkin karena jauhnya jarak antara keduanya, atau mungkin karena ada frekuensi yang tertutup antara keduanya sehingga suara yang satu tidak dapat diterima dan diolah oleh yang lainnya. atau mungkin karena perbedaan bahasa sehingga komunikasi tidak dapat diterima dengan baik oleh salah satu pihak, yang ada adalah kesalahpahaman..

ah, apa pun penyebabnya, semua kemungkinan itu akhirnya menghasilkan satu akibat yang sama: yaitu sang manusia ga bisa bicara langsung dengan tuhannya.

manusia mengucap doa. bisa dalam hati, bisa teriak, bisa berupa tulisan, bisa berupa gambar, bisa berbahasa indonesia, bisa berbahasa inggris, bisa berbahasa zimbabwe, bisa berupa apa pun.

seandainya tuhan punya satu bahasa tertentu, yang ga bisa dibayangkan apalagi didefinisikan oleh manusia, mungkin manusia cuman bisa me-label-i bahasa itu sebagai 'bahasa ilahi'. atau seandainya tuhan memiliki frekuensi tertentu untuk menerima segala bentuk komunikasi, dan frekuensi tersebut bahkan belum diketahui eksistensinya oleh manusia. dan seperti biasa, manusia lalu cuma bisa melabelinya sebagai 'frekuensi ilahi' dan seandainya-seandainya yang lain.

manusia ngucap doa, menyatakan kepasrahan, meminta ampun, meminta petunjuk. manusia meminta. manusia mengharapkan 'jawaban' dari tuhannya. kadang kala jawaban itu dirasa tak kunjung datang.

padahal mungkin aja jawaban itu sudah datang beberapa waktu sebelumnya. cuman manusianya aja yang ga bisa nerima atau ngolah jawaban itu. ketidakterhubungan bahasa manusia dengan bahasa ilahi, atau frekuensi manusia dengan frekuensi ilahi.ketersampaian informasi yang tidak kesampaian (halah, ruwet!)..

---

bayangin tuhannya manusia tadi memiliki singgasana di sebuah negri di balik sebuah gunung yang sangat tinggi, yang ga bisa dipanjat oleh manusia, ga bisa dilewatin oleh manusia.

dan malaikat lah yang bisa menjadi perantara antara bahasa manusia dengan bahasa ilahi.

mungkin salah satu solusinya adalah manusia tadi menitipkan doanya ke awan, tepat di atas puncak gunung tinggi yang memisahkannya dengan tuhannya. dan salah satu malaikat di singgasana ilahi akan mengambil doa tersebut dari awan, menerjemahkannya ke bahasa ilahi, dan menyampaikannya ke sang tuhan.

dan mungkin dengan demikian tuhan pun akan dengan leluasa mengolah doa tadi, dan memberikan jawaban, sebuah petunjuk yang diharapkan oleh si manusia. malaikat tadi kemudian akan meletakkan jawaban tuhan tadi ke awan.

dan kemudian mungkin saja ada sesosok malaikat lain, yang bertempat di sisi luar gunung, berada di sisi yang sama dengan si manusia, menyamar sebagai manusia, mengambil jawaban tadi di awan dan menyampaikan ke si manusia dengan bahasa yang dimengerti oleh si manusia.

yah, malaikat ini bisa aja menjelma sebagai seorang bapak, ibu, kakak, adik, teman, guru, atau siapa pun yang bisa menyampaikan pesan tadi dengan baik kepada si manusia. dan akhirnya si manusia itu pun menerima response dari tuhan atas doanya tadi.

dan kehidupannya terus mengalir sebagaimana adanya.
sebuah jalur pengiriman antar dunia. dunia manusia dan dunia ilahi. melalui perantara para malaikat dan standar bahasa yang dimiliki oleh para malaikat itu (yang memang diciptakan demikian oleh sang tuhan tadi).

jalur pengiriman.

---

si subjek meletakkan langsung sebuah pesan di awan. dan dengan seenaknya (bener2 seenaknya) gw istilahkan sebagai 'pelayanan awan', cloud service, atau mungkin dalam konteks informasi, lebih banyak dikenal orang sebagai web service.

pesan yang diletakkan itu adalah sebuah representasi dari apa yang disampaikan oleh subjek. Representational State Transfer, enaknya sih kita singkat aja sebagai REST.

bisa aja pesan itu berupa sekumpulan data request, dalam format tertentu. langsung dikirimkan oleh user melalui protokol HTTP ke alamat (url) tertentu yang terhubung dengan internet. kenapa HTTP? karena hampir semua komputer sekarang memiliki webbrowser, dan semua webbrowser bisa mengolah informasi yang dikirim melalui protokol HTTP.

sesuatu bertugas mengubah data-data yang terkirim tadi ke dalam format xml. kenapa xml? karena xml itu udah jadi sebuah standar bersama mengenai bentuk kemasan data, tujuannya untuk mempermudah pengiriman data antar device.

lalu ada sebuah object yang kita buat untuk mengambil data dari cloud tadi, asiknya sih kita sebut sebagai 'requestClient'. nah si requestClient ini ngambil data berformat xml tadi dan memasukkan nilai2nya ke dalam atribut objek tertentu. object ini kemudian dikirim ke sebuah class lain untuk diproses, dan mengembalikan data-data ke dalam object lain sebagai response.

object requestClient mengambil lagi object response tadi dan mengirimkannya ke webservice untuk response. di sini bisa kita sebut bahwa object requestClient bertindak sebagai 'malaikat dari singgasana ilahi'..

kemudian kita buat sebuah object, misalnya namanya 'responseClient' yang tugasnya adalah ngambil data dari url response tadi dan mengirimkannya kembali ke user. karena kita ga tau pasti si user nge-request dan minta responsenya dalam device apa, asiknya sih kita buat dulu sebuah class 'Adapter' yang tugasnya utk nyesuaiin bahasa/format yang diinginkan oleh user. dan di sini bisa kita anggep Adapter adalah 'jelmaan malaikat yang menerjemahkan bahasa ilahi kepada kita'..

hmm
apaan tuh?

---

jadi ada framework, namanya RESTLet. dia bisa dipake untuk bikin web service tanpa menggunakan SOAP (simple object access protocol). kalo pake SOAP,  ruginya: interoperabilitasnya lebih rendah.

dengan pake sistem REST, interoperabilitas lebih tinggi karena bisa diakses dengan apa aja, selama pengirimannya lewat protocol HTTP. tapi kayanya sih bakal lebih rumit utk ngurusin securitynya (ga tau juga sih, gw belom nyobain securitynya).

dalam RESTLet, web service dinyatakan sebagai sebuah 'resource' dari objek yang mau disimpen di alamat (url) tertentu. dan resource ini diarahkan oleh sebuah terminal/router. dan karena ini adalah aplikasi server, maka pastinja mesti didaptarin tuh terminalnya di web.xml.

---

seandainya bayangan tentang komunikasi antara manusia-malaikat-tuhan emang gitu adanya,
dan seandainya komunikasi make internet sebagai toolnya,
mungkin RESTLet adalah salah satu framework yang bisa digunakan untuk jalur pengiriman informasi(doa/jawaban)nya..

baca selengkapnya..






-------------------------------------------------------------------------------------

garis lurus

nemu tulisan lama di skecth book :D

dimana pernah ada garis lurus
atau apakah sebenar-benarnya gars lurus itu
bukankah dia adalah rataan dari tiap gejolak
dalam sekumpulan data
yang batasnya ditentukan sendiri
sesuai kepentingan kesatuan ego?

maka marilah kita nyatakan
bahwa garis lurus adalah bentukan ego

sehingga sampai lah kita pada sebuah pertanyaan sederhana
apakah sebenar-benarnya ego itu?
dan kenapa ego itu merasa perlu
untuk mengklaim eksistensi sepenggal garis lurus?

ego dipandang dan nyata dalam sebuah keniscayaan
sama halnya dengan seluruh elemen ketuhanan lainnya
dan dengan keegoisan sang ego, menggambar dan membentuk sebuah garis lurus
sebagai landasan untuk kembali pada bentuk umumnya atas nama tuhan
menjelang dan menjemput kodrat abadinya untuk berpindah, dan
mengembalikan kedaulatan ego kepada energi yang menjadi alasan eksistensinya

lalu kita akan kembali bertanya
jika demikian alasan adanya garis lurus,
dan jika demikian definisi garis lurus,
bagaimana posisi garis lurus terhadap osilasi perilaku sang ego?

osilasi kemudian garis lurus kah?
garis lurus kemudian osilasi kah?
atau bagaimana?

kembali diajukan pertanyaan sederhana,
apakah semua ego adalah sama adanya?

jika tidak,
mari kita biarkan tiap ego menentukan sendiri aturan garis lurusnya
dan biarkan masing-masing mendefinisikannya sendiri

karena pada dasarnya
garis lurus itu adalah rataan dari tiap gejolak
dari ego yang mengalaminya

ditulis di cabe rawit ciumbuleuit, 1 februari 2010

baca selengkapnya..






-------------------------------------------------------------------------------------

what a year

Selasa, 27 Desember 2011
menjelang tutup tahun, ga ada salahnya untuk sedikit flashback..

dimulai dari awal tahun, bulan januari, yang sangat berwarna. gejolak emosi yang sangat dinamis. peristiwa demi peristiwa yang terjadi di bulan januari ini berhasil bikin gw menata ulang koridor aktivitas. dan koridor yang semakin mengerucut ini bikin fokus untuk belajar jadi lebih terarah, mengurangi perhatian akan hal lain di luar koridor, dan akhirnya juga berhasil bikin gw ga banyak mikir untuk ngambil peluang-peluang di depan mata.

banyak cita2, banyak usaha, banyak sekali kegagalan. mayan lah buat pengalaman.

sejak desember taun lalu ngebut sampe stres untuk ngerjain 'proyek fiktif', jadi 'project manager fiktif'. ceritanya waktu itu mau bikin project management software (pms) bersama Siliwangi Workshop Group (SWG). dimulai dari obrolan iseng2 sama senior gara2 ga bisa tidur, diterusin coret-coret di kertas, dilanjutin lagi jadi step-step pengerjaan dan analisa human resource. akhirnya didapet kesimpulan untuk ngerjain proyek fiktif ini sambil jadi bahan 'praktikum' untuk jadi seorang software developer. jadi trainee sekaligus jadi pembuat kurikulum training hahahaha ngaco pisan lah. tapi hal itu sekali lagi berhasil untuk bikin gw terpicu utk belajar banyak, melahap semua hal yang (dirasa) berhubungan dengan kebutuhan-kebutuhan teknis pelaksanaan pms tadi.. mayan lah, akhirnya pms selesai setelah 2 bulan, itu pun seadanya banget, cuma fitur2 dasar dan dengan tampilan seadanya juga.

keinginan untuk dateng ke kawinan temen gw di bali, bulan mei, bikin gw mati-matian ngejar proyek beneran.

membabi buta belajar semua yang bisa dipelajarin. dengan koridor yang udah mulai terarah, yaitu main di dunia it/software. berhubung pms tadi adalah bagian dari training java ee (enterprise/web application). kalo pun mau ngelebarin koridor, yang dilebarin adalah toolsnya. jadinya kalo pms dikerjainnya pake jsp (java server pages), sambil dalam panik berusaha ngejar proyek beneran, ketemu lah sama senior yang pelan2 mengiming-imingi proyek website. akhirnya mulai lah belajar php dikit-dikit.

dan ternyata proyek yang ditunggu-tunggu ini pun tak kunjung datang. di satu sisi gw cukup kecewa, tapi di sisi lain gw lega karena kalo pun proyeknya ada belom tentu gw udah sanggup utk ngerjain di bawah tuntutan deadline yang rapet :D.

kemudian tanpa diduga, kebetulan chatting sama temen lama. baru ketemu 2 atau 3 kali, itu juga pas taun pertama gw kuliah (udah selang 5-6 taun), tanpa kontak2an sebelomnya. tiba2 dia nawarin untuk ngerjain sebuah proyek sistem supply chain untuk distributor tekstil (tempat kerja adeknya dia). akhirnya gw sampein lah soal ini sama tim SWG, dan pada semangat untuk ngejar proyek ini. akhirnya, sikaaattt!!!

satu kali, dua kali, tiga kali asistensi (dalam durasi sekitar 2 bulanan). tiap hari mikirin skema, relasi database, sampe tampilan contoh untuk dipresentasiin ke distributor tekstil itu. udah minat nih keliatannya si pemilik. eh ternyata kami salah naro harga. kayanya kemahalan.. akhirnya digantungin deh sama beliau, ga dikabar2in lagi. akhirnya baru tau keputusannya itu beberapa bulan setelahnya, pas gw udah ga gabung di SWG, proyeknya dioper ke pihak lain yang bisa ngasih harga 10% dari harga yang kami minta huahahaha.

waktu makin mepet menjelang kawinan temen gw di bali tadi. gw ga punya duit sama sekali. senior gw yang berbaik hati mau ngasih gw 'gaji buta' untuk 2 bulan pun keliatannya udah mulai nipis keuangannya. gw ga mau jadi parasit. gw belom bisa ngehasilin apa2 selama 5 bulan di sana, cuma numpang tempat tinggal, numpang tempat internetan, numpang tempat belajar, numpang bikin kopi (sambil jualan dikit2), numpang brainstorming, numpang berbagi cita-cita, berbagi harapan, berbagi kesusahan, dll. akhirnya gw pasrah untuk ngambil kesempatan berkarir di sebuah perusahaan besar.

gara2 ngejar kawinan temen gw di bali, dan gara2 obrolan di SWG tentang bali, gw ngidam pengen kerja di bali. dia buka lowongan untuk training java di bali (balicamp). biarpun ternyata gw trainingnya di tangerang, itu cukup utk jadi alesan gw ada di Telkomsigma. dia mau ngasih training dengan 'ikatan dinas' selama 1,5 taun terhitung setelah training selesai. gaji cukup untuk bertahan hidup.  gaji pertama cukup untuk dituker tiket pesawat ke bali pulang pergi, berarti gw bisa dateng ke kawinan temen gw. gw ambil lah peluang ini, masih di dalam koridor gerak yang sama, software developer.

11 april gw resmi gabung di Telkomsigma, sebagai java trainee. sekali lagi terima kasih banyak untuk Siliwangi Workshop Group. (gile gw merinding pas nulis ini). sama sekali ga mudah untuk hengkang dari SWG, banyak banget pertimbangannya. dan terbukti 5 bulan dengan ritme kerja (atau ritme belajar) di SWG bikin gw cepet untuk ngolah informasi2 di training Sigma selama 1,5 bulan berikutnya.

kemudian muncul lah peluang (baca: keanehan) berikutnya. Sigma ngasih kesempatan untuk trainee yang mau ditempatin di bali. dengan semangat, jelas lah gw langsung ngacung! dan 2 minggu setelah training-in-class selesai gw resmi dipindahkan ke base Bali (balicamp), tujuan awalnya ngerjain salah satu produknya Sigma, yaitu arium konvensional, tapi akhirnya gw digabung ke tim produk Arium Syariah.

cuma 2 bulan gw di bali. balicamp perlu ngirim orang ke tangerang untuk ngerjain interface untuk arium syariah. gw dikirim balik ke tangerang. ketemu lagi sama temen2 training yang aneh2, ketemu sama bidang baru (interface) yang keliatannya bisa dikejar terus sampe mendalam dan prospek masa depannya lumayan juga.

sampe detik ini, gw masih terikat sama interface arium syariah.

setelah ngoceh ngalor ngidul begini, trus apa pelajaran yang bisa ditarik?

1. ngutip dari tulisannya eiji yoshikawa di buku 'taiko' - “Seorang samurai tidak bekerja sekedar untuk mengisi perut. Dia bukan budak makanan. Dia hidup untuk memenuhi panggilannya, untuk kewajiban dan pengabdian. Makanan hanyalah tambahan, sebuah berkah dari surga. Jangan menjadi laki-laki yang, karena sibuk mencari makan, menghabiskan hidupnya dalam kebimbangan”. buku taiko ini gw bacanya selama di SWG, diselingi dengan diskusi2 atau ceramah dari senior yang emang peminat Taiko.

2. perkuat koridor gerak, bisa berdasarkan minat atau berdasarkan kemampuan, yang pasti ikutin aja dimana rasa penasaran dan batasi pada satu bidang. koridor ini (mungkin) akhirnya yang menjadi 'panggilan kewajiban dan pengabdian'. bukan mengabdi pada kapital, tapi mengabdi pada koridor gerak itu, yang dimulai dari kesadaran diri sendiri. pada akhirnya 'panggilan' ini akan bikin kita melakukan yang terbaik yang kita bisa. kita belajar lebih banyak, skill bisa melesat, dan perusahaan pun dapet keuntungan dari proses kita.

3. koridor gerak itu kemudian akan melahirkan banyak pertanyaan, kita kejar aja jawabannya sekuat kita. tanpa kita sangka2, dalam masa pengejaran kita akan ada banyak peluang2 yang muncul, jangan ragu2 ambil aja peluang itu! karena mungkin jawaban yang kita cari ada di sana. buat step-step pencapaian, dan biarkan semua mengalir selama masih di dalam koridor dan memungkinkan untuk tercapainya step-step itu. ada masanya untuk eksplorasi, ga perlu batas2i diri dengan ikatan2 yang mungkin malah mengekang. kesempatan yang sama ga dateng 2 kali, dan kesempatan itu akan datang ke orang yang siap.

4. koridor gerak ini juga yang akan jadi katalis saat kita dituntut untuk beradaptasi dengan lingkungan baru. kalo gw sih prinsipnya: mumpung masih anak baru, masih boleh salah :D dan masih ada senior yang bakal 'diutus' untuk bantuin kita kalo kita nemu kesusahan (walaupun kesusahan ini gara2 kita nyusahin diri sendiri dalam proses belajar yang 'rawan tersesat'). kesalahan adalah bagian dari adaptasi, jalani aja semuanya.

5. after all, di balik semua suka dan duka, tahun 2011 secara personal banyak membawa perubahan, banyak membawa pelajaran. banyak perjuangan yang dimulai, banyak gejolak emosi, banyak keberhasilan tapi juga banyak banget kegagalan. luar biasa, what a year..

baca selengkapnya..






-------------------------------------------------------------------------------------

ga jelas

Sabtu, 05 November 2011

sebuah siklus umum, berawal dari teori kertas kosong (tabula rasa) -john locke. ketika lahir, manusia digambarkan seperti kertas kosong, dan secara naluri untuk 'mengisi' kertas kosong itu dengan berbagai pengetahuan.

ketika kita datang ke sebuah tempat baru, anggeplah di sebuah tempat yang jauh dari tempat asal kita, apa yang pertama kali harus dilakukan?

menurut gw:
1. mengenal bahasa.
2. mengolah logika kita terhadap bahasa itu
3. mengenal lingkungan (budaya, sosial, dll)
4. baru kemudian mengimplementasikan logika kita ke dalam bahasa yang dikenal, disesuaikan dengan lingkungannya.

kenapa gw anggep ini siklus umum? karena ternyata yang gw liat, belajar programming pun siklusnya sama kaya gitu juga. misalnya belajar bahasa pemrograman java:

1. mengenal bahasa -> dimulai dengan mengetahui (dan membiasakan diri) dengan variabel, keyword, operator, dll

2. mengolah logika -> menggunakan variabel, operator dan lainnya tadi untuk membuat sesuatu, dimulai dari yang sederhana hingga makin lama makin kompleks

3. mengenal lingkungan -> makin kompleksnya kebutuhan logika tadi, 'menuntut' programmer untuk menggunakan IDE (integrated development environment) atau library/framework tambahan.
IDE ada banyak, misalnya eclipse, jdeveloper, netbeans, intellijIdea dan lainnya. masing2 punya keunggulan dan kelemahannya sendiri2.
framework pun ada banyak: misalnya framework untuk membuat tampilan ada tapestry, jsf, zk, dll. framework untuk koneksi database atau untuk controller pun ada banyak variannya.
itu semua baru yang berhubungan langsung dengan pemrogramannya. banyak kondisi yang mengharuskan programmer membuat konfigurasi tertentu dan ini berhubungan dengan operating system yang digunakan, berarti ada baiknya programmer juga menguasai berbagai operating system.
kesemuanya ini adalah bagian dari environment yang harus dikuasai untuk developing.

4. mengimplementasikan -> setelah mengenal lingkungan 'teknis' seperti di poin 3, berikutnya baru lah penerapan sebenarnya dari pemrograman. mendevelop sesuatu, bisa jadi untuk keperluan proyek (pekerjaan) atau pun untuk keperluan studi, atau yang lainnya.

dalam keberjalanannya, poin 3 dan 4 sering kali berjalan beriringan. saat implementasi, ada kalanya kita baru sadar kalo ternyata kita butuh wawasan tentang environment tertentu, dan sambil jalan kita  juga sambil mempelajari environment itu. contoh: kita biasa develop di komputer sendiri dengan operating system windows. tapi dalam keberjalanan proyek, digunakan server yang menggunakan operating system linux. ya mau ga mau dikit2 mesti ngerti linux juga. kalo ga ngerti? mau ga mau mesti belajar juga deh :D (apess..)

life is not only about logics. its also the environment.

jadi inget jenjang kaderisasi di himpunan dulu, ada 4:
1. doktrinasi
2. sosialiasi
3. aktualisasi
4. kontemplasi

kalo dicocok2in, siklus umum yang tadi dijabarin di atas sesuai dengan penjenjangan ini dari poin 1 sampai 3.
-doktrinasi kira2 bisa disejajarkan dengan pengenalan bahasa
-sosialiasi kira2 sejajar dengan mengolah logika dan mengenal lingkungan
-aktualisasi kita2 sejajar dengan implementasi logika (dan bahasa) dalam lingkungan

lalu dimana posisi kontemplasi?

penjabaran tadi kan menggambarkan proses belajar (dan beraktualisasi) secara pribadi. dialami tiap individu. tapi dari sudut pandang organisasi, sebutlah keluarga, temen bergaul, sekolah, kampus atau perusahaan, semuanya memiliki proses regenerasi.

dalam konteks regenerasi inilah kontemplasi dimasukkan. dari bahasa yang 'cuma gitu2 aja' bisa melahirkan logika yang sangat luas, tergantung karakter dan sudut pandang tiap pribadi yang menggunakannya. dan dalam konteks organisasi, perlu ada standar, berarti perlu ada penjaga standar.

life is not only about logics and/or environment. its also the regeneration.

baca selengkapnya..






-------------------------------------------------------------------------------------

masalah untuk mengurangi masalah

Sabtu, 08 Oktober 2011
bayangin kita duduk di sebuah teras, di posisi yang agak lebih tinggi dari aktivitas keseharian, di tengah kota. kita liat kemacetan, kita liat pelanggaran-pelanggaran "kecil" seputar lalu lintas, kita liat trotoar berubah fungsi jadi tempat jualan atau tempat melintasnya motor yang mau ngehindarin macet, bukan lagi tempat yang nyaman bagi pejalan kaki.

dalam hati mungkin kita akan berkata "untunglah gw ga ada di jalan raya yang semrawut itu..", lalu mulai membayangkan asiknya duduk mengamati kesibukan (atau kesemrawutan?) sambil minum segelas kopi panas sambil ngerokok.

lalu kita alihkan pandangan ke lingkungan yang lebih dekat dengan posisi duduk kita. bayangin ada biji kopi yang baru aja disangrai, belom digiling jadi bubuk. bayangin juga seandainya ada sebuah alat, bentuknya kotak, kalo kita masukin biji kopi tadi, ga lama kemudian segelas kopi panas dengan aroma yang menggugah selera telah tiba secara otomatis di samping kita.

trus kita mulai mbayangin lagi, seandainya alat seperti itu emang ada, gimana cara kerjanya?

pasti ada sistem penghancur biji kopi, pasti ada sistem pemanas air, pasti ada sistem penuang bubuk kopi, pasti ada sensor untuk menentukan volume bubuk kopi yang harus dituang (berdasarkan volume gelas dan perbandingan takaran), pasti ada sistem penuang air dan penentu volume air yang mesti dituang (berdasarkan volume gelas dan perbandingan takaran), pasti ada sistem pengaduk, dan terakhir pasti ada sistem 'pengantar' gelas dari alat tersebut sampai lokasi tertentu di samping kita. dan masih banyak lagi masalah yang bisa diajukan terkait dengan alat itu, mengembangkan lagi dari masalah-masalah yang disebutin sedikit di atas.

ada sangat banyak masalah yang harus dipecahkan sebelum hidup kita sedikit lebih nyaman, menyempurnakan hidup.

apa yang menyempurnakan hidup? kenyamanan yang sempurna atau kegiatan yang kita lakukan untuk menyempurnakan kenyamanan itu sendiri? entah, terserah gimana masing-masing orang mempersepsikannya. bisa jadi salah satunya, bisa jadi keduanya.

kenyamanan yang sempurna. kalo kita artikan 'nyaman' sebagai kondisi dimana tidak ada (atau ada tapi sedikit) masalah, berarti untuk mendekati kenyamanan itu kita mesti mengurangi jumlah masalah.

kita balik lagi ke hal-hal yang tadi kita bayangin, ada kondisi lalu lintas, ada alat pembuat kopi, dan mungkin ada yang mbayangin hal-hal lain, ada banyak sekali masalah di sekitar kita. mulai dari masalah aktual (seperti contoh lalu lintas) sampai masalah ideal (berawal dan/atau berada di tataran ide).

dan dengan asumsi bahwa semua hal yang menjadi perhatian kita bermula dari persepsi tertentu kita akan sesuatu itu (semua hal punya potensi untuk jadi masalah, semua hal punya potensi untuk jadi peluang, semua hal punya potensi untuk membuat senang, semua hal punya potensi untuk membuat sedih, dan seterusnya), maka untuk mengurangi jumlah masalah yang mesti kita lakukan adalah berfokus pada satu hal/masalah/bidang/apapun.

dalam contoh kasus alat pembuat kopi otomatis tadi, keseluruhan sistem kerja terbagi jadi 7 subsistem. tiap subsistem memiliki masalah-masalahnya masing-masing. bayangin kalo 1 orang mau ngerjain semua itu sendiri. kebanyakan masalah tuh orang ntar, ksian..

pembagian sistem ke dalam subsistem itu sendiri udah merupakan upaya pengurangan masalah. berikutnya, mending dibagi-bagi aja masalah itu ke beberapa orang. misalnya 1 subsistem dibebanin ke 1 orang. bukan ga mungkin nantinya tiap subsistem ini akan terbagi jadi beberapa subsistem lagi. tergantung tingkat kesulitannya.

untuk ngehemat waktu, enaknya sih tiap subsistem itu dikerjain paralel. berarti yang perlu dilakukan berikutnya adalah bikin interface untuk komunikasi antar subsistem itu. misalnya interface antara sistem penghancur biji dengan sistem penuang bubuk kopi.

di sini orang yang ngerjain sistem penuang mesti ngasih tau kebutuhannya untuk memulai sistemnya. misalnya: dia butuh tau kopi udah jadi bubuk atau belum dan berapa volumenya. sepakatin dulu, kalo kopi udah jadi bubuk, sistem penghancur akan ngelempar variabel String bernilai "OK", dan akan ngelempar variabel double bernilai volume bubuk kopi.

baru deh sekarang orang yang ngerjain bubuk kopi bisa kerja, acuannya: dia mesti ngehasilin output String "OK" dan double volume bubuk kopi. dan orang yang ngerjain sistem penuang mengacu sama begitu ada variabel String "OK" nyampe ke sistemnya, dia akan ngecek berapa jumlah volume bubuk kopi, ngecek berapa volume gelas, dan ngaktifin sistem penuangnya.

jika kita adalah orang yang ngerjain sistem penghancur, kita ga usah mikirin sistem2 lainnya. yang penting kan udah jelas apa outputnya yang perlu kita hasilin. selanjutnya mungkin kita bisa mulai dengan 1. sensor (atau 'listener') utk ngecek apa ada biji tertuang, 2. proses penggilingan, 3. pengukuran volume, 4. media untuk melempar pesan ke interface.

gitu tuh, ternyata di dalam (sub)sistem penghancur, masih beranak lagi jadi 4 (sub)subsistem. mau bagi2 tugas lagi? atau mau dikerjain sendiri? terserah. yang pasti, utk mulai ngerjain kita perlu nyiapin interface lagi antar (sub)subsistem. 4 subsistem berarti 4 masalah. mau ngurangin masalah? kita pilih aja satu subsistem, sisanya dibagi-bagi ke orang lain.

misalnya kita pilih proses penggilingan. berarti kita mesti nunggu pesen yang masuk dari sistem listener, sepakatin dulu apa kode yang akan dilempar sama sistem listener, misalnya String "lanjut!". nah sekarang proses penggilingan akan digenerate sama sistem yang nerima kode String "lanjut!". program akan mengatur tegangan mana yang diaktifkan untuk njalanin mesin penggiling. kemudian bubuk kopi yang udah tergiling akan 'dijatuhkan' di sebuah wadah di bawah mesinnya.

lalu mungkin kita bisa nari sebuah timbangan digital di bawah wadah itu dan menyambungkannya dengan interface pengukuran volume. jika berat wadah > 0 maka sebuah kode akan terkirim ke interface dan interface itu akan ngelanjutin ke sistem pengukuran volumenya. tapi tenang, ini bukan masalah kita. ini masalahnya orang yang ngerjain pengukuran volume. dan seterusnya..

setelah semua orang selesai dengan kerjaannya masing-masing. tinggal dites deh hasilnya. masukin biji kopi ke alat dan lihat apa yang terjadi selanjutnya, pasti bisa dilacak di sistem mana terletak kesalahannya (kalau ada). dan biarkan orang itu bertanggung jawab sama kerjaannya (kalo orangnya udah ga ada, sepakatin aja siapa yg mesti beresin itu)..

jadi sejauh ini apa yang bisa disimpulin?
menurut gw,
1. secara manusiawi tiap orang akan bergerak menuju kenyamanannya masing-masing dengan membatasi lingkup perhatian dan pekerjaan sesuai minatnya (mengurangi scope masalah yang dihadapi). dan pada akhirnya kegiatan ini akan menghasilkan spesifikasi (atau keahlian spesifik) dari orang itu.

2. dengan simpulan 1, kita mesti siap dengan pertanyaan: "lu orang atau bukan? kalo lu orang, apa spesifikasi lu?". dan mungkin hal ini udah jadi trend di masa sekarang, dimana tiap orang akan menangani masalah tertentu yang spesifik di dalam sebuah keseluruhan sistem besar. istilah kerennya: outsourcing.

3. dari simpulan 2, ngeliat maraknya outsourcing sekarang ini, interfacing bisa dilihat sebagai satu titik vital dari semua sistem. bermain di zona interface berarti menggunakan sudut pandang bahwa keseluruhan sistem terbagi jadi beberapa subsistem yang saling berkomunikasi satu sama lain.

baca selengkapnya..






-------------------------------------------------------------------------------------

apalah aku

begitu tombol 'OK' ditekan, aku pun meluncur. entah tenaga apa yang mendorongku, tapi aku bersama kawananku terlontar bersamaan menyusuri lekuk liku jalur yang tidak kuketahui liukan dan kemana tujuannya. baiklah, aku ikut saja. dorongan itu terlalu kuat untuk kulawan, toh setidaknya kawananku masih berada di sekitarku.

kami berdiri berurutan, dalam satu barisan panjang, di atas sebuah gerbong panjang dan sempit yang meluncur dengan kecepatan tinggi. tapi aneh juga, kami stabil di atasnya.

dalam waktu singkat kami sampai di sebuah ruangan besar. ruangan ini penuh kesibukan. riuh sekali. satu persatu kami di dalam barisan diminta untuk maju, dan saat tiba giliranku suatu sosok di depanku (entah apa dia, aku ga pernah mengenal sosoknya) melihatku sesaat dan mengucapkan sesuatu pada kawannya.

kawan dari sosok itu mencatat apa yang dikatakannya, kemudian pergi. tidak lama kemudian dia kembali, membawakan sebuah papan bertali untuk ku kalungkan di leherku. aku tidak tau apa yang tertulis di papan itu, karena tidak lama kemudian sebuah sel kecil (kandang berterali) tiba di depanku dan aku didorong masuk ke sana.

begitu aku masuk, pintunya langsung ditutup. dan sel ini mulai meluncur, ke sebuah ruangan besar, dan kulihat kawan-kawanku tadi juga berada di dalam selnya masing2. kami masing-masing dipisahkan satu sama lain, tapi dijajarkan bersama-sama. apa maksudnya ini??

belum sempat pertanyaanku terjawab, sel-sel kawananku berikutnya mulai menyusul dijajarkan bersama kami. dan segera saja sel-sel kami mulai meluncur kembali dalam sebuah lorong gelap. posisi kami masih sama seperti waktu luncuran pertama tadi, berurutan satu per satu dalam sebuah barisan panjang, hanya bedanya kini kami berada di dalam sel kami masing2.

rasanya cepat sekali waktu berlalu, kami tiba di sebuah ruangan besar lagi, yang juga penuh kericuhan. tepat di tengah ruangan besar ini terdapat semacam court luas, yang terbagi-bagi berdasarkan kode-kode tertentu, dan kode itu menempel di sebuah kursi.

selku langsung mengarah ke salah satu kursi dan berhenti tepat di sampingnya. secara otomatis pintu itu terbuka dan sekali lagi aku merasakan dorongan sehingga aku pun terlempar keluar dari sel dan jatuh terduduk di kursi itu. dengan cepat sebuah seat belt membelit tubuhku dan kini aku sudah terikat erat di kursi itu. selku tiba2 berputar dan meluncur kembali ke arah datangnya tadi. baru aku sadari ada sebuah kode di atas tiap sel, entah kode apa itu dan apa artinya.

dalam sekejap kursi yang kududuki bergerak melaju dengan kencang. kulihat kawananku pun mengalami hal yang sama dengan kursinya. kembali melewati lorong panjang, dan tiba di sebuah ruangan besar lagi. dan sekali lagi kami semua dilemparkan ke sebuah wadah berkode tertentu. tiap satu dari kami mendapat satu wadah sendiri.

tak berselang lama, suatu sosok kembali mendatangiku dan memperhatikanku cukup lama, kemudian dia mengatakan sesuatu kepada kawannya yang segera mencatat dan pergi. kulihat kawananku pun mengalami hal yang sama. si sosok tadi akhirnya kembali bersama sosok lain yang kukira mirip dengan diriku dan kawananku.

kulihat nametag di dadanya, sempat terbaca sekilas "responseCode". dia didorong untuk duduk di wadah yang sama dengan kami, dan dengan segera, kursi yang tadi membawaku ke ruangan ini kembali lagi di sampingku.

wadahku meninggi dan mulai memutar seakan hendak "menuang" diriku ke atas kursi tadi. aku pun lagi2 jatuh ke kursi itu yang langsung mengikatku dengan seatbeltnya. setelah semua kawananku mengalami hal yang sama, kursi ini kembali melaju cepat melewati lorong yang tadi.

dan proses seperti awal tadi kembali berulang, tapi kebalikannya. sampai kusadari aku telah berada di ruangan pertamaku sebelum tombol "OK" ditekan. semua yang kupakai dipreteli, nametag-ku dilepas dan sesuatu menarikku ke sebuah sandaran, aku tertempel di sana. dan tidak lama aku meluncur keluar dari ruangan gelap itu.

aku muncul ke dunia, melalui sebuah kertas tipis. dan kulihat ada manusia di atas sana menarik sandaranku yang berupa kertas tipis. kurasakan kertas sandaranku pun berpindah tangan ke manusia lainnya yang melihat diriku dengan seksama sebelum akhirnya meremukkan sandaranku dan melemparkannya ke sebuah tempat yang sempat kulihat bertuliskan 'recycle'..

belakangan kuketahui bahwa ternyata aku tidak satu. aku berada di semua wadah yang kududuki, sebelum luncuran lain menghapus diriku dari semua wadah itu.

apalah aku ini. pasif, terduplikasi, terlempar kesana kemari. jika aku dapat memilih ketika dilahirkan, aku akan memilih jadi seorang manusia yang dapat beraktivitas di dunia nyata, bukan sebagai data 'amountTransaction' yang pasif di dunia digital..

baca selengkapnya..






-------------------------------------------------------------------------------------

batu tujuh

Selasa, 06 September 2011
kaya maen batu tujuh, kira2 aturannya mirip petak umpet, tapi bedanya:

kalo petak umpet: yang jaga mesti tutup mata, ngitung sampe jumlah tertentu, yang lainnya ngumpet, trus si yang jaga mulai nyari yang pada ngumpet setelah itungannya selesai. yang ngumpet bisa menang kalau bisa nyentuh 'hong' duluan sebelom yang jaga nyentuh 'hong'nya.

kalo batu tujuh: 7 buah batu disusun vertikal, ga boleh jatoh. yang jaga mesti nyusun batu sampe kesusun dengan bener, yang lainnya ngumpet. setelah batu kesusun, yang jag amulai nyari yang pada ngumpet, kalo ketemu mesti cepet2an ke batu lagi. selama batu belom rusak susunannya, kalo yang jaga sampe duluan ke batu itu, berarti yang ngumpet kalah. tapi kalo yang ngumpet nyampe duluan, dia bisa nendang susunan batu itu sampe rusak lagi, dan yang jaga mesti nyusun lagi batunya trus nyari yang ngumpet lagi, dan seterusnya.

nah, sekarang bayangin, kita lagi jaga. trus yang laen udah pada ngumpet. abis kita susun batunya, udah mantep bener lah susunannya, rigid, trus kita mulai nyari deh tuh pemain2 yang laen. dan kita cukup jago nih utk nemuin banyak di antara mereka. dalam sekali jalan udah nemu 50%+1 peserta (misalnya) dan terus balap lari sama mereka ke arah batu sebelom mereka rusakin tuh susunan batu.

dan seperti dugaan (kan kita jago), jago lari juga, kita nyampe duluan sebelom mereka. dan tiba2 saking kencengnya kita lari, tanpa sengaja batunya kesenggol dan buyar. mending kalo buyarnya deket, jauh2 men!

hahaha, nasib.
jago lari tapi ga jago nge-rem.

baca selengkapnya..






-------------------------------------------------------------------------------------

request-respons

Kamis, 18 Agustus 2011
respons.
pengen dapet respons? kirim request lah.

anggeplah kita punya beberapa parameter untuk dijadiin request. kita lempar lah request ini ke sebuah sistem.

kalo sistemnya adalah engine transaksi keuangan bisa jadi responsnya cuma berupa kode '00' jika berhasil atau '06' jika gagal.

kalo sistemnya adalah halaman website, responsnya adalah tampilnya halaman yang dipanggil.

kalo sistemnya adalah orang, bisa jadi responsnya adalah kalimat 'ga tau..' atau mungkin malah '......' (alias dicuekin).

yah, bisa macem2 bentuk respons. tergantung kaya gimana requestnya dan kaya gimana kelakuan sistem yang diharapkan utk ngerespons.

dengan adanya respons, kita jadi kenal sama sistemnya, dan kita tau gimana harus bertindak (utk ngerawat sistemnya, atau utk manfaatin sistemnya, atau untuk mbenerin sistemnya, atau apa pun lah).

dulu dosen gw bilang: "kalo mau kenal sama suatu sistem, kasih lah gangguan ke sistem itu dan liat responsnya". kira2 mirip lah, anggep aja tiap request adalah gangguan bagi internal sistem itu. maksudnya, misalnya si sistem lagi bengong, atau lagi diem (lembam lah pokoknya), trus kita kasih pertanyaan atau perintah, itu kan gangguan untuk ke-diem-annya, dia jadi mesti njawab atau mesti nyuekin, atau mesti ngerjain perintahnya.. gangguan lah.

apapun responsnya, kalo ga sesuai keinginan, yaudah itu lah dia. (cukup tau aja lah..), kalo sesuai keinginan yaudah alhamdulillah.

tapi yang pasti, tiap sistem butuh gangguan (atau request) biar dinamis.
dan eksternal butuh mengganggu untuk bisa ngenal sistem itu (dari responsnya).

tapi jangan lupa juga, request-response kan bentuk komunikasi. yang namanya komunikasi pasti nyediain tempat untuk adanya kesalahpahaman. sistem salah nangkep maksud request (jadi responsnya ga sesuai harapan). atau justru requestnya yang salah sehingga respons yang diinginkan pun ga tercapai. atau bisa jadi requestnya bener, responsnya bener, tapi si pemberi request yang salah nangkep arti responsnya (salah nerjemahin).

semua itu bisa terjadi, siap2 aja.

di luar dari segala tetek bengek dan suka duka dalam merequest dan merespons, jelas request ga bisa gitu aja dilakukan.

misalnya, kita ga bisa langsung nge-request ke servernya fesbuk untuk nampilin foto orang tertentu yang kita pengen (dengan langsung ngeklik alamat url-nya foto itu). minimal kita mesti login dulu. setelah login, profil kita juga mesti 'diijinin' untuk ngeliat foto2 itu dari si empunya foto.

atau yang lebih simpelnya lagi, bahkan untuk bisa login di fesbuk kita mesti buka dulu koneksi internetnya. kegiatan 'login' juga adalah merupakan request ke sistem aplikasi web.

perlu ada session yang dibuka sebelom kita ngerequest. dan perlu ada request yang dilempar sebelom kita dapet respons.

tenang aja, kita ga perlu berasal dari halaman http untuk bisa ngelempar request dan nerima respons dari halaman http. yang penting kita nyiapin akses untuk komunikasinya aja. kita buka aja koneksinya, trus alirin datanya.

kita ga perlu jadi pangeran utk bisa ngegodain (ngerequest) seorang puteri cantik. dan kita juga ga perlu jadi pangeran untuk bisa dibentak2 (respons) sama si puteri cantik tadi. kita cuma perlu berada di tempat yang dia lewatin, atau tau nomer telponnya (atau bahkan ym/fbnya :D).

kita bisa berasal dari mana aja. kita bisa jadi siapa pun diri kita sebenernya.

kalo kita adalah class java, sebagai client, yang penting kita open HttpUrlConnectionnya, kita printStream parameter2nya, dan post ke url-nya server yang kita inginkan, dan siapin HttpUrlConnection utk nerima respons dari server itu. kalo koneksi berhasil terbuat, kita akan dapet respons pertama kode '201', kalo dicuekin (mungkin karena salah alamat) kita akan dapet respons kode '404'. dan kalo kita berhasil konek tapi ga dibolehin ngakses dia, kita akan tetep dapet respons, yaitu kode '401' atau '403'.

kita bisa cegat si puteri di tempat dia beraktivitas, setelah dia lewat di tempat kita, kita bisa buka sessionnya dengan bilang 'eh..', kalo dia nengok berarti connection/session is created (bisa dilanjutkan dengan mengirim request). kalo ga nengok, tendang aja kakinya dan bilang 'sori..' kalo dia senyum trus ngajak kita kenalan berarti responsnya = transaction success. kalo dia cemberut jangan kecil hati, paling ga dia udah ngerespons request kita (minimal itu artinya koneksi/sessionnya udah kebuka).

kalo dirasa responsnya masih kurang untuk kita ngecek apakah sessionnya udah kebuka, angkat aja roknya. dan session (plus rok!) pasti terbuka, dengan request pertama adalah ngangkat rok, dan respons pertamanya adalah tamparan.

berhasil! session terbuka, kita uda ngerequest dan udah dapet respons. dengan demikian urusan selanjutnya bisa jadi lebih mudah, tinggal disesuaikan aja requestnya untuk dapetin respons yang diinginkan.

hal yang menyenangkan dalam pihak Client: kita bisa agresif dan kreatif dalam memberi request dan bisa leluasa menerjemahkan responsnya.

dengan mengingat kesenangan itu,
dengan mengingat bahwa interaksi tidak lebih dari sekedar request dan respons,
lets just make a move for a session.

baca selengkapnya..






-------------------------------------------------------------------------------------

bbm dan transportasi umum

Kamis, 30 Juni 2011
pacung, 29 juni 2011

tadi pas makan ga sengaja liat berita, tentang stok premium dan solar yang habis di beberapa tempat. terkait juga soal bensin premium yang ditujukan untuk orang2 ga mampu.

kenapa stok habis? karena permintaan lebih tinggi dari stok yang ada.
kenapa stok kurang banyak? mungkin karena mahal, ini jadi nyambung juga sama
kenapa subsidi dikurangi? yaitu karena harga terlalu tinggi dan pemerintah ga bisa ngesubsidi semuanya. sesuai hukum ekonomi, kalo permintaan banyak maka harganya akan naik.

misalnya gw punya duit bulanan 2,5 juta: trus gw nyicil motor baru per bulan 500ribu, 2 juta sisanya untuk makan sekeluarga dan sekolah anak. itu kan pas2an banget (mungkin malah kurang). ga akan mampu ngebayar keperluan2 lain. apa perlu pake bbm tanpa subsidi?

mungkin jawabannya: ya kalo pas2an gitu dan ga sanggup beli pertamaks mending ga usah beli motor karena itu konsekuensinya kalo beli motor baru.

dan mungkin akan dibales: gw butuh transport dan gw bisa penuhin kebutuhan transport itu dengan nyicil motor (toh DP-nya murah), tapi karena gaji gw pas2an banget maka gw bisanya beli premium.

jadi kalo premium ditujukan untuk orang2 ga mampu. apa parameter 'mampu' dan 'ga mampu'?

gw pikir berkutat di terminologi 'mampu' atau 'ga mampu' tuh ga nyentuh akar masalah sebenernya. itu cuma rembetan masalah yang kalo dibahas terus2an justru akan mempertajam masalah kesenjangan sosial.
gw berasumsi seperti di awal tadi, yaitu stok kurang dan subsidi dikurangi (karena terlalu mahal untuk stok uang negara) dipicu dari permintaan yang terlalu banyak.

untuk apa aja permintaan2 itu? jelas, industri. berikutnya karena pertumbuhan jumlah kendaraan motor yang melesat. ada kategori untuk industri kecil, menengah, besar. seharusnya ga ada masalah dengan pemberian kebijakan penggunaan bbm bagi ketiga kategori industri itu. yang jelas nyerempet orang banyak (dan sensitifitas status sosial) adalah masalah kendaraan bermotor.

jika permintaan bbm dari penggunaan kendaraan bermotor demikian tinggi, kenapa solusinya bukan dengan pembatasan penjualan kendaraan bermotor? kemacetan juga dipicu dari masalah ini. dengan membatasi penjualan kendaraan bermotor, permintaan bbm bisa ditahan untuk ga bertambah banyak lagi dan kemacetan bisa ditahan untuk ga nambah parah.

melesatnya penjualan kendaraan bermotor (khususnya motor) dipicu sama murahnya uang muka. apa ga bisa ada kebijakan yang ngatur besar uang muka untuk perusahaan2 penjual kendaraan bermotor?

setelah kendaraan bermotor mulai menurun peningkatan jumlahnya (bukan 'jumlah'nya, tapi 'peningkatan jumlah'nya), harusnya para pemangku kebijakan bisa bernafas sedikit lebih lega dan mulai ngurusin transportasi umum yang baik dan layak.

baik dan layak harus terkait dengan jumlahnya yang mencukupi kebutuhan para penggunanya (biar ga perlu maksa desak2an di dalemnya) dan rute yang menyelimuti semua titik (mungkin bisa diitung dari tempat mana pun selalu ada titik - mungkin halte atau stasiun - dalam radius paling jauh misalnya 500meter).

dengan demikian daripada capek nyetir sendiri ngelewatin macet dan ngeluarin duit utk beli bensin, orang2 akan mikir bahwa lebih enak naik kendaraan umum yang nyaman (sesuai kapasitas normal) dan tersedia dimana aja ga usah jauh2 nyari atau nunggu.

akhirnya jumlah permintaan bbm akan berkurang, subsidi bisa difokuskan untuk kendaraan umum - karena mayoritas orang akan menggunakan kendaraan umum - dan biar kendaraan pribadi menanggung bbm tanpa subsidi. dan kemacetan pun akan berkurang.

jadi bapak2 ibu2 yang (katanya) cukup bijak untuk bikin kebijakan dan sering nongol di tipi, ga usah permasalahin soal 'mampu' 'ga mampu', tapi beresin lah akar masalahnya: tutup kemungkinan adanya penambahan kendaraan bermotor (dengan pembatasan uang muka) dan perbaiki jumlah, kelayakan, cakupan (trayek) transportasi umum.

ini sekedar request dari seorang warga negara yang taat bayar pajak dan awam soal kebijakan2 dan beberapa saat lalu sering sumpek2an di kendaraan umum di tengah kemacetan karena terlalu banyak kendaraan dibanding luas jalan dan sekarang (setelah jauh dari ibukota (baik ibukota negara maupun ibukota propinsi)) bahkan susah untuk nyari kendaraan umum.

baca selengkapnya..






-------------------------------------------------------------------------------------