Tampilkan postingan dengan label sains. Tampilkan semua postingan
Tampilkan postingan dengan label sains. Tampilkan semua postingan

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..






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

petualangan bersama ADF dan JSF

Rabu, 22 Juni 2011


BUTUT (BUkan TUTorial).
entah bener entah salah, yang penting review dulu sebelom lupa :D

baru kenalan sama IDE Oracle JDev dan framework ADF.
jadi apa rupanya ADF itu? Application Development Framework. sebuah framework untuk mengembangkan aplikasi. aplikasi apa? yang lagi gw pelajarin sih pembuatan aplikasi enterprise, pake java ee. dimulai dari tampilan yang akan dilihat melalui web browser, dan berujung pada pengaksesan data di database.

ini adalah sebuah cerita melalui sudut pandang gw tentang sudut pandang ADF dalam mengembangkan sebuah aplikasi web.

di sebuah sisi yang gelap dan berbatu tersebut lah sebuah data di database, dia dikemas dalam sebuah model, boleh lah model ini kita sebut aja ApplicationModul (tidak mesti nama sebenarnya, tapi boleh aja. btw tadi 'model', sekarang 'modul'. bentar lagi 'modol' nih!). baiklah jika demikian, kita gunakan kesimpulan bahwa dia bernama 'ApplicationModol'.

sementara di sisi lain yang meriah dan menarik, yaitu sisi tampilan web browser ada sebuah halaman yang akan menampilkan tabel, atau form atau apa pun lah yang diharapkan dapat terhubung dengan data yang gelap di database. oke lah kita sepakatin aja, ada form untuk menginput data ke database.

yang jadi pertanyaan misterius, apa yang terjadi di antara mereka? siapa yang tega memisahkan (atau justru menyatukan??) mereka? sejauh yang gw perhatiin, gw curiga sebenernya ada pihak ketiga di antara mereka. boleh lah kita sebut dia DataBinding. memang luar biasa si DataBinding ini. gw curiga, sebenarnya dia lah otak dari kerangka kerja ADF.

---

di dalam DataBinding.cpx ada 'pageMap', yang tugasnya nge-list semua page yang akan dipake di dalem aplikasi, trus menyuruh sebuah 'usageId' untuk menyertai tiap halaman tersebut melalui salah satu divisinya, yaitu 'PageDefinitionUsage'. ada sebuah 'halamanPageDef' yang menumpang sama 'usageId' tadi.

berikut contoh kode yang ada di DataBinding.cpx:



kita (mungkin) bisa menganggap bahwa BC4JDataControl (atau kita singkat aja 'DataControl') adalah sebuah perwakilan dari ApplicationModol. dimana ApplicationModol (objek yang ada di dalam package ini.bukan.tutorial.applicationmodol.am) adalah integrasi dari objek entity dan objek view. objek entity adalah perwakilan dari objek (mungkin merujuk ke tabel) di database yang bisa digunakan dalam pengaksesan. sedangkan objek view adalah perwakilan dari field-field di tabel data.

---

sekarang dimana persisnya ada hubungan antara Halaman.jspx dengan class java? di atas tadi kita udah liat hubungan antara Halaman.jspx dengan HalamanPageDef.xml. nah ternyata class java (kita kasih nama aja Halaman.java) bisa berhubungannya sama HalamanPageDef.xml. hubungan ini diaturnya sama face-config.xml. apaan tuh face-config? ternyata itu adalah bantuan dari framework JSF (JavaServer Faces).

ada bagian 'managed-bean' yang fungsinya adalah ngehubungin HalamanPageDef.xml dengan Halaman.java, bagian ini bisa kita liat dari cuplikan kode di face-config.xml ini:



nah sampe sini, kita bisa bayangin tiap data dari input di Halaman.jsx akan dilarikan ke HalamanPageDef.xml oleh DataBinding.cpx. kemudian data itu diterusin sama si HalamanPageDef.xml ke Halaman.java untuk diproses lebih lanjut.

kemudian data dioper lagi ke DataControl di DataBinding.cpx (gw masih belom nemu gimana persisnya proses pelemparan data ini (gw curiganya ada koordinasi yang baik sekali antara JSF dengan ADF di bagian ini, tebakan gw melalui class ValueBinding dan/atau FacesContext (dari JSF) dengan class DCDataControl dan/atau BindingContainer (dari ADF)).

Kalau..
sekali lagi, kalau.. kerjasama antara JSF dan ADF tadi memang begitu adanya, maka kemungkinan besar DCDataControl lah yang akan meneruskan data ke objek entity ApplicationModol.



sampai di sini, data input dari Halaman.jspx di webbrowser udah sampe di ApplicationModol, dan siap diteruskan untuk meng-update database. sebelum transaksi dilakukan, terlebih dulu DataControl akan mengecek kesesuaian data yang masuk dengan data di database. misalnya, mungkin, apakah input sesuai dengan field yang ada di database, apakah semua field di database yang harus terisi sudah memiliki nilai inputnya masing2, dan seterusnya.

kalau udah oke, maka ApplicationModol yang akan melanjutkan amanah dari pengguna web browser itu untuk meng-update database.

---

sampe sini mungkin baik untuk kita inget lagi bahwa ApplicationModol terdiri dari object entity DAN object view. tadi object entity udah berperan, sekarang dimana peran object view? jangan2 makan gaji buta doang tuh mahluk??

tergantung. tergantung apakah si pengguna minta data di database untuk ditampilin di web browser atau ngga. biar ga magabut (makan gaji buta) akhirnya si pengguna minta data di database untuk ditampilin di webbrowser melalui HalamanLain.jspx.

di sini face-config berfungsi lagi. selain managed-bean, dia juga punya bagian navigation-rule yang tugasnya adalah membaca apa keinginan pengguna melalui sebuah variabel String dan kemudian menyiapkan HalamanLain.jspx untuk menampilkan sesuatu jika variabel String itu terpanggil.

ini cuplikannya dari face-config.xml:



ini artinya tiap ada nilai 'tambahData' disebut dari Halaman.jspx maka HalamanLain.jspx akan  ditampilkan setelahnya.

---

biasanya sih setelah nginput data, pengguna pengen liat keseluruhan data yang ada. maka tugasnya HalamanLain.jspx adalah untuk nampilin data dari database. tadi Halaman.jspx memiliki hubungan dengan DataBinding dan HalamanPageDef, dan begitu juga lah si HalamanLain.jspx. dia punya hubungan dengan HalamanLainPageDef.xml dan juga DataBinding.

tapi hubungan HalamanLainPageDef dengan DataControl di DataBinding.cpx adalah pada bagian view objectnya si ApplicationModol (HalamanPageDef berhubungannya sama object entity) karena tugasnya adalah menampilkan data.

skemanya kurang lebih sama dengan proses di awal tadi (input data), bedanya adalah jika pada saat input data, komponen yang ada di form pada Halaman.jspx menyampaikan data ke HalamanPageDef.xml, sedangkan pada penampilan data, komponen yang ada di tabel pada HalamanLain.jspx memanggil data dari HalamanLainPageDef yang akan memaksa HalamanLain.java untuk memanggil data dari DataBinding yang akan memerintahkan ApplicationModol untuk mengaktifkan object viewnya yang berisi query untuk memanggil data-data di database.

---



proses di atas kurang lebih disesuaikan dengan life cycle umum dari ADF:
1. initialiation
2. restore view
3. apply input request
4. update model value
5. validate model value
6. invoke application
7. render response

---

yang masih jadi pertanyaan adalah:
1. gimana persisnya hubungan class ValueBinding dan/atau FacesContext (dari JSF) dengan class DCDataControl dan/atau BindingContainer (dari ADF)?
2. bener ga sih semua yang gw tulis di atas? :D

baca selengkapnya..






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

antusiasme dan manajemen data

Sabtu, 18 Desember 2010
waktu yang tepat untuk rehat sebentar. orang-orang udah pada tidur. enak, sepi.

jadi di sini lah gw berada sekarang, di sebuah rumah kontrakan dengan 1 rumah utama dan 10 kamar. ngumpul bareng beberapa temen dengan ide dan cita-cita yang sama, nyoba ngembangin diri dalam sebuah grup, masih nyoba menghidupi diri dengan proyek lepas. dengan fasilitas seadanya, dengan kemampuan semampunya, dengan cita-cita dan kemauan belajar sebesar-besarnya. tercatat 12 orang udah bergabung, 2 kamar dan 1 rumah utama (kebagi jadi 4 bagian) udah terkontrak.

jadi di sini gw belajar jalan ke suatu tujuan tertentu, pada jarak tertentu dari tempat awal, nyoba membaginya dalam beberapa tahapan, yang kemudian dibagi lagi dalam satuan-satuan langkah kecil. tiap kesalahan atau keambiguan di suatu langkah bisa mengakibatkan kesalahan atau keambiguan pada langkah berikutnya. di sini juga gw belajar tentang memberi perintah, menjalankan perintah dan menampilkan hasil perintah. bahwa ternyata memberi, menjalankan dan menampilkan hasil perintah masing-masing punya tingkat kesulitannya sendiri-sendiri.

berulang-ulang terlintas di pikiran, bahwa dunia ini diciptakan bagi orang-orang yang memiliki antusiasme terhadap hal tertentu. antusiasme berawal dari minat. minat bisa berawal dari tuntutan atau dari keingintahuan. minat menghasilkan kemauan untuk belajar. kemauan untuk belajar menghasilkan kegiatan. kegiatan menghasilkan keahlian. dan dengan keahlian kita bisa mengambil peran.

ngomong-ngomong soal peran: ada peran, ada fasilitas, dan tentunya ada tipe akses yang dimiliki tiap peran itu terhadap fasilitas yang ada. tidak semua fasilitas bisa diakses dengan cara yang sama oleh semua peran. terima aja, emang gitu adanya. sama seperti admin yang memiliki akses tak terbatas atas data-data di sebuah instansi, melebihi akses yang dimiliki sama pimpinan proyek, pemilik proyek, dan pekerja proyek.

---
jadi sejauh ini gw tuh mau nulis apa? entah, blom kepikiran.. yang penting kejar setoran dulu untuk ngisi archive bulan desember.
---

gara-gara barusan nulis data, baru inget lagi bahwa beberapa minggu terakhir ini pikiran gw dipenuhin sama gimana caranya ngatur data-data sedemikian rupa biar gampang diaturnya. mulai dari masukin data, ngehapus data, ngerevisi data dan ngatur keterkaitan antar data. orang-orang bilang semua kegiatan tadi bisa dimasukin jadi 1 variabel namanya database. keterkaitan antar data, perubahan satu data bisa ngakibatin perubahan dari banyak data lainnya.

misalnya sebuah perusahaan: punya data keuangan, data karyawan, data proyek. dalam data keuangan ada data tiap karyawan (dan gaji2nya), data tiap proyek (pengeluaran dan pemasukannya, waktu pelaksanaannya). dalam data karyawan ada data nama, alamat, gaji dan ada juga data proyek (tiap karyawan terlibat di proyek apa aja, peran masing2 di proyek itu apa aja, dll). semua saling terkait, gimana cara ngerumusin keterkaitannya? gimana cara ngebagi perumusan itu jadi langkah-langkah kecil? gimana cara nyampein langkah-langkah kecil itu dalam barisan perintah? gimana cara ngecek/ngukur ketepatan hasil tiap perintah? gitu deh.

---
jadi ngelantur kemana-mana deh, lanjut aja lah.
---

jadi inget sama keteraturan singapur. dengan sebuah kartu, kita bisa ngakses kereta MRT, bis dan minimarket 711. cara nggunainnya kira-kira mirip sama pulsa hp. si kartu itu dibeli dengan harga tertentu dan berisi nilai tertentu (sama kaya beli pulsa), penggunaannya:

pas masuk stasiun MRT kartu itu kita tempelin di sebuah mesin (yang nyatet lokasi stasiun dan nyatet jumlah pulsa di kartu) trus tinggal naik aja ke keretanya, pas turun dan keluar stasiun kita nempelin lagi kartunya (yang nyatet dan mbandingin lokasi stasiun berangkat dan lokasi stasiun pas turun - kalo ga keluar stasiun berarti dianggepnya ga ada perpindahan, pulsa ga berkurang).

penggunaan lain pas naik bis, begitu naik bis kita nempelin kartu itu di sebuah mesin yang nyatet lokasi kita naik, dan pas turun kita nempelin lagi ke mesin lain yang nyatet lokasi kita turun, pengurangan pulsa bergantung jarak antara naik dan turun). contoh di 711 gw ga sempet nyobain, ke minimarket gituan paling utk beli rokok, tapi rokoknya mahal banget (pulsa di kartu gw selalu ga pernah cukup utk beli rokok).

