Dalam proses belajar pemrograman, terutama di Python, kita pasti sering menemui istilah fungsi. Fungsi ini berguna banget untuk mempermudah penulisan kode, jadi kita nggak perlu berulang-ulang menulis perintah yang sama. Python sendiri sudah menyediakan banyak fungsi bawaan seperti sum(), len(), min(), dan max(). Tapi, kadang kita juga perlu membuat fungsi sendiri supaya kode yang kita buat bisa lebih rapi dan efisien, apalagi kalau tugas yang dikerjakan butuh pengulangan atau perhitungan khusus. Di artikel ini, aku bakal bahas beberapa contoh penggunaan fungsi, mulai dari yang simpel sampai yang bisa dipakai buat bantu proses analisis data.
1. Built-in Function
Fungsi mempermudah proses penulisan kode dan mempercepat pekerjaan, apalagi saat menangani tugas-tugas yang berulang. Python menyediakan berbagai fungsi bawaan seperti sum(), len(), min(), dan max(). Namun, tidak semua kebutuhan bisa dipenuhi hanya dengan fungsi-fungsi bawaan ini.
Contohnya, saat ingin membuat tabel frekuensi dari data aplikasi iOS, kita bisa menulis fungsi buatan sendiri yang:
- Menerima input berupa data
- Menghasilkan tabel frekuensi untuk kolom yang dipilih
- Mengembalikan hasil dalam bentuk
dictionary
Dengan membuat fungsi seperti ini, proses analisis data menjadi lebih cepat dan praktis.
Perintah:
- Buat tabel frekuensi dari daftar
ratingsyang sudah disediakan di editor kode. - Awali dengan membuat
dictionarykosong bernamacontent_ratings. -
Lakukan
looppadalist ratings. Di setiap iterasi:- Jika rating sudah ada dalam
dictionary, tambahkan jumlahnya 1. - Jika belum ada, tambahkan entri baru dengan nilai 1.
- Jika rating sudah ada dalam
- Setelah selesai, tampilkan isi
content_ratingsuntuk melihat hasilnya.
2. Creating Our Own Functions
Fungsi square() berfungsi untuk menghitung kuadrat dari angka yang diberikan. Dalam contoh, fungsi ini digunakan untuk menghitung kuadrat dari angka 10 dan 16, lalu hasilnya disimpan masing-masing ke dalam variabel squared_10 dan squared_16. Hasilnya kemudian ditampilkan di layar.
Perintah:
- Buat fungsi
square()seperti penjelasan di atas. - Hitung kuadrat dari angka 10 dan simpan ke variabel
squared_10. - Hitung kuadrat dari angka 16 dan simpan ke variabel
squared_16.
3. The Structure of Function
Fungsi add_10() dibuat untuk menambahkan angka 10 ke nilai input. Fungsi ini dipakai untuk menghitung hasil dari 30 + 10 dan 90 + 10. Hasil akhirnya disimpan di variabel add_30 dan add_90.
Perintah:
- Tulis fungsi
add_10()yang menerima satu angka, menambahkan angka 10, dan mengembalikan hasilnya. -
Gunakan fungsi ini untuk:
- Menambahkan 10 ke angka 30, simpan ke
add_30. - Menambahkan 10 ke angka 90, simpan ke
add_90.
- Menambahkan 10 ke angka 30, simpan ke
4. Parameters & Arguments
Fungsi square() ditulis ulang agar langsung mengembalikan hasil kuadrat dari input tanpa membuat variabel tambahan di dalamnya. Kemudian, fungsi ini digunakan untuk menghitung kuadrat dari angka 6 dan 11, hasilnya disimpan dalam squared_6 dan squared_11.
Perintah:
- Tulis ulang
square()tanpa menggunakan variabel tambahan dalam fungsi. - Pakai fungsi tersebut untuk menghitung kuadrat angka 6 dan 11.
- Simpan hasilnya masing-masing di
squared_6dansquared_11.
5. Extract Values from any Column
Fungsi extract() digunakan untuk mengambil data dari kolom tertentu di dataset apps_data. Fungsi ini menerima parameter berupa nomor indeks kolom, mengambil data dari kolom tersebut (kecuali header), dan mengembalikannya dalam bentuk list. Contoh: mengambil data dari kolom prime_genre (indeks ke-11) dan menyimpannya di variabel genres.
Perintah:
- Buat fungsi
extract()yang menerima indeks kolom sebagai input. -
Di dalam fungsi:
- Buat
listkosong. Loopdata dariapps_data(lewati header) dan ambil nilai dari kolom sesuai parameter.- Tambahkan nilai tersebut ke
list. - Kembalikan
listberisi hasil ekstraksi.
- Buat
- Gunakan fungsi
extract()untuk mengambil data dari kolomprime_genre(indeks 11) dan simpan ke variabelgenres.
6. Creating Frequency Tables
Kode ini membuat tabel frekuensi dari sebuah list data dengan menghitung seberapa sering setiap elemen muncul.
Perintah:
- Buat fungsi bernama
freq_table()yang menerimalistsebagai input. -
Di dalam fungsi:
- Buat
dictionarykosong. Loopsetiap elemenlist, hitung kemunculannya, dan simpan dalamdictionary.- Kembalikan
dictionarysebagai hasil.
- Buat
- Gunakan fungsi
freq_table()untuk membuat tabel frekuensi darigenresdan simpan hasilnya di variabelgenres_ft.
7. Writing a Single Function
Kode ini membaca data dari file CSV dan membuat fungsi freq_table() yang lebih dinamis. Fungsi ini menerima parameter indeks kolom, lalu menghitung frekuensi kemunculan setiap nilai dalam kolom tersebut, dan menyimpannya di dictionary. Fungsi ini kemudian digunakan untuk menghitung frekuensi pada kolom user_rating (indeks 7) dan hasilnya disimpan di ratings_ft.
8. Reusability & Multiple Parameters
Kode ini memperbarui fungsi freq_table() agar lebih fleksibel dengan menerima dua parameter:
data_setuntuk dataset.indexuntuk nomor kolom yang akan dihitung frekuensinya.
Dengan begitu, fungsi ini bisa dipakai untuk kolom manapun tanpa perlu mengubah kodenya.
9. Keyword & Positional Arguments
Fungsi freq_table() bisa dipanggil dengan positional atau keyword arguments:
content_ratings_ftmenggunakanfreq_table(apps_data, 10).ratings_ftdipanggil dengankeyword argumentsesuai urutandata_setdanindex.genres_ftdipanggil dengankeyword argumenttapi urutan argumen bisa ditukar (indexduluan).
Cara ini memudahkan penggunaan fungsi dengan lebih fleksibel.
10. Combining Functions
Kode ini membaca data, mengambil kolom tertentu, lalu menghitung rata-rata nilainya. Hanya data numerik yang diproses, nilai yang tidak bisa dikonversi ke angka akan diabaikan. Selain itu, kode juga menghindari pembagian dengan nol jika tidak ada data valid.
11. Debugging Functions
Kode membaca data dari AppleStore.csv, menghitung rata-rata dari harga aplikasi dan rating aplikasi. Prosesnya:
- Mengambil data dari kolom.
- Menjumlahkan semua nilai.
- Menghitung jumlah data valid.
- Membagi total nilai dengan jumlah data untuk mendapatkan rata-rata, lalu menampilkan hasilnya dalam bentuk angka yang lebih mudah dipahami.
Kesimpulan
Fungsi dalam Python sangat memudahkan kita untuk membuat program yang efisien, terstruktur, dan rapi. Dengan memahami fungsi, kita bisa menghemat waktu dan tenaga karena bisa memanggil kembali kode yang sudah dibuat tanpa harus menulis ulang.