Wednesday, August 06, 2008
Acak (Random)
- Sebenarnya acak (random) itu apa sih?
- Apakah proses acak itu benar-benar ada?
- Apakah keacakan proses acak membatasi kemahakuasaan Allah?
Kalau kita definisikan proses acak sebagai sesuatu yang tak terduga karena satu dan lainnya tidak memiliki keterkaitan. Maka jelas ketika percobaan itu diulang berapa banyak pun hasilnya adalah indefinit, artinya kita tidak dapat meramalkan hasil yang tepat dari suatu proses acak. Yang ada adalah harapan dari hasil yang paling mungkin keluar.
Definisinya sih OK-OK saja. Tapi masalahnya, kalau sesuatu itu benar-benar acak, kalau hasil sesuatu proses itu tidak dapat ditentukan, lantas dimana letak karakter Allah yang Maha Mengetahui. Sementara kita tahu Al-Khaliq adalah yang paling tahu tentang semua ciptaannya. Allah pasti tahu berapa banyak rumput yang bergoyang setiap detiknya, Allah pasti tahu berapa banyak dan bagaimana arah pergerakan debu yag diterpa angin satu-persatunya. Allah pasti tahu berapa banyak elektron yang dihamburkan per detik dari reaksi nuklir. Dan Allah juga pasti mengetahui hasil akhir dari semua proses acak lainnya. Kenapa harus seperti itu? Jawabannya adalah karena Allah Maha Mengetahui.
Lantas bagaimana mendefinisikan random itu sendiri? Sejauh ini saya mempunyai pemikiran alternatif yang mampu menjawab masalah ini, semoga saja dapat memuaskan. Mari kita diskusikan.
Anggaplah semua proses itu sebagai suatu fungsi, fungsi dari terjadinya sesuatu. Sementara yang namanya fungsi pasti memiliki hasil fungsi dan argumen fungsi yang menjadi masukan fungsi itu sendiri. Suatu fungsi bisa jadi memiliki satu parameter, dua parameter, tiga parameter atau sekian banyak parameter (tapi mustahil tidak terbatas) atau tidak sama sekali.
Misalkan saya memiliki suatu fungsi yang memiliki seratus triliyun argumen. Saya sendiri yang merancang fungsi tersebut dan saya sendirilah yang mengetahui hasil fungsi tersebut secara pasti. Katakanlah fungsi tersebut memiliki dua kemungkinan keluaran, "Head and Tail".
Kemudian saya merahasiakan semua parameter fungsi tersebut dan saya memberikan fungsi tersebut kepada orang lain yang sama sekali tidak mengetahui tentang fungsi tersebut sedikitpun. Saya katakan kepada orang tersebut, Saya mempunyai fungsi dengan satu argumen dengan range dari sekian hingga sekian dengan dua jenis keluaran (head and Tail). Tolong beritahukan kepada saya hasil percobaan yang dilakukan pada hari ke-54175, jam ke-15, menit ke-23, detik ke-41.
Yang jelas, orang tersebut pasti akan mensimulasikan proses tersebut dengan eksperimen sekian banyak dan meneliti hubungan setiap satu keluaran dengan keluaran lainnya dan setiap keluaran dengan masukannya. Lantas apa yang didapat? yang didapat adalah rasa frustasi, karena orang yang saya beritahu berangggapan bahwa berapa banyakpun percobaan pun yang dia lakukan, satu sama lain tidak memiliki keterkaitan, sehingga dia tidak dapat mempredikisi hasil dengan tepat, hingga akhirnya dia berkata, "Maaf proses ini bersifat acak, jadi saya tidak dapat menjawab pertanyaan anda".
Ekspresi tersebut wajar karena dari sekian banyak argumen fungsi, yang diberikan hanya satu saja. Wajar saja ketika dia tidak dapat menebak hasil fungsi karena dia hanya mampu menjangkau satu argumen fungsi saja, sementara seharusnya dia memiliki seratus triliyun argumen untuk dapat menebak keluaran fungsi itu secara tepat. Orang tersebut tidak dapat menebak hasilfungsi karena keterbatasannya dalam mengakses semua argumen yang diperlukan.
Dapet konsepnya? Mari kita analogikan semua ini kepada manusia.
Adalah Allah Azza Wa Jalla yang paling mengetahui semua ciptaannya. Adalah Allah Azza Wa Jalla yang merancang semua proses yang terjadi di langit dan dibumi, satu-persatu didefinisikan secara spesifik sebagai fungsi yang super duper kompleks dengan sekian banyak parameter yang sama sekali tidak diketahui jumlahnya oleh manusia. Maka wajar saja ketika manusia beranggapan bahwa suatu proses bersifat acak. Belum lagi, bisa jadi antar parameter argumen fungsi juga memiliki hubungan yang sangat kompleks. Dikatakan wajar karena manusia tidak akan pernah dan mustahil mengetahui semua argumen fungsi yang diciptakan Allah di langit dan bumi kendatipun hanya satu saja. Manusia hanya mampu menduga-duga semua itu dengan teori "Probabilistic and Random Process", tapi itu tetap saja sia-sia. Manusia tidak akan pernah sanggup menyamai karakter Maha Mengetahui-Nya Allah Azza Wa Jalla. Titik, No comment!
Ambil satu contoh, proses "coin tossing". Manusia menganggap proses tersebut adalah proses acak karena manusia tidak mengetahui semua fungsi argumen tersebut. Sekali lagi, hal itu wajar, karena manusia memang terbatas dan pasti memiliki keterbatasan.
Alhasil, kata "acak" adalah sesuatu yang digunakan manusia untuk mengungkapkan keterbatasaanya dalam memahami sesuatu proses. Karena pada hakikanya semua proses bersifat "pseudo random process", bukan "true random process". karena Alah Azza Wa Jalla pasti mengetahui hasil dari semua proses tersebut, betapa kompleksnya pun proses tersebut.
Dengan ini saya menyatakan keterbatasaan diri saya sebagai manusia. Dengan ini saya menyatakan rasa kagum luar biasa terhadap semua proses kompleks yang diciptakan oleh Allah Azza Wa Jalla. Saya bertekuk lutut dan bersujud, saya salut dan hanya mampu berkata Subhanallah, Maha Suci Allah.
Tulisan ini semata-mata saya tulis sebagai sarana renungan diri. Kebenaran hanya dari Allah, dan kesalahan berasal dari kebodohan saya sendiri. Semoga seperti harapan saya, tulisan ini menjadi renungan yang bermanfaat bagi anda semua. Amiin.
Wednesday, July 23, 2008
Relasi Plain Text, Cipher Key dan Cipher Text dalam algoritma sandi Simplified DES (SDES)
Pagi ini, hari rabu, seperti biasa saya hadir di kelas Probability and random Processes dengan bimbingan pak DR. Oki Neswan. Ada hal menarik yang membuat saya senyum-senyum sendiri di kelas, hehehe. Beliau mengajarkan bagaimana mengenali hubungan dua variabel dengan menggunakan koefisien korelasi. hmmm kayaknya kalo disambungin ke kriptografi seru juga tuh ^_^.
Biarpun saya termasuk calculoser (pecundang matematika), tapi bodo amat ah. Yang jelas saya bener-bener penasaran sama percobaan iseng yang kini tengah bergejolak di otak. Percobaanya sih ngga banget, saya coba mencari hubungan plain text, cipher key dan cipher text dalam algoritma sandi Simplified DES (SDES).
Intinya sih kayak gini:
- Saya petakan Cipher Key dan plain text sebagai suatu variabel, katakanlah variabel x. Dimana variabel x= (cipher_text)*256 + plain_text
- Kemudian fungsi enkripsi akan memetakan setiap kemungkinan variabel x menjadi variabel y. Dimana variabel y didefinisikan sebagai y = SDES_encrypt(x).
- Cari hubungan x dan y.
Nggak banget kan?
OK, saya kan mulai eksperimen ini dengan membuat program enkripsi SDES berbasis PHP atau javascript, entah gimana nanti aja. Terus di program ntu, saya tambahkan rutin untuk menghitung ekspektasi, variance, dll entah gimana caranya yang penting dapet koeffisien korelasi.
Saya memilih SDES karena SDES sangat sederhana, plain text-nya hanya 8 bit, Cipher key 8 bit dan cipher text juga 8 bit. Dengan asumsi tersebut, saya akan mendapatkan 218 jenis kemungkinan variabel x dan 28 jenis kemungkinan variable y. Menurut saya, bilangan ini tidak terlalu besar, jadi bisa di-simulasikan dengan waktu tidak terlalu lama. Jadi ya sah-sah aja kan?
Tunggu update selanjutnya, hasilnya akan saya post disini, entah itu gagal atau berhasil :) .
Monday, July 07, 2008
Qolbun Salim
berikanlah kepada hamba qolbun salim,
hati yang selalu mengingat-Mu
hati yang tenang,
hati yang lapang,
hati yang bersih,
hati yang zuhud,
hati yang tawadhu,
hati yang tulus dan ikhlas,
hati yang bersyukur,
hati yang cinta ilmu,
hati yang cenderung pada kebaikan,
hati yang tidak silau dengan harta,
hati yang tidak silau dengan tahta,
hati yang tidak dipenuhi kesombongan,
hati yang tidak haus pujian,
hati yang dijauhkan dari kedengkian,
hati yang dijauhkan dari rasa dendam,
sebagimana hati-hati yang dimiliki oleh para pendahulu kami
laksana embun pagi yang menyibak tanah yang berdebu
Thursday, June 26, 2008
Repot blogging
Kadang manage multiple blog repot juga. Saya punya 4 blog, dua dihosting di blogspot dan dua dihosting di wordpress. Yang dihosting di blogspot ntu blog pribadi saya dan Repository Kode PICmicro, sementara yang dihosting di wordpress isinya tentang embedded cryptography dan satu lagi rencananya bwt saya nanti jualan barang-barang embedded cryptography. Tapi yang terakhir ini belum ada isinya karena saya belum punya kapsitas untuk produksi dan sejauh ini saya hanya terjun dalam research implementasi penyandian untuk mikrokontroller, semoga saja suatu saat nanti saya bisa isi blog ini dengan produk "home made" saya, amiin.
Tuesday, June 24, 2008
Konsep Rejeki
Jika kita perhatikan, rejeki dapat dianalogikan dengan take and give. Semantara itu take and give melibatkan dua pihak, yaitu pihak pemberi dan pihak penerima. Kedua pihak tersebut sama-sama mendekati ke suatu titik, yaitu titik pemberian. Pihak pertama adalah manusia dan pihak kedua adalah yang Maha Kuasa. Manusia tidak dapat menjangkau yang Maha Kuasa tapi yang Maha Kuasa dapat menjangkau manusia.
Manusia dalam batas kesanggupan rasionalitasnya meyakini asas kausalitas, manusia meyakini bahwa untuk mendapatkan rejeki diperlukan semacam usaha. Sementara pada sisi lain, hak pemberian rejeki hanya dimiliki oleh yang Maha Kuasa, manusia hanya mampu berusaha untuk mewujudkan kondisi yang "sesuai" dengan asas kausalitas, supaya hasil yang diharapkan dapat tercapai.
Makanya jangan heran, seandainya rejeki itu kadang pasang kadang surut. Manusia hanya mampu berusaha dan sang pemilik rejekilah yang berhak memberi. Yang namanya pemberian, sedikit banyak harus diterima dengan lapang dada. Jangan pernah berburuk sangka dengan sang pemberi rejeki, karena kita tidak akan pernah sanggup memahami kehendak-Nya. Jangan pernah mengeluh, yakinlah bahwa sang pemilik rejeki menghendaki yang terbaik untuk kita. Rejeki itu akan selau ada, jangan takut berbagi harta, jangan takut berbagi ilmu. Tapi berusaha adalah suatu keharusan, baik dalam kacamata agama maupun kacamata kausalitas. Sang pemilik rejeki hanya melihat usaha yang dikerjakan hambanya.
Yah intinya sih, yakin aja dalam hati, luruskan niat, hati yang tulus, berusaha dengan sungguh-sungguh dan terakhir, jangan pernah berburuk sangka. Nikmati hari, yakinlah bahwa setiap hari adalah hari yang indah ^_^.
