Monday, May 28, 2012

Cara Menyunting Crontab di Sun Solaris

Crontab (cron table) adalah file konfigurasi yang berisi informasi perintah shell UNIX berikut waktu eksekusinya yang akan dijalankan oleh cron (job scheduler UNIX). Pada Linux, crontab umumnya dapat disunting dengan mudah dengan menggunakan text editor, misalnya Vi. Namun pada Solaris, hal ini tidak selalu bisa dilakukan, seperti yang saya alami beberapa jam yang lalu.

Normalnya, perintah untuk menyunting crontab adalah : "crontab -e"

Hasil yang saya peroleh setelah menjalankan perintah di atas :

# crontab -e
716

Entah apa maksud angka di atas, yang jelas saya tidak bisa menyunting crontab dengan cara yang lazim dilakukan di Linux. Setelah bertanya pada Om Google, saya menemukan pemecahan masalahnya. Hal ini dikarenakan Solaris (milik saya) belum dikonfigurasi untuk melakukan penyuntingan dengan editor tertentu. Untuk membuat Solaris melakukan penyuntingan crontab dengan editor teks vi, saya menggunakan perintah berikut, namun lagi-lagi terjadi error :

#export EDITOR=vi
EDITOR=vi is not an identifier

Masalah tersebut terjadi karena shell yang saya gunakan adalah shell Solaris, bukan bash. Dengan demikian perintah di atas harus dibagi dua agar bisa bekerja pada shell Solaris.

#EDITOR=vi
#export EDITOR

Problem solved, dan saya bisa menyunting crontab dengan menggunakan vi .. :-)

Yg perlu diingat, konfigurasi ini tidak disimpan oleh Solaris dan anda harus mengulangnya setiap kali login. Cara lainnya adalah memasukkan perintah tersebut ke file konfigurasi Solaris agar bisa dijalankan setiap kali boot/start up. 

Sunday, May 27, 2012

CAnalis - Bagian 1

CDR Auto Analysis (sebut saja CAnalis) dirancang untuk melakukan analisis tingkat lanjut terhadap data hasil observasi C-band Doppler Radar (CDR) Serpong. Bila selama ini sistem yg ada hanya mampu memberikan informasi semi-realtime (tiap 6 menit) dari data terkini, maka CAnalis akan melakukan analisis tingkat lanjut, tidak hanya untuk data terbaru, tetapi juga data historis dari CDR. Keluaran dari sistem ini sebenarnya lebih ditujukan untuk penelitian, namun tak menutup kemungkinan juga bisa dimanfaatkan sebagai informasi publik. 

Data CDR (terolah) merupakan data grid 3D, baik dalam format plain binary maupun ASCII, dengan resolusi spasial 500m (421x421x41 pixel), resolusi temporal 6 menit. Dengan asumsi satu data mampu menampung lebih dari 1 waktu pengamatan, maka data CDR bisa digolongkan sebagai data 5D (x,y,z,t,dBZ). Data dengan dimensi seperti ini tidak hanya membutuhkan media penyimpanan yg relatif besar, tp juga butuh waktu relatif lama untuk mengolahnya. Dari pengalaman saya, data CDR selama sebulan (10x24x30=7200 file) kurang lebih membutuhkan waktu satu hari untuk bisa diolah seluruhnya. CAnalis dirancang untuk membuat sistem analisis secara otomatis, sehingga pengguna yang ingin mengolah data CDR tidak perlu lagi mengolahnya dari awal dan waktu yang dibutuhkan bisa menjadi lebih singkat.

Secara umum sistem utama CAnalis dapat digambarkan dengan diagram alir berikut :


Sistem utama ini terdiri dari modul-modul yang dikontrol sepenuhnya oleh sebuah PC untuk analisis. Blog diagram berwarna hijau menunjukkan modul sistem CDR secara default. Diagram biru menunjukkan modul yang telah/pernah dibuat, tapi belum dintegrasikan dengan sistem. Diagram berwarna oranye menunjukkan modul yang belum dibuat. 

