ngodingdulu
Dasar PemrogramanTutorialPemula

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

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 =:

variabel.py
nama = "Sari"
umur = 21
print(nama)
print(umur)
umur = 22 # nilai variabel bisa diganti
print(umur)
Output
Sari
21
22

Tanda = 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: nilai1 boleh, 1nilai tidak.
  • Huruf besar dan kecil dibedakan: Nama dan nama adalah dua variabel berbeda.
  • Tidak boleh memakai kata yang sudah dipakai Python, seperti if, for, class, atau True.
  • Kebiasaan di Python: huruf kecil semua, kata dipisah garis bawah (snake_case), misalnya total_belanja atau nama_lengkap.
  • Pilih nama yang menjelaskan isinya. harga_satuan jauh lebih jelas daripada h atau x.

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:

tipe.py
nama = "Sari"
umur = 21
tinggi = 1.62
aktif = True
alamat = None
print(type(nama))
print(type(umur))
print(type(tinggi))
print(type(aktif))
print(type(alamat))
Output
<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:

operasi.py
print(3 + 4)
print("3" + "4")
print("kopi" + " " + "susu")
print("ha" * 3)
print(10 / 4)
print(10 // 4)
print(10 % 4)
Output
7
34
kopi susu
hahaha
2.5
2
2

"3" + "4" menghasilkan 34, bukan 7, karena keduanya teks. Dua baris terakhir juga perlu diperhatikan:

  • / selalu menghasilkan float (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:

fstring.py
nama = "Sari"
total = 73000
print(f"Halo, {nama}!")
print(f"Total belanja: Rp{total:,}")
print(f"Total belanja: Rp{total:,}".replace(",", "."))
Output
Halo, Sari!
Total belanja: Rp73,000
Total 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:

konversi.py
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"))
Output
50
7.0
2026 tahun
9
False True False True

Dua hal yang perlu diingat:

  • int(9.99) menghasilkan 9. Bagian desimalnya dibuang, bukan dibulatkan. Untuk pembulatan, pakai round(9.99).
  • bool() menganggap 0, teks kosong "", dan None sebagai False. Nilai lainnya True.

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:

input_angka.py
a = input("Angka pertama: ")
b = input("Angka kedua: ")
print("Hasil:", a + b)
Output
Angka pertama: Angka kedua: Hasil: 1230

Hasilnya 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():

input_benar.py
a = int(input("Angka pertama: "))
b = int(input("Angka kedua: "))
print("Hasil:", a + b)
Output
Angka pertama: Angka kedua: Hasil: 42

Kalau 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

desimal.py
print(0.1 + 0.2)
print(round(0.1 + 0.2, 2))
Output
0.30000000000000004
0.3

Ini 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.

Bagikan:WhatsAppTelegramXFacebook

Enter bukaEsc tutupHalaman pencarian