Pengenalan Pemrograman Python

PYTHON OVERVIEW

 Python adalah bahasa pemrograman yang mudah dipelajari dan powerful. Python memiliki struktur data tingkat-tinggi yang efisien dan merupakan pendekatan yang sederhana tetapi efektif pada pemrograman yang berorientasi pada objek (Object-oriented Programming). Syntax elegan dan dynamic typing yang dimiliki oleh python, bersama dengan interpreted nature dari Python, menjadikannya bahasa pemrograman yang ideal untuk melakukan ‘scripting’ dan pengembangan aplikasi yang pesat dalam banyak area pada kebanyakan platform.

Bila mana terdapat bahasa pemograman tingkat tinggi, juga dikenal bahasa pemograman tingkat rendah, yang dikenal sebagai bahasa mesin yaitu bahasa pemograman Assembly, Kenyataannya Komputer hanya dapat mengeksekusi bahasa tingkat rendah, jadi bahasa pemograman tingkat tinggi harus melewati beberapa proses untuk diubah ke bahasa pemograman tingkat rendah, hal tersebut merupakan kelemahan yang tidak berarti bagi bahasa pemograman tingkat tinggi.

Tetapi kekurangan tersebut tidak sebanding dengan kelebihannya. Pertama, lebih mudah memprogram sebuah aplikasi dengan bahasa tingkat tinggi. Lebih cepat, lebih mudah dimengerti menulis program komputer dengan bahasa tingkat tinggi, dan juga kesalahan dalam penulisan program cenderung tidak mengalami kesalahan yang berarti. Kedua bahasa pemograman tingkat tinggi lebih portable dalam arti bisa digunakan untuk menulis di berbagai jenis arsitektur komputer (seperti Intel 386, 486, 586, SPARC, RISC/6000) yang berlainan dengan sedikit modifikasi ataupun tidak memerlukan modifikasi sama sekali. Bahasa pemograman tingkat rendah hanya dapat berjalan di satu jenis arsitektur komputer dan harus ditulis ulang untuk menjalankannya di lain mesin, hal ini dikarenakan karena perbedaan urutan register dan services – servicesnya.

Dengan keuntungan keuntungan tersebut, kebanyakan aplikasi – aplikasi komputer di tulis dengan bahasa pemograman tingkat tinggi. Penggunaan bahasa pemograman tingkat rendah hanya digunakan di aplikasi – aplikasi tertentu.

Terdapat 2 jenis aplikasi untuk memproses bahasa tingkat tinggi ke bahasa tingkat rendah, yaitu : compiler dan interpreter. Sebuah interpreter membaca sebuah program yang ditulis dengan bahasa tingkat tinggi dan langsung menjalankannya per baris, memakan waktu sedikit.

Source code –> Interpreter –> Output

Sebuah kompiler menerjemahkan keseluruhan kode program sebelum menjalankan program tersebut. Dalam kasus ini kode tersebut disebut sebagai source code dan program yang diterjemahkan disebut dengan object code atau executable. Sekali program tersebut di kompilasikan, Anda dapat mengeksekusinya berulang kali tanpa menerjemahkannya lagi kedalam object code.

Source code –> Compiler –> Object code –> Executor –> Output

Alur Eksekusi Program

Sebuah program adalah sejumlah instruksi yang berisi perintah – perintah dalam bahasa pemograman komputer untuk menyelesaikan masalah dengan bantuan komputer. Masalah masalah komputasi tersebut mungkin seperti permasalahan matematika, seperti menyelesaikan sebuah fungsi eksponen, rumus – rumus dalam matematika, tetapi dapat juga berupa mencari dan menggantikan teks, menyusun teks dalam dokumen, dan sebagainya. Beberapa komponen pada bahasa pemograman komputer mungkin berbeda – beda, tetapi beberapa instruksi umumnya sama di semua bahasa pemograman komputer.

Input   : Masukan dari keyboard, file, atau beberapa device.

Ouput : Hasil / keluaran program ke monitor display, file, atau beberapa device.

