Python (Programming Language) - Pengenalan

Simple Scripting Language So Far

Python (Programming Language) -  Pengenalan

Bahasa pemrograman (programming language) digunakan untuk berkomunikasi dengan komputer. Saat ini sudah ada ribuan bahasa pemrograman saat artikel ini ditulis. Penulis akan membahas mengenai bahasa pemrograman yang Penulis pahami dan gunakan hingga saat ini, yaitu Python.

Python adalah bahasa pemrograman level tinggi yang dikembangkan oleh Guido van Rossum sebagai penerus ABC Language dan pertama kali dirilis Februari 1991.  Python menjadi bahasa pemrograman paling populer selain Java.

Python sebetulnya masuk ke dalam kategori scripting language dibandingkan programming language karena kode Python diinterpretasikan menggunakan interpreter ke kode mesin (machine code). Dengan demikian, kecepatan proses menggunakan Python bisa dinilai lebih lambat dibandingkan C dan C++.
Scripting language lainnya selain Python di antaranya :
    JavaScript/ECMAScript
    PHP
    Ruby
    Groovy
    Perl
    Lua
    Bash
    PowerShell
    R
    VBA
    Emacs Lisp
    GML

Python versi 2 sempat masih digunakan hingga awal 2010-an. Saat ini, Python yang digunakan sudah lebih banyak yang versi 3.

Python memiliki banyak kelebihan dari mudahnya implementasi kode hingga banyak library yang bisa digunakan untuk kebutuhan User Interface, Data Science, Web Development, Penetration Testing, Cybersecurity dan Game Development.

Kebutuhan untuk data science ini bisa bersaing dengan programming language lainnya dalam data science seperti JavaScript, Java, R, C/C++, SQL, MATLAB, Scala, Julia, dan SAS. banyak peminat data science yang belajar Python karena kemudahan implementasi dalam data science. Python memiliki library numpy untuk membantu perhitungan matematika dan data analisis. Sebagai catatan, Numpy ini dibuat dengan C (programming language).

Python menggunakan matplotlib, seaborn, dan plotly untuk menampilkan hasil perhitungan  dari analisis data secara grafik dan visual.

Untuk Web Development, Python memiliki library untuk web development  di antaranya Django, Flask, Web2py, Pyramid, Dash, CherryPy, Sanic, Pylons, TurboGears, Quixote, Muffin, Ray, AIOHTTP, Cubic Web, Giotto, Webcore, Bobo, Tornado, Vibora, Bottle, dan lainnya. Flask adalah Web framework yang termudah dan paling banyak digunakan, sedangkan Django lebih rumit dari flask dan juga banyak digunakan.

Dalam Penetration testing dan Cybersecurity, Python banyak digunakan untuk membuat exploit untuk percobaan menembus keamanan. Kali linux, OS yang banyak digunakan oleh penetration tester, menggunakan Python.

Python memiliki library yang dapat memproses gambar (picture and image) seperti Pillow, mahotas, Opencv, drawSVG dan semacamnya, bahkan bisa membuat QR Code pada library yang tersedia.

Program komputer yang menggunakan Python juga banyak seperti Rednotebook, GIMP dan Blender.
Untuk GUI (Graphical User Interface), Python memiliki TKinter sebagai library bawaan setelah install Python. Untuk library yang perlu install di antaranya PyQt dan PySimpleGUI. PyQt ini menggunakan Qt yang juga bisa digunakan dalam C++ dan Go untuk GUI. Qt ini memiliki GUI editor berjudul Qt Designer dan bisa save hasilnya dalam bentuk extension UI. Saat ingin dipakai, dapat menggunakan load ui function dalam PyQt.

Dalam Dorama Bloody Monday yang diadaptasi dari manga berjudul sama, Takagi Fujimaru alias Falcon menggunakan Python dalam penetrasi dan hacking. Begitu juga dengan Elliot Alderson dan Darlene dalam serial Mr Robot, mereka menggunakan Python dan Ruby dalam kegiatan hacking mereka. Elliot Alderson juga menggunakan Kali Linux hampir di setiap episode dan menggunakan exploit script menggunakan python.
Penulis mulai mengenal dan belajar Python pada tahun 2012. Syntax Python mudah dipahami dan ditulis.

Python juga mudah diketahui letak error saat program dijalankan dan mudah diurus untuk penanggulangan error yang bersangkutan. Pengalaman Penulis hanyalah dalam bidang fotografi dan desain sehingga mempelajari Python bisa lebih mudah. Selain itu, Python memiliki library yang berhubungan dengan image seperti yang disebutkan sebelumnya sehingga membantu Penulis dalam bidang fotografi dan desain. Setelah mempelajari Python, penulis tertarik dengan Computer Vision dan ada library Opencv untuk python. Dengan Opencv, penulis belajar banyak mengenai motion detection dan image processing. Penulis juga belajar bahwa opencv dalam python ini hanya menerima BGR color, bukan RGB seperti biasanya.

Python juga memiliki beberapa library untuk game development seperti Pygame, Ursina, UPBGE (Sebelumnya Blender Game Engine) dan Ren'Py. Pygame masih menggunakan coding untuk menempatkan tampilan visualnya begitu juga dengan Ursina. Ren'Py merupakan game engine untuk visual novel dan adventure game yang berbasis percakapan dan pilihan.

Ursina merupakan library Python yang dibangun di atas Panda3D. Ursina bisa menggunakan 3D object baik dari Blender atau 3D software lainnya dengan ekstensi obj. Perbedaannya dengan Godot, Unity, dan Unreal Engine adalah Ursina belum memiliki Visual editor tersendiri sehingga penempatan 3D object perlu menggunakan coding. Sudah ada beberapa sample yang menampilkan minecraft clone, 3D FPS, dan pong dalam bentuk 3D. Hingga saat artikel ini ditulis, Ursina termasuk Game Engine yang ringan seperti Godot.

Python memiliki library Kivy yang dapat digunakan untuk pembuatan mobile app. Kivy juga memiliki tambahan kivy MD (Material Design) untuk penggunaan material design yang sering dipakai dalam UI untuk Android dan IOS. Kivy juga memiliki sister project yaitu Garden dan Plyer. untuk build APK dari python dan kivy file, perlu menggunakan Buildozer yang hanya bisa jalan di Linux. Pengguna Windows 10 bisa gunakan Windows Subsystem for Linux (WSL) dengan install Linux dari Microsoft Store setelah menyalakan Virtual Machine Platform atau Windows Subsystem for Linux pada Feature.

Pada bulan Juni tahun 2021, sudah ada versi python 3.10 beta. Ada tambahan penjelasan pada error message mengenai letak error dan tambahan match case seperti switch pada C++ serta adanya union langsung untuk typehinting.

Ada beberapa IDE khusus untuk Python di antaranya IDLE, Pycharm, Spyder, dan Ultra Edit.
IDLE adalah IDE bawaan saat instalasi Python. Dari IDLE, kita bisa langsung masukkan satu syntax saja misalnya untuk print Hello World sebagai pengenalan Python bisa langsung tulis print("Hello World") pada python 3.

Pycharm adalah IDE khusus python yang dibuat oleh Brain.

Python bisa digunakan untuk EPS microcontroller dengan microPython. Syntax yang digunakan microPython masih sama dengan Python yang biasa digunakan.

Hingga artikel ini ditulis, Penulis masih mengulik python dan mempelajari lebih lanjut. Semoga tulisan ini bisa bermanfaat untuk pembaca yang dapat mendapatkan kegunaan dari Python dalam profesi dan pekerjaan masing-masing.