Saturday, January 31, 2009

Ingin Cantik

Di salah satu lereng gunung Kampud yang oleh banyak orang disebut juga gunung Kelud, terdapatlah sebuah air terjun yang di bawahnya terbentuk sendang dengan pemandangan yang sungguh sangat indah dan mempesona. Konon, di sendang itu sering nampak bidadari dari langit turun ke bumi untuk mandi, terutama pada bulan purnama. Dahulu di sekitar sendang terdapat banyak sekali angsa, sehingga air terjun itu disebut juga air terjun seribu angsa. Berdasarkan dongen yang beredar di tengah masyarakat, menyebutkan bahwa barang siapa yang sanggup mandi di sendang dengan terjun terlebih dahulu dari atas lereng gunung maka dia akan cantik (jika wanita) atau tampan (jika pria) sesuai dengan kecantikan atau ketampanan yang didambakannya. Syaratnya adalah saat terjun sambil membayangkan dan berteriak menyebut nama seseorang atau idolanya. Dongen itu ternyata menarik perhatian tiga orang gadis yang ingin segera membuktikannya, karena mereka berharap ingin memiliki wajah cantik sebagaimana idolanya.

Suatu ketika mereka bertiga pergi berkunjung ke sendang gunung Kampud. Saat tiba di salah satu sudut sendang, mereka langsung mendaki ke atas lereng untuk melakukan terjun bebas. Ketika sampai pada suatu lokasi penerjunan yang memadai, mereka berunding terlebih dahulu untuk menentukan giliran penerjunan.

Gadis pertama sudah ambil ancang-ancang dengan mengambil jarak sekitar sepuluh meter dari bibir tebing agar lompatanya bisa tepat ke tengah sendang, atau setidaknya saat jatuh berada pada kedalaman yang cukup. Gadis pertama memiliki perangai yang periang dan pemberani. Oleh karenanya, saat teman-temannya gamang untuk terjun dahulu, dia justru memutuskan untuk memberikan contoh yang pertama. Sambil ancang-ancang, gadis pertama membayangkan wajah artis pujaannya. Begitu konsentrasi sudah dirasa cukup, maka dengan lari kencang lalu terjuan bebas sambil berteriak “Maddoonaaaaaaaa!”, “Byuuuurrrrrrrrrrr!”. Dan seketika dari dalam air, di tengah buih yang ditimbulkan, gadis itu muncul dengan wajah baru seperti artis idolanya, Madona. Kedua temannya yang turut menyaksikan kejadian tersebut dari atas tebing bersorak gembira, yang mengakibatkan keduanya sudah tidak sabar lagi untuk terjun.

Kini giliran gadis kedua yang sudah mulai ambil ancang-ancang. Gadis kedua itu meskipun sedikit pemalu, tetapi memiliki keberanian yang luar biasa meski tak seperti gadis yang pertama. Saat konsentrasi sudah dirasa cukup, dan tentu harus sambil membayangkan dan menyebut nama idolanya, dia berlari kencang lalu terjun sambil berteriak “Sandra Dewiiiiiiiiii!”, “Byuuuurrrrrrrrrrr!”. Tidak seberapa lama dari dalam air, di tengah buih yang ditimbulkan, gadis kedua muncul dengan wajah seperti Sandra Dewi.

Kedua temannya, baik yang berada di bawah maupun yang di atas bersorak turut gembira. Dengan terpenuhinya keinginan kedua temannya, membuat optimisme gadis ketiga melonjak naik hingga ke ujung atas ubun-ubun. Gadis yang ketiga ini terhitung suka latah dan penakut, maka saat tertinggal sendiri di atas dengan keadaan yang sunyi itu, menjadikan konsentrasinya terganggu. Sebelum berlari, masih sempat tengak-tengok kanan kiri seolah pohon yang rindang itu menjelma menjadi suatu wujud yang mengerikan. Akan tetapi, tekad sudah bulat, dia harus segera berlari dan terjun agar keinginanya tercapai juga. Saat berlari kencang dengan konsentrasi yang terganggu, dia tidak menyadari bahwa tidak jauh dari bibir tebing terdapat sebuah batu yang jika tidak hati-hati maka akibatnya bisa celaka. Dan ternyata benar, gadis ketiga itu karena terganggunya konsentrasi dan sifatnya yang latah, dia tersandung batu itu sambil berteriak spontan “Monnyyeeeeetttttt!”, lalu terjatuh dan terpelantinglah dia ke sendang dengan posisi tidak beraturan, “Byuuuurrrrrrrrrrr!”. Tak lama kemudian, muncullah seekor monyet dari dalam air.
Lesson learn :
  • Gunakanlah akal sehat dalam menghadapi segala situasi, dan yang terpenting lagi, bersyukurlah atas segala karunia yang telah Tuhan berikan.

Tuesday, December 23, 2008

Tiga Karung Beras

