Penulis : Rismita Wahyu — Materi Pekan 1 Hari Ke-3 (sanberCode)
1. Fungsi
Python memiliki banyak sekali fungsi bawaan yang sangat membantu, namun kita dapat membuat fungsi sendiri. Contoh membuat fungsi di Python :
def least_difference(a, b, c):diff1 = abs(a - b)
diff2 = abs(b - c)
diff3 = abs(a - c)
return min(diff1, diff2, diff3)
Dalam mendefinisikan sebuah fungsi yang diberi nama “least_difference”. Fungsi diatas memiliki tiga argument, yaitu a, b, c. Fungsi dimulai dengan kata kunci ‘def’. Blok kode yang menjorok setelah tanda ‘:’ dijalankan ketika fungsi dipanggil. Kata kunci ‘return’ adalah untuk menentukan apa yang akan di hasilkan dari fungsi tersebut.
> Parameter / Arguments
- Default Parameter
print('Hello, Colion')def greet(who="Colin"):
print("Hello,", who)
Pada contoh di atas, fungsi memiliki arguments ‘who’. Di dalam fungsi tersebut kita mendefinisikan nilai “Colin” sebagai argumen ‘who’. Jika kita tidak memberikan nilai ‘who’ ketika kita memanggil fungsi tersebut, maka fungsi tersebut akan memiliki nilai argument ‘who’ sebagai “Colion”. Berikut contohnya :
# memanggil fungsi tanpa memberikan nilai untuk argument who>>>print(greet()) "Hello Colion" # memanggil fungsi dengan memiliki argument who>>>print(greet(who))
"Hello Colin" # memanggil fungsi dengan memberikan argument untuk nilai
who
>>>print(greet("Fauzan"))
"Hello Fauzan"
- Keyword Parameter
Keyword parameter pada saat kita memanggil fungsi tersebut dengan keyword yang sudah ditentukan, hampir mirip seperti pada default.
def fungsi_04(nama):print(nama)fungsi_04(nama = 'rudi')#output
rudi
> Arbitrary Parameter
Arbitary adalah saat kita tidak mengetahui berapa parameter yang ingin kita masukkan saat melakukan pembuatan fungsi. Ada dua jenis arbitrary parameter pada fungsi:
- Args parameter menggunakan satu tanda asterisk sebelum parameter. Parameter berbentuk tuple.
- Kwargs parameter menggunakan dua tanda asterisk sebelum parameter. Parameter berbentuk dictionary.
def fungsi_05 (*nama):
for item in nama:
print(item)
fungsi_05('rudi','santi','mirna')#output
rudi
santi
mirna#contoh fungsi kwargs
def fungsi_06 (**nama):
for key, value in nama.items():
print(key, value)fungsi_06(nama = 'rudi', umur = 18)#output
nama rudi
umur 18
2. Fungsi Lambda
Fungsi Lambda dikenal sebagai fungsi anonim karena fungsi ini tidak terdefinisi artinya kita bisa melakukan operasi menggunakan fungsi lambda tanpa mendefinisikan terlebih dahulu fungsinya. Dalam fungsi lambda, dia bisa memiliki beberapa argumen tetapi hanya memiliki 1 ekspresi. Persamaan umum dari fungsi lambda adalah.
lambda argument: kode/pernyataankali_2 = lambda x: x * 2print(kali_2(2))#output4
Contoh di atas merupakan contoh yang kurang baik dalam penggunaan lambda, karena tujuan fungsi lambda adalah fungsi sementara yang tidak disimpan di dalam memori. Untuk memenuhi tujuan ini, biasanya fungsi lambda selain digunakan secara langsung juga digunakan dengan memanfaatkan tiga fungsi lain, yaitu Map, Filter, dan Reduce. Namun kita kan membahas Map saja.
> Map
Fungsi map adalah fungsi yang digunakan untuk mengaplikasikan suatu fungsi pada semua anggota array. Terdapat dua paramater masukkan pada fungsi Map, yang pertama berisi fungsinya dan yang kedua berisi array/struktur datanya.
data = [1,2,3,4]def kali_3(nilai):return nilai*3hasil = list(map(kali_3,data))print(hasil)#output
[3,6,9,12]
Sekarang akan kita coba aplikasikan fungsi lambda pada fungsi map.
data = [1,2,3,4]hasil = list(map(lambda x : x*3,data))print(hasil)#output[3, 6, 9, 12]
3. Method
Method adalah salah satu hal yang sangat penting dalam python. Fungsi yang dimiliki oleh suatu object dinamakan method. Contohnya kita membuat variabel bertipe string, bertipe list, bertipe numeric dan lain sebagainya, itu semua adalah object, dan setiap object memiki fungsi yang hanya bisa digunakan oleh object tersebut. Sebagai contoh, object string memiliki method uppercase, dimana method upper ini tidak bisa digunakan oleh object lain seperti list. Tapi list juga memiliki fungsi seperti index, yang dimana fungsi index ini tidak bisa digunakan oleh data dengan tipe objek lain seperti string contohnya.
# membuat object string>>> huruf_kecil = 'huruf_kecil'
# memanggil salah satu method string
>>> print(huruf_kecil.upper())
'HURUF_KECIL'# mendifinisikan object list
>>>keluarga_ucup = ['mamah', 'papah', 'ucup', 'adek ucup', 'kaka ucup']
# memanggil method yang dimiliki oleh list
>>>print(keluarga_ucup.index('ucup'))
2
Metode yang dimiliki oleh tipe data string adalah
Method yang dimiliki oleh tipe data list adalah