Monday, December 28, 2015

Menelanjangi Novel Rindu Karya Tere Liye Halaman 310-544

33. Halaman 337. Kata minggir berasal dari bahasa jawa. bukan bahasa melayu.

34. Halaman 346 paragraf ke-lima Ujaran “Eh” (yang juga dijumpai pada halaman 328 paragraf terakhir) tidak pernah digunakan dalam dialog berbahasa Indonesia. Seharusnya kalimatnya adalah “… Kosong, tidak ada siapa-siapa di ruangan itu. Ya?…. Mungkin Tere Liye keseringan nonton film Naruto atau film-film barat yang biasanya dipasangin substitle di mana ujaran ”Eh” itu kalo di-Bahasa-Indonesiakan setara dengan ujaran “Ah”.

35. Halaman 367-376. Sebenarnya itu plot yang terlalu dipaksakan kalo Daeng Andipati harus buka-bukaan tentang rahasia keluarganya hanya lantaran sebuah insiden kecil. Bukankah sejak kecil dia sudah biasa bersandiwara? Kejadian ketika dia datang dengan manis ke pemakaman ayahnya, jadi ternodai lantaran gara-gara sebuah upaya pembunuhan dia kemudian membuka sandiwaranya tersebut. Dan merupakan sebuah kejanggalan jika seorang tokoh yang dikenal sangat licik dan bejat di masyarakat (punya banyak tukang pukul dan jadi rentenir), sekaligus bisa menjadi tokoh yang dikagumi (banyak yang datang ke upacara pemakamannya).
Persis seperti kejadian Mbah Kakung yang dipaksakan menjadi Bolot, sekali lagi Tere Liye gagal dalam membentuk karakter dari tokoh yang dimunculkannya dalam novel ini.  

36. Frase “Rombongan Kesultanan Ternate” yang sering muncul di banyak halaman bisa ga dibahasakan dengan bahasa yang lebih deskriptif dan penuh warna a’la sebuah novel?

37. Halaman 465 paragraf terakhir, Kapal Blitar Holland dikatakan Transit sebentar di Aden. Yang jadi pertanyaan besar adalah yang transit ini kapalnya atau penumpangnya? Kalo kapalnya yang transit, transit ke mana, ke kapal lain (kapal di dalam kapal) atau ke apa? Kalo penumpangnya yang transit, bukankah dari pertama dikakatakan cuma ada satu kapal?

38. Halaman 485, bagaimana bisa seorang pelaut ulung membiarkan sebuah ombak memukul lambung kapal? Kecuali Anda baru pertama belajar menjalankan kapal, Anda pasti akan tahu agar kapal tidak terbalik maka harus dijalankan sejajar datangnya ombak. Kalopun pada akhirnya kapal terbalik, maka kemungkinannya ada dua, ombaknya terlalu besar/tinggi sehingga ketika selesai melewati ombak kapal oleng dan terjungkir (seperti yang terdapat di film Wolf of Wallstreet) atau kapalnya memang pada saat itu kemasukan banyak air  karena terlalu berlama-lama terjebak di dalam badai sehingga pada akhirnya oleng dan tenggelam. 

Satu-satuya kasus ketika kapal dipukul oleh ombak dan terbalik hanya pada kasus kapal kecil dan sang pengemudi tidak tahu bagaimana membaca situasi datangnya angin/ombak.

39. Halaman 486, Titanic nih ye….

40. Halaman 520. Sebenarnya di tahun-tahun 1938 itu belum ada yang namanya perompak di perairan Somalia. Ketika terjadi perang Sipil di Somalia di tahun 1991 negara Somalia sama sekali bisa dikatakan “tanah tidak bertuan”. Dan baru sekitar tahun 2005 ke atas, Somalia mulai dihuni oleh perompak dan bajak laut.

41. Halaman 522, dialog penuh “canda” antara bajak laut dan korban itu dalam kenyataannya sama sekali tidak ada. Kalo kapal Anda dibajak, maka Anda akan diperlakukan bak tahanan/sandera: disuruh tiarap, tangan diborgol, dibentak, disuruh ini itu dan lain-lain. Mungkin alam bawah sadar Tere Liye sedikit terpengaruh oleh tayangan berulang-ulang dari Pirates of Carribean yang sering muncul di RCTI.

42. Halaman 534, ini Serangan Umum Satu Maret ya…?

Tuesday, December 8, 2015

Menelanjangi Novel Rindu Karya Tere Liye Halaman 209-310

Berikut ini merupakan kelanjutan point-point yang agak janggal dalam novel rindu karya Tere Liye:

22. Halaman 215. “… Orang-orang berlalu lalang dengan pakian khas zaman itu. Mestinya Tere Liye mendeskripsikan corak berpakaian khas “zaman itu” itu yang seperti apa? Kalo memang dia ga tau gimana cara berpakaian tahun 1938, ngapain dia buat novel dengan tema tahun 1938.

23. Halaman 219 paragraf kedua dari terakhir. Ga juga ketemu teman lama main bongkar kartu sampai segitunya.

24. Halaman 223, “Daeng Andipati tidak berhasil menemukan guru baru. Bukan karena waktunya terlalu mepet, melainkan ada kejadian kecil tapi serius di dek kapal,…”. Ini nyari guru mengaji di atas kapal tahun 38 kok hampir mirip dengan datangin penceramah kondang di jaman sekarang, sampai pake alasan “waktunya mepet” segala, hehe.

25. Halaman 224. Tahun 1938 itu belum ada sistem pasport ama visa, Anda boleh kemana aja tanpa perlu membawa dokumen imigrasi.

26. Halaman 224 paragraf kedua dari terakhir, Anna mengeluarkan suara puh pelan. Kok mirip ya.. dengan status facebook ABG jaman sekarang, fuuuuhhh… padahal ini tahun 38.

27. Halaman 256. Kalo Anda liat di peta Indonesia, akan nampak bahwa pegunungan Bukit Barisan itu tidak  menyentuh Bandar Lampung (atau Teluk Lampung). Jadi akan tidak mungkin terlihat dari pesisir pantai di seputaran Bandar Lampung adanya pemandangan Bukit Barisan. Lain halnya kalo yang dimaksud oleh  Tere Liye ini Teluk Semangka itu mungkin masih kelihatan Bukit Barisan nya.

28. Halaman 295, Tere Liye menggambarkan proses melahirkan Mbah Putri yang berlangsung secara independent. Ga tau di Sumatera Barat atau di Jawa, yang jelas di mana-mana itu baik jaman dulu maupun sekarang orang melahirkan selalu ada yang bantuin, entah dia dukun, bidan, atau dokter. Saya jadi teringat film tahun 80-an yang dibintangi oleh Barry Prima di mana ada orang melahirkan di samping kali dan anaknya langsung dikasi makan ama buaya, mungkin Tere Liye mendapat inspirasi dari situ. 

29. Kalimat atas nama kemanusiaan halaman 302. Ini tahun 38 bro…

30. Halaman 303. Paragraf ketiga dari terakhir, bicara aja harus pake tenaga?

31. Halaman 304. Paragraf ketiga: “ Bunda Upe diam sebentar. Menyeka hidung dengan ujung baju.” Sepertinya Tere Liye penggemar Iwan Fals, especially lagu Azan Subuh Masih di Telinga. Ya… ga harus pake ujung baju mungkin kalo ngelap ingus, pake lenso kek, sapu tangan kek, handuk kek. Kayak anak kecil aja ingus dilap pake ujung baju. Lagian ngapain cuma cerita seperti itu dibawa nangis? Anda bayangin aja gimana ibu-ibu pas ngegosip, cerita-cerita pengalaman pahit, dan sejenisnya. Ga juga sampe nyeka ingus pake ujung baju.

Monday, November 30, 2015

Menelanjangi Novel Rindu Karya Tere Liye

Banyak orang yang mengatakan bahwa Tere Liye itu novelis berbakat yang karyanya laris manis di pasaran dan menuai pujian dari khalayak. Tapi saya akan menunjukkan kepada Anda bahwa itu semua tidak sepenuhnya benar. Menurut pendapat objektif saya Tere Liye itu novelis kacangan kalo tidak bisa dikatakan novelis asal-asalan. Salah satu novel miliknya yang saya baca baru-baru ini adalah Novel Rindu yang covernya bisa dilihat pada gambar. Beberapa keganjilan novel ini antara lain:

IMG_20151130_000412

1. Halaman 6 paragraf terakhir: “… pemimpin rombongan yang melihat kebingungan mereka, dengan bahasa setempat berseru menyuruh kuli agar menaikkan lagi barang bawaan. Kuli angkut dengan tubuh hitam berminyak karena terlalu sering dipanggang cahaya matahari menggaruk kasar kepalanya yang tidak gatal. Kepalang tanggung. Namanya juga kuli. mereka akhirnya tetap memilih menggotong barang-barang bawaan itu lima puluh meter menuju anak tangga kapal. Tersengal di belakang kereta kuda.” Kenapa kuli tersebut tidak menuruti saja perintah si pemilik barang tersebut yakni dengan menaikkannya kembali barangnya ke dalam kereta, malah ngotot memikulnya sejauh 50 meter. Apa susahnya menaikkan kembali barang-barangnnya ke dalam kereta kuda, dibandingkan memikulnya sejauh 50 meter? Lagian yang nyuruh menaikan kembali kan si pemilik barang, kok tiba-tiba seorang kuli berani membantah perintah tersebut. Ini kuli apa maling sih sebenarnya? Atau jangan-jangan polantas yang ngotot membawa (a.k.a menyita) motor dari pengemudinya? Lupa ga dia bahwa statusnya itu hanya sebatas kuli? Yah….. ini kan cuma novel…. karya Tere Lie.

2. Anak bungsu berumur 9 tahun yang dimunculkan pada halaman 7.  Anak ini mulai menanyakan pertanyaan-pertanyaan penuh curiga tentang keadaan di sekitarnya. Si bungsu tersebut was-was dengan tasnya yang dibawa oleh si kuli pikul tersebut. Masalahnya adalah  apa mungkin seorang anak berusia 9 tahun bisa sebegitu curiga dengan keadaan di sekitarnya? State of mind yang penuh kewaspadaan yang dimiliki oleh seorang anak berusia 9 tahun itu sepertinya terlalu dini. Anak-anak yang usianya 9 tahun sepertinya tidak mungkin untuk  memikirkan hal-hal abstrak semisal: “apakah tasnya nanti dicuri”, atau pertanyaan-pertanyaan yang aware terhadap keadaan di sekitar sepeti “apakah nanti gajian”,  atau “apakah nanti kalo saya lewat di bawah hujan bisa tersambar petir”, dan pertanyaan-pertanyaan sejenis. Secara umum biasanya anak 9 tahun itu pikirannya hanya diisi oleh hal-hal yang remeh temeh, semisal superman, spiderman, batman, kura-kura ninja, dan hal-hal seperti itu kecuali mungkin anak tersebut child prodigy (anak berbakat). Tidak ada kalimat eksplisit di novel ini yang menyebutkan bahwa anak tersebut child prodigy.