---

nah lho, kira-kira gimana tuh sistem manajemen data transportasinya? gw kebayangnya gini:

tiap kartu punya data jumlah_pulsa. tiap stasiun MRT punya data nomer_ID_stasiun, data jarak antar stasiun dan method pengurangan_jumlah_pulsa . tiap bis 'terhubung' sama halte. tiap halte punya data nomer_ID_halte dan tiap ada bis dia 'ngirim' data ID itu ke mesin yang ada di bis. tiap bis punya method pengurangan_jumlah_pulsa. bentuk keterhubungannya bisa jadi ada sistem komunikasi bis-halte, bisa juga ada tombol di dalem bis yang meng-generate nomer_ID_halte berdasarkan urutan di databasenya.

tiap kartu juga punya tabel_sementara yang isinya nomer_ID_naik dan nomer_ID_turun. masing-masing nomer ID itu sifatnya sementara (cuma bertahan dalam tiap pasang naik-turun) selebihnya data di 2 tabel itu dihapus lagi. tiap bis juga punya tabel_sementara yang gunanya untuk penyimpanan sementara nomer_ID_halte. selama bis berenti di halte, data itu kesimpen dan 'dioper' ke tabel_sementara di tiap kartu yang ditempelin.

karena ada 2 mesin di bis, berarti 1 mesin tugasnya masukin nomer_ID_halte ke tabel nomer_ID_naik di kartu, dan 1 mesin lagi tugasnya masukin nomer_ID_halte ke tabel nomer_ID_turun dan langsung masukin parameter jumlah_pulsa,  nomer_ID_naik dan nomer_ID_turun itu ke sebuah method pengurangan_jumlah_pulsa yang memproses (mengkalikan jarak dengan satuan pengurangan) dan me-return nilai pengurangan jumlah pulsa untuk nggantiin data jumlah_pulsa di kartu. berikutnya mesin ini juga ngehapus data nomer_ID_naik dan nomer_ID_turun di kartu.

kalo di MRT, prosesnya mirip2 gitu juga, mungkin bedanya: tiap ada kartu yang ditempelin, mesin akan ngoper nomer_ID_stasiun dengan syarat: 'kalo tabel nomer_ID_naik kosong maka nomer_ID_stasiun dimasukin ke tabel nomer_ID_naik, jika tabel nomer_ID_naik berisi nilai tertentu maka nomer_ID_stasiun dimasukin ke tabel nomer_ID_turun' dan langsung masukin 2 nilai itu dan nilai jumlah_pulsa sebagai parameter di method pengurangan_jumlah_pulsa yang me-return nilai ke kartu untuk menggantikan data jumlah_pulsa. berikutnya mesin ini juga ngehapus data nomer_ID_naik dan nomer_ID_turun di kartu.

untuk yang 711, mungkin mesin di kasirnya masukin nilai jumlah_harga_barang dan data jumlah_pulsa ke method pengurangan_jumlah_pulsa dan kemudian me-return nilai hasilnya untuk nggantiin nilai jumlah_pulsa sebelumnya.

kalo mau dipilah-pilah properti dan aktivitas di tiap objek:

objek: kartu.
atribut: jumlah_pulsa, nilai temporary nomer_ID_naik dan nilai temporary nomer_ID_turun.

objek: mesin di stasiun MRT.
atribut: nomer_ID_stasiun.
method: pengurangan_jumlah_pulsa(jumlah_pulsa, nomer_ID_naik, nomer_ID_turun),  penghapusan_nilai_temporary(nomer_ID_naik, nomer_ID_turun).


