Fungsi (Def) Python
Fungsi (Def) Python
Nama:Riyan ismail
Nim:19136003
Pengertian 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:
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.
Fungsi di atas, Jika dipanggil, akan mengeksekusi perintah print() yang ada didalamnya
Memanggil Fungsi
Bagaimana cara memanggil fungsi yang telah kita definisikan?
Sederhana.
Cukup ketik nama fungsinya, ditambah dengan tanda kurung () seperti berikut:
Halo_dunia()
Output:
halo_dunia()
halo_dunia()
halo_dunia()
Output:
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!')
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.
Jika dipanggil:
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}")
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')
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?
suhu_udara('Jakarta', 'fahrenheit')
suhu_udara('Jakarta', satuan = 'fahrenheit')
Pemanggilan fungsi di atas akan menghasilkan output:
Dengan mendefinisikan nama argumen yang kita passing, kita sekarang bisa
memanggilnya bahkan secara tidak berurutan sekalipun:
Output:
Penjelasan
• Kata kunci return berfungsi untuk mengembalikan nilai.
• Nilai yang dikembalikan suatu fungsi, bisa kita olah kembali untuk berbagai
kebutuhan.
Contoh:
# menghasilkan output
print('Luas persegi dengan sisi 4 adalah:', luas_persegi(4))
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:
50.0
False
Ruang Lingkup (dan Siklus Hidup)
Variabel Pada Fungsi
Variabel memiliki ruang lingkup dan siklus hidup.
def halo() :
print(kota)
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.
print('\n[SECARA LANGSUNG]')
print(kota, provinsi)
output:
[PANGGIL FUNGSI hello()]
Lamongan Jawa Barat
[SECARA LANGSUNG]
Lamongan Jawa Timur
Pencerahan
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.