Python: Fungsi dan Modul
Fungsi biasa menggambarkan kegunaan dari suatu benda, seperti pintu yang fungsinya mengatur keluar masuknya objek pada ruangan.
Fungsi memiliki prinsip serupa dengan iterasi yaitu agar kita tidak menulis banyak kode (mempersingkat), tetapi dalam iterasi kita bergantung pada sebuah batasan perulangan sedangkan fungsi tidak.
Fungsi juga dikenal dengan nama “Subprogram”, karena menyusun bagian kode yang akan dijalankan program dan bisa dipanggil dari skrip lain.
Apa itu Fungsi
Fungsi pada pemrograman memiliki pemaknaan lain, lebih mirip seperti fungsi matematika. Fungsi dalam pemrograman adalah sebuah kumpulan blok kode yang bisa dipanggil menggunakan nama (identifier) seperti variabel.
Perbedaan fungsi dan variabel adalah fungsi memiliki parameter dan di bentuk mengunakan keyword def
def [nama fungsi](parameter,...):
[blok kode]
contohnya seperti ini:
def sapaSenyum(nama):
print("Hai," + nama + " :)")
"Olivia")
sapaSenyum(# Hai, Olivia :)
Penjelasan
def sapaSenyum
ada pembentuk fungsi bernama sapaSenyum dan(nama)
adalah parameter fungsi yang hanya bisa dipakai di dalam blok fungsi.- Identansi tab setelah pembuatan fungsi menjadi pembatas lingkup fungsi.
Keyword return
Contoh pada bagian sebelumnya merupakan contoh fungsi nilai kembali. Pada bagian ini kita akan membahas kembalian fungsi.
Jika pada matematika ketika kita memasukan nilai 4 kedalam f(x) = x + 1
maka kembalian bernilai 5. Berikut pemaparanya
Ada sebuah fungsi , f(x) = x + 1 namun x belum ditentukan.
x belum ditentukan.
f(x) = x + 1 , (ga bisa di hitung, karena x belum jelas)
---
x = 4 (x bernilai 4, x telah ditentukan)
f(x) = x + 1
f(4) = 4 + 1 , (x ditukar dengan 4 agar bisa di hitung)
f(4) = 5
Jika dalam python kita menggunakan keyword return
untuk fungsi mengembalikan nilai:
def fx (x):
return x + 1
print(fx(4))
# 5
Apa itu Modul
Ketika kita menulis skrip python kita, misal main.py, pernahkah kamu merasa bahwa kodenya kepanjangan dan makin lama makin repot untuk scroll kebawah ?
Modul adalah cara kita untuk memecah satu skrip menjadi 2 skrip atau lebih dengan tujuan ketika kita membaca suatu skrip tidak cape scroll dan fokus sama tujuan skrip itu saja.
Disini kita ada skrip untuk menghitung berbagai rumus matematika yang repot:
import math
def pytagoras(x,y):
return math.sqrt(x ** 2 + y ** 2)
def luasSegitiga(alas,tinggi):
return (alas * tinggi) / 2
def ratarata(kumpulanNilai):
= 0
hasil for nilai in kumpulanNilai:
+= nilai
hasil return hasil
def main():
print(pytagoras(3,4))
print(luasSegitiga(3,4))
print(ratarata([1,2,4,5]))
main()
Bila kita liat kode di atas banyak fungsi yang membuat kita perlu melihat secara hati-hati (agak serem karena banyak fungsi).
Mari kita pecah kode diatas menjadi beberapa skrip kecil. Kita akan pecah berdasarkan fungsi matematisnya:
- buat skrip
__init__.py
(isinya kosong, untuk contoh), ini untuk memudahkan import berkas (standar modul python). - skrip
geometri.py
untuk fungsipytagoras
danluasSegitia
- skrip
diskrit.py
untuk fungsiratarata
- skrip
main.py
untuk fungsimain
sekaligus Entry Point
Entry point adalah fungsi yang pertama kali dijalankan oleh program.
Hasil pecahan skrip:
# diskrit.py
def ratarata(kumpulanNilai):
= 0
hasil for nilai in kumpulanNilai:
+= nilai
hasil return hasil
# geometri.py
import math
def pytagoras(x,y):
return math.sqrt(x ** 2 + y ** 2)
def luasSegitiga(alas,tinggi):
return (alas * tinggi) / 2
# main.py
def main():
print(pytagoras(3,4))
print(luasSegitiga(3,4))
print(ratarata([1,2,4,5]))
main()
Agar kita bisa membaca fungsi dari skrip geometry.py
dan diskrit.py
, di skrip main.py
. Kita menggunakan keyword from
yang dibarengi nama berkas dan import
untuk fungsi yang ingin dipakai.
# main.py
from diskrit import ratarata
from geometry import luasSegitiga, pytagoras
def main():
print(pytagoras(3,4))
print(luasSegitiga(3,4))
print(ratarata([1,2,4,5]))
main()
Tambahan
- keyword
from
berguna untuk menemukan skrip kita. - keyword
import
akan membuka akses skrip kita untuk mengunakan fungsi dari skrip/pustaka lain. - keyword
import
tidak hanya berlaku untuk skrip lokal, tetapi juga pustaka yang terunduh melaluipip
.
Bila ingin melihat contohnya bisa kunjungi ini : REPL Python Import Test