Langsung ke konten

Operator Aritmatika di Python: dari Penjumlahan sampai Perpangkatan

Operator aritmatika dipakai untuk menghitung nilai di Python. Artikel ini membahas penjumlahan, pembagian, modulo, perpangkatan, dan urutan operasinya.

Belajar Python Level Basic
Belajar Python Level Basic
Advertisement

Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas input dan output. Sekarang saatnya mengolah angka yang sudah diterima.

Program yang berguna hampir selalu butuh menghitung: menjumlah belanjaan, mencari rata-rata nilai, atau membagi tagihan. Semua itu dilakukan dengan operator aritmatika.

Apa itu Operator Aritmatika?

Operator aritmatika adalah simbol untuk melakukan perhitungan matematika. Python punya tujuh operator yang perlu kamu kenal:

OperatorNamaContohHasil
+Penjumlahan10 + 313
-Pengurangan10 - 37
*Perkalian10 * 330
/Pembagian10 / 33.333...
//Floor division10 // 33
%Modulo10 % 31
**Perpangkatan10 ** 31000

Operator ini bekerja dengan int maupun float. Mari bahas satu per satu.

Operasi Dasar: +, -, *

Tiga operator pertama bekerja seperti di pelajaran matematika:

print(10 + 3)    # 13
print(10 - 3)    # 7
print(10 * 3)    # 30

Operator juga bisa dipakai pada variabel:

harga = 25000
jumlah = 4

total = harga * jumlah
print(f"Total: {total}")   # Total: 100000

Tanda * berarti perkalian, bukan huruf x. Ini penting supaya tidak bingung saat membaca kode orang lain.

Pembagian / Selalu Menghasilkan Float

Di Python, pembagian selalu menghasilkan float, meski angkanya habis dibagi:

print(10 / 2)    # 5.0, bukan 5
print(10 / 3)    # 3.3333333333333335
print(9 / 3)     # 3.0

Perhatikan 10 / 2 menghasilkan 5.0, bukan 5. Ini berbeda dari beberapa bahasa lain dan sering mengejutkan pemula. Kalau kamu butuh hasil bilangan bulat, gunakan floor division.

Floor Division //

Floor division membagi lalu membuang bagian desimalnya:

print(10 // 3)    # 3
print(10 // 2)    # 5
print(7 // 2)     # 3

Operator ini berguna saat kamu hanya peduli pada jumlah bulatnya. Misalnya membagi 10 permen ke 3 anak, tiap anak dapat 3 permen, sisanya tidak dihitung.

permen = 10
anak = 3

per_anak = permen // anak
print(f"Tiap anak dapat {per_anak} permen")   # Tiap anak dapat 3 permen

Hati-hati dengan bilangan negatif, karena // membulatkan ke bawah, bukan ke nol:

print(-10 // 3)   # -4, bukan -3

Modulo %

Modulo mengembalikan sisa hasil bagi:

print(10 % 3)    # 1
print(10 % 2)    # 0
print(7 % 4)     # 3

Kalau hasilnya 0, berarti angka pertama habis dibagi angka kedua. Sifat ini sering dipakai untuk mengecek bilangan genap atau ganjil:

angka = 7

if angka % 2 == 0:
    print("Genap")
else:
    print("Ganjil")

Kamu belum perlu paham if di atas sekarang. Fokus dulu pada angka % 2, yang bernilai 1 kalau angka ganjil dan 0 kalau genap.

Modulo juga berguna untuk mengubah satuan waktu. Contoh, mengubah total detik menjadi detik sisa:

total_detik = 150
sisa = total_detik % 60
print(sisa)   # 30

Perpangkatan **

Perpangkatan mengalikan sebuah angka dengan dirinya sendiri sebanyak pangkat yang diminta:

print(2 ** 3)     # 8, sama dengan 2 * 2 * 2
print(5 ** 2)     # 25
print(2 ** 10)    # 1024

Pangkat juga bisa berupa pecahan untuk mencari akar:

print(9 ** 0.5)   # 3.0, akar kuadrat dari 9

Urutan Operasi

Python mengikuti urutan operasi matematika. Perpangkatan didahulukan, lalu perkalian dan pembagian, terakhir penjumlahan dan pengurangan.

print(2 + 3 * 4)      # 14, bukan 20
print(10 - 6 / 2)     # 7.0
print(2 ** 3 + 1)     # 9

Gunakan tanda kurung untuk mengatur urutan sesuai keinginanmu:

print((2 + 3) * 4)    # 20
print(10 - (6 / 2))   # 7.0

Saat ragu, tambahkan tanda kurung. Kode yang jelas lebih penting daripada kode yang singkat.

Contoh Program: Konversi Detik

Mari gabungkan // dan % untuk mengubah total detik menjadi jam, menit, dan detik:

# konversi_detik.py

total = int(input("Total detik: "))

jam = total // 3600
sisa = total % 3600

menit = sisa // 60
detik = sisa % 60

print(f"{total} detik = {jam} jam {menit} menit {detik} detik")

Kalau pengguna mengetik 5000, outputnya:

Total detik: 5000
5000 detik = 1 jam 23 menit 20 detik

Perhatikan bagaimana // mengambil bagian bulatnya dan % mengambil sisanya. Kombinasi keduanya sangat sering dipakai untuk membagi sesuatu menjadi beberapa bagian.

Kesalahan Umum Pemula

  • Mengira / menghasilkan bilangan bulat10 / 2 memberi 5.0, bukan 5.
  • Tertukar // dan %// hasil bagi bulat, % sisa bagi.
  • Lupa tanda kurung2 + 3 * 4 bernilai 14, bukan 20.
  • Menulis ^ untuk pangkat — di Python pangkat memakai **, sedangkan ^ punya arti lain.
  • Membagi dengan nol10 / 0 menghasilkan ZeroDivisionError.

Ringkasan

  • Tujuh operator aritmatika: +, -, *, /, //, %, **
  • Pembagian / selalu menghasilkan float
  • // membagi dan membuang desimalnya, % mengambil sisanya
  • ** untuk perpangkatan, bisa juga untuk akar
  • Urutan operasi mengikuti aturan matematika, gunakan tanda kurung bila ragu
  • // dan % sering dipakai bersama untuk membagi sesuatu menjadi beberapa bagian

Langkah Selanjutnya

Sekarang kamu sudah bisa menghitung dengan angka. Tapi program sering perlu mengambil keputusan, misalnya mengecek apakah nilai sudah lulus atau belum.

Artikel selanjutnya membahas Operator Perbandingan dan Logika di Python, cara membandingkan nilai dan menggabungkan beberapa kondisi.