Category Archives: Computer

Pythonista : Part 2

Wikipedia : Kelembaban relatif adalah istilah yang digunakan untuk menggambarkan jumlah uap air yang terkandung di dalam campuran air-udara dalam fase gas

Kelembaban relatf dari suatu campuran udara-air didefinisikan sebagai rasio dari tekanan parsial uap air dalam campuran terhadap tekanan uap jenuh air pada temperatur tersebut. Kelembaban relatif menggunakan satuan persen. Untuk mengukur tekanan uap air dan tekanan uap air jenuh dapat dilakukan dengan temperatur bola kering (T) dan bola basah (Tw).

Dari grafik tersebut dapat dilihat Kelembaban Relatif (RH) juga merupakan fungsi dari Temperatur dan Titik embun (Td).

Sebelum mendapatkan nilai RH terlebih dahulu kita harus mengkonversi nilai T dan Tw ke dalam tekanan uap air dan tekanan uap air jenuh, dan sebelumnya telah diketahui tekanan atmosfer. Sehingga kemudian didapat nilai RH dan Td.

Berikut adalah contoh skrip Python untuk menghitung nilai RH :

”’Menghitung RH dan TD dengan pendekatan NOAA, input
Temperatur Bola Kering (C), Temperatur Bola Basah (C), dan Tekanan Udara (mb)”’

from math import exp,log

def CalcEs(T):
”’Menghitung tekanan uap air jenuh pada bola kering dan bola basah”’
es = 6.112*exp(17.67*T/(T+243.5))
return es
def CalcE(P,T,Tw):
”’Menghitung tekanan uap air aktual”’
ew = CalcEs(Tw)
e = ew – P*(T-Tw)*0.00066*(1+(0.00115*Tw))
return e
def CalcTD(e):
”’Menghitung Titik Embun”’
TD = (243.5*log(e/6.112))/(17.67-log(e/6.112))
return TD
def CalcRH(e,es):
”’Menghitung Kelembaban Relatif”’
RH = 100*e/es
return RH

T,Tw,P = 27.0,26.5,1013.25
e = CalcE(P,T,Tw)
es = CalcEs(T)

print ‘Temperatur Bola Kering (C): ‘,(‘%.2f’)%T
print ‘Temperatur Bola Basah (C) : ‘,(‘%.2f’)%Tw
print ‘Tekanan Permukaan (mb)    : ‘,(‘%.2f’)%P
print ‘Tekanan Uap Air (mb)      : ‘,(‘%.2f’)%e
print ‘Tekanan Uap Air Jenuh (mb): ‘,(‘%.2f’)%es
print ‘Temperatur Titik Embun (C): ‘,(‘%.2f’)%CalcTD(e)
print ‘Kelembaban Relatif (%)    : ‘,(‘%.2f’)%CalcRH(e,es)

Dan hasilnya ketika di run (F5) adalah :

>>>
Temperatur Bola Kering (C):  27.00
Temperatur Bola Basah (C) :  26.50
Tekanan Permukaan (mb)    :  1013.25
Tekanan Uap Air (mb)      :  34.28
Tekanan Uap Air Jenuh (mb):  35.66
Temperatur Titik Embun (C):  26.33
Kelembaban Relatif (%)    :  96.13
>>>

* pada saat mencopy skrip diatas, pastikan inden setelah baris definisi fungsi (def) benar

Tagged , , , , , ,

Pythonista : Part 1

