Variabel di berbagai bahasa pemrograman seperti C, C++, termasuk Python, adalah sebuah "wadah" atau lokasi di memori komputer yang digunakan untuk menyimpan suatu nilai atau data, serta memiliki nama yang unik untuk merujuknya. Nilai yang tersimpan dalam variabel ini sifatnya bisa berubah-ubah (dinamis) selama program dieksekusi. Kali ini kita akan membahas mengenai variabel pada bahasa pemrograman Python.
Dalam Python, variabel juga digunakan untuk menyimpan suatu nilai.
nama = "Mohamad Zaenudin"
umur = 30
tinggi = 1.69
is_dosen = True
_ untuk spasi: jumlah_mahasiswa, rata_rata. _, underscore).Cek tipe:
Kita bisa memeriksa jenis variabel dengan langkah berikut
type(nama) # <class 'str'> <-- artinya variabel berjenis String
type(umur) # <class 'int'> <-- artinya variabel berjenis Integer
type(tinggi) # <class 'float'> <-- artinya variabel berjenis Float
type(is_dosen) # <class 'bool'> <-- artinya variabel berjenis Boolean
int, float, complexBeberapa contoh tipe data pada Python, sebagai berikut:
a = 10 # int (bilangan bulat)
b = 3.5 # float (bilangan desimal)
c = 2 + 3j # complex (bilangan kompleks)
Untuk tipe data angka, beberapa operasi dasar dapat dilakukan, seperti berikut ini:
x = 7
y = 3
print(x + y) # 10
print(x - y) # 4
print(x * y) # 21
print(x / y) # 2.333...
print(x // y) # 2 (pembagian bulat)
print(x % y) # 1 (sisa bagi)
print(x ** y) # 343 (pangkat)
Dalam kasus tertentu, kita juga harus berhati-hati dengan tipe data float. Hal ini dikarenakan jenis data desimal ini menyimpan begitu banyak nol sebelum angka bukan nol, seperti berikut ini:
print(0.1 + 0.2) # 0.30000000000000004 (bukan 0.3 persis)
Hal ini normal karena float juga merupakan representasi biner. Bila perlu pembulatan, kita bisa lakukan:
round(0.1 + 0.2, 2) # 0.3
str (string)Tipe data String menyimpan teks, diapit dengan '...' atau "...". Tidak ada masalah dalam penggunakan pasangan kutip satu atau pun kutip dua dalam membuat variabel String. Berikut contoh kodenya beserta cara-cara untuk melakukan modifikasi String.
salam = "Halo, dunia!"
print(len(salam)) # panjang string
print(salam.upper()) # 'HALO, DUNIA!'
print(salam.lower()) # 'halo, dunia!'
print(salam.replace("dunia", "Python"))
Kita juga bisa menggabungkan beberapa buah String, baik secara langsung maupun melalui fitur pemformatan seperti f-string. Berikut contohnya:
nama = "Mohamad Zaenudin"
umur = 30
print("Nama: " + nama + ", Umur: " + str(umur))
print(f"Nama: {nama}, Umur: {umur}") # cara modern & rapi
Operasi lain yang bisa kita lakukan pada String meliputi indeks dan irisan (slicing). Berikut contohnya:
teks = "Python"
print(teks[0]) # 'P'
print(teks[-1]) # 'n'
print(teks[1:4]) # 'yth'
boolBoolen merupakan suatu tipe data logika yang hanya berisi nilai benar atau salah. Dalam Python, nilai ini direpresentasikan dengan True atau False. Cek kode berikut ini:
x = 5
print(x > 3) # True
print(x == 10) # False
Operator logika: and, or, not.
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
list, tuple, set, dictTerdapat beberapa tipe data yang memungkinkan mengoleksi beberapa jenis tipe data lain dalam satu kesatuan, yaitu:
Contohnya (perhatikan penggunakan kurung kotak '[]''):
angka = [10, 20, 30]
angka.append(40)
angka[0] = 99
print(angka) # [99, 20, 30, 40]
Contohnya (perhatikan penggunaan kurung '()'):
koordinat = (10.0, 20.0)
# koordinat[0] = 11.0 # akan error (immutable)
Contohnya (perhatikan penggunaan kurung kurawal '{}')
unik = {1, 2, 2, 3}
print(unik) # {1, 2, 3}
unik.add(4)
dict) – pasangan kunci–nilaiContohnya:
mhs = {"nama": "Ani", "umur": 21, "prodi": "Mesin"}
print(mhs["nama"]) # 'Ani'
mhs["umur"] = 22
mhs["ipk"] = 3.7
print(mhs.keys(), mhs.values())
Masing-masing tipe data koleksi tersebut memiliki beberapa penggunaan yang umum, seperti:
list: data berurutan yang bisa berubah (daftar nilai, item)tuple: data berurutan yang tetap (koordinat, tanggal lahir)set: kumpulan tanpa duplikasi (anggota unik)dict: data berpasangan kunci–nilai (rekaman/record)Kita telah membahas jenis-jenis variabel tertentu pada bagian ini. Namun demikian, bagi pengguna yang ingin mengetahui lebih lanjut tipe-tipe data lainya di Python, maka pengguna direkomendasikan untuk merujuk ke dokumentasi lengkap Python di python.org
Kita dapat pula mengonversi dari satu tipe data ke tipe data yang lain. Perhatikan contoh kode berikut:
x = "123"
x_int = int(x) # 123
y = 3.14
y_str = str(y) # "3.14"
z = "True"
z_bool = bool(z) # True (string tak-kosong dianggap True)
Begitu pula tipe data koleksi, dapat kita konversi sebagai berikut:
list_ke_set = set([1, 1, 2, 3]) # {1, 2, 3}
set_ke_list = list({5, 4, 4}) # [4, 5] (urutan bisa berubah)
None menandakan “tidak ada nilai” atau variabel kosong.
hasil = None
if hasil is None:
print("Belum ada hasil")
Gunakan
is None(bukan== None) untuk pengecekan.
list, dict, setint, float, bool, str, tuple, NoneTypea = [1, 2, 3]
b = a
b.append(4)
print(a) # [1, 2, 3, 4] -> a ikut berubah karena b menunjuk list yang sama
Jika ingin menyalin list tanpa “terhubung” dengan variabel yang disalin, kita bisa gunakan kode:
a = [1, 2, 3]
b = a.copy() # atau list(a) atau a[:]
b.append(4) # tambahkan nilai 4 ke dalam b
print(a, b) # [1,2,3] [1,2,3,4]
Selain itu, dalam Python juga sudah menyediakan operator pembanding, yang banyak digunakan untuk, misalnya, operasi matematika. Perhatikan kode berikut:
print(3 == 3) # True
print(3 != 4) # True
print(2 < 5 <= 7) # True (perbandingan berantai)
huruf = "python"
print("py" in huruf) # True (cek substring)
nama = input("Masukkan nama: ")
umur = int(input("Masukkan umur: "))
print(f"Halo {nama}, tahun depan umurmu {umur + 1}")
input()selalu menghasilkanstr. Namun, jika membutuhkan angka (misalnyaintataufloat, maka dapat dikonversi ke sebagaimana kode sebelumnya.
luas_lingkaran, bukan ll.a + b, bukan a+b.f-string untuk output yang lebih rapi dibanding print biasa.Komentar untuk penjelasan (kenapa), bukan apa yang sudah terlihat:
# Menggunakan rumus luas lingkaran: π r^2
luas = 3.14159 * r * r
Tugas \(\to\) Simpan nama depan, nama belakang, umur, dan hobi. Cetak kalimat:
Halo, saya <nama_lengkap>, umur <umur>, hobi saya <hobi>.
Contoh jawaban:
nama_depan = "Safira"
nama_belakang = "Faizah"
umur = 29
hobi = "Jajan Cilok"
nama_lengkap = f"{nama_depan} {nama_belakang}"
print(f"Halo, saya {nama_lengkap}, umur {umur}, hobi saya {hobi}.")
Tugas \(\to\) Buat list tiga angka. Tambahkan satu angka. Buat dict ringkas berisi panjang_list dan nilai_maksimum.
Contoh jawaban:
angka = [5, 2, 9]
angka.append(7)
ringkas = {
"panjang_list": len(angka),
"nilai_maksimum": max(angka)
}
print(ringkas)
Tugas \(\to\) Minta input berat (kg) dan tinggi (m), hitung BMI = berat / tinggi^2, lalu kategorikan sederhana:
<18.5: kurus, 18.5–24.9: normal, >=25: gemuk.Contoh jawaban:
berat = float(input("Berat (kg): ")) # konversi input string ke float
tinggi = float(input("Tinggi (m): ")) # konversi input string ke float
bmi = berat / (tinggi ** 2)
if bmi < 18.5:
kategori = "kurus"
elif bmi < 25:
kategori = "normal"
else:
kategori = "gemuk"
print(f"BMI: {bmi:.2f} ({kategori})")
int, float, complex, str, bool, None.list/tuple/set/dict \(\to\) pilih sesuai kebutuhan.int(), float(), str(), list(), set(), dst.float.f-string, type(), len(), round() untuk kerja sehari-hari agar lebih mudah terbiasa, mengingat cara tersebut dinilai sebagai praktik baik di Python.