Math : Perhitungan matematika atau kalkulasi matematika seperti pengurangan, penjumlahan, perkalian, pembagian dan sebagainya.

Kondisi : Memeriksa beberapa kondisi dan mengeksekusi beberapa perintah tertentu, sesuai dengan kondisi yang telah diperiksa.

Perulangan : Menjalankan beberapa perintah secara berulang – ulang kali, biasanya dengan beberapa variasi

FEATURE KELEBIHAN DAN KEKURANGAN PYTHON

Sisi utama yang membedakan Python dengan bahasa pemrograman lainnya adalah dalam hal aturan penulisan source code program. Bagi para programmer di luar Python mungkin akan agak dibingungkan dengan aturan dalam syntax Python. Python memiliki kelebihan tersendiri dibandingkan dengan bahasa pemrograman lainnya terutama dalam hal penanganan modul, ini yang membuat beberapa programmer menyukai Python. Selain itu Python merupakan salah satu produk yang bersifat open source, free, dan multiplatform.

Beberapa fitur umum dari Python:

  1. Sederhana 

Python merupakan merupakan bahasa pemrograman yang sederhana dan minimalis. Membaca program python hampir seperti membaca bahasa inggris. Ini merupakan salah satu kekuatan terbesar dari bahasa pemrograman python. Python dapat membuat anda berkonsentrasi pada penyelesaian masalah dari pada memikirkan bahasa itu sendiri.

  1. Mudah dipelajari

Seperti yang akan anda lihat, Python sangatlah mudah untuk dijadikan permulaan untuk belajar bahasa pemrograman. Python memiliki syntax yang sederhana.

  1. Free dan Open Source

Python adalah contoh dari FLOSS (Free/Libré and Open Source Software). Dalam penjelasan pendek, anda dapat secara bebas mendistribusikan  salinan dari software ini, membaca kode sumber, merubah, dan menggunakan setiap bagian darinya dalam sebuah program free yang baru. FLOSS bedasar pada konsep komunitas yang senang berbagi pengetahuan. Ini merupakan salah satu alasan mengapa bahasa pemrogramman Python sangatlah bagus. Python diciptakan dan dikembangkan oleh komunitas yang hanya ingin melihat bahasa pemrograman Python yang lebih baik.

  1. Bahasa pemrograman tingkat tinggi (High-level Language)

Ketika anda menulis program dalam bahasa pemrograman Python, anda tidak perlu repot-repot memikirkan detil-detil tingkat rendah (low-level details) seperti me-manage memory yang akan digunakan oleh program yang anda tulis.

  1. Portabel

Dikarenakan sifat alamiahnya yaitu open-source, Python telah di-port atau dirubah untuk dapat digunakan dalam banyak platform. Semua program python anda dapat berjalan pada semua platfrom ini tanpa membutuhkan perubahan sama sekali selama anda tidak menggunakan fitur-fitur yang bersandar pada system.

Anda dapat menggunakan Python pada Linux, Windows, FreeBSD, Machintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNIX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStasion, Sharp Zaurus, Windows CE dan bahkan pada PocketPC!

Anda bahkan dapat menggunakan platform seperti Kivy untuk membuat games untuk iOS (iPhone, iPad) and Android. Dan berikut adalah fiture kelebihan dan kekurangan dari python.

  1. Interpreted

Sebuah program yang ditulis dalam compiled language (bahasa pemrograman yang membutuhkan proses kompilasi) seperti C dan C++ akan dikonversi dari bahasa sumber yaitu C dan C++ kedalam bahasa yang dimengerti oleh komputer (kode biner, yaitu 0 dan 1) yang disebut dengan proses kompilasi, menggunakan sebuah compiler. Ketika anda menjalankan program tersebut, sebuah software linker/loader menyalin program anda dari harddisk ke memory dan mulai menjalankannya.

