0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan72 halaman

Panduan Lengkap Fungsi Python

Diunggah oleh

Raihan Adi Nugroho
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan72 halaman

Panduan Lengkap Fungsi Python

Diunggah oleh

Raihan Adi Nugroho
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Python Programming:

Function
Trainer Bio
Sistem Informasi
(2014-2018)

Data Scientist
(Sept 2018- August 2020)

Business Intelligence
(Sept 2020- Present)
Muhammad
Ammar Fauzan
[Link]
[Link]@[Link]
Topik Sebelumnya : Conditional Statement
and Iteration
Topik Sebelumnya : Conditional Statement
and Iteration

Bagaimana jika persyaratannya diubah menjadi


kelipatan 6 dan 3? atau kelipatan 5 dan 7?
Topik Sebelumnya : Conditional Statement
and Iteration

Apakah kita harus mengubah syntax


setiap kali syaratnya berubah?
Today Menus:
1. Pengenalan Function
2. Parameter Input
3. Return Statement
4. Memproses Dataframe dengan Function
Hands-On Required :
Hands - On : Python Programming III - Rakamin
[Link]
Dataset :
1. rakamin_store_monthly
2. rakamin_store_city_monthly

Klik disini untuk mengakses


folder Hands-On dan
Dataset
Pengenalan
Function
Function adalah kumpulan statement(s) yang hanya berjalan
jika dipanggil atau diminta. Permintaan untuk menjalankan
suatu function dikenal dengan istilah function call

Function sangat berguna ketika kita ingin melakukan suatu


kumpulan statement(s) yang repetitif (berulang)
Bar Chart - Total Profit per Segment

Untuk membuat 1 Bar Chart


membutuh ~25 baris kode.

Apakah untuk membuat 10 Bar Chart - Total Profit per Category


barchart dengan metric yang
berbeda kita harus membuat
25 x 10 = 250 baris kode?

Click here
Analogi Function - Memasak

Bahan Masakan
(Input) Delicious Beef :)
(Output)
Chef Memasak
(Proses)
Implementasi Function Sederhana

Contoh Code:

Implementasi source code Function


- Header line pada function diawali dengan syntax def diikuti dengan
function name kemudian kurung oval (. . .) dan titik dua :
Implementasi Function Sederhana

Contoh Code:

Implementasi source code Function


- Header line pada function diawali dengan syntax def diikuti dengan
function name kemudian kurung oval (. . .) dan titik dua :
- Di dalam kurung oval setelah nama function dapat diisi (optional)
dengan suatu atau banyak parameter / argumen (input)
Implementasi Function Sederhana

Contoh Code:

Implementasi source code Function


- Header line pada function diawali dengan syntax def diikuti dengan
function name kemudian kurung oval (. . .) dan titik dua :
- Di dalam kurung oval setelah nama function dapat diisi (optional)
dengan suatu atau banyak parameter / argumen (input)
- Dalam function body bisa berisikan 1 atau lebih statement
Implementasi Function Sederhana

Contoh Code:

Pada contoh function di atas:


1. Kita membuat function dengan nama “penjumlahan”
Implementasi Function Sederhana

Contoh Code:

Pada contoh function di atas:


1. Kita membuat function dengan nama “penjumlahan”
2. Function memiliki 2 parameter a dan b
Implementasi Function Sederhana

Contoh Code:

Pada contoh function di atas:


1. Kita membuat function dengan nama “penjumlahan”
2. Function memiliki 2 parameter a dan b
3. Function memiliki 2 statement
a. Statement 1 → membuat variabel hasil_ jumlah yang melakukan operasi a +
b
b. Statement 2 → melakukan operasi print dari variabel hasil_ jumlah
Memanggil Function
Saat di execute cell 2 tidak memunculkan output apapun. Untuk
membuat function berjalan kita perlu memanggilnya (function call)
Memanggil Function
Saat di execute cell 2 tidak memunculkan output apapun. Untuk
membuat function berjalan kita perlu memanggilnya (function call)

Kita melakukan function call pada cell 3 dengan menuliskan nama


function dan 2 parameter / inputan (a dan b) yang dibutuhkan pada
function penjumlahan
Implementasi Function Sederhana
dengan Return statement
Contoh Code:

Pada baris kode ke 3, kita mendefinisikan return statement. Artinya saat


function dijalankan dan berhasil menjalankan hingga return statement
maka function akan selesai dijalankan
Implementasi Function Sederhana
dengan Return statement
Contoh Code:

Pada cell ke 5, pada saat kita melakukan function call terdapat out [5]
ketika kita menggunakan return statement. Coba bedakan dengan case
sebelumnya!
Global vs Local Variable

