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:

  1. L (Local): Nama yang didefinisikan di dalam tubuh fungsi saat ini.
  2. E (Enclosing): Nama yang berada di dalam fungsi pembungkus luar (closure).
  3. G (Global): Nama yang didefinisikan pada level teratas modul file skrip.
  4. B (Built-in): Modul bawaan bahasa Python (seperti len, range, print).
  • Penggunaan kata kunci global dan nonlocal serta implikasinya terhadap state mutation.

Attachments