Python tidak membutuhkan proses kompilasi. Anda tinggal menjalankan program anda langsung dari kode sumber. Python akan merubah kode sumber yang anda tulis menjadibytecodes dan kemudian menerjemahkannya kedalam bahasa komputer (kode biner) dan kemudian menjalankannya. Semua ini menjadikan python mudah digunakan, karena anda tidak perlu meng-compile program yang anda tulis, memastikan bahwa pustaka atau library yang bersangkutan terhubung, dsb. Ini juga menjadikan program Python anda sangat portabel, karena anda hanya tinggal menyalin program Python anda pada komputer lain dan program python anda langsung bisa bekerja.

  1. Berorientasi pada objek (Object Oriented)

Python mendukung pemrograman prosedural (procedure-oriented programming). Dalam bahasa pemrograman prosedural, program dibuat dalam prosedur-prosedur atau fungsi-fungsi yang tak lain adalah segelintir kode yang dapat digunakan berkali-kali tanpa harus menuliskannya berulang kali. Dalam bahasa pemrograman yang object-oriented, program dibuat dalam objek yang menggabungkan data dan fungsionalitas. Python memiliki cara yang powerful tetapi juga sederhana untuk melakukan OOP (Object-Oriented Programming), terutama jika dibandingkan dengan bahasa pemrograman besar seperti C++ atau Java.

  1. Dapat dilakukan perluasan (Extensible)

Jika anda membutuhkan bagian penting dari sebuah kode agar dapat berjalan dengan sangat cepat atau menjadikan suatu algoritma agar tidak dapat dibuka oleh orang lain, anda dapat mengkode bagian tersebut dengan pemrograman C atau C++ kemudian menggunakannya dalam program python anda.

  1. Dapat ditanamkan (Embeddable)

Anda dapat menanamkan atau meng-embed Python dengan program C/C++ anda untuk memberikan kapabilitas ‘scripting‘ kepada pengguna program anda.

  1. Memiliki pustaka (libraries) yang luas

Pustaka baku python (Python Standard Library) sangat besar. Itu dapat membantu anda untuk melakukan banyak hal termasuk regular expression, documentation generation, unit testing, threading, database, web browser, CGI, FTP, email, XML, XML-RPC, HTML, file WAV, kriptografi, GUI (Graphical User Interfaces), dan hal lain yang bersandar pada system. Ingat, semua ini tersedia dimanapun Python terinstall. Hal ini yang disebut dalam Python dengan filosofi ‘Batteries Included’.

Kelebihan :

  • Memiliki library 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 source code yang memudahkan pengecekan, pembacaan kembali, dan penulisan ulang source code tersebut.
  • Bersifat OOP.
  • Memiliki sistem pengelolaan memory yang auto, garbage collection, seperti Java.
  • Bersifat modular, mudah dikembangkan dengan menciptakan modul-modul baru, dimana modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++
  • Memiliki fasilitas pengumpulan sampah secara auto, seperti halnya pada bahasa pemrograman Java, Python memiliki fasilitas pengaturan penggunaan memory komputer sehingga para programmer tidak perlu melakukan pengaturan memory komputer secara langsung
  • Pemuatan kembali secara dinamis modul Python seperti memodifikasi aplikasi tanpa menghentikannya
  • Model object universal kelas satu
  • Konstruksi pada saat aplikasi berjalan
  • Bersifat interaktif, dinamis, dan alamiah
  • Akses hingga informasi interpreter
  • Bersifat portable yang secara luas seperti pemrograman antar platform tanpa ports
  • Pelaksanaan compile untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi source code
  • Adanya interface yang terpasang untuk pelayanan keluar seperti perangkat bantu sistem, GUI, persistence, database

 

Kekurangan :

 

  • Beberapa penugasan terdapat di luar dari jangkauan kemampuan Python, seperti bahasa pemrograman dinamis lainnya, Python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman C.
  • Disebabkan karena Python merupakan interpreter, Python bukan merupakan perangkat bantu terbaik untuk pengantar komponen kinerja kritis.
  • Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan script interface.
  • Python memberikan tingkat efisiensi dan flexibility trade off by dengan tidak memberikannya secara menyeluruh.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.