Dalam pemrograman python, terdapat istilah global variable


dan local variable

● Global Variable - variabel yang dibuat diluar sebuah function,


sehingga variabel tersebut dapat digunakan/diolah
dimanapun
● Local Variable - variabel yang dibuat didalam sebuah function,
sehingga hanya bisa diakses di dalam function tersebut
Global vs Local Variable - Contoh 1

Meskipun variabel x diubah nilainya didalam function, namun nilainya


tetap tidak berubah saat di jalankan di luar function (line 8)
Global vs Local Variable - Contoh 2

Meskipun variabel a diubah nilainya didalam function, namun nilainya


tetap tidak berubah saat di jalankan di luar function (line 8)
Global vs Local Variable - Advance

Variabel local bisa di definisikan sebagai variabel global dengan


menggunakan function global
Parameter
Input
Parameter (input) pada function bersifat optional dan menjadi
prasyarat jika didefinisikan saat membuat sebuah function.
Parameter pada function disebut juga argument
Tanpa Parameter

1 atau lebih Parameter


4 macam
parameter / input
pada Function Optional Parameter

Default Parameter
Tanpa Parameter

1 atau lebih Parameter


4 macam
parameter / input
pada Function Optional Parameter

Default Parameter
Function Tanpa Parameter

Saat membuat function tidak definisikan parameter. Sehingga saat


melakukan function call cukup menggunakan nama functionnya saja
dan kurung oval (..) tanpa inputan parameter
Function Tanpa Parameter

Saat membuat function tidak definisikan parameter. Sehingga saat


melakukan function call cukup menggunakan nama functionnya saja
dan kurung oval (..) tanpa inputan parameter
Tanpa Parameter

1 atau lebih Parameter


4 macam
parameter / input
pada Function Optional Parameter

Default Parameter
Function dengan 1 atau Lebih
Parameter

Contoh di atas, membuat function penjumlahan dengan 2 parameter


input a dan b. Sehingga saat melakukan function call wajib
menginputkan parameter a dan b sebagai prasyarat! Jika tidak akan error.
Function dengan 1 atau Lebih
Parameter

Contoh di atas, membuat function penjumlahan dengan 2 parameter


input a dan b. Sehingga saat melakukan function call wajib
menginputkan parameter a dan b sebagai prasyarat! Jika tidak akan error.
Tanpa Parameter

1 atau lebih Parameter


4 macam
parameter / input
pada Function Optional Parameter

Default Parameter
Function dengan Optional Parameter

Study Case : Objective function city_order adalah untuk mendapatkan


total order pada suatu bulan tertentu dari 1-3 kota sekaligus.
Function dengan Optional Parameter

Pada function city_order didefinisikan dengan 2 parameter wajib (month


dan city1) dan 2 parameter optional (city2 dan city3), artinya tidak wajib
diinputkan saat melakukan function call.
Function dengan Optional Parameter

Pada function city_order didefinisikan dengan 2 parameter wajib (month


dan city1) dan 2 parameter optional (city2 dan city3), artinya tidak wajib
diinputkan saat melakukan function call.
Function dengan Optional Parameter

Saat melakukan function call dalam context input parameter bisa


mendefinisikan dengan nama parameter nya atau tidak. Secara logic akan
terdefinisikan dari kiri ke kanan.
Function dengan Optional Parameter

Saat melakukan function call dalam context input parameter bisa


mendefinisikan dengan nama parameter nya atau tidak. Secara logic akan
terdefinisikan dari kiri ke kanan.
Tanpa Parameter

1 atau lebih Parameter


4 macam
parameter / input
pada Function Optional Parameter

Default Parameter
Function dengan Default Parameter

Study Case : Objective function user_order adalah untuk mendapatkan


total order pada suatu bulan tertentu dari specific user tertentu.
Function dengan Default Parameter

Pada function user_order didefinisikan dengan 1 parameter wajib


(user_id) dan 1 parameter default (month dengan value 2019-12), artinya
parameter sudah memiliki nilai default. Hal ini membuat, saat melakukan
function call tidak wajib mendefinisikan month.
Function dengan Default Parameter

Jika parameter month didefinisikan saat melakukan function call, maka


nilai default akan tergantikan / ter-replace
Function dengan Default Parameter

Jika parameter month didefinisikan saat melakukan function call, maka


nilai default akan tergantikan / ter-replace
Buatlah function cek_umur yang bisa menghitung umur dengan
menginputkan parameter tahun

Hint: Gunakan package datetime untuk mendapatkan value tahun ini!


