# Nakafa Framework: LLM URL: /id/subject/university/bachelor/ai-ds/ai-programming/function Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/university/bachelor/ai-ds/ai-programming/function/id.mdx Output docs content for large language models. --- export const metadata = { title: "Fungsi", description: "Pelajari fungsi Python: parameter, return values, scope variabel, closure, error handling. Panduan lengkap dengan contoh kode teruji untuk mahasiswa AI programming.", authors: [{ name: "Nabil Akbarazzima Fatih" }], date: "09/18/2025", subject: "Pemrograman AI", }; ## Konsep Dasar Fungsi Fungsi dalam Python adalah blok kode yang dapat digunakan berulang kali untuk melakukan tugas tertentu. Bayangkan fungsi seperti mesin kopi otomatis yang kamu berikan bahan (input), kemudian mesin tersebut memproses dan menghasilkan kopi (output). Setiap kali kamu ingin kopi, kamu tidak perlu membuat mesin baru, cukup gunakan mesin yang sama. Dalam pemrograman, fungsi membantu kita menghindari penulisan kode yang sama berulang kali. Fungsi memiliki nama, dapat menerima parameter (data masukan), dan dapat mengembalikan nilai. ## Struktur dan Sintaks Fungsi Setiap fungsi dalam Python memiliki struktur dasar yang terdiri dari beberapa komponen penting. Komponen fungsi terdiri dari: 1. Kata kunci `def` untuk memulai definisi fungsi 2. Nama fungsi yang mengikuti aturan penamaan variabel Python 3. Tanda kurung yang berisi daftar parameter (bisa kosong) 4. Titik dua untuk mengakhiri baris definisi 5. Blok kode yang diindentasi 6. Pernyataan `return` opsional untuk mengembalikan nilai ## Cara Kerja Pemanggilan Fungsi Ketika kamu memanggil fungsi, Python akan menjalankan kode di dalam fungsi tersebut. Mari kita lihat contoh sederhana bagaimana fungsi bekerja. Proses yang terjadi saat pemanggilan fungsi: 1. Python mencari definisi fungsi dengan nama yang dipanggil 2. Argumen yang diberikan dikirim ke parameter fungsi 3. Kode di dalam fungsi dieksekusi 4. Jika ada `return`, nilai dikembalikan ke tempat pemanggilan ## Parameter dan Argumen Parameter adalah variabel yang didefinisikan dalam fungsi, sedangkan argumen adalah nilai aktual yang dikirimkan saat memanggil fungsi. Python menyediakan beberapa jenis parameter untuk fleksibilitas yang lebih besar. ### Parameter Posisi dan Kata Kunci Aturan penting dalam penggunaan parameter: 1. Parameter posisi harus diberikan sesuai urutan 2. Parameter kata kunci dapat diberikan dalam urutan apa saja 3. Parameter posisi harus ditulis sebelum parameter kata kunci 4. Parameter dengan nilai default bersifat opsional ### Parameter dengan Jumlah Variabel Python memungkinkan fungsi menerima jumlah argumen yang tidak terbatas menggunakan `*args` dan `**kwargs`. Parameter `*args` mengumpulkan argumen posisi tambahan ke dalam tuple, sedangkan `**kwargs` mengumpulkan argumen kata kunci tambahan ke dalam dictionary. ## Nilai Kembalian Fungsi Fungsi dapat mengembalikan nilai menggunakan pernyataan `return`. Jika tidak ada `return` atau `return` tanpa nilai, fungsi akan mengembalikan `None`. ## Lingkup Variabel dalam Fungsi Variabel dalam Python memiliki lingkup (scope) yang menentukan di mana variabel dapat diakses. Pemahaman tentang lingkup variabel penting untuk menghindari kesalahan dalam program. B[Global Scope] B --> C[Enclosing Scope] C --> D[Local Scope] A1[Fungsi built-in Python print, len, range] --> A B1[Variabel di luar fungsi dapat diakses di mana saja] --> B C1[Variabel di fungsi luar untuk nested functions] --> C D1[Variabel di dalam fungsi hanya dapat diakses lokal] --> D `} /> ### Variabel Lokal dan Global Aturan pencarian variabel mengikuti urutan LEGB: 1. **Local** - di dalam fungsi saat ini 2. **Enclosing** - di fungsi yang membungkus (untuk nested functions) 3. **Global** - di level modul 4. **Built-in** - nama built-in Python ## Fungsi sebagai Objek Kelas Pertama Dalam Python, fungsi adalah objek kelas pertama, yang berarti fungsi dapat diperlakukan seperti data lainnya. Kamu dapat menyimpan fungsi dalam variabel, mengirimkan fungsi sebagai argumen, atau mengembalikan fungsi dari fungsi lain. ## Dokumentasi Fungsi dengan Docstring Docstring adalah string literal yang muncul sebagai pernyataan pertama dalam definisi fungsi. Docstring berfungsi sebagai dokumentasi untuk menjelaskan tujuan dan cara penggunaan fungsi. >> hitung_faktorial(5) 120 >>> hitung_faktorial(0) 1 """ if not isinstance(n, int): raise TypeError("Input harus berupa bilangan bulat") if n < 0: raise ValueError("Input harus bilangan positif atau nol") if n <= 1: return 1 return n * hitung_faktorial(n - 1) # Mengakses docstring print(hitung_faktorial.__doc__) # Menggunakan fungsi print(hitung_faktorial(5)) # Output: 120 print(hitung_faktorial(0)) # Output: 1` } ]} /> Konvensi penulisan docstring yang baik: 1. Baris pertama berisi ringkasan singkat fungsi 2. Jika perlu penjelasan detail, pisahkan dengan baris kosong 3. Jelaskan parameter, nilai kembalian, dan exception yang mungkin terjadi 4. Berikan contoh penggunaan jika membantu ## Fungsi Bersarang dan Closure Python memungkinkan definisi fungsi di dalam fungsi lain. Fungsi dalam dapat mengakses variabel dari fungsi luar, menciptakan konsep yang disebut closure. ## Penanganan Error dalam Fungsi Fungsi yang baik harus dapat menangani situasi error dengan graceful. Python menyediakan mekanisme exception handling untuk menangani kesalahan yang mungkin terjadi.