Showing posts with label Interpreter. Show all posts
Showing posts with label Interpreter. Show all posts

Sunday, 4 September 2016

Python Adalah Interpreter

Pagi ini rasanya akan sempurna bila disuguhi Kopi hitam panas dan artikel yang menjadi lanjutan dari “Cara Mengetahui VersiPython Yang Digunakan Linux”, yang disinggung banyak ayat tentang Interpreter dan sempat juga di janjikan penulis ke sobat baca saat itu. Biar makin tebal pengetahuan kamu akan Python, dibaca ya dan jangan malas membaca :-)

Mungkin kamu sudah sering melihat film-film yang ada kaitannya dengan Network atau Hacker, seperti di filmya Mister Robot. Menceritakan seorang ABG yang bekerja sebagai teknisi di sebuah perusahaan besar AllSafe dengan ketertarikannya menjadi seorang peretas atau Hacker. Di film itu, banyak adegan yang menunjukan bagaiamana peretasan dilakukan, salah satunya ketika Eliot menjalankan ektensi .py nya untuk melakukan Enkripsi terhadap server dari perusahaan E Corp. Dari adegan itu, mungkin kamu juga sempat tertarik dan terobsesi ingin menjadi seorang Hacker seperti Eliot :-D

Dengan sedikit bercerita, mugnkin akan membuat kamu lebih paham ya guys, dalam belajar bahasa Python tentunya :-)

Jadi, kaitannya dengan cerita diatas kita melihat bagian “ektensi .py nya”. Ektensi .py yang dimaksud adalah sebuah file yang di dalamnya berisikan kode-kode program yang di tulis, yang kemudian akan dieksekusi oleh Python Interpreter, sama seperti PHP, Perl, dan Ruby. Meskipun demikian, pada saat kode program dieksekusi, secara implisit Python sebenarnya melakukan kompilasi terhadap kode tersebut terlebih dahulu. Nah, hasil kompilasi ini berupa byte code (file .pyc). Coba tengok kembali ke film Mr Robot ketika Eliot hendak menjalankan program .py, diasana tidak sengaja kamera menampilkan “lupanamafile.pyc” yang tersimpan pada direktori aktifnya, yang merupakan hasil kompilasi yang dimaskud. File .pyc atau byte code inilah yang akan dieksekusi oleh Python Virtual Machine (PVM), bukan kode programnya. PVM itu sendiri adalah mesin runtime untuk Python, yang merupakan dari sistem Python, bukan software terpisah. Secara teknis, sistem Python secara keseluruhan disebut sebagai “Python Iterpreter”.

Sepertinya sudah terjawab janji saya pada postingan sebelumnya terkait PVM. :-)

Dalam Python, byte code disimpan di dalam memori komputer (RAM) dan akan langsung dibuang ketika eksekusi program berakhir. Hal inilah yang menyebabkan proses eksekusi program di dalam Python dapat berjalan dengan cepat. Coba deh, liat gambar dibawah ini biar lebih jelas.

Gambar ini diambil dari: learning-python.com

Perlu kamu ketahui juga, kompilasi diatas tidak dilakukan secara otomatis oleh sistem Python. Artinya, bahwa ada modul khusus untuk membuat kompilasi .py ke .pyc. Eliot juga melakukannya sendiri kok. Hehehe

Modul yang dimaksud adalah py_compile. Semoga bisa dilanjutkan ya pembahasan terkait py_compile, dan mungkin dengan sedikit tutorial, Insya allah :-)

Jika kamu hendak mendistribusikan program, maka sebaiknya kamu mendistribusikannya dalam bentuk byte code (file .pyc). Pertanyaannya, kenapa harus .pyc, bukanya dengan .py sudah cukup ?

Dengan byte code, selain eksekusi berjalan lebih cepat (karena tidak perlu dikompilasi ulang), kode program kamu tentunya akan lebih aman dan tidak dapat dibaca oleh orang lain.
Coba lihat file .pyc saya ketika dibaca menggunakan perintah more.


 Gambar ini diambil dari: www.linuxshare13.com


Bagaimana ? sudah mengerti kan pembahasan Python Adalah Interpreter.

Jangan sungkan ya untuk berbagi. Silahkan klik share jika Artikel ini bermanfaat :-)

Referensi: Budi Raharjo Python Certified, Downey Allen B

Cara Mengetahui Versi Python Yang Digunakan Oleh Linux Kamu

Gambar ini diambil dari: www.sixfeetup.com

Di postingan sebelumnya Kamu sudah membaca ‘Python2 atau Python 3’, yang mungkin sempat juga membaca ayat yang sedikit menyinggung dengan judul diatas. Seperti yang telah disebutkan, Ubuntu 14.04 menyertakan Python 3 (3.4.0) ke dalam paket distribusinya. Nah, yang jadi pertanyaan, bagaimana saya bisa mengetahui versi Python yang digunakan oleh Linux saya ?

Perlu Kamu ketahui, bahwa kode-kode yang ditulis dalam bahasa Python dieksekusi melalui program Interpreter. Singkatnya, Interpreter itu sebuah sistem Python yang melakukan eksekusi terhadap byte code (file .pyc), yang disebut Python Virtual Machine (PVM). Lebih jelas tentang PVM bisa ditunggu artikel selanjutnya.

Sebenarnya mudah sekali untuk mengetahui versi Python yang digunakan oleh Linux Kamu. Tidak ada option apapun yang digabungkan untuk melakukan pemanggilan ini. Sabar ya... :-)

Dalam lingkungan Windows mungkin Kamu akan mengenal program IDLE, yaitu IDE (Integrated Development Environment) yang berjalan pada mode GUI, dan biasanya sudah disertakan dalam paket instalasi Python. Disana Kamu hanya perlu mengklik 2x pada ikon IDLE (Python GUI) untuk mendapatkan informasi Python yang digunkan termasuk versinya. Disana tertulis :

Python 2.7.9 (default, Dec 10 2014, 12:24:55)
[MSC v.1500 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information.
>>>


Informasi inilah yang akan sama ditampilkan di console Linux Kamu nanti. Yang menjadi pertanyaan kembali, bagaimana…. saya bisa mengetahui versi Python yang digunakan oleh Linux saya... ?

Sedikit menyinggung: Orang pintar mengatakan “Jangan hanya ingin melihat apa yang ingin Kamu lihat, membaca apa yang ingin Kamu baca. Tetapi pahami, dan hargai sesuatunya dengan hati”

Baiklah, tidak akan tega kalau melihat kawan baca menunggu lama, hanya karena ocehan tidak bermutu penulis. Jadi, untuk mendapatakan informasi yang sama seperti yang dilakukan dengan mengklik 2x pada terminal Windows, Kamu cukup menuliskan satu kata berikut pada prompt console Kamu.

~$ python

Tampilan:

Python 2.7.6 (default, Mar 22 2014, 12:24:55)
[GCC 4.8.2] on linux2
Type “help”, “copyright”, “credits” or “license()” for more information.
>>>


atau

 Gambar ini diambil dari: www.linuxshare13.com

Setelah perintah dijalankan, Python Interpreter akan memunculkan prompt dengan tanda “>>>” tepat tertulis dibawah informasi Python. Itu menandakan, Python Interpreter sudah siap melayani kamu seumur hidup :-)