Langsung ke konten

Operator Assignment di Python: Menyimpan Nilai ke Variabel

Operator assignment dipakai untuk menyimpan nilai ke variabel di Python. Artikel ini membahas assignment dasar, compound assignment, dan walrus operator :=.

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 operator perbandingan dan logika. Sekarang kita kembali ke tanda =, yang ternyata punya beberapa bentuk.

Sejak artikel tentang variabel, kita sudah memakai = untuk menyimpan nilai. Ternyata ada beberapa cara lain menulisnya yang membuat kode lebih singkat dan rapi.

Assignment Dasar

Operator assignment adalah tanda = yang menugaskan nilai ke sebuah variabel. Ini operator yang paling sering kamu pakai:

nama = "Budi"
umur = 25
aktif = True

Bagian kiri adalah nama variabel, bagian kanan adalah nilainya. Python mengevaluasi bagian kanan dulu, baru menyimpannya ke variabel di kiri.

total = 10 + 5    # total berisi 15

Karena bagian kanan dihitung dulu, kamu bisa menulis ekspresi apa pun di sana.

Menimpa Nilai Lama

Variabel bisa diisi ulang kapan saja. Nilai lama otomatis tertimpa:

skor = 10
print(skor)   # 10

skor = 20
print(skor)   # 20

Ini juga bisa dilakukan menggunakan nilai variabel itu sendiri:

skor = 10
skor = skor + 5
print(skor)   # 15

Baris skor = skor + 5 berarti “ambil nilai skor sekarang, tambahkan 5, lalu simpan kembali ke skor”. Pola ini sangat sering dipakai sehingga Python menyediakan cara singkatnya.

Compound Assignment

Compound assignment menggabungkan operasi aritmatika dengan penugasan. Bentuknya operator aritmatika diikuti tanda sama dengan.

BentukSetara dengan
x += 5x = x + 5
x -= 5x = x - 5
x *= 5x = x * 5
x /= 5x = x / 5
x //= 5x = x // 5
x %= 5x = x % 5
x **= 5x = x ** 5

Contoh pemakaiannya:

skor = 10

skor += 5
print(skor)   # 15

skor -= 3
print(skor)   # 12

skor *= 2
print(skor)   # 24

skor //= 5
print(skor)   # 4

Kedua bentuk menghasilkan hasil yang sama. Compound assignment hanya membuat kode lebih pendek dan lebih mudah dibaca.

Contoh: Menghitung Total Belanjaan

Compound assignment cocok dipakai di dalam perulangan, misalnya menjumlahkan harga barang:

# total_belanja.py

total = 0

total += 15000
total += 22000
total += 8000

print(f"Total belanja: {total}")   # Total belanja: 45000

Nilai total terus bertambah tanpa perlu menulis ulang namanya di kedua sisi.

Multiple Assignment

Python memungkinkan menugaskan beberapa variabel dalam satu baris:

x, y = 10, 20
print(x)   # 10
print(y)   # 20

Jumlah variabel di kiri harus sama dengan jumlah nilai di kanan. Kalau tidak, Python memberi ValueError.

Trik yang berguna adalah menukar nilai dua variabel tanpa variabel bantu:

a = 1
b = 2

a, b = b, a
print(a)   # 2
print(b)   # 1

Di bahasa lain, menukar nilai butuh variabel tambahan. Di Python cukup satu baris.

Walrus Operator :=

Sejak Python 3.8, ada operator baru bernama walrus operator, ditulis :=. Bentuknya seperti mata walrus, itu asal namanya.

Operator ini menugaskan nilai sekaligus memakainya dalam satu ekspresi:

if (panjang := len("Halo")) > 3:
    print(f"Panjangnya {panjang}")   # Panjangnya 4

Tanpa walrus, kamu perlu menulis dua baris:

panjang = len("Halo")
if panjang > 3:
    print(f"Panjangnya {panjang}")

Contoh yang lebih jelas, memakai input() di dalam while:

perintah = ""
while (perintah := input("Perintah: ")) != "keluar":
    print(f"Kamu menulis: {perintah}")

print("Selesai")

Walrus operator berguna untuk menghindari perhitungan berulang atau baris tambahan. Tapi tidak wajib dipakai. Kalau kodenya jadi lebih sulit dibaca, lebih baik gunakan cara biasa.

Kapan Memakai yang Mana?

  • = untuk penugasan biasa, pakai ini di sebagian besar waktu.
  • += dan sejenisnya saat mengubah nilai berdasarkan nilai sebelumnya, terutama untuk akumulasi.
  • Multiple assignment saat menugaskan beberapa nilai sekaligus atau menukar variabel.
  • Walrus := saat butuh memakai nilai yang baru dihitung di dalam kondisi. Pakai secukupnya.

Kesalahan Umum Pemula

  • Tertukar = dan === menyimpan, == membandingkan.
  • Memakai variabel sebelum diisix += 5 tanpa x lebih dulu menghasilkan NameError.
  • Jumlah nilai tidak cocokx, y = 1 menghasilkan ValueError.
  • Berlebihan memakai walrus — kode jadi sulit dibaca, gunakan hanya bila perlu.
  • Mengira += bisa untuk string dan angka sekaligusx = "5"; x += 3 menghasilkan TypeError.

Ringkasan

  • = menugaskan nilai ke variabel
  • Nilai lama bisa ditimpa kapan saja
  • Compound assignment mempersingkat x = x + 5 menjadi x += 5
  • Python mendukung multiple assignment dan menukar nilai dalam satu baris
  • Walrus operator := menugaskan sekaligus memakai nilai dalam satu ekspresi
  • Pakai bentuk yang paling mudah dibaca, bukan yang paling pendek

Langkah Selanjutnya

Kamu sudah menguasai operator aritmatika, perbandingan, logika, dan assignment. Keempatnya jadi bekal untuk membuat program yang bisa mengambil keputusan.

Artikel selanjutnya membahas Percabangan if, elif, dan else di Python, cara menjalankan bagian kode yang berbeda sesuai kondisi.