3. Tas berwarna biru. Bro… ini tahun  1938, apa ada ya… produsen tas yang membuat tas dengan warna biru pada waktu itu. Setahu saya jaman dulu itu orang-orang kalo bepergian (lihat novel  bertanya kerbau pada pedati karya A.A. Navis) bukan membawa tas tapi membawa peti kayu atau koper. Bisa juga tas tapi umumnya tasnya terbuat  dari kulit binatang. Tapi kalo soal tas berwarna biru, ini tas apa…? Tas Hermes gitu? Kalo ga salah penggunaan tas dengan motif warna warni itu dimulai tahun 60-an ke atas, dan paling mencolok jaman 80-an. Kalo jaman 1938 orang punya tas warna bitu, ga tau ya… jangan-jangan terinspirasi oleh bendera Belanda.

4. Pada halaman 9 Ibu dari dua gadis tersebut memerintahkan Anna buat merapikan kerudungnya, katanya biar ga masuk angin. Pertanyaannya adalah apa hubungannya antara masuk angin dengan memakai kerudung? Biasanya kalo untuk mencegah jangan sampai masuk angin itu orang suka pakai pakaian yang tebal, misalnya jaket. Tapi kalo soal adanya kearifan lokal masyarakat jaman dahulu yang mencegah terjadinya masuk angin dengan merapikan kerudung, saya ga tau ya…? Lagian ini kerudung, bukan burkah atau gamiz yang sedikit banyak punya pengaruh dalam mencegah masuk angin.

5. Tokoh Daeng Andipati yang dimunculkan di halaman 10. Apa bisa ya.. orang Bugis tahun 1938 punya  nama Daeng Andipati? Benar ada kata ‘Andi’-nya. Masalahnya adalah ini nama agak berbau jawa. Apalagi dia punya pembantu bernama Bi Ijah, sepertinya terlalu janggal. Jaman dulu belum ada kegiatan eksport import babu antara jawa dan luar jawa sementara nama Ijah ini sangat janggal untuk disebut sebagai orang Bugis. Coba Anda perhatikan nama-nama orang Bugis yang terkenal: Mallarangeng, Kalla, Matalatta, Matalitti, Aru Pallaka dll, di mana selalu ada tasydid di situ.

6. Halaman 13 Meneer Houten mengacak rambut  si bungsu. Hellowww….. ini tahun 1938 bro… Sepertinya ga sopan kalo seorang laki-laki ‘menjambak’  rambut wanita yang bukan muhrim. Kendatipun dia masih berumur 9 tahun. Sepertinya seorang Tere Liye mencoba memaksakan adat istiadat Jawa-Jakarta abad 21 ke dalam setting cerita awal abad 20 di Makassar. Di Makassar itu (setidaknya jaman dahulu) orang ngelamar aja pake mahal, menyentuh berarti membeli hehehe...

7. Halaman 15, ini sebenarnya si kakek sedang menggunting atau sedang mencukur? Atau sedang mencukur plus mnggunting? Biar amannya kita anggap aja si kakek sedang mencukur. Dan apa iya jaman dulu tukang cukur rambut mesti buka  salon? Biasanya jaman dahulu tukang cukur itu mangkal aja di pinggir jalan kayak tukang tempel ban, atau kalo tidak dipanggil ke rumah-rumah pelanggan buat mencukur. Dan yang paling parah disebutkan di sepanjang jalan berjejer toko-toko dengan panjang 8 meter dan lebar 3 meter. Bro ini toko atau WC sih sebenarnya, kok lebarnya cuma tiga meter. Bagaimana bisa bangunan dengan lebar cuma 3 meter bisa menentukan style arsitekturnya? Coba pembaca sekalian pergi menyewa kosan di kawasan perkumuhan, apa ga sempit tuh kalo lebarnya cuma 3 meter? Naruh meja aja udah sulit, boro-boro nentuin model atap kayak gimana, biar disebut bangunan dengan arsitektur gaya Belanda.

8. Tokoh Ahmad Karaeng pada halaman 18. Sepertinya Tere Liye terkesan asal-asalan dalam  mencari nama buat orang Bugis jaman dulu. Kemudian pada paragraf kedua dari terakhir: “… Gurutta masih terbilang keturunan Raja Gowa yang pertama memeluk Islam, Sultan Alauddin. Dalam darahnya mengalir darah raja paling terkenal di Sulawesi, Sultan Hasanuddin---yang adalah cucu Sultan Alauddin. Gurutta juga masih kerabat dari Syek Yusuf, ulama besar yang dibuang Belanda ke Sri Lanka….” Menurut saya ini penuturan yang mubasir. Semua orang juga sudah tau kalo Sultan Hasanuddin itu cucu dari Sultan Alauddin. Dan yang lucu adalah Syekh Yusuf ini tidak berada pada generasi yang sama dengan Sultan Hasanuddin akan tetapi berada pada generasi sebelumnya. Syekh Yusuf ini ada pada masa pemberontakan Sultan Ageng Tirtayasa di Banten. Dan jika Gurutta ini masih keturunan dari Sultan Hasanuddin-—katakanlah turunannya yang ke-5, adalah pembahasaan yang kurang tepat kalo dia dikatakan sebagai kerabat dari Syekh Yusuf. Si X dan si Y dikatakan kerabat adalah jika keduanya pernah hidup dalam waktu yang bersamaan. Jika si X dan si Y terpisah jarak 300 tahun, saya rasa itu kurang tepat kalo mereka dikatakan sebagai kerabat. Sepertinya Tere Liye mencoba memaksakan fakta-fakta sejarah tersebut biar bisa hadir di novel nya ini. Dan mengingat Syekh Yusuf dan Sultan Hasanuddin merupakan pahlawan Nasional di NKRI yang masuk dalam buku-buku sejarah dalam kurikulum buatan Kemendiknas, maka itu hal yang tidak perlu untuk membahasnya secara detail dalam sebuah novel.

9. Halaman 35, 36, 37 dan 38 Gurutta ke Mekkah naik kapal selama 6 bulan hanya membawa satu biji tas? Dan isi-isinya ternyata hanya buku-buku. Terus Gurutta selama di kapal makan pake gratis gitu? Ga ganti pakaian? Dan emang jaman dahulu sudah ada tindakan terorisme (a.k.a. bom bali) sampe kitab kuning aja pake dicurigai. Dan ternyata kecurigaan ini dimotivasi oleh pemberontakan Syekh Yusuf yang terjadi 300 tahun sebelumnya. Ternyata Tere Liye begitu terobsesi dengan cerita-cerita sejarah, khususnya sejarah Bugis-Makassar. Padahal faktanya jaman pergerakan nasional itu dimulai di jawa, di mana pada saat yang sama di Makassar adem-adem aja. Masa-masa awal abad 20 itu di Makassar penduduk setempat cukup kooperatif dengan pemerintah kolonial. Benteng Somboupu yang cukup terkenal itu sudah diratakan dengan tanah.

10. Halaman 52, kapal buatan Belanda yang difasilitasi oleh Mesjid di atas kapal (musholla kali ya..?). Tolong Tere Liye membaca kembali sejarah pemberangkatan jemaah haji Indonesia di masa-masa kolonial. Setahu saya tidak ada jaman dahulu orang berangkat naik haji tidak menggunakan kapal khusus, apalagi sampai dibuatkan mesjid di dalamnya.

11. Ungkapan ‘sepelemparan batu’ pada halaman 59 sepertinya tidak perlu deh.

12. Halaman 94, teori mengenai perubahan hormon yang dialami oleh Ibu yang sedang hamil sepertinya belum dijumpai dalam kurikulum kedokteran pada tahun 1938 (atau kurang).

13. Jus jeruk pada halaman 121. Apa iya tahun 1938 sudah ada jus jeruk? Iya, mungkin jus sudah ada, tapi bukan barang yang mudah dijumpai apalagi tinggal diminta pada koki kapal? Pada waktu itu belum ada blender untuk membuat jus. Saya belum punya referensi yang jelas tentang sejarah pembuatan jus, yang jelas agak janggal kalo tahun 1938 itu di kapal-kapal itu minuman jeruk bisa diminta dengan mudah.

14. Halaman 129. Peristiwa pergolakan kemerdekaan itu belum terjadi di tahun 1938. Tahun-tahun di sekitar 1938 itu adalah tahun ketika kerajaan Belanda masih berkuasa penuh atas pulau jawa. Baru setelah Jepang menginjakkan kaki ke Indonesia dan kemudian membentuk badan kemiliteran semisal Heiho dan PETA maka pemuda-pemuda Indonesia mulai mengenali teknologi-teknologi perang pada masa itu. Dan perjuangan kemerdekaan itu dimulai ketika Jepang meyerah pada sekutu dan pemuda-pemuda Indonesia mulai melucuti senjata milik Jepang (dengan sukarela atau terpaksa) untuk dipakai melawan kembalinya Belanda. Tahun 1938 itu adalah tahun di mana bangsa Indonesia belum memiliki apa-apa  yang dibutuhkan untuk memberontak. Dan perjuangan dengan mengggunakan senjata-senjata tradisional sudah terbukti gagal pada masa-masa sebelumnya. Lagian di tahun 1938 VOC sudah dibubarkan jadi yang memegang kendali pemerintahan di Indonesia pada waktu itu langsung Kerajaan Belanda, sehingga tindakan yang diambil terhadap penduduk pribumi tidak se-represif ketika masa-masa VOC---perang Diponegoro, perang Sultan Hasanuddin, perang Pattimura, dll itu terjadi pada masa VOC. Buat Tere Liye, Jasmerah, jangan sekali-kali melupakan sejarah…

15. Paragraf kedua dari terakhir halaman 157, “…Salah satu pelaut Jepang yang kutemui di Singapura bercerita, Kekaisaran Jepang sedang menyiapkan propaganda Jepang adalah saudara tua seluruh Asia. Membungkus penyerangan mereka dengan propaganda, berharap rakyat negara-negara Asia bersedia mendukung sukarela.” Bagaimana mungkin seorang pelaut Jepang dengan blak-blakannya membongkar ‘rahasia perusahaan’-nya sendiri kepada pihak luar. Sekali lagi seorang Tere Liye lupa membedakan antara sebuah novel dengan pelajaran sejarah khas kurikulum Kemendiknas.

16. Halaman 163 paragraf kedua. Ambu Uleng berlari-lari di atas kapal karena memendam rasa yang tidak enak. Kok si pelaut yang punya otot itam kekar bisa berkelakuan seperti banci yang sedang sakit hati?

17. Halaman 171, paragraf ke tiga, “Anna dan Elsa hanya mendengarkan seluruh detail itu dari penjelasan Bapak Mangoenkoesoemo…” Seolah-olah dikatakan bahwa penjelasan di paragraf kedua dalam halaman tersebut merupakan penuturan Bapak Mangoenkoesoemo mengenai Kota Semarang padahal tidak ada tanda ‘petik dua’ di situ sebagai penanda dialog. Apa yang saya tangkap adalah paragraf kedua di halaman tersebut merupakan kalimat narasi, bukan kalimat dialog. Tere Liye nampaknya lupa dengan tata cara penulisan novel yang sesuai dengan kaidah berbahasa Indonesia yang baik dan benar. Kemudian si Bapak Mangoenkoesoemo yang sudah satu setengah jam mengajar masih sempat-sempat nya naik  ke atas dek kapal untuk menjelaskan tentang latar belakang Kota Semarang ke Elsa dan Anna, apa ga capek gitu?