objek: mesin di bis. 
atribut: nilai temporary nomer_ID_halte. 
method: pengurangan_jumlah_pulsa(jumlah_pulsa, nomer_ID_naik, nomer_ID_turun),  penghapusan_nilai_temporary(nomer_ID_naik, nomer_ID_turun).

objek: mesin kasir 711. 
atribut: nilai temporary jumlah_harga_barang.
method: pengurangan_jumlah_pulsa(jumlah_pulsa, jumlah_harga_barang),  penghapusan_nilai_temporary(nomer_ID_naik, nomer_ID_turun).

objek: mesin pengisi pulsa
atribut: nilai temporary jumlah_pengisian_pulsa.
method: pengisian_pulsa(jumlah_pulsa, jumlah_pengisian_pulsa),  penghapusan_nilai_temporary(jumlah_pengisian_pulsa).

---

kapan ya indonesia (khususnya bandung) bisa make skema se-sistematis itu (atau lebih baik lagi) untuk sistem transportasinya, gw mau lah jadi bagian yang ngerjain sistem manajemen datanya.

baca selengkapnya..






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

papir automata gas kisi

Selasa, 10 Agustus 2010
Bayangin partikel kecil, misalkan partikel itu adalah partikel pembentuk air yang berada di dalam sebuah pipa panjang. Trus air ini akan dialirkan horizontal dari kiri ke kanan di dalam pipa. Gerakan aliran air yang biasa kita liat bisa disimulasiin dengan mengasumsikan bahwa gerakan makro (seperti yang biasa kita liat) dipengaruhi oleh gerakan mikro partikel-partikel penyusunnya. Trus sudut pandang ini antara lain diperkuat dengan simulasi komputer.

teori-teori tentang mekanika fluida dihubungkan dengan teori-teori termodinamik dan statistik. dengan pertimbangan-pertimbangan bahwa gerakan partikel, yang dianggap bersifat ideal dan dapat dijelaskan dengan beberapa teori partikel termodinamika (yang penjelasannya jelas pake statistik), akan mempengaruhi gerakan air secara umum yang penjelasannya pake teori mekanika.

Itu teorinya. untuk bagian komputasinya dipake metode, salah satunya sebut aja lattice gas automata atau automata gas kisi. Menurut model gas kisi, sesuai fisika statistik, partikel akan ngisi ruang-ruang siklik yang ada di media, dalam hal ini air. Dalam komputasinya, dibuat kisi-kisi yang berisi ruang kosong yang bisa keisi partikel, kisi-kisi ini disimulasiin sama kondisi-kondisi yang ngisi pixel komputer.

Trus ada partikel bermuatan yang ngisi ruang kosong itu, yang pada kondisi setimbangnya terdistribusi sesuai sama distribusi fermi-dirac. Dalam komputasinya kita buat ada partikel (pixel di komputer) yang memiliki momentum (kita kasih kondisi khusus untuk nyatain momentum) yang punya kemungkinan 6 arah, dan jumlah rata-rata resultan momentum di tiap waktu di program ini akan mengikuti distribusi fermi-dirac. Menurut teori termodinamika, sifat air tuh isotropis soalnya kemungkinan untuk gerak ke segala arah tuh sama besar, untuk model ini sifat isotropis bisa didekati dengan ngasih masing-masing arah momentum di titik kisi dinyatakan berjarak 60o satu sama lain.




oke, di atas tadi tuh syarat-syarat yang diambil dari termo dan fistat. Sekarang kita udah punya kisi dan partikel, kita lanjutin dengan naro partikel acak ngisi tiap titik kisi (ruang kosong yang bisa diisi partikel) dengan rata-rata kerapatan partikel (jumlah partikel di tiap titik kisi) sebesar 2,4 (“air biasanya segini.”, ceuk bu nurul mah). Ini dilakukan dengan memberi kondisi pada pixel komputer yang sebelomnya dinyatain sebagai titik kisi. Jumlah partikel bisa dinyatain dengan ngasih kondisi ‘momentum arah berapa aja yang ada di titik kisi tersebut’ di pixel komputer.

Udah deh.

Sampai sini, kalo ada yang ngantuk silakan cuci muka dulu, kalo ada yang bosen silakan minggat, kalo ada yang bau silakan mandi. Seduh kopi, nyalain rokok, zikir, stop zikir, tutup mata, teken ujung mata yg deket idung pake jempol dan telunjuk agak kuat, bayangin ada titik cahaya kecil di depan mata kalian lalu bayangin lagi kalian dengan penuh keteguhan hati ngomong “saya akan tabah!” trus si cahaya itu makin besar dan makin silau, abis itu segera lepasin tekanan di ujung mata dan langsung buka mata kalian, tarik nafas dalem trus keluarin perlahan sambil nunggu mata menjernihkan dirinya maksimal.

Lanjut lagi.

Tadi gw sempet denger ada pertanyaan “oi! automatanya mana? katanya ini automata gas kisi?!”. Itu pertanyaan yang bagus sekali, nah kita lanjutin ya. tadi kan udah ada tuh gas dan kisinya, sekarang kita masuk ke automatanya nih.

Partikel yang ada di titik kisi akan gerak sesuai momentum yang dia punya sebelomnya. Beliau geraknya dari titik kisi awal ke satu titik kisi terdekatnya yang berada di arah momentumnya.

Di sini kita masuk ke metode cellular automata. Konsep umumnya metode ini tuh self-organizing. Jadi kita bikin aturan-aturan atau syarat-syarat biar si program yang kita bikin ini bisa ngatur dirinya sendiri sesuai syarat yang kita kasih. gile, ini sistem manajemen modern banget ga sih? ‘Otonomi’ ge jiga kitu pan nya.