Return
Value
Return Statement merupakan output/keluaran dari setiap
function. Function akan otomatis selesai dijalankan jika return
statement berhasil dijalankan. Penggunaan return tidak
bersifat wajib (optional).
Mengapa perlu mendefinisikan Return
Statement? #1
Kita memerlukan output dari function jika hasil dari output/balikan
tersebut digunakan lagi dalam pemrosesan selanjutnya.

Output dari fungsi cek_genap


digunakan sebagai value pada
pada operasi print()
Mengapa perlu mendefinisikan Return
Statement? #2
Kita memerlukan output dari function jika hasil dari output/balikan
tersebut digunakan lagi dalam pemrosesan selanjutnya.

Output dari fungsi luas_persegi


digunakan untuk menghitung
volume
Implementasi Function dengan Multi
Return statement
Contoh Code:

Return statement bisa kita definisikan lebih dari 1. Function akan otomatis
selesai dijalankan jika return statement berhasil dijalankan.
Implementasi Function dengan Multi
Return statement
Contoh Code:

Function otomatis selesai pada return statement pertama pada line code 5,
sehingga line code 11 tidak dijalankan
Implementasi Function dengan Multi
Return statement
Contoh Code:

Function dijalankan hingga line code terakhir (line 11)


Output pada Return Statement bisa
lebih dari 1
Sangat dimungkinkan jika value pada function bernilai lebih dari 1. Secara
otomatis hasilnya akan menjadi tuple, sehingga setiap itemnya dapat diambil
menggunakan index.

● df_info[0] = untuk mendapatkan nilai luas


● df_info[1] = untuk mendapatkan nilai volume
Output pada Return Statement bisa
lebih dari 1
Selain menggunakan index, kita juga bisa langsung memberikan nilai pada
masing-masing item nya kedalam beberapa variabel sekaligus, seperti
contoh berikut
Output pada Return Statement bisa
lebih dari 1
Selain menggunakan index, kita juga bisa langsung memberikan nilai pada
masing-masing item nya kedalam beberapa variabel sekaligus, seperti
contoh berikut
Memproses
Dataframe dengan
Function
Objective dari pemrosesan Dataframe dengan function adalah
kita mampu untuk membuat kolom baru menggunakan
fungsi apply lambda
Ada banyak cara dalam membuat kolom baru
Salah satu nya bisa menggunakan for iteration tiap baris pada
dataframe menggunakan .iterrows()
Reference
Lambda Function

Lambda function adalah fungsi anomin (tidak bernama) yang hanya memiliki
1 statement saja. Namun, lambda function mampu memiliki lebih dari satu
parameter input.

Contoh Code:
Lambda Function

Lambda function adalah fungsi anomin (tidak bernama) yang hanya memiliki
1 statement saja. Namun, lambda function mampu memiliki lebih dari satu
parameter input.

Contoh Code:

Contoh 1
Lambda Function

Lambda function adalah fungsi anomin (tidak bernama) yang hanya memiliki
1 statement saja. Namun, lambda function mampu memiliki lebih dari satu
parameter input.

Contoh Code:

Contoh 1 Contoh 2
Sekilas Penjelasan .apply()

Axis = 0 menjalankan fungsi


Axis = 1 menjalankan fungsi agregat
agregat sum pada setiap kolom
sum pada setiap baris
Alternatif yang lebih efisien untuk membuat
kolom baru Apply Lambda
Alternatif yang lebih efisien untuk membuat
kolom baru Apply Lambda

Buat Function Def dengan


output segmen terlebih dulu
Alternatif yang lebih efisien untuk membuat
kolom baru Apply Lambda

Buat Function Def dengan


output segment terlebih dulu

Kolom baru
Penjelasan Script Apply Lambda

2| .apply() pada pandas untuk


memproses suatu fungsi setiap baris
pada dataframe (axis = 1)

1| Mendefinisikan 3| Lambda digunakan untuk menjalankan


Nama Kolom Baru function segment pada setiap barisnya

Notes: x di definisikan sebagai alias dari dataframe yang jadikan sebagai


parameter / inputan function segment
Kira-kira bisa lebih
dipersingkat lagi gak ya
syntax nya?
Implementasi Apply Lambda tanpa Function def

Kita bisa menjalankan apply lambda tanpa membuat suatu function def
terlebih dulu. Namun dalam case ini parameternya wajib berupa series
bukan dataframe
Buatlah 1 kolom baru pada data dataframe rakamin_store_city_monthly,
dengan kriteria segmen berdasarkan visit sebagai berikut:

1. Total visit > 80 maka high interest


2. Total visit <= 80 dan > 35 maka mid interest
3. Total visit <= 35 maka low interest

Tentukan jumlah masing-masing segment pada tahun 2017. Gunakan


syntax apply lambda!
That’s All
Good Luck!

Anda mungkin juga menyukai