Operasi pembagian adalah salah satu operasi aritmatika fundamental dalam pemrograman, dan Python menyediakan beberapa cara untuk melakukannya, tergantung pada jenis hasil yang Anda inginkan. Memahami perbedaan antara pembagian standar (floating-point), pembagian bilangan bulat (integer division), dan modulo sangat penting untuk menulis kode yang efisien dan akurat.
Operator standar untuk pembagian di Python adalah garis miring tunggal (/). Operator ini selalu menghasilkan hasil berupa float (bilangan desimal), bahkan jika pembagian tersebut menghasilkan bilangan bulat sempurna.
a = 10
b = 3
hasil = a / b
print(hasil) # Output: 3.3333333333333335
c = 10
d = 5
hasil_bulat = c / d
print(hasil_bulat) # Output: 2.0 (Perhatikan titik nol di belakang)
/ berperilaku konsisten sebagai pembagian float. Ini berbeda dengan Python 2 di mana / antara dua integer menghasilkan integer.
Jika Anda hanya tertarik pada hasil bagi tanpa pecahan desimal, Anda harus menggunakan operator floor division, yang dilambangkan dengan dua garis miring (//). Operator ini membulatkan hasil ke bawah (menuju negatif tak terhingga) ke bilangan bulat terdekat.
# Pembagian positif
x = 10
y = 3
hasil_int = x // y
print(hasil_int) # Output: 3
# Pembagian negatif (pembulatan ke bawah)
p = -10
q = 3
hasil_negatif = p // q
print(hasil_negatif) # Output: -4 (Karena -3.33 dibulatkan ke bawah menjadi -4)
Penggunaan // sangat berguna dalam algoritma yang memerlukan penghitungan item per kelompok atau indeks berbasis array di mana hasil desimal tidak relevan.
Selain mendapatkan hasil bagi, seringkali kita perlu mengetahui berapa sisa pembagian. Untuk ini, Python menggunakan operator modulo (%).
angka_total = 29
pembagi = 5
hasil_bagi = angka_total // pembagi
sisa = angka_total % pembagi
print(f"Hasil Bagi: {hasil_bagi}") # Output: 5
print(f"Sisa Bagi: {sisa}") # Output: 4 (Karena 5 * 5 + 4 = 29)
Operator modulo juga berfungsi untuk bilangan negatif, namun perilakunya ditentukan oleh tanda dari pembagi (angka kedua). Dalam Python, hasil dari a % b akan selalu memiliki tanda yang sama dengan b.
print(29 % -5) # Output: -1 (Sisa harus memiliki tanda dari -5)
print(-29 % 5) # Output: 1 (Sisa harus memiliki tanda dari 5)
Dalam matematika dan pemrograman, membagi angka apapun dengan nol adalah operasi yang tidak terdefinisi dan akan menyebabkan kesalahan fatal dalam eksekusi program Python. Kesalahan ini dikenal sebagai ZeroDivisionError.
try:
pembagian_berbahaya = 10 / 0
except ZeroDivisionError:
print("Kesalahan: Tidak bisa membagi dengan nol!")
Selalu pastikan bahwa variabel pembagi Anda diperiksa nilainya sebelum melakukan operasi pembagian, terutama jika nilai tersebut berasal dari input pengguna atau hasil perhitungan lain. Menggunakan blok try...except adalah praktik terbaik untuk menangani situasi ini dengan anggun tanpa menghentikan seluruh aplikasi.
Secara ringkas, penguasaan pembagian di Python bergantung pada pemilihan operator yang tepat: gunakan / untuk hasil desimal akurat, // untuk hasil bagi integer, dan % untuk sisa pembagian. Pemahaman yang kuat mengenai ketiga operator ini akan meningkatkan kualitas logika aritmatika Anda dalam proyek Python.