Yah kita semua tau bahwa tiap gerakan pasti butuh waktu. Waktu. Nah, berarti kalo kita mau bikin program yang ngatur dirinya sendiri, kita mesti ngasih mereka acuan waktu. Acuan waktu ini nantinya kita nyatain sebagai berapa kali program harus looping. Tiap nambah waktu (time step) partikel akan gerak ke satu kisi terdekatnya sesuai arah momentumnya. Pas penambahan waktu berikutnya juga kaya gitu, dan seterusnya.
Bayangin 2 titik kisi yang bertetanggaan. Titik kisi A dan titik kisi B. di titik kisi A ada partikel ke arah titik kisi B, dan sebaliknya. Apa yang akan terjadi kalo jalan cuma muat untuk dilewatin 1 partikel? Tabrakan. Berarti mesti kita buat nih aturan tabrakannya mereka, jadi ntar pas programnya dijalanin mereka udah ngerti buat njalanin aturannya secara otomatis.

Aturan ini pake mekanika, tumbukan 2 atau 3 massa sejenis. Kita terapin kekekalan momentum untuk nyatain kondisi di tiap titik kisi. dibuat perubahan arah momentum yang memenuhi aturan kekekalan momentum, berarti kasih kondisi-kondisi sebagai syarat yang mesti dipenuhi sama program ini. Syarat pertama kalo partikel ada 3, maka arah kecepatan diubah ke arah yang tidak ada sebelomnya. Syarat kedua kalo partikel ada 2, maka arah kecepatan diputer dengan kemungkinan clockwise atau counterclockwise dari arah momentum awalnya.

Berarti ada syarat lagi tuh di dalem syarat kedua (kita simbolin aja syarat’). pada syarat’ itu kita buat bilangan random antara 0 sampe 1. Syarat’ pertama kalo bilangan random kurang dari 0.5 maka puter clockwise, syarat’ kedua kalo sebaliknya maka puter counterclockwise. Syarat-syarat tadi dilakukan dengan syarat jumlah time step ga melebihi yang kita kasih di input.

Sekarang semua partikel di dalam titik kisi udah bisa saling berinteraksi satu sama lain selama input time step. Berinteraksi suka-suka mereka lah selama waktu hidup masih ada, bebas bertingkah sesuai aturan sesama mereka. “oi! tapi mereka juga mesti tau batesan dong, mereka tuh di dalem pipa maka bertingkah lah seperti di dalem pipa!”. Bener banget nih! Kita harus memberi persyaratan untuk partikel-partikel itu biar mereka bertingkah seperti di dalem pipa.

Kita buat lah syarat-syarat bagi semua titik kisi yang ada di tepi atas dan bawah (kalo diliat 2 dimensi) biar partikel-partikel itu mantul balik tiap ada di sebelah tepi. jika arah momentum menabrak tepi maka arahnya diubah sebaliknya, sesuai teori mekanika tentang pemantulan.

Sekarang partikel-partikel itu udah tau diri untuk bertingkah seperti di dalem pipa sesuai metode automata gas kisi.

berikutnya kita mesti bikin aturan untuk nyatain aliran. Air ngalirnya dari kiri ke kanan, berarti tekanan di sisi kiri lebih besar dari di sisi kanan. Menurut mekanika fluida, tekanan juga bisa diliat sebagai gradien momentum (perubahan momentum di tiap posisi) tiap satuan waktu.

Ningkatin tekanan di sisi kiri berarti ningkatin besar vektor momentum ke arah kanan. Di program kita tentuin untuk tiap titik kisi di sisi kiri resolusi, untuk titik kisi yang ga diisi momentum arah 6. ada momentum arah 1 dan ngga ada momentum arah 6 maka momentum arah 1 diubah jadi arah 6. Syarat kedua kalo ngga ada momentum arah 1 dan ada momentum arah 5 maka momentum arah 5 diubah jadi arah 6.

Udah deh.

Aahhh sampe sini kalo ada yang ngantuk silakan cuci muka, kalo udah bangun setelah tidur barusan silakan seduh kopi, nyalain rokok, ngeunahkeun wae lah meh santay. Ngembang-ngembangin idung, naik turunin alis, lirikin mata kanan kiri, trus tutup mata. teken ujung mata yg deket idung pake jempol dan telunjuk agak kuat, bayangin ada titik cahaya kecil di depan mata kalian lalu bayangin lagi kalian dengan penuh keteguhan hati ngomong “jalan makin terbentang!” trus si cahaya itu makin besar dan makin silau, abis itu segera lepasin tekanan di ujung mata dan langsung buka mata kalian, tarik nafas dalem trus keluarin perlahan sambil nunggu mata menjernihkan dirinya maksimal.
Lanjut lagi.

sekarang simulasi udah bisa jalan selama time step yang kita tentuin. Mesti kita cek dulu nih, bener ngga simulasinya udah bener. Kita liat besaran-besaran yang bisa kita dapetin dari program simulasi. Ada posisi, ada momentum.

Kita mesti bandingin besaran-besaran itu sama besaran yang ada di teori mekanika fluida sebagai syarat yang harus dipenuhi untuk dianggap benar. Di mekanika fluida ada posisi, ada gaya. Emang mekanika nih suka gitu, mungkin mottonya “kalo gw dapet posisi, gw bisa gaya”.

Tadi sempet ditulis dikit tentang hubungan momentum sama tekanan. Dan tekanan tuh gaya di luasan tertentu. Jadi kita bisa dapet tuh perbandingan momentum dari program sama dari analitik.

Dari program kita bisa itung berapa jumlah rata-rata momentum di tiap time step. Trus kita liat grafiknya, bandingin sama teori, seharusnya grafik berbentuk seperti distribusi fermi-dirac. kira-kira kaya gini:






Berikutnya kalo kita liat momentum dengan komponen vektor horisontalnya aja, grafik kecepatan terhadap ruang vertikal seharusnya berbentuk parabola. kira-kira kaya gini:






Dengan mbandingin beberapa nilai antara grafik teori dengan grafik simulasi, kita bisa dapet nilai erornya. Sampe 5% masih bisa ditolerir lah ya (bu nurul, tolong ijinkanlah. please, ini syarat untuk kelulusan).


eh lupa, gambar hasil simulasinya kira-kira begini:


hasil run 500 time step


Kesimpulannya mestinya simpel aja lah, bahwa metode lattice gas automata bisa dipake untuk njelasin dan mensimulasiin laju aliran fluida, dalam hal ini air. kesimpulan berikutnya adalah bahwa banyak sekali syarat yang harus diberikan pada partikel agar dia bisa mengorganisir sendiri kehidupannya sebagaimana seharusnya hehehe.

pasti ada lah kurangnya metode ini, antara lain dia ga bisa dipake untuk mensimulasiin aliran fluida tertentu karena  fluida bisa dibedain dengan ngeliat viskositasnya. Dan dengan metode ini, viskositas baru bisa diperoleh pada analisa hasil simulasi, bukan sebagai input. 

baca selengkapnya..






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

mengacak sebagian nilai di dalam matriks

Rabu, 09 Juni 2010
gw bikin matriks kaya gini (pake MATLAB 2009a)

nodes = zeros(20,20,6);
for i = 1:2:20
for j = 1:3:10
n(i,j) = nodes(i,j);
n(i,j) = 1;
end
end

trus sekarang gw pengen ngasih keterangan tambahan jumlah partikel di tiap isi matriks yang bernilai 1.

jumlahpartikel = nonzeros(n);
for k = 1:15
jumlahpartikel(k) = 3;
for l = 16:30
jumlahpartikel(l) = 2;
for o = 31:40
jumlahpartikel(o) = 1;
end
end
end

nah, sekarang gw masukin nilai2 jumlah partikel itu ke dalam matriks awal
k = 1;
for i = 1:2:20
for j = 1:3:10
npart(i,j) = jumlahpartikel(k);
k = k+1;
end
end

posisi jumlah partikel di dalem matriksnya masih rapi. sekarang gw mau ngacak jumlah partikel di matriks tersebut (cuma ngacak yang bernilai tidak nol).

randomjumlahpartikel = zeros(40,1);
for z = 1:40
y = randperm(z);
randomjumlahpartikel = jumlahpartikel(y);
end


trus keacakan distribusi partikel ini gw masukin lagi ke matriks, dengan nama matriks density.

k = 1;
for i = 1:2:20
for j = 1:3:10
density(i,j) = randomjumlahpartikel(k);
k = k+1;
end
end


kita liat di matriks n nilainya antara 1 dan 0. trus setelah dimasukin nilai jumlah partikel di tiap isi matriks yang bernilai 1, hasilnya ditunjukin di matriks npart. abis itu si jumlah partikel (yang tidak nol) di matriks npart diacak dan hasilnya adalah matriks density.

untuk matriks 20x10 di atas, prosesnya cepet banget. begitu gw run ga nyampe 1 detik kemudian hasilnya udah keluar.

ternyata masalah muncul saat gw melakukan proses serupa untuk matriks 640x480. kemaren sore (sekitar jam17.30) gw run, dan siang ini (sekitar jam14.20) ternyata proses jumlahpartikel baru jalan 1/8836-nya. gila.

pertanyaannya: gimana cara mengefisienkan proses tersebut?

baca selengkapnya..






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

berikan emosimu

Rabu, 21 April 2010

Mau menghasilkan energi besar di bidang tertentu?

E = F.S

Berikan bidang itu gaya yang besar, sampai ada perubahan jarak tertentu.

F = ma -> F = m(v/t) -> F = p/t ; p = momentum.

Gaya didapet dari besarnya momentum di tiap waktu. Dan momentum dipengaruhi oleh massa dan kecepatan.

Ini berarti untuk menghasilkan suatu bidang mendapat energi yang besar, dibutuhkan subyek yang bermassa (atau berbobot) yang bergerak dengan kecepatan tinggi ke arah bidang tersebut.

Jika ngerasa tidak bermassa, gesit lah dalam bertindak agar nilai kecepatannya makin tinggi.

Jika ngerasa bermassa, berusaha lah bergerak lebih cepat lagi agar besar gaya dapat meningkat.

----

Lalu apa itu massa?

E = mc^2

Massa adalah energi, energi adalah massa. Keduanya sebanding, dengan konstanta pembandingnya adalah kuadrat dari kecepatan cahaya.

Massa kita adalah energi. Energi yang dihasilkan dari proses2 di dalam diri. Anggeplah ada partikel di dalam diri, kita anggep partikel itu adalah pikiran kita. 1 pikiran sebagai 1 partikel.

Gimana cara bikin diri kita berenergi (bermassa) tinggi?

Hukum III termodinamika bilang makin tinggi suhu (berarti tinggi energinya) berarti makin tinggi entropinya. Entropi akan meningkat kalo berada di sistem tertutup, dimana akan terjadi perubahan panas akibat lingkungan, tetapi tidak ada pertukaran partikel dengan lingkungan.

