Default value pada fungsi (Re: [UVT:330] Tentang fungsi di berkas 15.py)

55 views
Skip to first unread message

Fajran Iman Rusadi

unread,
Sep 10, 2012, 6:29:55 AM9/10/12
to universitas-v...@googlegroups.com
Halo..

Berkas 15.py berisi contoh kedua (yang pertama ada di 14.py) mengenai
pembuatan fungsi di Python dan fungsii ini berisi sesuatu hal yang ada
di Python namun belum tentu ada di bahasa lain yaitu default parameter
value.

def jumlah_detik(detik, menit=0, jam=0, hari=0):
return detik + menit * 60 + jam * 3600 + hari * 86400

Fungsi di atas punya 4 buah parameter yaitu detik, menit, jam, dan
hari. Tiga di antara memiliki default value yaitu nilai yang akan
dipakai jika parameter tidak digunakan saat pemanggilan.

Pemanggilan fungsi di atas dengan 4 cara di bawah memiliki arti yang sama.

jumlah_detik(100, 0, 0, 0)
jumlah_detik(100, 0, 0)
jumlah_detik(100, 0)
jumlah_detik(100)

Pada contoh terakhir di atas, parameter menit, jam, dan hari tidak
diset nilainya saat fungsi dipanggil. Namun berhubung 3 parameter
tersebut memiliki default value, maka pemanggilan fungsi akan berhasil
dan parameter yang nilainya tidak diset akan menggunakan default value
dari masing-masing parameter.

Contoh lain:

def cek_ganjil_genap(angka, pesan_ganjil="ganjil", pesan_genap="genap"):
if angka % 2 == 0:
print pesan_genap
else:
print pesan_ganjil

cek_ganjil_genap(2)
cek_ganjil_genap(3)
cek_ganjil_genap(2, "odd", "even")
cek_ganjil_genap(3, "odd", "even")

kalau kode di atas terpotong, bisa cek http://tempel.blankon.in/26156


2012/9/10 Raviyanto <ravi...@gmail.com>:
> Pak Fajran,
> Setelah membaca kelima belas berkas latihan di Github [0], saya tidak begitu
> paham skrip yang ada di [1].
>
> Mohon penjelasannya, Pak Fajran. Terima kasih.
>
>
> [0] https://github.com/fajran/uvt-python-2012/tree/master/P1
> [1] https://github.com/fajran/uvt-python-2012/blob/master/P1/15.py
>
> --
>
>



--
Fajran Iman Rusadi-
http://fajran.web.id http://dahsy.at

Raviyanto Ahmad

unread,
Sep 10, 2012, 10:49:47 AM9/10/12
to universitas-v...@googlegroups.com
>
> def jumlah_detik(detik, menit=0, jam=0, hari=0):
> return detik + menit * 60 + jam * 3600 + hari * 86400
>
> Fungsi di atas punya 4 buah parameter yaitu detik, menit, jam, dan
> hari. Tiga di antara memiliki default value yaitu nilai yang akan
> dipakai jika parameter tidak digunakan saat pemanggilan.
>
> Pemanggilan fungsi di atas dengan 4 cara di bawah memiliki arti yang
> sama.
>
> jumlah_detik(100, 0, 0, 0)
> jumlah_detik(100, 0, 0)
> jumlah_detik(100, 0)
> jumlah_detik(100)
>
> Pada contoh terakhir di atas, parameter menit, jam, dan hari tidak
> diset nilainya saat fungsi dipanggil. Namun berhubung 3 parameter
> tersebut memiliki default value, maka pemanggilan fungsi akan
> berhasil
> dan parameter yang nilainya tidak diset akan menggunakan default
> value
> dari masing-masing parameter.


print "Durasi:", jumlah_detik(45, 50, 2)

Berarti penugasan cetak di atas memiliki parameter: detik=45, menit=50, dan jam=2

Fajran Iman Rusadi

unread,
Sep 10, 2012, 10:59:56 AM9/10/12
to universitas-v...@googlegroups.com
2012/9/10 Raviyanto Ahmad <ravi...@uvt.web.id>:
>
> print "Durasi:", jumlah_detik(45, 50, 2)
>
> Berarti penugasan cetak di atas memiliki parameter: detik=45, menit=50, dan jam=2

iya. jangan lupa nilai hari=0


tambahan: di python kita juga bisa menyebutkan nama parameter saat
mengeset nilainya pada saat memanggil fungsi. Kalau namanya disebut,
urutan bisa dibuat tidak sama.

jumlah_detik(1, 2, 3, 4)
jumlah_detik(detik=1, menit=2, jam=3, hari=4)
jumlah_detik(menit=2, hari=4, jam=3, detik=1)

3 pemanggilan di atas itu sama semua artinya.
Reply all
Reply to author
Forward
0 new messages