Sumber : dari sebuah milis
Sebuah penghormatan terhadap kaum perempuan, terutama seorang Ibu.
Ini adalah makanan yang tidak bisa dibeli dengan uang. Kisah ini adalah kisah nyata sebuah keluarga yang sangat miskin, yang memiliki seorang anak laki-laki. Ayahnya sudah meninggal dunia, tinggalah ibu dan anak laki-lakinya untuk saling menopang.Ibunya bersusah payah seorang membesarkan anaknya, saat itu kampung tersebut belum memiliki listrik. Saat membaca buku, sang anak tersebut diterangi sinar lampu minyak, sedangkan ibunya dengan penuh kasih menjahitkan baju untuk sang anak.Saat memasuki musim gugur, sang anak memasuki sekolah menengah atas. Tetapi justru saat itulah ibunya menderita penyakit rematik yang parah sehingga tidak bisa lagi bekerja disawah. Saat itu setiap bulannya murid-murid diharuskan membawa tiga puluh kg beras untuk dibawa kekantin sekolah. Sang anak mengerti bahwa ibuya tidak mungkin bisa memberikan tiga puluh kg beras tersebut. Dan kemudian berkata kepada ibunya: " Ma, saya mau berhenti sekolah dan membantu mama bekerja disawah". Ibunya mengelus kepala anaknya dan berkata : "Kamu memiliki niat seperti itu mama sudah senang sekali tetapi kamu harus tetap sekolah. Jangan khawatir, kalau mama sudah melahirkan kamu, pasti bisa merawat dan menjaga kamu. Cepatlah pergi daftarkan kesekolah nanti berasnya mama yang akan bawa kesana".Karena sang anak tetap bersikeras tidak mau mendaftarkan kesekolah, mamanya menampar sang anak tersebut. Dan ini adalah pertama kalinya sang anak ini dipukul oleh mamanya.Sang anak akhirnya pergi juga kesekolah. Sang ibunya terus berpikir dan merenung dalam hati sambil melihat bayangan anaknya yang pergi menjauh.Tak berapa lama, dengan terpincang-pincang dan nafas tergesa-gesa Ibunya datang kekantin sekolah dan menurunkan sekantong beras dari bahunya.pengawas yang bertanggung jawab menimbang beras dan membuka kantongnya dan mengambil segenggam beras lalu menimbangnya dan berkata : " Kalian para wali murid selalu suka mengambil keuntungan kecil, kalian lihat, disini isinya campuran beras dan gabah. Jadi kalian kira kantin saya ini tempat penampungan beras campuran". Sang ibu ini pun malu dan berkali-kali meminta maaf kepada ibu pengawas tersebut.Awal Bulan berikutnya ibu memikul sekantong beras dan masuk kedalam kantin. Ibu pengawas seperti biasanya mengambil sekantong beras dari kantong tersebut dan melihat. Masih dengan alis yang mengerut dan berkata: "Masih dengan beras yang sama". Pengawas itupun berpikir, apakah kemarin itu dia belum berpesan dengan Ibu ini dan kemudian berkata : "Tak perduli beras apapun yang Ibu berikan kami akan terima tapi jenisnya harus dipisah jangan dicampur bersama, kalau tidak maka beras yang dimasak tidak bisa matang sempurna. Selanjutnya kalau begini lagi, maka saya tidak bisa menerimanya". Sang ibu sedikit takut dan berkata : "Ibu pengawas, beras dirumah kami semuanya seperti ini jadi bagaimana? Pengawas itu pun tidak mau tahu dan berkata : "Ibu punya berapa hektar tanah sehingga bisa menanam bermacam- macam jenis beras". Menerima pertanyaan seperti itu sang ibu tersebut akhirnya tidak berani berkata apa-apa lagi.Awal bulan ketiga, sang ibu datang kembali kesekolah. Sang pengawas kembali marah besar dengan kata-kata kasar dan berkata: "Kamu sebagai mama kenapa begitu keras kepala, kenapa masih tetap membawa beras yang sama. Bawa pulang saja berasmu itu !".Dengan berlinang air mata sang ibu pun berlutut di depan pengawas tersebut dan berkata: "Maafkan saya bu, sebenarnya beras ini saya dapat dari mengemis". Setelah mendengar kata sang ibu, pengawas itu kaget dan tidak bisa berkata apa-apa lagi. Sang ibu tersebut akhirnya duduk diatas lantai, menggulung celananya dan memperlihatkan kakinya yang sudah mengeras dan membengkak. Sang ibu tersebut menghapus air mata dan berkata: "Saya menderita rematik stadium terakhir, bahkan untuk berjalan pun susah, apalagi untuk bercocok tanam. Anakku sangat mengerti kondisiku dan mau berhenti sekolah untuk membantuku bekerja disawah. Tapi saya melarang dan menyuruhnya bersekolah lagi." Selama ini dia tidak memberi tahu sanak saudaranya yang ada dikampung sebelah. Lebih-lebih takut melukai harga diri anaknya. Setiap hari pagi-pagi buta dengan kantong kosong dan bantuan tongkat pergi kekampung sebelah untuk mengemis. Sampai hari sudah gelap pelan-pelan kembali kekampung sendiri. Sampai pada awal bulan semua beras yang terkumpul diserahkan kesekolah.Pada saat sang ibu bercerita, secara tidak sadar air mata Pengawas itupun mulai mengalir, kemudian mengangkat ibu tersebut dari lantai dan berkata: "Bu sekarang saya akan melapor kepada kepala sekolah, supaya bisa diberikan sumbangan untuk keluarga ibu." Sang ibu buru- buru menolak dan berkata: "Jangan, kalau anakku tahu ibunya pergi mengemis untuk sekolah anaknya, maka itu akan menghancurkan harga dirinya. Dan itu akan mengganggu sekolahnya. Saya sangat terharu dengan kebaikan hati ibu pengawas, tetapi tolong ibu bisa menjaga rahasia ini."Akhirnya masalah ini diketahui juga oleh kepala sekolah. Secara diam- diam kepala sekolah membebaskan biaya sekolah dan biaya hidup anak tersebut selama tiga tahun. Setelah Tiga tahun kemudian, sang anak tersebut lulus masuk ke perguruan tinggi qing hua dengan nilai 627 point.Dihari perpisahan sekolah, kepala sekolah sengaja mengundang ibu dari anak ini duduk diatas tempat duduk utama. Ibu ini merasa aneh, begitu banyak murid yang mendapat nilai tinggi, tetapi mengapa hanya ibu ini yang diundang. Yang lebih aneh lagi disana masih terdapat tiga kantong beras.Pengawas sekolah tersebut akhirnya maju kedepan dan menceritakan kisah sang ibu ini yang mengemis beras demi anaknya bersekolah. Kepala sekolah pun menunjukkan tiga kantong beras itu dengan penuh haru dan berkata : "Inilah sang ibu dalam cerita tadi." Dan mempersilakan sang ibu tersebut yang sangat luar biasa untuk naik keatas mimbar.Anak dari sang ibu tersebut dengan ragu-ragu melihat kebelakang dan melihat gurunya menuntun mamanya berjalan keatas mimbar. Sang ibu dan sang anakpun saling bertatapan. Pandangan mama yang hangat dan lembut kepada anaknya. Akhirnya sang anak pun memeluk dan merangkul erat mamanya dan berkata: "Oh Mamaku..................


Demikianlah representasi kasih sayang seorang ibu kepada anaknya. Tiada suatu balasanpun yang setimpal dari seorang anak atas kasih tulus ibunya. Doa dan penghormatan adalah sebatas kemampuan yang bisa kita lakukan untuknya sepanjang hayat kita masih di badan.

"Kasih Ibu sepajang masa, kasih anak sepanjang galah." - Pepatah lama.

Suatu ketika seorang sahabat (S) bertanya pada Nabi Muhammad (N):
S :“Wahai Rosululloh siapa yg lebih saya hormati di dunia ini?”
N: “Ibumu.”
S : “Lalu siapa lagi Nabi?”
N: “Ibumu.”
S : “Lalu Siapa Lagi?"
N: “Ibumu.", baru kemudian "Bapakmu.”

"Dibalik kesuksesan atau kegagalan seorang pria, di situ terdapat perempuan." - Shakespeare.


"Ibu" - Iwan Fals :
Ribuan kilo jalan yang kau tempuh
Lewati rintang untuk aku anakmu
Ibuku sayang masih terus berjalan
Walau tapak kaki, penuh darah... penuh nanah

Seperti udara...
kasih yang engkau berikan
Tak mampu ku membalas...ibu...ibu
Ingin kudekat dan menangis di pangkuanmu
Sampai aku tertidur, bagai masa kecil dulu

Lalu doa-doa baluri sekujur tubuhku
Dengan apa membalas...ibu...ibu....

Tuesday, December 02, 2008

Cerita untuk Anak : Apakah Seleksi Alam Itu?

Sumber : http://www.harunyahya.com/
Penjelasan paling sederhana untuk seleksi alam adalah bahwa makhluk yang paling kuatlah yang akan selamat, sementara makhluk yang lemah akan menghilang. Mari jelaskan ini dengan sebuah contoh: bayangkan sekelompok rusa, yang kerap diserang oleh binatang-binatang buas. Ketika serangan itu terjadi, rusa akan berlari kencang, dan hanya rusa yang paling tangkas dan lari paling cepatlah yang akan selamat. Pelan-pelan, rusa yang lemah dan lamban akan sepenuhnya menghilang, karena para pemangsa berhasil memburu mereka. Hanya tertinggal kini rusa-rusa yang sehat dan kukat. Karena itu, setelah beberapa waktu, kumpulan itu hanya akan terdiri dari rusa-rusa yang kuat.

Apa yang sudah kita katakan sejauh ini sungguh-sungguh benar, namun hal-hal ini tidak berkaitan dengan evolusi. Bertentangan dengan hal ini, para penganut teori evolusi yakin bahwa sekumpulan rusa seperti itu dapat pelahan berkembang menjadi jenis hewan lain, jerapah misalnya. Kalian bisa melihat betapa kelirunya mereka! Tak peduli seberapa cepat seekor rusa berlari, atau seberapa jauh ia memanjangkan lehernya ke atas, rusa itu tidak dapat berubah menjadi binatang lain, seperti seekor singa atau jerapah. Perubahan seperti ini hanya terjadi dalam dongeng-dongeng saja. Kalian mungkin mengetahui kisah tentang kodok yang berubah menjadi seorang pangeran. Satu-satunya cara (THE ONLY TIME) kodok dapat berubah menjadi seorang pangeran hanya ada dalam dongeng. Bagaimanapun, dalam kehidupan nyata, tidaklah mungkin seekor rusa berubah menjadi seekor singa atau makhluk hidup lainnya. Kendati demikian, para penganut teori evolusi tetap berkeras bahwa binatang-binatang itu dapat melakukannya!

Lesson Learn :
· Seleksi alam menjadikan makluk hidup semakin kuat tetapi tidak menjadikannya makluk hidup lain.
· Tuhan yang menciptakan langit, bumi dan segala isinya dengan suatu kesengajaan.

Mereka menjawab: "Maha Suci Engkau, tidak ada yang kami ketahui selain dari apa yang telah Engkau ajarkan kepada kami; sesungguhnya Engkaulah Yang Maha Mengetahui lagi Maha Bijaksana." (QS. al-Baqarah, 2:32)

Monday, November 24, 2008

Dunia Maya, Ruarrrrrr.....Biasa.......

