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:
| Operator | Nama | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan | 10 + 3 | 13 |
- | Pengurangan | 10 - 3 | 7 |
* | Perkalian | 10 * 3 | 30 |
/ | Pembagian | 10 / 3 | 3.333... |
// | Floor division | 10 // 3 | 3 |
% | Modulo | 10 % 3 | 1 |
** | Perpangkatan | 10 ** 3 | 1000 |
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 bulat —10 / 2memberi5.0, bukan5. - Tertukar
//dan%—//hasil bagi bulat,%sisa bagi. - Lupa tanda kurung —
2 + 3 * 4bernilai14, bukan20. - Menulis
^untuk pangkat — di Python pangkat memakai**, sedangkan^punya arti lain. - Membagi dengan nol —
10 / 0menghasilkanZeroDivisionError.
Ringkasan
- Tujuh operator aritmatika:
+,-,*,/,//,%,** - Pembagian
/selalu menghasilkanfloat //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.
