Nugroho's blog.: Python

Python


Python
Python

Python adalah bahasa pemrograman yang dapat membuat kita dapat bekerja dengan  lebih cepat dan mengintegrasikan sistem dengan lebih efektif. Jika kita belajar menggunakan Python, kita akan dengan cepat melihat betapa cepatnya pengembangan produksi yang kita lakukan, dengan biaya yang sedikit

Python berjalan di OS Windows, Linux/Unix, Mac OS X, dan telah di port ke mesin virtual Java dan .NET.

Python bebas digunakan, bahkan untuk produk komersial.

Kenapa memakai Python
Jika sebagian besar pekerjaan kita lakukan menggunakan komputer, akan ada saat kita ingin agar beberapa pekerjaan yang sering kita lakukan berulang-ulang menjadi pekerjaan yang otomatis dilakukan oleh komputer. Misal, kita mungkin ingin malakukan find and replace text dalam beberapa dokumen secara bersamaan, atau mengganti nama banyak file gambar dengan cara yang kita inginkan namun tidak ada di dalam menu. Mungkin kita ingin membuat database kecil-kecilan atau aplikasi khusus atau game sederhana.

Jika kita sudah familier dengan pemrograman, atau kita merupakan programmer professional, kita mungkin telah membuat program untuk kebutuhan di atas dengan menggunakan bahasa C atau C++ atau Java. Namun ternyata proses menulis kode-compile-test-recompile terbilang lambat. Mungkin kita sedang dalam proses menulis library untuk sebuah aplikasi besar namun penulisan kode library itu sendiri yang hanya digunakan untuk tes saja (padahal merupakan pekerjaan yang berat) menjadi seakan sia-sia. Atau kita telah memiliki program dalam sebuah bahasa yang dapat menggunakan ekstensi namun kita tidak ingin mendesain dan mengimplementasikan keseluruhan bahasa tersebut pada aplikasi kita.

Kita dapat menggunakan Python untuk keperluan tersebut.

Kita bisa saja menulis unix shell script atau batch file untuk beberapa pekerjaan diatas, namun shell script hanya baik untuk memindahkan file dan mengubah data text, tidak untuk game atau aplikasi dengan GUI. Kita dapat menggunakan program C/C++/Java namun hal tersebut dapat menyita banyak waktu bahkan hanya untuk sekedar menulis draft program. Python lebih sederhana untuk digunakan, tersedia untuk sistem operasi Windows, Mac OS X, dan Unix, dan akan menolong kita menyelesaikan pekerjaan tersebut di atas dengan lebih cepat.

Python mudah untuk digunakan, tetapi benar-benar bahasa pemrograman, menawarkan lebih banyak struktur dan dukungan untuk program-program besar daripada yang dapat ditawarkan oleh shell script atau batch. Di sisi lain, Python juga menawarkanbanyak pengecekan kasalahan daripada C dan merupakan bahasa very-high-level, Python memiliki type data high-level, seperti array fleksibel dan dictionaries. Oleh karena memiliki tipe data yang lebih umum, Python dapat dipalikasikan ke dalam domain permasalahan yang lebih besar daripada Awk atau bahkan Perl, meski demikian setidaknya banyak hal yang lebih mudah dilakukan di Python daripada di bahasa-bahasa yang lain.

Python mengijinkan kita untuk memecah program ke dalam modul-modul yang dapat diguakan kembali di program-program python yang lain. Python juga memiliki koleksi modul-modul standar yang sangat banyak yang dapat kita gunakan sebagai basis program kita--atau untuk sekedar mempelajarinya. Beberapa modul tersebut menyediakan  hal-hal semacam file I/O, system calls, sockets, dan bahkan antarmuka untuk pengguna grafis seperti Tk.

Kelebihan-kelebihan Python
Python merupakan bahasa pemrograman dinamik yang tangguh yang secara luas digunakan pada berbagai domain aplikasi. Python bahkan sering dibandingkan dengan Tcl, Perl, Ruby, Scheme atau Java. Beberapa fitur kunci yang membedakan Python dengan yang lain adalah:
  • Sintaks yang jelas dan mudah dibaca
  • Kemampuan introspeksi yang kuat
  • Orientasi obyek yang intuitif
  • Kode prosedur dengan ekspresi yang natural
  • Paket yang modular penuh dan mendukung hierarki
  • Penanganan error berdasarkan pengecualian
  • very high level dynamic data types
  • extensive standard libraries dan  modul pihak ketiga untuk hampir semua  task
  • ekstensi dan modul dapat ditulis di C, C++ (atau Java for Jython, atau .NET languages for IronPython)
  • embeddable dalam aplikasi sebagai scripting interface

