Lompat ke konten Lompat ke sidebar Lompat ke footer

Argumen Fungsi dalam Python

Argumen fungsi adalah nilai yang diberikan kepada sebuah fungsi ketika fungsi tersebut dipanggil. Argumen memungkinkan sebuah fungsi menerima data dari luar sehingga dapat digunakan untuk berbagai kondisi.

Sebelum mempelajari materi tentang Argumen Fungsi dalam Python, terlebih dahulu pelajari materi tentang: Set dalam Python: Pengertian, Cara Membuat, dan Operasi Himpunan, Dictionary dalam Python: Pengertian, Cara Membuat, Mengakses, dan Mengolah Data, dan Fungsi dalam Python.

Fungsi yang tidak menggunakan argumen biasanya hanya menjalankan perintah yang sudah ditentukan di dalam fungsi. Sebaliknya, fungsi yang menggunakan argumen dapat bekerja berdasarkan data yang diberikan saat pemanggilan.

Contoh sederhana:
def salam(nama):
print("Halo", nama)
salam("Budi")


Hasil:
Halo Budi

Pada contoh tersebut:
  • `salam` adalah nama fungsi.
  • `nama` adalah parameter.
  • `"Budi"` adalah argumen.
  • Nilai `"Budi"` diberikan kepada parameter `nama`.
  • Fungsi kemudian menampilkan sapaan berdasarkan nilai tersebut.

Argumen membuat fungsi menjadi lebih fleksibel karena satu fungsi dapat digunakan dengan banyak nilai yang berbeda.

Parameter dan Argumen

Istilah parameter dan argumen sering digunakan secara bersamaan, tetapi keduanya memiliki posisi yang berbeda.

Parameter

Parameter adalah nama variabel yang ditentukan ketika fungsi dibuat.

Contoh:
def tambah(a, b):
return a + b


Pada contoh tersebut:
  • `a` merupakan parameter.
  • `b` merupakan parameter.

Argumen

Argumen adalah nilai yang diberikan ketika fungsi dipanggil.
hasil = tambah(10, 20)

Pada contoh tersebut:
  • `10` adalah argumen pertama.
  • `20` adalah argumen kedua.

Secara sederhana dapat dipahami sebagai berikut:
  • Parameter = tempat menerima nilai
  • Argumen = nilai yang diberikan

Fungsi dengan Satu Argumen

Sebuah fungsi dapat mempunyai satu argumen.

Contoh:
def cetak_nama(nama):
print("Nama:", nama)
cetak_nama("Andi")


Hasil:
Nama: Andi

Ketika fungsi dipanggil menggunakan:
cetak_nama("Andi")

nilai `"Andi"` dikirimkan kepada parameter `nama`. Fungsi yang sama dapat digunakan untuk nama lain:
cetak_nama("Siti")
cetak_nama("Rina")
cetak_nama("Doni")


Hasil:
Nama: Siti
Nama: Rina
Nama: Doni


Tidak perlu membuat fungsi baru untuk setiap nama.

Fungsi dengan Beberapa Argumen

Fungsi dapat menerima lebih dari satu argumen.

Contoh:
def biodata(nama, umur):
print("Nama:", nama)
print("Umur:", umur)
biodata("Budi", 16)


Hasil:
Nama: Budi
Umur: 16


Fungsi tersebut mempunyai dua parameter:
  • `nama`
  • `umur`

Saat dipanggil, terdapat dua argumen:
  • `"Budi"`
  • `16`

Urutan argumen sangat penting ketika menggunakan argumen berdasarkan posisi.

Argumen Berdasarkan Posisi

Argumen dapat diberikan berdasarkan urutan parameter. Cara ini disebut argumen posisi.

Contoh:
def perkenalan(nama, kelas):
print("Nama:", nama)
print("Kelas:", kelas)
perkenalan("Budi", "10A")


