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 *

Pengalaman Pengguna Game Penghasil Saldo DANA Lebih Cepat Adaptif Dan Efisien Dibawa Oleh Inovasi Teknologi
Pergeseran Mutu Produksi Kosmetik Terdeteksi Lebih Akurat Berkat Aliran Data Langsung
Pengalaman Pengguna Semakin Responsif Adaptif Dan Efisien Berkat Perkembangan Teknologi Modern
Momentum Tetap Terarah Dan Terkendali Dipertahankan Melalui Taktik Mode Pemburu Sic Bo Live
Keputusan Tetap Terukur Dalam Game Online Dipertahankan Melalui Pengelolaan Modal Cerdas
Kapitalisasi Pasar Dan Inovasi Kasino Online Berubah Di Tengah Disrupsi Teknologi Modern
Strategi Baru Untuk Meningkatkan Keunggulan Kompetitif Dibuka Melalui Business Model Canvas Mahjong Ways
Kualitas Sistem Mahjongways Kasino Online Dipahami Melalui Identifikasi Nilai Pembayaran Game Penghasil Saldo DANA
Perspektif Baru Dalam Menganalisis Perkembangan Mahjong Ways Dibuka Melalui Modernisasi Strategi
Kasino Menjadi Studi Sistem Informasi Bagi Mahasiswa Melalui Pelatihan Enterprise Architecture
Mahjongways Kasino Online Dijadikan Acuan Strategi Marketing dalam Lingkungan Pemerintahan
Keamanan Informasi Jadi Fondasi Utama Layanan Konsultasi Kosmetik Berbasis Teknologi
Teknologi Pemantauan Membantu Mengukur Frekuensi Pembayaran secara Lebih Objektif dan Terukur
Kajian Statistik Pola RTP Menyoroti Perkembangan Teknologi Neural Sintetis Regulatoris
Simulasi Statistik Membuka Pendekatan Baru Memahami Mahjong Game Sungai Penuh secara Terukur
Statistik Objektif Membantu Membaca Pola Mahjong Game Sungai Penuh dengan Lebih Rasional
Strategi Mahjong Game Sungai Penuh Makin Terarah melalui Pendekatan Statistik Modern
Pendekatan Data Objektif Membantu Mengkaji Mahjong Game Saldo DANA Sungai Penuh secara Lebih Terstruktur
Mahjong Game Sungai Penuh Dikaji lewat Simulasi Statistik untuk Membaca Pola Aktivitas
Aturan Mahjong Digital dari Dua Kartu Awal hingga Penentuan Rentang Nilai Game Penghasil Saldo DANA
Pendekatan Adaptif MahjongWays Kasino Online Membantu Menjaga Keseimbangan Anggaran Hiburan
Kemunculan Simbol Unik MahjongWays Kasino Online Perlu Dibaca Secara Lebih Rasional
Mahjong Ways Menarik Minat Pemain di Tengah Ketatnya Persaingan Game Digital
Pengaturan Tempo MahjongWays Kasino Online Tidak Menentukan Munculnya Kombinasi Khusus
Starlight Princess Kembali Merebut Perhatian Pemain MBG Berkat Daya Tariknya
Membaca Pola Mahjong Ways dan Tren Permainan Lewat Data Saldo DANA Terbaru
Disiplin Mental MahjongWays Kasino Online Membantu Mencegah Keputusan Finansial yang Terlalu Impulsif
Mengenal Sweet Bonanza sebagai Game Digital Online dengan Tema Manis yang Menarik
Rotasi Awal MahjongWays Kasino Online Bukan Tolok Ukur Kemurahan Sistem Permainan
Menelusuri Strategi Terbaik dalam Bermain Game Penghasil Saldo DANA Secara Lebih Mendalam