18. Halaman 198, paragraf ketiga: “…Inilah kota paling besar di seluruh Nusantara. Pusat perdagangan dan kantor Gubernur Jenderal Hindia. Besok atau lusa, kota ini akan menjadi pusat pemerintahan bangsa kita, bangsa yang merdeka. Mungkin orang tua sepertiku tidak sempat melihatnya tapi kalian akan menyaksikannya… ”  Seolah Gurutta begitu yakin atau lebih tepatnya punya ‘penerawangan’ ke depan bahwa nanti Indonesia (atau lebih tepatnya Nusantara) akan merdeka. Padahal di sekitar tahun 1945 Soekarno saja ragu bahwa Indonesia itu akan merdeka: dia masih sempat membungkukkan badan menyembah matahari untuk menjilat Jepang, serta menolak untuk memproklamirkan kemerdekaan sebelumnya akhirnya diculik dalam peristiwa Rengasdengklok. Sekali lagi Tere Liye lupa membedakan antara sebuah novel dengan pelajaran sejarah yang diajarkan di sekolah-sekolah yang berbasis kurikulum Kemendiknas.

19. Halaman 12, Benteng Fort Rotterdam sudah tidak digunakan lagi  sebagai basis operasional bagi pemerintah Belanda di tahun 1937 (lihat wikipedia).

20. Halaman 204, kayaknya si Tere Liye sangat terpukau dengan figur pelawak bolot sehingga memaksakan memasukkan karakter beliau ke dalam tokoh Mbah Kakung. Mbah Kakung pura-pura tuli dan kemudian mengakui ketuliannya tersebut di halaman berikutnya. Benar-benar Bolot…

21. Halaman 208, paragraf kedua dari terakhir, “Mbah Kakung Slamet sejenak menoleh. Menatap wajah Mbah Putri di sebelahnya. Itu tatapan penuh kasih sayang. Beberapa penumpang menelan ludah menyaksikannya. Ibu Anna menyeka ujung mata, ikut terharu.” Buat apa orang-orang menelan ludah hanya karena menyaksikan kakek dan nenek berusia 80 tahun saling memandang? Apanya yang bikin ngiler? Kemudian yang satu ngiler sementara yang satunya lagi menahan haru. Kesannya nuansa yang tercipta  tidak konsisten: tidak seragam rasa yang ditimbulkan antara orang yang satu dengan orang yang lain dalam dalam merespon kejadian yang sama.

22. Halaman 215. “… Orang-orang berlalu lalang dengan pakian khas zaman itu. Mestinya Tere Liye mendeskripsikan corak berpakaian khas “zaman itu” itu yang seperti apa? Kalo memang dia ga tau gimana cara berpakaian tahun 1938, ngapain dia buat novel dengan tema tahun 1938.

23. Halaman 219 paragraf kedua dari terakhir. Ga juga ketemu teman lama main bongkar kartu sampai segitunya.

24. Halaman 223, “Daeng Andipati tidak berhasil menemukan guru baru. Bukan karena waktunya terlalu mepet, melainkan ada kejadian kecil tapi serius di dek kapal,…”. Ini nyari guru mengaji di atas kapal tahun 38 kok hampir mirip dengan datangin penceramah kondang di jaman sekarang, sampai pake alasan “waktunya mepet” segala, hehe.

25. Halaman 224. Tahun 1938 itu belum ada sistem pasport ama visa, Anda boleh kemana aja tanpa perlu membawa dokumen imigrasi.

26. Halaman 224 paragraf kedua dari terakhir, Anna mengeluarkan suara puh pelan. Kok mirip ya.. dengan status facebook ABG jaman sekarang, fuuuuhhh… padahal ini tahun 38.

27. Halaman 256. Kalo Anda liat di peta Indonesia, akan nampak bahwa pegunungan Bukit Barisan itu tidak  menyentuh Bandar Lampung (atau Teluk Lampung). Jadi akan tidak mungkin terlihat dari pesisir pantai di seputaran Bandar Lampung adanya pemandangan Bukit Barisan. Lain halnya kalo yang dimaksud oleh  Tere Liye ini Teluk Semangka itu mungkin masih kelihatan Bukit Barisan nya.

28. Halaman 295, Tere Liye menggambarkan proses melahirkan Mbah Putri yang berlangsung secara independent. Ga tau di Sumatera Barat atau di Jawa, yang jelas di mana-mana itu baik jaman dulu maupun sekarang orang melahirkan selalu ada yang bantuin, entah dia dukun, bidan, atau dokter. Saya jadi teringat film tahun 80-an yang dibintangi oleh Barry Prima di mana ada orang melahirkan di samping kali dan anaknya langsung dikasi makan ama buaya, mungkin Tere Liye mendapat inspirasi dari situ. 

29. Kalimat atas nama kemanusiaan halaman 302. Ini tahun 38 bro…

30. Halaman 303. Paragraf ketiga dari terakhir, bicara aja harus pake tenaga?

31. Halaman 304. Paragraf ketiga: “ Bunda Upe diam sebentar. Menyeka hidung dengan ujung baju.” Sepertinya Tere Liye penggemar Iwan Fals, especially lagu Azan Subuh Masih di Telinga. Ya… ga harus pake ujung baju mungkin kalo ngelap ingus, pake lenso kek, sapu tangan kek, handuk kek. Kayak anak kecil aja ingus dilap pake ujung baju. Lagian ngapain cuma cerita seperti itu dibawa nangis? Anda bayangin aja gimana ibu-ibu pas ngegosip, cerita-cerita pengalaman pahit, dan sejenisnya. Ga juga sampe nyeka ingus pake ujung baju.

33. Halaman 337. Kata minggir berasal dari bahasa jawa. bukan bahasa melayu.

34. Halaman 346 paragraf ke-lima Ujaran “Eh” (yang juga dijumpai pada halaman 328 paragraf terakhir) tidak pernah digunakan dalam dialog berbahasa Indonesia. Seharusnya kalimatnya adalah “… Kosong, tidak ada siapa-siapa di ruangan itu. Ya?…. Mungkin Tere Liye keseringan nonton film Naruto atau film-film barat yang biasanya dipasangin substitle di mana ujaran ”Eh” itu kalo di-Bahasa-Indonesiakan setara dengan ujaran “Ah”.

35. Halaman 367-376. Sebenarnya itu plot yang terlalu dipaksakan kalo Daeng Andipati harus buka-bukaan tentang rahasia keluarganya hanya lantaran sebuah insiden kecil. Bukankah sejak kecil dia sudah biasa bersandiwara? Kejadian ketika dia datang dengan manis ke pemakaman ayahnya, jadi ternodai lantaran gara-gara sebuah upaya pembunuhan dia kemudian membuka sandiwaranya tersebut. Dan merupakan sebuah kejanggalan jika seorang tokoh yang dikenal sangat licik dan bejat di masyarakat (punya banyak tukang pukul dan jadi rentenir), sekaligus bisa menjadi tokoh yang dikagumi (banyak yang datang ke upacara pemakamannya).
Persis seperti kejadian Mbah Kakung yang dipaksakan menjadi Bolot, sekali lagi Tere Liye gagal dalam membentuk karakter dari tokoh yang dimunculkannya dalam novel ini.  

36. Frase “Rombongan Kesultanan Ternate” yang sering muncul di banyak halaman bisa ga dibahasakan dengan bahasa yang lebih deskriptif dan penuh warna a’la sebuah novel?

37. Halaman 465 paragraf terakhir, Kapal Blitar Holland dikatakan Transit sebentar di Aden. Yang jadi pertanyaan besar adalah yang transit ini kapalnya atau penumpangnya? Kalo kapalnya yang transit, transit ke mana, ke kapal lain (kapal di dalam kapal) atau ke apa? Kalo penumpangnya yang transit, bukankah dari pertama dikakatakan cuma ada satu kapal?

38. Halaman 485, bagaimana bisa seorang pelaut ulung membiarkan sebuah ombak memukul lambung kapal? Kecuali Anda baru pertama belajar menjalankan kapal, Anda pasti akan tahu agar kapal tidak terbalik maka harus dijalankan sejajar datangnya ombak. Kalopun pada akhirnya kapal terbalik, maka kemungkinannya ada dua, ombaknya terlalu besar/tinggi sehingga ketika selesai melewati ombak kapal oleng dan terjungkir (seperti yang terdapat di film Wolf of Wallstreet) atau kapalnya memang pada saat itu kemasukan banyak air  karena terlalu berlama-lama terjebak di dalam badai sehingga pada akhirnya oleng dan tenggelam. 

Satu-satuya kasus ketika kapal dipukul oleh ombak dan terbalik hanya pada kasus kapal kecil dan sang pengemudi tidak tahu bagaimana membaca situasi datangnya angin/ombak.

39. Halaman 486, Titanic nih ye….

40. Halaman 520. Sebenarnya di tahun-tahun 1938 itu belum ada yang namanya perompak di perairan Somalia. Ketika terjadi perang Sipil di Somalia di tahun 1991 negara Somalia sama sekali bisa dikatakan “tanah tidak bertuan”. Dan baru sekitar tahun 2005 ke atas, Somalia mulai dihuni oleh perompak dan bajak laut.

41. Halaman 522, dialog penuh “canda” antara bajak laut dan korban itu dalam kenyataannya sama sekali tidak ada. Kalo kapal Anda dibajak, maka Anda akan diperlakukan bak tahanan/sandera: disuruh tiarap, tangan diborgol, dibentak, disuruh ini itu dan lain-lain. Mungkin alam bawah sadar Tere Liye sedikit terpengaruh oleh tayangan berulang-ulang dari Pirates of Carribean yang sering muncul di RCTI.

42. Halaman 534, ini Serangan Umum Satu Maret ya…?

Friday, November 20, 2015

Penggunaan Regular Expression dalam Seleksi Tenaga Humas Kementrian Komunikasi dan Informatika

Tutorial Kali ini akan membahas salah satu kegunaan Regular Expression dalam melakukan Capturing Group. Jadi dengan teknik Capturing Group maka kita bisa mengekstrak elemen tertentu dari String yang match dengan Reguler Expression ketimbang mengambil secara keseluruhan. Dalam Bahasa Java, capturing group ini dihitung berdasarkan berapa jumlah kurung dari sebelah kanan pada Pattern Regex-nya. Misalkan kita memiliki Pattern seperti berikut ap(ple|a) dan diberikan sebuah string yang akan di-match apple, maka group(1) itu adalah akan menghasilkan string ple.

Nah, kebetulan kemarin diadakan seleksi tenaga Humas dari Kementrian Komunikasi dan Informatika yang konon gaji yang diberikan adalah sebesar 18 juta sebulan. Saya tertarik ikutan mendaftar walaupun ujung-ujungnya gagal di tahap seleksi berkas. Ternyata dalam tahap seleksi berkas ini peserta yang ikutan mendaftar sebanyak 1779 orang dari seluruh provinsi yang berada di NKRI. Nah, saya melihat ternyata ada ketidakseimbangan distribusi peserta antar provinsi yang terlihat dari jumlah peserta berdasarkan KTP nya. Di dalam nomor peserta yang akan mengikuti seleksi berkas tersebut, digunakan identitas berdasarkan KTP. Dan kita sudah tahu bagaimana aturan menentukan asal daerah seseorang berdasarkan nomor NIK pada KTP-nya.

Menurut pengalaman saya sendiri waktu melakukan pendaftaran online di situs Panselnas, memang agak sulit untuk bisa login. Di samping itu, bisa jadi informasi tentang lowongan ini tidak banyak diketahui oleh orang-orang. Bayangkan, untuk daerah Sulawesi Tengah saja hanya ada 7 orang peserta termasuk saya sendiri.

