Belajar Dasar Python #11 : Fungsi

Fungsi adalah blok kode yang akan dijalankan ketika dipanggil dan fungsi ini dapat dipanggil atau digunakan berulang-ulang. fungsi dapat mempersingkat kode atau membuat kode kita menjadi simpel. untuk membuat fungsi kita perlu menambahkan keyword def dibagian depan diikuti nama fungsi lalu parameter yang dimasukkan ke dalam tanda kurung(parameter boleh dikosongkan).

def namaFungsi(parameter1,parameter2):
    perintah

diatas adalah struktur fungsi, kita dapat memasukkan parameter lebih dari satu atau bahkan dapat dikosongkan. berikut adalah contoh fungsi.

def fungsi():
    print('ini adalah fungsi')

contoh diatas kita membuat fungsi tanpa parameter yang akan melakukan perintah print. tapi kode diatas saja belum cukup, anda perlu memanggil fungsi tersebut agar dapat digunakan.

def fungsi():
    print('ini adalah fungsi')
fungsi()
fungsi()
fungsi()

Output:

ini adalah fungsi
ini adalah fungsi
ini adalah fungsi

fungsi ini dapat memudahkan anda, anda tidak perlu menuliskan kode yang sama berulang ulang. misal kita membuat program untuk menghitung luas segitiga dan menampilkan hasilnya.

alas1 = 3
tinggi1 = 2
hasil1 = (alas1 * tinggi1)/2
print('Segitiga dengan alas', alas1, 'dan tinggi', tinggi1, 'memiliki luas ', hasil1)

alas2 = 10
tinggi2 = 4
hasil2 = (alas2 * tinggi2)/2
print('Segitiga dengan alas', alas2, 'dan tinggi', tinggi2, 'memiliki luas ', hasil2)

alas3 = 4
tinggi3 = 5
hasil3 = (alas3 * tinggi3)/2
print('Segitiga dengan alas', alas3, 'dan tinggi', tinggi3, 'memiliki luas ', hasil3)

alas4 = 7
tinggi4 = 2
hasil4 = (alas4 * tinggi4)/2
print('Segitiga dengan alas', alas4, 'dan tinggi', tinggi4, 'memiliki luas ', hasil4)

Output:

Segitiga dengan alas 3 dan tinggi 2 memiliki luas  3.0
Segitiga dengan alas 10 dan tinggi 4 memiliki luas  20.0
Segitiga dengan alas 4 dan tinggi 5 memiliki luas  10.0
Segitiga dengan alas 7 dan tinggi 2 memiliki luas  7.0

diatas adalah program tanpa fungsi untuk menghitung luas dari 4 buah segitiga, cukup banyak bukan? padahal hanya 4 segitiga, bayangkan jika anda ingin menghitung 10 segitiga, mungkin anda akan menuliskan puluhan baris kode. dengan menggunakan fungsi kita dapat membuat program kita lebih simpel dan dan pendek. kita dapat membuat fungsi untuk menghitung luas dari segitiga dan menampilkan hasilnya.

def luasSegitiga(alas,tinggi):
    hasil = (alas * tinggi)/2
    print('Segitiga dengan alas', alas, 'dan tinggi', tinggi, 'memiliki luas ', hasil)

luasSegitiga(3,2)
luasSegitiga(10,4)
luasSegitiga(4,5)
luasSegitiga(7,2)

Output:

Segitiga dengan alas 3 dan tinggi 2 memiliki luas  3.0
Segitiga dengan alas 10 dan tinggi 4 memiliki luas  20.0
Segitiga dengan alas 4 dan tinggi 5 memiliki luas  10.0
Segitiga dengan alas 7 dan tinggi 2 memiliki luas  7.0

Output yang dihasilkan sama dengan sebelumnya, tetapi programnya menjadi lebih simpel dan pendek. pada program diatas kita menetapkan dua parameter yang wajib diisi yaitu alas dan tinggi. jika kita tidak mengisi salah satu parameter maka akan menyebabkan error.