Python is powerful... and fast

Para penggemar Python menggunakan ungkapan “termasuk battery” untuk memaparkan library standart Python, artinya library standart Python sangat lengkap yang mencakup keseluruhan hal dari proses asinkron hingga meproses file zip. Bahasa Python sendiri merupakan rumah yang sangat fleksibel yang praktis dapat menangani hampir semua masalah di berbagai domain. 

Kita dapat membuat sebuah kode yang berubah seiring perubahan data yang fleksibel menggunakan kemampuan dynamic introspection dan bahasa lanjut semacam meta-classes, duck typing dan decorator . Kita bahkan dapat membuat sebuah webserver hanya dengan tiga baris kode Python. 

Python mengijinkan kita menulis kode yang kita butuhkan  dengan cepat. Dan berkat compiler yang dioptimasi dan library-library pendukung, kode Python berjalan cukup cepat pada kebanyakan aplikasi. Penerapan tradisional dengan menggunakan mesin virtual pada CPython; PyPy mendukung kompilasi just-in-time (JIT) ke kode mesin, begitu juga Jython dan IronPython. 

Python plays well with others
Python dapat berinteraksi dengan object COM, .NET, dan CORBA. Untuk library Java, dapat digunakan Jython, sebuah penerapan Python untuk mesin virtual Java. Untuk .NET, gunakan IronPython , penerapan baru Microsoft dari Python untuk .NET, atau Python for .NET. Python juga memberikan dukungan untuk Internet Communications Engine (ICE) dan berbagai macam integrasi teknologi.

Jika kita menemukan atau menghadapi sesuatu yang tidak dapat dilakukan oleh Python, atau jika kita memerlukan keuntungan performa dari low-level code, kita dapat menulis modul ekstensi di C atau C++, atau “membungkus” (wrap) kode yang sudah ada menggunakan SWIG atau Boost Python. Kode yang terbungkus terlihat oleh program seperti kode Python native. 

Jadi, dengan Python, integrasi bahasa pemrograman dapat dengan mudah dilakukan. Kita juga dapat melakukan hal yang sebaliknya dengan meng-embed program Python kita  dalam sebuah aplikasi yang menggunakan bahasa lain, menyediakan atau memudahkan pengguna sedemikian sehingga pengguna tetap dapat menggunakan bahasa yang mereka sukai.

Python runs everywhere
Python is available for all major operating systems: Windows, Linux/Unix, OS/2, Mac, Amiga, among others. There are even versions that run on .NET and the Java virtual machine. You'll be pleased to know that the same source code will run unchanged across all implementations.

Python tersedia untuk semua sistem operasi besar: Windows, Linux/Unix, OS/2, Mac, Amiga. Bahkan ada versi yang berjalan pada .NET dan mesin virtual Java. Jadi dengan dukungan berbagai sistem operasi, kita dapat menjalankan sebuah kode program Python yang kita buat di sistem operasi tertentu ke dalam sistem operasi lain tanpa mengubah kodenya.

Jika kita tidak menggunakan sistem operasi yang tidak ada pada daftar dukungan Python, namun dapat menjalankan compiler C, kita dapat mengkompilasi sendiri Python dari kode sumbernya. 

Python is friendly... and easy to learn
Newsgroup Python dikenal sebagai salah satu dari grup yang paling ramah yang ada saat ini. Paar developer dan komunitas pengguna bahu membahu membangun dan memelihara sebuah wiki, menyelenggarakan konferensi baik lokal maupun internasional, menjalankan pengembangan dan berkontribusi pada repositori kode online.

Python sendiri datang dengan dokumentasi lengkap, baik yang terintegrasi ke dalam bahasa maupun yang terseda terpisah di halaman web. Tutorial online mengambil sasaran baik programen pemula maupun programmer paruh waktu. Semua hal di atas didesain agar kita dapat dengan segera menjadi produktif; sebuah paket buku lengkap pembelajaran Python.

Python is Open
Python berada di bawah bendera lisensi open source yang menyebabkan Python dapat dengan bebas digunakan dan disebarkan, bahkan untuk keperluan komersial. 

Visual Python
Vpython adalah bahasa pemrograman plus modul graphics 3D yang dinamakan “Visual” diciptakan oleh David Scherer pada tahun 2000. VPython memudahkan kita untuk membuat animasi dan tampilan 3D bahkan untuk seseorang dengan kemampuan pemrograman yang terbatas. Karena dibuat berdasarkan Python, maka VPython juga memiliki kelebihan-kelebihan dari Python.