Jadi sama seperti tutorial yang saya sudah buat sebelumnya tentang bagaimana mengextract tex pada file pdf dan memfilternya dengan regex, maka tutorial kali ini lebih menekankan pada teknik Capturing Group nya. Dokument pdf yang akan diextract bisa dilihat di sini.

Saya menggunakan listing berikut untuk melakukan extraksi kontennya:

Pada baris ke 26 dalam listing di atas, Anda bisa melihat bagaimana Pattern "([0-9]{1,5})\\s(THP-[0-9]{2}-([0-9]{16}))\\s[0-9]{2}\\sOktober" + "\\s2015\\s[0-9]{2}:[0-9]{2}-[0-9]{2}:[0-9]{2}" mengandung sejumlah kurung '()' yang menandakan expresi Capturing Group. Jadi dengan kode yang tertera di dalam kurung tersebut kita bisa mengambil bagian tertentu pada String yang match dengan regex untuk kemudian di proses lebih lanjut. Misalkan dalam seleksi humas tersebut NIK peserta ditambahkan dengan awalan 'THP-' maka dengan teknik capturing group ini kita membuang awalan 'THP-' nya tersebut dan hanya mengambil NIK nya.

Hasil running script di atas bisa dilihat di link ini.

Thursday, November 5, 2015

Lika-liku hidup Mohammad Fajar, bagian 1

Entah kenapa saya merasa ada yang aneh dengan hidup saya. Sepertinya hidup di dunia bagi saya hampir mirip dengan tinggal neraka. Tidak ada ketenangan. Saya ga tau kenapa ya, kok orang-orang begitu tertarik menyindir-nyindir kekurangan saya. Dan kalo saya disindir, saya tersinggung.

If you want to change the world, change the world. Sistem saraf simpatik yang mengendalikan laju denyut jantung dan tekanan pembuluh darah itu sifatnya otonom, tidak bisa dikontrol oleh kesadaran kita. Sementara mulut manusia dalam berbicara mengeluarkan kata-kata itu bisa dikontrol oleh kesadaran. Sistem saraf otonom (baik simpatik dan parasimpatik) adalah produk evolusi manusia selama jutaan tahun. Sementara kebiasaan nyindir dan menghina orang lain adalah produk dari budaya atau kultur: kebiasaan di masyarakat yang bisa dirubah.

Kalo saya disindir, membran telinga saya mendengar getaran suara tertentu yang bisa dipahami oleh otak manusia. Kata-kata yang oleh otak saya ditafsirkan sebagai sebuah kebencian. Kata-kata kebencian ini oleh nenek moyang kita yang hidup ribuan tahun yang lalu, dianggap sebagai simbol bahaya. Akibatnya terdapat mekanisme tertentu dalam tubuh yang belangsung di bawah kesadaran kita yang membuat ancaman bahaya ini memicu saraf simpatik tadi mempercepat denyut jantung.

Analogi yang mudah adalah bisa ga saudara pembaca sekalian mengontrol kapan terjadi ejakulasi saat berhubungan seksual? Bisakah pembaca sekalian mengontrol agar kemaluan saudara tetap tegang tanpa ejakulasi selama berjam-jam bergesekan dengan vagina wanita? Saya rasa hampir semua pembaca akan mengatakan tidak bisa.

Nah itu dia kuncinya. Kita ga bisa mengendalikan laju denyut jantung kita. Kalo kita melakukan aktivitas berat, misalnya joging, secara otomatis denyut jantung kita akan berlangsung lebih cepat ketimbang biasanya. Dan itu di luar kendali kita.

Jadi kalo ada saudara-saudara pembaca di sini yang mengenal saya dan menganggap saya gampang emosi, gampang tersinggung, gampang marah, gampang kecewa, dll ya… silakan buka kembali buku pelajaran Ilmu Pengetahuan Alam kelas 4 SD yang membahasa sistem saraf otonom tadi.

Yang perlu saudara pahami adalah kultur atau kebiasaan manusia itu bisa dirubah. Sementara sistem kerja tubuh manusia itu sama sekali tidak bisa dirubah. Jika Anda percaya teori evolusi Darwin, maka itu perlu waktu jutaan tahun untuk merubah manusia menjadi malaikat atau sesuatu yang lain.

Sebenarnya saya ini kalo dibilang temperamen, ga juga temperamen-temperamen amat. Hanya saja yang jadi masalah adalah wajah saya. Ada yang salah dengan wajah saya. Dan ini membuat hidup saya menjadi sangat runyam. Kalo Anda dapati ada manusia yang diperlakukan seperti saya (dalam artian dihina dan disindir terus-terusan) dan masih hidup di alam bebas (belum masuk bui), maka itu adalah sebuah keajaiban. Saya ini sangat…. sangat…. sangat… sabar kalo menurut penilaian objektif saya.

Saking sabarnnya saya, saya hanya milih-milih melakukan tindak kekerasan terhadap orang lain. Sementara hinaan dan sindiran yang datang pada saya itu bertubi-tubi tiap hari. 

Tuesday, October 13, 2015

Perkembangan Embrio (janin) di Dalam Al-Quran

Salah satu topik fenomenal yang dijadikan senjata ampuh oleh para simpatisan Islam dalam membela kebenaran Islam adalah masalah perkembangan janin di dalam kandungan. Dikatakan bahwa Al-Quran surat Al-Mu’minun ayat 12-14 sangat detail membahas mengenai masalah ini.

Misalnya dikatakan bahwa mula-mulai bayi berada dalam fase sperma yang dipancarkan (nutfah), kemudian masuk fase segumpal darah (alaqah), kemudian masuk fase segumpal daging (mughdah), kemudian terbentuknya tulang (fase kelima), kemudian fase ke enam adalah tulang tadi kemudian dibungkus oleh daging, dan yang terakhir adalah mengubahnya ke dalam bentuk yang lain.

Tulisan kali ini kembali ingin meluruskan kesalahan/dosa yang sering dilakukan oleh pemikir pemikir muslim tersebut. Kesalahan utama mereka adalah menggunakan sains sebagai alat tafsir Al-Quran dan mengesampingkan peran Hadits. Padahal jaman dahulu para pemikir bahkan sampai dipenggal lehernya lantaran mengatakan Al-Quran itu sebagai makhluk. Alam semesta dan prinsip kerjanya (hukum-hukum yang mendasarinya) di mata para ulama salaf adalah makhluk. Sementara Al-Quran mendahului itu semua (Qadim). Ilmuan muslim modern bukan hanya mengulang bidah tersebut, namun lebih jauh lagi yakni dengan mencoba membuang peran Hadits sebagai penafsir utama isi Al-Quran karena ketakjuban mereka terhadap sains.

Terdapat beberapa wawasan umum yang bisa diketahui pembaca untuk melihat persoalan ini secara lebih objektif (dan membuang kefanatikan yang ada di kepala pembaca). 

Pertama, dalam beberapa Hadits sudah disebutkan bahwa fase perkembangan janin di dalam kandungan itu masing-masing berlangsung selama 40 hari. Artinya fase mula-mula yakni fase sperma tadi berlangsung selama 40 hari.  Padahal nyatanya dalam pengetahuan modern fase sperma itu tidak lebih dari 7 hari. Demikian pula pada hari ke 80, bentuk janin itu sudah mulai ‘terdefinisi’ secara jelas, dan tidak bisa lagi bisa dikatakan sebagai segumpal darah.

Kedua,  pernyataan Al-Quran bahwa tulang mendahului daging sama sekali bertentangan dengan fakta yang diketahui dalam pengetahuan modern di mana yang terjadi adalah tulang dan daging (otot) itu berkembang secara bersamaan (bukan yang satu mendahului yang lain) dan berasal dari substansi yang sama yang dikenal sebagai mesoderm.

Ketiga, tidak ada peran sel telur di sini. Dikatakan bahwa pasangan laki-laki dan perempuan semata-mata berasal dari sel sperma. Dan rahim hanya berperan sebagai penampung sperma tersebut. Tidak ada sebutan secara eksplisit bahwa sperma membuahi sel telur. Terdapat  usaha yang  sia-sia dalam menerjemahkan kalimat nutfa amsyaji sebagai air yang bercampur. Sementara terjemahan yang biasa digunakan untuk kata nutfah itu (yang bisa ditemukan pada ayat-ayat lain) adalah sperma (air mani).

Keempat, (dalam kaitannya dengan ayat Al-Quran yang lain) sperma itu bukan berasal dari tulang sulbi, tulang  rusuk, atau apalah istilahnya. Akan tetapi berasal dari testis. 

Soal kenapa Nabi Muhammad bisa memiliki pengetahuan tentang embriologi ini sebenarnya saya juga kurang begitu paham. Tapi kita bisa menggunakan beberapa analisis sejarah. Misalnya saja jauh sebelum Nabi Muhammad itu sudah terdapat beberapa pemikir-pemikir kuno yang merumuskan proses perkembangan janin ini. Dua di antaranya adalah Aristoteles dan Galen. Dan pemikiran-pemikiran mereka ini menyebar ke seantero mediterania termasuk di jazirah Arab. Dan budaya penyebaran informasi pada waktu itu yang hanya sebatas dari mulut ke mulut mengakibatkan apa yang sampai ke Nabi Muhammad hanya ringkasannya saja.

Referensi:
http://www.answering-islam.org/Quran/Science/embryo.html

Friday, October 9, 2015

Hubungan Golden Rasio dengan Kota Mekkah

Tulisan kali ini membahas mengenai Golden Ratio (Rasio Emas, atau sebut saja Golden Rasio aja lah). Jadi di beberapa situs muslim sering dijumpai tulisan yang membahas mengenai Golden Rasio ini yang disangkut pautkan dengan posisi Ka’bah sebagai arah kiblat umat Islam. Dan ini dijadikan alasan oleh para simpatisan Agama Islam untuk menjustifikasi kebenaran Islam: bahwa Al-Quran adalah kitab yang keluar langsung dari mulut pencipta alam semesta ini. Kenapa saya gunakan kata mulut di sini, adalah karena di Al-Quran sendiri sudah disebutkan bahwa Allah itu juga memiliki anggota tubuh seperti halnya manusia. Dan seperti halnya tulisan-tulisan saya yang lain, tulisan ini bermaksud meluruskan kekeliruan kekeliruan tersebut.

Apa itu Golden Rasio? Dan bagaimana Golden Rasio ini bisa begitu fenomenal, bahkan mencakup ke bidang-bidang lain yang sama sekali tidak ada sangkut pautnya. Sejarah valid mengenai Golden Rasio bermula ketika matematikawan besar asal Yunani (kuno) bernama Euclid mengajukan pertanyaan yakni, jika diberikan sebuah garis AE, tentukan titik B di mana rasio AE/AB = AB/BE (lihat gambar).

 2
Jawaban pertanyaan inilah yang menghasilkan nilai Golden Rasio itu (yakni panjang AE) yang besarnya adalah 1.618033. Soal apakah Euclid sendiri yang pertama-tama menemukan Golden Rasio ini ataukah Euclid hanya merangkum hasil pemikiran ilmuan sebelumnya tidak bisa ditentukan secara pasti. Konon terdapat beberapa catatan sejarah (yang masih diperdebatkan) bahwa konsep Golden Rasio ini sudah dikenal sejak abad ke 24 sebelum masehi. 

