# Pemanggilan Fungsi

### **Fungsi dalam Python**

Fungsi dapat dipanggil dengan menyebutkan nama fungsi yang sesuai, diikuti dengan tanda kurung yang berisi argumen (jika ada). Nilai yang dikembalikan oleh fungsi dapat ditangkap dan disimpan dalam variabel jika diperlukan.

```python
hasil = nama_fungsi(nilai1, nilai2)
```

Fungsi dalam Python membantu dalam:

1. Mengorganisasi kode
2. Meningkatkan keterbacaan
3. Mempermudah pemeliharaan
4. Mengurangi duplikasi kode
5. Memungkinkan penggunaan kembali kode

***

#### **Sintaks Dasar Fungsi dalam Python**

Berikut adalah contoh dasar cara mendefinisikan dan menggunakan fungsi dalam Python:

```python
def nama_fungsi(argumen1, argumen2):
    # Blok kode fungsi yang akan dieksekusi
    hasil = argumen1 + argumen2  # Contoh operasi dalam fungsi
    return hasil  # Mengembalikan nilai

# Memanggil fungsi dan menyimpan hasilnya dalam variabel
hasil = nama_fungsi(5, 3)
print(hasil)  # Output: 8
```

**Penjelasan:**

1. **`def`** digunakan untuk mendefinisikan fungsi.
2. **Argumen** adalah nilai yang diteruskan ke fungsi.
3. **Blok kode** di dalam fungsi dieksekusi saat fungsi dipanggil.
4. **`return`** digunakan untuk mengembalikan hasil dari fungsi.

***

### **Fungsi Khusus dalam Python**

Python juga mendukung beberapa jenis fungsi khusus:\
🔹 **Fungsi lambda** → Fungsi tanpa nama untuk operasi sederhana.\
🔹 **Fungsi bawaan** → Seperti `print()`, `len()`, `range()`, dll.

Contoh **fungsi lambda**:

```python
tambah = lambda x, y: x + y
print(tambah(4, 6))  # Output: 10
```

***

### **Membuat DataFrame dengan Pandas**

Berikut adalah kode untuk membuat **DataFrame** menggunakan fungsi Python:

```python
import pandas as pd

def buat_df(cols, ind):
    # Membuat data berdasarkan kolom dan indeks
    data = {c: [f"{c}{i}" for i in ind] for c in cols}
    return pd.DataFrame(data, index=ind)

# Memanggil fungsi dan menampilkan DataFrame
df = buat_df(list('ABC'), range(3))
print(df)
```

**Output yang Diharapkan:**

```
    A   B   C
0  A0  B0  C0
1  A1  B1  C1
2  A2  B2  C2
```

✅ **Perbaikan yang dilakukan:**

* Menambahkan `import pandas as pd`.
* Memastikan parameter `cols` dikonversi menjadi **daftar karakter** (`list('ABC')`).
* Memperbaiki indentasi dan pemanggilan fungsi (`buat_df`, bukan `b_df`).

<figure><img src="https://1537830120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwx2jsHS2MYXinLjkOHv9%2Fuploads%2FFZFKpa6xAgfNrF4MyEFr%2Fimage.png?alt=media&#x26;token=1e60633e-56e8-4fc2-a792-f39a3e962b60" alt=""><figcaption></figcaption></figure>
