Seri bahasa pemrograman Python: #3 Variabel dan Tipe Data

Seri bahasa pemrograman Python: #3 Variabel dan Tipe Data

FOSS Python Variabel Tipe Data

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.

1) Variabel di Python

Dalam Python, variabel juga digunakan untuk menyimpan suatu nilai.

nama = "Mohamad Zaenudin"
umur = 30
tinggi = 1.69
is_dosen = True
  • Di Python kita tidak perlu mendeklarasikan tipe datanya terlebih dahulu (meskipun dalam beberapa kasus tertentu tetap direkomendasikan), karena Python akan menebak tipe data dari nilainya (fitur ini disebut dengan dynamic typing).
  • Gunakan nama variabel yang jelas, huruf kecil, dan _ untuk spasi: jumlah_mahasiswa, rata_rata.
  • Nama variabel pada Python tidak boleh diawali dengan angka, tidak boleh ada spasi, tidak boleh pakai simbol aneh-aneh (kecuali _, underscore).
  • Nama variabel tidak boleh nama/kata yang digunakan dalam reserved words. Cek link berikut ini untuk lengkapnya (reserved words di Python).

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
2) Tipe Data Dasar
2.1 Angka: int, float, complex

Beberapa 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
2.2 Teks: 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'
2.3 Boolean: bool

Boolen 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
2.4 Koleksi: list, tuple, set, dict

Terdapat beberapa tipe data yang memungkinkan mengoleksi beberapa jenis tipe data lain dalam satu kesatuan, yaitu:

a) List (terurut & dapat diubah)

Contohnya (perhatikan penggunakan kurung kotak '[]''):

angka = [10, 20, 30]
angka.append(40)
angka[0] = 99
print(angka)      # [99, 20, 30, 40]
Tuple (terurut & tidak dapat diubah)

Contohnya (perhatikan penggunaan kurung '()'):

koordinat = (10.0, 20.0)
# koordinat[0] = 11.0  # akan error (immutable)
Set (tak terurut, unik)

Contohnya (perhatikan penggunaan kurung kurawal '{}')

unik = {1, 2, 2, 3}
print(unik)       # {1, 2, 3}
unik.add(4)
Dictionary (dict) – pasangan kunci–nilai

Contohnya:

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


3) Konversi Tipe (Casting)

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)

4) None (kosong)

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.


5) Mutabilitas (bisa diubah?)
  • Mutable (bisa diubah): list, dict, set
  • Immutable (tidak bisa diubah): int, float, bool, str, tuple, NoneType
a = [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]

6) Operator Perbandingan & Keanggotaan

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)

7) Membaca/mendapatkan Input Pengguna
nama = input("Masukkan nama: ")
umur = int(input("Masukkan umur: "))
print(f"Halo {nama}, tahun depan umurmu {umur + 1}")

input() selalu menghasilkan str. Namun, jika membutuhkan angka (misalnya int atau float, maka dapat dikonversi ke sebagaimana kode sebelumnya.


8) Praktik Baik Singkat
  • Gunakan vama variabel yang jelas, misalnya luas_lingkaran, bukan ll.
  • Satu baris = satu ide; gunakan spasi sekitar operator: a + b, bukan a+b.
  • Gunakan 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

9) Mini-Latihan (Dengan Jawaban)
Latihan 1 – Variabel & f-string

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}.")
Latihan 2 – List & Dict

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)
Latihan 3 – Konversi & Validasi

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})")

10) Ringkasan Singkat

  • Variabel digunakan untuk menyimpan nilai; Python menebak tipenya otomatis. Namun, kita bisa juga menentukan jenisnya langsung.
  • Tipe data dasar: int, float, complex, str, bool, None.
  • Tipe data koleksi: list/tuple/set/dict \(\to\) pilih sesuai kebutuhan.
  • Konversi dengan perintah int(), float(), str(), list(), set(), dst.
  • Perhatikan mutabilitas (mutable vs immutable) dan tingkat presisi tipe data float.
  • Gunakan f-string, type(), len(), round() untuk kerja sehari-hari agar lebih mudah terbiasa, mengingat cara tersebut dinilai sebagai praktik baik di Python.

Referensi:
  1. Dokumentasi Python
  2. Tutorial Python di W3School
  3. Reserved words di Python

Tambah komentar

Previous Post Next Post