Variabel dan Tipe Data di Python untuk Pemula
Setiap program menyimpan dan mengolah data. Variabel adalah wadahnya, tipe data menentukan apa yang bisa dilakukan dengan isinya.
Oleh Afa Hernandes6 menit baca
Daftar isi
- Variabel: nama untuk sebuah nilai
- Aturan menamai variabel
- Lima tipe data dasar
- Tipe menentukan apa yang bisa dilakukan
- Menggabungkan teks dengan f-string
- Mengubah tipe data
- Jebakan pemula: input() selalu menghasilkan teks
- Hati-hati dengan desimal
- Latihan
- Pertanyaan yang sering diajukan
- Kutip tunggal atau ganda?
- Kenapa Python tidak perlu menulis tipe data seperti di Java?
- Apa bedanya None dan 0?
- Kesimpulan
Program apa pun, dari kalkulator sampai aplikasi toko online, pada dasarnya melakukan hal yang sama: menyimpan data, mengolahnya, lalu menampilkan hasilnya. Di Python, data disimpan dalam variabel, dan setiap data punya tipe yang menentukan apa yang bisa dilakukan dengannya.
Di tutorial ini kamu akan belajar membuat variabel, mengenal lima tipe data dasar, mengubah satu tipe ke tipe lain, dan menghindari satu jebakan yang menjebak hampir semua pemula: input() yang selalu menghasilkan teks.
Semua contoh diuji dengan Python 3.13. Tulis di VS Code dan jalankan seperti di tutorial menyiapkan VS Code.
Variabel: nama untuk sebuah nilai
Variabel adalah nama yang menunjuk ke sebuah nilai. Buat dengan tanda =:
nama = "Sari"umur = 21print(nama)print(umur)
umur = 22 # nilai variabel bisa digantiprint(umur)Sari2122Tanda = di sini bukan “sama dengan” seperti di matematika, tapi berarti “simpan nilai di sebelah kanan ke nama di sebelah kiri”. Baris umur = 22 mengganti isi umur dengan nilai baru.
Teks setelah tanda # adalah komentar. Python mengabaikannya. Komentar ditulis untuk manusia yang membaca kodenya, termasuk dirimu sendiri bulan depan.
Aturan menamai variabel
- Boleh berisi huruf, angka, dan garis bawah (
_), tapi tidak boleh diawali angka:nilai1boleh,1nilaitidak. - Huruf besar dan kecil dibedakan:
Namadannamaadalah dua variabel berbeda. - Tidak boleh memakai kata yang sudah dipakai Python, seperti
if,for,class, atauTrue. - Kebiasaan di Python: huruf kecil semua, kata dipisah garis bawah (snake_case), misalnya
total_belanjaataunama_lengkap. - Pilih nama yang menjelaskan isinya.
harga_satuanjauh lebih jelas daripadahataux.
Lima tipe data dasar
| Tipe | Nama lengkap | Isi | Contoh |
|---|---|---|---|
str |
string | Teks | "Sari", 'kopi susu' |
int |
integer | Bilangan bulat | 21, -5, 18000 |
float |
floating point | Bilangan desimal | 1.62, 3.5, 0.1 |
bool |
boolean | Benar atau salah | True, False |
None |
NoneType | “Tidak ada nilai” | None |
Fungsi type() memberi tahu tipe sebuah nilai:
nama = "Sari"umur = 21tinggi = 1.62aktif = Truealamat = None
print(type(nama))print(type(umur))print(type(tinggi))print(type(aktif))print(type(alamat))<class 'str'><class 'int'><class 'float'><class 'bool'><class 'NoneType'>Perhatikan: teks selalu diapit tanda kutip (boleh kutip tunggal atau ganda). Desimal memakai titik, bukan koma: tulis 1.62, bukan 1,62. True dan False diawali huruf besar.
Tipe menentukan apa yang bisa dilakukan
Tanda + pada angka berarti penjumlahan, tapi pada teks berarti penyambungan:
print(3 + 4)print("3" + "4")print("kopi" + " " + "susu")print("ha" * 3)print(10 / 4)print(10 // 4)print(10 % 4)734kopi susuhahaha2.522"3" + "4" menghasilkan 34, bukan 7, karena keduanya teks. Dua baris terakhir juga perlu diperhatikan:
/selalu menghasilkanfloat(2.5).//adalah pembagian bulat (2).%adalah sisa bagi (2). Berguna, misalnya, untuk mengecek bilangan genap:angka % 2 == 0.
Menggabungkan teks dengan f-string
Cara paling nyaman menyisipkan nilai variabel ke dalam teks adalah f-string: tambahkan huruf f sebelum tanda kutip, lalu tulis nama variabel di dalam kurung kurawal:
nama = "Sari"total = 73000
print(f"Halo, {nama}!")print(f"Total belanja: Rp{total:,}")print(f"Total belanja: Rp{total:,}".replace(",", "."))Halo, Sari!Total belanja: Rp73,000Total belanja: Rp73.000{total:,} menambahkan pemisah ribuan. Python memakai format Inggris (koma), jadi baris terakhir menggantinya dengan titik sesuai format Indonesia.
Mengubah tipe data
Kadang kamu perlu mengubah satu tipe ke tipe lain:
print(int("42") + 8)print(float("3.5") * 2)print(str(2026) + " tahun")print(int(9.99))print(bool(0), bool(5), bool(""), bool("halo"))507.02026 tahun9False True False TrueDua hal yang perlu diingat:
int(9.99)menghasilkan9. Bagian desimalnya dibuang, bukan dibulatkan. Untuk pembulatan, pakairound(9.99).bool()menganggap0, teks kosong"", danNonesebagaiFalse. Nilai lainnyaTrue.
Jebakan pemula: input() selalu menghasilkan teks
input() membaca ketikan pengguna. Apa pun yang diketik, hasilnya selalu str. Coba program ini, lalu ketik 12 dan 30:
a = input("Angka pertama: ")b = input("Angka kedua: ")print("Hasil:", a + b)Angka pertama: Angka kedua: Hasil: 1230Hasilnya 1230, bukan 42, karena kedua teks disambung. (Di terminalmu, angka yang kamu ketik ikut tampil di layar. Di sini tidak terlihat karena programnya dijalankan dengan input otomatis.) Solusinya, ubah input menjadi angka dengan int():
a = int(input("Angka pertama: "))b = int(input("Angka kedua: "))print("Hasil:", a + b)Angka pertama: Angka kedua: Hasil: 42Kalau pengguna mengetik sesuatu yang bukan angka, misalnya dua belas, int() akan gagal dengan ValueError. Cara membaca dan menangani error seperti itu dibahas di membaca pesan error Python.
Hati-hati dengan desimal
print(0.1 + 0.2)print(round(0.1 + 0.2, 2))0.300000000000000040.3Ini bukan bug Python. Komputer menyimpan bilangan desimal dalam bentuk biner, dan sebagian bilangan seperti 0.1 tidak bisa disimpan persis. Untuk tampilan, bulatkan dengan round(). Untuk uang, kebiasaan yang aman adalah menyimpan nominal dalam bilangan bulat terkecil, misalnya rupiah tanpa desimal. Begitu juga aplikasi pencatat pengeluaran di tutorial aplikasi pertama menyimpan jumlahnya.
Latihan
Buat program profil.py yang menyimpan nama, kota, tahun lahir, dan tinggi badanmu dalam variabel, lalu menampilkan:
Halo, nama saya Sari dari Bandung.Tahun ini saya berumur 21 tahun, tinggi 1.62 m.Hitung umur dari tahun lahir, jangan ditulis langsung. Coba dulu sendiri. Kalau mentok, minta AI memberi petunjuk, bukan jawabannya. Caranya ada di belajar ngoding dengan AI tanpa bergantung.
Pertanyaan yang sering diajukan
Kutip tunggal atau ganda?
Sama saja. Pilih satu dan pakai konsisten. Kutip ganda berguna kalau teksnya mengandung tanda petik tunggal, misalnya "Jum'at".
Kenapa Python tidak perlu menulis tipe data seperti di Java?
Python menentukan tipe dari nilainya saat program berjalan (dynamic typing). Lebih ringkas untuk ditulis, tapi kamu yang harus memperhatikan tipe datanya, seperti jebakan input() di atas.
Apa bedanya None dan 0?
0 adalah angka nol. None berarti “belum ada nilainya”. Contohnya, stok barang 0 artinya habis, sedangkan stok None artinya belum pernah dihitung.
Kesimpulan
Variabel adalah nama untuk sebuah nilai, dan tipe datanya menentukan apa yang bisa dilakukan dengan nilai itu. Lima tipe dasarnya str, int, float, bool, dan None. Ingat dua jebakan terbesar: + menyambung teks, dan input() selalu menghasilkan teks, jadi ubah dulu dengan int() atau float() sebelum dihitung.
Langkah berikutnya di jalur Mulai Ngoding dari Nol: membuat program yang bisa mengambil keputusan dan mengulang pekerjaan, lewat percabangan dan perulangan.



