Visualisasi sederhana pemisahan bilangan ganjil dan genap.
Program ganjil genap adalah salah satu latihan pemrograman dasar yang sangat umum, terutama bagi pemula. Tujuannya adalah membuat kode yang mampu menentukan apakah sebuah bilangan bulat yang dimasukkan oleh pengguna adalah bilangan ganjil atau bilangan genap. Konsep dasarnya berakar pada definisi matematika bilangan: bilangan genap adalah bilangan yang habis dibagi dua (sisa pembagiannya nol), sedangkan bilangan ganjil adalah bilangan yang tidak habis dibagi dua (sisa pembagiannya satu).
Dalam Python, operasi kunci untuk menyelesaikan tantangan ini adalah operator modulo, yang dilambangkan dengan simbol persen (%). Operator modulo memberikan sisa dari operasi pembagian. Jika N % 2 menghasilkan 0, maka N adalah genap. Jika hasilnya 1, maka N adalah ganjil.
Untuk membuat program ini berfungsi, kita memerlukan tiga langkah utama: menerima input dari pengguna, melakukan perhitungan (menggunakan modulo), dan menampilkan hasilnya.
# Meminta input dari pengguna dan mengkonversinya menjadi integer
try:
nomor = int(input("Masukkan sebuah bilangan bulat: "))
# Menggunakan operator modulo (%) untuk menentukan ganjil/genap
if nomor % 2 == 0:
print(f"Bilangan {nomor} adalah bilangan GENAP.")
else:
print(f"Bilangan {nomor} adalah bilangan GANJIL.")
except ValueError:
print("Input tidak valid. Harap masukkan hanya bilangan bulat.")
Kode di atas sangat efisien untuk tugas tunggal. Fungsi input() digunakan untuk mendapatkan data, dan blok try-except ditambahkan untuk menangani kasus di mana pengguna memasukkan teks alih-alih angka, yang akan menyebabkan error ValueError jika tidak ditangani.
Dalam pengembangan perangkat lunak yang lebih terstruktur, sangat disarankan untuk membungkus logika inti ke dalam sebuah fungsi. Ini memungkinkan Anda memanggil pengecekan ganjil/genap berkali-kali tanpa perlu menulis ulang logika modulo.
def cek_ganjil_genap(angka):
"""
Fungsi untuk memeriksa apakah sebuah angka ganjil atau genap.
Mengembalikan string 'genap' atau 'ganjil'.
"""
if not isinstance(angka, int):
return "Error: Input harus bilangan bulat."
if angka % 2 == 0:
return "genap"
else:
return "ganjil"
# Contoh penggunaan fungsi
uji_satu = 45
uji_dua = 100
hasil_satu = cek_ganjil_genap(uji_satu)
hasil_dua = cek_ganjil_genap(uji_dua)
print(f"Angka {uji_satu} adalah {hasil_satu}.")
print(f"Angka {uji_duas} adalah {hasil_dua}.")
Penggunaan fungsi seperti ini meningkatkan keterbacaan kode (readability) dan memudahkan proses pengujian (testing). Selain itu, penambahan pemeriksaan tipe data menggunakan isinstance() memastikan fungsi kita bekerja dengan input yang benar, meskipun tantangan dasar seringkali mengasumsikan input sudah benar.
Logika ganjil genap sering digunakan ketika kita perlu memproses sekumpulan data (list) dan melakukan tindakan berbeda berdasarkan paritas setiap elemen. Misalnya, memisahkan daftar angka menjadi dua list terpisah: satu untuk angka genap dan satu lagi untuk angka ganjil.
data_angka = [12, 33, 40, 57, 6, 91, 100, 1]
list_genap = []
list_ganjil = []
for angka in data_angka:
if angka % 2 == 0:
list_genap.append(angka)
else:
list_ganjil.append(angka)
print(f"Data Asli: {data_angka}")
print(f"Angka Genap: {list_genap}")
print(f"Angka Ganjil: {list_ganjil}")
Dalam contoh di atas, kita mengiterasi (looping) melalui setiap elemen dalam data_angka. Berdasarkan hasil modulo 2, setiap angka secara otomatis diarahkan ke list yang sesuai. Ini menunjukkan bagaimana operator modulo yang sederhana dapat menjadi fondasi untuk algoritma pemfilteran data yang lebih kompleks dalam program ganjil genap python.
Memahami operator modulo dan struktur kondisional (if-else) adalah langkah penting dalam menguasai pemrograman Python. Latihan dasar seperti ini membantu membangun fondasi logika komputasi yang kuat.