Pemrograman menggunakan Python
Menginstal Python
Python dapat kita dapatkan di http://python.org bagin download. Download installer yang sesuai dengan sistem operasi kita. Untuk pengguna Linux/*nix dan Mac OS X, kemungkinan Python sudah terinstall di sistem. Bagi pengguna OS X, dianjurkan untuk menginstall kembali Python dengan installer yang didownload dari http://python.org.

Tersedia dua versi Python di homesite mereka, Python 2 dan Python 3. Sebagai langkah awal, lebih baik kita gunakan Python versi 2 karena sudah banyak dukungan software-software dari pihak ketiga untuk versi ini.

Dalam installer ini selain Python itu sendiri, disertakan juga IDLE, sebuah front-end editor untuk python. Dengan IDLE, kita dapat mengetik kode python dengan mudah karena IDLE menyediakan syntax-highlighting sehingga kita dapat dengan mudah menemukan kesalahan-kesalahan kode yang bersifat umum.

Jika kita ingin menggunakan Python tanpa IDLE, kita dapat menggunakan Terminal (Shell atau Command Prompt) untuk mengetik kode Python.

Di terminal ketikkan perintah 

python

maka kita akan di bawa ke “mode interaktif” Python. Di mode ini segala yang kita ketikkan akan segera dieksekusi oleh Python. Hal ini berguna untuk mengecek sebuah perintah, menjalankan sebuah program kecil atau menggunakannya sebagai kalkulator.

Jika kita ingin mengetikkan dulu keseluruhan program dan dijalankan kemudian agar kita memiliki file program tersebut untuk kemudian dapat dijalankan di mesin lain. Maka kita dapat menjalankan file tersebut (berkstensi .py) di terminal dengan cara mengetikkan

python file.py
Dalam contoh berikut, input dan output dibedakan oleh tanda prompt (>>> dan ...), komentar yang tidak dibaca oleh program akan diawali dengan # yang dapat diletakkan di awal baris atau setelah kode.

#ini adalah komentar
jumlah = 1 #ini juga komentar
#juga ini
ket = “#tetapi ini bukan komentar, melainkan string”

Python sebagai kalkulator
Angka
Interpreter Python bertindak sebagai kalkulator sederhana; kita dapat mengetikkan perintah penghitungan dan Python akan menampilkan hasilnya. Sintaksnya cukup mudah dan sederhana dengan operator +, -, *, / berfungsi seperti bahasa pemrograman yang lain, operasi yang harus didahulukan dapat ditulis di dalam tanda kurung (untuk grouping).

>>> 2+2
4
>>> # ini adalah komentar
... 2+2
4
>>> 2+2  # ini komentar yang sebaris dengan kode
4
>>> (50-5*6)/4
5.0
>>> 8/5 # pembagian tidak dibulatkan saat membagi bilangan bulat
1.6
  
untuk melakukan pembagian bilangan bulat (div), kita gunakan tanda //
>>> # Pembagian bilangan bulat akan dibulatkan ke bawah:
... 7//3
2
>>> 7//-3
-3

Tanda sama dengan ( = ) digunakan untuk mengisi nilai sebuah variabel. 
>>> width = 20
>>> height = 5*9
>>> width * height
900

Kita dapat mengisi beberapa variabel sekaligus
>>> x = y = z = 0  # isi dengan nol
>>> x
0
>>> y
0
>>> z
0

Variabel harus didefinisikan dulu, atau diisi dengan sebuah nilai agar tidak terjadi error.

>>> n  # try to access an undefined variable
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined

Python mendukung Floating point; penghitungan variabel campuran akan dikonversi menjadi bilangan real

>>> 3 * 3.75 / 1.5 #integer*real/real
7.5
>>> 7.0 / 2 #real/integer
3.5

Bilangan kompleks juga didukung oleh python; bagian imajiner ditulis dengan akhiran j atau J.

>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0, 1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5


String
Berikut adalah cara menuliskan string di Python

>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'

String dapat dijumlahkan ataupun dikalikan
>>> word = 'Help' + 'A'
>>> word
'HelpA'
>>> '<' + word*5 + '>'
'<HelpAHelpAHelpAHelpAHelpA>'
(to be continued)

Penulisan kode di Python
Modul
Input saat runtime
Array, List dan Matrik
If
for
while
Operasi Vektor di Python

Grafik
PIL

Parser
Membaca File Teks
Memberi input berupa Fungsi Fleksible

Membaca File Spreadsheet
Menyimpan dalam Format Spreadsheet

Website di Python
Django
basehttpserver

Portable Python
Paralel Python

Pemrograman Fisika menggunakan Python
Mencari Akar
Integral
Differensial


Simulasi Fisika menggunakan Vpython


No comments:

323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)