Menguntungkan ketika kita mempunyai ilmu dan pengetahuan yang dapat digunakan atau diterapkan dalam kehidupan sehari-hari. Salahsatunya yang sampai sekarang saya dalami adalah meteorologi atau mudahnya ilmu cuaca. Secara umum ilmu cuaca itu sendiri adalah ilmu yang mempelajari fisika fluida atmosfer baik dinamika maupun dampak dari perpindahan energi atau materi dari proses dinamika tersebut. Kebanyakan orang awam menyatakan tujuan dari ilmu cuaca adalah memprediksi peluang hujan untuk beberapa hari ke depan (khususnya di Indonesia). Namun menurut saya tujuan yang tepat adalah lebih luas dari itu yaitu untuk memahami keadaan atmosfer secara keseluruhan, karna keterkaitan antar variabel cuaca sangat erat baik masa lalu, sekarang, maupun prediksi ke depannya. Untuk memahami keadaan atmosfer yang begitu kompleks ini diperlukan suatu media informasi yang mampu mempermudah manusia memahaminya, salahsatunya adalah dengan metode komputasi numerik.

Sayangnya komputasi numerik yang saat ini dimiliki meteorologist di Indonesia terbilang masih jauh tertinggal dibandingkan dengan negara lain. Ini diakibatkan karena kurangnya kemampuan teknis meteorologist untuk membahasakan ilmu cuaca ke dalam media komputasi. Selain pemahaman yang benar akan fisika atmosfer, juga diperlukan alat / tool yang dapat digunakan untuk menuangkan pemahaman tersebut menjadi sesuatu yang lebih terstruktur, objektif, mudah dipahami dan menggunakan kaidah scientific.

Disini saya akan menyampaikan salah satu tool yang dapat digunakan untuk mengolah data dan menghasilkan tuangan pemahaman yang lebih mudah dimengerti dan kaya informasi. Tool yang saya maksud adalah bahasa pemrograman Python. Python adalah bahasa pemrograman yang relatif mudah dimengerti oleh pemula dan dengan motto “battery included”, maka banyak kemampuan dasar lain yang dapat langsung dipakai untuk memudahkan pekerjaan.

Adapun beberapa kelebihan dari Python yang saat ini saya rasakan adalah :

  1. Gratis dan didukung oleh banyak modul yang gratis pula. Selain itu juga dapat dipakai untuk pengembangan software komersil,
  2. Mempunyai syntax (aturan penulisan) bahasa yang sederhana, singkat ditulis dan mudah dibaca
  3. Bersifat dinamik dalam pembuatan objek
  4. Multiguna, tidak hanya untuk keperluan scientific, Python juga dapat dipakai untuk pemrograman database, system, website, dan lain-lain. Sehingga mudah dalam mengintegrasikan keseluruhan sistem.

Sedangkan kekurangannya adalah :

  1. Tidak ada IDE yang powerfull untuk menghasilkan sistem secara keseluruhan, seperti VB -> Visual Studio, Java -> Eclipse
  2. Relatif lebih lambat dibandingkan bahasa C, Fortran, Basic, Delphi

Berdasarkan kelemahan dan kelebihan tersebut, menurut saya bahasa ini adalah bahasa pemrograman yang terbaik yang sebaiknya diajarkan untuk mahasiswa sebelum memulai karir dibidang meteorologi.

Untuk memulai mempelajari Python sebaiknya yang pertama yang anda lakukan adalah :

  1. Buka official websitenya http://www.python.org/ dan download file exe untuk dijalankan di komputer anda (saya sarankan menggunakan Python 2.7)
  2. Ada banyak alamat website yang digunakan untuk mempelajari Python untuk pemula, salah satunya adalah http://learnpythonthehardway.org/book/ dan media belajar saya yang pertama saya baca setahun yang lalu. Sebenarnya pada saat menginstall python disitu juga telah tersedia tutorial Python dalam bentuk chm berikut dokumentasi modul dasarnya.
  3. Cobalah ikuti latihan yang ada di website learnpythonthehardway.org tersebut, karna bahasa pemrograman akan lebih mudah dimengerti dan diingat dengan banyak latihan. Project kecil-kecilan akan meningkatkan kemampuan anda untuk mencari masalah, dan bagaimana mendapatkan solusinya.

Bagi yang pernah mempelajari bahasa lain tentunya akan mudah mempelajari Python, namun bagi anda pemula, maka cobalah dan nikmati, pasti suatu saat akan bermanfaat. Selamat menjadi Pythonista!!

