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



Artikel Lainnya

Python Adalah Interpreter
4/ 5
Oleh

Berlangganan

Dapatkan update artikel Linux, tutorial, dan masih banyak lagi langsung ke INBOX Anda. Gratis !!!