Cara menggunakan ARGUMENTED pada Python

Cara menggunakan ARGUMENTED pada Python

Nurul Huda 5 February 2021


  1. Beranda
  2. Python
  3. Python Dasar
  4. Python Dasar: Fungsi (def) 🐍

Cara menggunakan ARGUMENTED pada Python

  • Python
  • Python Dasar

Daftar Isi

    • Pengertian Fungsi (def) Pada Python
    • Sintaks Fungsi
    • Memanggil Fungsi
    • Fungsi dengan Argumen atau Parameter
    • Parameter Wajib
    • Parameter Opsional (atau Default)
    • Fungsi Dengan Parameter Tidak Berurut
    • Fungsi yang Mengembalikan Nilai
    • Ruang Lingkup (dan Siklus Hidup) Variabel Pada Fungsi
    • Docstring
    • Fungsi yang Memanggil Dirinya Sendiri
    • Kode Program Lengkap

Pada pertemuan ini kita akan membahas tentang fungsi pada python, jenis-jenisnya, dan juga contoh cara penggunaannya.

Sebelum mulai ngoding, kita bahas pengertiannya terlebih dahulu.

Pengertian Fungsi (def) Pada Python

Apa itu fungsi (def) pada python?

Fungsi pada python adalah kumpulan perintah atau baris kode yang dikelompokkan menjadi satu kesatuan untuk kemudian bisa dipanggil atau digunakan berkali-kali.

Sebuah fungsi bisa menerima parameter, bisa mengembalikan suatu nilai, dan bisa dipanggil berkali-kali secara independen.

Dengan fungsi kita bisa memecah program besar yang kita tulis, menjadi bagian-bagian kecil dengan tugasnya masing-masing.

Juga, fungsi akan membuat kode program kita menjadi lebih “reusable” dan lebih terstruktur.

Sintaks Fungsi

Di dalam python, sintaks pembuatan fungsi terlihat seperti berikut:

def <nama_fungsi>(parameters):
  statements

Sintaks di atas secara umum terbagi menjadi 4 bagian:

  1. Kata kunci def yang menjadi pertanda bahwa blok kode program adalah sebuah fungsi
  2. Nama fungsi yang kita buat
  3. Parameters yang akan diterima oleh fungsi yang kita buat (tidak wajib)
  4. Dan blok kode fungsi yang di sana akan kita tulis perintah-perintah yang harus dilakukan oleh sebuah fungsi

Oiya: jangan lupa bahwa blok kode program di dalam python didefinisikan dengan indentasi. Silakan baca aturan sintaks python untuk lebih lengkapnya.

Contoh sebuah fungsi sederhana dengan nama halo_dunia():

def halo_dunia():
  print('Halo python! Halo dunia!')

Fungsi di atas, jika dipanggil, akan mengeksekusi perintah print() yang ada di dalamnya.

Memanggil Fungsi

Bagaimana cara memanggil fungsi yang telah kita definisikan?

Sederhana.

Cukup ketik nama fungsinya, ditambah dengan tanda kurung () seperti berikut:

Output:

Bahkan kita bisa memanggil fungsi halo_dunia() berkali-kali:

halo_dunia()
halo_dunia()
halo_dunia()

Output:

Halo python! Halo dunia
Halo python! Halo dunia
Halo python! Halo dunia

Fungsi dengan Argumen atau Parameter

Sebuah fungsi juga bisa menerima parameter atau pun argumen. Ia merupakan suatu nilai/variabel yang dilemparkan ke dalam fungsi untuk diproses lebih lanjut.

Sebagai contoh, perhatikan output berikut:

Halo Nurul, selamat datang!
Halo Lendis, selamat datang!
Halo Fabri, selamat datang!
Halo Isa, selamat datang!

Lalu, bagaimana cara kita memproduksi output seperti itu dengan python?

Ada banyak cara. Bisa dengan list, perulangan, dan lain sebagainya.

Akan tetapi, mungkin yang langsung terbesit dalam benak kita adalah dengan melakukan 4x print() seperti ini:

print('Halo Nurul, selamat datang!')
print('Halo Lendis, selamat datang!')
print('Halo Fabri, selamat datang!')
print('Halo Isa, selamat datang!')

Itu adalah cara yang sangat simpel, dan juga tidak salah.

Akan tetapi, dari pada kita melakukan 4x print seperti di atas, kita bisa memanfaatkan fungsi dan parameter pada python.

Sehingga kode programnya akan terlihat seperti ini:

def selamat_datang (nama):
  print(f'Halo {nama}, selamat datang!')

selamat_datang('Nurul')
selamat_datang('Lendis')
selamat_datang('Fabri')
selamat_datang('isa')

Dan kita tetap akan mendapatkan output yang sama. Lebih elegan bukan 😎

Parameter Wajib

Parameter di dalam python bisa lebih dari satu, bisa wajib semua (harus diisi), dan bisa juga bersifat opsional.

Perhatikan contoh fungsi berikut:

def perkenalan (nama, asal):
  print(f"Perkenalkan saya {nama} dari {asli}")

Jika dipanggil:

perkenalan("Renza Ilhami", "Jawa Timur")

Kita akan mendapatkan output:

Perkenalkan saya Renza Ilhami dari Jawa Timur

Tapi jika kita memanggilnya dengan parameter tidak lengkap, justru kita akan mendapatkan error:

perkenalan("Renza Ilhami")

Error:

Exception has occurred: TypeError
perkenalan() missing 1 required positional argument: 'asal'

Kenapa? Karena kita hanya memasukkan satu parameter saja padahal parameter yang diminta ada 2.

Parameter Opsional (atau Default)

Tidak semua parameter fungsi pada python itu bersifat wajib. Ada yang opsional.

Parameter opsional adalah parameter yang seandainya tidak diisi, dia sudah memiliki nilai default.

Perhatikan contoh berikut:

def suhu_udara (daerah, derajat, satuan = 'celcius'):
  print(f"Suhu di {daerah} adalah {derajat} {satuan}")

Pada fungsi suhu_udara() di atas, kita mendefinisikan 3 buah parameter:

  • daerah
  • derajat
  • suhu = 'celcius'

Dua parameter pertama adalah bersifat wajib dan harus diisi, sedangkan parameter ketiga tidak wajib. Jika tidak kita isi, maka nilai default-nya adalah “celcius”.

Sekarang, kita coba panggil fungsi tersebut dengan 2 cara:

suhu_udara("Surabaya", 30)
suhu_udara("Surabaya", 86, 'Fahrenheit')

Jika dijalankan, outputnya akan terlihat seperti ini:

Suhu di Surabaya adalah 30 celcius
Suhu di Surabaya adalah 86 Fahrenheit

Fungsi Dengan Parameter Tidak Berurut

Jika kita perhatikan lagi fungsi suhu_udara(), kita akan dapati kalau parameter yang bersifat opsional hanya ada 1, dan hanya ada di belakang.

Tapi, bagaimana jika ternyata parameter opsionalnya ada lebih dari 1?

Coba perhatikan:

def suhu_udara (daerah, derajat = 30, satuan = 'celcius'):
  print(f"Suhu di {daerah} adalah {derajat} {satuan}")

Pada fungsi tersebut, kita telah mengatur nilai default untuk parameter derajat. Sehingga sekarang kita memiliki dua buah parameter.

Kita coba panggil dengan 2 parameter seperti ini:

suhu_udara('Jakarta', 'fahrenheit')

Apa outputnya?

Suhu di Jakarta adalah fahrenheit celcius

Hmmm. Kok gitu?

Padahal kita inginnya hanya mengisi 2 parameter saja:

  1. Satu untuk parameter daerah
  2. Dan yang kedua untuk parameter satuan

Tapi di sini malah terisi adalah parameter derajat.

Untuk mengatasi hal ini, kita bisa mendefinisikan nama argumen/parameter yang akan kita isi.

Perhatikan contoh ini:

