Membuat Fungsi filter() di Python untuk Menyaring Angka Ganjil

2 min read 24-08-2024
Membuat Fungsi filter() di Python untuk Menyaring Angka Ganjil

Python adalah bahasa pemrograman yang sangat populer dan memiliki banyak fitur yang memudahkan kita dalam mengolah data. Salah satu fitur yang sangat berguna adalah fungsi filter(). Fungsi ini memungkinkan kita untuk menyaring elemen-elemen dalam suatu iterable (seperti list, tuple, atau set) berdasarkan kriteria tertentu yang kita tetapkan. Dalam artikel ini, kita akan membahas secara rinci bagaimana cara menggunakan fungsi filter() di Python untuk menyaring angka ganjil dari sebuah list.

Apa Itu Angka Ganjil?

Sebelum kita masuk ke dalam implementasi fungsi filter(), mari kita pahami terlebih dahulu apa yang dimaksud dengan angka ganjil. Angka ganjil adalah angka yang tidak dapat dibagi dengan dua tanpa sisa. Dalam istilah matematika, angka ganjil dapat dinyatakan dengan rumus:

n % 2 != 0

Di mana n adalah angka yang kita periksa. Jika sisa hasil bagi n dibagi 2 tidak sama dengan 0, maka n adalah angka ganjil.

Fungsi filter() di Python

Fungsi filter(function, iterable) menerima dua argumen:

  • function: Fungsi yang mengembalikan True atau False yang digunakan untuk mengevaluasi setiap elemen di iterable.
  • iterable: Koleksi data yang ingin kita saring (seperti list, tuple, dll.).

Fungsi filter() akan mengembalikan elemen-elemen dari iterable yang hasil evaluasinya True berdasarkan fungsi yang diberikan.

Langkah-langkah Menyaring Angka Ganjil Menggunakan filter()

Mari kita ikuti langkah-langkah berikut untuk membuat fungsi filter() yang menyaring angka ganjil dari sebuah list:

Langkah 1: Menyiapkan List Angka

Pertama, kita perlu menyiapkan list angka yang ingin kita saring. Sebagai contoh, mari kita buat list berisi angka dari 1 sampai 20.

angka = list(range(1, 21))

Langkah 2: Membuat Fungsi untuk Menentukan Angka Ganjil

Kita perlu membuat fungsi yang akan digunakan dalam fungsi filter(). Fungsi ini akan memeriksa setiap angka dan mengembalikan True jika angka tersebut ganjil.

def apakah_ganjil(n):
    return n % 2 != 0

Langkah 3: Menggunakan Fungsi filter()

Sekarang, kita dapat menggunakan fungsi filter() untuk menyaring angka ganjil dari list yang telah kita buat.

angka_ganjil = list(filter(apakah_ganjil, angka))

Langkah 4: Menampilkan Hasil

Setelah mendapatkan angka ganjil, kita bisa menampilkan hasilnya ke layar.

print("Angka ganjil dari 1 hingga 20 adalah:", angka_ganjil)

Contoh Lengkap

Berikut adalah kode lengkap dari proses di atas:

# Langkah 1: Menyiapkan List Angka
angka = list(range(1, 21))

# Langkah 2: Membuat Fungsi untuk Menentukan Angka Ganjil
def apakah_ganjil(n):
    return n % 2 != 0

# Langkah 3: Menggunakan Fungsi filter() untuk Menyaring Angka Ganjil
angka_ganjil = list(filter(apakah_ganjil, angka))

# Langkah 4: Menampilkan Hasil
print("Angka ganjil dari 1 hingga 20 adalah:", angka_ganjil)

Output

Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:

Angka ganjil dari 1 hingga 20 adalah: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

Menggunakan Lambda Function

Selain menggunakan fungsi biasa, kita juga bisa menggunakan lambda function untuk menyederhanakan kode kita. Berikut adalah cara untuk melakukannya:

# Menyaring angka ganjil menggunakan lambda
angka_ganjil = list(filter(lambda n: n % 2 != 0, angka))
print("Angka ganjil dari 1 hingga 20 adalah:", angka_ganjil)

Kelebihan Menggunakan Lambda

  • Keringkasan: Menggunakan lambda function dapat membuat kode kita lebih ringkas.
  • Mudah Dipahami: Jika kita hanya menggunakan fungsi sederhana, lambda bisa membuatnya lebih mudah dimengerti.

Namun, penggunaan lambda sebaiknya juga diperhitungkan, karena jika fungsi menjadi kompleks, sebaiknya tetap menggunakan fungsi terpisah agar lebih mudah dibaca.

Kesimpulan

Fungsi filter() adalah alat yang sangat berguna dalam Python untuk menyaring data berdasarkan kriteria tertentu. Dengan contoh di atas, kita telah belajar cara menyaring angka ganjil dari sebuah list menggunakan fungsi filter. Anda juga bisa mengembangkan pengetahuan ini lebih jauh dengan mencoba berbagai kondisi dan iterable yang berbeda.

Selamat mencoba dan eksplorasi Python Anda! Jika Anda memiliki pertanyaan atau kesulitan, jangan ragu untuk bertanya.