def luasSegitiga(alas,tinggi):
    hasil = (alas * tinggi)/2
    print('Segitiga dengan alas', alas, 'dan tinggi', tinggi, 'memiliki luas ', hasil)

luasSegitiga(10,)

Output:

Traceback (most recent call last):
  File "Fungsi.py", line 32, in 
    luasSegitiga(10,)
TypeError: luasSegitiga() missing 1 required positional argument: 'tinggi'

agar tidak terjadi error kita bisa menetapkan nilai default pada parameter tinggi, dimana jika parameter tinggi tidak anda masukkan, maka variabel tinggi tersebut diisi dengan nilai default. kita misalkan nilai default dari tinggi adalah 3.

def luasSegitiga(alas, tinggi = 3):
    hasil = (alas * tinggi)/2
    print('Segitiga dengan alas', alas, 'dan tinggi', tinggi, 'memiliki luas', hasil)

luasSegitiga(10,)

Output:

Segitiga dengan alas 10 dan tinggi 2 memiliki luas 15.0

Contoh lain.

def jumlah(angka1, angka2, angka3):
    total = angka1 + angka2 + angka3
    print('totalnya adalah',total)

jumlah(2,4,8)

Output:

totalnya adalah 14

program diatas adalah program untuk menentukan jumlah dari 3 bilangan, lalu bagaimana jika saya ingin menambah satu parameter lagi atau 3 atau 4 parameter lagi? tentunya kita perlu mengubah fungsinya lagi. hal ini membuat fungsi jadi tidak dinamis, lalu bagaimana membuat fungsi yang dinamis, dimana kita bebas memasukkan jumlah parameter sesuai dengan keinginan kita tanpa mengubah-ubah lagi fungsi yang sudah kita buat. cara dengan menambahkan * pada awal parameter.

def jumlah(*angka):
    total = angka1 + angka2 + angka3
    print('totalnya adalah',total)

jumlah(2,4,8)

akan tetapi ini belum cukup, kode diatas akan menyebabkan error dikarenakan parameter yang kita masukkan akan dijadikan sebuah tuple sehingga kita tidak dapat melakukan penjumlahan dengan cara biasa. contoh kita mengisi parameter 2, 3, dan 4 ini akan dikonversi ke tuple (2, 3, 4). anda dapat menggunakan perulangan untuk melakukan penjumlahan.

def jumlah(*angka):
    total = 0
    for a in angka:
        total += a
    print('totalnya adalah',total)

jumlah(2,4,8)
jumlah(2,3)
jumlah(3,6,3,5,7)
jumlah(1,5,7,9,6,3,3,5,8)

Output:

totalnya adalah 14
totalnya adalah 5
totalnya adalah 24
totalnya adalah 47

Selanjutnya bagaimana jika kita ingin menggunakan variabel total diluar fungsi tersebut, mari kita coba.

def jumlah(*angka):
    total = 0
    for a in angka:
        total += a
    print('totalnya adalah',total)

jumlah(2,4,8)
print(total)

kode diatas akan menghasilkan error dikarenakan variabel total tidak terdefinisi, ini disebabkan variabel total hanya bisa digunakan di dalam fungsi saja(variabel apapun yang diinisiasi atau dibuat di dalam fungsi tidak dapat digunakan diluar). lalu bagaimana caranya agar kita bisa menggunakan variabel total diluar fungsi? anda dapat memanfaatkan keyword return. return ini berfungsi untuk mengembalikan nilai setiap fungsi dipanggil atau digunakan. agar lebih memahami langsung saja kita coba terapkan.

def jumlah(*angka):
    total = 0
    for a in angka:
        total += a
    return total

totalJumlah = jumlah(2,4,8)
print(totalJumlah)

Output:

14

pada program diatas kita mengembalikan nilai total setiap kali kita menggunakan fungsi jumlah, nilai kembalian total kita simpan kedalam variabel totalJumlah.

didalam fungsi kita juga dapat memanggil fungsi yang lain. contoh:

def jumlah(angka):
    total = 0
    for a in angka:
        total += a
    return total

def rerata(*angka):
    rerata = jumlah(angka) / len(angka)
    return rerata