Nilai `"Budi"` masuk ke parameter `nama`, sedangkan `"10A"` masuk ke parameter `kelas`.

Jika urutannya diubah:
perkenalan("10A", "Budi")

hasilnya juga berubah:
Nama: 10A
Kelas: Budi


Karena itu, argumen posisi harus diberikan sesuai urutan parameter.

Argumen Berdasarkan Kata Kunci

Python juga memungkinkan argumen diberikan berdasarkan nama parameternya. Cara ini disebut argumen kata kunci.

Contoh:
def biodata(nama, umur):
print("Nama:", nama)
print("Umur:", umur)
biodata(nama="Budi", umur=16)


Hasil:
Nama: Budi
Umur: 16


Keuntungan penggunaan argumen kata kunci adalah urutan argumen dapat diubah.

Contoh:
biodata(umur=16, nama="Budi")

Hasilnya tetap:
Nama: Budi
Umur: 16


Hal ini terjadi karena setiap nilai diberikan berdasarkan nama parameternya.

Perbandingan Argumen Posisi dan Kata Kunci

Berikut dijelaskan perbandingan argumen posisi dan Kata Kunci.

Argumen posisi

Berikut adalah contoh argumen posisi:
biodata("Budi", 16)

Nilai diberikan berdasarkan urutan.

Argumen kata kunci

Berikut adalah contoh argumen kata kunci:
biodata(nama="Budi", umur=16)

Nilai diberikan berdasarkan nama parameter.

Perbedaannya:
  • Argumen posisi bergantung pada urutan.
  • Argumen kata kunci menggunakan nama parameter.
  • Argumen kata kunci lebih jelas ketika fungsi mempunyai banyak parameter.
  • Argumen posisi biasanya lebih singkat untuk fungsi sederhana.

Menggabungkan Argumen Posisi dan Kata Kunci

Argumen posisi dan argumen kata kunci dapat digunakan secara bersamaan.

Contoh:
def biodata(nama, umur, kelas):
print("Nama:", nama)
print("Umur:", umur)
print("Kelas:", kelas)
biodata("Budi", umur=16, kelas="10A")


Hasil:
Nama: Budi
Umur: 16
Kelas: 10A


Namun terdapat aturan penting. Argumen posisi harus diberikan sebelum argumen kata kunci. 

Contoh yang benar:
biodata("Budi", umur=16, kelas="10A")

Contoh yang tidak benar:
biodata(nama="Budi", 16, kelas="10A")

Karena argumen posisi tidak boleh ditempatkan setelah argumen kata kunci.

Argumen dengan Nilai Bawaan

Parameter dapat mempunyai nilai bawaan. Jika ketika fungsi dipanggil tidak diberikan nilai untuk parameter tersebut, Python akan menggunakan nilai bawaan.

Contoh:
def salam(nama, pesan="Halo"):
print(pesan, nama)
salam("Budi")


Hasil:
Halo Budi

Parameter `pesan` mempunyai nilai bawaan `"Halo"`. Namun nilai tersebut dapat diganti:
salam("Budi", "Selamat pagi")

Hasil:
Selamat pagi Budi

Dengan cara ini, sebuah fungsi dapat digunakan tanpa selalu memberikan seluruh nilai parameter.

Aturan Parameter dengan Nilai Bawaan

Jika sebuah fungsi mempunyai parameter biasa dan parameter dengan nilai bawaan, parameter biasa harus ditulis terlebih dahulu.

Contoh yang benar:
def data(nama, umur=16):
print(nama, umur)


Contoh yang tidak benar:
def data(umur=16, nama):
print(nama, umur)


Struktur yang benar membantu Python mengetahui parameter mana yang wajib diberikan dan parameter mana yang dapat menggunakan nilai bawaan.

Argumen dengan Jumlah Tidak Tetap

