Pendamping Bab 5: Variabel dan Tipe Data Dasar. Gunakan nomor contoh dan latihan yang sama dengan buku.
Tujuan Belajar
- Menyimpan dan memperbarui nilai variabel.
- Membedakan str, int, float, dan bool.
- Mengonversi tipe serta memilih nama variabel yang jelas.
Persiapan
Gunakan Python 3 dan materi print dari Bab 2. Semua nilai contoh ditulis langsung; input pengguna baru dibahas pada Bab 10.
Program dengan tombol Coba di IDE dapat dijalankan di browser. Untuk program lokal, unduh sumber, ekstrak ZIP, lalu ikuti README.txt.
Pembahasan
05-01 – Operasi Dasar dengan Data
Kamu bisa melakukan berbagai operasi matematika dasar dengan tipe data angka (int dan float).
Coba di IDE Unduh Sumberangka1 = 15
angka2 = 4
hasil_tambah = angka1 + angka2 # Penjumlahan
hasil_kurang = angka1 - angka2 # Pengurangan
hasil_kali = angka1 * angka2 # Perkalian
hasil_bagi = angka1 / angka2 # Pembagian (selalu float)
hasil_bagi_bulat = angka1 // angka2 # Pembagian bulat
sisa_bagi = angka1 % angka2 # Sisa bagi (modulo)
hasil_pangkat = angka1**angka2 # Pangkat
print("Hasil Tambah:", hasil_tambah)
print("Hasil Bagi:", hasil_bagi)
print("Sisa Bagi:", sisa_bagi)
Hasil yang diharapkan:
Hasil Tambah: 19
Hasil Bagi: 3.75
Sisa Bagi: 3Coba ubah: Ubah angka1 dari 15 menjadi 16, lalu prediksi hasilnya.
05-02 – Operasi Dasar dengan Data
Untuk string, operasi dasar yang umum adalah penggabungan (konkatenasi) menggunakan tanda +.
Coba di IDE Unduh Sumbernama_depan = "Siti"
nama_belakang = "Aminah"
nama_lengkap = nama_depan + " " + nama_belakang # Gabung
print("Nama Lengkap:", nama_lengkap) # Output: Siti Aminah
Hasil yang diharapkan:
Nama Lengkap: Siti AminahCoba ubah: Ganti isi nama_depan dengan teks lain dan bandingkan hasilnya.
05-03 – Konversi Tipe Data (Casting)
Terkadang, kamu perlu mengubah nilai dari satu tipe data ke tipe data lain. Proses ini disebut konversi tipe atau *casting*.
Coba di IDE Unduh Sumberangka_dalam_string = "25" # Ini adalah string, bukan angka
# Kita tidak bisa langsung melakukan operasi matematika:
# print(angka_dalam_string + 10) # Ini akan error!
# Konversi string ke integer
umur_sebagai_integer = int(angka_dalam_string)
print("Umur ditambah 5 tahun:", umur_sebagai_integer + 5) # =30
angka_desimal = 99.9
angka_bulat_dari_desimal = int(angka_desimal) # Buang desimal
print("Angka bulat dari desimal:", angka_bulat_dari_desimal) # =99
Hasil yang diharapkan:
Umur ditambah 5 tahun: 30
Angka bulat dari desimal: 99Coba ubah: Ganti isi angka_dalam_string dengan teks lain dan bandingkan hasilnya.
05-04 – Memeriksa Tipe Data
Perhatikan pemakaian type pada data contoh dan bandingkan hasilnya dengan nilai awal.
Coba di IDE Unduh Sumbernama_saya = "Alex"
usia_saya = 16
tinggi_saya = 170.5
apakah_pelajar = True
print(type(nama_saya)) # Output: <class 'str'>
print(type(usia_saya)) # Output: <class 'int'>
print(type(tinggi_saya)) # Output: <class 'float'>
print(type(apakah_pelajar)) # Output: <class 'bool'>
Hasil yang diharapkan:
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>Coba ubah: Ganti isi nama_saya dengan teks lain dan bandingkan hasilnya.
05-05 – Memeriksa Tipe Data
Selain type(), kamu juga bisa menggunakan isinstance(variabel, tipe_data) untuk memeriksa apakah sebuah variabel merupakan instance dari tipe data tertentu. Ini akan menghasilkan True atau False.
Coba di IDE Unduh Sumbernilai = 90.5
print("nilai integer?", isinstance(nilai, int)) # False
print("nilai float?", isinstance(nilai, float)) # True
Hasil yang diharapkan:
nilai integer? False
nilai float? TrueCoba ubah: Ubah nilai dari 90.5 menjadi 91.5, lalu prediksi hasilnya.
05-06 – Tipe Data Dinamis di Python
Salah satu fitur Python adalah *dynamic typing* (pengetikan dinamis). Ini berarti kamu tidak perlu secara eksplisit mendeklarasikan tipe data sebuah variabel sebelum menggunakannya. Python akan secara otomatis menentukan tipe data variabel berdasarkan nilai yang kamu berikan padanya.
Coba di IDE Unduh Sumberdata_ku = 100 # Saat ini, data_ku adalah integer
print(type(data_ku)) # Output: <class 'int'>
data_ku = "Seratus" # Sekarang, nilai data_ku diubah menjadi string
print(type(data_ku)) # Output: <class 'str'>
data_ku = True # Dan sekarang, data_ku menjadi boolean
print(type(data_ku)) # Output: <class 'bool'>
Hasil yang diharapkan:
<class 'int'>
<class 'str'>
<class 'bool'>Coba ubah: Ubah data_ku dari 100 menjadi 101, lalu prediksi hasilnya.
05-07 – Mutable vs Immutable: Sekilas Tentang Perubahan Nilai
Perhatikan pemakaian append, id pada data contoh dan bandingkan hasilnya dengan nilai awal.
Coba di IDE Unduh Sumber# Contoh Immutable (string)
salam = "Halo"
# id() menunjukkan identitas objek selama objek hidup
print("ID awal salam:", id(salam))
# Sebenarnya membuat string baru "Halo Dunia"
salam = salam + " Dunia"
print(salam)
# Identitas objeknya berbeda!
print("ID baru salam:", id(salam))
# Contoh Mutable (list - akan dipelajari nanti)
angka_favorit = [1, 2, 3]
print("ID awal angka_favorit:", id(angka_favorit))
# Mengubah list yang sama secara langsung
angka_favorit.append(4)
print(angka_favorit)
# Identitas objeknya tetap sama!
print("ID tetap angka_favorit:", id(angka_favorit))
Hasil yang diharapkan:
Angka ID mengikuti sesi Python. ID salam berubah setelah penggabungan; ID list angka_favorit tetap setelah append(4).Coba ubah: Ganti isi salam dengan teks lain dan bandingkan hasilnya.
05-08 – Hindari Nama Variabel yang Menimpa Fungsi Bawaan Python
Python memiliki banyak fungsi bawaan yang berguna (misalnya print(), type(), int(), list(), str(), dll.). Jangan pernah menggunakan nama-nama fungsi bawaan ini sebagai nama variabelmu! Jika kamu melakukannya, kamu akan "menimpa" fungsi asli tersebut, dan kamu tidak akan bisa menggunakannya lagi dengan benar di bagian codemu selanjutnya.
Coba di IDE Unduh Sumber# CONTOH BURUK: JANGAN DITIRU!
# Menimpa fungsi str() bawaan
# str = "Ini variabel stringku"
# angka = 123
# ERROR! str sekarang adalah variabel, bukan fungsi
# angka_jadi_string = str(angka)
# CONTOH BAIK:
teks_saya = "Ini variabel stringku"
angka = 123
# Fungsi str() bekerja dengan baik
angka_jadi_string = str(angka)
print(angka_jadi_string)
print(type(angka_jadi_string))
Hasil yang diharapkan:
123
<class 'str'>Coba ubah: Ganti isi teks_saya dengan teks lain dan bandingkan hasilnya.
Studi Kasus
05-09 – Menghitung belanja alat tulis
Setiap subtotal dihitung dari harga dikali jumlah. Kedua subtotal dijumlahkan menjadi 19000.
Coba di IDE Unduh Sumberharga_buku = 5000
jumlah_buku = 3
harga_pensil = 2000
jumlah_pensil = 2
total = harga_buku * jumlah_buku + harga_pensil * jumlah_pensil
print(total)
Hasil yang diharapkan:
19000Coba ubah: Ganti jumlah_buku menjadi 4 dan periksa apakah totalnya 24000.
Rangkuman
Variabel mengacu pada nilai. Python mengenali tipe nilai saat program berjalan. Operasi dan konversi harus sesuai tipe; nama yang jelas membantu kita memahami maksud data.
Cek Pemahaman
Lima pertanyaan ini sama dengan pertanyaan di buku. Periksa jawaban di kuis untuk melihat skor dan pembahasan.
- Tipe nilai 12 adalah …
- Tipe nilai "12" adalah …
- Apa hasil int("15") + 5?
- Nama variabel yang sesuai adalah …
- Nilai boolean yang benar dalam Python adalah …
Latihan Mandiri
Latihan 05-L01 – Data barang
Dasar. Simpan nama Buku, jumlah 3, dan harga 5000 dalam variabel. Cetak ketiganya pada baris terpisah.
Kerjakan di IDE Unduh LatihanHasil yang diharapkan:
Buku
3
5000
Lihat Petunjuk
Pakai string untuk nama dan integer untuk jumlah serta harga.
Lihat Solusi
nama = "Buku"
jumlah = 3
harga = 5000
print(nama)
print(jumlah)
print(harga)
Tipe dipilih sesuai jenis data.
Coba Solusi di IDEUnduh SolusiLatihan 05-L02 – Konversi harga
Penerapan. Ubah teks harga "7500" menjadi integer, lalu hitung harga empat barang.
Kerjakan di IDE Unduh LatihanHasil yang diharapkan:
30000
Lihat Petunjuk
Gunakan int sebelum perkalian.
Lihat Solusi
harga_teks = "7500"
jumlah = 4
total = int(harga_teks) * jumlah
print(total)
Perkalian bilangan menghitung total, bukan mengulang string.
Coba Solusi di IDEUnduh SolusiLatihan 05-L03 – Memperbarui saldo
Pengembangan. Mulai dengan saldo 20000. Tambahkan 15000 lalu kurangi 8000. Cetak saldo akhir.
Kerjakan di IDE Unduh LatihanHasil yang diharapkan:
27000
Lihat Petunjuk
Gunakan nilai saldo sebelumnya saat melakukan assignment berikutnya.
Lihat Solusi
saldo = 20000
saldo = saldo + 15000
saldo = saldo - 8000
print(saldo)
Variabel mengacu pada nilai baru setelah setiap assignment.
Coba Solusi di IDEUnduh SolusiPengembangan
Kegiatan Tambahan
- Data Diri Sederhana:
Buatlah variabel-variabel untuk menyimpan informasi berikut tentang dirimu:
nama_lengkap(string)nama_panggilan(string)usia(integer)tinggi_badan_cm(integer atau float)apakah_pelajar(boolean,Truejika pelajar,Falsejika bukan)
Cetak semua nilai variabel tersebut ke layar dengan format yang rapi, misalnya:
Nama Lengkap: [Isi Nama Lengkapmu] Nama Panggilan: [Isi Nama Panggilanmu] Usia: [Isi Usiamu] tahun Tinggi: [Isi Tinggimu] cm Status Pelajar: [Isi Status Pelajarmu]Petunjuk: Kamu bisa menggunakan fungsi
print()beberapa kali atau menggabungkan string dan variabel menggunakan+(ingat untuk mengkonversi angka ke string jika perlu denganstr()).
- Kalkulator Mini Usia:
- Buat variabel
tahun_lahirdan isi dengan tahun lahirmu (integer). - Buat variabel
tahun_sekarangdan isi dengan tahun ini (integer, misal 2025). - Hitung usiamu saat ini dengan mengurangkan
tahun_sekarangdengantahun_lahir, simpan hasilnya di variabelusia_sekarang. - Cetak hasilnya dalam format:
Usia saya sekarang adalah [usia_sekarang] tahun.
- Buat variabel
- Eksperimen Konversi Tipe:
- Buat variabel
angka_string = "150". - Konversikan
angka_stringmenjadi integer dan simpan di variabelangka_int. - Tambahkan
angka_intdengan25dan cetak hasilnya. - Buat variabel
nilai_desimal_string = "75.5". Konversikan menjadifloatdan simpan dinilai_float. Kalikannilai_floatdengan2dan cetak hasilnya. - Sekarang, buat variabel
teks_bukan_angka = "Python"dan coba konversikan menjadi integer menggunakanint(). Amati apa yang terjadi (kamu akan melihatValueError). Ini adalah bagian dari pembelajaran!
- Buat variabel
- Konstanta Toko Buku Impian:
- Bayangkan kamu ingin membuat program kasir sederhana untuk toko buku
impianmu. Buatlah beberapa konstanta yang mungkin berguna:
NAMA_TOKO_BUKU(string, misal “Toko Buku Pelita Ilmu”)PERSEN_PAJAK_PENJUALAN(float, misal0.11untuk 11%)DISKON_MEMBER_PERSEN(float, misal0.05untuk 5%)
- Cetak nama toko dan nilai-nilai konstanta tersebut dengan penjelasan singkat.
- Bayangkan kamu ingin membuat program kasir sederhana untuk toko buku
impianmu. Buatlah beberapa konstanta yang mungkin berguna:
Sekarang kamu sudah memiliki bekal yang kuat tentang variabel dan
tipe data dasar di Python. Di bab berikutnya, kita akan mulai membuat
program kita menjadi lebih “pintar” dengan belajar bagaimana mengambil
keputusan menggunakan if, else, dan
elif!
Referensi dan Materi Pendamping
- int() di Python: Konversi ke Bilangan Bulat
- float() di Python: Konversi ke Bilangan Pecahan
- bool() di Python: Konversi Nilai Boolean
- Operator di Python: Aritmatika, Perbandingan, Logika
- Variabel
Langkah Selanjutnya
Bab 6 membahas String Dasar: Mengolah Teks. Sebelum melanjutkan, pastikan kamu dapat menjelaskan tujuan belajar dan menyelesaikan tiga latihan inti bab ini.
Edisi September 2026. Nomor contoh, pertanyaan, dan latihan digunakan bersama pada buku dan halaman ini.