Emosi dari luar diri kita akan mempengaruhi emosi kita tetapi pendapat orang lain tersaring sesuai dengan pikiran dan tujuan kita sendiri -> sistem tertutup. Ini akibatnya adalah entropi pikiran kita akan meningkat. Entropi meningkat berarti energi meningkat. Berarti pada kondisi ini, seseorang jadi lebih berenergi (bermassa).

Yah dari sini berarti bisa disimpulin bahwa orang yang lagi emosi cenderung meningkat energinya (massanya) sehingga bisa ngehasilin energi yang lebih besar lagi, bergantung seberapa cepat dia dapat bergerak dan seberapa tepat arahnya menuju sasaran.

----

Berikan emosimu pada bidang yang lagi kamu kerjain. Maka dirimu semakin bermassa. Lalu bergeraklah dengan cepat ke arah bidang itu. Maka bidang itu akan menerima energi yang sangat besar dari dirimu.


baca selengkapnya..






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

wind flow simulation - lattice gas automata 1

Senin, 22 Maret 2010
ni urutan kegiatan gw di pengerjaan tugas akhir, pake program matlab.

1. bikin lattice dan boundary condition.
2. bikin kondisi partikel pada lattice.
3. bikin aturan jika partikel numbuk boundary
4. bikin obstacle (lingkaran atau garis - untuk verifikasi).
5. bikin aturan jika partikel numbuk obstacle
6. bikin aturan jika partikel numbuk partikel
7. verifikasi
8. masukin gambar ke lattice
9. jadiin gambar sebagai obstacle
10. verifikasi kuantitas fisis

yg pertama:
bikin lattice dan boundary. gw bayangin bahwa gw akan make resolusi komputer sebanyak 640 x 320 pixel. satu pixel kita bayangin aja 1 titik. nah dari sekumpulan titik-titik itu gw pilih sebagian untuk dijadiin lattice. gw bayangin lagi titik2 terpilih itu ada di semua kordinat x = 1, 9, 17, ..., 637 dan semua koordinat y = 1, 9, 17, ..., 313. jadi antar titik punya jarak masing2 8 pixel horisontal dan 8 pixel vertikal.

kalo mau nandain, bikin aja semua titik2 terpilih itu bernilai "1" dan titik2 lainnya bernilai "0".

untuk bikin boundary condition, kita tandain dulu semua titik di bagian atas dan bagian bawah pixel, berarti di semua nilai x untuk y maksimal ( = 320 ) dan y minimal ( = 1 ). semua titik2 dalam syarat ini diganti aja kondisinya, bikin jadi pake tanda - . ntar jadinya ada garis horisontal di atas dan di bawah lattice.

berikutnya gw mau bikin partikel dan kondisinya yang ada di lattice. nyatain partikel tuh ada di dalam tiap titik lattice, dengan kemungkinan 6 kondisi yang dimilikinya. 6 kondisi itu adalah 6 arah kecepatannya. dengan semua arah tersebut seperti membentuk bidang segienam sama sisi, dengan arah 1 mengarah ke sudut kanan atas segienam, dan arah 2 mengarah ke sudut kiri atas segienam, dan arah berikutnya sesuai rotasi berlawanan arah jarum jam.

untuk kondisi awal, bikin aja semua partikel memiliki arah 6, yaitu horisontal ke arah sumbu x positif.

berikutnya gw bikin pergerakan partikel di dalam lattice. gw bikin aturannya dengan gambaran bahwa partikel gerak di semua titik di dalem resolusi komputer yg gw pake, bukan cuma yang ada di dalam lattice. yg titik latticenya ntar dipake buat ngitung vektor kecepatan rata2nya aja. nah pergerakan partikel arah 1 dinyatain dengan mindahin partikel ke titik pixel di kanan atasnya. kalo ada di y maksimal, berarti partikel pindah ke x+1 dan kembali ke y minimum (ini pake syarat batas siklik). pola aturan ini bisa diterapkan untuk semua partikel di titik2 syarat batas.

setelah itu gw nyatain dengan iterasi bahwa si 'tetangga' yang bisa dikunjungin sama partikel sebagai kondisi partikel yang baru.

sampe sini gw coba untuk nampilin hasilnya dulu. jadi gw itung dulu jumlah partikel di tiap titik lattice tiap arah. trus gw itung kecepatan rata2 partikel di tiap titik lattice (selama jumlah timestep) dengan perbandingan besarnya sebagai vektor di sumbu x-y. masukin besar acuannya, untuk kondisi maksimal besar vektor kecepatannya adalah 1. nanti biar matlab yang ngitung perbandingan besar vektor kecepatan rata2 berdasarkan kondisi partikel di dalam lattice.

hasilnya ditampilin dalam koordinat kartesian x-y dengan gambar panah yang menunjukkan vektor kecepatan di tiap titik yang dinyatain sebagai lattice.

sekarang gw mau coba gimana kalo partikel nabrak boundary, trus bikin obstacle dan kondisi partikel setelah ada obstacle. gw masih belom nemu nih caranya.. kira2 gimana caranya ya??

"the answer, my friend, is blowing in the wind." - bob dylan -


... bersambung

baca selengkapnya..






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

siklus, energi dan entropi