rerata = rerata(10,10,40,30)
print(rerata)

Output:

22.5

kita punya fungsi jumlah untuk menjumlahkan angka-angka, dan fungsi ini digunakan didalam fungsi rerata. selanjutnya kita akan mempelajari tentang fungsi rekursif dan fungsi lambda atau anonymous function.

Artikel Terkait

Tinggalkan Balasan

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

Studi Kasus Mahjong Ways Menunjukkan Perubahan Cara Pemain Membaca Susunan Simbol Akibat Baris Tambahan
Sering Terjadi Kesalahpahaman Bahwa Transformasi Simbol Emas Mahjong Ways Menandakan Hasil Putaran Berikutnya
Perbandingan Tampilan Antara Mahjong Ways Dan Sekuelnya Dalam Menyajikan Informasi Fitur Di Layar Seluler Modern
Direkapitulasi Perjalanan Mahjong Ways Dari Tema Tradisional Menuju Industri Game Digital Modern
Tanpa Mencampurkan Dengan Peran Wild, Fungsi Scatter Mahjong Ways Dapat Dikenali Dalam Susunan Kemenangan
Penyelaman Mengungkap Perubahan Dan Makna Baru Dunia Baccarat Di Era Digital
Media Gaming Mengungkap Perjalanan Mahjong Ways 2 Dalam Menghadapi Perubahan Tren Industri Hiburan Digital
Baccarat Ditampilkan Dalam Catatan Perubahan Platform Media Gaming Masa Kini Yang Mengubah Cara Bermain
Pergeseran Media Modern Menjadikan Wacana Kasino Online Sebagai Sorotan Baru Masyarakat
Perubahan Gaya Platform Membawa Bakarat Digital Menjadi Sorotan Baru Dalam Percakapan Modern
Perkembangan Komunitas Mahjong Ways Digital Dorong Kebangkitan Popularitas di Indonesia
Tren Mahjong Ways Mobile Gaming Terbaru Hadirkan Kebangkitan Jadi Sorotan Utama
Kenapa Mahjong Ways Tetap Viral? Alasan Ini Bikin Kaget!
Fenomena Game Bertema Oriental Bangkit Kembali, Mahjong Ways Jadi Sorotan Utama
Strategi Mahjong Ways Tetap Digemari Di Tengah Persaingan Game Online Diungkap Media Digital
Transformasi Industri Mahjong Ways Digital Perjalanan Panjang Menuju Inovasi
Kebangkitan Platform Game Mahjong Ways dalam Era Perkembangan Digital
Meski Zaman Berubah, Mahjong Ways Tetap Favorit! Ini Rahasianya
Mahjong Ways Masih Jadi Perbincangan Hangat! Komunitas Gaming Ungkap Alasannya
Evolusi Mahjong Ways Dari Masa Ke Masa Yang Bikin Penasaran Diungkap Laporan Industri
Mahjong Ways Tetap Eksis! Ini Rahasia Bertahan di Tengah Persaingan Industri Game Ketat
Identitas Visual Mahjong Ways Bikin Penggemar Terpikat! Media Online Soroti Konsistensinya
Tren Digital Menggairahkan Lagi! Game Penghasil Uang Cepat Jadi Sorotan Publik
Kenapa Game Penghasil Uang Cepat Menarik Minat Pemain Indonesia? Ini Alasannya!
Benarkah Game Penghasil Uang Cepat Makin Diminati? Faktanya Mengejutkan!
Majestic Treasures Menarik Perhatian Komunitas Game Digital Lewat Pesona Khas dan Ragam Strategi Menarik
Mahjong Ways 2 Ramai Dibahas Lagi! Ini Dampak Besar pada Industri Game Digital Indonesia
Mahjongways Kasino Online Viral di Komunitas Game dan Mulai Disebut sebagai Sumber Penghasilan Baru
Mahjong Ways Kembali Jadi Sorotan! Penggemar Game Penghasil Uang di Indonesia Serbu
Game Penghasil Uang Mulai Dilirik Media Game Mobile di Tengah Pergeseran Tren Global