Python Modulus (%): Panduan Lengkap dari Dasar hingga Aplikasi Praktis

1. Pendahuluan

Dalam Python, “sisa” atau “modulus” adalah nilai yang tersisa setelah melakukan operasi pembagian. Dalam pemrograman, modulus digunakan untuk banyak tujuan seperti menentukan bilangan ganjil/genap, mengelola indeks data, serta konversi format waktu. Artikel ini akan membahas langkah demi langkah dari dasar hingga penerapan lanjutan operasi modulus di Python.

Apa itu Sisa (Modulus)?

“Sisa” adalah bagian dari pembagian yang tidak termasuk dalam hasil bagi. Misalnya, 10 dibagi 3 menghasilkan hasil bagi 3 dengan sisa 1. Untuk menghitung “sisa” ini di Python, digunakan operator “%”.

2. Dasar Operasi Modulus

Cara Menggunakan Operator %

Operasi modulus di Python dilakukan menggunakan operator “%”. Sebagai contoh, berikut adalah cara menghitung sisa pembagian 10 dengan 3.
print(10 % 3)  # Hasilnya adalah 1
Ini adalah cara praktis untuk mengabaikan hasil bagi dan hanya mengambil sisa.

Menentukan Bilangan Ganjil dan Genap

Salah satu penggunaan paling umum dari modulus adalah untuk menentukan apakah sebuah bilangan ganjil atau genap. Jika sisa pembagian bilangan dengan 2 adalah 0, maka bilangan tersebut genap; jika 1, maka ganjil.
num = 6
if num % 2 == 0:
    print(f"{num} adalah bilangan genap")
else:
    print(f"{num} adalah bilangan ganjil")
Kode sederhana ini memungkinkan Anda menentukan ganjil atau genap dengan cepat.

3. Cara Mendapatkan Hasil Bagi dan Sisa Secara Bersamaan

Menggunakan Fungsi divmod()

Python menyediakan fungsi divmod() untuk mendapatkan hasil bagi dan sisa secara bersamaan. Dengan ini, Anda bisa memperoleh dua hasil sekaligus secara efisien.
result = divmod(10, 3)
print(result)  # Hasilnya adalah (3, 1)
Seperti terlihat, divmod() mengembalikan hasil bagi dan sisa dalam bentuk tuple, sehingga membuat kode lebih ringkas.

4. Contoh Penerapan Operasi Modulus

Pengolahan Indeks Secara Siklik

Operasi modulus juga berguna dalam mengelola indeks pada list atau array. Misalnya, jika indeks keluar dari jangkauan, modulus dapat digunakan untuk membuat perulangan siklik.
def get_element_with_cyclic_index(lst, index):
    return lst[index % len(lst)]

my_list = [10, 20, 30, 40]
print(get_element_with_cyclic_index(my_list, 5))  # Hasilnya adalah 10
Dengan ini, bahkan jika indeks melebihi panjang list, nilai tetap dapat diperoleh dengan aman.

Konversi Format Waktu

Operasi modulus sangat berguna dalam perhitungan waktu. Misalnya, mengonversi detik menjadi menit dan detik.
time_in_seconds = 125
minutes = time_in_seconds // 60
seconds = time_in_seconds % 60
print(f"{minutes} menit {seconds} detik")  # Hasilnya adalah 2 menit 5 detik
Dengan memanfaatkan modulus, konversi format waktu menjadi mudah dilakukan.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. Operasi Modulus dengan Bilangan Negatif dan Float

Modulus dengan Bilangan Negatif

Hasil operasi modulus pada bilangan negatif bisa berbeda dari yang diharapkan. Berikut adalah contohnya di Python.
result = -10 % 3
print(result)  # Hasilnya adalah 2
Secara matematis seharusnya -1, namun di Python hasil modulus selalu dikembalikan sebagai bilangan positif. Ini adalah perilaku khusus Python, dan bisa berbeda di bahasa pemrograman lain.

Menggunakan Modulus dengan Bilangan Float

Menggabungkan bilangan float dengan operasi modulus dapat menimbulkan kesalahan perhitungan karena float direpresentasikan sebagai nilai aproksimasi.
result = 0.3 % 0.1
print(result)  # Hasilnya adalah 0.09999999999999995
Untuk menghindari kesalahan ini, perlu berhati-hati ketika menggunakan modulus dengan float. Sebaiknya gunakan bilangan bulat atau tentukan toleransi kesalahan yang bisa diterima.

6. Ringkasan dan Penerapan Praktis

Operasi modulus di Python tidak hanya digunakan untuk menghitung sisa pembagian sederhana, tetapi juga bermanfaat dalam perulangan list, perhitungan waktu, hingga pembagian data. Dengan operator “%” dan fungsi divmod(), Anda bisa memproses data secara lebih efisien. Namun, perlu perhatian khusus saat bekerja dengan bilangan negatif atau float karena hasilnya bisa berbeda atau menimbulkan kesalahan. Dengan memahami dan memanfaatkan operasi modulus dengan benar, Anda dapat membangun program yang lebih efisien dan fleksibel.