Selasa, 02 Februari 2010
setelah sekian lama keliling dan melolong ke seluruh penjuru dunia, tampaknya sekarang saat yang tepat untuk balik ke hutan lagi. duduk di tengah hutan, di tepian sungai sambil nyelupin kaki ke air yang ngalir, ngerasain partikel angin yang semilir berhembus bersandar pada sejumlah besar kisi segi enam, mandangin hijau-hijauan yang bersenda gurau satu sama lain, mbayangin bahwa kehidupan sesungguhnya berjalan diskrit jika didekati tanpa unsur emosi, bahwa keserbamungkinan yang disediakan oleh sang pencipta dapat didekati dengan melihat energi yang terkandung di dalam sistem tertentu itu, bahwa hutan hijau ini memiliki sifat tertentu yang harus dipertimbangkan jika ingin mengubah aspek fungsionalnya demi kepentingan lain yang katanya demi kemajuan dan teknologi, dan bahwa teknologi erat kaitannya dengan material dan sifat-sifatnya terutama yang berkaitan dengan kelistrikannya..

yah, di hutan ini aku hanya mengamati dan membayangkan bagaimana alam ini bekerja. aku sendirian dalam hutan ini, dan oleh karenanya otakku leluasa untuk bergerak bebas.

mbayangin lagi waktu-waktu yang udah terlewati kemarin, selama masa distraksi, seketika aku mbayangin keterkaitan antara motif sistem dengan tingkat kekacauan yang akan dihasilkannya. sesuai bunyi hukum 2 termodinamika yang menyatakan bahwa pada suatu sistem terisolasi entropi (kekacauan) nya akan meningkat mendekati maksimum, yang konsisten dengan hukum pertamanya yang menyatakan bahwa energi yang dimiliki sistem tersebut adalah penjumlahan dari semua energi yang dimasukkan ke dalamnya dengan kerja yang dilakukan kepada sistem itu.

kita artiin 'sistem terisolasi' sebagai sistem yang memiliki energi, dapat menerima energi dari luar, dan tidak melepaskan energi ke lingkungannya.

----------

sekarang kita misalkan sistemnya adalah diri sendiri dan kita andaikan pikiran sebagai partikel yang menyusun keberadaan diri. diri kita adalah bagian kecil dari lingkungan kita (anggaplah lingkungan sosial). terjadi berbagai hal di lingkungan kita maka secara otomatis kita menerima energi (bisa berupa informasi atau emosi). energi itu masuk ke dalam diri kita sehingga energi (informasi atau emosi) dalam diri kita bertambah dan secara alamiah pikiran kita akan bekerja terus menerus sesuai kandungan energi yang dimilikinya.

jika kita menempatkan diri kita sebagai sistem yang terisolasi, bisa kita bayangin pikiran dan emosi yang terus menerus berproses dan bergolak dan berkutat di dalam sistem saja (seputar diri sendiri) lama kelamaan akan menghasilkan entropi (kekacauan) yang makin lama makin tinggi.

apa yang bisa terjadi kemudian?

kita tau energi ga bisa dibuat dan ga bisa dihilangkan. energi akan ngalamin perubahan bentuk. sekarang kita bayangin balon. kalo bagian dalemnya diisi energi tertentu (ga ada energi yang keluar dari balon) lama-lama energi itu akan berubah jadi panas yang akan bikin balon ngembang sampe ukuran maksimalnya dan ikatan pembentuknya ga sanggup untuk nahan tekanan panas sehingga meledaklah balon itu.

diri kita juga punya toleransi tertentu terhadap tekanan. diri kita cukup fleksibel sampai batas toleransi tersebut. dan jika batas toleransi itu terlewati, jangan salahkan alam jika diri kita akhirnya meledak kaya balon tadi.

kasihlah energi kita ke lingkungan. pastikan tiap input energi yang masuk ke dalam sistem diri kita diolah secukupnya dan ada output kembali ke lingkungan kita. biarkan tiap perpindahan energi memiliki sirkulasi yang baik. kita terima informasi atau emosi dari lingkungan, kita olah, dan kita berikan lagi informasi atau emosi ke lingkungan.

--------

dengan konsep yang sama, kita bisa bayangkan hal serupa jika 'sistem'nya adalah organisasi dan 'lingkungan'nya adalah kondisi luar yang menaungi organisasi itu. dan 'partikel' penyusun sistemnya adalah tiap individu di dalam organisasi itu.

atau jika 'sistem'nya adalah kekerabatan, 'lingkungan'nya adalah kondisi sosial, yang lebih luas, yang melingkupi kekerabatan itu. dan 'partikel'nya adalah tiap individu di dalam kekerabatan itu.

atau jika 'sistem'nya adalah negara, 'lingkungan'nya adalah dunia. dan 'partikel'nya adalah semua manusia yang hidup di dalam negara itu.

--------

lingkungan memberi energi ke dalam sistem. energi tersebut menggerakkan partikel dalam sistem. jika energi ga dikeluarkan maka akan mengacaukan partikel sehingga membuat sistem jadi panas dan meningkatkan tekanan dalam sistem. jika energi dikeluarkan dengan baik maka tingkat entropi dapat terkontrol dan kemudian bisa disesuaikan untuk tujuan tertentu dengan baik.

--------

gimana contoh ngelepas energi ke lingkungan? gw coba jawab dengan menggeneralisir perkataan john f kennedy:

" jangan tanyakan apa yang bisa sistem terima dari lingkungannya, tapi tanyakan apa yang bisa sistem lakukan bagi lingkungannya "

dan dengan mengingat bahwa sistem ditentukan oleh partikel dan kandungan energi yang dimiliki oleh partikelnya.

baca selengkapnya..






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