python - fungsi

Python (Part 8) – Fungsi

Diposting pada 312 views

Fungsi yang Mengembalikan Nilai

Selain melakukan sesuatu, sebuah fungsi juga dapat mengembalikan nilai. Hal ini berguna jika misalnya kita ingin memproses kembali hasil keluaran dari sebuah fungsi. Sebagai contoh, kita ingin membuat fungsi untuk menghitung potongan harga. Lalu dari hasil tersebut kita gunakan untuk menghitung kembalian.

Kita akan menggunakan keyword return. Agar tidak bingung coba jalankan dan cermati potongan kode berikut ini.

def hargaSetelahDiskon(harga, diskon):
    hargaAkhir = harga * diskon / 100
    return hargaAkhir

uang = 100000
harga = 75000
diskon = 75

kembalian = uang - hargaSetelahDiskon(harga, diskon)
print(kembalian)

Pada kode tersebut, fungsi hargaSetelahDiskon() mengembalikan nilai hargaAkhir. Untuk menghitung kembalian, kita perlu mengurangi nilai uang dengan hargaAkhir yang didapat dari fungsi hargaSetelahDiskon(). Setelah itu kita bisa menampilkan hasil penghitungan kembalian dengan mengunakan print().

nilai dari variabel kembalian

Fungsi Rekursif

Fungsi rekursif merupakan fungsi yang memanggil dirinya sendiri. Ya, jadi saat mendefinisikan sebuah fungsi kita juga akan panggil fungsi tersebut didalamnya. Contohnya sebagai berikut.

# Mendefinisikan fungsi
def fungsiRekursif():
    fungsiRekursif()

# Memanggil fungsi
fungsiRekursif()

Fungsi tersebut menghasilkan RecursionError karena berjalan terus menerus melebihi batas maksimum rekursi. Mirip seperti while-loop, kita harus memperhitungkan batasan agar fungsi ini dapat berhenti dan tidak error karena terlalu banyak rekursi.

RecursionError

Salah satu contoh kasus penggunaan fungsi rekursif adalah saat ingin menghitung nilai faktorial sebuah bilangan. Faktorial dari n adalah hasil perkalian berurutan dari n hingga angka 1. Faktorial dalam matematika ditulis dengan lambang tanda seru (!).

Berikut ini adalah contoh penulisan faktorial secara matematis.

5! = 5x4x3x2x1 = 120
4! = 4x3x2x1 = 24
3! = 3x2x1 = 6
2! = 2x1 = 2
1! = 1

Lalu bagaimana mendefinisikan fungsi faktorial dengan menggunakan konsep rekursif? Berikut ini adalah contoh kodenya.

# Mendefinisikan fungsi
def hitungFaktorial(n):
    if n == 1:
        return 1
    else:
        return n * hitungFaktorial(n-1)

# Mencari Faktorial 2
print(hitungFaktorial(2))

Fungsi tersebut terlebih dahulu akan mengecek parameter n. Jika parameter n bernilai 1 maka akan mengembalikan nilai 1. Jika tidak, maka kalikan nilai n dengan hasil penghitungan faktorial n-1.

Pada kode tersebut kita menghitung faktorial 2. Parameter n bernilai 2 yang artinya tidak sama dengan 1. Karena tidak sesuai dengan kondisi pengecekan if sehingga menyebabkan program masuk cabang else. Hal ini memaksa program untuk mencari terlebih dahulu hasil dari faktorial 2-1 atau faktorial 1 .

Hasil dari faktorial 1 adalah 1. Hal ini terjadi karena n bernilai 1 dan sesuai dengan kondisi if saat pengecekan n.

Setelah mendapat hasil dari faktorial 1, kita bisa masukkan nilainya ke perhitungan sebelumnya dan mengalikannya dengan n yang bernilai 2. Sehingga ditemukanlah hasil akhir penghitungan faktorial 2 yaitu 2.

hasil faktorial 2

Nah, cukup sekian pembahasan mengenai fungsi pada Python. Semoga teman-teman tidak semakin bingung setelah membaca tulisan ini 😆. Jika ada yang bingung jangan sungkan untuk berdiskusi di kolom komentar ya. Bagikan tulisan ini jika menurutmu bermanfaat. Selamat belajar! 😉

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *