membuat tool CLI sendiri adalah salah satu cara paling memuaskan memakai Python, dan argparse adalah modul bawaan yang membuatnya mudah ๐. saya sering membuat script kecil untuk tugas berulang, lalu menambahkannya ke menu CLI agar bisa dipakai dengan parameter yang berbeda.
jika kalian sudah pernah main sys.argv manual atau baca module dan package dan file handling, maka argparse akan terasa seperti upgrade yang paling masuk akal. tidak perlu install apa pun, cukup import argparse.
error (exception) itu hal yang wajar dalam pemrograman, bukan tanda kalian gagal. yang membedakan programmer yang baik adalah cara menangani error tersebut, dan python nyediain try-except buat nanganin error dengan elegan. konsep ini bakal sering banget kalian pakai waktu mulai bikin fungsi sendiri atau nyusun kode ke module.
saya dulu sering nulis kode tanpa try-except sama sekali, sampai aplikasi yang saya buat tiba-tiba berhenti total di depan klien gara-gara satu file yang tidak ditemukan.
automasi adalah alasan utama saya belajar Python, dan menjadwalkan task adalah bagian yang membuatnya benar-benar berguna. backup database setiap malam, laporan otomatis setiap pagi, semuanya berjalan tanpa perlu diingat ๐. kita mulai dari cara paling sederhana, sampai yang bisa dijadwalkan otomatis di Windows dan Linux.
jika kalian sudah paham manipulasi waktu di Python dan file handling, maka materi scheduler ini akan langsung nyambung. soalnya hampir semua task yang dijadwalkan ujungnya baca file, tulis laporan, atau backup database.
Tkinter adalah library GUI bawaan Python. Tanpa pip install apa pun.
jika kalian sudah nyaman dengan Python console dan ingin programnya punya jendela, tombol, dan form yang bisa diklik, maka Tkinter adalah langkah paling natural selanjutnya. salah satu project Tkinter yang paling berkesan bagi saya adalah aplikasi To-Do List kecil yang saya buat untuk menggantikan catatan tempel di meja kerja. ternyata membuat aplikasi desktop dengan Python semudah itu, dan hasilnya benar-benar dipakai setiap hari ๐.
SQLite adalah database yang tersimpan di satu file. Python memiliki modul sqlite3 bawaan, tanpa pip install apa pun.
jika kalian baru belajar database di Python, maka SQLite adalah tempat mulai yang paling ramah. SQLite adalah pilihan pertama saya untuk aplikasi kecil dan prototype, tidak perlu server, tidak perlu konfigurasi, cukup satu file data.db langsung jalan. banyak aplikasi yang saya buat mulai dari SQLite lalu pindah ke MySQL saat sudah butuh banyak user, dan polanya selalu sama ๐.
file handling memungkinkan program menyimpan dan membaca data dari file di komputer. ini penting untuk log, konfigurasi, dan penyimpanan data. konsep ini juga pengembangan dari module dan package Python, karena file sering dipakai nyimpen data yang diproses oleh module itu.
salah satu program pertama yang benar-benya berguna bagi saya adalah script python yang baca file log lalu rangkum errornya, dan itu cuma butuh open(), read(), dan write(). sejak pengalaman itu, file handling jadi salah satu kemampuan yang selalu saya seretkin ke setiap project.
setelah kemarin main dengan SQLite yang cukup satu file data.db, langkah selanjutnya adalah MySQL, database yang paling sering saya temui di dunia kerja. jika SQLite cocok buat prototype, maka MySQL adalah tempat data kalian tinggal kalau sudah butuh banyak user, banyak koneksi, dan akses barengan.
saya masih ingat pertama kali koneksi Python ke MySQL malah error Authentication plugin 'caching_sha2_password' is not supported, padahal password sudah benar. ternyata MySQL 8 ganti auth default dan driver saya masih versi lama.
setelah paham tipe data dan variabel di Python, materi berikutnya yang bakal kalian pakai di hampir semua program adalah percabangan. simpelnya, percabangan itu cara program ngambil keputusan berdasarkan kondisi, persis logika “jika-maka” yang kita pakai sehari-hari. kalau lagi hujan, bawa payung, kalau tidak, ya berangkat aja. kalau penasaran bedanya sama bahasa lain, ada juga perbedaan if else dan switch case.
yang paling sering bikin pemula nyangkut di materi ini bukan logikanya, tapi indentasi.
oop itu materi yang paling lama saya hindari pas belajar python. alasannya simpel, hampir semua tutorial nyebut “class itu blueprint” tapi jarang ada yang nunjukin kenapa saya butuh class di project beneran. kalau kalian di posisi itu sekarang, tenang, artikel ini saya tulis dari sudut pandang orang yang dulu juga bingung dan akhirnya “klik” ๐
sebelum lanjut, pastikan kalian sudah paham function dan lambda Python, karena method di dalam class itu sebenarnya fungsi yang “menempel” ke object.
pas project python kalian makin gede, nyimpen semua kode di satu file itu bakal susah dirawat. solusinya, module dan package. sebelumnya, pastikan dulu sudah paham function dan lambda Python, karena module dan package itu sangat membantu buat ngatur fungsi dan class di project yang besar.
saya sendiri ngerasain momen “harus mulai pakai module” pas file script saya udah lebih dari 500 baris, dan nyari satu fungsi di dalemnya butuh waktu berjam-jam.
setelah berhasil menginstal python di komputer, langkah selanjutnya adalah memahami konsep dasar pemrogramannya. dua konsep yang paling mendasar, yaitu variabel dan tipe data.
variabel itu bisa diibaratkan sebagai kotak penyimpanan di memori komputer. setiap kotak punya nama, dan isinya bisa macam-macam: angka, teks, atau nilai boolean.
di artikel ini kita bahas tipe data di python, cara mendeklarasikan variabel, operator dasar, plus praktik baik yang perlu kalian tahu pas mulai. sebelum mulai, pastikan python sudah terinstal dulu, kalau belum bisa ikuti panduan cara install Python di Windows.
function (fungsi) itu blok kode yang bisa dipanggil berulang kali buat ngerjain tugas tertentu. dengan fungsi, kode lebih terorganisir, gampang di-test, dan nggak perlu nulis kode yang sama dua kali. di tulisan yang lama, fungsi def pada python sudah sempat kita bahas dasarnya: cara bikin fungsi, return, sama parameter default. nah, artikel ini versi yang jauh lebih lengkap, dan bedanya ada di dua hal: pertama, pembahasannya ngalir dari nol sampai konsep yang lebih dalam kayak rekursif, lambda, dan decorator; kedua, saya fokus banget ke bagian yang bikin pemula nyangkut, terutama beda print sama return dan beda parameter sama argumen.