Parameters vs Arguments
Function menjadi lebih berguna ketika dapat menerima data dari luar. Dengan parameters dan arguments, sebuah function dapat dibuat dinamis sehingga tidak hanya melakukan tugas dengan data yang sama.
Konsep ini merupakan bagian penting dalam penggunaan function karena memungkinkan satu function digunakan untuk berbagai kondisi dan nilai.
Pengertian Parameters dan Arguments
Meskipun sering digunakan secara bersamaan, parameter dan argument memiliki arti yang berbeda.
Parameters
Parameter adalah variabel yang dituliskan di dalam tanda kurung ketika kita mendefinisikan function.
Contoh:
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
Pada contoh tersebut:
nameadalah parameter.emojiadalah parameter.
Parameter berfungsi sebagai tempat untuk menerima data ketika function dipanggil.
Arguments
Argument adalah nilai sebenarnya yang diberikan kepada function ketika kita memanggil function.
Contoh:
say_hello('Andre', '😊')
Pada contoh tersebut:
'Andre'adalah argument untuk parametername.'😊'adalah argument untuk parameteremoji.
Cara Kerja Parameters dan Arguments
Perhatikan function berikut:
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
Function tersebut memiliki dua parameter:
name
emoji
Kemudian function dipanggil:
say_hello('Andre', '😊')
Python akan memasangkan argument dengan parameter berdasarkan posisinya:
name ← 'Andre'
emoji ← '😊'
Sehingga kode di dalam function secara efektif menggunakan:
print(f'Hello Andre 😊')
Output:
Hello Andre 😊
Menggunakan Function dengan Data Berbeda
Salah satu keuntungan utama parameter adalah function yang sama dapat digunakan dengan argument yang berbeda.
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
say_hello('Andre', '😊')
say_hello('Dan', '👍')
say_hello('John', '🔥')
Output:
Hello Andre 😊
Hello Dan 👍
Hello John 🔥
Kita tidak perlu membuat function yang berbeda untuk setiap nama.
Positional Arguments
Pada contoh sebelumnya, argument diberikan berdasarkan posisi.
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
say_hello('Andre', '😊')
Argument pertama 'Andre' masuk ke parameter pertama name.
Argument kedua '😊' masuk ke parameter kedua emoji.
Urutannya penting:
say_hello('Andre', '😊')
berbeda dengan:
say_hello('😊', 'Andre')
Outputnya juga akan berbeda:
Hello 😊 Andre
Jumlah Arguments Harus Sesuai
Jika function memiliki dua parameter:
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
Maka function membutuhkan dua argument ketika dipanggil:
say_hello('Andre', '😊')
Jika hanya memberikan satu argument:
say_hello('Andre')
Python akan menghasilkan error karena parameter emoji belum mendapatkan nilai.
Sebaliknya, jika memberikan terlalu banyak argument:
say_hello('Andre', '😊', 'Python')
Python juga akan menghasilkan error karena function hanya memiliki dua parameter.
Parameters vs Arguments
| Aspek | Parameters | Arguments |
|---|---|---|
| Digunakan saat | Mendefinisikan function | Memanggil function |
| Bentuk | Nama variabel | Nilai/data |
| Contoh | name, emoji | 'Andre', '😊' |
| Fungsi | Menampung data | Memberikan data |
Contoh:
def say_hello(name, emoji):
print(f'Hello {name} {emoji}')
name dan emoji adalah parameters.
Sedangkan:
say_hello('Andre', '😊')
'Andre' dan '😊' adalah arguments.
Manfaat Parameters dan Arguments
1. Function Menjadi Dinamis
Function tidak terpaku pada satu nilai tertentu.
def greet(name):
print(f'Hello {name}')
Function tersebut dapat digunakan untuk berbagai nama:
greet('Andre')
greet('Budi')
greet('Sinta')
2. Mengurangi Pengulangan Kode
Tanpa function, kita mungkin menulis:
print('Hello Andre')
print('Hello Budi')
print('Hello Sinta')
Dengan function:
def greet(name):
print(f'Hello {name}')
greet('Andre')
greet('Budi')
greet('Sinta')
Logika hanya perlu ditulis satu kali.
3. Menerapkan Prinsip DRY
DRY (Don't Repeat Yourself) merupakan prinsip untuk menghindari pengulangan kode yang tidak diperlukan.
Dengan function dan parameter, satu logika dapat digunakan berkali-kali dengan data yang berbeda.
4. Memudahkan Pengembangan Program
Function yang menerima parameter lebih mudah dikembangkan karena data yang diproses tidak harus ditentukan secara langsung di dalam function.
Contoh Studi Kasus
Misalnya kita ingin membuat function untuk menampilkan informasi pengguna:
def show_user(name, age):
print(f'Name: {name}')
print(f'Age: {age}')
show_user('Andre', 25)
show_user('Budi', 30)
Output:
Name: Andre
Age: 25
Name: Budi
Age: 30
Function show_user() dapat digunakan kembali untuk berbagai pengguna tanpa mengubah isi function.
Ringkasan
Beberapa poin penting yang perlu diingat:
- Parameter adalah variabel yang ditentukan ketika membuat function.
- Argument adalah nilai yang diberikan ketika function dipanggil.
- Argument dapat diberikan kepada parameter berdasarkan posisi.
- Jumlah argument harus sesuai dengan parameter yang dibutuhkan function, kecuali function menggunakan mekanisme parameter khusus seperti default parameter atau variadic arguments.
- Parameters dan arguments membuat function lebih dinamis dan fleksibel.
- Penggunaan function membantu menerapkan prinsip DRY (Don't Repeat Yourself).
- Function yang memiliki parameter dapat digunakan kembali dengan berbagai data.