Belajar Pemrograman Python: Mengenal 6 Jenis Operator dalam Python
Setelah kita mengenal variabel dan tipe data pada Python, selanjutnya kita akan berkenalan dengan Operator.
Apa itu operator?
Operator merupakan simbol-simbol yang digunakan untuk melakukan operasi tertentu.
Ada enam jenis operator dalam pemrograman yang wajib diketahui:
- Operator Aritmatika
- Operator Pembanding/Relasi
- Operator Penugasan
- Opeartor Logika
- Operator Bitwise
- Operator Ternary
Mari kita bahas semuanya…
1. Operator Aritmatika
Opeartor aritmatika termasuk dalam operator yang paling sering digunakan dalam pemrograman.
Opeartor aritmatika terdiri dari:
Operator | Simbol |
---|---|
Penjumlahan | + |
Pengurangan | - |
Perkalian | * |
Pembagian | / |
Sisa Bagi | % |
Pemangkatan | ** |
Mari kita coba dalam program:
# file: operator_aritmatika.py
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")
b = input("Inputkan nilai b: ")
# Menggunakan operator penjumlahan
c = a + b
print "Hasil %d + %d = %d" % (a,b,c)
# Operator Pengurangan
c = a - b
print "Hasil %d - %d = %d" % (a,b,c)
# Operator Perkalian
c = a * b
print "Hasil %d * %d = %d" % (a,b,c)
# Operator Pembagian
c = a / b
print "Hasil %d / %d = %d" % (a,b,c)
# Operator Sisa Bagi
c = a % b
print "Hasil %d %% %d = %d" % (a,b,c)
# Operator Pangkat
c = a ** b
print "Hasil %d ** %d = %d" % (a,b,c)
Hasilnya:
Pada kode program di atas, kita menggunakan string formatting untuk mencetak hasil dari masing-masing opearasi.
Operator %
selain digunakan untuk string formatting, operator ini juga digunakan untuk menghitung operasi sisa bagi.
Misal: 5 % 2
, maka hasilnya 1
. Karena sisa dari hasil bagi antara 5
dengan 2
adalah 1
.
2. Operator Penugasan
Seperti namanya, operator ini digunakan untuk memberikan tugas pada variabel.
Misalnya:
umur = 18
Maka variabel umur
telah kita berikan tugas untuk menyimpan angka 18
.
Selain menyimpan atau pengisian nilai, ada juga menjumlahkan, mengurangi, perkalian, pembagian, dsb.
Selengkapnya bisa dilihat di tabel berikut.
Operator | Simbol |
---|---|
Pengisian | = |
Penjumlahan | += |
Pengurangan | -= |
Perkalian | *= |
Pembagian | /= |
Sisa Bagi | %= |
Pemangkatan | **= |
Untuk lebih jelasnya, mari kita coba contohnya dalam program.
# file: operator_penugasan.py
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")
# ^
# | contoh operator penugasan untuk mengisi nilai
print "Nilai a = %d" % a
# Coba kita jumlahkan nilai a dengan opertor penugasan
a += 5
# ^
# |
# contoh operator penugasan untuk menjumlahkan
# Setelah nilai a ditambah 5, coba kita lihat isinya
print "Nilai setelah ditambah 5:"
print "a = %d" % a
Hasilnya:
Pada awalnya kita mengisi nilai variabel a
dengan 4
. Kemudian dilakukan penjumlahan atau ditambah 5
.
a += 5
Penjumlahan tersebut sama maksudnya seperti ini:
a = a + 5
Artinya, kita mengisi nilai variabel a
dengan nilai a
sebelumnya, lalu ditambah 5
.
Paham…?
Baiklah, kalau sudah paham silahkan coba lagi untuk operator yang lainnya.
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")
# tambahkan dengan 2
a += 2
# kurangi 3
a -= 3
# kali 10
a *= 10
# bagi dengan 4
a /= 4
# pangkat 10
a **= 10
# Berapakah nilai a sekarang?
print "Nilai a adalah %d" % a
Silahkan coba inputkan nilai variabel a
dengan 8
dan berapakah hasil akhirnya?
(jawab di komentar)
3. Operator Pembanding
Operator ini digunakan untuk membandingkan dua buah nilai. Operator ini juga dikenal dengan operator relasi dan sering digunakan untuk membuat sebuah logika atau kondisi.
Opertor ini terdiri dari:
Operator | Simbol |
---|---|
Lebih Besar | > |
Lebih Kecil | < |
Sama Dengan | == |
Tidak Sama dengan | != |
Lebih Besar Sama dengan | >= |
Lebih Kecil Sama dengan | <= |
Contoh:
a = 9
b = 5
c = a < b
Apakah isi dari variabel c
?
Isinya adalah False
, karena nilai 9
lebih kecil dari 5
(9
< 5
) adalah salah (False
).
Untuk lebih jelasnya, mari kita coba contonya dalam program.
# file: operator_pembanding.py
a = input("Inputkan nilai a: ")
b = input("Inputkan nilai b: ")
# apakah a sama dengan b?
c = a == b
print "Apakah %d == %d: %r" % (a,b,c)
# apakah a < b?
c = a < b
print "Apakah %d < %d: %r" % (a,b,c)
# apakah a > b?
c = a > b
print "Apakah %d > %d: %r" % (a,b,c)
# apakah a <= b?
c = a <= b
print "Apakah %d <= %d: %r" % (a,b,c)
# apakah a >= b?
c = a >= b
print "Apakah %d >= %d: %r" % (a,b,c)
# apakah a != b?
c = a != b
print "Apakah %d != %d: %r" % (a,b,c)
4. Operator Logika
Operator logika digunakan untuk membuat operasi logika, seperti logika AND, OR, dan NOT.
Operator logika terdiri dari:
Nama | Simbol di Python |
---|---|
Logika AND | and |
Logika OR | or |
Negasi/kebalikan | not |
Contoh:
a = True
b = False
# Logika AND
c = a and b
print "%r and %r = %r" % (a,b,c)
# Logika OR
c = a or b
print "%r or %r = %r" % (a,b,c)
# Logika Not
c = not a
print "not %r = %r" % (a,c)
Hasilnya:
5. Operator Bitwise
Operator Bitwise adalah operator untuk melakukan operasi berdasarkan bit/biner.
Operator ini terdiri dari:
Nama | Simbol |
---|---|
AND | & |
OR | | |
XOR | ^ |
Negasi/kebalikan | ~ |
Left Shift | « |
Right Shift | » |
Hasil operasi dari operator ini agak sulit dipahami, kalau kita belum paham operasi bilangan biner.
Mari kita coba pahami dengan contoh sederhana:
Misalnya, kita punya variabel a = 60
dan b = 13
.
Bila dibuat dalam bentuk biner, akan menjadi seperti ini:
a = 00111100
b = 00001101
Kemudian, dilakukan operasi bitwise
Operasi AND
a = 00111100
b = 00001101
a & b = 00001100
Operasi OR
a = 00111100
b = 00001101
a | b = 00111101
Operasi XOR
a = 00111100
b = 00001101
a ^ b = 00110001
Opearsi NOT (Negasi/kebalikan)
a = 00111100
~a = 11000011
Konsepnya memang hampir sama dengan opeartor Logika. Namun, Bitwise digunakan untuk biner.
Mari kita coba dalam program…
a = input("Masukan nilai a: ")
b = input("Masukan nilai b: ")
# Operasi AND
c = a & b
print "a & b = %s" % c
# Operasi OR
c = a | b
print "a | b = %s" % c
# Operasi XOR
c = a ^ b
print "a ^ b = %s" % c
# Operasi Not
c = ~a
print "~a = %s" % c
# Operasi shift left (tukar posisi biner)
c = a << b
print "a << b = %s" % c
# Operasi shift right (tukar posisi biner)
c = a >> b
print "a >> b = %s" % c
Hasilnya:
6. Operator Ternary
Operator ternary juga dikenal dengan operator kondisi, karena digunakan untuk membuat sebuah ekspresi kondisi seperti percabgan IF/ELSE.
Operator ternary sebenarnya tidak ada dalam Python, tapi python punya cara lain untuk menggantikan operator ini.
Pada bahasa pemrograman lain operator ternary menggunakan tanda tanya (?
) dan titik dua (:
).
kondisi ? <nilai true> : <nilai false>
Contoh:
aku = (umur < 10) ? "bocah" : "dewasa"
Dalam Python bentuknya berbeda, yaitu menggunakann IF/ELSE dalam satu baris.
<Nilai True> if Kondisi else <Nilai False>
Contoh:
umur = input("berapa umur kamu? ")
aku = "bocah" if umur < 10 else "dewasa"
print aku
Lebih mudah dibaca bukan?
Hasilnya:
Coba juga untuk mengisi nilai variabel umur
dengan nilai di bawah 10
dan perhatikan output-nya.
Cara lain untuk membuat operasi ternary juga bisa menggunakan Tuple dan List.
class PencatatanPengeluaran:
BalasHapusdef __init__(self):
self.pengeluaran = []
def tambah_pengeluaran(self, kategori, jumlah):
self.pengeluaran.append({
'kategori': kategori,
'jumlah': jumlah
})
print("Pengeluaran berhasil dicatat.")
def total_pengeluaran(self):
total = sum(item['jumlah'] for item in self.pengeluaran)
return total
def tampilkan_pengeluaran(self):
if not self.pengeluaran:
print("Belum ada pengeluaran yang dicatat.")
else:
print("Catatan Pengeluaran:")
for item in self.pengeluaran:
print(f"{item['kategori']}: {item['jumlah']}")
def main():
catatan = PencatatanPengeluaran()
while True:
print("\nMenu:")
print("1. Tambah Pengeluaran")
print("2. Total Pengeluaran")
print("3. Tampilkan Pengeluaran")
print("4. Keluar")
pilihan = input("Masukkan nomor menu: ")
if pilihan == '1':
kategori = input("Masukkan kategori pengeluaran: ")
jumlah = float(input("Masukkan jumlah pengeluaran: "))
catatan.tambah_pengeluaran(kategori, jumlah)
elif pilihan == '2':
total = catatan.total_pengeluaran()
print(f"Total Pengeluaran: {total}")
elif pilihan == '3':
catatan.tampilkan_pengeluaran()
elif pilihan == '4':
print("Terima kasih! Program selesai.")
break
else:
print("Pilihan tidak valid. Silakan pilih nomor menu yang benar.")
if __name__ == "__main__":
main()