Berikut beberapa modul utama CAnalis :
  1. Download Scheduler. Sesuai namanya, modul ini berfungsi untuk mendownload data RAW CDR setiap 6 menit. Modul ini juga berfungsi untuk melakukan kompresi dan pengarsipan data yang telah didownload, untuk digunakan oleh modul-modul CAnalis yang lain. Karena sistem ini dirancang pada PC dengan OS Linux, maka program utama dari download scheduler akan berupa shell script yang waktu eksekusinya diatur oleh fitur crontab Linux.
  2. RAW to Gridded Binary Conversion Module, berfungsi untuk melakukan konversi data RAW CDR menjadi binary/ASCII. Modul ini sudah pernah saya buat dan sudah melalui proses revisi dan modifikasi selama 3 tahun terakhir, sehingga sudah bisa dibilang OK. Nantinya akan ditambahkan satu sub-modul, yaitu Quality Control untuk memastikan hanya data yang valid yang akan diproses lebih lanjut. Modul ini terdiri dari beberapa script program dalam bahasa Fortran, C dan Perl.
  3. Real-time Spatial Distribution Auto Image Generation, modul standar untuk menampilkan data distribusi spasial hujan (dengan peta) ke dalam format GIF/PNG. Untuk tampilan 2D, akan digunakan GrADS (Grid Analysis dan Display System), sedangkan untuk tampilan 3D akan menggunakan Vis5D+.
  4. Hovmoller Diagram Generation adalah modul yang berfungsi untuk membuat diagram Hovmoller dari seluruh data CDR pada periode tertentu. Diagram Hovmoller sangat berguna untuk menentukan pergerakan dan siklus hujan dalam dimensi ruang dan waktu, sehingga dapat digunakan untuk prediksi hujan jangka pendek. Oleh karena itu, modul ini tidak hanya membutuhkan data terbaru CDR, namun juga data historisnya. Keluaran dari modul ini juga bisa digambarkan dalam bentuk grafik 2D via GrADS.
  5. Statistical Analysis. Masukan utamanya adalah data historis CDR. Modul ini akan melakukan analisis statistik seperti rata-rata, standar deviasi, nilai maksimum/minimum dll dari seluruh data CDR dan membandingkannya dengan data terbaru CDR, sehingga variabiltas maupun anomali hujan yang terjadi dapat segera terdeteksi oleh pengguna.
  6. Nowcasting Module adalah modul yang berfungsi untuk melakukan prediksi hujan dalam jangka waktu pendek (nowcasting), dengan melakukan perhitungan terhadap statistik dan pergerakan dari echo data CDR. Masukan utama modul ini dihasilkan oleh modul-modul sebelumnya, yaitu modul real-time, hovmoller dan statistik. Keluaran dari modul ini akan berupa citra hujan (30 menit-1 jam ke depan) dan beberapa parameter informasi, misalnya : waktu terjadinya hujan (time of impact) di suatu titik tertentu.
  7. Upload Scheduler, berfungsi untuk melakukan upload pada data-data keluaran CAnalis ke suatu server tertentu. Data-data dari server ini yang akan kemudian dipasangkan pada website yang dapat digunakan sebagai informasi bagi pengguna.
Tulisan berikutnya akan mengulas tentang proses perancangan modul Download Scheduler dan hambatan-hambatan yang ditemui selama masa pembuatannya .... :-)

Tuesday, May 22, 2012

Riset Riset dan Riset

Cuma sekedar iseng nulis riset yg HARUS saya lakukan dalam beberapa bulan mendatang. Sebagian besar adalah riset pribadi, dan sebagian lagi memang tugas dari kantor.
  1. CDR Auto Recovery and Analysis. Salah satu tujuan pekerjaan ini adalah membuat CDR mampu 'mengatasi' masalahnya sendiri (terutama yg berhungan dengan software) tanpa bantuan operator. Masalah CDR yang paling sering terjadi adalah antenna dan disk error. Malangnya, masalah-masalah tadi terjadi di waktu yang seharusnya menjadi waktu istirahat/santai operator, padahal data CDR sudah menjadi konsumsi publik. Dengan adanya sistem ini, setidaknya pekerjaan operator bisa sedikit lebih ringan dari biasanya, dan CDR tetap bisa beroperasi normal. Tujuan lainnya adalah untuk keperluan analisis. Salah satu mimpi saya sebagai seorang meteorologist adalah membuat suatu sistem prediksi cuaca (hujan) untuk wilayah Jakarta dan sekitarnya, setidaknya dalam jangka pendek (di bawah 6jam) atau istilah kerennya : nowcasting. Untuk langkah awal, mungkin metodenya tidak perlu rumit-rumit, cukup metode empirik dan Hovmoller Diagram. Setidaknya informasi  ini bisa berguna bagi masyarakat Jakarta yang butuh informasi prediksi cuaca dalam periode singkat.
  2. Post-HARIMAU IOP 2011 preliminary results. Ini pekerjaan yg harus saya selesaikan, setidaknya sebelum pertengahan Juni 2012. Yang harus dianalisis adalah data hasil pengamatan XDR Padang, dan TRMM 3G68 selama kegiatan IOP 2011. Data XDR sudah selesai dianalisis, tinggal 3G68 saja yg belum (karena mengolahnya susah T_T).
  3. Intraseasonal-variability Auto Analysis. Pekerjaan ini kurang lebih sama dengan analisis otomatis untuk CDR. Bedanya, data diperoleh dari produk GSMaP NRT atau TRMM 3B42RT, dan lebih bersifat forecast (di atas 24 jam). Belum tau pasti kapan bisa dikerjain, tp rencananya setelah pertengahan Juni 2012.
  4. Landslide Early Warning System. Penelitian ini sudah pernah saya lakukan ketika mengerjakan thesis S2 tahun kemarin. Data yg digunakan lumayan banyak, mulai dari SRTM, MODIS, HWSD, TRMM dan CDR, jadi relatif lebih ribet dari pekerjaan-pekerjaan lain. Entah kapan bisa dilanjutkan @_@.

Wednesday, May 2, 2012

Pengalaman TOEFL IBT



TOEFL (Test Of English as a Foreign Language), mungkin sudah banyak yang tahu, adalah salah satu test untuk menguji kemampuan bahasa Inggris seseorang. TOEFL berbeda dengan ujian bahasa Inggris lain seperti TOEIC, karena lebih menitikberatkan pada lingkungan akademik, sehingga TOEFL seringkali menjadi salah satu syarat utama apabila seseorang ingin melanjutkan pendidikan ke luar negeri.

Saya terakhir kali mengikuti  mengikuti TOEFL PBT (Paper Based Test) pada tahun 2006, waktu itu kebetulan testnya diadakan oleh kampus, jadi sifatnya lebih institusional. Karena punya rencana melanjutkan sekolah ke luar negeri, saya akhirnya memutuskan untuk mengikuti TOEFL 'resmi' yang diadakan oleh ETS (Educational Testing Service). Hasil TOEFL dari ETS ini diterima oleh mayoritas universitas di seluruh dunia, walaupun, peserta harus siap 'berdarah-darah' untuk mengikutinya. Mengapa ?

Alasan No.1 : MAHAL. Anda harus merogoh kocek sebesar USD175 untuk sekali test. Kalau dirupiahkan sekitar 1.7 Juta. Kalau skor TOEFL anda bagus ya syukurlah .... Nah, kalau jelek ?

Alasan No.2 : FORMAT TEST BARU. Berbeda dengan format sebelumnya, TOEFL menerapkan ujian berbasis internet (Internet-based Test/IBT) sejak tahun 2006. Perubahan format ini diikuti dengan perubahan konten ujian. Kalau dulu, kontennya adalah Listening, Reading, Writing, nah sekarang ditambahkan satu konten lagi, yaitu Speaking. Dan Speaking ini adalah salah satu mimpi buruk para peserta test, terutama yang kemampuan bahasa Inggrisnya masih amburadul. Perubahan format ini juga berimbas pada waktu test. Kalau dulu TOEFL dimulai secara serentak, kali ini peserta bisa memulai test sesuka hati, selama masih berada dalam interval waktu yang diperbolehkan. Artinya, peserta yang datang lebih dulu bisa memulai test duluan, dibanding yang datangnya belakangan.