Tagged , , ,

Jadi Spesialis Java (JSJ)

Bingung mau nyari bahasa pemrograman yang pengen ditekuni ?? Untuk pemula banget saya anjurin untuk belajar bahasa pemrograman yang bersifat prosedural, kenapa?? ya karena lebih mudah memahami konsepnya. Tapi bagaimanapun pasti inginnya belajar bahasa yang memiliki prospek dan dapat jadi modal dasar yang bisa digunakan untuk cepat memahami bahasa pemrograman lain. Begitu juga penulis memulai karir sebagai seorang programmer, mengalami hal serupa ketika menentukan jenis bahasa utama yang akan digunakan.

Pada awalnya saya berharap akan menggunakan VB selamanya, karna bahasanya yang simple dan mudah dimengerti (dan pada saat itu hanya ini yang diajarkan di kuliah selain Pascal).  Mulai menggunakan VB 6 yang sifatnya semi prosedural terasa cukup untuk memenuhi kebutuhan program simple dengan menggunakan source yang ada. Ketika mulai menemukan VB.NET akhirnya beralihlah ke bentuk orientasi yang baru. Awalnya saya menggunakan VB.NET hanyalah sebagai bahasa prosedural. Tapi lambat laun terasa begitu kurang, apalagi seringnya didengungkan OOP pada bahasa ini. Mulai belajar sedikit tentang OOP. Wah kayanya susah nih bahasan, akhirnya saya mencoba beralih ke Java yang katanya 100% OOP. Tahap demi tahap dalam tutorial JENI saya ikutin, tapi ketika masuk ke bagian OOP koq jadi mandek ya (lagian di kuliah ga diajarin). Akhirnya seperti biasa gw nyerah sampai tahapan prosedural saja.

Selang beberapa bulan kemudian saya ditawarkan untuk menggunakan Flex, wah bahasa yang baru nih, Flex merupakan perpaduan bahasa MXML dan Action Script yang dikembangkan oleh Adobe. Dengan tingkat tampilan yang ciamik, ditambah merupakan bahasa opensource, plus Flex Builder yang saya dapat lisensinya, akhirnya saya mulai belajar Flex. Sama seperti Java, Flex juga bahasa pemrograman yang berorientasi objek. Jadi dari induk pembuatan bahasa ini sampai anak yang siap dipakai semuanya merupakan Class yang dapat di inherit. Ya begitulah awalnya saya memulai memahami sebagian ilmu OOP, dimana terdapat polimorfism, enkapsulasi, generalisasi, overidding, overloading, dsb..

Saatnya kembali ke bahasa JAVA, berbekal ilmu OOP di flex dan telah mengetahui konsep pandangannya, akhirnya saya bisa memahami konsep OOP di JAVA sekitar 70 %, lumayan mungkin ditambah lebih banyak latihan bisa nyampe 100% hehe.. maksa 😀

Beberapa tips yang saya saranin untuk meningkatkan kemampuan bahasa JAVA anda adalah :

  1. Belajar tentang UML, untuk lebih lengkap dapat dibaca di http://lecturer.ukdw.ac.id/willysr/pspl-ti/ yang merupakan bahan kuliah Pak Willy
  2. Belajar dari buku JAVA yang lengkap, saran saya menggunakan buku berjudul “Mastering Java” karangan Rachmad Hakim dan Sutarto yang saat ini mudah didapatkan di Gramedia dengan harga Rp.88.000,-
  3. Pelajari dokumentasi JDK sehingga gampang mencari class yang diinginkan
  4. Install Netbeans atau Eclipse sebagai IDE untuk mempercepat pekerjaan
  5. Banyak-banyak latihan dengan melihat script Java dan pahami konsep cara pemanggilan dan OOPnya

Setelah tips-tips itu terlaksana, saya yakin anda telah siap untuk mempelajari Java pada tingkat Advance. Happy Scripting !!