- Home
- Kelas Belajar
- Python Menengah: OOP, File Handling, Exception & Library Populer untuk Proyek Nyata
Kelas ini dirancang untuk kamu yang sudah menguasai dasar Python dan siap naik level ke pola pemrograman yang lebih production-like. Kamu akan belajar OOP secara mendalam, penanganan file dan error yang robust, hingga memanfaatkan library populer seperti requests untuk membangun komponen nyata di dunia kerja.
Di level pemula, mungkin kamu terbiasa menulis satu file .py, install library langsung ke sistem, lalu jalankan begitu saja. Pendekatan ini cepat rusak ketika kamu mengerjakan lebih dari satu proyek: versi library saling bentrok, environment jadi kotor, dan kolaborasi dengan developer lain jadi berantakan karena tidak ada standar yang jelas. Modul ini akan membenahi fondasi tersebut sebelum kita masuk ke OOP dan topik-topik yang lebih berat.
Virtual environment (venv) membuat "kotak terpisah" berisi interpreter Python dan library khusus untuk satu proyek, tanpa mencampuri instalasi Python global di komputer. Ini krusial ketika Proyek A butuh requests==2.28 sementara Proyek B butuh requests==2.31 — tanpa venv, keduanya akan rebutan versi yang sama di sistem.
# Membuat virtual environment bernama "venv"
python -m venv venv
# Mengaktifkan (Windows)
venv\Scripts\activate
# Mengaktifkan (Mac/Linux)
source venv/bin/activate
# Menonaktifkan
deactivate
Setelah aktif, biasanya prompt terminal kamu akan menampilkan awalan (venv). Semua perintah pip install setelah ini hanya berlaku di dalam kotak tersebut, tidak menyentuh sistem global.
Saat proyek dibagikan ke tim atau di-deploy ke server lain, orang lain perlu tahu persis library apa saja yang dipakai beserta versinya. Di sinilah requirements.txt berperan sebagai "resep" dependency proyekmu.
# Menyimpan semua library yang terinstall ke file
pip freeze > requirements.txt
# Menginstall ulang dari file tersebut (misal di komputer/server lain)
pip install -r requirements.txt
Praktik yang baik: pin versi spesifik (misal requests==2.31.0) alih-alih membiarkan versi bebas. Ini mencegah bug "kerja di laptop saya tapi error di server" akibat perbedaan minor version yang ternyata mengubah behavior.
Selain pip + venv, ada tools seperti pipenv atau poetry yang menggabungkan dependency management dan virtual environment dalam satu alur kerja, plus fitur lock file untuk memastikan versi benar-benar identik di semua environment. Untuk kelas ini kita fokus ke pip dan venv karena paling universal dan wajib kamu pahami sebelum lompat ke tools yang lebih otomatis.
Satu file panjang berisi ratusan baris kode akan menyulitkan maintenance begitu proyek membesar. Struktur folder yang jelas memisahkan tanggung jawab tiap bagian kode, memudahkan navigasi, testing, dan kolaborasi tim.
nama_proyek/
│
├── venv/ # virtual environment (jangan di-commit ke git)
├── src/
│ ├── __init__.py
│ ├── main.py # entry point aplikasi
│ ├── models/ # class-class OOP
│ │ └── __init__.py
│ ├── services/ # logika bisnis, pemanggilan API, dll
│ │ └── __init__.py
│ └── utils/ # fungsi bantu, helper
│ └── __init__.py
├── tests/ # unit test
├── .gitignore
├── requirements.txt
└── README.md
Struktur ini bukan aturan baku yang wajib ditiru persis, tapi menggambarkan prinsip umum: pisahkan model data, logika bisnis, dan utilitas ke folder masing-masing. Nantinya di modul OOP, class-class yang kita buat akan hidup rapi di dalam folder models/.
Folder venv/ berisi ribuan file library yang tidak perlu ikut di-commit ke Git — ukurannya besar dan bisa di-generate ulang kapan saja dari requirements.txt. Tambahkan baris berikut ke file .gitignore:
venv/
__pycache__/
*.pyc
Bayangkan kamu baru bergabung ke tim untuk mengembangkan aplikasi yang mengambil data cuaca dari API eksternal (ini akan jadi proyek yang kita bangun sedikit demi sedikit sepanjang kelas ini, dan disempurnakan di modul terakhir). Tugas pertamamu: siapkan fondasi proyek yang rapi sebelum menulis satu baris logic pun.
Langkah yang bisa kamu praktikkan sendiri:
klien-cuaca/, masuk ke dalamnya, lalu jalankan python -m venv venv dan aktifkan.requests dengan pip install requests, lalu generate requirements.txt dengan pip freeze > requirements.txt.src/main.py, src/services/, src/models/, dan src/utils/, masing-masing dengan file __init__.py kosong agar dikenali sebagai package..gitignore berisi venv/, __pycache__/, dan *.pyc.README.md singkat berisi cara setup: cara membuat venv, mengaktifkannya, dan menginstall dependency dari requirements.txt.venv/, lalu coba buat ulang dari nol hanya berbekal requirements.txt dan instruksi di README-mu. Jika berhasil berjalan tanpa kebingungan, environment-mu sudah "portable" dan siap dipakai tim lain.Fondasi ini akan langsung kita pakai di modul berikutnya ketika mulai merancang class-class OOP untuk merepresentasikan data cuaca dan pemanggilan API-nya.
Modul baru ditambahkan secara berkala hingga kelas ini lengkap. Simpan halaman ini dan kembali lagi untuk lanjut belajar.