Dikatakan bahwa nilai Golden Rasio ini banyak dijumpai di alam. Contohnya terdapat hewan laut bernama Nautilus (yang saya kurang tau apa bahasa sundanya, untuk lebih jelasnya lihat gambar) yang bentuk cangkangnya itu tunduk pada aturan Golden Rasio.  Kemudian spiral galaksi bimasakti yang juga dikatakan tunduk pada aturan Golden Rasio. Kemudian juga cara pengaturan fret pada alat musik gitar yang juga dikatakan tunduk pada aturan Golden Rasio, dan masih banyak hal lainnya. 

Nautilus-Large 
Namun kebetulan saya seorang ilmuan, maka saya skeptis dan mempertanyakan hal-hal tersebut. Apa iya bentuk spiral dari galaksi tunduk pada aturan Golden Rasio? Apa iya bentuk cangkang Nautilus tunduk pada Golden Rasio? Apa iya jarak fret pada gitar tunduk pada aturan Golden Rasio?

Sebenarnya saya mendapati sebuah artikel ilmiah di internet yang ditulis oleh fisikawan yang isinya mengkritisi keistimewaan Golden Rasio ini.  Dalam tulisan tersebut kita diperintahkan bahwa untuk membuktikan bahwa hal-hal yang disebutkan tersebut tunduk pada aturan Golden Rasio atau tidak maka kita harus mengukurnya. Fisikawan itu diperintahkan untuk mengukur, bukan sekedar berasumsi. Kemarin saya waktu kuliah S1, semester pertama diajarkan mengenai konsep-konsep penting di dalam pengukuran antara lain nilai skala terkecil (NST), ketelitian pengukuran relatif (KTPR), angka berarti (AB), standar deviasi (SD), dan lain-lain tetek bengek. Sebenarnya saya lebih senang matematikanya ketimbang fisikanya sehingga saya tidak terlalu menghayati kegiatan pengukuran ini, walaupun belakangan saya baru tahu bahwa itu semua ada manfaatnya. Jadi di dalam pengukuran ini dikatakan bahwa pengukuran valid jika nilai eror itu berada di rentang plus minus 2 persen.

Ternyata setelah diukur oleh para ilmuan, nilai cangkang Nautilus itu berada pada jarak yang sangat jauh berbeda dengan nilai Golden Rasio (di luar rentang plus minus 2 persen). Nilai rasio cangkang Nautilus secara umum (dengan mengambil sebanyak mungkin sampel cangkang) berada pada rentang 1.23 hingga 1.43, yang tentunya sangat jauh dari nilai 1.61 nilai Golden Rasio. Ini berarti dugaan kita selama ini bahwa nilai rasio cangkang Nautilus tunduk pada Golden Rasio tidak lebih dari sekedar duga-duga. Ada nilai lain yang dikatakan hampir mendekati rasio cangkang Nautilus  yang disebut sebagai Silver Rasio (lha istilah apa lagi ini…) yang nilainya 1.411 (atau lebih tepatnya 1  + akar(2)). Anda bisa baca artikel tersebut untuk melihat elaborasi yang lebih lengkapnya. Saya hanya berharap nama Euclid tidak ketutup ama si penemu Silver Rasio ini lantaran persoalan cangkang Nautilus.

Untuk kasus lain, misalnya rasio fret pada gitar silakan pembaca melakukan pengukurannya sendiri. Saya hanya bisa pesan satu hal: gunakan metode pengukuran yang valid serta jangan lupa berkonsultasi pada pakar fisika terdekat. Kali aja pembaca bisa buat jurnal dari situ dan dapat dana hibah.

Kemudian soal apakah spiral Galaksi Bimasakti atau galaksi lainnya benar-benar tunduk pada Golden Rasio ini merupakan persoalan yang sangat sulit, rumit, dan tentunya sangat makan ongkos. Pertama-tama pembaca harus masuk ke universitas bergengsi dan mengambil jurusan astronomi. Gunanya adalah agar pembaca bisa mengakses alat-alat yang dibutuhkan dalam mengukur posisi bintang-bintang dengan ketelitian yang cukup dan kemudian memetakannya. Setelah itu pembaca baru kemudian melakukan sintesis apakah bentuk spiral galaksi itu tunduk pada Golden Rasio ataukah Silver Rasio. Ini demi menjaga nama Euclid jangan sampai ditindis oleh nama si penemu Silver Rasio tersebut, hehe.

Ok, kita kembali ke judul tulisan ini.

Jika pembaca benar-benar memahami maksud paragraf-paragraf sebelumnya, maka tulisannya saya cukupkan sampai di sini.

Tapi okelah, kita teruskan saja dalam membedah apakah benar-benar ada hubungan antara Euclid dan Kota Mekkah, atau lebih tepatnya apakah ada hubungan antara Golden Rasio dengan lokasi Ka’bah sebagai arah sujud umat Islam.

Pada banyak artikel di internet sudah disebutkan bahwa konon lokasi Ka’bah itu berada pada Golden Rasio jika dihubungkan dengan posisi kutub utara dan kutub selatan bumi.  Sebenarnya ini bisa dengan mudah dibantah oleh tulisan saya sebelumnya  bahwa posisi kota-kota di permukaan bumi itu tidak tetap, akan tetapi dinamis sepanjang tahun. Hal ini dikarenakan pergeseran lempeng bumi akibat pengaruh gaya tektonik. Yang dikatakan kecepatannya sekitar 2 cm per tahun.

Namun dalam tulisan kali ini saya menambah sanggahan-sanggahan terhadap asumsi-asumsi tersebut dengan hanya menggunakan pemahaman dasar fisika. Saya menggunakan substansi yang diberikan pada artikel di sebuah halaman web. Di halaman tersebut dikatakan bahwa memang kota Mekkah hampir mendekati lokasi Golden Rasio Euclid tersebut, namun tidak persis. Lokasi Kota Mekkah berada pada lintang (analog dengan lokasi pada sumbu y) 21 derajat, 25 menit dan 38.56 detik. Sementara lokasi Golden Rasio Euclid (dengan mengambil 15 digit belakang koma) untuk permukaan bumi berada pada lintang 21 derajat, 14 menit, dan 46.02 detik. Jika dibandingkan antara keduanya ternyata terdapat eror sekitar 0.1 persen. Eror ini menandakan bahwa posisi Kota Mekkah bukannya berada tepat pada Golden Rasio Euclid tadi, tapi berada sekitar 20 kilometer ke arah utara.

Itu baru lintang, belum bujurnya. Posisi pada bidang datar tidak bisa diwakilkan oleh satu angka saja, minimal dua angka (karena ternyata permukaan bumi tidak sepenuhnya bisa dikatakan bidang datar). Jika kita hanya mengambil posisi lintangnya saja, maka ada banyak kota di permukaan bumi yang berada pada  lintang Golden Rasio (atau mendekati lintang Golden Rasio). Harus ada posisi pada garis bujurnya (analog koordinat x pada bidang datar).

Dan ternyata  untuk  menentukan acuan Golden Rasio garis bujur ini tidak sesederhana garis lintang yang udah jelas-jelas berpatokan pada kutub permukaan bumi. It’s a matter convinience. Itu tergantung Anda mau nentuin titik nol nya di mana. Nah, kalo sudah begini maka tulisan saya yang berbaris-baris ini hanya non-sense aja, hahaha…

Jadi intinya adalah mau Anda ngatain Mekkah berada pada Golden Rasio, Paris berada pada Silver Rasio, atau New York berada pada Diamond Rasio, dll itu hak Anda sepenuhnya. Yang saya minta hanya satu, jangan lupakan konsep dasar yang biasa digunakan dalam pengukuran, antara lain KTPR (ketidakpastian relatif), NST (nilai skala terkecil), AB (angka berarti), dll.

Wednesday, September 2, 2015

Sesuaikan Posisi Slider Dengan Skala Zoom Image

Dalam video kali ini saya hanya ingin mendemonstrasikan bahwa dalam WPF itu kita bisa mengatur agar posisi slider proporsional dengan nilai zoom dari image. Pada aplikasi yang dibuat, terdapat sebuah slider dan beberapa buah image. Jadi hanya ada satu slider sementara image nya ada banyak. Persoalannya adalah bagaimana agar si slider tadi keep-track dengan skala image. Jadi Ketika slider tersebut di gerakan, perubahan skala pada image itu berubah secara kontinyu.

Bayangkan jika slidernya nilainya maksimal, sementara Image zoom-nya minimum, maka ketika kita menyentuh slider akan terjadi lompatan perubahan skala image yang tadinya dari sangat kecil menjadi sangat besar. Untuk menghindari ini, maka skala image dan slider nya mesti di sinkronkan.

Thursday, August 20, 2015

Menggantikan Recursive Call dengan Stack

Salah satu hal yang paling sering di-identikkan dengan recursive dalam dunia pemrograman adalah bagaimana membaca struktur dari directory. Secara umum struktur dari directory adalah pertama kita melakukan iterasi terhadap root directory. Dalam  root directory terebut kita kemudian membagi jenis item di dalamnya, apakah masuk ke dalam file atau directory. Jika masuk ke dalam kategori file, maka langsung set sebagai item pada Treeview. Jika masuk kategori folder, panggil kembali method-nya untuk melakukan  iterasi yang sama.

Masalahnya adalah teknik ini akan mengakibatkan akumulasi pemanggilan terhadap method pada memory stack. Dan akibatnya terjadi StackOverflow. Untuk mengatasinya kita menggunakan teknik lain yakni dengan menggunakan struktur data Stack. Dengan Stack ini pertama-tama kita iterasi semua folder pada root directory, masukkan ke dalam Stack. Item yang terakhir dimasukkan kemudian dikeluarkan dari stack (di-pop) untuk diperiksa isinya. Jika terdapat folder di dalamnya, maka masukkan folder tersebut ke dalam stack. Jika file yang ditemukan, langsung isi elemen dari TreeView dengan file tersebut.

Misalnya elemen stack tersebut adalah folder dengan urutan A|B|C|D. Jika kita sudah mem-pop folder A. Maka kita akan menggantikan posisinya dalam stack dengan sub-folder dari A dengan mem-push sub folder tersebut ke dalam stack. Sehingga urutan stack berubah  menjadi A3|A2|A1|B|C|D. Kemudian kita mem-pop A1 dan diperoleh sub-folder di dalamnya. Kita mem-push sub folder tersebut ke dalam stack dan struktur stack berubah menjadi A33|A32|A31|A2|A1|B|C|D. Karena A3 hanya terisi file, maka tinggal kita pop untuk dimasukkan sebagai item di Treeview,  demikian juga A32. Jadi Struktur stack berubah menjadi A31|A2|A1|B|C|D. Kita masuk pada A31, dan ternyata isinya ada sub folder lain, dan lantas kita push pada stack dan stack berubah menjadi A312|A311|A2|A1|B|C|D. Hal ini dilakukan seterusnya sehingga isi dari stack menjadi kosong dan semua folder dan sub folder beserta item di dalamnya masuk ke dalam Treeview.

Wednesday, August 19, 2015

Aplikasi 17 Agustus (Aplikasi pemutar musik 3D di javaFX)

