Python
Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem operasi. Saat ini kode python dapat dijalankan pada sistem berbasis:
- Linux/Unix
- Windows
- Mac OS X
- Java Virtual Machine
- OS/2
- Amiga
- Palm
- Symbian (untuk produk-produk Nokia)
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL)
Sejarah
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.
Filosofi Python
Bahasa pemrograman ini mempunyai filosofi sendiri, atara lain adalah:
- Coherence. Bahasa pemrograman skrip tidaklah menjadi sulit untuk dibaca, ditulis, dan dimaintain.
- Power (kekuatan). Bahasa pemrograman ekstensi tidaklah mempunyai fungsi yang terbatas.
- Scope (jangkauan). Bahasa pemrograman dinamis dapat digunakan untuk berbagai macam tugas. Tidak ada alasan bahwa bahasa pemrograman tidak dapat menyediakan tanggapan yang cepat selama masa pembuatan sistem aplikasi dan juga mempunyai kelebihan yang membuatnya berguna untuk membuat lebih daripada sistem aplikasi tingkat tinggi.
- Object. Pemrograman berorientasi objek dapat menjadi paradigma yang berguna, karena pemrograman berorientasi objek mempunyai kekuatan dalam strukturnya dan penggunaan kembali kode yang telah ada. Bahasa pemrograman berorientasi objek tidak perlu untuk menjadi kompleks atau sulit untuk digunakan.
- Integration(integrasi). Tidak ada bahasa pemrograman yang menjadi pulau. Penyediaan dari kekuatan bahasa pemrograman dinamis, dan antarmuka yang terdefenisi dengan baik untuk bahasa pemrograman lainnya, python membantu sistem hibrid yang secara simultan pengungkitan kecepatan perubahan dari python, dan efisiensi dari C.
Perlu diketahui pula bahasa pemrograman python cenderung untuk menyerupai bahasa pemrograman tradisional seperti C dan Pascal, daripada bahasa permrograman skrip seperti Perl dan Tcl. Pada kenyataannya, Python adalah suatu dari bahasa pemrograman skrip dalam samaran dari bahasa perograman tradisional. Ada pendapat lain yang menyatakan bahwa Python merupakan jembatan antara bahasa skrip dan C.
Fitur dan Kelebihan Python
Beberapa fitur yang dimiliki Python adalah:
- memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
- memiliki tata bahasa yang jernih dan mudah dipelajari.
- memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
- berorientasi obyek.
- memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
- modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
- memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.
Kelebihan Python
Bahasa pemrograman Python mempunyai kelebihan dari beberapa bahasa pemrograman skrip dan bahasa pemrograman C.
Tidak ada tahapan kompilasi dan penyambungan (link). | Kecepatan perubahan pada masa pembuatan sistem aplikasi. |
Tidak ada deklarasi tipe. | Program menjadi lebih sederhana, singkat, dan lebih fleksible. |
Manajemen memori otomatis. | Kumpulan sampah memori sehingga dapat menghindari pencatatan kode. |
Tipe data dan operasi tingkat tinggi. | Kecepatan pembuatan sistem aplikasi menggunakan tipe objek yag telah ada. |
Pemrograman berorientasi objek. | Penstrukturan kode dan penggunaan kembali, integrasi C++. |
Pelekatan dan perluasan dalam C. | Integrasi C, sistem bahasa campuran |
Kelas, Modul, Eksepsi. | Dukungan pemrograman skala besar secara modular. |
Pemuatan dinamis modul C. | Ekstensi yang sederhana, serta berkas biner yang lebih kecil. |
Pemuatan kembali secara dinamis modul Python. | Memodifikasi aplikasi tanpa menghentikannya. |
Model objek universal kelas satu. | Fewer restriction dan special-case rules. |
Konstruksi pada saat aplikasi berjalan. | Handle unforeseen need, end-user coding. |
Interaktif, dinamis alamiah. | Incremental development and testing. |
Akses hingga informasi interpreter. | Metaprogramming, introspective object. |
Portabilitas secara luas. | Pemrograman antar platform tanpa ports. |
Kompilasi untuk portabel kode byte. | Kecepatan eksekusi, melindungi kode sumber. |
Antarmuka terpasang untuk pelayanan keluar. | Perangkat bantu sistem, GUI, persistence, database, dan lain sebagainya. |
Apa yang baik bagi Python ?
Penggunaan python pada lingkungan yang berbagai macam ragam, sulit untuk menjawab secara resmi terhadap pertanyaan di atas. Pada bagian bawah ini merupakan rangkuman dari beberapa bidang yang menggunakan python pada saat ini:
- Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
- Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi
- Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
- Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
- Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
- Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
- Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
- Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.
Pada pengertian umum, python memberikan pelayanan terhadap jangkauan bidang:
- Bahasa pemrograman dinamis, untuk situasi dimana salah satu tahap link atau kompilasi tidak memungkinkan (modifikasi di tempat klien), atau tidak nyaman (pembuatan prototipe, pembuatan aplikasi secara cepat, perangkat bantu shell).
- Bahasa pemrograman yang powerful tetapi sederhana, untuk situasi dimana kompleksitas dari bahasa pemrograman yang besar is sometimes a liability (prototipe, pengkodean pada pemakai akhir).
- Generalized language tool, untuk situasi dimana dibutuhkan untuk menanamkan dan implementasi bahasa pemrograman kecil lainnya (antarmuka sistem yag dapat di program, perangkat bantu konfigurasi).
Berdasarkan properti umum yang diberikan, python dapat di terapkan pada area mana saja ynag kita ingin kan, dengan meningkatkannya dengan pustaka pada bidangnya, melekatkannya dengan sistem aplikasi, atau menggunakannya secara sendiri.
Pada tabel di bawah ini terdapat beberapa ektensi python yang populer.
Pemrograman sistem | Soket, thread, signal, pipe, pemanggil RPC, POSIX binding. |
Antarmuka pengguna grafis | X11, Tk, Tix, MFC, STDWIN |
Antarmuka basisdata | Oracle, Sybase, PostGres, mSQL, persistence ("pickling"), dbm |
Perangkat bantu microsoft windows | MFC, OLE |
Perangkat bantu internet | Grail web browser(aplet), parser HTML, antarmuka CGI. |
Objek terdistribusi | ILU (CORBA) |
Perangkat bantu populer lainnya | Expect, ekspresi regula, ekstensi numerik, kriptograpi. |
Arsitektur python yang terbuka mendukung bentuk pembuatan sistem aplikasi dan produknya secara dinamis. Pada python pula, kita dapat mencampurkan prototipe, pembuatan sistem aplikasi secara cepat, dan engineering perangkat lunak secara tradisional, berdasarkan pada permintaan dalam suatu projek. Penggunaan python sebagai perangkat bantu pembuat skrip, kita dapat membuka sebagian dari sistem untuk modifikasi oleh pemakai akhir.
Kekurangan Python
Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C. Pada beberapa bidang hal ini tidak menjadi pertimbangan utama, tetapi dalam bidang lainnya, efisiensi menjadi prioritas tertinggi.
Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis. Sebaliknya, penggunaan operasi komputasi intensif dapat diimplementasikan sebagai ekstensi kompilasi bagi python, dan dikodekan dalam bahasa pemrograman tingkat rendah seperti bahasa C. Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya. Sementara python unlikely that it'll ever be secepat bahasa C, kecepatan python dalam pembuatan sistem aplikasi paling tidak menjadi penting sebagaimana kecepatan eksekusi bahasa C.
Input / Output
Contoh Input :
nama = raw_input("Masukkan nama Anda: ")
Contoh Output :
print "Halo", nama, ":)"
Hello World
nama = raw_input("Masukkan nama Anda: ")
Contoh Output :
print "Halo", nama, ":)"
Hello World
print "Hello, world!"
0 komentar:
Posting Komentar