Dalam beberapa keadaan, jumlah argumen yang akan diberikan belum diketahui. Misalnya terdapat fungsi untuk menghitung jumlah beberapa angka. Fungsi tersebut mungkin menerima dua angka, tiga angka, lima angka, atau lebih. Python menyediakan `*args` untuk kondisi seperti ini.

Contoh:
def jumlahkan(*angka):
total = 0
for nilai in angka:
total += nilai
return total
print(jumlahkan(10, 20))
print(jumlahkan(10, 20, 30))
print(jumlahkan(10, 20, 30, 40))


Hasil:
30
60
100


Tanda `*` memungkinkan fungsi menerima banyak argumen posisi.

Cara Kerja *args

Perhatikan fungsi berikut:
def tampilkan(*data):
print(data)


Kemudian:
tampilkan(10, 20, 30)

Hasilnya:
(10, 20, 30)

Argumen yang diterima oleh `*data` dikumpulkan menjadi sebuah kumpulan nilai yang dapat diproses di dalam fungsi.

Contoh:
def jumlahkan(*angka):
total = 0
for nilai in angka:
total += nilai
return total


Program dapat memproses setiap nilai satu per satu menggunakan perulangan.

Argumen Kata Kunci dengan Jumlah Tidak Tetap

Selain `*args`, Python menyediakan `**kwargs`. `**kwargs` digunakan ketika fungsi perlu menerima argumen kata kunci dalam jumlah yang tidak tetap.

Contoh:
def tampilkan_data(**data):
print(data)
tampilkan_data(
nama="Budi",
umur=16,
kelas="10A"
)


Hasil:
{'nama': 'Budi', 'umur': 16, 'kelas': '10A'}

Data yang diberikan menggunakan nama parameter akan dikumpulkan oleh `**data`.

Mengolah **kwargs dengan Perulangan

Data dari `**kwargs` dapat diproses menggunakan perulangan.

Contoh:
def tampilkan_data(**data):
for kunci, nilai in data.items():
print(kunci, ":", nilai)
tampilkan_data(
nama="Budi",
umur=16,
kelas="10A"
)


Hasil:
nama : Budi
umur : 16
kelas : 10A


Cara ini berguna untuk mengolah data yang jumlah dan namanya dapat berubah.

Perbedaan *args dan **kwargs

Kedua bentuk tersebut mempunyai kegunaan yang berbeda.

`*args`

Digunakan untuk menerima banyak argumen berdasarkan posisi.

Contoh:
def hitung(*angka):
pass
hitung(10, 20, 30)


`**kwargs`

Digunakan untuk menerima banyak argumen berdasarkan nama.

Contoh:
def data(**informasi):
pass
data(nama="Budi", umur=16)


Perbedaan sederhananya:
  • *args → banyak argumen posisi
  • **kwargs → banyak argumen kata kunci

Menggabungkan Parameter Biasa, *args, dan **kwargs

Dalam fungsi yang lebih fleksibel, ketiganya dapat digunakan bersama.

Contoh:
def contoh(nama, *angka, **data):
print("Nama:", nama)
print("Angka:", angka)
print("Data:", data)
contoh(
"Budi",
10,
20,
30,
kelas="10A",
sekolah="SMA"
)


Hasil:
Nama: Budi
Angka: (10, 20, 30)
Data: {'kelas': '10A', 'sekolah': 'SMA'}


Pada contoh tersebut:
  • `nama` menerima satu argumen utama.
  • `*angka` menerima beberapa argumen posisi.
  • `**data` menerima beberapa argumen kata kunci.

Cara ini sangat berguna ketika fungsi harus dibuat fleksibel.

Melewatkan Argumen ke Fungsi Lain

Argumen yang diterima sebuah fungsi dapat diteruskan kembali kepada fungsi lain.

Contoh:
def tambah(a, b):
return a + b
def proses(x, y):
return tambah(x, y)
hasil = proses(10, 20)
print(hasil)


Hasil:
30

