materi
Modularitas dan Pembuatan Fungsi (Functions)
Modularitas Perangkat Lunak: Perancangan Fungsi, Ruang Lingkup, dan Abstraksi Logika
Kajian mendalam mengenai paradigma modularisasi kode melalui perancangan fungsi (user-defined functions), mekanisme parameter passing, manajemen call stack, dan aturan ruang lingkup variabel.
1. Prinsip Abstraksi Prosedural & Dekomposisi Fungsional
Fungsi memungkinkan pengembang membagi logika sistem menjadi unit-unit kecil yang mandiri, memenuhi prinsip Don't Repeat Yourself (DRY), menyederhanakan proses debugging, dan memfasilitasi pengujian unit (unit testing).
2. Anatomi Parameter & Argumen Python
- Positional Arguments: Pemetaan argumen ke parameter berdasarkan urutan posisi deklarasi.
- Keyword Arguments: Pengiriman nilai dengan menyebutkan nama parameter eksplisit (
func(param=nilai)). - Default Parameter Values: Penyediaan nilai cadangan jika argumen tidak disuplai saat pemanggilan.
- Variadic Arguments: Penanganan jumlah argumen dinamis menggunakan
*args(tuple packing) dan keyword argumen tak terbatas menggunakan**kwargs(dictionary packing).
3. Model Ruang Lingkup Variabel (Aturan LEGB)
CPython menyelesaikan resolusi nama pengenal (identifier lookup) secara bertingkat mengikuti aturan urutan LEGB:
- L (Local): Nama yang didefinisikan di dalam tubuh fungsi saat ini.
- E (Enclosing): Nama yang berada di dalam fungsi pembungkus luar (closure).
- G (Global): Nama yang didefinisikan pada level teratas modul file skrip.
- B (Built-in): Modul bawaan bahasa Python (seperti
len,range,print).
- Penggunaan kata kunci
globaldannonlocalserta implikasinya terhadap state mutation.