Kebetulan kemarin tanggal 17 Agustus yang merupakan hari ulang tahun kemerdekaan Indonesia maka saya mencoba membuat sebuah aplikasi yang ada kaitannya dengan 17 Agustus. Dan kebetulan saya akhir-akhir ini lagi tertarik bermain-main dengan library JavaFX maka saya akhirnya membuat aplikasi ini dengan JavaFX.

Sebenarnya saya bukan fanatikus JavaFX. Aplikasi yang saya buat ini adalah aplikasi pemutar musik. Dan untuk membuat aplikasi pemutar musik, maka kita harus membuat codec. Sayangnya untuk membuat codec tersebut, kita harus paham digital signal processing, paham bahasa c++, belajar dikit format-format codec yang sudah ada, antara lain mp3, flac, dll. Dan di luar sana, sudah banyak aplikasi pemutar musik yang tersedia yang menggunakan codec-codec yang sudah umum di pasaran. JavaFX kemudian hanya merangkai codec-codec tersebut ke dalam library pemutar media buatan mereka. Jadi yang saya lakukan bisa dibilang hanya sebatas memanggil library tersebut atau sekedar "building a car" bukan me-"reinventing the wheel".

Pada program kali ini, saya hanya menunjukkan beberapa teknik baku dalam implementasi element UI, misalnya bagaimana drag n drop file ke listview. Atau bagaimana memodifikasi item-item yang terdapat pada listview.

Perhatikan video berikut:



Source code:
https://github.com/gunungloli666/3dEqualizer

Sekedar referensi:
https://en.wikipedia.org/wiki/Audio_coding_format
https://en.wikipedia.org/wiki/Codec

Tuesday, August 18, 2015

Tutorial Data Binding di JavaFX

Dalam tutorial kali ini saya akan memberikan  contoh bagaimana menggunakan konsep data binding di JavaFX. Sebenarnya ini terinspirasi dari sebuah kursus yang saya ikuti kemarin mengenai penggunaaan WPF (Windows Presentation Foundation) yang konsepnya juga hampir mirip dengan JavaFX.

Defenisi data binding sendiri adalah bagaimana perubahan yang dialami oleh sebuah element UI (misalnya button) langsung direfleksikan pada elemen UI yang lain (misalnya panel atau window). Jadi ketika kita merubah lebar button, maka lebar panel secara serta merta ikutan berubah. Dalam konsep  UI jadul, misalnya yang dijumpai pada Jawa Swing, hal ini amat rumit untuk diaplikasikan. Bisa sih, namun kode yang kita buat agak kotor. Kita mungkin bisa mendeteksi event click mouse yang dilakukan pada sebuah button atau event mouse drag. Namun bagaimana kalau sudah hal-hal semisal perubahan property lebar atau tinggi button tersebut, tentu cukup sulit untuk mendeteksinya. Salah satu cara kotor untuk menempuhnya antara lain dengan membuat sebuah thread yang secara periodik mengecek perubahan pada ukuran button tersebut untuk kemudian merefleksikannya pada panel.

Pada WPF, teknik data binding biasanya dilakukan secara langsung pada XAML. Namun kemudian saya menyadari bahwa cara ini kurang tepat. Hal ini karena  antara property-property yang di-binding biasanya tidak proporsional nilainya. Misalnya jika kita mem-binding lebar button dengan lebar panel (atau window), tentu itu kurang tepat karena secara umum lebar button jauh lebih kecil dari lebar panel. Jadi kita harus melakukan operasi aritmatika di situ. Misalnya dengan mengeset lebar button setengah atau seperempat dari lebar window.

Masalahnya adalah kita tidak bisa menyertakan operasi aritmatika ke dalam file XAML (atau sebut saja XML). Jadi mau tidak mau kita harus letakkan pengesetan tersebut pada code behind-nya. Dan ini sudah diantisipasi oleh JavaFX.

Jadi dalam JavaFX tersebut sebuah UI element (misalnya window) properti propertynya sudah mengantisipasi adanya event yang terjadi. Dalam Java Swing, sebuah window (atau dalam terminologinya disebut sebagai JFrame) hanya memiliki width atau height saja. Dalam JavaFX, sebuah window (atau dalam terminologinya disebut sebagai Stage) width dan height nya itu sudah berubah menjadi widthProperty dan heightProperty yang bisa diberikan listener jika terjadi sebuah event. Perhatikan video berikut.



Dalam video di atas, jelas bahwa lebar button tidak mungkin di binding secara langsung dengan lebar window, akan tetapi harus dikalikan sebuah rasio tertentu.

Video berikut ini sebuah contoh bagaimana di JavaFX terdapat objek khusus yakni objek text yang tidak dijumpai pada WPF.

package fjr.test.binding;

import javafx.application.Application;
import javafx.beans.InvalidationListener;
import javafx.beans.Observable;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TestBindingButton extends Application{

 Stage prStage; 
 
 Button testButton; 
 
 @Override
 public void start( Stage primaryStage) throws Exception {
  
  AnchorPane pane = new AnchorPane();
  
  Scene sc  = new Scene(pane, 500, 400) ; 
  
  primaryStage.setScene(sc); 
  
  primaryStage.show();
  
  this.prStage = primaryStage; 
  
  getChildren(pane);
  
  primaryStage.widthProperty().addListener(new InvalidationListener() {
   
   @Override
   public void invalidated(Observable arg0) {
    testButton.setPrefWidth(prStage.getWidth()/3.0) ;
    testButton.setPrefHeight(prStage.getHeight()/10.0);
   }
  });
   
 }
 
 
 private void getChildren(Pane p){
  
  VBox box1 = new VBox(); 
  box1.setSpacing(5);
  box1.setTranslateX(10);
  box1.setTranslateY(10);
  
  
  final Button b1 = new Button("COBA"); 
  b1.setPrefWidth(prStage.getWidth()/3.0) ;
  b1.setPrefHeight(prStage.getHeight()/10.0);  
  box1.getChildren().add(b1); 
  
  
  final Button b2 = new Button("ACUAN"); 
  b2.setPrefWidth(prStage.getWidth()/3.0) ;
  b2.setPrefHeight(prStage.getHeight()/10.0);  
  box1.getChildren().add(b2); 
  
  this.testButton = b1; 
  
  p.getChildren().addAll(box1); 
 }
 
 public static void main(String[] args){
  launch(args);
 }
}
package fjr.test.binding;

//import java.awt.Button;
import java.util.Random;

import javafx.animation.Interpolator;
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.beans.InvalidationListener;
import javafx.beans.Observable;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Orientation;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Duration;


public class TestBindingFont extends Application{
 
    private static final Random RANDOM = new Random();
    private static final Interpolator INTERPOLATOR = Interpolator.SPLINE(0.295,0.800,0.305,1.000);
    Pane p; 
    
    Font font = new Font (Font.getDefault().getFamily(), 60 ) ; 

 @Override
 public void start(Stage primaryStage) throws Exception {
  // TODO Auto-generated method stub
  
  final AnchorPane pane = new AnchorPane(); 
  Scene sc = new Scene(pane, 500,500 ); 
  
  primaryStage.setScene(sc);
  primaryStage.show(); 
  
  pane.setFocusTraversable(true); 
  pane.setOnMousePressed(new EventHandler() {
   @Override
   public void handle(MouseEvent me) {
    pane.requestFocus();
    me.consume();
   }
  });
  
  pane.setOnKeyPressed(new EventHandler() {
   @Override
   public void handle(KeyEvent ke) {
    createLetter(ke.getText()); 
    ke.consume();
   }
  });
  
  p = pane; 
  
  final Slider s = new Slider(); 
  s.setTranslateX(10); 
  s.setTranslateY(10); 
  s.setPrefWidth(150); 
  s.setOrientation(Orientation.HORIZONTAL);
  s.setMin(1); 
  s.setMax(10); 
  s.valueProperty().addListener(new InvalidationListener() {   
   @Override
   public void invalidated(Observable arg0) {
    double m = s.getValue(); 
    Font f2  = new Font(Font.getDefault().getFamily(), 60 * m); 
    font = f2; 
    for( Node  t : p.getChildren()){
     if(t instanceof Text){
      Text tt = (Text) t; 
      tt.setFont(f2);
     }
     
    }
   }
  });
  
  VBox box = new VBox(); 
  box.setSpacing(5); 
  
  pane.getChildren().add(box);
  box.getChildren().add(s); 
  
  Text t  = new Text("Ketikan sesuatu di Keyboard!!"); 
  t.setTranslateX(10);
  t.setTranslateY(20); 
  Font f = Font.font(Font.getDefault().getFamily(), FontWeight.BOLD , FontPosture.ITALIC , 20); 
  
  t.setFont(f); 
  
  box.getChildren().add(t);  
  
  t.setFill( new LinearGradient(0f,1f,1f,0f,true, CycleMethod.NO_CYCLE, 
      new Stop(0,Color.web("#f8bd55")),
                        new Stop(0.14f,Color.web("#c0fe56")),
                        new Stop(0.28f,Color.web("#5dfbc1")),
                        new Stop(0.43f,Color.web("#64c2f8")),
                        new Stop(0.57f,Color.web("#be4af7")),
                        new Stop(0.71f,Color.web("#ed5fc2")),
                        new Stop(0.85f,Color.web("#ef504c")),
                        new Stop(1,Color.web("#f2660f"))));

 }
 
  private void createLetter(String c) {

         final Text letter = new Text(c);
         letter.setFill(Color.BLACK);
         letter.setFont(font);
         letter.setTextOrigin(VPos.TOP);
         letter.setTranslateX((p.getWidth() - letter.getBoundsInLocal().getWidth()) / 2);
         letter.setTranslateY((p.getHeight() - letter.getBoundsInLocal().getHeight()) / 2);

         p.getChildren().add(letter);

         final Timeline timeline = new Timeline();
         timeline.getKeyFrames().add(
                 new KeyFrame(Duration.seconds(6), new EventHandler() {
                     @Override public void handle(ActionEvent event) {
                         p.getChildren().remove(letter);
                     }
                 },
                 new KeyValue(letter.translateXProperty(), getRandom(0.0f, p.getWidth() - 
                   letter.getBoundsInLocal().getWidth()),INTERPOLATOR),
                 new KeyValue(letter.translateYProperty(), getRandom(0.0f, p.getHeight() - 
                   letter.getBoundsInLocal().getHeight()),INTERPOLATOR),
                 new KeyValue(letter.opacityProperty(), 0f)
         ));
         timeline.play();
     }
 
  private static float getRandom(double min, double max) {
         return (float)(RANDOM.nextFloat() * (max - min) + min);
     }
  
 public static void main(String[] args){
  launch(args);
 }

}

Tuesday, August 4, 2015

Hubungan Antara Allah dengan Nomor Atom Besi

Apakah benar alam semesta ini ciptaan Tuhan adalah perdebatan yang tidak ada habisnya. Namun kita hanya bisa melakukan analisa tanpa bisa melakukan  verifikasi lebih jauh. Dalam diskusi mengenai ada atau tidaknya Tuhan ini, saya pernah menjumpai sebuah perdebatan antara muslim dan atheis. Si muslim kemudian mengajukan fakta bahwa ternyata nomor atom besi  jumlahnya sama dengan jumlah kata Allah di dalam Al-Quran. Ini kemudian dijadikan bukti bahwa tidak mungkin seorang badui di padang pasir arab mengadakan bualan semacam ini. Pasti ada the man behind the scene.