Fungsi `proses()` menerima dua argumen kemudian meneruskannya kepada fungsi `tambah()`. Teknik seperti ini sering digunakan ketika program sudah mulai terdiri dari banyak fungsi.

Menggunakan Argumen Berupa Data Berbeda

Argumen fungsi tidak hanya berupa angka. Python memungkinkan berbagai jenis data diberikan sebagai argumen.

Argumen berupa teks

Berikut diberikan contoh argumen yang berupa teks.
def cetak(teks):
print(teks)
cetak("Belajar Python")


Argumen berupa angka

Berikut diberikan contoh argumen yang berupa angka.
def kuadrat(angka):
return angka * angka
print(kuadrat(5))


Argumen berupa daftar

Berikut diberikan contoh argumen yang berupa daftar.
def tampilkan(data):
for nilai in data:
print(nilai)
buah = ["Apel", "Jeruk", "Mangga"]
tampilkan(buah)


Hasil:
Apel
Jeruk
Mangga


Hal ini menunjukkan bahwa fungsi Python dapat menerima berbagai bentuk data.

Argumen Berupa Fungsi

Dalam Python, fungsi juga dapat diberikan sebagai argumen kepada fungsi lain.

Contoh:
def tambah(a, b):
return a + b
def proses(fungsi, a, b):
return fungsi(a, b)
hasil = proses(tambah, 10, 20)
print(hasil)


Hasil:
30

Pada contoh tersebut, `tambah` diberikan kepada parameter `fungsi`. Konsep seperti ini menjadi bagian penting dalam pemrograman Python tingkat lanjut.

Kesalahan Jumlah Argumen

Salah satu kesalahan yang sering terjadi adalah jumlah argumen tidak sesuai dengan jumlah parameter.

Contoh:
def tambah(a, b):
return a + b
tambah(10)


Fungsi membutuhkan dua nilai, tetapi hanya satu argumen yang diberikan. Kesalahan juga terjadi jika argumen yang diberikan terlalu banyak.
tambah(10, 20, 30)

Fungsi hanya mempunyai dua parameter, sedangkan terdapat tiga argumen. Karena itu, jumlah argumen perlu diperhatikan ketika menggunakan fungsi.

Kesalahan Nama Argumen

Pada argumen kata kunci, nama yang digunakan harus sesuai dengan nama parameter.

Contoh:
def biodata(nama, umur):
print(nama, umur)
biodata(nama="Budi", usia=16)


Pada contoh tersebut terdapat masalah karena fungsi mempunyai parameter `umur`, bukan `usia`.

Penulisan yang benar:
biodata(nama="Budi", umur=16)

Contoh Program Menggunakan Berbagai Jenis Argumen

Berikut contoh program yang menggabungkan beberapa konsep argumen.
def data_siswa(nama, kelas="10A", *nilai):
print("Nama:", nama)
print("Kelas:", kelas)
if nilai:
total = sum(nilai)
rata_rata = total / len(nilai)
print("Nilai:", nilai)
print("Rata-rata:", rata_rata)
data_siswa("Budi", "10B", 80, 85, 90)


Hasil:
Nama: Budi
Kelas: 10B
Nilai: (80, 85, 90)
Rata-rata: 85.0


Program tersebut menggunakan:
  • `nama` sebagai parameter utama.
  • `kelas` sebagai parameter dengan nilai bawaan.
  • `*nilai` untuk menerima banyak nilai.
  • `sum()` untuk menghitung jumlah nilai.
  • `len()` untuk mengetahui jumlah nilai.
  • `return` tidak digunakan karena hasil langsung ditampilkan.

Tips Menggunakan Argumen Fungsi