Dengan perkembangan era digital saat ini, arus informasi sangat luar biasa derasnya, terutama di dunia maya yang kita sebut sebagai internet. Sebagaimana istilahnya sebagai dunia maya, internet tak ubahnya dunia ini secara fisik kita kenal, ada hitam, ada putih, ada abu-abu, tergantung pengguna masing-masing karena internet adalah hanya sekedar alat. Banyak kalangan sangat diuntungkan, tetapi tidak jarang juga menimbulkan kerugian karena makin terbukanya kemunculan model-model kejahatan baru. Segala aktifitas dan kreatifitas kita di dunia nyata dibatasi oleh koridor-koridor hukum yang relatif telah mapan, tetapi di dunia maya banyak kreatifitas yang lepas kontrol atau setidaknya sangat sulit dikontrol. Bisa saja diperlukan produk undang-undang untuk mengatur komunikasi di dunia maya, namun hal itu tentu tidaklah semudah membuat aturan di dunia nyata. Dibutuhkan aturan yang benar-benar adil, tidak sekedar reaksioner, dan tidak “gebyah uyah”, yang berpeluang mengebiri hak-hak kreatifitas seseorang.

Kehadiran dunia maya bak rob yang tiba-tiba datang dan menimbulkan euforia. Pada awal kemunculannya, banyak portal dibangun dan tenggelam dalam euforia, apa saja ingin di-"internet"-kan.Segala hal ingin dibuat maya, dan tidak sedikit akhirnya portal-portal yang tidak memiliki landasan kuat satu per satu berguguran.Bagi pengguna tertentu, internet tidak sekedar dipandang sebagai media komunikasi yang menyajikan informasi yang berlimpah dan cepat, tapi juga perlu menampilkan informasi yang berkualitas dan santun.

Pada masa kini, manfaat dari dunia maya tentu sudah tidak menarik untuk menjadi bahan diskusi. Yang perlu kita waspadai adalah "mabuknya" opengguna internet itu sendiri karena derasnya arus informasi yang bisa didapat dengan cepat. Saking "mabuknya" tidak mampu mengolah informasi yang diterima dan tidak menyadari dampak dari pendistribusian informasi yang dilakukan. Apa pun informasi yang diperoleh ditelan mentah-mentah tanpa ada pengolahan lebih lanjut. Celaknya tidak jarang suatu informasi yang menyesatkan langsung di teruskan ke pengguna lainya, dengan latar belakang kesengajaan ataupun tidak.Persoalannya saat ini adalah bukan bagaimana cara mendapatkan dan menyebarkan informasi, tetapi bagaimana cara mengolah informasi.

Komputer adalah perangkat yang dibuat dengan mengadopsi cara kerja manusia. Ada bagian yang disebut perangkat keras, dan ada bagian yang disebut piranti lunak. Dengan pendekatan suatu sistem, terdapat eleman yang disebut input, proses, output. Input adalah bagian yang digunakan untuk menerima masukan, proses adalah upaya untuk memberikan nilai lebih atas masukan yang diterima, sedangkan output adalah produk yang dihasilkan oleh suatu proses. Celakanya, kita sendiri yang notabenya memiliki desain fisik yang lebih hebat dan canggih dari komputer itu sendiri sering lepas kendali, sehingga input yang masuk langsung dikeluarkan tanpa ada suatu proses. Agar informasi itu memberikan manfaat, maka tiga hal di atas, perlu diperhatikan.

Input/masukan.
Adalah masukan/data yang akan diolah kembali agar diperoleh nilai lebih.Informasi yang berkualitas berdampak pada nilai lebih yang dihasilkan pada tahap selanjutnya. Terdapat banyak referensi untuk mengukur kualitas informasi, setidaknya tidak sekedar kuantitas dan kecepatan distribusi.Kualitas informasi antara lain bisa diukur dari sisi waktu, bentuk atau format, akurasi, kelengkapan. Dalam kaidah pemrosesan data, sering dipaparkan suatu istilah yang kita kenal GIGO, Garbage In Garbage Out.Artinya, kalau informasi itu tidak memiliki suatu kualitas (sampah), maka hasil dari proses selanjutnya juga tidak berkualitas (sampah).Dalam hal ini, memilah-milah informasi yang berkulitas adalah sangat penting dari pada sekedar mengumpulkan sampah, meskipun penampung kita tidak diragukan kapasitasnya.

Proses/pengolahan.
Informasi yang berkulitas, perlu adanya pengolahan yang tepat agar bisa dihasilkan nilai guna yang lebih.Cross Check dan konfirmasi ke sumbernya sangat diperlukan jika dirasa suatu informasi itu meragukan dan bisa menimbulkan polemik.Menyebarkan informasi di dunia maya tanpa proses yang matang, bisa saja menimbulkan masalah yang runyam, bak percikan api dalam sekam, membesar dan membara tak terkendali.

Output/Keluaran.
Informasi yang berkulitas dan proses yang sudah tepat belumlah cukup menghasilkan nilai tambah jika output disajikan tidak tepat, baik bentuk, cara, maupun waktunya.Cara komunikasi kita (orang Indonesia umumnya) saat menyampaikan suatu pesan ke orang lain dengan menggelengkan kepala, belum tentu dipersepsikan sama oleh penerima pesan jika penerima pesan adalah orang India misalnya. Tidak jarang juga terjadi kasus yang tanpa suatu kesengajaan kecuali ingin membangun suatu canda (joke), tetapi karena tidak berada pada kondisi yang tepat bukan canda yang dihasilkan tetapi malah bencana.

Akhirul kalam, dijelaskan dalam suatu hadits Nabi, "Barangsiapa yang beriman kepada Allah dan hari akhir, maka berkatalah yang benar atau diam" (HR.Bukhari Muslim).

Tuesday, November 04, 2008

Mengenal Concurrency Control pada Database