Bahasan mengenai mukjizat saintifik dalam Al-Quran pada banyak kasus tidak lebih dari sekedar kajian yang absurd. Hal yang mendasarinya adalah Al-Quran itu bukan kitab sains. Untuk membahas Al-Quran terlebih dahulu kita harus tahu sejarah dibalik penurunan Al-Quran. Kita tidak bisa secara apriori mengatakan bahwa semua “hal-hal aneh” yang terjadi selama penurunan Al-Quran adalah omong kosong (misalnya dengan menganggapnya sebagai bualan Ibnu Ishaq, Ibnu Haytam, Al-Tabari dll) lantaran adanya fakta-fakta sains yang kita temukan. Para ahli sejarah Islam sudah melakukan pengkajian secara komprehensif mengenai kejadian-kejadian yang melatarbelakangi penurunan Al-Quran (beberapa dari mereka adalah orang yang hafal seluruh isi Al-Quran). Hal yang paling maksimal yang bisa kita lakukan hanya sebatas mempelajari peninggalan mereka tersebut dan berprasangka baik terhadap mereka. 

Salah seorang muslim berkata bahwa Al-Quran memaparkan secara detail peristiwa Big Bang: bahwa bumi dan langit pada awalnya bersatu sebelum kemudian dipisahkan. Big Bang sendiri adalah salah satu model yang diajukan ilmuan untuk menjelaskan asal-usul alam semesta. Sementara model hanya bisa bekerja berdasarkan ada atau tidaknya data penunjang. Bisa jadi di kemudian hari diperoleh data-data lain (semisal bencana ultraviolet kedua) yang kemudian merontokkan atau mengkoreksi pemahaman fisis kita saat ini (termasuk model Big Bang tersebut). Sehingga alih-alih Big-Bang, dicari lah model baru dalam menjelaskan asal-usul alam semesta. Dan kemudian ayat Big-Bang itu direinterpretasi kembali dan menghasilkan makna lain dari yang kita imani saat ini.
Secara teologi kita sudah diajarkan, bahwa yang paling tahu tentang isi Al-Quran itu hanya Allah dan Nabi Muhammad. Dan berdasarkan Hadits yang diriwayatkan ke kita, tidak pernah sekalipun Al-Quran itu membahas persoalan Big Bang. Justru pada ayat yang lain, malah Al-Quran mengatakan bahwa antara langit dan bumi itu terdapat tiang-tiang penopang (mudah-mudahan ilmuan muslim masa depan bisa menjelaskan maksud ayat ini). Dan pada ayat yang lain dikatakan lagi bahwa  matahari berputar mengelilingi bumi yang kemudian diperkuat oleh penafsiran Nabi Muhammad mengenai alam semesta (bahwa matahari terbit di timur dan tenggelam di barat kemudian berjalan di bawah tanah untuk kembali lagi ke timur) yang dicatat oleh Shahih Bukhari dan diriwayatkan kepada kita. Nabi Muhammad sama sekali tidak pernah menyinggung soal Big Bang, namun anehnya  kita bisa berbicara sampai sejauh itu mengenai makna ayat-ayat tersebut.

Hal yang menjadi pertanyaan adalah kenapa angka 26 itu mesti dikaitkan dengan nomor atom besi? Nomor atom besi itu menandakan jumlah proton yang berada di dalam inti atom besi. Sementara proton (seperti halnya pada kasus Big Bang) merupakan satu dari sekian model yang diajukan para ilmuan untuk menjelaskan materi besi (dan kebetulan untuk saat ini itulah cara yang paling “benar”).  Pertanyaan selanjutnya adalah kenapa tidak atom besi sebagai sebuah kesatuan saja yang kita hubung-hubungkan dengan angka tersebut (bahwa materi besi tersusun oleh individu-individu atom besi)?

Kita tidak pernah melihat proton. Kita menyimpulkan bahwa besi disusun oleh proton lantaran ketika dilakukan sebuah eksperimen tertentu terhadap materi, terjadi sebuah fenomena tertentu yang teramati.  Fenomena ini kemudian ditafsirkan dengan membuat model yang mengatakan bahwa di dalam atom besi terdapat sebuah inti atom dan inti atom ini tersusun oleh partikel bermuatan positif bernama proton. Kita tidak pernah  melihat proton baik dengan mata fisis kita atau dengan mata batin kita. Karena ternyata mata kita juga disusun oleh proton (mana mungkin proton melihat proton…, bukannya itu sama saja dengan jeruk minum jeruk?).

Kemudian proton juga disusun oleh quark yakni dua top-quark dan satu down-quark, jadi total ada tiga. 3 x 26 = 78, lha… sudah ga sama dong dengan jumlah kata Allah di dalam surat tersebut. Kemudian besi sendiri memiliki beberapa isotop. Setahu saya ada 4 isotop besi di alam. Pertanyaanya adalah besi yang dimaksud di dalam Al-Quran ini isotop yang mana? Tolong pembaca yang paham bahasa arab bisa ga’ diterjemahkan bahwa “sebutan besi” di dalam Al-Quran itu merujuk pada isotop yang mana?

Besi itu unsur yang relatif reaktif yang sering dijumpai dalam bentuk Allotrof. Yang jadi pertanyaan besar untuk para sejarawan adalah apakah besi yang digunakan oleh masyarakat arab jaman Nabi Muhammad untuk membuat pedang, belanga dan berbagai macam keperluan  itu besi murni (dengan nama kimia Fe) atau jangan-jangan besi dengan sekian persen pengotor? Kalo dia mengandung pengotor (dan itu yang dicantumkan di dalam Al-Quran) tentu saja pekerjaan kita dalam menghubungkannya dengan angka 26 ini sangat absurd. Ketika terdapat pengotor, secara umum rumus kimianya sudah berbeda (jumlah proton penyusunnya sudah lebih dari 26).

Saya pernah melihat di internet beberapa pusaka peninggalan Nabi Muhammad, antara lain pedang beliau dan sampai saat ini masih bagus (belum berkarat). Jika demikian halnya maka itu sudah pasti bukan besi. Karena besi unsur yang reaktif. Bisa jadi besi yang dimaksud oleh Al-Quran ini adalah baja. Jika demikian tentu lain ceritanya. Karena baja  adalah gabungan antara besi yang ditambahkan karbon sekian persen untuk menambah kekuatannya. Dan  itu rumus kimianya berbeda dengan besi murni (demikian pula jumlah proton di dalamnya yang juga bukan 26). Itupun kita harus cari tahu apakah “sebutan besi” di dalam Al-Quran ini merujuk pada baja atau bukan.

Bahasa arab (juga bahasa Indonesia) sangat terbatas dalam mendeksripsikan materi yang ada di alam. Jika kita analogikan dengan air (H2O) yang tersusun oleh atom oksigen (O) dan atom hidrogen (H), apakah itu membuat kita mencocok-cocokan timbulnya kata air di dalam Al-Quran dengan jumlah nomor atom oksigen atau atau jumlah proton di dalam atom hidrogen? Bahkan sebutan kasar dalam bahasa Arab terhadap oksigen paling tinggi hanya sebatas udara (angin). Dan kita tahu udara merupakan campuran dari berbagai macam unsur selain oksigen: udara mengandung sekian persen oksigen, sekian persen hidrogen, dan sekian persen uap air.

Hal lain yang sering dikumandangkan oleh para pemikir muslim mengenai keajaiban Al-Quran adalah  jumlah kata laut (tentunya dalam bahasa arab) itu ada 32 dan kata tanah (juga dalam bahasa arab) itu ada 13. Jika dibandingkan kedua bilangan tersebut nilainya hampir sama dengan perbandingan daratan  dan lautan dewasa ini. Kata ‘tanah’ ini tentu perlu diperjelas apakah yang dimaksud adalah bumi (yang tersusun atas 7 lapis seperti yang disinggung oleh ayat yang lain) atau cuma daratan saja. Pembaca tentu lebih tahu struktur bahasa arab. Sebab jika kata tanah ini mengacu pada bumi maka rasionya sudah pasti tidak sama. Air itu hanya menyumbang sekian persen dari volume bumi. Jika yang dimaksud adalah daratan, itu pun perlu diperdebatkan lebih jauh.

Dalam geologi dikenal yang namanya gejala tektonik berupa pergeseran lempeng bumi. Akibat dari gejala ini maka  permukaan bumi mengalami perubahan sepanjang tahun. Akibatnya benua Australia dan Asia yang dulunya menyatu sekarang menjadi terpisah. Tentu rasio daratan dan lautan tidak tetap  sepanjang masa: daerah yang dulunya lautan berubah menjadi daratan demikian pula sebaliknya. Yang jadi pertanyaan adalah apakah rasio yang dimaksud oleh Al-Quran ini adalah rasionya ketika Al-Quran diturunkan, atau rasionya ketika ribuan tahun yang lalu saat sebagian besar permukaan bumi ditutupi oleh permukaan es pada zaman es. Pada zaman es tentu saja rasionya  tidak 30:70, akan tetapi ada sebagian besar daratan yang terbentuk lantaran adanya es. Dan bisa jadi ribuan tahun akan datang zaman es kembali terulang dan rasio daratan terhadap lautan menjadi lebih besar dari  30:70. Demikian pula dataran mengalami penaikan serta penurunan akibat gaya tektonik. Terbentuklah lembah, danau, gunung, palung, dll.

topografi antartika

Pada saat ini pun rasio 30:70 masih diperdebatkan. Pertama, sebagian besar daratan (‘tanah’ jika meminjam terminologi Al-Quran) benua Antartika itu berada di bawah permukaan laut. Ketebalan es di Antartika rata-rata mencapai 2 kilometer. Dengan mengingat bahwa es pada hakikatnya adalah air. Air tentu saja bukan daratan (pembaca bisa cari di google apa bahasa yang digunakan bangsa Arab pada zaman Nabi Muhammad untuk menyebut es). Jika terjadi pencairan besar-besaran es di Antartika (oleh satu dan lain faktor), maka rasio 30:70 ini bakal berkurang karena benua Antartika luasnya berkurang. Adapun benua-benua lainnya di permukaan bumi luasnya juga berkurang karena naiknya permukaan laut, sehingga rasio daratan terhadap lautan juga akan berkurang secara signifikan dari 30:70 tersebut. Akibatnya adalah “mukjizat” tersebut menjadi tidak valid lagi.

jumlah air di permukaan bumi

Ketika 5000 tahun dari sekarang di mana manusia sudah menciptakan peradaban baru. Mereka kemudian menemukan artifak-artifak kuno mengenai keajaiban Al-Quran. Bisa jadi luas daratan pada saat itu sudah jauh berkurang karena naiknya air laut. Mereka akan tahu bahwa mukjizat Al-quran itu hanya ‘cocoklogi’.


(Disadur dari berbagai sumber di internet)

Monday, August 3, 2015

Filsafat Observasi