Beberapa kebiasaan berikut dapat membantu ketika membuat fungsi:
  • Gunakan nama parameter yang jelas.
  • Berikan argumen sesuai kebutuhan fungsi.
  • Gunakan argumen posisi untuk fungsi sederhana.
  • Gunakan argumen kata kunci jika terdapat banyak parameter.
  • Gunakan nilai bawaan untuk parameter yang sering mempunyai nilai yang sama.
  • Gunakan `*args` jika jumlah argumen posisi dapat berubah.
  • Gunakan `**kwargs` jika jumlah argumen kata kunci dapat berubah.
  • Perhatikan urutan parameter.
  • Pastikan jumlah argumen sesuai dengan kebutuhan fungsi.
  • Hindari membuat fungsi dengan terlalu banyak parameter jika tidak diperlukan.

Baca Juga:

Latihan Sederhana

Untuk memperkuat pemahaman, beberapa latihan berikut dapat dikerjakan.

Latihan 1

Buat fungsi bernama `sapa()` yang menerima nama sebagai argumen.

Contoh penggunaan:
sapa("Andi")

Hasil yang diharapkan:
Halo Andi

Latihan 2

Buat fungsi `luas_persegi()` yang menerima panjang sisi sebagai argumen.

Contoh:
print(luas_persegi(5))

Hasil:
25

Latihan 3

Buat fungsi `jumlahkan()` yang dapat menerima beberapa angka menggunakan `*args`.

Contoh:
print(jumlahkan(5, 10, 15, 20))

Hasil:
50

Latihan 4

Buat fungsi yang menerima data siswa menggunakan `**kwargs`.

Contoh:
data_siswa(
nama="Andi",
kelas="10A",
umur=16
)


Kemudian tampilkan setiap data tersebut.

Kesimpulan

Argumen merupakan bagian penting dalam penggunaan fungsi Python. Dengan argumen, sebuah fungsi dapat menerima data dari luar dan menjalankan proses berdasarkan data tersebut.

Hal-hal penting yang perlu dipahami:
  • Parameter adalah nama variabel yang digunakan dalam definisi fungsi.
  • Argumen adalah nilai yang diberikan ketika fungsi dipanggil.
  • Argumen posisi diberikan berdasarkan urutan parameter.
  • Argumen kata kunci diberikan berdasarkan nama parameter.
  • Argumen posisi harus ditempatkan sebelum argumen kata kunci.
  • Parameter dapat mempunyai nilai bawaan.
  • `*args` digunakan untuk menerima banyak argumen posisi.
  • `**kwargs` digunakan untuk menerima banyak argumen kata kunci.
  • Fungsi dapat menerima berbagai jenis data sebagai argumen.
  • Sebuah fungsi juga dapat diberikan sebagai argumen kepada fungsi lain.
  • Jumlah dan jenis argumen perlu disesuaikan dengan parameter yang tersedia.

Penguasaan argumen fungsi akan membantu dalam membuat program Python yang lebih fleksibel. Konsep ini juga menjadi dasar untuk memahami materi yang lebih lanjut, seperti fungsi tingkat lanjut, fungsi tanpa nama, fungsi sebagai objek, pemrograman fungsional, serta pengolahan data menggunakan berbagai pustaka Python.

Referensi Tambahan:

Artikel ini akan dibaca oleh: Arza Ryan Syah Allya Gani, Asri Alfaya Sayidah, Aulia Imroatun Fadlila, Avrilia Charista Asna, dan Bagus Rahul Ahmad Attaufa.

5 komentar untuk "Argumen Fungsi dalam Python"

  1. Cara Mendaftarkan Buku Baru di Perpus SMAN 8 Semarang:

    BalasHapus
    Balasan
    1. Masuk ke bagian web perpus SMAN 8 Semarang, googling saja.

      Hapus
    2. Setelah itu pilih menu admin, dan pilih daftar buku referensi baru.

      Hapus
    3. Isi data buku perpus sesuai dengan data buku baru yang masuk.

      Hapus
    4. Setelah diisi, kemudian kirim data. Setelah berhasil disimpan pada database, data buku baru telah siap digunakan pada perpus SMAN 8 Semarang.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -