For AI agents: use /llms.txt for the Nakafa content index.
Dalam Python, variabel adalah nama yang terikat pada sebuah objek. Nama itu bukan kotak penyimpanan bertipe tetap: assignment dapat mengikatnya ke objek lain, sedangkan nama lain mungkin tetap merujuk pada objek semula.
Ketika Python mengeksekusi x = 2, Python mengevaluasi ekspresi lalu mengikat nama x pada objek integer yang dihasilkan. Alokasi, penggunaan ulang objek, dan lokasi memori fisiknya adalah detail implementasi yang tidak boleh diasumsikan oleh program.
Built-in id() mengembalikan integer yang mengidentifikasi sebuah objek secara unik selama masa hidup objek itu. CPython lazimnya menurunkannya dari alamat memori, tetapi Python tidak menjanjikan interpretasi tersebut pada setiap implementasi.
# Membuat variabel x dengan nilai 2
x = 2
print(x) # Output: 2
print(id(x)) # Identitas objek bergantung pada implementasi
# Membuat variabel y yang merujuk ke variabel x
y = x
print(y) # Output: 2
print(y is x) # Output: True
# Membuat variabel z dengan nilai yang sama
z = 2
print(z) # Output: 2
print(z == x) # Output: True (nilainya sama)
# Jangan bergantung pada z is x; reuse objek adalah detail implementasiAssignment y = x menjamin kedua nama merujuk pada objek yang sama pada saat itu. Membuat nilai lain yang setara hanya menjamin equality, bukan identity. Beberapa implementasi Python menggunakan ulang objek immutable, tetapi kode yang benar tidak bergantung pada optimasi tersebut.
Python memiliki beberapa karakteristik unik dalam penanganan variabel yang membedakannya dari bahasa pemrograman lain.
Berbeda dengan bahasa yang memerlukan deklarasi variabel terpisah, Python mengikat nama saat sebuah assignment berjalan. Objek memiliki tipe, dan type(value) melaporkan tipe objek yang sedang terikat pada sebuah nama.
# Python tidak memerlukan deklarasi variabel
nama = "Budi" # String
umur = 25 # Integer
tinggi = 175.5 # Float
aktif = True # Boolean
# Python menentukan tipe data secara otomatis
print(type(nama)) # Output: <class 'str'>
print(type(umur)) # Output: <class 'int'>
print(type(tinggi)) # Output: <class 'float'>
print(type(aktif)) # Output: <class 'bool'>Python memakai dynamic typing: setiap objek memiliki tipe, sedangkan nama yang sama dapat diikat ulang pada objek dari tipe berbeda saat program berjalan.
# Variabel dengan tipe data dinamis
data = 42 # Integer
print(f"Nilai: {data}, Tipe: {type(data)}")
data = "Hello World" # String
print(f"Nilai: {data}, Tipe: {type(data)}")
data = [1, 2, 3] # List
print(f"Nilai: {data}, Tipe: {type(data)}")
data = 3.14 # Float
print(f"Nilai: {data}, Tipe: {type(data)}")Python memiliki aturan ketat untuk penamaan variabel yang harus kamu ikuti agar kode dapat berjalan dengan benar.
Identifier dimulai dengan underscore atau huruf Unicode, lalu dapat diteruskan dengan huruf identifier, underscore, dan digit seperti . Python menerima banyak identifier non-ASCII, tetapi nama snake_case ASCII yang deskriptif biasanya lebih mudah diketik, dicari, dan dibagikan lintas tools.
# Nama variabel yang valid
nama_siswa = "Ahmad" # Menggunakan huruf dan underscore
nilai1 = 85 # Menggunakan huruf dan angka
_total = 100 # Dimulai dengan underscore
MAX_SIZE = 1000 # Huruf besar semua
camelCase = "valid" # Gaya camelCase
snake_case = "valid" # Gaya snake_case
print(nama_siswa, nilai1, _total, MAX_SIZE, camelCase, snake_case)Beberapa aturan wajib yang harus kamu patuhi dalam penamaan variabel Python. Nama variabel tidak boleh dimulai dengan angka. Python akan menghasilkan error sintaks jika kamu mencoba membuat variabel yang dimulai dengan angka.
# Nama variabel yang BENAR
data1 = "valid"
data_2 = "valid"
_data3 = "valid"
# Nama variabel yang SALAH (akan menyebabkan error)
# 1data = "invalid" # SyntaxError
# 2nilai = "invalid" # SyntaxError
# 9test = "invalid" # SyntaxError
print(data1, data_2, _data3)Python membedakan antara huruf besar dan huruf kecil dalam nama variabel. Ini berarti nama, Nama, dan NAMA adalah tiga variabel yang berbeda.
# Python membedakan huruf besar dan kecil
nama = "budi"
Nama = "Siti"
NAMA = "Ahmad"
print(f"nama: {nama}") # Output: nama: budi
print(f"Nama: {Nama}") # Output: Nama: Siti
print(f"NAMA: {NAMA}") # Output: NAMA: Ahmad
# Ketiga variabel ini berbeda satu sama lain
print(nama == Nama) # Output: False
print(Nama == NAMA) # Output: FalsePython memiliki daftar kata kunci (keywords) yang tidak boleh digunakan sebagai nama variabel karena kata-kata tersebut memiliki fungsi khusus dalam bahasa Python.
Berikut adalah kata kunci yang tidak boleh digunakan sebagai nama variabel. Kelompok pertama meliputi and, as, assert, async, await, break, class, continue, def, del, elif, else. Kelompok kedua mencakup except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not. Kelompok ketiga terdiri dari or, pass, raise, return, try, while, with, yield, False, True, None.
# Contoh penggunaan yang SALAH (akan menyebabkan error)
# if = 10 # SyntaxError: invalid syntax
# for = "hello" # SyntaxError: invalid syntax
# def = 25 # SyntaxError: invalid syntax
# class = "test" # SyntaxError: invalid syntax
# Cara yang BENAR untuk nama variabel serupa
kondisi_if = 10
loop_for = "hello"
fungsi_def = 25
kelas_class = "test"
print(kondisi_if, loop_for, fungsi_def, kelas_class)Python menyediakan modul keyword untuk memeriksa apakah suatu kata adalah kata kunci atau tidak.
import keyword
# Melihat semua kata kunci Python
print("Jumlah kata kunci:", len(keyword.kwlist))
print("Daftar kata kunci:")
for i, kw in enumerate(keyword.kwlist, 1):
print(f"{i:2d}. {kw}")
# Memeriksa apakah suatu kata adalah kata kunci
print(f"\nApakah 'if' kata kunci? {keyword.iskeyword('if')}")
print(f"Apakah 'nama' kata kunci? {keyword.iskeyword('nama')}")
print(f"Apakah 'class' kata kunci? {keyword.iskeyword('class')}")Meskipun Python memberikan fleksibilitas dalam penamaan variabel, ada beberapa praktik terbaik yang sebaiknya kamu ikuti untuk membuat kode lebih mudah dibaca dan dipelihara.
Gunakan nama variabel yang menjelaskan dengan jelas apa yang disimpan dalam variabel tersebut. Nama yang bermakna membuat kode lebih mudah dipahami, baik oleh diri sendiri maupun orang lain.
# Nama variabel yang KURANG BAIK
h = 175
w = 70
a = 25
# Nama variabel yang BAIK
tinggi_badan = 175
berat_badan = 70
umur = 25
# Menghitung BMI dengan nama variabel yang jelas
bmi = berat_badan / ((tinggi_badan / 100) ** 2)
print(f"BMI: {bmi:.2f}")
# Lebih mudah dipahami maksud dari setiap variabel
print(f"Tinggi: {tinggi_badan} cm")
print(f"Berat: {berat_badan} kg")
print(f"Umur: {umur} tahun")Hindari nama variabel yang terlalu panjang karena akan membuat kode sulit dibaca. Sebaliknya, nama yang terlalu pendek mungkin tidak memberikan informasi yang cukup.
# Nama terlalu panjang (KURANG BAIK)
tinggi_badan_siswa_kelas_12_ipa_semester_ganjil = 175
# Nama terlalu pendek (KURANG BAIK)
h = 175
# Nama yang tepat (BAIK)
tinggi_siswa = 175
tinggi = 175 # Jika konteks sudah jelas
# Untuk variabel penghitung, nama pendek dapat diterima
for i in range(10):
print(f"Iterasi ke-{i}")
# Untuk data yang lebih kompleks, gunakan nama yang jelas
jumlah_siswa = 30
rata_rata_nilai = 85.5Python menggunakan gaya snake_case untuk nama variabel, dimana kata-kata dipisahkan dengan underscore dan semua huruf menggunakan huruf kecil.
# Gaya snake_case (DIREKOMENDASIKAN untuk Python)
nama_lengkap = "Ahmad Budi"
tanggal_lahir = "1995-05-15"
alamat_rumah = "Jl. Merdeka No. 123"
# Gaya camelCase (lebih umum di JavaScript/Java)
namaLengkap = "Ahmad Budi" # Tidak salah, tapi kurang Python-like
# Gaya PascalCase (biasanya untuk nama kelas)
NamaLengkap = "Ahmad Budi" # Tidak disarankan untuk variabel
# Konsistensi dalam satu program
skor_matematika = 90
skor_fisika = 85
skor_kimia = 88
rata_rata_skor = (skor_matematika + skor_fisika + skor_kimia) / 3
print(f"Rata-rata skor: {rata_rata_skor:.2f}")Hindari menggunakan karakter yang dapat menyebabkan kebingungan, terutama huruf yang mirip dengan angka.
# Karakter yang dapat membingungkan (HINDARI)
# l = 1 # Huruf 'l' mirip angka '1'
# I = 1 # Huruf 'I' mirip angka '1'
# O = 0 # Huruf 'O' mirip angka '0'
# Alternatif yang lebih jelas
panjang = 1 # Gunakan kata yang jelas
indeks = 1 # Atau nama yang lebih deskriptif
kosong = 0 # Nama yang menjelaskan maksud
# Contoh penggunaan dalam konteks yang jelas
jumlah_item = 10
for nomor in range(1, jumlah_item + 1):
print(f"Item nomor {nomor}")
# Variabel boolean dengan nama yang jelas
is_active = True
has_permission = False
can_edit = TrueMari lihat bagaimana variabel digunakan dalam program sederhana yang menghitung luas dan keliling persegi panjang.
# Program menghitung luas dan keliling persegi panjang
print("=== Kalkulator Persegi Panjang ===")
# Input dari pengguna
panjang = float(input("Masukkan panjang (cm): "))
lebar = float(input("Masukkan lebar (cm): "))
# Perhitungan
luas = panjang * lebar
keliling = 2 * (panjang + lebar)
# Menampilkan hasil
print(f"\nHasil Perhitungan:")
print(f"Panjang: {panjang} cm")
print(f"Lebar: {lebar} cm")
print(f"Luas: {luas} cm²")
print(f"Keliling: {keliling} cm")
# Validasi input
if panjang <= 0 or lebar <= 0:
print("\nPeringatan: Panjang dan lebar harus lebih besar dari 0!")
else:
print("\nPerhitungan valid.")Contoh program di atas menunjukkan penggunaan variabel dengan nama yang bermakna, perhitungan matematis, dan validasi data. Setiap variabel memiliki tujuan yang jelas dan nama yang menjelaskan isinya.
Memahami konsep variabel, aturan penamaan, dan praktik terbaik akan membantu kamu menulis kode Python yang lebih bersih, mudah dibaca, dan mudah dipelihara. Variabel adalah fondasi dasar dalam pemrograman, dan penguasaan yang baik terhadap konsep ini akan mempermudah pembelajaran konsep pemrograman yang lebih lanjut.