suhu_udara('Jakarta', 'fahrenheit')
suhu_udara('Jakarta', satuan = 'fahrenheit')

Pemanggilan fungsi di atas akan menghasilkan output:

Suhu di Jakarta adalah fahrenheit celcius
Suhu di Jakarta adalah 30 fahrenheit

Dengan mendefinisikan nama argumen yang kita passing, kita sekarang bisa memanggilnya bahkan secara tidak berurutan sekalipun:

suhu_udara(satuan='kelvin', daerah='Makasar', derajat=100)

Output:

Suhu di Makasar adalah 100 kelvin

Fungsi yang Mengembalikan Nilai

Jenis fungsi yang berikutnya adalah berkaitan dengan nilai kembalian.

Ditinjau dari segi pengembalian nilai, fungsi terbagi menjadi 2:

  1. Fungsi yang tidak mengembalikan nilai
  2. Fungsi yang mengembalikan nilai

Pada contoh-contoh di atas, kita telah membuat dan memanggil fungsi-fungsi yang tidak memiliki nilai.

Sekarang, kita akan coba membuat fungsi yang mempunyai atau mengembalikan sebuah nilai.

def luas_persegi (sisi):
  return sisi * sisi

Penjelasan

  • Kata kunci return berfungsi untuk mengembalikan nilai.
  • Nilai yang dikembalikan suatu fungsi, bisa kita olah kembali untuk berbagai kebutuhan.

Contoh:

# tidak menghasilkan output apa pun
luas_persegi(10)

# menghasilkan output
print('Luas persegi dengan sisi 4 adalah:', luas_persegi(4))

# kita juga bisa simpan di dalam variabel
persegi_besar = luas_persegi(100)
persegi_kecil = luas_persegi(50)

print('Toal luas persegi besar dan kecil adalah:', persegi_besar + persegi_kecil)

Jika dijalankan, kita akan mendapatkan output:

Luas persegi dengan sisi 4 adalah: 16
Toal luas persegi besar dan kecil adalah: 12500

Jadi intinya: fungsi yang mengembalikan nilai adalah sebuah fungsi yang jika kita panggil, dia akan memberikan kita sebuah nilai yang bisa kita olah lebih lanjut, seperti misalkan kita simpan dalam sebuah variabel atau kita lakukan operasi tertentu.

Lebih dari 1 return

Jika statement return telah dieksekusi pada sebuah fungsi, maka semua proses yang ada di dalam blok kode fungsi tersebut akan berhenti.

Sehingga, misalkan kita memiliki lebih dari 1 buah return, maka hanya ada satu return saja yang dieksekusi. Dan ketika sebuah return telah dieksekusi, semua perintah yang ada di bawahnya akan di-skip –ini mirip dengan perintah break pada perulangan for mau pun while.

Perhatikan contoh berikut:

def persentase (total, jumlah):
  if (total >= 0 and total <= jumlah):
    return total / jumlah * 100
  
  return False

# output 50
print(persentase(30, 60))

# output False
print(persentase(100, 60))

Output:

Ruang Lingkup (dan Siklus Hidup) Variabel Pada Fungsi

Variabel memiliki ruang lingkup dan siklus hidup.

Secara umum, terdapat dua ruang lingkup variabel pada python:

  1. Variabel global
  2. Dan variabel lokal

Variable global adalah variabel yang bisa dipanggil dari manapun dari satu file python.

Sedangkan variable lokal adalah variabel yang hanya hidup di dalam satu blok kode tertentu (seperti di dalam fungsi, seperti kasus kita pada pertemuan ini).

Perhatikan contoh berikut:

kota = 'Lamongan'

def halo() :
  print(kota)

print('[print secara langsung]', kota)
print('[panggil fungsi halo]', end=' ')

halo()

Output:

[print secara langsung] Lamongan
[panggil fungsi halo] Lamongan

Pada kode di atas, variabel kota yang ada di dalam fungsi, adalah variabel kota yang sama dengan yang ada di luar fungsi.

Tapi, coba kita ubah kode programnya:

kota, provinsi = 'Lamongan', 'Jawa Timur'

def hello ():
  provinsi = 'Jawa Barat'
  print(kota, provinsi)

print('[PANGGIL FUNGSI hello()]')
hello()

print('\n[SECARA LANGSUNG]')
print(kota, provinsi)

Output:

[PANGGIL FUNGSI hello()]
Lamongan Jawa Barat

[SECARA LANGSUNG]
Lamongan Jawa Timur

Pencerahan

  1. Kita membuat 2 buah variabel dengan nama kota dan provinsi
  2. Kita mengubah variabel provinsi pada fungsi hello()
  3. Saat fungsi hello() dieksekusi, benar saja variabel provinsi berubah.
  4. Tapi, ketika kita tampilkan lagi (secara langsung) variabel provinsi, nilainya kembali ke nilai semula.

Kenapa?

Karena ketika kita mengubah variabel provinsi pada fungsi hello(), itu sebenarnya kita tidak merubah variabel provinsi yang ada di luar, melainkan kita membuat variabel baru dengan nama yang sama, akan tetapi dengan ruang lingkup lokal yang hanya bisa diakses pada fungsi hello() saja.

Docstring

Yang terakhir, kita bisa memberikan sebuah deskripsi terhadap fungsi yang kita buat.

Deskripsi ini biasanya akan ditampilkan oleh Text Editor mau pun IDE sebagai bantuan tentang apa yang sebenarnya dilakukan oleh sebuah fungsi.

Caranya gampang.

Untuk mendefinisikan deskripsi program, kita hanya perlu menuliskan komentar multi baris tepat setelah mendefinsikan nama fungsi.

Perhatikan contoh berikut:

def suhu_udara (daerah, derajat = 30, satuan = 'celcius'):
  """
  Fungsi ini bertugas untuk menampilkan teks yang memberikan informasi 
  tentang suhu udara di suatu daerah.
  """

  print("Suhu di {} adalah {} {}".format(daerah, derajat, satuan))

Berikut ini contoh tampilannya jika kita menggunakan Visual Studio Code.

Fungsi yang Memanggil Dirinya Sendiri

Dari segi tempat pemanggilan, fungsi pada python bisa dipanggil dari berbagai tempat.

Bisa dari console. Bisa dari fungsi yang lainnya. Bisa juga dari dirinya sendiri.

Fungsi yang memanggil dirinya sendiri, akan menciptakan sebuah perulangan. Dan perulangan ini biasa disebut sebagai perulangan rekursif.

Insyaallah, pada pertemuan selanjutnya kita akan membahas tentang fungsi rekursif pada python.

Kode Program Lengkap

Untuk kalian yang ingin mengakses kode program lengkap dari pertemuan ini. Langsung saja kunjungi link ini.

Terima kasih banyak!

Mengangkangi Python: Level 1

Ikuti Kursus Cara Paling Cepat Menguasai Bahasa Python.

Apa itu argumen di python?

Parameter adalah sebutan untuk nilai inputan fungsi pada saat fungsi itu di definisikan, sedangkan argumen adalah sebutan untuk nilai inputan fungsi pada saat fungsi itu dipanggil.

Apa fungsi print () dalam python?

Apa Itu Fungsi Print? Fungsi print pada python adalah sebuah fungsi yang digunakan untuk memunculkan output yang ingin kita print pada console.

Apa fungsi def?

Pengertian Fungsi (def) Pada Python Sebuah fungsi bisa menerima parameter, bisa mengembalikan suatu nilai, dan bisa dipanggil berkali-kali secara independen. Dengan fungsi kita bisa memecah program besar yang kita tulis, menjadi bagian-bagian kecil dengan tugasnya masing-masing.

Bagaimana mendefinisikan fungsi pada python?

Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang digunakan untuk melakukan sebuah tindakan/action. Fungsi memberikan modularitas yang lebih baik untuk aplikasi Anda dan tingkat penggunaan kode yang tinggi.