Rabu, 07 Maret 2012

Bahasa Pemograman Python


Jika selama ini saya mengenal Python sebagai aplikasi untuk meng-Hack HP berlebel Symbian, namun ternyata aplikasi tersebut hanya anak dari Software Python yang sebenarnya.
Python yang sebenarnya merupakan bahasa pemrograman yang terus semakin diminati  penggunaannya, terutama di dalam bidang fisika komputasi.
Mengapa Python diminati oleh sebagian akademisi, karena:
  • Python mudah untuk dipelajari, sangat sesuai untuk perkuliahan fisika yang fokusnya pada komputasi bukan pemograman.
  • Python merupakan bahasa pemograman yang modern, interpreted, object-oriented; artinya program-programnya dapat langsung dijalankan dan berkaitan dengan objek di dalam dunia nyata.
  • Program-program Python bersifat sederhana, bersih dan mudah dibaca.
  • Python memiliki paket-paket pendukung (Library Program) yang berjangkauan luas dan berguna untuk komputasi numerik.

Python adalah bahasa pemrograman interpretatif multi guna. dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrorgaman beriorentasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrorgaman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, pyhton umumnya digunakan sebagai bahasa skrip meski pada prakteknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakungan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi.


Berikut adalah beberapa contoh penggunaan Python di dalam fisika dikutip dari Simple Nature.
Contoh 1
import math
def time1(dist,v,n):
  x = 0
  dx= dist/n
  t = 0
  for i in range(n)
  x = x + dx
  dt = dx/v
  t = t + dt
  return t
Contoh 1 di atas adalah sebuah program python sederhana dengan menggunakan teknik numerik untuk mendapatkan jawaban atas persoalan aljabar sederhana gerak lurus beraturan yang secara langsung diperoleh dari rumus t = jarak / kecepatan.  Dalam kasus ini waktu yang dicari direpresentasikan dengan variabel t sedangkan  jarak dist serta kecepatan v diketahui. Dengan teknik numerik ini, jarak dist dibagi n sehingga menjadi beberapa segmen dan t diperoleh dengan menjumlahkan t secara akumulatif dari masing-masing segmen. 

Contoh 2
import math
def time2(h,n):
 g=9.8
 y=h
 v=0
 dy=-h/n
 t=0
 for i in range(n):
 y=y+dy
 v=-math.sqrt(2*g*(h-y))
 dt=dy/v
 t=t+dt
 return t
Contoh 2, adalah program python untuk menyelesaikan persoalan gerak jatuh bebas dengan ketinggian h dan g = 9,8 m/s2. Sebagaimana pada kasus contoh 1, h dibagi n segmen dan kecepatan yang digunakan pada masing-masing segmen adalah v=sqrt(2*g*(h-y)). t diperoleh dengan menjumlahkan secara akumulatif yang diperoleh dari seluruh segmen.
Sebagaimana bahasa pemograman modern lainnya, Python terdiri dari bahasa pemograman inti dan modul-modul eksternal (libraries). Contohnya, square roots atau cosines tidak dikenal di dalam bahasa pemograman inti, keduanya ditambahkan keberadaannya dengan menggunakan modul yang sesuai, yakni modul math atau untuk modul dengan tingkat yang lebih tinggi numpy atau visual.
Ada tiga paket yang sangat berguna di dalam pengajaran fisika komputasi adalah: 
  • numpy or NumPy, yang menambahkan kemampuan array untuk pemograman numerik.
  • visual or VPython, yang memungkinkan pembuatan simulasi 3D sederhana.
  • pylab or Matplotlib, yang mendukung grafik
scipy (http://www.scipy.org) memperluas kemampuan  numpy dengan sejumlah metoda numerik: aljabar linier, pengintegralan, fungsi khusus dll.


Tidak ada komentar:

Posting Komentar