Catatan Workshop Python Basic OOP – Bersama Lakpesdam NU Belanda
Assalamu’alaikum, salam sejahtera. Sudah begitu lama rasanya tidak menulis untuk web pribadi ini 😅 Kita coba buka kembali dan isi dengan beberapa hal positif.
Dalam postingan kali ini, saya ingin mencatat beberapa point dalam workshop Python Basic yang diselenggarakan oleh Lakpesdam NU belanda dengan narasumber Mas Trismono. Postingan ini akan di update secara berkala setiap selesai pelatihan (insyaallah).
Catatan ini bertujuan sebagai catatan pribadi, namun semoga bisa bermanfaat bagi yang membacanya.
CATATAN PERTEMUAN #1 – 13 Agustus 2022
Selain Python, pelajari juga C++. Karena, C++ merupakan low level programming language yang menjadi cikal bakal python.
Di tempat kerja saya di space agency, yang paling banyak juga menggunakan C++ dan Fortran.
Pelatihan ini menggunakan Anaconda Navigator yang bisa di download DISINI.
Setelah menginstall Anaconda, buka Conda Promt, bisa dengan CMD Promt ataupun dengan Powershell Promt seperti tampilan di bawah ini:
Setelah itu, buat Environment baru untuk menyimpan semua yang diperlukan pada project workshop kedepannya. Cara membuat environment adalah dengan perintah:
conda create –name <nama-project> python=<python version>
dimana <nama-project> diisi dengan nama terserah anda, dan <python version> diisi dengan versi python sesuai dengan paket install dalam komputer masing-masing (default = 3.9)
Tujuan dari Virtual Environment (VE) di Anaconda adalah untuk membuat rumah sendiri per project, agar lebih independen dan tertata pada setiap project. Jadi, ketika menghapus / mengupdate suatu librari dalam suatu VE tidak akan mempengaruhi project yang lainnya. Bahkan ketika hapus project / teinstall, maka project lainnya tidak terpengaruh sama sekali. Berbeda ketika kita menggunakan default / base environment, maka bisa mengacaukan project-project lainnya.
Setelah itu, aktifkan VE yang barusan dibuat dengan perintah:
conda activate <nama-project>
Install Library yang dibutuhkan:
- Scipy:
conda install -c anaconda scipy - Numpy:
conda install -c anaconda numpy - Matplotlib:
conda install -c conda-forge matplotlib - Pandas:
conda install -c anaconda pandas
Jika ada konflik ketika import scipy, maka coba uninstall library numpy dan scipy nya. Install lagi, namun DAHULUKAN install “Scipy” baru install “Numpy” nya.
Setelah selesai semua kegiatan pada environment tersebut, maka tutup dengan perintah berikut ini:
conda deactivate
Demikian, pelatihan pertama telah selesai. Insyaallah akan dilanjut pada pertemuan selanjutnya.
CATATAN PERTEMUAN #2 – 20 Agustus 2022
Perbedaan antara Python, Fortran dan C++ diantaranya:
Python | Fortran dan C++ |
---|---|
Mudah dipelajari | Relatif lebih susah dipelajari |
Kode lebih simpel | Kode lebih rumit |
Tersedia banyak library dan gratis | Belum terlalu banyak library, bahkan perlu buat sendiri |
Proses compile dilakukan setiap running (lebih lambat pada proyek yang besar) | Proses compile hanya di awal, sehingga cenderung lebih cepat walau data yang diolah besar. |
Saat ini, langsung belajar Python 3 (yang terbaru). karena python 2.x sudah cenderung ditinggalkan dan tidak disuport.
Python sangat sensitif dengan indensasi (penggunaan tab / spasi) yang harus terorganisasi dengan baik dan benar, karena jika ada tab yang tidak sesuai maka bisa langsung error. Berbeda dengan bahasa pemrograman lainnya yang bergantung pada bracket {} seperti Java.
Penulisan komentar relatif penting, agar menjadi catatan fungsi dari penulisan baris program / function itu untuk apa sehingga bisa dibaca dan dipahami walau sudah berlalu cukup lama, dan agar dapat memudahkan orang lain dalam membaca dan mengembangkan program yang kita buat.
Jika penulisan statement terlalu panjang, maka bisa menggunakan backslash (\) untuk menuliskan statement di line berikutnya. Contohnya:
Dalam menggunakan identifier / keyword, maka jangan menggunakan nama-nama yang sudah digunakan default oleh python-nya. Biasanyanya sudah ditandai dengan warna yang berbeda (jika keyword itu tidak boleh digunakan. Contoh nama-nama / keyword yang tidak boleh digunakan sebagai identifier:
Daftar Keyword ini berubah-ubah sesuai kebutuhan, tergantung dari versi python yang digunakan. Untuk mengeceknya, bisa dengan menggunakan perintah berikut ini:
import keyword
print(keyword.kwlist)
Output:
['False', 'None', 'True', 'peg_parser', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Kelemahan OOP biasanya memakan memory yang lebih besar dari pada program fungsional biasa. Kelebihannya bisa lebih terstruktur.
Dalam pengalaman yang saya jalani, dalam dunia kerja space agency, yang mengolah data citra satelit misal 25.000 pixel, dan 1 pixelnya membutuhkan maksimal 1 detik eksekusi, maka lebih mudah dan efisien menggunakan program fungsional biasa. Namun, jika tidak ada requirenment processing time / memory, maka OOP bisa lebih diandalkan.
Mas Trismono
Dalam memasukan value dari variabel yang sudah didefinisikan sebelumnya, maka bisa menggunakan tambahan f sebelum quote string, lalu masukan nama variabelnya didalam bracket {}. Misalnya:
name = 'John'
message = f'Hi {name}'
print(message)
Output:
Hi John
Index dalam python, dimulai dari angka 0. Berbeda dengan matlab yang dimulai dari 1.
Index Python juga bisa dimulai dengan index – (minus), dimana akan menghitung dari belakang. Contoh:
Di Python terkadang muncul hasil yang aneh ketika menjalankan pembagian float namun tidak banyak. Misalnya 0.1 + 0.2 = 0.30000000000000004. Mengapa ada banyak 0 dibelakang komaa..?? Padahal harusnya cukup 0.3. Berbeda jika perhitungan 0.1 + 0.3 = 0.4, yang ini benar. Kejadian aneh ini memang unik. Alasan Selengkapnya DISINI. Hal ini bisa diatasi dengan pembatasan pengambilan berapa angka di belakang koma, misal float hanya diambil 3 angka di belakang koma, sehingga 0.1 + 0.2 = 0.300.
Kita itu di kantor tidak diperbolehkan menggunakan Zoom Meeting. Pun juga di industri Space Agency lainnya tidak diperbolehkan menggunakan Zoom Meeting. Kamui diperbolehkan menggunakan Webex sebagai media meeting, karena dianggap lebih aman. Karena industri teknologi Space Agency ini sangat sensitif konten-kontennya.
Mas Trismono
Kalau saya dulu belajarnya coba googling “How to predict inflation in Python”, atau keyword serupa dan langsung dipraktekan
Mas Trismono
CATATAN PERTEMUAN #3 – 27 Agustus 2022
Hal yang paling utama untuk dipahami dalam dunia programming adalah pemahaman terkait logika.
Mas Trismono
IF STATEMENT
Operasi IF Statement / IF-ELSE Condition sangat sering digunakan dalam pembuatan aplikasi dan analisa Machine Learning. IF berguna untuk menjadi percabangan dari suatu keadaan, yang mana memiliki dua nilai yang berlawanan apakah itu TRUE (benar) atau FALSE (salah). Jika tidak TRUE maka nilainya ELSE.
Bentuk dasar dari IF Statement ini adalah sebagai berikut:
if condition:
if-block
Sedangkan IF yang memiliki ELSE, bentuk dasarnya adalah sebagai berikut:
if condition:
if-block
else:
else-block
Lebih lanjut, IF Statement juga memiliki mekanisme nested-loop, yang mana di dalam IF Statement (if-block) diberikan IF Statement lagi, di dalamnya lagi diisi IF Statement lagi, dan seterusnya. Lebih jelas, bisa lihat DISINI.
Contoh penulisan IF Statement pada Bahasa Python:
age = input('Enter your age:')
if int(age) >= 18:
print("You're eligible to vote.")
else:
print("You're not eligible to vote.")
Jika age bernilai 18,19,20,dst maka bernilai TRUE karena menggunakan operator >= yang menandakan nilai yang sama dan nilai yang lebih dari maka dianggap benar / TRUE sehingga mengeluarkan hasil You’re eligible to vote.. Selengkapnya terkait operator, bisa dilihat DISINI. Jika age bernilai 17,16,15,dst maka bernilai FALSE dan mengeluarkan hasil You’re not eligible to vote.
Ternary Operator adalah metode penulisan IF Statement dengan lebih simpel dan hemat baris kode, walau terkadang relatif lebih susah bagi pemula. Misal penulisan IF yang normal biasanya seperti ini:
if int(age) >= 18:
ticket_price = 20
else:
ticket_price = 5
Untuk membuatnya lebih ringkas, dapat menggunakan sintaks alternatif seperti ini:
ticket_price = 20 if int(age) >= 18 else 5
LOOP STATEMENT
Untuk melakukan sebuah perulangan (Looping) bisa menggunakan for dan while.
FOR itu biasanya untuk enghitung sesuatu untuk yang dimensinya sudah jelas, karena menggunakan forward model. Misal memiliki data pengukuran yang berjumlah 100 set, dan dari 1 setnya mau menghitung standar deviasinya, maka menggunakan FOR. Namun, jika mau menghitung sesuatu yang belum ditentukan secara pasti berapa jumlahnya, maka pakai WHILE. Misal ketika mencari model yang errornya dibawah 0.2, maka gunakan WHILE karena kita belum tau akan berapa kali looping.
Mas Trismono
Contoh dasar dari Forloop pada python adalah sebagai berikut:
for index in range(5):
print(index)
Sedangkan Whileloop adalah sebagai berikut:
max = 5
counter = 0
while counter < max:
print(counter)
counter += 1
Kedua model looping diatas mengeluarkan hasil yang sama, yaitu: 0 1 2 3 4 (menurun, sesuai default print di python)