Tujuan utama dalam pengembangan database adalah membuat banyak pengguna bisa mengakses data secara bersamaan. Pengaksesan data ini tidak bermasalah jika semua pengguna hanya membaca data dan mereka tidak mengganggu satu sama lain. Tapi ketika dua pengguna atau lebih mengakses database yang sama secara bersamaan dan salah satu melakukan perubahan terhadap data, maka hal ini akan dapat menimbulkan adanya data yang tidak konsisten (inconsistency data).

Untuk mengatasi adanya kemungkinan inconsistency data, maka dibutuhkan adanya suatu mekanisme yang mengatur jalannya transaksi pengaksesan data yang sama tersebut. Mekanisme ini dikenal dengan istilah concurrency control. Concurrency control adalah proses pengaturan operasi–operasi dalam banyak transaksi yang berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data yang konsisten ( Connolly, 2005, p577 ). Tiga contoh masalah penting yang terkait oleh concurrency, yaitu masalah Lost-Update, masalah Uncommitted Dependency, dan masalah Inconsistent Analysis.
Masalah Lost-Update
Penjelasan : Transaksi T1 dan T2 mulai pada waktu yang hampir bersamaan, dan keduanya membaca saldo $100. T2 menambah balx $100 menjadi $200 dan menyimpan hasil perubahannya dalam database. Di sisi lain, transaksi T1 mengurangi copy dari balx $10 menjadi $90 dan menyimpan nilai ini dalam database, menimpa hasil update sebelumnya dan akhirnya menghilangkan $100 yang telah ditambahkan sebelumnya ke dalam saldo. Kehilangan update transaksi T2 dapat dihindari dengan mencegah T­1 membaca nilai dari balx sampai update T2 telah selesai.
Masalah Uncommited Dependency (dirty read)
Penjelasan: Transaksi T4 mengubah balx menjadi $200 namun T4 membatalkan transaksi sehingga balx harus dikembalikan ke nilai asalnya, yaitu $100. Namun, pada waktu itu, transaksi T3 telah membaca nilai baru balx ($200) dan menggunakan nilai ini sebagai dasar pengurangan $10, sehingga memberikan saldo yang keliru sebesar $190, yang seharusnya adalah $90. Nilai balx yang dibaca T3 disebut dirty data, yang berasal dari nama alternatifnya, yaitu masalah dirty read. Alasan rollback ini tidaklah penting. Masalahnya adalah transaksinya gagal (error), mungkin mengurangi rekening yang salah. Efeknya adalah asumsi T3 yang menganggap update T4 telah berhasil dijalankan, meskipun selanjutnya perubahannya dibatalkan. Masalah ini dihindari dengan mencegah T3 membaca balx sampai keputusan telah dibuat, yaitu commit atau membatalkan efek T4. Dua masalah di atas mengkonsentrasikan pada transaksi yang mengubah database dan campur tangan mereka bisa membuat database menjadi corrupt. Namun, transaksi yang hanya membaca database bisa juga memberikan hasil yang tidak akurat jika mereka diijinkan untuk membaca hasil bagian dari transaksi yang belum selesai yang secara bersamaan membaca database. Contohnya dijelaskan pada masalah inconsistent analysis.
Masalah Inconsistent Analysis
Penjelasan: Masalah inconsistent analysis muncul ketika sebuah transaksi membaca beberapa nilai dari database tapi transaksi kedua mengubah beberapa darinya ketika eksekusi transaksi yang pertama. Contohnya, sebuah transaksi yang meringkas data pada sebuah database(contohnya, saldo total) akan mendapat hasil yang tidak akurat jika, ketika berjalan, transaksi lain sedang mengubah database. Pada contoh diatas, ringkasan transaksi T6 sedang berjalan secara bersamaan dengan transaksi T5. Transaksi T6 sedang menjumlahkan saldo rekening x ($100), rekening y ($50), dan rekening z($25). Namun, di tengah jalan, transaksi T5 telah mentransfer $10 dari balx ke bal­z, sehingga T6 sekarang mempunyai hasil yang salah (lebih besar $10).
Tujuan protokol concurrency control adalah untuk menjadwalkan transaksi sedemikian rupa sehingga dapat menghindar dari berbagai gangguan, dan juga mencegah tipe-tipe masalah yang digambarkan pada sesi sebelumnya. Satu solusi yang jelas adalah mengijinkan hanya satu transaksi yang berjalan dalam satu waktu. Satu transaksi berstatus commit sebelum transaksi berikutnya diijinkan mulai. Namun, tujuan dari DBMS multi user juga untuk memaksimalkan derajat concurrency atau paralelisme dalam sebuah sistem, sehingga transaksi yang dapat berjalan tanpa mengganggu satu sama lain dapat berjalan secara paralel. Contohnya, transaksi yang mengakses bagian berbeda pada database dapat dijadwalkan bersama tanpa gangguan. Dalam bagian ini, kita memeriksa serializability sebagai sebuah cara untuk membantu mengidentifikasi eksekusi transaksi tersebut yang dijamin untuk memastikan konsistensi. Pertama, kita beri beberapa definisi.
Schedule adalah sebuah urutan dari operasi-operasi oleh satu set transaksi yang jalan bersamaan yang menjaga urutan operasi pada setiap transaksi individual ( Connolly, 2005, p580 ). Sebuah transaksi mencakup sebuah urutan operasi yang terdiri dari tindakan baca dan/atau tulis pada database, diikuti oleh sebuah tindakan commit atau abort. Sebuah schedule S terdiri dari sebuah urutan operasi dari sekumpulan n transaksi T1, T2, … Tn, bergantung pada constraint yang dilindungi oleh urutan operasi untuk setiap transaksi pada schedule tersebut. Jadi, untuk setiap transaksi Ti pada schedule S, urutan operasi pada Ti harus sama dengan schedule S. Serial Schedule adalah sebuah schedule di mana operasi dari setiap transaksi dijalankan secara berurutan tanpa adanya tarnsaksi yang mengganggu transaksi lainnya (Connolly, 2005, p580). NonSerial Schedule adalah sebuah schedule di mana operasi-operasi dari satu set concurrent transactions mengalami interleaved (Connolly, 2005, p580). Pada sebuah serial schedule, transaksi dijalankan pada serial order. Contohnya, jika kita mempunyai dua transaksi T1 dan T2, serial ordernya akan menjadi T1 diikuti oleh T2, atau T2 diikuti oleh T1. Lalu, pada eksekusi serial tidak ada interferensi antara transaksi, karena hanya satu transaksi yang berjalan pada satu waktu. Tujuan serializibility adalah untuk menemukan non serial schedule yang mengijinkan transaksi untuk berjalan secara bersamaan tanpa mengganggu satu sama lain, dan kemudian memproduksi sebuah state database yang dapat diproduksi oleh sebuah eksekusi serial. Jika sebuah set transaksi berjalan secara bersamaan, bisa dikatakan bahwa schedule (nonserial) adalah benar jika memproduksi hasil yang sama seperti beberapa eksekusi serial lainnya. Schedule seperti itu disebut serializable. Untuk mencegah inkonsistensi dari transaksi yang mengganggu satu sama lain, penting untuk menjamin serializability dari transaksi yang jalan bersamaan.
Pada serializability, urutan operasi baca dan tulis itu penting. Berikut ini hal – hal yang perlu diperhatikan:
  • Jika dua transaksi hanya membaca satu item data yang sama, dua transaksi tersebut tidak mengalami konflik dan urutan menjadi tidak penting.
  • Jika dua transaksi melakukan operasi membaca ataupun menulis pada item data yang berbeda, dua transaksi tersebut tidak mengalami konflik dan urutan menjadi tidak penting.
  • Jika satu transaksi menulis sebuah item data dan transaksi lain baik membaca ataupun menulis pada item data yang sama, maka urutan eksekusi itu menjadi penting.
Anggap schedule S1 yang ditunjukkan oleh gambar (a) di bawah mengandung operasi dari dua transaksi yang sedang berjalan secara bersamaan, yaitu T7­ dan T8. Karena operasi tulis pada balx di T8 tidak konflik dengan operasi baca berikutnya pada baly di T7, kita dapat mengubah urutan operasinya untuk memproduksi schedule yang ekuivalen (S2) ditunjukkan oleh gambar (b). Jika kita sekarang juga mengubah urutan dari operasi yang tidak konflik berikut, kita memproduksi serial schedule yang ekuivalen (S3) ditunjukkan oleh gambar (c) di bawah.
  • Ubah urutan write(balx) di T8 dengan write(baly) di T7
  • Ubah urutan read(balx) di T8 dengan read(baly) di T7
  • Ubah urutan read(balx) di T8­ dengan write(baly) di T7
Keterangan Gambar :
(a) nonserial schedule S1
(b) nonserial schedule S2
(c) serial schedule S3, ekuivalen dengan S1 dan S2
Schedule S3 adalah sebuah schedule serial dan karena S1 dan S2 ekuivalen dengan S3, maka S1 dan S2 adalah serializable schedule.
Recoverable schedule adalah sebuah schedule di mana, untuk setiap transaksi Ti dan Tj, jika Tj membaca sebuah item data yang sebelumnya ditulis oleh Ti, kemudian operasi commit dari Ti mendahului operasi commit Tj.
Ada dua teknik concurrency control utama yang mengijinkan transaksi untuk berjalan dengan aman dalam subjek paralel untuk constraint tertentu, yaitu locking dan metode timestamp tertentu. Locking dan timestamping adalah pendekatan konservatif karena mereka menyebabkan transaksi ditunda dalam kasus mereka konflik dengan transaksi lain pada beberapa waktu di masa yang akan datang. Metode optimistik, didasarkan pada premis bahwa konflik itu jarang ditemui, jadi mereka mengijinkan transaksi untuk lanjut tidak tersinkronisasi dan hanya mengecek konflik di bagian akhir, ketika transaksi melakukan operasi commit.
Locking adalah sebuah prosedur yang digunakan untuk mengendalikan akses bersamaan ke data. Ketika sebuah transaksi sedang mengakses database, sebuah lock mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah ( Connolly, 2005, p587 ). Ada dua macam lock, yaitu shared lock dan exclusive lock yang harus digunakan sebelum melakukan akses membaca ataupun menulis terhadap database. Penggunaan lock ini adalah untuk menjaga konsistensi data didalam database. Jika sebuah transaksi mempunyai sebuah shared lock pada sebuah item data, transaksi tersebut dapat membaca item tapi tidak dapat mengubah datanya ( Connolly, 2005, p588 ). Jika sebuah transaksi mempunyai sebuah exclusive lock pada sebuah item data, transaksi tersebut dapat membaca dan mengubah item data ( Connolly, 2005, p588 ).
Lock digunakan dengan cara sebagai berikut:
  • Transaksi apapun yang membutuhkan akses pada sebuah item data harus melakukan lock terhadap item tersebut, meminta shared lock untuk akses membaca saja atau sebuah exclusive lock untuk akses membaca dan menulis.
  • Jika item belum dikunci oleh transaksi lain, lock tersebut akan dikabulkan
  • Jika item sedang dikunci, DBMS menentukan apakah permintaan ini compatible dengan lock saat ini. Jika diminta shared lock pada sebuah item yang sudah mempunyai shared lock terpasang padanya, permintaan itu akan dikabulkan. Selain itu, transaksi harus menunggu sampai lock yang ada terlepas.
  • Sebuah transaksi lanjut memegang lock sampai transaksi tersebut melepasnya baik pada waktu eksekusi ataupun pada waktu transaksi tersebut berakhir (abort atau commit). Efek operasi tulis akan terlihat pada transaksi lain hanya pada waktu exclusive lock telah dilepas.
Two Phase Locking adalah sebuah transaksi yang mengikuti protokol two-phase locking jika semua operasi locking mendahului operasi unlock pertama pada transaksi ( Connolly, 2005, p589 ).
Aturan-aturannya adalah sebagai berikut :
  • Sebuah transaksi harus mendapatkan sebuah lock pada item sebelum beroperasi pada item tersebut. Lock tersebut bisa berupa baca atau tulis, tergantung dari tipe akses yang dibutuhkan
  • Sebelum transaksi melepaskan sebuah lock, transaksi tersebut tidak akan pernah mendapatkan lock baru lainnya.
Deadlock adalah jalan buntu yang dapat terjadi ketika dua atau lebih transaksi masing-masing menunggu lock yang sedang dipegang oleh transaksi lainnya untuk dilepas. Hanya ada satu cara untuk menghancurkan deadlock, yaitu abort satu atau lebih transaksi. Ada tiga cara untuk menangani deadlock, yaitu timeout, deadlock prevention dan deadlock detection and recovery.
Pendekatan sederhana pada pencegahan deadlock adalah berdasarkan lock timeout. Dengan pendekatan ini, sebuah transaksi yang meminta sebuah lock akan menunggu hanya sampai periode waktu tertentu yang didefinisikan sistem.
Pendekatan lain untuk mencegah deadlock adalah untuk memesan transaksi menggunakan timestamp transaksi. Dua algoritma telah ditemukan oleh Rosenkrantz. Algoritma pertama, Wait-Die, mengijinkan hanya transaksi yang lebih tua untuk menunggu yang lebih muda, jika tidak transaksi dibatalkan (die/mati) dan restart dengan timestamp yang sama, sehingga lama kelamaan transaksi tersebut akan menjadi transaksi aktif tertua dan tidak akan mati. Algoritma kedua, Wound-Wait, menggunakan pendekatan simetrikal. Hanya transaksi yang lebih muda yang dapat menunggu untuk yang lebih tua. Jika transaksi yang lebih tua meminta lock yang dipegang oleh transaksi yang lebih muda, transaksi yang lebih muda digagalkan.
Deadlock detection biasanya ditangani oleh konstruksi wait-for graph (WFG) yang menunjukkan ketergantungan transaksi, yaitu transaksi Ti tergantung pada Tj jika transaksi Tj memegang lock pada sebuah item data yang ditunggu oleh Ti.
WFG adalah sebuah directed graph G = (N, E ) yang terdiri dari satu set node N dan satu set directed edge E, yang dikonstruksi sebagai berikut
  • Buat sebuah node untuk setiap transaksi.
  • Buat sebuah directed edge Ti → Tj , jika transaksi Ti menunggu untuk melakukan lock sebuah item yang sedang di-lock oleh Tj.












Deadlock terjadi jika dan hanya jika WFG mengandung sebuah cycle. Gambar di atas menunjukkan WFG yang menunjukkan deadlock antara dua transaksi.
--------------------------------------------------------------
Connolly T dan Begg C. (2005). Database Systems: A Practical Approach in Design, Implementation, and Management. Fourth Edition. Addison Wesley. Longman Inc., USA.

Saturday, August 09, 2008

Roles in DB Environment

Terdapat lima role pada DB Environment, terkait pada pengembangan dan penggunaan basis data.
1.Data Administrator (DA)
Data Administrator (DA) dan Database Administrator (DBA) bertanggung jawab terhadap pengelolaan dan pengontrolan aktifitas-aktifitas yang terkait data maupun basis data. DA lebih terfokus di tahap awal pada siklus pengembangan basis data, sedangkan DBA lebih fokus pada tahap akhir. Untuk penjelasan lebih detil siklus pengembangan basis data, ada di http://choirulhuda.blogspot.com/2005/12/pengantar-basis-data.html

Pengelolaan sumber-sumber data yang dilakukan meliputi :

  1. perencanaan basis data,
  2. pengembangan dan pemeliharaan standar, kebijakan dan prosedur, perancangan konseptual dan logikal basis data.

2.Database Administrator (DBA)
Pengelolaan atas realisasi pada tahap fisikal aplikasi basis data, meliputi :

  1. perancangan basis data fisikal dan implementasi,
  2. pengaturan keamanan dan kontrol integritas,
  3. pemantauan terhadap kinerja sistem, dan pengorganisasian kembali basis data.

3.Database Designers
Bertanggung jawab terhadap perancangan database, mulai dari model logikal hingga fisikal.

4.Application Programmers
Bertanggung jawab terhadap perancangan dan implementasi atas user interface dan program aplikasi yang digunakan untuk mengolah basis data.

5.End Users
Bertangung jawab dalam pengolahan data dengan menggunakan program aplikasi yang telah disediakan. Dikenal ada dua kategori pengguna basis data :

  1. naive user : adalah pengguna yang sedikit memiliki pemahaman terhadap basis data, baik dari sisi teknis ataupun tatalaksana perusahaan/organisasi .Pengguna yang termasuk dalam kategori ini perlu mendapatkan pelatihan lebih intensif untuk pemakaian aplikasi basis data. Disamping itu, pada saat identifikasi kebutuhan, perlu usaha yang lebih untuk berkomunikasi dengan pengguna pada kategori ini.
  2. Sophisticated/expert user : adalah pengguna yang sangat memahami basis data, baik dari sisi teknis ataupun tatalaksana perusahaan/organisasi.Pengguna ini mampu mendefinisikan kebutuhannya dengan baik pada tahap awal pengembangan basis data karena didukung penguasaan tatalaksana perusahaan/organisasi.Pelatihan yang diberikan untuk pemakaian aplikasi basis data juga tidak perlu seintensif naïve user.




Referensi :

  • Connolly Thomas, Berg Carolyn, 2002, Database System, A Practical Approach to Design, Implementation, and Management, Addison – Wesley.

Friday, May 23, 2008

Humor Klasik Minyak Tanah vs Humor “Blue Energy”

Cuplikan humor klasik :
Alkisah, pada masa minyak tanah masih akrab dengan keseharian wong cilik, yang konon katanya merupakan subsidi pemerintah, sering kita dapati tukang minyak tanah yang menjajakannya dengan gerobak keliling kampung-kampung, bahkan gang-gang kecil yang mungkin tidak pernah dikunjungi para pengelola atas negeri ini.Pada suatu kesempatan, tukang minyak sedang keluar dari gang menuju jalan raya dengan mendorong gerobak minyaknya. Saat baru saja sampai di jalan raya, tiba-tiba “Bruakkkkk...!!!!!”, tukang minyak dan gerobaknya terguling, tertabrak mobil. Tukang minyak tak sadarkan diri beberapa saat. Masyarakat yang kebetulan berada di pingir jalan dan menyaksikan kejadian tersebut langsung menolong tukang minyak yang malang itu.Tubuh itu diangkat beramai-ramai kemudian dipinggirkan di trotoar.Karena tidak juga sadarkan diri bahkan sempat kejang-kejang dan matanya melotot seperti sakarotul maut, maka salah seorang penolong mencoba meminta tukang minyak untuk sadar dengan menepuk-nepuk pipi tukang minyak sambil berkata: ”Pak, nyebut Pak! Nyebuuutttt…!”, seru penolong.Dan seketika tukang minyak merespon dengan menjawab sangat lenting “Minnyaaaakkkkkkkk…!”.
Humor di atas dikategorikan humor klasik karena disamping sudah lama kita dengar juga tidak relevan pada masanya, karena kita akan sulit menjumpai tukang minyak tanah dorong. Belum juga benar-benar hilang rasa humor klasik itu, kini kita sedang disajikan dengan humor baru terkait hilangnya Joko Suprapto, penemu “Blue Energy” asal Nganjuk, Jawa Timur. Apakah pak Joko hilang atau menghilang? Kalau benar-benar menghilang, tentu ada kepentingan diri pak Joko, misalkan terkait keamanan dirinya, tetapi jika hilang tentu terkait oleh kepentingan di luar diri Pak Joko, mengingat strategisnya penemuan beliau.Sayang humor yang kedua ini tidaklah mungkin akan membangkitkan rasa humor yang sesungguhnya, namun ujungya justru akan membangkitkan suatu keprihatianan semata.Semoga Pak Joko tidaklah hilang ataupun menghilang.

Temuan yang disebut dengan “Blue Energy” itu tentulah tidak sesederhana yang kita bayangkan, yakni hanya dengan air semata bisa dijadikan sebagai sumber energi. Ada formula tertentu yang diperhitungkan untuk menghasilkan energi yang bisa digunakan semisal menggerakkan kendaran bermotor.Mungkin karena mayoritas elemennya dari air, maka temuannya disebut sumber energi dari air. Sebagai penambah wacana terkait temuan tersebut dan agar tidak terjebak pada “kelirumonologi”, bisa kunjungi alamat ini http://rovicky.wordpress.com/2007/12/10/blue_energy/, atau kunjungi http://www.greencarcongress.com/ untuk mengetahui arikel-artikel terkait.

Hanya berharap semoga bumi, tanah, air, dan kekayaan yang ada di dalamnya benar-benar dikelola oleh negara untuk kemaslahatan dan kesejahteraan seluruh anak bangsa. Janganlah negeri ini menjadi seperti uraian kakawin(puisi) Bharatayudha pada masa kerajaan Panjalu (Kediri, Raja Jayabaya) 851 tahun silam, yang sebelumnya mengalahkan Jenggala. Diungkapkan pada kakawin tersebut :“Pulau Jawa adalah tanah yang subur makmur, sangat indah tiada tara, tetapi negara itu sedang menderita sedih karena dirusak oleh orang-orang jahat. Raja yang memerintah tidak mampu menjaganya.”.Konteksnya saat ini tentulah bukan hanya sekedar pulau Jawa, melainkan Indonesia, meskipun realitasnya pulau Jawa merupakan sentral kendali pemerintahan.

Semoga anak bangsa ini mendapatkan kail, bukan ikannya. Dan kepada mereka yang sedang membuat kail semoga diberikan kesempatan, arahan, dan bimbingan, bukannya penghancuran. Semoga Pak Joko dan keluarganya diberikan perlindungan dan penghargaan yang layak.
Amien.

World Cup 2010

Sepak bola (World Cup 2010) hanya sebuah aktifitas yg dimainkan di area panjang 100-110m x lebar 64-75m, tetapi magnetnya bisa menghisap rat...