Sebagai ilmuan tentunya kita punya preferensi dan orientasi dalam meninjau persoalan. Tapi saya percaya bahwa kebenaran itu tidaklah mutlak. Teori hanyalah hampiran terhadap realita yang sesungguhnya. Dahulu kala, sebelum manusia mendaratkan kakinya di bulan, deskripsi alam semesta digambarkan sebagai tinjauan geosentris, bahkan mungkin lebih jauh dari itu: bumi adalah dataran yang rata di mana-mana, dan matahari terbit di timur dan terbenam di barat, kemudian benda-benda langit lainnya berputar mengelilingi bumi. Dan memang benar bahwa jika kita melihat dengan mata fisis kita akan dijumpai hal seperti itu bahwa matahari terbit di timur dan tenggelam di barat. Manusia kemudian mengajukan kritik terhadap model ini. Mereka mempertanyakan lintasan planet-planet yang tidak beraturan. Waktu itu para ahli astronomi sudah mengetahui bahwa selain bintang-bintang terdapat benda langit lain yang bergantungan di atas yang pergerakannya berbeda dengan bintang-bintang secara umum. Mereka namakan ini sebagai “planet” yang secara literal diterjemahkan sebagai pengembara. Berbeda dengan bintang-bintang lainnya yang relatif tetap di tempat sepanjang tahun, ternyata planet-planet ini memiliki lintasan yang tidak regular. Dan ini yang menjadi masalah di kepala para ilmuan.

Soal asal-usul bagaimana manusia mulai mengajukan pertanyaan mengenai benda-benda langit, khususnya benda-benda yang memiliki peran langsung bagi kehidupan sehari-hari bisa dilihat pada bagaimana para petani saat ini mengatur jadwal menanam padi yang disesuaikan dengan pola musim hujan dan musim kemarau sepanjang tahun. Para petani mengamati pergantian musim tahun demi tahun dan mengamati terdapat sebuah aturan yang mendasari pergantian tersebut. Kemudian para petani mencoba mengambil keuntungan dengan adanya pola keteraturan tersebut yakni dengan mengatur waktu penanaman padi sesuai dengan waktu mulainya pergantian musim misalnya mulai menanam ketika mulai musim kemarau demi menghindari gagal panen ketika tiba musim hujan. 

Hal ini kemudian diperluas ke kasus-kasus yang lain. Bahwa selain pergantian musim hujan dan musim kemarau terdapat pula pergerakan planet-planet yang memiliki jadwal tertentu. Bahwa pergerakan ini dipercaya memiliki dampak bagi nasib umat manusia. Tahun demi tahun manusia mengajukan hasil penelitian, mengajukan berbagai macam hasil observasi (pengamatan) serta model-model yang menjelaskan data-data observasi tersebut. Untuk kasus pergerakan planet tadi memang sejak semula banyak para pemikir yang mencoba mencari tahu keteraturannya. Salah seorang pemikir terkenal yang bernama Apollonius kemudian merumuskan sebuah model yang dikenal sebagai  Epicycle dan Defferent demi menjelaskan pergerakan planet tersebut. Dalam model ini terdapat  sebuah lingkaran besar yang kosentris dengan bumi yang disebut dengan deferrent. Kemudian terdapat lingkaran kecil yang mengorbit melalui lingkaran besar ini yang disebut sebagai epicycle. Planet-planet kemudian dikatakan bergerak pada epicycle tersebut. Teori ini kemudian berhasil menjelaskan pergerakan 5 planet yang diketahui pada saat itu. Namun apa yang dilakukan oleh teori ini hanya sebatas penjelasan secara kinematis. Jika kita mencermati data-data pengamatan planet-planet di angkasa maka akan terdapat 3 variabel utama yang bisa diukur yakni posisi, kecepatan, dan percepatan. Kecepatan dan posisi merupakan variabel kinematis. Sementara percepatan sudah ada sangkut pautnya dengan gaya sehingga disebut variabel dinamika. Percepatan inilah yang sulit dijelaskan dengan konsep geocentris, khususnya dengan menggunakan model epicycle.

Model selanjutnya yang digagas oleh para saintis adalah model heliosentris. Model ini awalnya juga mendapat banyak tantangan. Salah satu hal yang dipertanyakan adalah jika memang model ini benar, maka seharusnya  dijumpai parallax bintang oleh pengamat yang berada di bumi seiring dengan perubahan posisi pengamatan pengamat di bumi. Namun karena tidak adanya parallax bintang yang teramati, maka dapat disimpulkan bahwa bumi stasioner atau tidak mengalami pergerakan. Pada akhirnya di abad ke-18 ilmuan dapat mengukur parallax bintang kendatipun sangat kecil yang konsekwensinya adalah jarak antara bumi dan bintang-bintang tersebut sangatlah jauh. Sehingga ini makin menguatkan konsep heliosentris. Aplikasi dari konsep heliosentris ini kemudian yang digunakan oleh para ilmuan dalam mendaratkan pesawat ruang angkasa di Mars dan di bulan yang sama sekali sulit dilakukan jika menggunakan tinjauan geosentris. 

Konsep heliosentris kemudian disempurnakan oleh Johannes Kepler  dengan mengganti lintasan planet yang semula diasumsikan berbentuk lingkaran menjadi berbentuk elips di mana matahari berada pada salah satu titik fokus dari elips tersebut. Salah satu Hukum Kepler menyatakan bahwa ketika planet bergerak maka luas area yang disapu oleh garis yang menghubungkan antara planet dengan matahari sama besarnya untuk kurun waktu yang sama. Oleh Newton kemudian dilakukan penjelasan bahwa ini disebabkan oleh gaya gravitasi yang diberikan oleh matahari terhadap planet-planet tersebut. Dan pergerakan planet ini merupakan konsekwensi logis dari gaya gravitasi.

Sunday, May 17, 2015

Menggunakan komponen java swing dari MATLAB

Berikut ini saya contohkan script tentang bagaimana memanggil komponen java swing dari MATLAB:
clc; 
frame = javax.swing.JFrame; 
frame.setSize(300,300);
frame.setTitle('Hello'); 
frame.setLocationRelativeTo([]); 
frame.setLayout([]); 

button1 = javax.swing.JButton('TEST'); 
button1.setBounds(20,20, 120,30 ); 

label = javax.swing.JLabel('');  
label.setBounds(20,60, 120,30); 

set(button1, 'MouseClickedCallback' , ... 
    @(h,e)(set(label, 'text', ['kalian luar biasa...! ',...
    num2str(randi(11,1))]))); 

frame.add(label); 
frame.add(button1); 
frame.show; 
Yang hasil eksekusinya adalah sebagai berikut:

Saturday, March 28, 2015

Mengatur Area Blur Pada Image Dengan Mouse Scroll di MATLAB

Dalam tutorial kali saya akan memberikan contoh bagaimana mengatur area blur (region of interest yang akan di-blur) dari gambar dengan menggunakan mouse scroll pada MATLAB. Source codenya saya berikan langsung yakni
% test window scroll function untuk memblur gambar. Gunakan mouse scroll
% untuk memperluas atau mempersempit lokasi blur
function testWindowScroll 
clear all; 
clc; 
f = figure('WindowScrollWheelFcn',@sliderHandle,'menubar', 'none' ); 
ax = axes('parent', f, 'units', 'pix' ); 
im = (imread('gambar 1/lion-test.jpg')); % disesuaikan 

imshow(im,'parent', ax); 

sizeImage = size(im);
w = sizeImage(2); 
h = sizeImage(1); 
halfW = double(w)/2; 
halfH = double(h)/2;
maxD = min(w,h)/2; 

initD = 100; 

blurImage(initD); 

    function sliderHandle(src, event)
        m = get(0, 'PointerLocation'); 
        xMouse = m(1); 
        yMouse = m(2); 
        
        posFig = get(f, 'position'); 
        xFig = posFig(1); 
        yFig = posFig(2); 
        widthFig = posFig(3); 
        heightFig = posFig(4); 
        
        if (xMouse > xFig ) && (yMouse > yFig ) && ... 
                (xMouse < xFig + widthFig ) && ... 
                (yMouse < yFig + heightFig )
            if event.VerticalScrollCount < 0  % up 
                initD = initD + 3; 
            elseif event.VerticalScrollCount > 0 % down 
                if initD - 3 > 0 
                   initD = initD - 3;
                end
            end     
            blurImage(initD);
        end
    end

    function blurImage(d)
        if d < maxD
            [xx,yy] = ndgrid(( 1:h )-halfH , ( 1:w ) - halfW ) ; 
            mask = uint8( ( xx.^2 + yy.^2 ) > d^2);
            G = fspecial('disk', 10); 
            cropped = uint8(zeros(sizeImage)); 
            cropped(:,:,1) = roifilt2(G ,im(:,:,1) , mask ); 
            cropped(:,:,2) = roifilt2(G ,im(:,:,2) , mask ); 
            cropped(:,:,3) = roifilt2(G ,im(:,:,3) , mask ); 
            imshow( cropped );  
            drawnow; 
        end
    end
end 
Di mana video implementasinya di komputer saya adalah sebagai berikut

Friday, March 20, 2015

Cara Sorting Cell di MATLAB

Berikut ini adalah contoh bagaimana men-sorting cell di MATLAB:
clear all; 
clc; 
% test sorting dari cell
M = cell(4,2); 
M{1,1} = 'mawar'; 
M{1,2} = 23;
M{2,1} = 'Anggrek' ;
M{2,2} = 11; 
M{3,1} = 'Durian'; 
M{3,2} = 45; 
M{4,1} = 'Benalu'; 
M{4,2} = 222;

% sorting berdasarkan jarak
N = sortrows(M,2);
disp(M); 
disp(N);


% output 
%     'mawar'      [ 23]
%     'Anggrek'    [ 11]
%     'Durian'     [ 45]
%     'Benalu'     [222]
% 
%     'Anggrek'    [ 11]
%     'mawar'      [ 23]
%     'Durian'     [ 45]
%     'Benalu'     [222]

Monday, February 23, 2015

Memahami Epicycle

Dahulu kala, sekitar 1000 tahun sebelum masehi orang-orang masih berpatokan pada konsep geosentris yakni memposisikan bumi sebagai pusat alam semesta. Data-data pergerakan planet pada waktu itu (yang diamati melalui teleskop) sudah banyak tersedia. Ini kemudian coba dimodelkan untuk mencari tahu bagaimana lintasan planet-planet relatif terhadap bumi sebagai pusat tata surya (alam semesta). Namun ternyata data-data tersebut jika ditafsirkan dengan konsep geosentris, akan terlihat bahwa gerakan planet-planet yang diketahui pada saat itu, tampak sangat tidak beraturan. Dan ini sangat bertentangan dengan teologi bahwa alam semesta diciptakan oleh Tuhan yang menyukai keteraturan.

Datang lah seorang Ptolemeus yang memberikan sebuah penjelasan bahwa lintasan planet-planet tersebut dapat dipandang sebagai lintasan titik dalam dalam geometri epicycle. Ini mampu menjelaskan keteraturannya yang diasumsikan berdasarkan kehendak Tuhan. Ptolemeus dan ilmuan-ilmuan sesudahnya kemudian berasumsi bahwa Tuhan sangat menyukai bentuk lingkaran.

Pada tulisan selanjutnya saya akan membuktikan bahwa dengan epicycle, kita bukan hanya bisa men-track lintasan planet dengan konsep geosentris, akan tetapi lintasan apa saja yang berbentuk kurva tertutup. Ini tidak lain merupakan implikasi dari analisis fourier yang secara kasar menegaskan bahwa semua fungsi perodik bisa dinyatakan sebagai penjumlahan dari fungsi-fungsi sinusoidal

Saya punya project di github tentang bagaimana epicycle dapat menghasilkan sebuah lintasan yang tidak teratur namun tetap berbentuk kurva tertutup.